docs: Add surface examples to the ToggleButton/ToggleButtonGroups

Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
This commit is contained in:
Gabriel Dugny
2026-01-09 17:48:58 +01:00
parent 7d777922af
commit 92562d14af
5 changed files with 348 additions and 10 deletions
@@ -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>`;
+36 -3
View File
@@ -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">