@itcase/ui 1.2.24 → 1.2.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Button-AKN9f9n0.js → Button-C0M-Ap20.js} +1 -1
- package/dist/{Button-Bf9kDDqK.js → Button-COsywjkv.js} +1 -1
- package/dist/{Icon-B1V8M_j9.js → Icon-CkynFJm4.js} +1 -1
- package/dist/{Icon-Du1Nyea-.js → Icon-CliIEdbp.js} +1 -1
- package/dist/{Label-B0O9q0E4.js → Label-BPP0om7_.js} +1 -1
- package/dist/{Label-D8DRdqad.js → Label-ukXod6pv.js} +1 -1
- package/dist/{Title-zwP6c2U2.js → Title-B-N0qkn3.js} +9 -1
- package/dist/{Title-BfSFPJtJ.js → Title-CqwqEtm7.js} +9 -1
- package/dist/{Tooltip-aaDRYNWY.js → Tooltip-B2vv4OAX.js} +1 -1
- package/dist/{Tooltip-xGmgUzGr.js → Tooltip-DsTCGS6h.js} +1 -1
- package/dist/cjs/components/Accordion.js +3 -3
- package/dist/cjs/components/Avatar.js +3 -3
- package/dist/cjs/components/Breadcrumbs.js +3 -3
- package/dist/cjs/components/Button.js +4 -4
- package/dist/cjs/components/Cell.js +4 -4
- package/dist/cjs/components/Choice.js +3 -3
- package/dist/cjs/components/ContextMenu.js +3 -3
- package/dist/cjs/components/CookiesWarning.js +4 -4
- package/dist/cjs/components/DatePicker.js +5 -5
- package/dist/cjs/components/Icon.js +3 -3
- package/dist/cjs/components/InputPassword.js +3 -3
- package/dist/cjs/components/Label.js +3 -3
- package/dist/cjs/components/LanguageSelector.js +3 -3
- package/dist/cjs/components/Notification.js +13 -14
- package/dist/cjs/components/Pagination.js +3 -3
- package/dist/cjs/components/Response.js +4 -4
- package/dist/cjs/components/Search.js +3 -3
- package/dist/cjs/components/Select.js +3 -3
- package/dist/cjs/components/SiteMenu.js +3 -3
- package/dist/cjs/components/Swiper.js +1 -1
- package/dist/cjs/components/Tile.js +1 -1
- package/dist/cjs/components/Title.js +1 -1
- package/dist/cjs/components/Tooltip.js +2 -2
- package/dist/components/Accordion.js +3 -3
- package/dist/components/Avatar.js +3 -3
- package/dist/components/Breadcrumbs.js +3 -3
- package/dist/components/Button.js +4 -4
- package/dist/components/Cell.js +4 -4
- package/dist/components/Choice.js +3 -3
- package/dist/components/ContextMenu.js +3 -3
- package/dist/components/CookiesWarning.js +4 -4
- package/dist/components/DatePicker.js +5 -5
- package/dist/components/Icon.js +3 -3
- package/dist/components/InputPassword.js +3 -3
- package/dist/components/Label.js +3 -3
- package/dist/components/LanguageSelector.js +3 -3
- package/dist/components/Notification.js +13 -14
- package/dist/components/Pagination.js +3 -3
- package/dist/components/Response.js +4 -4
- package/dist/components/Search.js +3 -3
- package/dist/components/Select.js +3 -3
- package/dist/components/SiteMenu.js +3 -3
- package/dist/components/Swiper.js +1 -1
- package/dist/components/Tile.js +1 -1
- package/dist/components/Title.js +1 -1
- package/dist/components/Tooltip.js +2 -2
- package/dist/css/components/Swiper/Swiper.css +2 -2
- package/dist/stories/appearance.mdx +5 -0
- package/dist/stories/colors.mdx +239 -0
- package/dist/stories/elevation.mdx +80 -0
- package/dist/stories/mixins_animation.mdx +5 -0
- package/dist/stories/mixins_dark-light.mdx +54 -0
- package/dist/stories/mixins_elevation.mdx +5 -0
- package/dist/stories/mixins_fill-gradient.mdx +5 -0
- package/dist/stories/mixins_typography.mdx +133 -0
- package/dist/stories/mixins_utils.mdx +5 -0
- package/dist/stories/typography.mdx +82 -0
- package/dist/types/components/Notification/Notification.interface.d.ts +2 -1
- package/dist/types/components/Notification/NotificationItem.d.ts +0 -6
- package/package.json +17 -16
- package/dist/stories/Configure.mdx +0 -364
- package/dist/stories/Header.stories.js +0 -29
- package/dist/stories/Page.stories.js +0 -28
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { Meta, ColorPalette, ColorItem } from '@storybook/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title="Tokens / Colors" />
|
|
4
|
+
|
|
5
|
+
# Colors
|
|
6
|
+
|
|
7
|
+
<ColorPalette>
|
|
8
|
+
<ColorItem
|
|
9
|
+
title="Accent"
|
|
10
|
+
subtitle="--color-accent"
|
|
11
|
+
colors={{
|
|
12
|
+
Primary: 'hsla(92, 49%, 47%, 1)',
|
|
13
|
+
PrimaryHover: 'hsla(92, 29%, 62%, 1)',
|
|
14
|
+
Active: 'hsla(92, 46%, 40%, 1)',
|
|
15
|
+
Secondary: 'hsla(92, 29%, 62%, 1)',
|
|
16
|
+
Tertiary: 'hsla(93, 53%, 93%, 1)',
|
|
17
|
+
Disabled: 'hsla(93, 45%, 80%, 1)',
|
|
18
|
+
}}
|
|
19
|
+
/>
|
|
20
|
+
<ColorItem
|
|
21
|
+
title="Accent Text"
|
|
22
|
+
subtitle="--color-accent-text"
|
|
23
|
+
colors={{
|
|
24
|
+
Primary: 'hsla(0, 0%, 100%, 1)',
|
|
25
|
+
Secondary: 'hsla(0, 0%, 100%, 1)',
|
|
26
|
+
Disabled: 'hsla(92, 49%, 47%, 1)',
|
|
27
|
+
}}
|
|
28
|
+
/>
|
|
29
|
+
<ColorItem
|
|
30
|
+
title="Accent Item"
|
|
31
|
+
subtitle="--color-accent-item"
|
|
32
|
+
colors={{
|
|
33
|
+
Primary: 'hsla(0, 0%, 100%, 1)',
|
|
34
|
+
Secondary: 'hsla(92, 49%, 47%, 1)',
|
|
35
|
+
}}
|
|
36
|
+
/>
|
|
37
|
+
<ColorItem
|
|
38
|
+
title="Accent Border"
|
|
39
|
+
subtitle="--color-accent-border"
|
|
40
|
+
colors={{
|
|
41
|
+
Primary: 'hsla(92, 49%, 47%, 1)',
|
|
42
|
+
Secondary: 'hsla(92, 29%, 62%, 1)',
|
|
43
|
+
Quaternary: 'hsla(92, 37%, 35%, 1)',
|
|
44
|
+
}}
|
|
45
|
+
/>
|
|
46
|
+
<ColorItem
|
|
47
|
+
title="Primary"
|
|
48
|
+
subtitle="--color-primary"
|
|
49
|
+
colors={{
|
|
50
|
+
Primary: 'hsla(36, 95%, 45%, 1)',
|
|
51
|
+
PrimaryHover: 'hsla(40, 75%, 58%, 1)',
|
|
52
|
+
Active: 'hsla(36, 95%, 40%, 1)',
|
|
53
|
+
Disabled: 'hsla(36, 13%, 80%, 1)',
|
|
54
|
+
}}
|
|
55
|
+
/>
|
|
56
|
+
<ColorItem
|
|
57
|
+
title="Primary Text"
|
|
58
|
+
subtitle="--color-primary-text"
|
|
59
|
+
colors={{
|
|
60
|
+
Primary: 'hsla(0, 0%, 100%, 1)',
|
|
61
|
+
Disabled: 'hsla(36, 60%, 65%, 1)',
|
|
62
|
+
}}
|
|
63
|
+
/>
|
|
64
|
+
<ColorItem
|
|
65
|
+
title="Primary Item"
|
|
66
|
+
subtitle="--color-primary-item"
|
|
67
|
+
colors={{
|
|
68
|
+
Primary: 'hsla(0, 0%, 100%, 1)',
|
|
69
|
+
}}
|
|
70
|
+
/>
|
|
71
|
+
<ColorItem
|
|
72
|
+
title="Secondary"
|
|
73
|
+
subtitle="--color-secondary"
|
|
74
|
+
colors={{
|
|
75
|
+
Primary: 'hsla(349, 96%, 44%, 1)',
|
|
76
|
+
PrimaryHover: 'hsla(349, 100%, 51%, 1)',
|
|
77
|
+
Active: 'hsla(349, 96%, 34%, 1)',
|
|
78
|
+
Disabled: 'hsla(349, 59%, 90%, 1)',
|
|
79
|
+
}}
|
|
80
|
+
/>
|
|
81
|
+
<ColorItem
|
|
82
|
+
title="Secondary Text"
|
|
83
|
+
subtitle="--color-secondary-text"
|
|
84
|
+
colors={{
|
|
85
|
+
Primary: 'hsla(0, 0%, 100%, 1)',
|
|
86
|
+
Secondary: 'hsla(349, 96%, 44%, 1)',
|
|
87
|
+
Disabled: 'hsla(349, 53%, 68%, 1)',
|
|
88
|
+
}}
|
|
89
|
+
/>
|
|
90
|
+
<ColorItem
|
|
91
|
+
title="Secondary Item"
|
|
92
|
+
subtitle="--color-secondary-item"
|
|
93
|
+
colors={{
|
|
94
|
+
Primary: 'hsla(0, 0%, 100%, 1)',
|
|
95
|
+
}}
|
|
96
|
+
/>
|
|
97
|
+
<ColorItem
|
|
98
|
+
title="Surface"
|
|
99
|
+
subtitle="--color-surface"
|
|
100
|
+
colors={{
|
|
101
|
+
Primary: 'hsla(0, 0%, 100%, 1)',
|
|
102
|
+
PrimaryHover: 'hsla(0, 0%, 83%, 1)',
|
|
103
|
+
Secondary: 'hsla(220, 14%, 96%, 1)',
|
|
104
|
+
SecondaryHover: 'hsla(0, 0%, 78%, 1)',
|
|
105
|
+
Accent: 'hsla(92, 54%, 93%, 1)',
|
|
106
|
+
}}
|
|
107
|
+
/>
|
|
108
|
+
<ColorItem
|
|
109
|
+
title="Surface"
|
|
110
|
+
subtitle="--color-surface"
|
|
111
|
+
colors={{
|
|
112
|
+
Tertiary: 'hsla(0, 0%, 85%, 1)',
|
|
113
|
+
TertiaryHover: 'hsla(0, 0%, 73%, 1)',
|
|
114
|
+
Quaternary: 'hsla(0, 0%, 45%, 1)',
|
|
115
|
+
Active: 'hsla(0, 0%, 64%, 1)',
|
|
116
|
+
Disabled: 'hsla(0, 0%, 79%, 1)',
|
|
117
|
+
}}
|
|
118
|
+
/>
|
|
119
|
+
<ColorItem
|
|
120
|
+
title="Surface Text"
|
|
121
|
+
subtitle="--color-surface-text"
|
|
122
|
+
colors={{
|
|
123
|
+
Primary: 'hsla(0, 0%, 9%, 1)',
|
|
124
|
+
Accent: 'hsla(92, 49%, 47%, 1)',
|
|
125
|
+
Secondary: 'hsla(0, 0%, 45%, 1)',
|
|
126
|
+
Tertiary: 'hsla(213, 5%, 45%, 1)',
|
|
127
|
+
Quaternary: 'hsla(0, 0%, 75%, 1)',
|
|
128
|
+
Disabled: 'hsla(0, 0%, 47%, 1)',
|
|
129
|
+
}}
|
|
130
|
+
/>
|
|
131
|
+
<ColorItem
|
|
132
|
+
title="Surface Item"
|
|
133
|
+
subtitle="--color-surface-item"
|
|
134
|
+
colors={{
|
|
135
|
+
Primary: 'hsla(35, 71%, 13%, 1)',
|
|
136
|
+
Secondary: 'hsla(0, 0%, 93%, 1)',
|
|
137
|
+
Tertiary: 'hsla(0, 0%, 85%, 1)',
|
|
138
|
+
Accent: 'hsla(92, 49%, 47%, 1)',
|
|
139
|
+
Disabled: 'hsla(0, 0%, 61%, 1)',
|
|
140
|
+
}}
|
|
141
|
+
/>
|
|
142
|
+
<ColorItem
|
|
143
|
+
title="Surface Border"
|
|
144
|
+
subtitle="--color-surface-border"
|
|
145
|
+
colors={{
|
|
146
|
+
Primary: 'hsla(36, 71%, 13%, 1)',
|
|
147
|
+
Tertiary: 'hsla(0, 0%, 85%, 1)',
|
|
148
|
+
Quaternary: 'hsla(0, 0%, 45%, 1)',
|
|
149
|
+
Accent: 'hsla(92, 49%, 47%, 1)',
|
|
150
|
+
Active: 'hsla(40, 75%, 58%, 1)',
|
|
151
|
+
Disabled: 'hsla(0, 0%, 61%, 1)',
|
|
152
|
+
}}
|
|
153
|
+
/>
|
|
154
|
+
<ColorItem
|
|
155
|
+
title="Error"
|
|
156
|
+
subtitle="--color-error"
|
|
157
|
+
colors={{
|
|
158
|
+
Primary: 'hsla(0, 100%, 44%, 1)',
|
|
159
|
+
}}
|
|
160
|
+
/>
|
|
161
|
+
<ColorItem
|
|
162
|
+
title="Error Text"
|
|
163
|
+
subtitle="--color-error-text"
|
|
164
|
+
colors={{
|
|
165
|
+
Primary: 'hsla(0, 100%, 44%, 1)',
|
|
166
|
+
PrimaryHover: 'hsla(0, 100%, 60%, 1)',
|
|
167
|
+
Secondary: 'hsla(0, 0%, 100%, 1)',
|
|
168
|
+
}}
|
|
169
|
+
/>
|
|
170
|
+
<ColorItem
|
|
171
|
+
title="Error Item"
|
|
172
|
+
subtitle="--color-error-item"
|
|
173
|
+
colors={{
|
|
174
|
+
Primary: 'hsla(0, 100%, 44%, 1)',
|
|
175
|
+
Secondary: 'hsla(0, 0%, 100%, 1)',
|
|
176
|
+
}}
|
|
177
|
+
/>
|
|
178
|
+
<ColorItem
|
|
179
|
+
title="Error Border"
|
|
180
|
+
subtitle="--color-error-border"
|
|
181
|
+
colors={{
|
|
182
|
+
Primary: 'hsla(0, 100%, 44%, 1)',
|
|
183
|
+
Secondary: 'hsla(0, 0%, 100%, 1)',
|
|
184
|
+
}}
|
|
185
|
+
/>
|
|
186
|
+
<ColorItem
|
|
187
|
+
title="Success"
|
|
188
|
+
subtitle="--color-success"
|
|
189
|
+
colors={{
|
|
190
|
+
Primary: 'hsla(108, 46%, 34%, 1)',
|
|
191
|
+
}}
|
|
192
|
+
/>
|
|
193
|
+
<ColorItem
|
|
194
|
+
title="Success Text"
|
|
195
|
+
subtitle="--color-success-text"
|
|
196
|
+
colors={{
|
|
197
|
+
Primary: 'hsla(108, 46%, 34%, 1)',
|
|
198
|
+
Secondary: 'hsla(0, 0%, 100%, 1)',
|
|
199
|
+
}}
|
|
200
|
+
/>
|
|
201
|
+
<ColorItem
|
|
202
|
+
title="Success Item"
|
|
203
|
+
subtitle="--color-success-item"
|
|
204
|
+
colors={{
|
|
205
|
+
Primary: 'hsla(108, 46%, 34%, 1)',
|
|
206
|
+
Secondary: 'hsla(0, 0%, 100%, 1)',
|
|
207
|
+
}}
|
|
208
|
+
/>
|
|
209
|
+
<ColorItem
|
|
210
|
+
title="Success Border"
|
|
211
|
+
subtitle="--color-success-border"
|
|
212
|
+
colors={{
|
|
213
|
+
Primary: 'hsla(108, 46%, 34%, 1)',
|
|
214
|
+
Secondary: 'hsla(0, 0%, 100%, 1)',
|
|
215
|
+
}}
|
|
216
|
+
/>
|
|
217
|
+
<ColorItem
|
|
218
|
+
title="Active"
|
|
219
|
+
subtitle="--color-active"
|
|
220
|
+
colors={{
|
|
221
|
+
Primary: 'hsla(40, 75%, 58%, 1)',
|
|
222
|
+
}}
|
|
223
|
+
/>
|
|
224
|
+
<ColorItem
|
|
225
|
+
title="Active Text"
|
|
226
|
+
subtitle="--color-active-text"
|
|
227
|
+
colors={{
|
|
228
|
+
Primary: 'hsla(40, 75%, 58%, 1)',
|
|
229
|
+
Secondary: 'hsla(0, 0%, 100%, 1)',
|
|
230
|
+
}}
|
|
231
|
+
/>
|
|
232
|
+
<ColorItem
|
|
233
|
+
title="Active Border"
|
|
234
|
+
subtitle="--color-active-border"
|
|
235
|
+
colors={{
|
|
236
|
+
Primary: 'hsla(40, 75%, 58%, 1)',
|
|
237
|
+
}}
|
|
238
|
+
/>
|
|
239
|
+
</ColorPalette>
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Meta, Typeset } from '@storybook/blocks'
|
|
2
|
+
import { Divider } from '@itcase/ui/components/Divider'
|
|
3
|
+
import { Group } from '@itcase/ui/components/Group'
|
|
4
|
+
import { Text } from '@itcase/ui/components/Text'
|
|
5
|
+
|
|
6
|
+
<Meta title="Tokens / Elevation" />
|
|
7
|
+
|
|
8
|
+
# Elevation
|
|
9
|
+
|
|
10
|
+
<Group>
|
|
11
|
+
<Group alignItems="center" direction="horizontal" gap="40" padding="10">
|
|
12
|
+
<Group elevation="1" height="64" width="64" />
|
|
13
|
+
<Text>elevation 1</Text>
|
|
14
|
+
<Text>box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.24);</Text>
|
|
15
|
+
</Group>
|
|
16
|
+
<Divider width="fill" />
|
|
17
|
+
</Group>
|
|
18
|
+
|
|
19
|
+
<Group>
|
|
20
|
+
<Group alignItems="center" direction="horizontal" gap="40" padding="10">
|
|
21
|
+
<Group elevation="2" height="64" width="64" />
|
|
22
|
+
<Text>elevation 2</Text>
|
|
23
|
+
<Text>box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.24);</Text>
|
|
24
|
+
</Group>
|
|
25
|
+
<Divider width="fill" />
|
|
26
|
+
</Group>
|
|
27
|
+
|
|
28
|
+
<Group>
|
|
29
|
+
<Group alignItems="center" direction="horizontal" gap="40" padding="10">
|
|
30
|
+
<Group elevation="4" height="64" width="64" />
|
|
31
|
+
<Text>elevation 4</Text>
|
|
32
|
+
<Text>box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.24);</Text>
|
|
33
|
+
</Group>
|
|
34
|
+
<Divider width="fill" />
|
|
35
|
+
</Group>
|
|
36
|
+
|
|
37
|
+
<Group>
|
|
38
|
+
<Group alignItems="center" direction="horizontal" gap="40" padding="10">
|
|
39
|
+
<Group elevation="6" height="64" width="64" />
|
|
40
|
+
<Text>elevation 6</Text>
|
|
41
|
+
<Text>box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.24);</Text>
|
|
42
|
+
</Group>
|
|
43
|
+
<Divider width="fill" />
|
|
44
|
+
</Group>
|
|
45
|
+
|
|
46
|
+
<Group>
|
|
47
|
+
<Group alignItems="center" direction="horizontal" gap="40" padding="10">
|
|
48
|
+
<Group elevation="8" height="64" width="64" />
|
|
49
|
+
<Text>elevation 8</Text>
|
|
50
|
+
<Text>box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.16);</Text>
|
|
51
|
+
</Group>
|
|
52
|
+
<Divider width="fill" />
|
|
53
|
+
</Group>
|
|
54
|
+
|
|
55
|
+
<Group>
|
|
56
|
+
<Group alignItems="center" direction="horizontal" gap="40" padding="10">
|
|
57
|
+
<Group elevation="12" height="64" width="64" />
|
|
58
|
+
<Text>elevation 12</Text>
|
|
59
|
+
<Text>box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.16);</Text>
|
|
60
|
+
</Group>
|
|
61
|
+
<Divider width="fill" />
|
|
62
|
+
</Group>
|
|
63
|
+
|
|
64
|
+
<Group>
|
|
65
|
+
<Group alignItems="center" direction="horizontal" gap="40" padding="10">
|
|
66
|
+
<Group elevation="16" height="64" width="64" />
|
|
67
|
+
<Text>elevation 16</Text>
|
|
68
|
+
<Text>box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.16);</Text>
|
|
69
|
+
</Group>
|
|
70
|
+
<Divider width="fill" />
|
|
71
|
+
</Group>
|
|
72
|
+
|
|
73
|
+
<Group>
|
|
74
|
+
<Group alignItems="center" direction="horizontal" gap="40" padding="10">
|
|
75
|
+
<Group elevation="24" height="64" width="64" />
|
|
76
|
+
<Text>elevation 24</Text>
|
|
77
|
+
<Text>box-shadow: 0px 16px 24px rgba(0, 0, 0, 0.12);</Text>
|
|
78
|
+
</Group>
|
|
79
|
+
<Divider width="fill" />
|
|
80
|
+
</Group>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Meta } from '@storybook/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title="Mixins / Dark-Light" />
|
|
4
|
+
|
|
5
|
+
# Dark/Light
|
|
6
|
+
|
|
7
|
+
Для работы с темами используются пакеты `postcss-dark-theme-class` и `postcss-mixins`
|
|
8
|
+
|
|
9
|
+
```css
|
|
10
|
+
:root {
|
|
11
|
+
@media (prefers-color-scheme: light) {
|
|
12
|
+
--color-test: hsla(51, 98%, 61%, 1);
|
|
13
|
+
}
|
|
14
|
+
@media (prefers-color-scheme: dark) {
|
|
15
|
+
--color-test: hsla(221, 95%, 40%, 1);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
# Миксины для указания `CSS`
|
|
21
|
+
|
|
22
|
+
```css
|
|
23
|
+
@define-mixin dark {
|
|
24
|
+
@media (prefers-color-scheme: dark) {
|
|
25
|
+
& {
|
|
26
|
+
@mixin-content;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@define-mixin light {
|
|
32
|
+
@media (prefers-color-scheme: light) {
|
|
33
|
+
& {
|
|
34
|
+
@mixin-content;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
@mixin-content;
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
# Пример использования
|
|
42
|
+
|
|
43
|
+
```css
|
|
44
|
+
.block {
|
|
45
|
+
width: 100px;
|
|
46
|
+
height: 100px;
|
|
47
|
+
@mixin dark {
|
|
48
|
+
background: #000;
|
|
49
|
+
}
|
|
50
|
+
@mixin light {
|
|
51
|
+
background: #fff;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
```
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { Meta } from '@storybook/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title="Mixins / Typography" />
|
|
4
|
+
|
|
5
|
+
# Typography
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Общие настройки для текста находятся в файле `fonts.css`
|
|
9
|
+
|
|
10
|
+
Название переменных для шрифтов задаются в формате порядковых числительных за исключение шрифта для писем.
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
:root {
|
|
14
|
+
--font-primary: 'Inter', sans-serif;
|
|
15
|
+
--font-secondary: 'Roboto', sans-serif;
|
|
16
|
+
--font-email: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
# Миксин `@font`
|
|
21
|
+
|
|
22
|
+
В большинстве проектов используются отзывчивые шрифты с использованием миксина `@font` и пакетов: `postcss-mixins` и `postcss-responsive-type`
|
|
23
|
+
|
|
24
|
+
```css
|
|
25
|
+
@define-mixin font $fontWeight, $minFontSize, $minLineHeight, $minLetterSpacing, $maxFontSize, $maxLineHeight, $maxLetterSpacing, $fontFamily {
|
|
26
|
+
font-size: responsive $minFontSize $maxFontSize;
|
|
27
|
+
font-range: var(--min-max);
|
|
28
|
+
font-weight: $fontWeight;
|
|
29
|
+
font-family: $fontFamily;
|
|
30
|
+
line-height: responsive $minLineHeight $maxLineHeight;
|
|
31
|
+
line-height-range: var(--min-max);
|
|
32
|
+
letter-spacing: responsive $minLetterSpacing $maxLetterSpacing;
|
|
33
|
+
letter-spacing-range: var(--min-max);
|
|
34
|
+
@media (--desktop-super-huge) {
|
|
35
|
+
font-size: $maxFontSize;
|
|
36
|
+
line-height: $maxLineHeight;
|
|
37
|
+
letter-spacing: $maxLetterSpacing;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Параметры миксина `@font`
|
|
43
|
+
|
|
44
|
+
- `$fontWeight` — вес шрифта `default: normal`
|
|
45
|
+
- `$minFontSize` — минимальная высота строки
|
|
46
|
+
- `$minLineHeight` — максимальный высота строки
|
|
47
|
+
- `$maxFontSize` — минимальная ширина буквы
|
|
48
|
+
- `$minLetterSpacing` — максимальный размер шрифта `default: normal`
|
|
49
|
+
- `$maxLineHeight` — максимальная высота строки
|
|
50
|
+
- `$maxLetterSpacing` — максимальная ширина буквы `default: normal`
|
|
51
|
+
- `$fontFamily` — шрифт
|
|
52
|
+
|
|
53
|
+
## Использование миксина `@font`
|
|
54
|
+
|
|
55
|
+
Создание миксинов текстовых стилей с использование миксина `@font`
|
|
56
|
+
|
|
57
|
+
```css
|
|
58
|
+
@define-mixin h1 $weight: normal, $minLetterSpacing: normal, $maxLetterSpacing: normal { {
|
|
59
|
+
@mixin font $fontWeight, 36px, 36px, $minLetterSpacing, 80px, 80px, $maxLetterSpacing, var(--font-primary);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@define-mixin h5 $weight: normal, $minLetterSpacing: normal, $maxLetterSpacing: normal { {
|
|
63
|
+
@mixin font $fontWeight, 24px, 28px, $minLetterSpacing, 48px, 48px, $maxLetterSpacing, var(--font-primary);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@define-mixin text-l $weight: normal, $minLetterSpacing: normal, $maxLetterSpacing: normal { {
|
|
67
|
+
@mixin font $fontWeight, 24px, 28px, $minLetterSpacing, 32px, 40px, $maxLetterSpacing, var(--font-secondary);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@define-mixin text-xs $weight: normal, $minLetterSpacing: normal, $maxLetterSpacing: normal { {
|
|
71
|
+
@mixin font $fontWeight, 16px, 20px, $minLetterSpacing, 16px, 20px, $maxLetterSpacing, var(--font-secondary);
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Пример использования миксинов текстовых стилей
|
|
76
|
+
|
|
77
|
+
```css
|
|
78
|
+
.title-block {
|
|
79
|
+
color: var(--color-surface-text-primary);
|
|
80
|
+
@mixin h1 bold;
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
# Создание миксинов на основе `Text Styles`
|
|
85
|
+
в Figma
|
|
86
|
+
|
|
87
|
+
Например в Figma доступны следующий текстовые стили:
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
## Пример созданных миксинов
|
|
92
|
+
|
|
93
|
+
```css
|
|
94
|
+
@define-mixin h1 $fontWeight: normal {
|
|
95
|
+
@mixin font $fontWeight, 24px, 28px, 24px, 28px, var(--font-primary);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@define-mixin h3 $fontWeight: normal {
|
|
99
|
+
@mixin font $fontWeight, 17px, 22px, 17px, 22px, var(--font-primary);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@define-mixin p $fontWeight: normal {
|
|
103
|
+
@mixin font $fontWeight, 14px, 18px, 14px, 18px, var(--font-primary);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
@define-mixin text-xs $fontWeight: normal {
|
|
107
|
+
@mixin font $fontWeight, 16px, 20px, 16px, 20px, var(--font-primary);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@define-mixin text-l $fontWeight: normal {
|
|
111
|
+
@mixin font $fontWeight, 10px, 12px, 10px, 12px, var(--font-primary);
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Использование в `CSS`
|
|
116
|
+
|
|
117
|
+
```css
|
|
118
|
+
.title-block-h1 {
|
|
119
|
+
@mixin h1 bold;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.title-block-3 {
|
|
123
|
+
@mixin h3 600;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
p {
|
|
127
|
+
@mixin p;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.desc {
|
|
131
|
+
@mixin text-l;
|
|
132
|
+
}
|
|
133
|
+
```
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Meta, Typeset } from '@storybook/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title="Tokens / Typography" />
|
|
4
|
+
|
|
5
|
+
export const typography = {
|
|
6
|
+
type: {
|
|
7
|
+
primary: 'PF Din Display Pro Family, sans-serif',
|
|
8
|
+
},
|
|
9
|
+
weight: {
|
|
10
|
+
regular: '400',
|
|
11
|
+
bold: '700',
|
|
12
|
+
extrabold: '800',
|
|
13
|
+
black: '900',
|
|
14
|
+
},
|
|
15
|
+
size: {
|
|
16
|
+
h1: 64,
|
|
17
|
+
h2: 46,
|
|
18
|
+
h3: 32,
|
|
19
|
+
h4: 24,
|
|
20
|
+
h5: 18,
|
|
21
|
+
h6: 16,
|
|
22
|
+
},
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const SampleText = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'
|
|
26
|
+
|
|
27
|
+
# Typography
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
**Font:** PF Din Display Pro Family
|
|
31
|
+
|
|
32
|
+
**Title:** H1- H6
|
|
33
|
+
|
|
34
|
+
<Typeset
|
|
35
|
+
fontSizes={[
|
|
36
|
+
Number(typography.size.h1),
|
|
37
|
+
Number(typography.size.h2),
|
|
38
|
+
Number(typography.size.h3),
|
|
39
|
+
Number(typography.size.h4),
|
|
40
|
+
Number(typography.size.h5),
|
|
41
|
+
Number(typography.size.h6),
|
|
42
|
+
]}
|
|
43
|
+
fontWeight={typography.weight.regular}
|
|
44
|
+
sampleText={SampleText}
|
|
45
|
+
fontFamily={typography.type.primary}
|
|
46
|
+
/>
|
|
47
|
+
|
|
48
|
+
export const textography = {
|
|
49
|
+
type: {
|
|
50
|
+
primary: 'PF Din Display Pro Family, sans-serif',
|
|
51
|
+
},
|
|
52
|
+
weight: {
|
|
53
|
+
regular: '400',
|
|
54
|
+
semibold: '600',
|
|
55
|
+
},
|
|
56
|
+
size: {
|
|
57
|
+
xxl: 24,
|
|
58
|
+
xl: 22,
|
|
59
|
+
l: 20,
|
|
60
|
+
m: 16,
|
|
61
|
+
s: 14,
|
|
62
|
+
xs: 12,
|
|
63
|
+
xxs: 10,
|
|
64
|
+
},
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
**Text:** xxl- xxs
|
|
68
|
+
|
|
69
|
+
<Typeset
|
|
70
|
+
fontSizes={[
|
|
71
|
+
Number(textography.size.xxl),
|
|
72
|
+
Number(textography.size.xl),
|
|
73
|
+
Number(textography.size.l),
|
|
74
|
+
Number(textography.size.m),
|
|
75
|
+
Number(textography.size.s),
|
|
76
|
+
Number(textography.size.xs),
|
|
77
|
+
Number(textography.size.xxs),
|
|
78
|
+
]}
|
|
79
|
+
fontWeight={textography.weight.regular}
|
|
80
|
+
sampleText={SampleText}
|
|
81
|
+
fontFamily={textography.type.primary}
|
|
82
|
+
/>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { CSSProperties, ReactNode } from 'react';
|
|
2
2
|
import { iStyleAttributes } from '../../hooks/styleAttributes.interface';
|
|
3
3
|
import { tFillProps, tSizeProps, tTextColorProps, tTextSizeProps, titleSizePropsType } from '../../types';
|
|
4
4
|
import { tAppearanceKeysDefault } from '../../types/componentProps/appearanceKeys';
|
|
@@ -36,6 +36,7 @@ export interface INotificationItemProps extends iStyleAttributes {
|
|
|
36
36
|
titleTextColor?: tTextColorProps;
|
|
37
37
|
titleTextSize?: titleSizePropsType;
|
|
38
38
|
type?: string;
|
|
39
|
+
style?: CSSProperties;
|
|
39
40
|
onClickClose?: (id?: number | string) => void;
|
|
40
41
|
fill?: tFillProps;
|
|
41
42
|
}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import { INotificationItemConfig, INotificationItemProps } from './Notification.interface';
|
|
2
2
|
declare const notificationItemConfig: INotificationItemConfig;
|
|
3
3
|
declare function NotificationItem(props: INotificationItemProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
declare namespace NotificationItem {
|
|
5
|
-
var defaultProps: {
|
|
6
|
-
titleTextSize: string;
|
|
7
|
-
textSize: string;
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
4
|
export { NotificationItem, notificationItemConfig };
|