@salutejs/plasma-new-hope 0.321.1-canary.1931.14570122322.0 → 0.321.1-canary.1940.14630676791.0
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/emotion/cjs/components/Accordion/Accordion.template-doc.mdx +71 -99
- package/emotion/cjs/components/Autocomplete/Autocomplete.template-doc.mdx +454 -523
- package/emotion/cjs/components/Checkbox/Checkbox.template-doc.mdx +3 -3
- package/emotion/cjs/components/Combobox/Combobox.template-doc.mdx +27 -58
- package/emotion/cjs/components/DatePicker/DatePicker.template-doc.mdx +0 -5
- package/emotion/cjs/components/Dropdown/Dropdown.template-doc.mdx +10 -10
- package/emotion/cjs/components/Flow/Flow.template-doc.mdx +2 -2
- package/emotion/cjs/components/Notification/Notification.template-doc.mdx +1 -10
- package/emotion/cjs/components/NumberFormat/NumberFormat.template-doc.mdx +4 -4
- package/emotion/cjs/components/Radiobox/Radiobox.template-doc.mdx +11 -10
- package/emotion/cjs/components/Range/Range.template-doc.mdx +1 -5
- package/emotion/cjs/components/Segment/Segment.template-doc.mdx +3 -3
- package/emotion/cjs/components/Select/Select.template-doc.mdx +27 -27
- package/emotion/cjs/components/Slider/Slider.template-doc.mdx +2 -2
- package/emotion/cjs/components/Switch/Switch.template-doc.mdx +3 -3
- package/emotion/cjs/components/Table/Table.template-doc.mdx +2 -2
- package/emotion/cjs/components/Tabs/Tabs.template-doc.mdx +7 -11
- package/emotion/cjs/components/TextArea/TextArea.template-doc.mdx +2 -9
- package/emotion/cjs/components/TextField/TextField.template-doc.mdx +32 -117
- package/emotion/cjs/components/Toast/Toast.template-doc.mdx +2 -48
- package/emotion/cjs/components/Tooltip/Tooltip.template-doc.mdx +4 -19
- package/emotion/cjs/components/Tree/Tree.template-doc.mdx +1 -0
- package/emotion/es/components/Accordion/Accordion.template-doc.mdx +71 -99
- package/emotion/es/components/Autocomplete/Autocomplete.template-doc.mdx +454 -523
- package/emotion/es/components/Checkbox/Checkbox.template-doc.mdx +3 -3
- package/emotion/es/components/Combobox/Combobox.template-doc.mdx +27 -58
- package/emotion/es/components/DatePicker/DatePicker.template-doc.mdx +0 -5
- package/emotion/es/components/Dropdown/Dropdown.template-doc.mdx +10 -10
- package/emotion/es/components/Flow/Flow.template-doc.mdx +2 -2
- package/emotion/es/components/Notification/Notification.template-doc.mdx +1 -10
- package/emotion/es/components/NumberFormat/NumberFormat.template-doc.mdx +4 -4
- package/emotion/es/components/Radiobox/Radiobox.template-doc.mdx +11 -10
- package/emotion/es/components/Range/Range.template-doc.mdx +1 -5
- package/emotion/es/components/Segment/Segment.template-doc.mdx +3 -3
- package/emotion/es/components/Select/Select.template-doc.mdx +27 -27
- package/emotion/es/components/Slider/Slider.template-doc.mdx +2 -2
- package/emotion/es/components/Switch/Switch.template-doc.mdx +3 -3
- package/emotion/es/components/Table/Table.template-doc.mdx +2 -2
- package/emotion/es/components/Tabs/Tabs.template-doc.mdx +7 -11
- package/emotion/es/components/TextArea/TextArea.template-doc.mdx +2 -9
- package/emotion/es/components/TextField/TextField.template-doc.mdx +32 -117
- package/emotion/es/components/Toast/Toast.template-doc.mdx +2 -48
- package/emotion/es/components/Tooltip/Tooltip.template-doc.mdx +4 -19
- package/emotion/es/components/Tree/Tree.template-doc.mdx +1 -0
- package/package.json +4 -4
- package/styled-components/cjs/components/Accordion/Accordion.template-doc.mdx +71 -99
- package/styled-components/cjs/components/Autocomplete/Autocomplete.template-doc.mdx +454 -523
- package/styled-components/cjs/components/Checkbox/Checkbox.template-doc.mdx +3 -3
- package/styled-components/cjs/components/Combobox/Combobox.template-doc.mdx +27 -58
- package/styled-components/cjs/components/DatePicker/DatePicker.template-doc.mdx +0 -5
- package/styled-components/cjs/components/Dropdown/Dropdown.template-doc.mdx +10 -10
- package/styled-components/cjs/components/Flow/Flow.template-doc.mdx +2 -2
- package/styled-components/cjs/components/Notification/Notification.template-doc.mdx +1 -10
- package/styled-components/cjs/components/NumberFormat/NumberFormat.template-doc.mdx +4 -4
- package/styled-components/cjs/components/Radiobox/Radiobox.template-doc.mdx +11 -10
- package/styled-components/cjs/components/Range/Range.template-doc.mdx +1 -5
- package/styled-components/cjs/components/Segment/Segment.template-doc.mdx +3 -3
- package/styled-components/cjs/components/Select/Select.template-doc.mdx +27 -27
- package/styled-components/cjs/components/Slider/Slider.template-doc.mdx +2 -2
- package/styled-components/cjs/components/Switch/Switch.template-doc.mdx +3 -3
- package/styled-components/cjs/components/Table/Table.template-doc.mdx +2 -2
- package/styled-components/cjs/components/Tabs/Tabs.template-doc.mdx +7 -11
- package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +2 -9
- package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +32 -117
- package/styled-components/cjs/components/Toast/Toast.template-doc.mdx +2 -48
- package/styled-components/cjs/components/Tooltip/Tooltip.template-doc.mdx +4 -19
- package/styled-components/cjs/components/Tree/Tree.template-doc.mdx +1 -0
- package/styled-components/es/components/Accordion/Accordion.template-doc.mdx +71 -99
- package/styled-components/es/components/Autocomplete/Autocomplete.template-doc.mdx +454 -523
- package/styled-components/es/components/Checkbox/Checkbox.template-doc.mdx +3 -3
- package/styled-components/es/components/Combobox/Combobox.template-doc.mdx +27 -58
- package/styled-components/es/components/DatePicker/DatePicker.template-doc.mdx +0 -5
- package/styled-components/es/components/Dropdown/Dropdown.template-doc.mdx +10 -10
- package/styled-components/es/components/Flow/Flow.template-doc.mdx +2 -2
- package/styled-components/es/components/Notification/Notification.template-doc.mdx +1 -10
- package/styled-components/es/components/NumberFormat/NumberFormat.template-doc.mdx +4 -4
- package/styled-components/es/components/Radiobox/Radiobox.template-doc.mdx +11 -10
- package/styled-components/es/components/Range/Range.template-doc.mdx +1 -5
- package/styled-components/es/components/Segment/Segment.template-doc.mdx +3 -3
- package/styled-components/es/components/Select/Select.template-doc.mdx +27 -27
- package/styled-components/es/components/Slider/Slider.template-doc.mdx +2 -2
- package/styled-components/es/components/Switch/Switch.template-doc.mdx +3 -3
- package/styled-components/es/components/Table/Table.template-doc.mdx +2 -2
- package/styled-components/es/components/Tabs/Tabs.template-doc.mdx +7 -11
- package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +2 -9
- package/styled-components/es/components/TextField/TextField.template-doc.mdx +32 -117
- package/styled-components/es/components/Toast/Toast.template-doc.mdx +2 -48
- package/styled-components/es/components/Tooltip/Tooltip.template-doc.mdx +4 -19
- package/styled-components/es/components/Tree/Tree.template-doc.mdx +1 -0
- /package/emotion/cjs/components/Combobox/ComboboxOld/{Combobox.doc.mdx → Combobox.template-doc.mdx} +0 -0
- /package/emotion/es/components/Combobox/ComboboxOld/{Combobox.doc.mdx → Combobox.template-doc.mdx} +0 -0
- /package/styled-components/cjs/components/Combobox/ComboboxOld/{Combobox.doc.mdx → Combobox.template-doc.mdx} +0 -0
- /package/styled-components/es/components/Combobox/ComboboxOld/{Combobox.doc.mdx → Combobox.template-doc.mdx} +0 -0
@@ -7,7 +7,7 @@ import { PropsTable, Description } from '@site/src/components';
|
|
7
7
|
|
8
8
|
# Switch
|
9
9
|
<Description name="Switch" />
|
10
|
-
<PropsTable name="Switch"
|
10
|
+
<PropsTable name="Switch" />
|
11
11
|
|
12
12
|
## Использование
|
13
13
|
Компонент `Switch` может содержать лейбл.
|
@@ -30,7 +30,7 @@ export function App() {
|
|
30
30
|
|
31
31
|
```tsx live
|
32
32
|
import React from 'react';
|
33
|
-
import {
|
33
|
+
import { Button } from '@salutejs/{{ package }}';
|
34
34
|
|
35
35
|
export function App() {
|
36
36
|
return (
|
@@ -47,7 +47,7 @@ export function App() {
|
|
47
47
|
|
48
48
|
```tsx live
|
49
49
|
import React from 'react';
|
50
|
-
import {
|
50
|
+
import { Button } from '@salutejs/{{ package }}';
|
51
51
|
|
52
52
|
export function App() {
|
53
53
|
return (
|
@@ -492,7 +492,7 @@ export type TableColumnData = {
|
|
492
492
|
];
|
493
493
|
|
494
494
|
return (
|
495
|
-
<div style
|
495
|
+
<div style={{ display: "block" }}>
|
496
496
|
<ButtonGroup size="xs" isCommonButtonStyles={false}>
|
497
497
|
<Button text="Очистить выбранные" view="warning" size="xs" onClick={clearSelected} />
|
498
498
|
<Button text="Убрать сортировку" view="warning" size="xs" onClick={clearSorted} />
|
@@ -504,7 +504,7 @@ export type TableColumnData = {
|
|
504
504
|
<br />
|
505
505
|
<br />
|
506
506
|
|
507
|
-
<div style
|
507
|
+
<div style={{ overflow: "scroll" }}>
|
508
508
|
<Table
|
509
509
|
data={data}
|
510
510
|
columns={columns}
|
@@ -5,10 +5,6 @@ title: Tabs
|
|
5
5
|
|
6
6
|
import { PropsTable, Description } from '@site/src/components';
|
7
7
|
|
8
|
-
# Tabs
|
9
|
-
Набор компонентов для создания вкладок.
|
10
|
-
Структура для вкладок похожа на структуру маркированных списков.
|
11
|
-
|
12
8
|
## Tabs
|
13
9
|
|
14
10
|
<Description name="Tabs" />
|
@@ -20,7 +16,7 @@ import { PropsTable, Description } from '@site/src/components';
|
|
20
16
|
<PropsTable name="TabItem" />
|
21
17
|
|
22
18
|
:::caution Взаимоисключающие свойства
|
23
|
-
Свойство `value` - это значение
|
19
|
+
Свойство `value` - это значение таба. Оно отображается справа от основного текста.<br/>
|
24
20
|
`value` и `contentRight` взаимоисключающие: если передано одно, второе передать нельзя.
|
25
21
|
:::
|
26
22
|
|
@@ -65,8 +61,8 @@ export function App() {
|
|
65
61
|
}
|
66
62
|
```
|
67
63
|
|
68
|
-
### Расположение
|
69
|
-
|
64
|
+
### Расположение табов
|
65
|
+
Табы могут быть горизонтальными (по умолчанию) и вертикальными. За это отвечает свойство `orientation`.
|
70
66
|
|
71
67
|
```tsx live
|
72
68
|
import React, { useState } from 'react';
|
@@ -101,11 +97,11 @@ export function App() {
|
|
101
97
|
```
|
102
98
|
|
103
99
|
### Пример с прокруткой
|
104
|
-
При выборе
|
100
|
+
При выборе таба происходит прокрутка до выбранного таба.
|
105
101
|
|
106
102
|
```tsx live
|
107
103
|
import React, { useState } from 'react';
|
108
|
-
import { Tabs, TabItem, Button } from '@salutejs/
|
104
|
+
import { Tabs, TabItem, Button } from '@salutejs/plasma-web';
|
109
105
|
import { IconClock } from '@salutejs/plasma-icons';
|
110
106
|
|
111
107
|
export function App() {
|
@@ -193,8 +189,8 @@ export function App() {
|
|
193
189
|
|
194
190
|
### Подключение клавиатурной навигации
|
195
191
|
Для этого необходимо дополнительно прокинуть свойства `index, itemIndex, onIndexChange`.<br/>
|
196
|
-
Для горизонтальных
|
197
|
-
Для вертикальных
|
192
|
+
Для горизонтальных табов: клавиши ArrowLeft, ArrowRight, Home, End для навигации по вкладкам.<br/>
|
193
|
+
Для вертикальных табов: клавиши ArrowUp, ArrowDown, Home, End для навигации по вкладкам.
|
198
194
|
|
199
195
|
```tsx live
|
200
196
|
import React, { useState } from 'react';
|
@@ -161,18 +161,11 @@ export function App() {
|
|
161
161
|
|
162
162
|
|
163
163
|
### Обязательность поля
|
164
|
-
|
165
|
-
:::tip
|
166
|
-
Наличие индикатора регулируется свойством `hasRequiredIndicator`.
|
167
|
-
:::
|
168
|
-
|
169
|
-
Обязательность поля задаётся с помощью свойств `required` и `requiredPlacement`.
|
170
|
-
|
171
|
-
Где `requiredPlacement` отвечает за выравнивание и принимает значения `"left"` и `"right"`:
|
164
|
+
Обязательность поля задаётся с помощью свойств `required` и `requiredPlacement`. Где `requiredPlacement` отвечает за выравнивание и принимает значения `"left"` и `"right"`:
|
172
165
|
|
173
166
|
```tsx live
|
174
167
|
import React from 'react';
|
175
|
-
import {
|
168
|
+
import { TextField } from '@salutejs/{{ package }}';
|
176
169
|
|
177
170
|
export function App() {
|
178
171
|
return (
|
@@ -37,7 +37,7 @@ export function App() {
|
|
37
37
|
```
|
38
38
|
|
39
39
|
### Размер поля
|
40
|
-
Размер поля задаётся с помощью свойства `size`. Свойство принимает значения `"l"
|
40
|
+
Размер поля задаётся с помощью свойства `size`. Свойство принимает значения `"l"` и `"m"`:
|
41
41
|
|
42
42
|
```tsx live
|
43
43
|
import React from 'react';
|
@@ -53,8 +53,8 @@ export function App() {
|
|
53
53
|
/>
|
54
54
|
<TextField
|
55
55
|
placeholder="Размер"
|
56
|
-
size="
|
57
|
-
defaultValue="
|
56
|
+
size="m"
|
57
|
+
defaultValue="M48"
|
58
58
|
/>
|
59
59
|
</div>
|
60
60
|
);
|
@@ -62,9 +62,9 @@ export function App() {
|
|
62
62
|
```
|
63
63
|
|
64
64
|
### Статус поля
|
65
|
-
Статус поля задается с помощью свойства `
|
66
|
-
|
67
|
-
|
65
|
+
Статус поля задается с помощью свойства `status`.
|
66
|
+
Возможные значения свойства: `success`, `warning` и `error`.
|
67
|
+
На отображение TextField так же влияют свойства `clear` и `hasDivider`:
|
68
68
|
|
69
69
|
```tsx live
|
70
70
|
import React from 'react';
|
@@ -75,61 +75,46 @@ export function App() {
|
|
75
75
|
<div style=\{{ display: "flex", flexDirection: "column", gap: "1rem" }}>
|
76
76
|
<div style=\{{ display: "flex", gap: "0.5rem" }}>
|
77
77
|
<TextField
|
78
|
-
placeholder="Статус
|
79
|
-
|
78
|
+
placeholder="Статус"
|
79
|
+
status="success"
|
80
80
|
size="m"
|
81
|
-
defaultValue="
|
81
|
+
defaultValue="Успех"
|
82
82
|
/>
|
83
83
|
<TextField
|
84
|
-
placeholder="Статус
|
85
|
-
|
84
|
+
placeholder="Статус"
|
85
|
+
status="warning"
|
86
86
|
size="m"
|
87
|
-
defaultValue="
|
87
|
+
defaultValue="Предупреждение"
|
88
88
|
/>
|
89
89
|
<TextField
|
90
|
-
placeholder="Статус
|
91
|
-
|
90
|
+
placeholder="Статус"
|
91
|
+
status="error"
|
92
92
|
size="m"
|
93
|
-
defaultValue="
|
93
|
+
defaultValue="Ошибка"
|
94
94
|
/>
|
95
95
|
</div>
|
96
|
-
</div>
|
97
|
-
);
|
98
|
-
}
|
99
|
-
```
|
100
|
-
|
101
|
-
### Вариация Clear
|
102
|
-
На отображение компонента так же влияют свойства `clear` и `hasDivider`:
|
103
|
-
|
104
|
-
```tsx live
|
105
|
-
import React from 'react';
|
106
|
-
import { TextField } from '@salutejs/{{ package }}';
|
107
|
-
|
108
|
-
export function App() {
|
109
|
-
return (
|
110
|
-
<div style=\{{ display: "flex", flexDirection: "column", gap: "1rem" }}>
|
111
96
|
<div style=\{{ display: "flex", gap: "0.5rem" }}>
|
112
97
|
<TextField
|
113
|
-
placeholder="Статус
|
114
|
-
|
98
|
+
placeholder="Статус"
|
99
|
+
status="success"
|
115
100
|
size="m"
|
116
|
-
defaultValue="
|
101
|
+
defaultValue="Успех"
|
117
102
|
clear
|
118
103
|
hasDivider
|
119
104
|
/>
|
120
105
|
<TextField
|
121
|
-
placeholder="Статус
|
122
|
-
|
106
|
+
placeholder="Статус"
|
107
|
+
status="warning"
|
123
108
|
size="m"
|
124
|
-
defaultValue="
|
109
|
+
defaultValue="Предупреждение"
|
125
110
|
clear
|
126
111
|
hasDivider
|
127
112
|
/>
|
128
113
|
<TextField
|
129
|
-
placeholder="Статус
|
130
|
-
|
114
|
+
placeholder="Статус"
|
115
|
+
status="error"
|
131
116
|
size="m"
|
132
|
-
defaultValue="
|
117
|
+
defaultValue="Ошибка"
|
133
118
|
clear
|
134
119
|
hasDivider
|
135
120
|
/>
|
@@ -140,11 +125,8 @@ export function App() {
|
|
140
125
|
```
|
141
126
|
|
142
127
|
### Подсказка
|
143
|
-
Для вывода
|
144
|
-
|
145
|
-
- `leftHelper` внизу слева под компонентом
|
146
|
-
- `titleCaption` сверху справа над компонентом
|
147
|
-
- `hintText` для подсказки в виде `Tooltip`
|
128
|
+
Для вывода подсказки снизу от поля используйте свойство `helperText`,
|
129
|
+
для подсказки в виде Tooltip - `hintText`, для подсказки сверху справа - `titleCaption`:
|
148
130
|
|
149
131
|
```tsx live
|
150
132
|
import React from 'react';
|
@@ -156,7 +138,7 @@ export function App() {
|
|
156
138
|
<TextField
|
157
139
|
placeholder="Введите значение"
|
158
140
|
defaultValue="Значение"
|
159
|
-
|
141
|
+
helperText="Подсказка снизу"
|
160
142
|
titleCaption="Подсказка сверху"
|
161
143
|
hintText="Подсказка в виде Tooltip"
|
162
144
|
hintView="default"
|
@@ -169,9 +151,7 @@ export function App() {
|
|
169
151
|
|
170
152
|
### Режим ввода
|
171
153
|
С помощью свойства `enumerationType` можно вводить элементы как теги. Свойство `chipType` изменяет внешний вид чипа.
|
172
|
-
|
173
|
-
С помощью `chipView` можно задать общий вид `Chip`. Валидация `Chip` происходит с помощью функции `chipValidator`.
|
174
|
-
|
154
|
+
С помощью `chipView` можно задать общий вид Chip. Валидация Chip происходит с помощью функции chipValidator.
|
175
155
|
По нажатию Enter, после ввода нужного текста, он преобразуется в Chip.
|
176
156
|
|
177
157
|
```tsx live
|
@@ -188,7 +168,7 @@ export function App() {
|
|
188
168
|
defaultValue="Значение"
|
189
169
|
size="l"
|
190
170
|
enumerationType="chip"
|
191
|
-
|
171
|
+
helperText="Подсказка снизу"
|
192
172
|
chips={["Значение 1", "Значение 2"]}
|
193
173
|
chipView="positive"
|
194
174
|
chipValidator={validateChip}
|
@@ -199,7 +179,7 @@ export function App() {
|
|
199
179
|
defaultValue="Значение"
|
200
180
|
size="l"
|
201
181
|
enumerationType="chip"
|
202
|
-
|
182
|
+
helperText="Подсказка снизу"
|
203
183
|
chips={["Значение 1"]}
|
204
184
|
chipType="text"
|
205
185
|
/>
|
@@ -208,15 +188,9 @@ export function App() {
|
|
208
188
|
}
|
209
189
|
```
|
210
190
|
|
211
|
-
### Обязательность поля
|
212
|
-
|
213
|
-
:::tip
|
214
|
-
Наличие индикатора регулируется свойством `hasRequiredIndicator`.
|
215
|
-
:::
|
216
|
-
|
217
|
-
Обязательность поля задаётся с помощью свойств `required` и `requiredPlacement`.
|
218
191
|
|
219
|
-
|
192
|
+
### Обязательность поля
|
193
|
+
Обязательность поля задаётся с помощью свойств `required` и `requiredPlacement`. Где `requiredPlacement` отвечает за выравнивание и принимает значения `"left"` и `"right"`:
|
220
194
|
|
221
195
|
```tsx live
|
222
196
|
import React from 'react';
|
@@ -235,66 +209,7 @@ export function App() {
|
|
235
209
|
required
|
236
210
|
requiredPlacement="right"
|
237
211
|
/>
|
238
|
-
<TextField
|
239
|
-
placeholder="Введите значение"
|
240
|
-
label="Поле обязательное, но не имеет визуального индикатора"
|
241
|
-
required
|
242
|
-
requiredPlacement="right"
|
243
|
-
hasRequiredIndicator={false}
|
244
|
-
/>
|
245
212
|
</div>
|
246
213
|
);
|
247
214
|
}
|
248
215
|
```
|
249
|
-
|
250
|
-
## Примеры
|
251
|
-
|
252
|
-
### TextField + очистка поля
|
253
|
-
|
254
|
-
```tsx live
|
255
|
-
import React, { useState } from "react";
|
256
|
-
import { TextField } from "@salutejs/{{ package }}";
|
257
|
-
import { IconClose } from "@salutejs/plasma-icons";
|
258
|
-
|
259
|
-
export function App() {
|
260
|
-
const [value, setValue] = useState("");
|
261
|
-
|
262
|
-
const ControlClear = (props: { onClick: () => void }) => {
|
263
|
-
return (
|
264
|
-
<div {...props}>
|
265
|
-
<IconClose size="xs" color="inherit" />
|
266
|
-
</div>
|
267
|
-
);
|
268
|
-
};
|
269
|
-
|
270
|
-
return (
|
271
|
-
<div>
|
272
|
-
<TextField
|
273
|
-
placeholder="Положение иконки"
|
274
|
-
value={value}
|
275
|
-
onChange={(e) => {
|
276
|
-
setValue(e.target.value);
|
277
|
-
}}
|
278
|
-
contentRight={
|
279
|
-
<ControlClear
|
280
|
-
onClick={() => {
|
281
|
-
setValue("");
|
282
|
-
}}
|
283
|
-
/>
|
284
|
-
}
|
285
|
-
/>
|
286
|
-
</div>
|
287
|
-
);
|
288
|
-
}
|
289
|
-
```
|
290
|
-
|
291
|
-
## Клавиатурная навигация
|
292
|
-
|
293
|
-
Данный компонент может полностью управляться с помощью клавиатуры, используя следующие клавиши:
|
294
|
-
- по нажатию `Tab` фокусируемся на input
|
295
|
-
- если enumeratinType=`chip` после ввода текста, по нажатию `Enter`, input очистится и появится Chip
|
296
|
-
- если введен текст в input по нажатию `ArrowLeft` или `ArrowRight` каретка передвигается по тексту
|
297
|
-
- при достижении левой границы текста или отсутствии текста в input, при нажатии `Backspace` удаляем последний Chip, если он есть
|
298
|
-
- при достижении левой границы текста или отсутствии текста в input, при нажатии `ArrowLeft` переключаемся на последний Chip, если он есть
|
299
|
-
- при фокусе на Chip работает переключение фокуса на другие Chip по нажатию `ArrowLeft`, `ArrowRight`; если же Chip крайний правый, при нажатии `ArrowRight` фокус переходит на input
|
300
|
-
|
@@ -9,11 +9,6 @@ import { PropsTable, Description } from '@site/src/components';
|
|
9
9
|
<Description name="Toast" />
|
10
10
|
<PropsTable name="Toast" />
|
11
11
|
|
12
|
-
:::caution Устаревшие значения свойства `view`
|
13
|
-
Значения `dark` и `light` являются устаревшими.<br/>
|
14
|
-
Для изменения фона `Toast` используйте компонент `ViewContainer` (см. <a href="#пример-использования">пример использования</a>)
|
15
|
-
:::
|
16
|
-
|
17
12
|
## Система подсказок
|
18
13
|
Существует готовая система текстовых подсказок, для использования которой необходимо обернуть приложение в `ToastProvider`:
|
19
14
|
|
@@ -125,6 +120,7 @@ export interface ShowToastArgs {
|
|
125
120
|
```
|
126
121
|
|
127
122
|
## Пример использования
|
123
|
+
|
128
124
|
Для изменения цветовой темы компонента `Toast` используйте свойство `view` компонента `ViewContainer`.
|
129
125
|
|
130
126
|
```jsx live
|
@@ -134,7 +130,7 @@ import { useToast, ToastProvider, Button, ViewContainer } from '@salutejs/{{ pac
|
|
134
130
|
export function App() {
|
135
131
|
|
136
132
|
const ToastExample = () => {
|
137
|
-
const { showToast } = useToast()
|
133
|
+
const { showToast, hideToast } = useToast()
|
138
134
|
|
139
135
|
const onShow = () => {}
|
140
136
|
const onHide = () => {}
|
@@ -172,45 +168,3 @@ export function App() {
|
|
172
168
|
)
|
173
169
|
}
|
174
170
|
```
|
175
|
-
|
176
|
-
## Вид иконки
|
177
|
-
Значения `positive` и `negative` свойства `view` изменяют цвет иконки.<br/>
|
178
|
-
Чтобы цвет применился, установите в иконке свойство `color` со значением `inherit`:
|
179
|
-
|
180
|
-
```jsx live
|
181
|
-
import React from 'react'
|
182
|
-
import { IconBell } from '@salutejs/plasma-icons';
|
183
|
-
import { useToast, ToastProvider, Button } from '@salutejs/{{ package }}'
|
184
|
-
|
185
|
-
export function App() {
|
186
|
-
const Icon = () => <IconBell color="inherit" size="xs" />;
|
187
|
-
|
188
|
-
const ToastExample = () => {
|
189
|
-
const { showToast } = useToast()
|
190
|
-
|
191
|
-
const onShow = () => {}
|
192
|
-
const onHide = () => {}
|
193
|
-
const toastData = {
|
194
|
-
contentLeft: <Icon />,
|
195
|
-
text: 'Подсказка c иконкой',
|
196
|
-
position: 'bottom',
|
197
|
-
role: 'status',
|
198
|
-
hasClose: true,
|
199
|
-
fade: false,
|
200
|
-
size: 'm',
|
201
|
-
view: 'positive',
|
202
|
-
timeout: 3000,
|
203
|
-
onShow,
|
204
|
-
onHide
|
205
|
-
}
|
206
|
-
|
207
|
-
return <Button onClick={() => showToast(toastData)} text="Вызвать подсказку" />
|
208
|
-
}
|
209
|
-
|
210
|
-
return (
|
211
|
-
<ToastProvider>
|
212
|
-
<ToastExample />
|
213
|
-
</ToastProvider>
|
214
|
-
)
|
215
|
-
}
|
216
|
-
```
|
@@ -17,28 +17,13 @@ import { PropsTable, Description } from '@site/src/components';
|
|
17
17
|
|
18
18
|
```tsx live
|
19
19
|
import React from 'react';
|
20
|
-
import { Tooltip
|
20
|
+
import { Tooltip } from '@salutejs/{{ package }}';
|
21
|
+
import { IconApps } from '@salutejs/plasma-icons';
|
21
22
|
|
22
23
|
export function App() {
|
23
24
|
return (
|
24
|
-
<div style=\{{
|
25
|
-
<Tooltip
|
26
|
-
target={<Tooltip target={<Button>Btn</Button>} placement="left" opened text="left" />}
|
27
|
-
placement="top-start"
|
28
|
-
opened
|
29
|
-
text="top-start"
|
30
|
-
view="default"
|
31
|
-
/>
|
32
|
-
<Tooltip target={<Button>Btn</Button>} placement="top" opened text="top" />
|
33
|
-
<Tooltip
|
34
|
-
target={<Tooltip target={<Button>Btn</Button>} placement="right" opened text="right" />}
|
35
|
-
placement="top-end"
|
36
|
-
opened
|
37
|
-
text="top-end"
|
38
|
-
/>
|
39
|
-
<Tooltip target={<Button>Btn</Button>} placement="bottom-start" opened text="bottom-start" />
|
40
|
-
<Tooltip target={<Button>Btn</Button>} placement="bottom" opened text="bottom" />
|
41
|
-
<Tooltip target={<Button>Btn</Button>} placement="bottom-end" opened text="bottom-end" />
|
25
|
+
<div style=\{{marginLeft: '100px',marginBottom: '35px'}}>
|
26
|
+
<Tooltip target={( <IconApps />)} text="Высокое качество воспроизведения" placement="bottom" hasArrow opened />
|
42
27
|
</div>
|
43
28
|
);
|
44
29
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.321.1-canary.
|
3
|
+
"version": "0.321.1-canary.1940.14630676791.0",
|
4
4
|
"description": "Salute Design System blueprint",
|
5
5
|
"main": "cjs/index.js",
|
6
6
|
"module": "es/index.js",
|
@@ -80,8 +80,8 @@
|
|
80
80
|
"@rollup/plugin-babel": "^6.0.4",
|
81
81
|
"@rollup/plugin-commonjs": "^25.0.4",
|
82
82
|
"@rollup/plugin-node-resolve": "^15.1.0",
|
83
|
-
"@salutejs/plasma-sb-utils": "0.196.0",
|
84
|
-
"@salutejs/plasma-themes": "0.32.0",
|
83
|
+
"@salutejs/plasma-sb-utils": "0.196.1-canary.1940.14630676791.0",
|
84
|
+
"@salutejs/plasma-themes": "0.32.1-canary.1940.14630676791.0",
|
85
85
|
"@storybook/addon-docs": "8.6.12",
|
86
86
|
"@storybook/addon-essentials": "8.6.12",
|
87
87
|
"@storybook/manager-api": "8.6.12",
|
@@ -137,5 +137,5 @@
|
|
137
137
|
"sideEffects": [
|
138
138
|
"*.css"
|
139
139
|
],
|
140
|
-
"gitHead": "
|
140
|
+
"gitHead": "05df8b9f22d1ae523a6071251e0ae0a80a471566"
|
141
141
|
}
|