diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-05-24 19:35:12 +0200 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-24 19:35:12 +0200 | 
| commit | c85ab5ad43ccf52881ee224672c41ec30021cf48 (patch) | |
| tree | 8058808d9bfca19383f120c46b34d99ff2f89f63 /src/components/atoms/headings/heading.stories.tsx | |
| parent | 52404177c07a2aab7fc894362fb3060dff2431a0 (diff) | |
| parent | 11b9de44a4b2f305a6a484187805e429b2767118 (diff) | |
refactor: use storybook and atomic design (#16)
BREAKING CHANGE: rewrite most of the Typescript types, so the content format (the meta in particular) needs to be updated.
Diffstat (limited to 'src/components/atoms/headings/heading.stories.tsx')
| -rw-r--r-- | src/components/atoms/headings/heading.stories.tsx | 160 | 
1 files changed, 160 insertions, 0 deletions
| diff --git a/src/components/atoms/headings/heading.stories.tsx b/src/components/atoms/headings/heading.stories.tsx new file mode 100644 index 0000000..0e3885d --- /dev/null +++ b/src/components/atoms/headings/heading.stories.tsx @@ -0,0 +1,160 @@ +import { ComponentMeta, ComponentStory } from '@storybook/react'; +import Heading from './heading'; + +/** + * Heading - Storybook Meta + */ +export default { +  title: 'Atoms/Typography/Headings', +  component: Heading, +  args: { +    alignment: 'left', +    isFake: false, +    withMargin: true, +  }, +  argTypes: { +    alignment: { +      control: { +        type: 'select', +      }, +      description: 'The title alignment.', +      options: ['center', 'left'], +      table: { +        category: 'Options', +        defaultValue: { summary: 'left' }, +      }, +      type: { +        name: 'string', +        required: false, +      }, +    }, +    className: { +      control: { +        type: 'text', +      }, +      description: 'Set additional classnames.', +      table: { +        category: 'Styles', +      }, +      type: { +        name: 'string', +        required: false, +      }, +    }, +    children: { +      description: 'Heading body.', +      type: { +        name: 'string', +        required: true, +      }, +    }, +    id: { +      control: { +        type: 'text', +      }, +      description: 'An unique id.', +      type: { +        name: 'string', +        required: false, +      }, +    }, +    isFake: { +      control: { +        type: 'boolean', +      }, +      description: 'Use an heading element or only its styles.', +      table: { +        category: 'Options', +        defaultValue: { summary: false }, +      }, +      type: { +        name: 'boolean', +        required: false, +      }, +    }, +    level: { +      control: { +        type: 'number', +        min: 1, +        max: 6, +      }, +      description: 'Heading level.', +      type: { +        name: 'number', +        required: true, +      }, +    }, +    withMargin: { +      control: { +        type: 'boolean', +      }, +      description: 'Adds margin.', +      table: { +        category: 'Options', +        defaultValue: { summary: true }, +      }, +      type: { +        name: 'boolean', +        required: false, +      }, +    }, +  }, +} as ComponentMeta<typeof Heading>; + +const Template: ComponentStory<typeof Heading> = (args) => ( +  <Heading {...args} /> +); + +/** + * Heading Story - h1 + */ +export const H1 = Template.bind({}); +H1.args = { +  children: 'Your title', +  level: 1, +}; + +/** + * Heading Story - h2 + */ +export const H2 = Template.bind({}); +H2.args = { +  children: 'Your title', +  level: 2, +}; + +/** + * Heading Story - h3 + */ +export const H3 = Template.bind({}); +H3.args = { +  children: 'Your title', +  level: 3, +}; + +/** + * Heading Story - h4 + */ +export const H4 = Template.bind({}); +H4.args = { +  children: 'Your title', +  level: 4, +}; + +/** + * Heading Story - h5 + */ +export const H5 = Template.bind({}); +H5.args = { +  children: 'Your title', +  level: 5, +}; + +/** + * Heading Story - h6 + */ +export const H6 = Template.bind({}); +H6.args = { +  children: 'Your title', +  level: 6, +}; | 
