@skbkontur/react-ui 5.3.1 → 5.3.2

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.
Files changed (135) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +1 -6
  3. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  4. package/cjs/components/Button/Button.md +0 -261
  5. package/cjs/components/Calendar/Calendar.md +0 -276
  6. package/cjs/components/Calendar/CalendarDay.md +0 -70
  7. package/cjs/components/Center/Center.md +0 -26
  8. package/cjs/components/Checkbox/Checkbox.md +0 -171
  9. package/cjs/components/ComboBox/ComboBox.md +0 -574
  10. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  11. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  12. package/cjs/components/DateInput/DateInput.md +0 -111
  13. package/cjs/components/DatePicker/DatePicker.md +0 -368
  14. package/cjs/components/Dropdown/Dropdown.md +0 -45
  15. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  16. package/cjs/components/FileUploader/FileUploader.md +0 -131
  17. package/cjs/components/FxInput/FxInput.md +0 -31
  18. package/cjs/components/Gapped/Gapped.md +0 -44
  19. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  20. package/cjs/components/Group/Group.md +0 -19
  21. package/cjs/components/Hint/Hint.md +0 -86
  22. package/cjs/components/Input/Input.md +0 -86
  23. package/cjs/components/Kebab/Kebab.md +0 -306
  24. package/cjs/components/Link/Link.md +0 -182
  25. package/cjs/components/Loader/Loader.md +0 -33
  26. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  27. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  28. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  29. package/cjs/components/MenuItem/MenuItem.md +0 -139
  30. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  31. package/cjs/components/MiniModal/MiniModal.md +0 -231
  32. package/cjs/components/Modal/Modal.md +0 -56
  33. package/cjs/components/Paging/Paging.md +0 -57
  34. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  35. package/cjs/components/Radio/Radio.md +0 -57
  36. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  37. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  38. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  39. package/cjs/components/Select/Select.md +0 -113
  40. package/cjs/components/SidePage/SidePage.md +0 -65
  41. package/cjs/components/SingleToast/SingleToast.md +0 -36
  42. package/cjs/components/Spinner/Spinner.md +0 -36
  43. package/cjs/components/Sticky/Sticky.md +0 -28
  44. package/cjs/components/Switcher/Switcher.md +0 -111
  45. package/cjs/components/Tabs/Tab.md +0 -73
  46. package/cjs/components/Tabs/Tabs.md +0 -54
  47. package/cjs/components/Textarea/Textarea.md +0 -58
  48. package/cjs/components/Toast/Toast.md +0 -69
  49. package/cjs/components/Toggle/Toggle.md +0 -110
  50. package/cjs/components/Token/Token.md +0 -48
  51. package/cjs/components/TokenInput/TokenInput.md +0 -277
  52. package/cjs/components/Tooltip/Tooltip.md +0 -322
  53. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  54. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  55. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  56. package/cjs/internal/DataTids/DataTids.js +0 -50
  57. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  58. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  59. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  60. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  61. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  62. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  63. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  64. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  65. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  66. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  67. package/cjs/lib/theming/ThemeContext.md +0 -265
  68. package/components/Autocomplete/Autocomplete.md +0 -113
  69. package/components/Button/Button.md +0 -261
  70. package/components/Calendar/Calendar.md +0 -276
  71. package/components/Calendar/CalendarDay.md +0 -70
  72. package/components/Center/Center.md +0 -26
  73. package/components/Checkbox/Checkbox.md +0 -171
  74. package/components/ComboBox/ComboBox.md +0 -574
  75. package/components/CurrencyInput/CurrencyInput.md +0 -39
  76. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  77. package/components/DateInput/DateInput.md +0 -111
  78. package/components/DatePicker/DatePicker.md +0 -368
  79. package/components/Dropdown/Dropdown.md +0 -45
  80. package/components/DropdownMenu/DropdownMenu.md +0 -290
  81. package/components/FileUploader/FileUploader.md +0 -131
  82. package/components/FxInput/FxInput.md +0 -31
  83. package/components/Gapped/Gapped.md +0 -44
  84. package/components/GlobalLoader/GlobalLoader.md +0 -97
  85. package/components/Group/Group.md +0 -19
  86. package/components/Hint/Hint.md +0 -86
  87. package/components/Input/Input.md +0 -86
  88. package/components/Kebab/Kebab.md +0 -306
  89. package/components/Link/Link.md +0 -182
  90. package/components/Loader/Loader.md +0 -33
  91. package/components/MaskedInput/MaskedInput.md +0 -114
  92. package/components/MenuFooter/MenuFooter.md +0 -27
  93. package/components/MenuHeader/MenuHeader.md +0 -35
  94. package/components/MenuItem/MenuItem.md +0 -139
  95. package/components/MenuSeparator/MenuSeparator.md +0 -14
  96. package/components/MiniModal/MiniModal.md +0 -231
  97. package/components/Modal/Modal.md +0 -56
  98. package/components/Paging/Paging.md +0 -57
  99. package/components/PasswordInput/PasswordInput.md +0 -29
  100. package/components/Radio/Radio.md +0 -57
  101. package/components/RadioGroup/RadioGroup.md +0 -44
  102. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  103. package/components/ScrollContainer/ScrollContainer.md +0 -224
  104. package/components/Select/Select.md +0 -113
  105. package/components/SidePage/SidePage.md +0 -65
  106. package/components/SingleToast/SingleToast.md +0 -36
  107. package/components/Spinner/Spinner.md +0 -36
  108. package/components/Sticky/Sticky.md +0 -28
  109. package/components/Switcher/Switcher.md +0 -111
  110. package/components/Tabs/Tab.md +0 -73
  111. package/components/Tabs/Tabs.md +0 -54
  112. package/components/Textarea/Textarea.md +0 -58
  113. package/components/Toast/Toast.md +0 -69
  114. package/components/Toggle/Toggle.md +0 -110
  115. package/components/Token/Token.md +0 -48
  116. package/components/TokenInput/TokenInput.md +0 -277
  117. package/components/Tooltip/Tooltip.md +0 -322
  118. package/components/TooltipMenu/TooltipMenu.md +0 -241
  119. package/internal/DataTids/DATATIDS.md +0 -12
  120. package/internal/DataTids/DataTids/DataTids.js +0 -69
  121. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  122. package/internal/DataTids/DataTids/package.json +0 -6
  123. package/internal/DataTids/DataTids.d.ts +0 -12
  124. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  125. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  126. package/internal/DataTids/DataTids.styles/package.json +0 -6
  127. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  128. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  129. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  130. package/internal/DataTids/componentsDataTids/package.json +0 -6
  131. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  132. package/internal/ThemePlayground/Playground.md +0 -7
  133. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  134. package/lib/locale/LOCALECONTEXT.md +0 -222
  135. package/lib/theming/ThemeContext.md +0 -265
@@ -1,86 +0,0 @@
1
- ### Базовый пример
2
-
3
- ```jsx harmony
4
- <Hint text="Подсказка">Базовая</Hint>
5
- ```
6
-
7
- ### Иконка
8
-
9
- ```jsx harmony
10
- <Hint text="Редактирование">
11
- <svg width="16" height="16" viewBox="0 0 16 16">
12
- <path
13
- fillRule="evenodd"
14
- d="M13 12V12.998H8V12H13ZM3 13V11L9 4.99999L11 6.99999L5 13H3ZM13 5L11.5 6.5L9.5 4.5L11 3L13 5Z"
15
- clipRule="evenodd"
16
- />
17
- </svg>
18
- </Hint>
19
- ```
20
-
21
- ### Сторона всплытия
22
-
23
- ```jsx harmony
24
- <Hint pos={"left"} text="Подсказка слева">Всегда всплывает слева</Hint>
25
- ```
26
-
27
- ### Ограниченная ширина
28
- ```jsx harmony
29
- <Hint
30
- maxWidth="150px"
31
- text="Очень много текста, рассказывающего про этот очень непонятный элемент"
32
- >
33
- Очень непонятный элемент
34
- </Hint>
35
- ```
36
-
37
- ### Открытие подсказки кнопкой
38
-
39
- ```jsx harmony
40
- import { Button, Gapped } from '@skbkontur/react-ui';
41
-
42
- const [isOpen, setIsOpen] = React.useState(false);
43
-
44
- <Gapped>
45
- <Hint opened={isOpen} manual text="Подсказка">Управляемая удалённо</Hint>
46
- <Button onClick={() => setIsOpen(!isOpen)}>
47
- {isOpen ? "Закрыть подсказку" : "Открыть подсказку"}
48
- </Button>
49
- </Gapped>
50
- ```
51
-
52
- ### Всплытие без анимации
53
-
54
- ```jsx harmony
55
- <Hint disableAnimations text={"Нет анимации :("}>Есть анимация?</Hint>
56
- ```
57
-
58
- ### Встроеная обёртка
59
-
60
- Подсказка должна отображаться даже на отключённых компонентах. Из коробки это работает только с контролами `react-ui`.
61
-
62
- Нативные элементы, поддерживающие атрибут `disabled`, отключают необходимые события мыши.
63
- В подобных случаях следуют использовать проп `useWrapper`:
64
-
65
- ```jsx harmony
66
- <Hint useWrapper text="Подсказа всё равно отображается">
67
- <button disabled>native button</button>
68
- </Hint>
69
- ```
70
-
71
- ### Кастомная обертка
72
- Т.к. встроённая обёртка это `<span>` без стилей, то она может работать некорректно в определённых ситуациях.
73
- В таких случаях стоит использовать собственную обётку:
74
-
75
- ```jsx harmony
76
- <>
77
- <Hint useWrapper text="Подсказа">
78
- <button disabled style={{ height: 40 }}>useWrapper prop</button>
79
- </Hint>
80
- <Hint text="Подсказа">
81
- <span style={{ display: 'inline-block' }}>
82
- <button disabled style={{ height: 40 }}>custom wrapper</button>
83
- </span>
84
- </Hint>
85
- </>
86
- ```
@@ -1,86 +0,0 @@
1
- ### Базовый пример
2
- ```jsx harmony
3
-
4
- <Input />;
5
- ```
6
-
7
- ### Иконка
8
- ```jsx harmony
9
- import { SearchLoupeIcon16Regular } from '@skbkontur/icons/icons/SearchLoupeIcon/SearchLoupeIcon16Regular';
10
-
11
- <Input leftIcon={<SearchLoupeIcon16Regular />} />;
12
- ```
13
-
14
- ### Очистка значения
15
- Очистить значение в `Input`'е можно только с помощью пустой строки
16
-
17
- ```jsx harmony
18
- import { Button, Group } from '@skbkontur/react-ui';
19
-
20
- const [value, setValue] = React.useState('Значение');
21
-
22
- <Group>
23
- <Input value={value} onValueChange={setValue} />
24
- <Button onClick={() => setValue('')}>Очистить</Button>
25
- </Group>
26
- ```
27
-
28
- ### Префикс
29
-
30
- ```jsx harmony
31
- import { SearchLoupeIcon16Regular } from '@skbkontur/icons/icons/SearchLoupeIcon/SearchLoupeIcon16Regular';
32
-
33
- <Input
34
- width={400}
35
- prefix="https://kontur.ru/search?query="
36
- rightIcon={<SearchLoupeIcon16Regular />}
37
- />;
38
- ```
39
-
40
- ### type
41
-
42
- ```jsx harmony
43
- import { Gapped, Input, Tooltip } from '@skbkontur/react-ui';
44
-
45
- <Gapped vertical gap={20}>
46
- <Gapped gap={20}>
47
- <Input type="password" />
48
- <span>type = "password"</span>
49
- </Gapped>
50
-
51
- <Gapped gap={20}>
52
- <Input type="number" />
53
- <span>type = "number"</span>
54
- </Gapped>
55
-
56
- <Gapped gap={20}>
57
- <Input type="tel" />
58
- <span>type = "tel"</span>
59
- </Gapped>
60
-
61
- <Gapped gap={20}>
62
- <Input type="search" />
63
- <span>type = "search"</span>
64
- </Gapped>
65
-
66
- <Gapped gap={20}>
67
- <Input type="time" />
68
- <span>type = "time"</span>
69
- </Gapped>
70
-
71
- <Gapped gap={20}>
72
- <Input type="date" />
73
- <span>type = "date"</span>
74
- </Gapped>
75
-
76
- <Gapped gap={20}>
77
- <Input type="url" />
78
- <span>type = "url"</span>
79
- </Gapped>
80
-
81
- <Gapped gap={20}>
82
- <Input type="email" />
83
- <span>type = "email"</span>
84
- </Gapped>
85
- </Gapped>
86
- ```
@@ -1,306 +0,0 @@
1
- ### Базовый пример
2
-
3
- ```jsx harmony
4
- import { ToolPencilLineIcon16Regular } from '@skbkontur/icons/icons/ToolPencilLineIcon/ToolPencilLineIcon16Regular';
5
- import { TrashCanIcon16Regular } from '@skbkontur/icons/icons/TrashCanIcon/TrashCanIcon16Regular';
6
- import { Gapped, MenuItem, Toast } from '@skbkontur/react-ui';
7
-
8
- let style = {
9
- alignItems: 'center',
10
- border: '1px solid #dfdede',
11
- display: 'flex',
12
- justifyContent: 'space-between',
13
- padding: '0 20px',
14
- width: 250,
15
- };
16
-
17
- let Card = ({ name, post }) => (
18
- <div style={style}>
19
- <div>
20
- <h3>{name}</h3>
21
- <p style={{ color: 'gray' }}>{post}</p>
22
- </div>
23
-
24
- <Kebab size="large">
25
- <MenuItem icon={<ToolPencilLineIcon16Regular />} onClick={() => Toast.push('Отредактировано')}>
26
- Редактировать
27
- </MenuItem>
28
- <MenuItem icon={<TrashCanIcon16Regular />} onClick={() => Toast.push('Удалено')}>
29
- Удалить
30
- </MenuItem>
31
- </Kebab>
32
- </div>
33
- );
34
-
35
- <Gapped gap={-1} wrap>
36
- <Gapped gap={-1}>
37
- <Card name="Баранова Анастасия" post="SEO GazPro" />
38
- <Card name="Слуцкий Антон" post="Junior Front-Back Developer" />
39
- </Gapped>
40
- <Gapped gap={-1}>
41
- <Card name="Иванов Иван" post="Head Ivan Co" />
42
- <Card name="Сашка Егоров" post="KungFu Master" />
43
- </Gapped>
44
- </Gapped>;
45
- ```
46
-
47
- ### Размер
48
-
49
- ```jsx harmony
50
- import { ToolPencilLineIcon16Regular } from '@skbkontur/icons/icons/ToolPencilLineIcon/ToolPencilLineIcon16Regular';
51
- import { TrashCanIcon16Regular } from '@skbkontur/icons/icons/TrashCanIcon/TrashCanIcon16Regular';
52
- import { Gapped, MenuItem, Toast} from '@skbkontur/react-ui';
53
-
54
- let style = {
55
- alignItems: 'center',
56
- border: '1px solid #dfdede',
57
- display: 'flex',
58
- justifyContent: 'space-between',
59
- padding: '0 20px',
60
- width: 230,
61
- };
62
-
63
- let Card = ({ title, size }) => (
64
- <div style={style}>
65
- <div>
66
- <h3>{title}</h3>
67
- </div>
68
-
69
- <Kebab size={size}>
70
- <MenuItem icon={<ToolPencilLineIcon16Regular />} onClick={() => Toast.push('Отредактировано')}>
71
- Редактировать
72
- </MenuItem>
73
- <MenuItem icon={<TrashCanIcon16Regular />} onClick={() => Toast.push('Удалено')}>
74
- Удалить
75
- </MenuItem>
76
- </Kebab>
77
- </div>
78
- );
79
-
80
- <Gapped>
81
- <Card title="Маленький кебаб" size="small" />
82
- <Card title="Средний кебаб" size="medium" />
83
- <Card title="Большой кебаб" size="large" />
84
- </Gapped>
85
- ```
86
-
87
- ### Кебаб-меню с выпадашкой слева
88
-
89
- ```jsx harmony
90
- import { ToolPencilLineIcon16Regular } from '@skbkontur/icons/icons/ToolPencilLineIcon/ToolPencilLineIcon16Regular';
91
- import { TrashCanIcon16Regular } from '@skbkontur/icons/icons/TrashCanIcon/TrashCanIcon16Regular';
92
- import { MenuItem, Toast } from '@skbkontur/react-ui';
93
-
94
- let style = {
95
- alignItems: 'center',
96
- border: '1px solid #dfdede',
97
- display: 'flex',
98
- justifyContent: 'space-between',
99
- padding: '0 20px',
100
- width: 250,
101
- };
102
-
103
-
104
- let Card = ({ title }) => (
105
- <div style={style}>
106
- <div>
107
- <h3>{title}</h3>
108
- </div>
109
-
110
- <Kebab positions={['left middle']} size="large">
111
- <MenuItem icon={<ToolPencilLineIcon16Regular />} onClick={() => Toast.push('Отредактировано')}>
112
- Редактировать
113
- </MenuItem>
114
- <MenuItem icon={<TrashCanIcon16Regular />} onClick={() => Toast.push('Удалено')}>
115
- Удалить
116
- </MenuItem>
117
- </Kebab>
118
- </div>
119
- );
120
-
121
- <Card title="С выпадашкой слева" />
122
- ```
123
-
124
- ### Кастомное действие при открытии
125
-
126
- ```jsx harmony
127
- import { ToolPencilLineIcon16Regular } from '@skbkontur/icons/icons/ToolPencilLineIcon/ToolPencilLineIcon16Regular';
128
- import { TrashCanIcon16Regular } from '@skbkontur/icons/icons/TrashCanIcon/TrashCanIcon16Regular';
129
- import { MenuItem, Toast } from '@skbkontur/react-ui';
130
-
131
- let style = {
132
- alignItems: 'center',
133
- border: '1px solid #dfdede',
134
- display: 'flex',
135
- justifyContent: 'space-between',
136
- padding: '0 20px',
137
- width: 250,
138
- };
139
-
140
- let Card = ({ title }) => (
141
- <div style={style}>
142
- <div>
143
- <h3>{title}</h3>
144
- </div>
145
-
146
- <Kebab
147
- onOpen={() => Toast.push('Кебаб-меню открылось!')}
148
- size="large"
149
- >
150
- <MenuItem icon={<ToolPencilLineIcon16Regular />} onClick={() => Toast.push('Отредактировано')}>
151
- Редактировать
152
- </MenuItem>
153
- <MenuItem icon={<TrashCanIcon16Regular />} onClick={() => Toast.push('Удалено')}>
154
- Удалить
155
- </MenuItem>
156
- </Kebab>
157
- </div>
158
- );
159
-
160
- <Card title="С кастомным действием" />
161
- ```
162
-
163
- ### Иконка и автовыравнивание
164
-
165
- ```jsx harmony
166
- import { Button, MenuHeader, MenuItem, MenuSeparator, Kebab } from '@skbkontur/react-ui';
167
- import { CheckAIcon16Regular } from '@skbkontur/icons/icons/CheckAIcon/CheckAIcon16Regular';
168
-
169
- <Kebab>
170
- <MenuHeader>MenuHeader</MenuHeader>
171
- <MenuItem icon={<CheckAIcon16Regular />}>MenuItem1</MenuItem>
172
- <MenuItem icon={<CheckAIcon16Regular />}>MenuItem2</MenuItem>
173
- <MenuItem>MenuItem3</MenuItem>
174
- </Kebab>;
175
- ```
176
-
177
- ### Иконка и отключенное автовыравнивание
178
-
179
- ```jsx harmony
180
- import { Button, MenuHeader, MenuItem, MenuSeparator, Kebab } from '@skbkontur/react-ui';
181
- import { CheckAIcon16Regular } from '@skbkontur/icons/icons/CheckAIcon/CheckAIcon16Regular';
182
-
183
- <Kebab preventIconsOffset>
184
- <MenuHeader>MenuHeader</MenuHeader>
185
- <MenuItem icon={<CheckAIcon16Regular />}>MenuItem1</MenuItem>
186
- <MenuItem icon={<CheckAIcon16Regular />}>MenuItem2</MenuItem>
187
- <MenuItem>MenuItem3</MenuItem>
188
- </Kebab>
189
- ```
190
-
191
- ### Отключенное кебаб-меню
192
-
193
- ```jsx harmony
194
- import { ToolPencilLineIcon16Regular } from '@skbkontur/icons/icons/ToolPencilLineIcon/ToolPencilLineIcon16Regular';
195
- import { TrashCanIcon16Regular } from '@skbkontur/icons/icons/TrashCanIcon/TrashCanIcon16Regular';
196
- import { MenuItem, Toast } from '@skbkontur/react-ui';
197
-
198
- let style = {
199
- alignItems: 'center',
200
- border: '1px solid #dfdede',
201
- display: 'flex',
202
- justifyContent: 'space-between',
203
- padding: '0 20px',
204
- width: 250,
205
- };
206
-
207
- let Card = ({ title }) => (
208
- <div style={style}>
209
- <div>
210
- <h3>{title}</h3>
211
- </div>
212
-
213
- <Kebab disabled size="large">
214
- <MenuItem icon={<ToolPencilLineIcon16Regular />} onClick={() => Toast.push('Отредактировано')}>
215
- Редактировать
216
- </MenuItem>
217
- <MenuItem icon={<TrashCanIcon16Regular />} onClick={() => Toast.push('Удалено')}>
218
- Удалить
219
- </MenuItem>
220
- </Kebab>
221
- </div>
222
- );
223
-
224
- <Card title="Не нажимается :(" />
225
- ```
226
-
227
- ### Отключенная анимация
228
-
229
- ```jsx harmony
230
- import { ToolPencilLineIcon16Regular } from '@skbkontur/icons/icons/ToolPencilLineIcon/ToolPencilLineIcon16Regular';
231
- import { TrashCanIcon16Regular } from '@skbkontur/icons/icons/TrashCanIcon/TrashCanIcon16Regular';
232
- import { MenuItem, Toast } from '@skbkontur/react-ui';
233
-
234
- let style = {
235
- alignItems: 'center',
236
- border: '1px solid #dfdede',
237
- display: 'flex',
238
- justifyContent: 'space-between',
239
- padding: '0 20px',
240
- width: 250,
241
- };
242
-
243
- let Card = ({ title }) => (
244
- <div style={style}>
245
- <div>
246
- <h3>{title}</h3>
247
- </div>
248
-
249
- <Kebab disableAnimations size="large">
250
- <MenuItem icon={<ToolPencilLineIcon16Regular />} onClick={() => Toast.push('Отредактировано')}>
251
- Редактировать
252
- </MenuItem>
253
- <MenuItem icon={<TrashCanIcon16Regular />} onClick={() => Toast.push('Удалено')}>
254
- Удалить
255
- </MenuItem>
256
- </Kebab>
257
- </div>
258
- );
259
-
260
- <Card title="Без анимации" />
261
- ```
262
-
263
- ### Высота
264
-
265
- ```jsx harmony
266
- import { ToolPencilLineIcon16Regular } from '@skbkontur/icons/icons/ToolPencilLineIcon/ToolPencilLineIcon16Regular';
267
- import { TrashCanIcon16Regular } from '@skbkontur/icons/icons/TrashCanIcon/TrashCanIcon16Regular';
268
- import { MenuItem, Toast } from '@skbkontur/react-ui';
269
-
270
- let style = {
271
- alignItems: 'center',
272
- border: '1px solid #dfdede',
273
- display: 'flex',
274
- justifyContent: 'space-between',
275
- padding: '0 20px',
276
- width: 250,
277
- };
278
-
279
- let Card = ({ title }) => (
280
- <div style={style}>
281
- <div>
282
- <h3>{title}</h3>
283
- </div>
284
-
285
- <Kebab
286
- menuMaxHeight="100px"
287
- size="large"
288
- >
289
- <MenuItem>
290
- Действие
291
- </MenuItem>
292
- <MenuItem>
293
- И ещё одно
294
- </MenuItem>
295
- <MenuItem>
296
- Ещё действие
297
- </MenuItem>
298
- <MenuItem>
299
- И последнее действие
300
- </MenuItem>
301
- </Kebab>
302
- </div>
303
- );
304
-
305
- <Card title="С заданной высотой" />
306
- ```
@@ -1,182 +0,0 @@
1
- ### Базовый пример
2
-
3
- ```jsx harmony
4
- <Link href="https://kontur.ru" target="_blank">Обычная ссылка</Link>
5
- ```
6
-
7
- ### Корневой элемент
8
- Cсылка может рендерить кнопку в качестве корневого элемента, c помощью пропа `component`. Cсылка принимает все пропы переданного в `component` компонента.
9
- Рекомендуется к использованию вместо кнопки с `use=link`, если нужна кнопка с визуалом ссылки.
10
-
11
- ```jsx harmony
12
- import { Link } from '@skbkontur/react-ui';
13
-
14
- <Link component='button'>Кнопка, но выглядит как ссылка</Link>
15
- ```
16
-
17
- ### Проп `component`
18
- С помощью пропа `component`, ссылка может рендерить компонент `Link` из `react router` в качестве корневого элемента.
19
-
20
- ```jsx static
21
- import { Link } from '@skbkontur/react-ui';
22
- import { Link as RouterLink, BrowserRouter } from 'react-router-dom';
23
-
24
- <BrowserRouter>
25
- <Link to='/dashboard' component={RouterLink}>react-router-dom link</Link>
26
- </BrowserRouter>
27
- ```
28
-
29
- ### Стили и disabled
30
-
31
- ```jsx harmony
32
- import { Gapped } from '@skbkontur/react-ui';
33
-
34
- <Gapped gap={15}>
35
- <Link>Обычная ссылка</Link>
36
- <Link use="success">Успешная ссылка</Link>
37
- <Link use="danger">Опасная ссылка</Link>
38
- <Link use="grayed">Работающая ссылка серого цвета</Link>
39
- <Link disabled>Отключенная ссылка</Link>
40
- </Gapped>;
41
- ```
42
-
43
- ### Иконка
44
-
45
- ```jsx harmony
46
- import { Gapped } from '@skbkontur/react-ui';
47
- import { CheckAIcon16Light } from '@skbkontur/icons/CheckAIcon16Light';
48
-
49
- <Gapped gap={20}>
50
- <Link icon={<CheckAIcon16Light />}>Ссылка с иконкой слева</Link>
51
- <Link icon={<CheckAIcon16Light />} rightIcon={<CheckAIcon16Light />}>Ссылка с двумя иконками</Link>
52
- <Link rightIcon={<CheckAIcon16Light />}>Ссылка с иконкой справа</Link>
53
- </Gapped>
54
- ```
55
-
56
- ### Ссылки, ведущие на внешние ресурсы
57
-
58
- _Примечание_:
59
-
60
- Если в контрол `Link` передана ссылка, ведущая на внешний ресурс, контрол `Link` неявно добавит атрибут `rel` со значением необходимым для внешних ссылок, при этом не трогая атрибут `target`.
61
-
62
- Открытие ссылки в новой вкладке остаётся на усмотрение разработчика.
63
-
64
- ```jsx harmony
65
- import { Gapped } from '@skbkontur/react-ui';
66
-
67
- <Gapped>
68
- <Link href="https://www.youtube.com/">
69
- Откроется <span style={{ color: "#e3071c" }}>в этой</span> вкладке
70
- </Link>
71
- <Link target="_blank" href="https://www.youtube.com/">
72
- Откроется <span style={{ color: "#3f9726" }}>в новой</span> вкладке
73
- </Link>
74
- </Gapped>
75
- ```
76
-
77
- ### Состояние загрузки
78
-
79
- **Поведение**: если у ссылки есть иконка, она заменяется на спиннер, когда иконки две заменяется только левая.
80
-
81
- ```jsx harmony
82
- import { Gapped, Button } from '@skbkontur/react-ui';
83
- import { CheckAIcon16Light } from '@skbkontur/icons/CheckAIcon16Light';
84
-
85
- const [isLoading, setIsLoading] = React.useState(false);
86
-
87
- <Gapped vertical gap={15}>
88
- <Button onClick={() => setIsLoading(!isLoading)}>{isLoading ? "Прекратить загрузку!" : "Начать загрузку!"}</Button>
89
- <Gapped gap={20}>
90
- <Link loading={isLoading} icon={<CheckAIcon16Light />}>С иконкой слева</Link>
91
- <Link loading={isLoading} icon={<CheckAIcon16Light />} rightIcon={<CheckAIcon16Light />}>С двумя иконками</Link>
92
- <Link loading={isLoading} rightIcon={<CheckAIcon16Light />}>С иконкой справа</Link>
93
- <Link loading={isLoading}>Без иконки</Link>
94
- </Gapped>
95
- </Gapped>
96
- ```
97
-
98
- ### Кастомное действие при нажатии
99
-
100
- ```jsx harmony
101
- import { Toast } from '@skbkontur/react-ui';
102
-
103
- <Link onClick={() => Toast.push("Ты нажал на ссылку!")}>Ссылка с кастомным действием</Link>
104
- ```
105
-
106
- ### Проп `theme`
107
-
108
- ```jsx harmony
109
- import { Link, Gapped } from '@skbkontur/react-ui';
110
-
111
- <Gapped>
112
- <Link theme={{linkColor: '#C00000'}}>Ok</Link>
113
- <Link>Ok</Link>
114
- </Gapped>
115
- ```
116
-
117
-
118
- ### Кастомизация ссылки
119
-
120
- ```jsx harmony
121
- import { Toast, Button } from "@skbkontur/react-ui";
122
- import { CopyIcon16Regular } from "@skbkontur/icons/CopyIcon16Regular"
123
-
124
- const textDecorationStyles = {
125
- linkTextUnderlineOffset: '1px'
126
- }
127
-
128
- const underlineOnHoverStyles = {
129
- linkTextDecorationColor: 'transparent',
130
- }
131
-
132
- const differentColorStyles = {
133
- linkColor: 'blue',
134
- linkHoverColor: 'blue',
135
- linkActiveColor: 'blue',
136
- }
137
-
138
- const stringify = (styles) => {
139
- return `${Object.entries(styles).map(([key, value]) => `${key}: "${value}"`).join(", ")}`
140
- }
141
-
142
- const copyStyles = (styles) => {
143
- navigator.clipboard.writeText(stringify(styles));
144
- Toast.push('Copied');
145
- }
146
-
147
- const tableStyle = {
148
- borderCollapse: 'collapse',
149
- width: '100%',
150
- };
151
-
152
- const tdStyle = {
153
- border: '1px solid',
154
- padding: '8px',
155
- };
156
-
157
- const renderExampleRow = (title, styles) => {
158
- return (
159
- <tr>
160
- <td style={tdStyle}>{title}</td>
161
- <td style={tdStyle}><Link theme={styles}>Link</Link></td>
162
- <td style={tdStyle}>
163
- <div style={{display: 'flex'}}>
164
- <div style={{width: '80%', whiteSpace: 'pre-line'}}>{stringify(styles).replace(/, /g, '\n')}</div>
165
- <Button icon={<CopyIcon16Regular />} use={'text'} onClick={() => copyStyles(styles)}/>
166
- </div>
167
- </td>
168
- </tr>
169
- )
170
- }
171
-
172
- <table style={tableStyle}>
173
- <tr style={{textAlign: 'left'}}>
174
- <th style={tdStyle}></th>
175
- <th style={tdStyle}>Пример</th>
176
- <th style={tdStyle}>Переменные темы</th>
177
- </tr>
178
- {renderExampleRow('Ссылка с подчеркиванием без отступа', textDecorationStyles)}
179
- {renderExampleRow('Ссылка с подчеркиванием при наведении', underlineOnHoverStyles)}
180
- {renderExampleRow('Изменение цвета ссылки', differentColorStyles)}
181
- </table>
182
- ```
@@ -1,33 +0,0 @@
1
- ### Базовый пример
2
- ```jsx harmony
3
- import { Button } from '@skbkontur/react-ui';
4
-
5
- const [isActive, setIsActive] = React.useState(true);
6
-
7
- <>
8
- <Button onClick={() => setIsActive(!isActive)}>{isActive ? 'Остановить загрузку' : 'Продолжить загрузку'}</Button>
9
- <Loader type="big" active={isActive}>
10
- <h1>Yeah, and if you were the pope they'd be all, "Straighten your pope hat." And "Put on your good vestments."</h1>
11
- <p>
12
- No, I'm Santa Claus! I guess if you want children beaten, you have to do it yourself. We're also Santa Claus! Leela,
13
- Bender, we're going grave robbing.
14
- </p>
15
- <p>
16
- Are you crazy? I can't swallow that. Large bet on myself in round one. Hey, whatcha watching?
17
- <strong> Moving along… I guess if you want children beaten, you have to do it yourself.</strong>
18
- <em>It's okay, Bender.</em> I like cooking too.
19
- </p>
20
- <h2>Oh, I think we should just stay friends.</h2>
21
- <p>
22
- No argument here. And when we woke up, we had these bodies. You guys go on without me! I'm going to go… look for
23
- more stuff to steal! Oh, how awful. Did he at least die painlessly? …To shreds, you say. Well, how is his wife
24
- holding up? …To shreds, you say.
25
- </p>
26
- <ol>
27
- <li>No! The kind with looting and maybe starting a few fires!</li>
28
- <li>You are the last hope of the universe.</li>
29
- <li>Hey, guess what you're accessories to.</li>
30
- </ol>
31
- </Loader>
32
- </>
33
- ```