diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-05-30 19:39:20 +0200 | 
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-05-31 23:15:11 +0200 | 
| commit | ae384aec5084b9fb9f02166890686a37d1260ef2 (patch) | |
| tree | 59f2b2d53513e5d69bafa1323f64844dd00be28a /src/components/atoms/forms/fieldset.stories.tsx | |
| parent | 782cc0a31a866519fb7c3e18a523b347d3e40238 (diff) | |
chore: add a Fieldset component
Diffstat (limited to 'src/components/atoms/forms/fieldset.stories.tsx')
| -rw-r--r-- | src/components/atoms/forms/fieldset.stories.tsx | 116 | 
1 files changed, 116 insertions, 0 deletions
| diff --git a/src/components/atoms/forms/fieldset.stories.tsx b/src/components/atoms/forms/fieldset.stories.tsx new file mode 100644 index 0000000..0353c13 --- /dev/null +++ b/src/components/atoms/forms/fieldset.stories.tsx @@ -0,0 +1,116 @@ +import { ComponentMeta, ComponentStory } from '@storybook/react'; +import FieldsetComponent from './fieldset'; +import { body, legend } from './fieldset.fixture'; + +/** + * Fieldset - Storybook Meta + */ +export default { +  title: 'Atoms/Forms/Fieldset', +  component: FieldsetComponent, +  args: { +    legendPosition: 'stacked', +    role: 'group', +  }, +  argTypes: { +    children: { +      control: { +        type: null, +      }, +      description: 'The fieldset body.', +      type: { +        name: 'string', +        required: true, +      }, +    }, +    className: { +      control: { +        type: 'text', +      }, +      description: 'Set additional classnames to the fieldset.', +      table: { +        category: 'Styles', +      }, +      type: { +        name: 'string', +        required: false, +      }, +    }, +    legend: { +      control: { +        type: 'text', +      }, +      description: 'The fieldset legend.', +      type: { +        name: 'string', +        required: true, +      }, +    }, +    legendClassName: { +      control: { +        type: 'text', +      }, +      description: 'Set additional classnames to the legend.', +      table: { +        category: 'Styles', +      }, +      type: { +        name: 'string', +        required: false, +      }, +    }, +    legendPosition: { +      control: { +        type: 'select', +      }, +      description: 'Determine the legend position.', +      options: ['inline', 'stacked'], +      table: { +        category: 'Options', +        defaultValue: { summary: 'inline' }, +      }, +      type: { +        name: 'string', +        required: false, +      }, +    }, +    role: { +      control: { +        type: 'select', +      }, +      description: 'An accessible role.', +      table: { +        category: 'Accessibility', +        defaultValue: { summary: 'group' }, +      }, +      options: ['group', 'radiogroup', 'presentation', 'none'], +      type: { +        name: 'string', +        required: false, +      }, +    }, +  }, +} as ComponentMeta<typeof FieldsetComponent>; + +const Template: ComponentStory<typeof FieldsetComponent> = (args) => ( +  <FieldsetComponent {...args} /> +); + +/** + * Fieldset Stories - Stacked legend + */ +export const StackedLegend = Template.bind({}); +StackedLegend.args = { +  children: body, +  legend: legend, +}; + +/** + * Fieldset Stories - Inlined legend + */ +export const InlinedLegend = Template.bind({}); +InlinedLegend.args = { +  children: body, +  legend: legend, +  legendPosition: 'inline', +}; | 
