Skip to content

Commit 915546d

Browse files
author
Petr Krotov
committed
chore(Icons): fix code after review
1 parent 43f37aa commit 915546d

File tree

1 file changed

+77
-47
lines changed

1 file changed

+77
-47
lines changed

src/blocks/Icons/__stories__/Icons.stories.tsx

Lines changed: 77 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -14,62 +14,92 @@ export default {
1414
component: Icons,
1515
} as Meta;
1616

17-
const DefaultTemplate: StoryFn<IconsBlockModel> = (args) => {
18-
const transformedArgs = blockTransform(args) as IconsBlockProps;
19-
return (
20-
<div style={{padding: '64px'}}>
21-
<IconsBlock {...transformedArgs} />
22-
</div>
23-
);
24-
};
25-
26-
const WithDescriptionTemplate: StoryFn<IconsBlockModel> = (args) => {
27-
const transformedArgs = blockTransform(args) as IconsBlockProps;
28-
return (
29-
<div style={{padding: '64px'}}>
30-
<IconsBlock {...transformedArgs} />
31-
</div>
32-
);
33-
};
17+
const DefaultTemplate: StoryFn<IconsBlockModel> = (args) => (
18+
<div style={{padding: '64px'}}>
19+
<IconsBlock {...(blockTransform(args) as IconsBlockProps)} />
20+
</div>
21+
);
3422

35-
const SizeTemplate: StoryFn<IconsBlockModel> = (args) => (
23+
const SizeTemplate: StoryFn<Record<string, IconsBlockModel>> = (args) => (
3624
<React.Fragment>
37-
<DefaultTemplate title="Size S" {...args} size="s" />
38-
<DefaultTemplate title="Size M" {...args} size="m" />
39-
<DefaultTemplate title="Size L" {...args} size="l" />
25+
{Object.entries(args)
26+
.map(([key, item]) => {
27+
const transformed = blockTransform(item) as IconsBlockProps;
28+
return (
29+
<div key={key} style={{padding: '64px'}}>
30+
<IconsBlock {...transformed} />
31+
</div>
32+
);
33+
})
34+
.filter(Boolean)}
4035
</React.Fragment>
4136
);
4237

43-
const ColSizeTemplate: StoryFn<IconsBlockModel> = (args) => {
44-
const transformedArgs12 = blockTransform({
45-
...args,
38+
const ColSizeTemplate: StoryFn<Record<string, IconsBlockModel>> = (args) => (
39+
<div style={{padding: '64px'}}>
40+
{Object.entries(args)
41+
.map(([key, item]) => {
42+
const transformed = blockTransform(item) as IconsBlockProps;
43+
return <IconsBlock key={key} {...transformed} />;
44+
})
45+
.filter(Boolean)}
46+
</div>
47+
);
48+
49+
export const Default = DefaultTemplate.bind({});
50+
export const Size = SizeTemplate.bind({});
51+
export const WithText = DefaultTemplate.bind({});
52+
export const HeaderColSize = ColSizeTemplate.bind({});
53+
54+
Default.args = data.default.content as IconsBlockModel;
55+
56+
WithText.args = data.withDescription.content as IconsBlockModel;
57+
58+
const SIZES: Record<string, IconsBlockModel> = {
59+
size_s: {
60+
...data.size.content,
61+
title: 'Size S',
62+
size: 's',
63+
} as IconsBlockModel,
64+
size_m: {
65+
...data.size.content,
66+
title: 'Size M',
67+
size: 'm',
68+
} as IconsBlockModel,
69+
size_l: {
70+
...data.size.content,
71+
title: 'Size L',
72+
size: 'l',
73+
} as IconsBlockModel,
74+
};
75+
76+
Size.args = SIZES;
77+
Size.parameters = {
78+
controls: {
79+
include: Object.keys(SIZES),
80+
},
81+
};
82+
83+
const COL_SIZES: Record<string, IconsBlockModel> = {
84+
col_12: {
85+
...data.withDescription.content,
4686
title: 'ColSize 12',
47-
}) as IconsBlockProps;
48-
const transformedArgs8 = blockTransform({
49-
...args,
87+
} as IconsBlockModel,
88+
col_8: {
89+
...data.withDescription.content,
5090
title: 'ColSize 8',
5191
colSizes: {all: 8},
52-
}) as IconsBlockProps;
53-
const transformedArgs4 = blockTransform({
54-
...args,
92+
} as IconsBlockModel,
93+
col_4: {
94+
...data.withDescription.content,
5595
title: 'ColSize 4',
5696
colSizes: {all: 4},
57-
}) as IconsBlockProps;
58-
return (
59-
<div style={{padding: '64px'}}>
60-
<IconsBlock {...transformedArgs12} />
61-
<IconsBlock {...transformedArgs8} />
62-
<IconsBlock {...transformedArgs4} />
63-
</div>
64-
);
97+
} as IconsBlockModel,
6598
};
6699

67-
export const Default = DefaultTemplate.bind([]);
68-
export const Size = SizeTemplate.bind([]);
69-
export const WithText = WithDescriptionTemplate.bind({});
70-
export const HeaderColSize = ColSizeTemplate.bind({});
71-
72-
Default.args = data.default.content as IconsBlockProps;
73-
Size.args = data.size.content as Omit<IconsBlockProps, 'size'>;
74-
WithText.args = data.withDescription.content as IconsBlockProps;
75-
HeaderColSize.args = data.withDescription.content as IconsBlockProps;
100+
HeaderColSize.args = COL_SIZES;
101+
HeaderColSize.parameters = {
102+
controls: {
103+
include: Object.keys(COL_SIZES),
104+
},
105+
};

0 commit comments

Comments
 (0)