docs: Add surface examples to the ToggleButton/ToggleButtonGroups
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
This commit is contained in:
@@ -11,6 +11,7 @@ import {
|
||||
toggleButtonGroupDisallowEmptySnippet,
|
||||
toggleButtonGroupIconsSnippet,
|
||||
toggleButtonGroupIconsOnlySnippet,
|
||||
toggleButtonGroupVariantsSnippet,
|
||||
} from './toggle-button-group.props';
|
||||
import { ToggleButtonGroupSnippet } from '@/snippets/stories-snippets';
|
||||
import { PageTitle } from '@/components/PageTitle';
|
||||
@@ -40,6 +41,16 @@ import { ToggleButtonGroupDefinition } from '../utils/definitions';
|
||||
|
||||
## Examples
|
||||
|
||||
### Variants
|
||||
|
||||
<Snippet
|
||||
align="center"
|
||||
py={4}
|
||||
open
|
||||
preview={<ToggleButtonGroupSnippet story="Variants" />}
|
||||
code={toggleButtonGroupVariantsSnippet}
|
||||
/>
|
||||
|
||||
### Single Selection
|
||||
|
||||
<Snippet
|
||||
|
||||
@@ -32,10 +32,10 @@ export const toggleButtonGroupUsageSnippet = `import { ToggleButtonGroup, Toggle
|
||||
<ToggleButton id="cats">Cats</ToggleButton>
|
||||
</ToggleButtonGroup>`;
|
||||
|
||||
export const toggleButtonGroupSingleSnippet = `<ToggleButtonGroup selectionMode="single" defaultSelectedKeys={['apples']}>
|
||||
<ToggleButton id="apples">Apples</ToggleButton>
|
||||
<ToggleButton id="oranges">Oranges</ToggleButton>
|
||||
<ToggleButton id="bananas">Bananas</ToggleButton>
|
||||
export const toggleButtonGroupSingleSnippet = `<ToggleButtonGroup selectionMode="single" defaultSelectedKeys={['dogs']}>
|
||||
<ToggleButton id="dogs">Dogs</ToggleButton>
|
||||
<ToggleButton id="cat">Cats</ToggleButton>
|
||||
<ToggleButton id="bird">Birds</ToggleButton>
|
||||
</ToggleButtonGroup>`;
|
||||
|
||||
export const toggleButtonGroupMultipleSnippet = `<ToggleButtonGroup selectionMode="multiple" defaultSelectedKeys={['frontend']}>
|
||||
@@ -73,3 +73,81 @@ export const toggleButtonGroupIconsOnlySnippet = `<ToggleButtonGroup selectionMo
|
||||
<ToggleButton id="star" aria-label="Star" iconStart="starLine" />
|
||||
<ToggleButton id="next" aria-label="Next" iconEnd="arrowRight" />
|
||||
</ToggleButtonGroup>`;
|
||||
|
||||
export const toggleButtonGroupVariantsSnippet = `<Flex direction="column" gap="4">
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>Default</Text>
|
||||
<Flex align="center" p="4" gap="4">
|
||||
<ToggleButtonGroup selectionMode="single" defaultSelectedKeys={['option1']}>
|
||||
<ToggleButton id="option1" variant="primary">Primary 1</ToggleButton>
|
||||
<ToggleButton id="option2" variant="primary">Option 2</ToggleButton>
|
||||
<ToggleButton id="option3" variant="primary">Option 3</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
<ToggleButtonGroup selectionMode="single" defaultSelectedKeys={['option1']}>
|
||||
<ToggleButton id="option1" variant="secondary">Secondary 1</ToggleButton>
|
||||
<ToggleButton id="option2" variant="secondary">Option 2</ToggleButton>
|
||||
<ToggleButton id="option3" variant="secondary">Option 3</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 0</Text>
|
||||
<Flex align="center" surface="0" p="4" gap="4">
|
||||
<ToggleButtonGroup selectionMode="single" defaultSelectedKeys={['option1']}>
|
||||
<ToggleButton id="option1" variant="primary">Primary 1</ToggleButton>
|
||||
<ToggleButton id="option2" variant="primary">Option 2</ToggleButton>
|
||||
<ToggleButton id="option3" variant="primary">Option 3</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
<ToggleButtonGroup selectionMode="single" defaultSelectedKeys={['option1']}>
|
||||
<ToggleButton id="option1" variant="secondary">Secondary 1</ToggleButton>
|
||||
<ToggleButton id="option2" variant="secondary">Option 2</ToggleButton>
|
||||
<ToggleButton id="option3" variant="secondary">Option 3</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 1</Text>
|
||||
<Flex align="center" surface="1" p="4" gap="4">
|
||||
<ToggleButtonGroup selectionMode="single" defaultSelectedKeys={['option1']}>
|
||||
<ToggleButton id="option1" variant="primary">Primary 1</ToggleButton>
|
||||
<ToggleButton id="option2" variant="primary">Option 2</ToggleButton>
|
||||
<ToggleButton id="option3" variant="primary">Option 3</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
<ToggleButtonGroup selectionMode="single" defaultSelectedKeys={['option1']}>
|
||||
<ToggleButton id="option1" variant="secondary">Secondary 1</ToggleButton>
|
||||
<ToggleButton id="option2" variant="secondary">Option 2</ToggleButton>
|
||||
<ToggleButton id="option3" variant="secondary">Option 3</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 2</Text>
|
||||
<Flex align="center" surface="2" p="4" gap="4">
|
||||
<ToggleButtonGroup selectionMode="single" defaultSelectedKeys={['option1']}>
|
||||
<ToggleButton id="option1" variant="primary">Primary 1</ToggleButton>
|
||||
<ToggleButton id="option2" variant="primary">Option 2</ToggleButton>
|
||||
<ToggleButton id="option3" variant="primary">Option 3</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
<ToggleButtonGroup selectionMode="single" defaultSelectedKeys={['option1']}>
|
||||
<ToggleButton id="option1" variant="secondary">Secondary 1</ToggleButton>
|
||||
<ToggleButton id="option2" variant="secondary">Option 2</ToggleButton>
|
||||
<ToggleButton id="option3" variant="secondary">Option 3</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 3</Text>
|
||||
<Flex align="center" surface="3" p="4" gap="4">
|
||||
<ToggleButtonGroup selectionMode="single" defaultSelectedKeys={['option1']}>
|
||||
<ToggleButton id="option1" variant="primary">Primary 1</ToggleButton>
|
||||
<ToggleButton id="option2" variant="primary">Option 2</ToggleButton>
|
||||
<ToggleButton id="option3" variant="primary">Option 3</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
<ToggleButtonGroup selectionMode="single" defaultSelectedKeys={['option1']}>
|
||||
<ToggleButton id="option1" variant="secondary">Secondary 1</ToggleButton>
|
||||
<ToggleButton id="option2" variant="secondary">Option 2</ToggleButton>
|
||||
<ToggleButton id="option3" variant="secondary">Option 3</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
</Flex>
|
||||
</Flex>
|
||||
</Flex>`;
|
||||
|
||||
@@ -38,9 +38,42 @@ export const toggleButtonUsageSnippet = `import { ToggleButton } from '@backstag
|
||||
|
||||
<ToggleButton>Toggle</ToggleButton>`;
|
||||
|
||||
export const toggleButtonVariantsSnippet = `<Flex align="center">
|
||||
<ToggleButton variant="primary">Primary</ToggleButton>
|
||||
<ToggleButton variant="secondary">Secondary</ToggleButton>
|
||||
export const toggleButtonVariantsSnippet = `<Flex direction="column" gap="4">
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>Default</Text>
|
||||
<Flex align="center" p="4">
|
||||
<ToggleButton variant="primary">Primary</ToggleButton>
|
||||
<ToggleButton variant="secondary">Secondary</ToggleButton>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 0</Text>
|
||||
<Flex align="center" surface="0" p="4">
|
||||
<ToggleButton variant="primary">Primary</ToggleButton>
|
||||
<ToggleButton variant="secondary">Secondary</ToggleButton>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 1</Text>
|
||||
<Flex align="center" surface="1" p="4">
|
||||
<ToggleButton variant="primary">Primary</ToggleButton>
|
||||
<ToggleButton variant="secondary">Secondary</ToggleButton>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 2</Text>
|
||||
<Flex align="center" surface="2" p="4">
|
||||
<ToggleButton variant="primary">Primary</ToggleButton>
|
||||
<ToggleButton variant="secondary">Secondary</ToggleButton>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 3</Text>
|
||||
<Flex align="center" surface="3" p="4">
|
||||
<ToggleButton variant="primary">Primary</ToggleButton>
|
||||
<ToggleButton variant="secondary">Secondary</ToggleButton>
|
||||
</Flex>
|
||||
</Flex>
|
||||
</Flex>`;
|
||||
|
||||
export const toggleButtonSizesSnippet = `<Flex align="center">
|
||||
|
||||
@@ -62,9 +62,42 @@ export const Variants = meta.story({
|
||||
},
|
||||
},
|
||||
render: () => (
|
||||
<Flex align="center">
|
||||
<ToggleButton variant="primary">Primary</ToggleButton>
|
||||
<ToggleButton variant="secondary">Secondary</ToggleButton>
|
||||
<Flex direction="column" gap="4">
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>Default</Text>
|
||||
<Flex align="center" p="4">
|
||||
<ToggleButton variant="primary">Primary</ToggleButton>
|
||||
<ToggleButton variant="secondary">Secondary</ToggleButton>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 0</Text>
|
||||
<Flex align="center" surface="0" p="4">
|
||||
<ToggleButton variant="primary">Primary</ToggleButton>
|
||||
<ToggleButton variant="secondary">Secondary</ToggleButton>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 1</Text>
|
||||
<Flex align="center" surface="1" p="4">
|
||||
<ToggleButton variant="primary">Primary</ToggleButton>
|
||||
<ToggleButton variant="secondary">Secondary</ToggleButton>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 2</Text>
|
||||
<Flex align="center" surface="2" p="4">
|
||||
<ToggleButton variant="primary">Primary</ToggleButton>
|
||||
<ToggleButton variant="secondary">Secondary</ToggleButton>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 3</Text>
|
||||
<Flex align="center" surface="3" p="4">
|
||||
<ToggleButton variant="primary">Primary</ToggleButton>
|
||||
<ToggleButton variant="secondary">Secondary</ToggleButton>
|
||||
</Flex>
|
||||
</Flex>
|
||||
</Flex>
|
||||
),
|
||||
});
|
||||
|
||||
@@ -72,6 +72,189 @@ export const MultipleSelection = meta.story({
|
||||
),
|
||||
});
|
||||
|
||||
export const Variants = meta.story({
|
||||
args: {
|
||||
selectionMode: 'single',
|
||||
defaultSelectedKeys: ['option1'],
|
||||
},
|
||||
parameters: {
|
||||
argTypes: {
|
||||
selectionMode: {
|
||||
control: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
render: () => (
|
||||
<Flex direction="column" gap="4">
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>Default</Text>
|
||||
<Flex align="center" p="4" gap="4">
|
||||
<ToggleButtonGroup
|
||||
selectionMode="single"
|
||||
defaultSelectedKeys={['option1']}
|
||||
>
|
||||
<ToggleButton id="option1" variant="primary">
|
||||
Primary 1
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option2" variant="primary">
|
||||
Option 2
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option3" variant="primary">
|
||||
Option 3
|
||||
</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
<ToggleButtonGroup
|
||||
selectionMode="single"
|
||||
defaultSelectedKeys={['option1']}
|
||||
>
|
||||
<ToggleButton id="option1" variant="secondary">
|
||||
Secondary 1
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option2" variant="secondary">
|
||||
Option 2
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option3" variant="secondary">
|
||||
Option 3
|
||||
</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 0</Text>
|
||||
<Flex align="center" surface="0" p="4" gap="4">
|
||||
<ToggleButtonGroup
|
||||
selectionMode="single"
|
||||
defaultSelectedKeys={['option1']}
|
||||
>
|
||||
<ToggleButton id="option1" variant="primary">
|
||||
Primary 1
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option2" variant="primary">
|
||||
Option 2
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option3" variant="primary">
|
||||
Option 3
|
||||
</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
<ToggleButtonGroup
|
||||
selectionMode="single"
|
||||
defaultSelectedKeys={['option1']}
|
||||
>
|
||||
<ToggleButton id="option1" variant="secondary">
|
||||
Secondary 1
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option2" variant="secondary">
|
||||
Option 2
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option3" variant="secondary">
|
||||
Option 3
|
||||
</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 1</Text>
|
||||
<Flex align="center" surface="1" p="4" gap="4">
|
||||
<ToggleButtonGroup
|
||||
selectionMode="single"
|
||||
defaultSelectedKeys={['option1']}
|
||||
>
|
||||
<ToggleButton id="option1" variant="primary">
|
||||
Primary 1
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option2" variant="primary">
|
||||
Option 2
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option3" variant="primary">
|
||||
Option 3
|
||||
</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
<ToggleButtonGroup
|
||||
selectionMode="single"
|
||||
defaultSelectedKeys={['option1']}
|
||||
>
|
||||
<ToggleButton id="option1" variant="secondary">
|
||||
Secondary 1
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option2" variant="secondary">
|
||||
Option 2
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option3" variant="secondary">
|
||||
Option 3
|
||||
</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 2</Text>
|
||||
<Flex align="center" surface="2" p="4" gap="4">
|
||||
<ToggleButtonGroup
|
||||
selectionMode="single"
|
||||
defaultSelectedKeys={['option1']}
|
||||
>
|
||||
<ToggleButton id="option1" variant="primary">
|
||||
Primary 1
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option2" variant="primary">
|
||||
Option 2
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option3" variant="primary">
|
||||
Option 3
|
||||
</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
<ToggleButtonGroup
|
||||
selectionMode="single"
|
||||
defaultSelectedKeys={['option1']}
|
||||
>
|
||||
<ToggleButton id="option1" variant="secondary">
|
||||
Secondary 1
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option2" variant="secondary">
|
||||
Option 2
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option3" variant="secondary">
|
||||
Option 3
|
||||
</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex direction="column" gap="4">
|
||||
<Text>On Surface 3</Text>
|
||||
<Flex align="center" surface="3" p="4" gap="4">
|
||||
<ToggleButtonGroup
|
||||
selectionMode="single"
|
||||
defaultSelectedKeys={['option1']}
|
||||
>
|
||||
<ToggleButton id="option1" variant="primary">
|
||||
Primary 1
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option2" variant="primary">
|
||||
Option 2
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option3" variant="primary">
|
||||
Option 3
|
||||
</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
<ToggleButtonGroup
|
||||
selectionMode="single"
|
||||
defaultSelectedKeys={['option1']}
|
||||
>
|
||||
<ToggleButton id="option1" variant="secondary">
|
||||
Secondary 1
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option2" variant="secondary">
|
||||
Option 2
|
||||
</ToggleButton>
|
||||
<ToggleButton id="option3" variant="secondary">
|
||||
Option 3
|
||||
</ToggleButton>
|
||||
</ToggleButtonGroup>
|
||||
</Flex>
|
||||
</Flex>
|
||||
</Flex>
|
||||
),
|
||||
});
|
||||
|
||||
export const DisabledGroup = meta.story({
|
||||
args: {
|
||||
selectionMode: 'single',
|
||||
|
||||
Reference in New Issue
Block a user