@skbkontur/react-ui 0.0.0-a5ba2462c5 → 0.0.0-a6f09fbded

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 (246) hide show
  1. package/CHANGELOG.md +0 -30
  2. package/cjs/components/Autocomplete/Autocomplete.md +113 -0
  3. package/cjs/components/Button/Button.md +261 -0
  4. package/cjs/components/Calendar/Calendar.md +276 -0
  5. package/cjs/components/Calendar/CalendarDay.md +70 -0
  6. package/cjs/components/Center/Center.md +26 -0
  7. package/cjs/components/Checkbox/Checkbox.md +171 -0
  8. package/cjs/components/ComboBox/ComboBox.d.ts +11 -5
  9. package/cjs/components/ComboBox/ComboBox.js +10 -1
  10. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  11. package/cjs/components/ComboBox/ComboBox.md +574 -0
  12. package/cjs/components/CurrencyInput/CurrencyInput.md +39 -0
  13. package/cjs/components/CurrencyLabel/CurrencyLabel.js +2 -2
  14. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  15. package/cjs/components/CurrencyLabel/CurrencyLabel.md +29 -0
  16. package/cjs/components/DateInput/DateInput.md +111 -0
  17. package/cjs/components/DatePicker/DatePicker.md +368 -0
  18. package/cjs/components/Dropdown/Dropdown.md +45 -0
  19. package/cjs/components/DropdownMenu/DropdownMenu.md +290 -0
  20. package/cjs/components/FileUploader/FileUploader.md +131 -0
  21. package/cjs/components/FxInput/FxInput.md +31 -0
  22. package/cjs/components/Gapped/Gapped.md +44 -0
  23. package/cjs/components/GlobalLoader/GlobalLoader.md +97 -0
  24. package/cjs/components/Group/Group.md +19 -0
  25. package/cjs/components/Hint/Hint.md +86 -0
  26. package/cjs/components/Input/Input.md +86 -0
  27. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  28. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  29. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  30. package/cjs/components/Kebab/Kebab.md +306 -0
  31. package/cjs/components/Link/Link.md +182 -0
  32. package/cjs/components/Loader/Loader.md +33 -0
  33. package/cjs/components/MaskedInput/MaskedInput.d.ts +0 -8
  34. package/cjs/components/MaskedInput/MaskedInput.js +2 -23
  35. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  36. package/cjs/components/MaskedInput/MaskedInput.md +114 -0
  37. package/cjs/components/MenuFooter/MenuFooter.md +27 -0
  38. package/cjs/components/MenuHeader/MenuHeader.md +35 -0
  39. package/cjs/components/MenuItem/MenuItem.md +139 -0
  40. package/cjs/components/MenuSeparator/MenuSeparator.md +14 -0
  41. package/cjs/components/MiniModal/MiniModal.md +231 -0
  42. package/cjs/components/Modal/Modal.md +56 -0
  43. package/cjs/components/Paging/Paging.md +57 -0
  44. package/cjs/components/PasswordInput/PasswordInput.md +29 -0
  45. package/cjs/components/Radio/Radio.md +57 -0
  46. package/cjs/components/RadioGroup/RadioGroup.md +44 -0
  47. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +75 -0
  48. package/cjs/components/ScrollContainer/ScrollContainer.md +224 -0
  49. package/cjs/components/Select/Select.md +113 -0
  50. package/cjs/components/SidePage/SidePage.md +65 -0
  51. package/cjs/components/SingleToast/SingleToast.md +36 -0
  52. package/cjs/components/Spinner/Spinner.md +36 -0
  53. package/cjs/components/Sticky/Sticky.md +28 -0
  54. package/cjs/components/Switcher/Switcher.md +111 -0
  55. package/cjs/components/Tabs/Tab.md +73 -0
  56. package/cjs/components/Tabs/Tabs.md +54 -0
  57. package/cjs/components/Textarea/Textarea.d.ts +6 -1
  58. package/cjs/components/Textarea/Textarea.js +16 -3
  59. package/cjs/components/Textarea/Textarea.js.map +1 -1
  60. package/cjs/components/Textarea/Textarea.md +58 -0
  61. package/cjs/components/Textarea/Textarea.styles.js +2 -1
  62. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  63. package/cjs/components/Toast/Toast.md +69 -0
  64. package/cjs/components/Toggle/Toggle.md +110 -0
  65. package/cjs/components/Token/Token.md +48 -0
  66. package/cjs/components/TokenInput/TokenInput.md +277 -0
  67. package/cjs/components/Tooltip/Tooltip.d.ts +1 -1
  68. package/cjs/components/Tooltip/Tooltip.js +6 -8
  69. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  70. package/cjs/components/Tooltip/Tooltip.md +322 -0
  71. package/cjs/components/TooltipMenu/TooltipMenu.md +241 -0
  72. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  73. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  74. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  75. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  76. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  77. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  78. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +7 -6
  79. package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -7
  80. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  81. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +6 -5
  82. package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -3
  83. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  84. package/cjs/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  85. package/cjs/internal/CustomComboBox/getComboBoxTheme.js +10 -7
  86. package/cjs/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  87. package/cjs/internal/DataTids/DATATIDS.md +12 -0
  88. package/cjs/internal/DataTids/DataTids.d.ts +12 -0
  89. package/cjs/internal/DataTids/DataTids.js +50 -0
  90. package/cjs/internal/DataTids/DataTids.js.map +1 -0
  91. package/cjs/internal/DataTids/DataTids.styles.d.ts +7 -0
  92. package/cjs/internal/DataTids/DataTids.styles.js +42 -0
  93. package/cjs/internal/DataTids/DataTids.styles.js.map +1 -0
  94. package/cjs/internal/DataTids/componentsDataTids.d.ts +5 -0
  95. package/cjs/internal/DataTids/componentsDataTids.js +15 -0
  96. package/cjs/internal/DataTids/componentsDataTids.js.map +1 -0
  97. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  98. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  99. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  100. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  101. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
  102. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  103. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  104. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  105. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  106. package/cjs/internal/ThemePlayground/Playground.md +7 -0
  107. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  108. package/cjs/internal/themes/BasicTheme.d.ts +2 -0
  109. package/cjs/internal/themes/BasicTheme.js +11 -6
  110. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  111. package/cjs/internal/themes/DarkTheme5_4.js +10 -3
  112. package/cjs/internal/themes/DarkTheme5_4.js.map +1 -1
  113. package/cjs/internal/themes/LightTheme5_4.js +10 -3
  114. package/cjs/internal/themes/LightTheme5_4.js.map +1 -1
  115. package/cjs/internal/themes/consts.d.ts +7 -0
  116. package/cjs/internal/themes/consts.js +7 -0
  117. package/cjs/internal/themes/consts.js.map +1 -0
  118. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +64 -0
  119. package/cjs/lib/locale/LOCALECONTEXT.md +222 -0
  120. package/cjs/lib/theming/ThemeContext.md +265 -0
  121. package/components/Autocomplete/Autocomplete.md +113 -0
  122. package/components/Button/Button.md +261 -0
  123. package/components/Calendar/Calendar.md +276 -0
  124. package/components/Calendar/CalendarDay.md +70 -0
  125. package/components/Center/Center.md +26 -0
  126. package/components/Checkbox/Checkbox.md +171 -0
  127. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  128. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  129. package/components/ComboBox/ComboBox.d.ts +11 -5
  130. package/components/ComboBox/ComboBox.md +574 -0
  131. package/components/CurrencyInput/CurrencyInput.md +39 -0
  132. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -1
  133. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  134. package/components/CurrencyLabel/CurrencyLabel.md +29 -0
  135. package/components/DateInput/DateInput.md +111 -0
  136. package/components/DatePicker/DatePicker.md +368 -0
  137. package/components/Dropdown/Dropdown.md +45 -0
  138. package/components/DropdownMenu/DropdownMenu.md +290 -0
  139. package/components/FileUploader/FileUploader.md +131 -0
  140. package/components/FxInput/FxInput.md +31 -0
  141. package/components/Gapped/Gapped.md +44 -0
  142. package/components/GlobalLoader/GlobalLoader.md +97 -0
  143. package/components/Group/Group.md +19 -0
  144. package/components/Hint/Hint.md +86 -0
  145. package/components/Input/Input.md +86 -0
  146. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  147. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  148. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  149. package/components/Kebab/Kebab.md +306 -0
  150. package/components/Link/Link.md +182 -0
  151. package/components/Loader/Loader.md +33 -0
  152. package/components/MaskedInput/MaskedInput/MaskedInput.js +1 -11
  153. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  154. package/components/MaskedInput/MaskedInput.d.ts +0 -8
  155. package/components/MaskedInput/MaskedInput.md +114 -0
  156. package/components/MenuFooter/MenuFooter.md +27 -0
  157. package/components/MenuHeader/MenuHeader.md +35 -0
  158. package/components/MenuItem/MenuItem.md +139 -0
  159. package/components/MenuSeparator/MenuSeparator.md +14 -0
  160. package/components/MiniModal/MiniModal.md +231 -0
  161. package/components/Modal/Modal.md +56 -0
  162. package/components/Paging/Paging.md +57 -0
  163. package/components/PasswordInput/PasswordInput.md +29 -0
  164. package/components/Radio/Radio.md +57 -0
  165. package/components/RadioGroup/RadioGroup.md +44 -0
  166. package/components/ResponsiveLayout/ResponsiveLayout.md +75 -0
  167. package/components/ScrollContainer/ScrollContainer.md +224 -0
  168. package/components/Select/Select.md +113 -0
  169. package/components/SidePage/SidePage.md +65 -0
  170. package/components/SingleToast/SingleToast.md +36 -0
  171. package/components/Spinner/Spinner.md +36 -0
  172. package/components/Sticky/Sticky.md +28 -0
  173. package/components/Switcher/Switcher.md +111 -0
  174. package/components/Tabs/Tab.md +73 -0
  175. package/components/Tabs/Tabs.md +54 -0
  176. package/components/Textarea/Textarea/Textarea.js +11 -2
  177. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  178. package/components/Textarea/Textarea.d.ts +6 -1
  179. package/components/Textarea/Textarea.md +58 -0
  180. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  181. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  182. package/components/Toast/Toast.md +69 -0
  183. package/components/Toggle/Toggle.md +110 -0
  184. package/components/Token/Token.md +48 -0
  185. package/components/TokenInput/TokenInput.md +277 -0
  186. package/components/Tooltip/Tooltip/Tooltip.js +4 -7
  187. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  188. package/components/Tooltip/Tooltip.d.ts +1 -1
  189. package/components/Tooltip/Tooltip.md +322 -0
  190. package/components/TooltipMenu/TooltipMenu.md +241 -0
  191. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  192. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  193. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  194. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  195. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  196. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  197. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +44 -51
  198. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  199. package/internal/CustomComboBox/ComboBoxView.d.ts +7 -6
  200. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +3 -5
  201. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  202. package/internal/CustomComboBox/CustomComboBox.d.ts +6 -5
  203. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js +5 -3
  204. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js.map +1 -1
  205. package/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  206. package/internal/DataTids/DATATIDS.md +12 -0
  207. package/internal/DataTids/DataTids/DataTids.js +69 -0
  208. package/internal/DataTids/DataTids/DataTids.js.map +1 -0
  209. package/internal/DataTids/DataTids/package.json +6 -0
  210. package/internal/DataTids/DataTids.d.ts +12 -0
  211. package/internal/DataTids/DataTids.styles/DataTids.styles.js +20 -0
  212. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +1 -0
  213. package/internal/DataTids/DataTids.styles/package.json +6 -0
  214. package/internal/DataTids/DataTids.styles.d.ts +7 -0
  215. package/internal/DataTids/componentsDataTids/componentsDataTids.js +12 -0
  216. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +1 -0
  217. package/internal/DataTids/componentsDataTids/package.json +6 -0
  218. package/internal/DataTids/componentsDataTids.d.ts +5 -0
  219. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  220. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  221. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  222. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
  223. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  224. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  225. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  226. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  227. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  228. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  229. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  230. package/internal/ThemePlayground/Playground.md +7 -0
  231. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  232. package/internal/themes/BasicTheme/BasicTheme.js +4 -4
  233. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  234. package/internal/themes/BasicTheme.d.ts +2 -0
  235. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +4 -2
  236. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -1
  237. package/internal/themes/LightTheme5_4/LightTheme5_4.js +4 -2
  238. package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -1
  239. package/internal/themes/consts/consts.js +7 -0
  240. package/internal/themes/consts/consts.js.map +1 -0
  241. package/internal/themes/consts/package.json +6 -0
  242. package/internal/themes/consts.d.ts +7 -0
  243. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +64 -0
  244. package/lib/locale/LOCALECONTEXT.md +222 -0
  245. package/lib/theming/ThemeContext.md +265 -0
  246. package/package.json +6 -1
@@ -0,0 +1,86 @@
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
+ ```
@@ -0,0 +1,86 @@
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
+ ```
@@ -13,14 +13,17 @@ export var InputLayout = forwardRefAndName('InputLayout', function (props, ref)
13
13
  suffix = props.suffix,
14
14
  labelProps = props.labelProps,
15
15
  context = props.context,
16
- children = props.children;
16
+ children = props.children,
17
+ _props$tag = props.tag,
18
+ tag = _props$tag === void 0 ? 'label' : _props$tag;
17
19
  var _context = _extends({}, InputLayoutContextDefault, context);
20
+ var Tag = tag;
18
21
  return /*#__PURE__*/(
19
22
  React.createElement(InputLayoutContext.Provider, {
20
23
  value: _context
21
24
  }, /*#__PURE__*/
22
25
  React.createElement(CommonWrapper, props, /*#__PURE__*/
23
- React.createElement("label", _extends({
26
+ React.createElement(Tag, _extends({
24
27
  ref: ref,
25
28
  "data-tid": InputDataTids.root
26
29
  }, labelProps), /*#__PURE__*/
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRefAndName","InputDataTids","CommonWrapper","InputLayoutAside","InputLayoutContext","InputLayoutContextDefault","stylesLayout","InputLayout","props","ref","leftIcon","rightIcon","prefix","suffix","labelProps","context","children","_context","_extends","createElement","Provider","value","root","icon","text","side","className","input"],"sources":["InputLayout.tsx"],"sourcesContent":["import React from 'react';\n\nimport { forwardRefAndName } from '../../../lib/forwardRefAndName';\nimport type { InputProps } from '../Input';\nimport { InputDataTids } from '../Input';\nimport type { CommonProps } from '../../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../../internal/CommonWrapper';\n\nimport { InputLayoutAside } from './InputLayoutAside';\nimport type { InputLayoutContextProps } from './InputLayoutContext';\nimport { InputLayoutContext, InputLayoutContextDefault } from './InputLayoutContext';\nimport { stylesLayout } from './InputLayout.styles';\n\ntype InputLayoutRootFromInputProps = Pick<InputProps, 'leftIcon' | 'rightIcon' | 'prefix' | 'suffix'>;\n\nexport interface InputLayoutRootProps extends InputLayoutRootFromInputProps, CommonProps {\n labelProps: React.LabelHTMLAttributes<HTMLLabelElement>;\n context: Partial<InputLayoutContextProps>;\n}\n\nexport const InputLayout = forwardRefAndName<HTMLLabelElement, InputLayoutRootProps>('InputLayout', (props, ref) => {\n const { leftIcon, rightIcon, prefix, suffix, labelProps, context, children } = props;\n const _context: InputLayoutContextProps = { ...InputLayoutContextDefault, ...context };\n\n return (\n <InputLayoutContext.Provider value={_context}>\n <CommonWrapper {...props}>\n <label ref={ref} data-tid={InputDataTids.root} {...labelProps}>\n <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />\n <span className={stylesLayout.input()}>{children}</span>\n <InputLayoutAside icon={rightIcon} text={suffix} side=\"right\" />\n </label>\n </CommonWrapper>\n </InputLayoutContext.Provider>\n );\n});\n"],"mappings":"0DAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB,SAASC,iBAAiB,QAAQ,gCAAgC;;AAElE,SAASC,aAAa,QAAQ,UAAU;;AAExC,SAASC,aAAa,QAAQ,iCAAiC;;AAE/D,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD,SAASC,kBAAkB,EAAEC,yBAAyB,QAAQ,sBAAsB;AACpF,SAASC,YAAY,QAAQ,sBAAsB;;;;;;;;;AASnD,OAAO,IAAMC,WAAW,GAAGP,iBAAiB,CAAyC,aAAa,EAAE,UAACQ,KAAK,EAAEC,GAAG,EAAK;EAClH,IAAQC,QAAQ,GAA+DF,KAAK,CAA5EE,QAAQ,CAAEC,SAAS,GAAoDH,KAAK,CAAlEG,SAAS,CAAEC,MAAM,GAA4CJ,KAAK,CAAvDI,MAAM,CAAEC,MAAM,GAAoCL,KAAK,CAA/CK,MAAM,CAAEC,UAAU,GAAwBN,KAAK,CAAvCM,UAAU,CAAEC,OAAO,GAAeP,KAAK,CAA3BO,OAAO,CAAEC,QAAQ,GAAKR,KAAK,CAAlBQ,QAAQ;EAC1E,IAAMC,QAAiC,GAAAC,QAAA,KAAQb,yBAAyB,EAAKU,OAAO,CAAE;;EAEtF;IACEhB,KAAA,CAAAoB,aAAA,CAACf,kBAAkB,CAACgB,QAAQ,IAACC,KAAK,EAAEJ,QAAS;IAC3ClB,KAAA,CAAAoB,aAAA,CAACjB,aAAa,EAAKM,KAAK;IACtBT,KAAA,CAAAoB,aAAA,UAAAD,QAAA,GAAOT,GAAG,EAAEA,GAAI,EAAC,YAAUR,aAAa,CAACqB,IAAK,IAAKR,UAAU;IAC3Df,KAAA,CAAAoB,aAAA,CAAChB,gBAAgB,IAACoB,IAAI,EAAEb,QAAS,EAACc,IAAI,EAAEZ,MAAO,EAACa,IAAI,EAAC,MAAM,EAAE,CAAC;IAC9D1B,KAAA,CAAAoB,aAAA,WAAMO,SAAS,EAAEpB,YAAY,CAACqB,KAAK,CAAC,CAAE,IAAEX,QAAe,CAAC;IACxDjB,KAAA,CAAAoB,aAAA,CAAChB,gBAAgB,IAACoB,IAAI,EAAEZ,SAAU,EAACa,IAAI,EAAEX,MAAO,EAACY,IAAI,EAAC,OAAO,EAAE;IAC1D;IACM;IACY,CAAC;;AAElC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRefAndName","InputDataTids","CommonWrapper","InputLayoutAside","InputLayoutContext","InputLayoutContextDefault","stylesLayout","InputLayout","props","ref","leftIcon","rightIcon","prefix","suffix","labelProps","context","children","_props$tag","tag","_context","_extends","Tag","createElement","Provider","value","root","icon","text","side","className","input"],"sources":["InputLayout.tsx"],"sourcesContent":["import React from 'react';\n\nimport { forwardRefAndName } from '../../../lib/forwardRefAndName';\nimport type { InputProps } from '../Input';\nimport { InputDataTids } from '../Input';\nimport type { CommonProps } from '../../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../../internal/CommonWrapper';\n\nimport { InputLayoutAside } from './InputLayoutAside';\nimport type { InputLayoutContextProps } from './InputLayoutContext';\nimport { InputLayoutContext, InputLayoutContextDefault } from './InputLayoutContext';\nimport { stylesLayout } from './InputLayout.styles';\n\ntype InputLayoutRootFromInputProps = Pick<InputProps, 'leftIcon' | 'rightIcon' | 'prefix' | 'suffix'>;\n\nexport interface InputLayoutRootProps extends InputLayoutRootFromInputProps, CommonProps {\n labelProps: React.LabelHTMLAttributes<HTMLLabelElement>;\n context: Partial<InputLayoutContextProps>;\n tag?: 'label' | 'span';\n}\n\nexport const InputLayout = forwardRefAndName<HTMLLabelElement, InputLayoutRootProps>('InputLayout', (props, ref) => {\n const { leftIcon, rightIcon, prefix, suffix, labelProps, context, children, tag = 'label' } = props;\n const _context: InputLayoutContextProps = { ...InputLayoutContextDefault, ...context };\n const Tag = tag;\n\n return (\n <InputLayoutContext.Provider value={_context}>\n <CommonWrapper {...props}>\n <Tag ref={ref} data-tid={InputDataTids.root} {...labelProps}>\n <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />\n <span className={stylesLayout.input()}>{children}</span>\n <InputLayoutAside icon={rightIcon} text={suffix} side=\"right\" />\n </Tag>\n </CommonWrapper>\n </InputLayoutContext.Provider>\n );\n});\n"],"mappings":"0DAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB,SAASC,iBAAiB,QAAQ,gCAAgC;;AAElE,SAASC,aAAa,QAAQ,UAAU;;AAExC,SAASC,aAAa,QAAQ,iCAAiC;;AAE/D,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD,SAASC,kBAAkB,EAAEC,yBAAyB,QAAQ,sBAAsB;AACpF,SAASC,YAAY,QAAQ,sBAAsB;;;;;;;;;;AAUnD,OAAO,IAAMC,WAAW,GAAGP,iBAAiB,CAAyC,aAAa,EAAE,UAACQ,KAAK,EAAEC,GAAG,EAAK;EAClH,IAAQC,QAAQ,GAA8EF,KAAK,CAA3FE,QAAQ,CAAEC,SAAS,GAAmEH,KAAK,CAAjFG,SAAS,CAAEC,MAAM,GAA2DJ,KAAK,CAAtEI,MAAM,CAAEC,MAAM,GAAmDL,KAAK,CAA9DK,MAAM,CAAEC,UAAU,GAAuCN,KAAK,CAAtDM,UAAU,CAAEC,OAAO,GAA8BP,KAAK,CAA1CO,OAAO,CAAEC,QAAQ,GAAoBR,KAAK,CAAjCQ,QAAQ,CAAAC,UAAA,GAAoBT,KAAK,CAAvBU,GAAG,CAAHA,GAAG,GAAAD,UAAA,cAAG,OAAO,GAAAA,UAAA;EACzF,IAAME,QAAiC,GAAAC,QAAA,KAAQf,yBAAyB,EAAKU,OAAO,CAAE;EACtF,IAAMM,GAAG,GAAGH,GAAG;;EAEf;IACEnB,KAAA,CAAAuB,aAAA,CAAClB,kBAAkB,CAACmB,QAAQ,IAACC,KAAK,EAAEL,QAAS;IAC3CpB,KAAA,CAAAuB,aAAA,CAACpB,aAAa,EAAKM,KAAK;IACtBT,KAAA,CAAAuB,aAAA,CAACD,GAAG,EAAAD,QAAA,GAACX,GAAG,EAAEA,GAAI,EAAC,YAAUR,aAAa,CAACwB,IAAK,IAAKX,UAAU;IACzDf,KAAA,CAAAuB,aAAA,CAACnB,gBAAgB,IAACuB,IAAI,EAAEhB,QAAS,EAACiB,IAAI,EAAEf,MAAO,EAACgB,IAAI,EAAC,MAAM,EAAE,CAAC;IAC9D7B,KAAA,CAAAuB,aAAA,WAAMO,SAAS,EAAEvB,YAAY,CAACwB,KAAK,CAAC,CAAE,IAAEd,QAAe,CAAC;IACxDjB,KAAA,CAAAuB,aAAA,CAACnB,gBAAgB,IAACuB,IAAI,EAAEf,SAAU,EAACgB,IAAI,EAAEd,MAAO,EAACe,IAAI,EAAC,OAAO,EAAE;IAC5D;IACQ;IACY,CAAC;;AAElC,CAAC,CAAC","ignoreList":[]}
@@ -6,6 +6,7 @@ type InputLayoutRootFromInputProps = Pick<InputProps, 'leftIcon' | 'rightIcon' |
6
6
  export interface InputLayoutRootProps extends InputLayoutRootFromInputProps, CommonProps {
7
7
  labelProps: React.LabelHTMLAttributes<HTMLLabelElement>;
8
8
  context: Partial<InputLayoutContextProps>;
9
+ tag?: 'label' | 'span';
9
10
  }
10
11
  export declare const InputLayout: import("../../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLLabelElement, InputLayoutRootProps> & Record<never, never>;
11
12
  export {};
@@ -0,0 +1,306 @@
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
+ ```