119 lines
3.9 KiB
Markdown
119 lines
3.9 KiB
Markdown
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
|
|
import { Examples, Example, Note, Title,CustomArgsTable,VariantsTable,VariantRow } from '@calcom/storybook/components'
|
|
import { Trash, Navigation, Clipboard } from '../icon';
|
|
import { ButtonGroup} from './ButtonGroup';
|
|
import { Button} from '../button/Button';
|
|
|
|
<Meta title="UI/Button Group" component={ButtonGroup} />
|
|
|
|
<Title title="Button Group" suffix="Brief" subtitle="Version 2.0 — Last Update: 22 Aug 2022"/>
|
|
|
|
## Definition
|
|
Button group enables multiple buttons to be combined into a single unit. It offers users access to frequently performed, related actions.
|
|
|
|
## Structure
|
|
|
|
<CustomArgsTable of={ButtonGroup} />
|
|
|
|
|
|
<Examples title="Breadcrumb style"
|
|
footNote ={
|
|
<ul>
|
|
<li>
|
|
Seperated: In general, seperated button group style can be included in container such as card, modal, and page.
|
|
</li>
|
|
<li>
|
|
Combined: Combined button group can be used standalone e.g. mini toggles for calendars
|
|
</li>
|
|
</ul>
|
|
}
|
|
>
|
|
<Example title="Default" >
|
|
<ButtonGroup>
|
|
<Button StartIcon={Trash} variant="icon" color="secondary" />
|
|
<Button StartIcon={Navigation} variant="icon" color="secondary" />
|
|
<Button StartIcon={Clipboard} variant="icon" color="secondary" />
|
|
</ButtonGroup>
|
|
</Example>
|
|
<Example title="Combined">
|
|
<ButtonGroup combined>
|
|
<Button StartIcon={Trash} variant="icon" color="secondary" />
|
|
<Button StartIcon={Navigation} variant="icon" color="secondary" />
|
|
<Button StartIcon={Clipboard} variant="icon" color="secondary" />
|
|
</ButtonGroup>
|
|
</Example>
|
|
</Examples>
|
|
|
|
|
|
<Canvas>
|
|
<Story
|
|
name="All Variants">
|
|
<VariantsTable titles={["Default",'Secondary',"Minimal"]} columnMinWidth={150}>
|
|
<VariantRow variant="Default">
|
|
<ButtonGroup>
|
|
<Button StartIcon={Trash} variant="icon" />
|
|
<Button StartIcon={Navigation} variant="icon"/>
|
|
<Button StartIcon={Clipboard} variant="icon" />
|
|
</ButtonGroup>
|
|
<ButtonGroup>
|
|
<Button StartIcon={Trash} variant="icon" color="secondary" />
|
|
<Button StartIcon={Navigation} variant="icon" color="secondary" />
|
|
<Button StartIcon={Clipboard} variant="icon" color="secondary" />
|
|
</ButtonGroup>
|
|
<ButtonGroup>
|
|
<Button StartIcon={Trash} variant="icon" color="minimal" />
|
|
<Button StartIcon={Navigation} variant="icon" color="minimal" />
|
|
<Button StartIcon={Clipboard} variant="icon" color="minimal" />
|
|
</ButtonGroup>
|
|
</VariantRow>
|
|
<VariantRow variant="Combined">
|
|
<ButtonGroup combined>
|
|
<Button StartIcon={Trash} variant="icon" />
|
|
<Button StartIcon={Navigation} variant="icon" />
|
|
<Button StartIcon={Clipboard} variant="icon" />
|
|
</ButtonGroup>
|
|
<ButtonGroup combined>
|
|
<Button StartIcon={Trash} variant="icon" color="secondary" />
|
|
<Button StartIcon={Navigation} variant="icon" color="secondary" />
|
|
<Button StartIcon={Clipboard} variant="icon" color="secondary" />
|
|
</ButtonGroup>
|
|
</VariantRow>
|
|
</VariantsTable>
|
|
</Story>
|
|
</Canvas>
|
|
|
|
<Canvas>
|
|
<Story
|
|
name="ButtonGroup Playground"
|
|
args={{
|
|
color: 'secondary',
|
|
combined: false,
|
|
}}
|
|
argTypes={{
|
|
color: {
|
|
control: {
|
|
type: 'select',
|
|
options: ['primary', 'secondary', 'minimal'],
|
|
},
|
|
},
|
|
combined: {
|
|
control: {
|
|
type: 'boolean',
|
|
},
|
|
},
|
|
}}
|
|
>
|
|
{({ color, combined }) => (
|
|
<VariantsTable titles={[`${color}`]} columnMinWidth={150}>
|
|
<VariantRow variant="">
|
|
<ButtonGroup combined={combined}>
|
|
<Button StartIcon={Trash} variant="icon" color={color} />
|
|
<Button StartIcon={Navigation} variant="icon" color={color}/>
|
|
<Button StartIcon={Clipboard} variant="icon" color={color}/>
|
|
</ButtonGroup>
|
|
</VariantRow>
|
|
</VariantsTable>
|
|
)}
|
|
</Story>
|
|
</Canvas>
|