From dc0bfb26cfd27ab441bae7c5e9043b10a53e913b Mon Sep 17 00:00:00 2001 From: Peter Holmberg Date: Thu, 12 Sep 2019 14:42:28 +0200 Subject: [PATCH] Fix: Align buttons and label in ToggleButtonGroup (#19036) --- .../ToggleButtonGroup.story.tsx | 49 +++++++++++++++++++ .../ToggleButtonGroup/ToggleButtonGroup.tsx | 4 +- public/sass/components/_gf-form.scss | 4 ++ .../sass/components/_toggle_button_group.scss | 2 +- public/sass/pages/_explore.scss | 4 -- 5 files changed, 56 insertions(+), 7 deletions(-) create mode 100644 packages/grafana-ui/src/components/ToggleButtonGroup/ToggleButtonGroup.story.tsx diff --git a/packages/grafana-ui/src/components/ToggleButtonGroup/ToggleButtonGroup.story.tsx b/packages/grafana-ui/src/components/ToggleButtonGroup/ToggleButtonGroup.story.tsx new file mode 100644 index 00000000000..d187a6f29af --- /dev/null +++ b/packages/grafana-ui/src/components/ToggleButtonGroup/ToggleButtonGroup.story.tsx @@ -0,0 +1,49 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; + +import { ToggleButton, ToggleButtonGroup } from './ToggleButtonGroup'; +import { UseState } from '../../utils/storybook/UseState'; +import { withCenteredStory } from '../../utils/storybook/withCenteredStory'; + +const ToggleButtonGroupStories = storiesOf('UI/ToggleButtonGroup', module); + +const options = [ + { value: 'first', label: 'First' }, + { value: 'second', label: 'Second' }, + { value: 'third', label: 'Third' }, +]; + +ToggleButtonGroupStories.addDecorator(withCenteredStory); + +ToggleButtonGroupStories.add('default', () => { + return ( + + {(value, updateValue) => { + return ( + + {options.map((option, index) => { + return ( + { + action('on change')(newValue); + updateValue({ value: newValue }); + }} + selected={value.value === option.value} + > + {option.label} + + ); + })} + + ); + }} + + ); +}); diff --git a/packages/grafana-ui/src/components/ToggleButtonGroup/ToggleButtonGroup.tsx b/packages/grafana-ui/src/components/ToggleButtonGroup/ToggleButtonGroup.tsx index e9600d9971e..51798b7b874 100644 --- a/packages/grafana-ui/src/components/ToggleButtonGroup/ToggleButtonGroup.tsx +++ b/packages/grafana-ui/src/components/ToggleButtonGroup/ToggleButtonGroup.tsx @@ -12,7 +12,7 @@ export class ToggleButtonGroup extends PureComponent { const { children, label, transparent } = this.props; return ( -
+
{label && }
{children}
@@ -44,7 +44,7 @@ export const ToggleButton: FC = ({ } }; - const btnClassName = `btn ${className} ${selected ? 'active' : ''}`; + const btnClassName = `btn ${className}${selected ? ' active' : ''}`; const button = (