import { ComponentMeta, ComponentStory } from '@storybook/react'; import { useState } from 'react'; import { IntlProvider } from 'react-intl'; import HeadingButtonComponent from './heading-button'; /** * HeadingButton - Storybook Meta */ export default { title: 'Molecules/Buttons/HeadingButton', component: HeadingButtonComponent, argTypes: { expanded: { control: { type: null, }, description: 'Heading button state (plus or minus).', type: { name: 'boolean', required: true, }, }, level: { control: { type: 'number', min: 1, max: 6, }, description: 'Heading level.', type: { name: 'number', required: true, }, }, setExpanded: { control: { type: null, }, description: 'Callback function to set heading button state.', type: { name: 'function', required: true, }, }, title: { control: { type: 'text', }, description: 'Heading title.', type: { name: 'string', required: true, }, }, }, decorators: [ (Story) => ( ), ], } as ComponentMeta; const Template: ComponentStory = ({ expanded, setExpanded: _setExpanded, ...args }) => { const [isExpanded, setIsExpanded] = useState(expanded); return ( ); }; /** * Heading Button Stories - Level 1 */ export const Level1 = Template.bind({}); Level1.args = { level: 1, title: 'Your title', }; /** * Heading Button Stories - Level 2 */ export const Level2 = Template.bind({}); Level2.args = { level: 2, title: 'Your title', }; /** * Heading Button Stories - Level 3 */ export const Level3 = Template.bind({}); Level3.args = { level: 3, title: 'Your title', }; /** * Heading Button Stories - Level 4 */ export const Level4 = Template.bind({}); Level4.args = { level: 4, title: 'Your title', }; /** * Heading Button Stories - Level 5 */ export const Level5 = Template.bind({}); Level5.args = { level: 5, title: 'Your title', }; /** * Heading Button Stories - Level 6 */ export const Level6 = Template.bind({}); Level6.args = { level: 6, title: 'Your title', }; option>
blob: f6dd36404c8df7f79cd2a4ac016cc5e21443b636 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import { ComponentMeta, ComponentStory } from '@storybook/react';
import Modal from './modal';

/**
 * Widget - Storybook Meta
 */
export default {
  title: 'Molecules/Modals/Modal',
  component: Modal,
  argTypes: {
    children: {
      control: {
        type: 'text',
      },
      description: 'The modal body.',
      type: {
        name: 'string',
        required: true,
      },
    },
    className: {
      control: {
        type: 'text',
      },
      description: 'Set additional classnames to the modal.',
      table: {
        category: 'Styles',
      },
      type: {
        name: 'string',
        required: false,
      },
    },
    headingClassName: {
      control: {
        type: 'text',
      },
      description: 'Set additional classnames to the modal heading.',
      table: {
        category: 'Styles',
      },
      type: {
        name: 'string',
        required: false,
      },
    },
    icon: {
      control: {
        type: 'select',
      },
      description: 'The title icon.',
      options: ['', 'cogs', 'search'],
      table: {
        category: 'Options',
      },
      type: {
        name: 'string',
        required: false,
      },
    },
    title: {
      control: {
        type: 'text',
      },
      description: 'The modal title.',
      table: {
        category: 'Options',
      },
      type: {
        name: 'string',
        required: false,
      },
    },
  },
} as ComponentMeta<typeof Modal>;

const Template: ComponentStory<typeof Modal> = (args) => <Modal {...args} />;

/**
 * Modal Stories - Default
 */
export const Default = Template.bind({});
Default.args = {
  children:
    'Inventore natus dignissimos aut illum modi asperiores. Et voluptatibus delectus.',
};

/**
 * Modal Stories - With title
 */
export const WithTitle = Template.bind({});
WithTitle.args = {
  children:
    'Inventore natus dignissimos aut illum modi asperiores. Et voluptatibus delectus.',
  title: 'Alias praesentium corporis',
};