@salutejs/plasma-new-hope 0.82.0-dev.0 → 0.82.1-canary.1210.9126725322.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. package/package.json +2 -2
  2. package/styled-components/cjs/components/Avatar/Avatar.template-doc.mdx +3 -1
  3. package/styled-components/cjs/components/Badge/Badge.template-doc.mdx +9 -9
  4. package/styled-components/cjs/components/Button/Button.template-doc.mdx +8 -9
  5. package/styled-components/cjs/components/Cell/Cell.template-doc.mdx +68 -0
  6. package/styled-components/cjs/components/Checkbox/Checkbox.template-doc.mdx +2 -2
  7. package/styled-components/cjs/components/Chip/Chip.template-doc.mdx +1 -1
  8. package/styled-components/cjs/components/Combobox/Combobox.template-doc.mdx +14 -14
  9. package/styled-components/cjs/components/Counter/Counter.template-doc.mdx +5 -5
  10. package/styled-components/cjs/components/Divider/Divider.template-docs.mdx +57 -0
  11. package/styled-components/cjs/components/Drawer/Drawer.template-doc.mdx +3 -3
  12. package/styled-components/cjs/components/Dropdown/Dropdown.template-doc.mdx +262 -261
  13. package/styled-components/cjs/components/IconButton/IconButton.template-doc.mdx +156 -0
  14. package/styled-components/cjs/components/Image/Image.template-doc.mdx +1 -1
  15. package/styled-components/cjs/components/Link/Link.template-doc.mdx +4 -4
  16. package/styled-components/cjs/components/Modal/Modal.template-doc.mdx +85 -33
  17. package/styled-components/cjs/components/Notification/Notification.template-doc.mdx +1 -2
  18. package/styled-components/cjs/components/Pagination/Pagination.template-doc.mdx +130 -0
  19. package/styled-components/cjs/components/Popover/Popover.template-doc.mdx +3 -3
  20. package/styled-components/cjs/components/Popup/Popup.template-doc.mdx +70 -74
  21. package/styled-components/cjs/components/Progress/Progress.template-doc.mdx +33 -0
  22. package/styled-components/cjs/components/Radiobox/Radiobox.template-doc.mdx +2 -1
  23. package/styled-components/cjs/components/Segment/Segment.template-doc.mdx +2 -2
  24. package/styled-components/cjs/components/Skeleton/Skeleton.template-doc.mdx +4 -4
  25. package/styled-components/cjs/components/Tabs/Tabs.template-doc.mdx +1 -1
  26. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +2 -2
  27. package/styled-components/cjs/components/Toolbar/Toolbar.template-doc.mdx +120 -0
  28. package/styled-components/es/components/Avatar/Avatar.template-doc.mdx +3 -1
  29. package/styled-components/es/components/Badge/Badge.template-doc.mdx +9 -9
  30. package/styled-components/es/components/Button/Button.template-doc.mdx +8 -9
  31. package/styled-components/es/components/Cell/Cell.template-doc.mdx +68 -0
  32. package/styled-components/es/components/Checkbox/Checkbox.template-doc.mdx +2 -2
  33. package/styled-components/es/components/Chip/Chip.template-doc.mdx +1 -1
  34. package/styled-components/es/components/Combobox/Combobox.template-doc.mdx +14 -14
  35. package/styled-components/es/components/Counter/Counter.template-doc.mdx +5 -5
  36. package/styled-components/es/components/Divider/Divider.template-docs.mdx +57 -0
  37. package/styled-components/es/components/Drawer/Drawer.template-doc.mdx +3 -3
  38. package/styled-components/es/components/Dropdown/Dropdown.template-doc.mdx +262 -261
  39. package/styled-components/es/components/IconButton/IconButton.template-doc.mdx +156 -0
  40. package/styled-components/es/components/Image/Image.template-doc.mdx +1 -1
  41. package/styled-components/es/components/Link/Link.template-doc.mdx +4 -4
  42. package/styled-components/es/components/Modal/Modal.template-doc.mdx +85 -33
  43. package/styled-components/es/components/Notification/Notification.template-doc.mdx +1 -2
  44. package/styled-components/es/components/Pagination/Pagination.template-doc.mdx +130 -0
  45. package/styled-components/es/components/Popover/Popover.template-doc.mdx +3 -3
  46. package/styled-components/es/components/Popup/Popup.template-doc.mdx +70 -74
  47. package/styled-components/es/components/Progress/Progress.template-doc.mdx +33 -0
  48. package/styled-components/es/components/Radiobox/Radiobox.template-doc.mdx +2 -1
  49. package/styled-components/es/components/Segment/Segment.template-doc.mdx +2 -2
  50. package/styled-components/es/components/Skeleton/Skeleton.template-doc.mdx +4 -4
  51. package/styled-components/es/components/Tabs/Tabs.template-doc.mdx +1 -1
  52. package/styled-components/es/components/TextField/TextField.template-doc.mdx +2 -2
  53. package/styled-components/es/components/Toolbar/Toolbar.template-doc.mdx +120 -0
@@ -3,20 +3,21 @@ id: dropdown
3
3
  title: Dropdown
4
4
  ---
5
5
 
6
- import { PropsTable, Description, StorybookLink } from '@site/src/components';
6
+ import { PropsTable, Description } from '@site/src/components';
7
7
  import Tabs from '@theme/Tabs';
8
8
  import TabItem from '@theme/TabItem';
9
9
 
10
10
  # Dropdown
11
11
  Выпадающий многоуровневый список.
12
12
 
13
- <StorybookLink name="Dropdown" />
14
-
15
13
  <Description name="Dropdown" />
16
14
  <PropsTable name="Dropdown" />
17
15
 
18
16
  ## Использование
19
- Обязательным параметром является только массив `items`. Внутри items может быть такой же вложенный массив items. Формат следующий:
17
+ Обязательным параметром является только массив `items`.
18
+ Внутри items может быть такой же вложенный массив items.
19
+
20
+ Формат следующий:
20
21
 
21
22
  ```tsx
22
23
  type Items = Array<{
@@ -68,272 +69,272 @@ type Items = Array<{
68
69
  <TabItem value="default" label="Default" default>
69
70
  ```tsx live
70
71
  import React from 'react';
71
- import { Button, Dropdown } from '@salutejs/plasma-web';
72
-
73
- export function App() {
74
- const items = [
75
- {
76
- value: 'north_america',
77
- label: 'Северная Америка',
78
- },
79
- {
80
- value: 'south_america',
81
- label: 'Южная Америка',
82
- items: [
83
- {
84
- value: 'brazil',
85
- label: 'Бразилия',
86
- items: [
87
- {
88
- value: 'rio_de_janeiro',
89
- label: 'Рио-де-Жанейро',
90
- },
91
- {
92
- value: 'sao_paulo',
93
- label: 'Сан-Паулу',
94
- },
95
- ],
96
- },
97
- {
98
- value: 'argentina',
99
- label: 'Аргентина',
100
- },
101
- ],
102
- },
103
- ];
104
-
105
-
106
- return (
107
- <div style={{ height:"300px" }}>
108
- <Dropdown
109
- items={items}
110
- >
111
- <Button text="Список стран" />
112
- </Dropdown>
113
- </div>
114
- );
115
- }
116
- ```
117
- </TabItem>
118
-
119
- <TabItem value="size" label="Size">
120
- Размер `Dropdown` задается с помощью свойства `size`.<br />
121
- Возможные значения свойства: `"l"`, `"m"`, `"s"` или `"xs"`.
122
-
123
- ```tsx live
124
- import React from 'react';
125
- import { Button, Dropdown } from '@salutejs/plasma-web';
126
-
127
- export function App() {
128
- const items = [
129
- {
130
- value: 'north_america',
131
- label: 'Северная Америка',
132
- },
133
- {
134
- value: 'south_america',
135
- label: 'Южная Америка',
136
- items: [
137
- {
138
- value: 'brazil',
139
- label: 'Бразилия',
140
- items: [
141
- {
142
- value: 'rio_de_janeiro',
143
- label: 'Рио-де-Жанейро',
144
- },
145
- {
146
- value: 'sao_paulo',
147
- label: 'Сан-Паулу',
148
- },
149
- ],
150
- },
151
- {
152
- value: 'argentina',
153
- label: 'Аргентина',
154
- },
155
- ],
156
- },
157
- ];
158
-
159
- return (
160
- <div style={{ height: "300px", display: "flex", gap: "50px" }}>
161
- <Dropdown
162
- items={items}
163
- size="l"
164
- >
165
- <Button text="Список стран" />
166
- </Dropdown>
167
-
168
- <Dropdown
169
- items={items}
170
- size="m" // default
171
- >
172
- <Button text="Список стран" />
173
- </Dropdown>
174
-
175
- <Dropdown
176
- items={items}
177
- size="s"
178
- >
179
- <Button text="Список стран" />
180
- </Dropdown>
181
-
182
- <Dropdown
183
- items={items}
184
- size="xs"
185
- >
186
- <Button text="Список стран" />
187
- </Dropdown>
188
- </div>
189
- );
190
- }
191
- ```
192
- </TabItem>
193
-
194
- <TabItem value="placement" label="Placement">
195
- Параметр `placement` принимает либо строку: `"top"`, `"right"`, `"bottom"`, `"left"`, `"auto"`, либо массив этих же значений, например: `["top", "bottom"]`.<br />
196
- Default value для placement - `"bottom"`.
197
-
198
- ```tsx live
199
- import React from 'react';
200
- import { Button, Dropdown } from '@salutejs/plasma-web';
201
-
202
- export function App() {
203
- const items = [
204
- {
205
- value: 'north_america',
206
- label: 'Северная Америка',
207
- },
208
- {
209
- value: 'south_america',
210
- label: 'Южная Америка',
211
- items: [
212
- {
213
- value: 'brazil',
214
- label: 'Бразилия',
215
- items: [
216
- {
217
- value: 'rio_de_janeiro',
218
- label: 'Рио-де-Жанейро',
219
- },
220
- {
221
- value: 'sao_paulo',
222
- label: 'Сан-Паулу',
223
- },
224
- ],
225
- },
226
- {
227
- value: 'argentina',
228
- label: 'Аргентина',
229
- },
230
- ],
231
- },
232
- ];
233
-
234
- return (
235
- <div style={{ height: "300px", display: "flex", gap: "50px" }}>
236
- <Dropdown
237
- items={items}
238
- >
239
- <Button text="Список стран" />
240
- </Dropdown>
241
-
242
- <Dropdown
243
- items={items}
244
- placement="right"
245
- >
246
- <Button text="Список стран" />
247
- </Dropdown>
248
-
249
- <Dropdown
250
- items={items}
251
- placement="left"
252
- >
253
- <Button text="Список стран" />
254
- </Dropdown>
255
-
256
- <Dropdown
257
- items={items}
258
- placement={['top', 'bottom']}
259
- >
260
- <Button text="Список стран" />
261
- </Dropdown>
262
- </div>
263
- );
264
- }
265
- ```
266
- </TabItem>
267
-
268
- <TabItem value="trigger" label="Trigger">
269
- Параметр `trigger` принимает строку: `"click"` или `"hover"`.<br />
270
- Default value - `"click"`.<br />
271
- Для примера показано значение `"hover"`.
272
-
273
- ```tsx live
274
- import React from 'react';
275
- import { Button, Dropdown } from '@salutejs/plasma-web';
72
+ import { Button, Dropdown } from '@salutejs/{{ package }}';
276
73
 
277
74
  export function App() {
278
- const items = [
279
- {
280
- value: 'north_america',
281
- label: 'Северная Америка',
282
- },
283
- {
284
- value: 'south_america',
285
- label: 'Южная Америка',
286
- items: [
287
- {
288
- value: 'brazil',
289
- label: 'Бразилия',
290
- items: [
291
- {
292
- value: 'rio_de_janeiro',
293
- label: 'Рио-де-Жанейро',
294
- },
295
- {
296
- value: 'sao_paulo',
297
- label: 'Сан-Паулу',
298
- },
299
- ],
300
- },
301
- {
302
- value: 'argentina',
303
- label: 'Аргентина',
304
- },
305
- ],
306
- },
307
- ];
308
-
309
-
310
- return (
311
- <div style={{ height:"300px" }}>
312
- <Dropdown
313
- items={items}
314
- trigger="hover"
315
- >
316
- <Button text="Список стран" />
317
- </Dropdown>
318
- </div>
319
- );
320
- }
321
- ```
322
- </TabItem>
75
+ const items = [
76
+ {
77
+ value: 'north_america',
78
+ label: 'Северная Америка',
79
+ },
80
+ {
81
+ value: 'south_america',
82
+ label: 'Южная Америка',
83
+ items: [
84
+ {
85
+ value: 'brazil',
86
+ label: 'Бразилия',
87
+ items: [
88
+ {
89
+ value: 'rio_de_janeiro',
90
+ label: 'Рио-де-Жанейро',
91
+ },
92
+ {
93
+ value: 'sao_paulo',
94
+ label: 'Сан-Паулу',
95
+ },
96
+ ],
97
+ },
98
+ {
99
+ value: 'argentina',
100
+ label: 'Аргентина',
101
+ },
102
+ ],
103
+ },
104
+ ];
105
+
106
+
107
+ return (
108
+ <div style=\{{ height:"300px" }}>
109
+ <Dropdown
110
+ items={items}
111
+ >
112
+ <Button text="Список стран" />
113
+ </Dropdown>
114
+ </div>
115
+ );
116
+ }
117
+ ```
118
+ </TabItem>
119
+
120
+ <TabItem value="size" label="Size">
121
+ Размер `Dropdown` задается с помощью свойства `size`.<br />
122
+ Возможные значения свойства: `"l"`, `"m"`, `"s"` или `"xs"`.
123
+
124
+ ```tsx live
125
+ import React from 'react';
126
+ import { Button, Dropdown } from '@salutejs/{{ package }}';
127
+
128
+ export function App() {
129
+ const items = [
130
+ {
131
+ value: 'north_america',
132
+ label: 'Северная Америка',
133
+ },
134
+ {
135
+ value: 'south_america',
136
+ label: 'Южная Америка',
137
+ items: [
138
+ {
139
+ value: 'brazil',
140
+ label: 'Бразилия',
141
+ items: [
142
+ {
143
+ value: 'rio_de_janeiro',
144
+ label: 'Рио-де-Жанейро',
145
+ },
146
+ {
147
+ value: 'sao_paulo',
148
+ label: 'Сан-Паулу',
149
+ },
150
+ ],
151
+ },
152
+ {
153
+ value: 'argentina',
154
+ label: 'Аргентина',
155
+ },
156
+ ],
157
+ },
158
+ ];
159
+
160
+ return (
161
+ <div style=\{{ height: "300px", display: "flex", gap: "50px" }}>
162
+ <Dropdown
163
+ items={items}
164
+ size="l"
165
+ >
166
+ <Button text="Список стран" />
167
+ </Dropdown>
168
+
169
+ <Dropdown
170
+ items={items}
171
+ size="m" // default
172
+ >
173
+ <Button text="Список стран" />
174
+ </Dropdown>
175
+
176
+ <Dropdown
177
+ items={items}
178
+ size="s"
179
+ >
180
+ <Button text="Список стран" />
181
+ </Dropdown>
182
+
183
+ <Dropdown
184
+ items={items}
185
+ size="xs"
186
+ >
187
+ <Button text="Список стран" />
188
+ </Dropdown>
189
+ </div>
190
+ );
191
+ }
192
+ ```
193
+ </TabItem>
194
+
195
+ <TabItem value="placement" label="Placement">
196
+ Параметр `placement` принимает либо строку: `"top"`, `"right"`, `"bottom"`, `"left"`, `"auto"`, либо массив этих же значений, например: `["top", "bottom"]`.<br />
197
+ Default value для placement - `"bottom"`.
198
+
199
+ ```tsx live
200
+ import React from 'react';
201
+ import { Button, Dropdown } from '@salutejs/{{ package }}';
202
+
203
+ export function App() {
204
+ const items = [
205
+ {
206
+ value: 'north_america',
207
+ label: 'Северная Америка',
208
+ },
209
+ {
210
+ value: 'south_america',
211
+ label: 'Южная Америка',
212
+ items: [
213
+ {
214
+ value: 'brazil',
215
+ label: 'Бразилия',
216
+ items: [
217
+ {
218
+ value: 'rio_de_janeiro',
219
+ label: 'Рио-де-Жанейро',
220
+ },
221
+ {
222
+ value: 'sao_paulo',
223
+ label: 'Сан-Паулу',
224
+ },
225
+ ],
226
+ },
227
+ {
228
+ value: 'argentina',
229
+ label: 'Аргентина',
230
+ },
231
+ ],
232
+ },
233
+ ];
234
+
235
+ return (
236
+ <div style=\{{ height: "300px", display: "flex", gap: "50px" }}>
237
+ <Dropdown
238
+ items={items}
239
+ >
240
+ <Button text="Список стран" />
241
+ </Dropdown>
242
+
243
+ <Dropdown
244
+ items={items}
245
+ placement="right"
246
+ >
247
+ <Button text="Список стран" />
248
+ </Dropdown>
249
+
250
+ <Dropdown
251
+ items={items}
252
+ placement="left"
253
+ >
254
+ <Button text="Список стран" />
255
+ </Dropdown>
256
+
257
+ <Dropdown
258
+ items={items}
259
+ placement={['top', 'bottom']}
260
+ >
261
+ <Button text="Список стран" />
262
+ </Dropdown>
263
+ </div>
264
+ );
265
+ }
266
+ ```
267
+ </TabItem>
268
+
269
+ <TabItem value="trigger" label="Trigger">
270
+ Параметр `trigger` принимает строку: `"click"` или `"hover"`.<br />
271
+ Default value - `"click"`.<br />
272
+ Для примера показано значение `"hover"`.
273
+
274
+ ```tsx live
275
+ import React from 'react';
276
+ import { Button, Dropdown } from '@salutejs/{{ package }}';
277
+
278
+ export function App() {
279
+ const items = [
280
+ {
281
+ value: 'north_america',
282
+ label: 'Северная Америка',
283
+ },
284
+ {
285
+ value: 'south_america',
286
+ label: 'Южная Америка',
287
+ items: [
288
+ {
289
+ value: 'brazil',
290
+ label: 'Бразилия',
291
+ items: [
292
+ {
293
+ value: 'rio_de_janeiro',
294
+ label: 'Рио-де-Жанейро',
295
+ },
296
+ {
297
+ value: 'sao_paulo',
298
+ label: 'Сан-Паулу',
299
+ },
300
+ ],
301
+ },
302
+ {
303
+ value: 'argentina',
304
+ label: 'Аргентина',
305
+ },
306
+ ],
307
+ },
308
+ ];
309
+
310
+
311
+ return (
312
+ <div style=\{{ height:"300px" }}>
313
+ <Dropdown
314
+ items={items}
315
+ trigger="hover"
316
+ >
317
+ <Button text="Список стран" />
318
+ </Dropdown>
319
+ </div>
320
+ );
321
+ }
322
+ ```
323
+ </TabItem>
323
324
  </Tabs>
324
325
 
325
326
  ## Клавиатурная навигация
326
327
 
327
328
  Данный компонент соответствует требования W3C: [Combobox](https://www.w3.org/WAI/ARIA/apg/patterns/combobox/) и частично [TreeView](https://www.w3.org/WAI/ARIA/apg/patterns/treeview/).
328
329
 
329
- - `Tab` - закрывает дропдаун. Перемещает фокус на следующий элемент на странице;
330
- - `Enter` - открывает/закрывает дропдаун. Если на элементе - выбирает его;
331
- - `Space` - открывает/закрывает дропдаун. Если на элементе - выбирает его;
332
- - `Home` - открывает дропдаун и перемещает фокус на первый элемент;
333
- - `End` - открывает дропдаун и перемещает фокус на последний элемент;
330
+ - `Tab` - закрывает dropdown. Перемещает фокус на следующий элемент на странице;
331
+ - `Enter` - открывает/закрывает dropdown. Если на элементе - выбирает его;
332
+ - `Space` - открывает/закрывает dropdown. Если на элементе - выбирает его;
333
+ - `Home` - открывает dropdown и перемещает фокус на первый элемент;
334
+ - `End` - открывает dropdown и перемещает фокус на последний элемент;
334
335
  - `PageUp` - перемещает фокус на 10 элементов выше либо в начало списка;
335
336
  - `PageDown` - перемещает фокус на 10 элементов ниже либо в конце списка;
336
- - `ArrowUp` - открывает дропдаун и перемещает фокус на первый элемент. Перемещает фокус на один элемент выше;
337
- - `ArrowDown` - открывает дропдаун и перемещает фокус на первый элемент. Перемещает фокус на один элемент ниже;
337
+ - `ArrowUp` - открывает dropdown и перемещает фокус на первый элемент. Перемещает фокус на один элемент выше;
338
+ - `ArrowDown` - открывает dropdown и перемещает фокус на первый элемент. Перемещает фокус на один элемент ниже;
338
339
  - `ArrowRight` - если фокус на элементе вложенного списка - открывает его и перемещает фокус на первый элемент;
339
340
  - `ArrowLeft` - закрывает текущий список и перемещает фокус на предыдущий;