|
1 | | -import React from 'react'; |
2 | | -import { action } from '@storybook/addon-actions'; |
| 1 | +import React, { ComponentProps } from 'react'; |
3 | 2 | import { BreadCrumbs, Crumb } from '../src/scripts'; |
4 | | -export default { |
| 3 | +import { Meta, StoryObj } from '@storybook/react'; |
| 4 | + |
| 5 | +type StoryProps = ComponentProps<typeof BreadCrumbs> & { |
| 6 | + crumb1: ComponentProps<typeof Crumb>; |
| 7 | + crumb1_onClick: ComponentProps<typeof Crumb>['onClick']; |
| 8 | +} & { |
| 9 | + crumb2: ComponentProps<typeof Crumb>; |
| 10 | + crumb2_onClick: ComponentProps<typeof Crumb>['onClick']; |
| 11 | +}; |
| 12 | + |
| 13 | +/** |
| 14 | + * |
| 15 | + */ |
| 16 | +const meta: Meta<StoryProps> = { |
5 | 17 | title: 'BreadCrumbs', |
| 18 | + component: BreadCrumbs, |
| 19 | + argTypes: { |
| 20 | + crumb1_onClick: { action: 'crumb1_click' }, |
| 21 | + crumb2_onClick: { action: 'crumb2_click' }, |
| 22 | + }, |
6 | 23 | }; |
7 | | -export const Default = { |
8 | | - render: () => ( |
9 | | - <BreadCrumbs> |
10 | | - <Crumb onClick={action('crumb1#click')}>Parent Entity</Crumb> |
11 | | - <Crumb onClick={action('crumb2#click')}>Parent Record Name</Crumb> |
| 24 | +export default meta; |
| 25 | + |
| 26 | +/** |
| 27 | + * |
| 28 | + */ |
| 29 | +export const Default: StoryObj<StoryProps> = { |
| 30 | + render: ({ crumb1, crumb2, crumb1_onClick, crumb2_onClick, ...args }) => ( |
| 31 | + <BreadCrumbs {...args}> |
| 32 | + <Crumb onClick={crumb1_onClick} {...crumb1} /> |
| 33 | + <Crumb onClick={crumb2_onClick} {...crumb2} /> |
12 | 34 | </BreadCrumbs> |
13 | 35 | ), |
| 36 | + args: { |
| 37 | + crumb1: { |
| 38 | + children: 'Parent Entity', |
| 39 | + }, |
| 40 | + crumb2: { |
| 41 | + children: 'Parent Record Name', |
| 42 | + }, |
| 43 | + }, |
14 | 44 | parameters: { |
15 | | - info: 'Default BreadCrumbs', |
| 45 | + docs: { |
| 46 | + storyDescription: 'Default BreadCrumbs', |
| 47 | + }, |
16 | 48 | }, |
17 | 49 | }; |
0 commit comments