Skip to content

Commit fb7bb8e

Browse files
authored
docs(Loader/Spin): update stories layout (#2434)
1 parent 1f4d5d1 commit fb7bb8e

File tree

2 files changed

+65
-32
lines changed

2 files changed

+65
-32
lines changed

src/components/Loader/__stories__/Loader.stories.tsx

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,41 @@
11
import * as React from 'react';
22

3-
import type {Meta, StoryFn} from '@storybook/react-webpack5';
3+
import type {Meta, StoryObj} from '@storybook/react-webpack5';
44

5+
import {Showcase} from '../../../demo/Showcase';
6+
import {ShowcaseItem} from '../../../demo/ShowcaseItem';
57
import {Loader} from '../Loader';
6-
import type {LoaderProps} from '../Loader';
78

89
export default {
910
title: 'Components/Feedback/Loader',
1011
component: Loader,
1112
} as Meta;
1213

13-
const DefaultTemplate: StoryFn<LoaderProps> = (args) => <Loader {...args} />;
14-
export const Default = DefaultTemplate.bind({});
14+
type Story = StoryObj<typeof Loader>;
1515

16-
const SizeTemplate: StoryFn<LoaderProps> = (args) => {
17-
return (
16+
const defaultDecorators = [
17+
(Story) => (
18+
<Showcase>
19+
<Story />
20+
</Showcase>
21+
),
22+
] satisfies Story['decorators'];
23+
24+
export const Default: Story = {};
25+
26+
export const Size: Story = {
27+
decorators: defaultDecorators,
28+
render: (args) => (
1829
<React.Fragment>
19-
<Loader {...args} size="s" />
20-
<span style={{margin: '16px'}} />
21-
<Loader {...args} size="m" />
22-
<span style={{margin: '16px'}} />
23-
<Loader {...args} size="l" />
30+
<ShowcaseItem title="Size s">
31+
<Loader {...args} size="s" />
32+
</ShowcaseItem>
33+
<ShowcaseItem title="Size m">
34+
<Loader {...args} size="m" />
35+
</ShowcaseItem>
36+
<ShowcaseItem title="Size l">
37+
<Loader {...args} size="l" />
38+
</ShowcaseItem>
2439
</React.Fragment>
25-
);
40+
),
2641
};
27-
28-
export const Size = SizeTemplate.bind({});
Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,47 @@
1-
import type {Meta, StoryFn} from '@storybook/react-webpack5';
1+
import * as React from 'react';
22

3+
import type {Meta, StoryObj} from '@storybook/react-webpack5';
4+
5+
import {Showcase} from '../../../demo/Showcase';
6+
import {ShowcaseItem} from '../../../demo/ShowcaseItem';
37
import {Spin} from '../Spin';
4-
import type {SpinProps} from '../Spin';
58

69
export default {
710
title: 'Components/Feedback/Spin',
811
component: Spin,
912
} as Meta;
1013

11-
const DefaultTemplate: StoryFn<SpinProps> = (args) => <Spin {...args} />;
12-
export const Default = DefaultTemplate.bind({});
14+
type Story = StoryObj<typeof Spin>;
15+
16+
const defaultDecorators = [
17+
(Story) => (
18+
<Showcase>
19+
<Story />
20+
</Showcase>
21+
),
22+
] satisfies Story['decorators'];
23+
24+
export const Default: Story = {};
1325

14-
const SizeTemplate: StoryFn<SpinProps> = (args) => (
15-
<div>
16-
xs: <Spin {...args} size="xs" />
17-
<span style={{margin: '16px'}} />
18-
s: <Spin {...args} size="s" />
19-
<span style={{margin: '16px'}} />
20-
m: <Spin {...args} size="m" />
21-
<span style={{margin: '16px'}} />
22-
l: <Spin {...args} size="l" />
23-
<span style={{margin: '16px'}} />
24-
xl: <Spin {...args} size="xl" />
25-
</div>
26-
);
27-
export const Size = SizeTemplate.bind({});
26+
export const Size: Story = {
27+
decorators: defaultDecorators,
28+
render: (args) => (
29+
<React.Fragment>
30+
<ShowcaseItem title="Size xs">
31+
<Spin {...args} size="xs" />
32+
</ShowcaseItem>
33+
<ShowcaseItem title="Size s">
34+
<Spin {...args} size="s" />
35+
</ShowcaseItem>
36+
<ShowcaseItem title="Size m">
37+
<Spin {...args} size="m" />
38+
</ShowcaseItem>
39+
<ShowcaseItem title="Size l">
40+
<Spin {...args} size="l" />
41+
</ShowcaseItem>
42+
<ShowcaseItem title="Size xl">
43+
<Spin {...args} size="xl" />
44+
</ShowcaseItem>
45+
</React.Fragment>
46+
),
47+
};

0 commit comments

Comments
 (0)