@sveltestrap/sveltestrap
Version:
Bootstrap components for Svelte
95 lines (73 loc) • 2.34 kB
text/mdx
import { Meta, Canvas, Controls, Story, Source } from '@storybook/blocks';
import * as ButtonGroupStories from './ButtonGroup.stories';
<Meta title="Components/ButtonGroup" />
# ButtonGroup <small class="bootstrap-docs">[Bootstrap Button Group](https://getbootstrap.com/docs/5.3/components/button-group/)</small>
The `<ButtonGroup>` component groups a series of buttons together on a single line or stack them in a vertical column.
<Canvas>
<Story of={ButtonGroupStories.Basic} />
</Canvas>
<Controls of={ButtonGroupStories.Basic} />
## Styles
<Canvas withSource="none">
<Story of={ButtonGroupStories.Styles} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import { Button, ButtonGroup } from '@sveltestrap/sveltestrap';
</script>
<ButtonGroup>
<Button color="danger">Left</Button>
<Button color="warning">Middle</Button>
<Button color="success">Right</Button>
</ButtonGroup>
`} />
## Outlines
<Canvas withSource="none">
<Story of={ButtonGroupStories.Outlines} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import { Button, ButtonGroup } from '@sveltestrap/sveltestrap';
</script>
<ButtonGroup>
<Button color="primary" outline>Left</Button>
<Button color="primary" outline>Middle</Button>
<Button color="primary" outline>Right</Button>
</ButtonGroup>
`} />
## Sizes
<Canvas withSource="none">
<Story of={ButtonGroupStories.Sizes} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import { Button, ButtonGroup } from '@sveltestrap/sveltestrap';
const sizeMap = ['sm', 'md', 'lg'];
const sizeToColorMap = {
sm: 'primary',
md: 'warning',
lg: 'danger'
};
</script>
{#each sizeMap as size}
<ButtonGroup {size}>
<Button color={sizeToColorMap[size]}>Left</Button>
<Button color={sizeToColorMap[size]}>Middle</Button>
<Button color={sizeToColorMap[size]}>Right</Button>
</ButtonGroup>
{/each}
`} />
## Vertical variation
<Canvas withSource="none">
<Story of={ButtonGroupStories.Vertical} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import { Button, ButtonGroup } from '@sveltestrap/sveltestrap';
</script>
<ButtonGroup vertical>
<Button color="primary">Top</Button>
<Button color="primary">Middle</Button>
<Button color="primary">Bottom</Button>
</ButtonGroup>
`} />