@skbkontur/react-ui 5.0.4 → 5.1.0-next.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.
Files changed (748) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.d.ts +16 -17
  2. package/cjs/components/Autocomplete/Autocomplete.js +13 -2
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/Autocomplete/Autocomplete.md +9 -7
  5. package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
  6. package/cjs/components/Autocomplete/locale/types.js +1 -1
  7. package/cjs/components/Button/Button.d.ts +20 -62
  8. package/cjs/components/Button/Button.js +0 -42
  9. package/cjs/components/Button/Button.js.map +1 -1
  10. package/cjs/components/Button/Button.md +40 -26
  11. package/cjs/components/Button/__docs__/Button.mdx +28 -0
  12. package/cjs/components/Calendar/Calendar.d.ts +22 -45
  13. package/cjs/components/Calendar/Calendar.js +1 -15
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Calendar/Calendar.md +12 -12
  16. package/cjs/components/Calendar/CalendarDay.d.ts +7 -0
  17. package/cjs/components/Calendar/CalendarDay.js +11 -0
  18. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  19. package/cjs/components/Calendar/CalendarDay.md +32 -32
  20. package/cjs/components/Calendar/__docs__/Calendar.mdx +28 -0
  21. package/cjs/components/Calendar/__docs__/CalendarDay.mdx +24 -0
  22. package/cjs/components/Calendar/locale/types.js +1 -1
  23. package/cjs/components/Center/Center.d.ts +4 -6
  24. package/cjs/components/Center/Center.js +3 -5
  25. package/cjs/components/Center/Center.js.map +1 -1
  26. package/cjs/components/Center/Center.md +1 -1
  27. package/cjs/components/Center/__docs__/Center.mdx +24 -0
  28. package/cjs/components/Checkbox/Checkbox.d.ts +20 -28
  29. package/cjs/components/Checkbox/Checkbox.js +7 -6
  30. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  31. package/cjs/components/Checkbox/Checkbox.md +6 -5
  32. package/cjs/components/Checkbox/__docs__/Checkbox.mdx +28 -0
  33. package/cjs/components/ComboBox/ComboBox.d.ts +64 -85
  34. package/cjs/components/ComboBox/ComboBox.js +11 -27
  35. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  36. package/cjs/components/ComboBox/ComboBox.md +41 -40
  37. package/cjs/components/ComboBox/__docs__/ComboBox.mdx +28 -0
  38. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
  39. package/cjs/components/CurrencyInput/CurrencyHelper.js +7 -0
  40. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  41. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +12 -12
  42. package/cjs/components/CurrencyInput/CurrencyInput.js +8 -2
  43. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  44. package/cjs/components/CurrencyInput/CurrencyInput.md +3 -1
  45. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
  46. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +5 -0
  47. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  48. package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
  49. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
  50. package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -0
  51. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  52. package/cjs/components/CurrencyLabel/CurrencyLabel.md +5 -5
  53. package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
  54. package/cjs/components/DateInput/DateInput.d.ts +19 -27
  55. package/cjs/components/DateInput/DateInput.js +7 -1
  56. package/cjs/components/DateInput/DateInput.js.map +1 -1
  57. package/cjs/components/DateInput/DateInput.md +7 -2
  58. package/cjs/components/DateInput/__docs__/DateInput.mdx +26 -0
  59. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -1
  60. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  61. package/cjs/components/DatePicker/DatePicker.d.ts +27 -22
  62. package/cjs/components/DatePicker/DatePicker.js +24 -1
  63. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  64. package/cjs/components/DatePicker/DatePicker.md +2 -2
  65. package/cjs/components/DatePicker/__docs__/DatePicker.mdx +28 -0
  66. package/cjs/components/DatePicker/locale/types.js +1 -1
  67. package/cjs/components/Dropdown/Dropdown.d.ts +25 -30
  68. package/cjs/components/Dropdown/Dropdown.js +8 -1
  69. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  70. package/cjs/components/Dropdown/Dropdown.md +2 -1
  71. package/cjs/components/Dropdown/__docs__/Dropdown.mdx +28 -0
  72. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  73. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
  74. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  75. package/cjs/components/DropdownMenu/DropdownMenu.md +12 -10
  76. package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
  77. package/cjs/components/FileUploader/FileUploader.d.ts +16 -20
  78. package/cjs/components/FileUploader/FileUploader.js +5 -3
  79. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  80. package/cjs/components/FileUploader/FileUploader.md +9 -9
  81. package/cjs/components/FileUploader/__docs__/FileUploader.mdx +28 -0
  82. package/cjs/components/FileUploader/locale/types.js +1 -1
  83. package/cjs/components/FxInput/FxInput.d.ts +15 -9
  84. package/cjs/components/FxInput/FxInput.js +14 -1
  85. package/cjs/components/FxInput/FxInput.js.map +1 -1
  86. package/cjs/components/FxInput/FxInput.md +2 -0
  87. package/cjs/components/FxInput/__docs__/FxInput.mdx +28 -0
  88. package/cjs/components/Gapped/Gapped.d.ts +6 -17
  89. package/cjs/components/Gapped/Gapped.js +1 -8
  90. package/cjs/components/Gapped/Gapped.js.map +1 -1
  91. package/cjs/components/Gapped/Gapped.md +3 -2
  92. package/cjs/components/Gapped/__docs__/Gapped.mdx +24 -0
  93. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +22 -32
  94. package/cjs/components/GlobalLoader/GlobalLoader.js +14 -14
  95. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  96. package/cjs/components/GlobalLoader/GlobalLoader.md +4 -5
  97. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
  98. package/cjs/components/GlobalLoader/GlobalLoaderView.js +7 -0
  99. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  100. package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
  101. package/cjs/components/Group/Group.d.ts +6 -0
  102. package/cjs/components/Group/Group.js +7 -1
  103. package/cjs/components/Group/Group.js.map +1 -1
  104. package/cjs/components/Group/Group.md +1 -0
  105. package/cjs/components/Group/__docs__/Group.mdx +24 -0
  106. package/cjs/components/Hint/Hint.d.ts +18 -40
  107. package/cjs/components/Hint/Hint.js +4 -16
  108. package/cjs/components/Hint/Hint.js.map +1 -1
  109. package/cjs/components/Hint/Hint.md +9 -8
  110. package/cjs/components/Hint/__docs__/Hint.mdx +29 -0
  111. package/cjs/components/Input/Input.d.ts +46 -68
  112. package/cjs/components/Input/Input.js +10 -9
  113. package/cjs/components/Input/Input.js.map +1 -1
  114. package/cjs/components/Input/Input.md +11 -2
  115. package/cjs/components/Input/Input.typings.js +1 -1
  116. package/cjs/components/Input/__docs__/Input.mdx +28 -0
  117. package/cjs/components/Kebab/Kebab.d.ts +12 -16
  118. package/cjs/components/Kebab/Kebab.js +4 -2
  119. package/cjs/components/Kebab/Kebab.js.map +1 -1
  120. package/cjs/components/Kebab/Kebab.md +9 -9
  121. package/cjs/components/Kebab/__docs__/Kebab.mdx +28 -0
  122. package/cjs/components/Link/Link.d.ts +13 -37
  123. package/cjs/components/Link/Link.js +0 -13
  124. package/cjs/components/Link/Link.js.map +1 -1
  125. package/cjs/components/Link/Link.md +12 -11
  126. package/cjs/components/Link/__docs__/Link.mdx +28 -0
  127. package/cjs/components/Loader/Loader.d.ts +13 -25
  128. package/cjs/components/Loader/Loader.js +2 -8
  129. package/cjs/components/Loader/Loader.js.map +1 -1
  130. package/cjs/components/Loader/Loader.md +1 -0
  131. package/cjs/components/Loader/__docs__/Loader.mdx +26 -0
  132. package/cjs/components/MaskedInput/MaskedInput.d.ts +13 -33
  133. package/cjs/components/MaskedInput/MaskedInput.js +0 -13
  134. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  135. package/cjs/components/MaskedInput/MaskedInput.md +7 -5
  136. package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
  137. package/cjs/components/MenuFooter/MenuFooter.d.ts +6 -4
  138. package/cjs/components/MenuFooter/MenuFooter.js +7 -3
  139. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  140. package/cjs/components/MenuFooter/MenuFooter.md +2 -2
  141. package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
  142. package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -4
  143. package/cjs/components/MenuHeader/MenuHeader.js +7 -3
  144. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  145. package/cjs/components/MenuHeader/MenuHeader.md +2 -2
  146. package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
  147. package/cjs/components/MenuItem/MenuItem.d.ts +22 -55
  148. package/cjs/components/MenuItem/MenuItem.js +1 -18
  149. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  150. package/cjs/components/MenuItem/MenuItem.md +34 -30
  151. package/cjs/components/MenuItem/__docs__/MenuItem.mdx +24 -0
  152. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +2 -2
  153. package/cjs/components/MenuSeparator/MenuSeparator.js +3 -2
  154. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  155. package/cjs/components/MenuSeparator/MenuSeparator.md +1 -1
  156. package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
  157. package/cjs/components/MiniModal/MiniModal.d.ts +6 -0
  158. package/cjs/components/MiniModal/MiniModal.js +6 -0
  159. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  160. package/cjs/components/MiniModal/MiniModal.md +1 -3
  161. package/cjs/components/MiniModal/MiniModalFooter.d.ts +2 -7
  162. package/cjs/components/MiniModal/MiniModalFooter.js +0 -5
  163. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -1
  164. package/cjs/components/MiniModal/MiniModalHeader.d.ts +2 -5
  165. package/cjs/components/MiniModal/MiniModalHeader.js +0 -3
  166. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -1
  167. package/cjs/components/MiniModal/__docs__/MiniModal.mdx +28 -0
  168. package/cjs/components/MiniModal/__docs__/MiniModalBody.mdx +15 -0
  169. package/cjs/components/MiniModal/__docs__/MiniModalFooter.mdx +15 -0
  170. package/cjs/components/MiniModal/__docs__/MiniModalHeader.mdx +15 -0
  171. package/cjs/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
  172. package/cjs/components/Modal/Modal.d.ts +12 -33
  173. package/cjs/components/Modal/Modal.js +4 -24
  174. package/cjs/components/Modal/Modal.js.map +1 -1
  175. package/cjs/components/Modal/Modal.md +3 -1
  176. package/cjs/components/Modal/ModalBody.d.ts +2 -4
  177. package/cjs/components/Modal/ModalBody.js +1 -3
  178. package/cjs/components/Modal/ModalBody.js.map +1 -1
  179. package/cjs/components/Modal/ModalContext.d.ts +2 -0
  180. package/cjs/components/Modal/ModalContext.js +3 -0
  181. package/cjs/components/Modal/ModalContext.js.map +1 -1
  182. package/cjs/components/Modal/ModalFooter.d.ts +5 -15
  183. package/cjs/components/Modal/ModalFooter.js +0 -7
  184. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  185. package/cjs/components/Modal/ModalHeader.d.ts +3 -1
  186. package/cjs/components/Modal/ModalHeader.js +4 -1
  187. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  188. package/cjs/components/Modal/ModalSeparator.d.ts +1 -0
  189. package/cjs/components/Modal/ModalSeparator.js +1 -0
  190. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  191. package/cjs/components/Modal/__docs__/Modal.mdx +28 -0
  192. package/cjs/components/Modal/__docs__/ModalBody.mdx +15 -0
  193. package/cjs/components/Modal/__docs__/ModalFooter.mdx +15 -0
  194. package/cjs/components/Modal/__docs__/ModalHeader.mdx +15 -0
  195. package/cjs/components/Modal/__docs__/ModalSeparator.mdx +15 -0
  196. package/cjs/components/Modal/locale/types.js +1 -1
  197. package/cjs/components/Paging/Paging.d.ts +20 -15
  198. package/cjs/components/Paging/Paging.js +17 -1
  199. package/cjs/components/Paging/Paging.js.map +1 -1
  200. package/cjs/components/Paging/Paging.md +3 -2
  201. package/cjs/components/Paging/PagingDefaultComponent.d.ts +2 -0
  202. package/cjs/components/Paging/PagingDefaultComponent.js +3 -0
  203. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
  204. package/cjs/components/Paging/__creevey__/Paging.creevey.js +2 -1
  205. package/cjs/components/Paging/__creevey__/Paging.creevey.js.map +1 -1
  206. package/cjs/components/Paging/__docs__/Paging.mdx +28 -0
  207. package/cjs/components/Paging/locale/types.js +1 -1
  208. package/cjs/components/PasswordInput/PasswordInput.d.ts +4 -1
  209. package/cjs/components/PasswordInput/PasswordInput.js +4 -1
  210. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  211. package/cjs/components/PasswordInput/PasswordInput.md +3 -2
  212. package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
  213. package/cjs/components/PasswordInput/locale/types.js +1 -1
  214. package/cjs/components/Radio/Radio.d.ts +13 -28
  215. package/cjs/components/Radio/Radio.js +1 -8
  216. package/cjs/components/Radio/Radio.js.map +1 -1
  217. package/cjs/components/Radio/Radio.md +3 -2
  218. package/cjs/components/Radio/__docs__/Radio.mdx +28 -0
  219. package/cjs/components/RadioGroup/RadioGroup.d.ts +28 -54
  220. package/cjs/components/RadioGroup/RadioGroup.js +4 -15
  221. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  222. package/cjs/components/RadioGroup/RadioGroup.md +1 -0
  223. package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
  224. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
  225. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +6 -2
  226. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  227. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
  228. package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
  229. package/cjs/components/ResponsiveLayout/types.js +1 -1
  230. package/cjs/components/ScrollContainer/ScrollBar.d.ts +7 -0
  231. package/cjs/components/ScrollContainer/ScrollBar.js +13 -0
  232. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  233. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +23 -29
  234. package/cjs/components/ScrollContainer/ScrollContainer.js +8 -1
  235. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  236. package/cjs/components/ScrollContainer/ScrollContainer.md +5 -3
  237. package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
  238. package/cjs/components/Select/Item.d.ts +2 -0
  239. package/cjs/components/Select/Item.js +3 -0
  240. package/cjs/components/Select/Item.js.map +1 -1
  241. package/cjs/components/Select/Select.d.ts +54 -38
  242. package/cjs/components/Select/Select.js +57 -1
  243. package/cjs/components/Select/Select.js.map +1 -1
  244. package/cjs/components/Select/Select.md +7 -6
  245. package/cjs/components/Select/__creevey__/Select.creevey.js +21 -31
  246. package/cjs/components/Select/__creevey__/Select.creevey.js.map +1 -1
  247. package/cjs/components/Select/__docs__/Select.mdx +28 -0
  248. package/cjs/components/Select/locale/types.js +1 -1
  249. package/cjs/components/SidePage/SidePage.d.ts +16 -38
  250. package/cjs/components/SidePage/SidePage.js +5 -27
  251. package/cjs/components/SidePage/SidePage.js.map +1 -1
  252. package/cjs/components/SidePage/SidePage.md +2 -1
  253. package/cjs/components/SidePage/SidePageFooter.d.ts +4 -9
  254. package/cjs/components/SidePage/SidePageFooter.js +0 -2
  255. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  256. package/cjs/components/SidePage/SidePageHeader.d.ts +2 -0
  257. package/cjs/components/SidePage/SidePageHeader.js +3 -0
  258. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  259. package/cjs/components/SidePage/__docs__/SidePage.mdx +28 -0
  260. package/cjs/components/SidePage/__docs__/SidePageBody.mdx +15 -0
  261. package/cjs/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
  262. package/cjs/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
  263. package/cjs/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
  264. package/cjs/components/SidePage/locale/types.js +1 -1
  265. package/cjs/components/SingleToast/SingleToast.d.ts +5 -1
  266. package/cjs/components/SingleToast/SingleToast.js +5 -1
  267. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  268. package/cjs/components/SingleToast/SingleToast.md +2 -1
  269. package/cjs/components/SingleToast/__docs__/SingleToast.mdx +28 -0
  270. package/cjs/components/Spinner/Spinner.d.ts +15 -20
  271. package/cjs/components/Spinner/Spinner.js +6 -7
  272. package/cjs/components/Spinner/Spinner.js.map +1 -1
  273. package/cjs/components/Spinner/Spinner.md +2 -1
  274. package/cjs/components/Spinner/__docs__/Spinner.mdx +28 -0
  275. package/cjs/components/Sticky/Sticky.d.ts +9 -4
  276. package/cjs/components/Sticky/Sticky.js +9 -1
  277. package/cjs/components/Sticky/Sticky.js.map +1 -1
  278. package/cjs/components/Sticky/Sticky.md +1 -0
  279. package/cjs/components/Sticky/__docs__/Sticky.mdx +24 -0
  280. package/cjs/components/Switcher/Switcher.d.ts +18 -7
  281. package/cjs/components/Switcher/Switcher.js +12 -1
  282. package/cjs/components/Switcher/Switcher.js.map +1 -1
  283. package/cjs/components/Switcher/Switcher.md +6 -2
  284. package/cjs/components/Switcher/__docs__/Switcher.mdx +28 -0
  285. package/cjs/components/Tabs/Tab.d.ts +12 -31
  286. package/cjs/components/Tabs/Tab.js +1 -20
  287. package/cjs/components/Tabs/Tab.js.map +1 -1
  288. package/cjs/components/Tabs/Tab.md +2 -0
  289. package/cjs/components/Tabs/Tabs.d.ts +14 -25
  290. package/cjs/components/Tabs/Tabs.js +6 -17
  291. package/cjs/components/Tabs/Tabs.js.map +1 -1
  292. package/cjs/components/Tabs/Tabs.md +3 -2
  293. package/cjs/components/Tabs/__docs__/Tab.mdx +28 -0
  294. package/cjs/components/Tabs/__docs__/Tabs.mdx +28 -0
  295. package/cjs/components/Textarea/Textarea.d.ts +26 -52
  296. package/cjs/components/Textarea/Textarea.js +3 -23
  297. package/cjs/components/Textarea/Textarea.js.map +1 -1
  298. package/cjs/components/Textarea/Textarea.md +4 -2
  299. package/cjs/components/Textarea/__docs__/Textarea.mdx +28 -0
  300. package/cjs/components/Toast/Toast.d.ts +6 -7
  301. package/cjs/components/Toast/Toast.js +4 -3
  302. package/cjs/components/Toast/Toast.js.map +1 -1
  303. package/cjs/components/Toast/Toast.md +4 -4
  304. package/cjs/components/Toast/ToastView.d.ts +2 -6
  305. package/cjs/components/Toast/ToastView.js +0 -4
  306. package/cjs/components/Toast/ToastView.js.map +1 -1
  307. package/cjs/components/Toast/__docs__/Toast.mdx +28 -0
  308. package/cjs/components/Toast/locale/types.js +1 -1
  309. package/cjs/components/Toggle/Toggle.d.ts +25 -48
  310. package/cjs/components/Toggle/Toggle.js +4 -12
  311. package/cjs/components/Toggle/Toggle.js.map +1 -1
  312. package/cjs/components/Toggle/Toggle.md +9 -9
  313. package/cjs/components/Toggle/__docs__/Toggle.mdx +28 -0
  314. package/cjs/components/Token/Token.d.ts +17 -9
  315. package/cjs/components/Token/Token.js +9 -1
  316. package/cjs/components/Token/Token.js.map +1 -1
  317. package/cjs/components/Token/Token.md +86 -3
  318. package/cjs/components/Token/TokenView.d.ts +3 -0
  319. package/cjs/components/Token/TokenView.js +3 -0
  320. package/cjs/components/Token/TokenView.js.map +1 -1
  321. package/cjs/components/Token/__docs__/Token.mdx +28 -0
  322. package/cjs/components/Token/locale/types.js +1 -1
  323. package/cjs/components/TokenInput/TextWidthHelper.d.ts +3 -0
  324. package/cjs/components/TokenInput/TextWidthHelper.js +5 -0
  325. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  326. package/cjs/components/TokenInput/TokenInput.d.ts +54 -97
  327. package/cjs/components/TokenInput/TokenInput.js +7 -18
  328. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  329. package/cjs/components/TokenInput/TokenInput.md +12 -10
  330. package/cjs/components/TokenInput/TokenInputMenu.d.ts +5 -5
  331. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  332. package/cjs/components/TokenInput/__docs__/TokenInput.mdx +28 -0
  333. package/cjs/components/TokenInput/locale/types.js +1 -1
  334. package/cjs/components/Tooltip/Tooltip.d.ts +28 -68
  335. package/cjs/components/Tooltip/Tooltip.js +9 -63
  336. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  337. package/cjs/components/Tooltip/Tooltip.md +5 -0
  338. package/cjs/components/Tooltip/__docs__/Tooltip.mdx +28 -0
  339. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +13 -28
  340. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -16
  341. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  342. package/cjs/components/TooltipMenu/TooltipMenu.md +13 -10
  343. package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
  344. package/cjs/index.d.ts +1 -0
  345. package/cjs/index.js +1 -0
  346. package/cjs/index.js.map +1 -1
  347. package/cjs/internal/CommonWrapper/types.js +1 -1
  348. package/cjs/internal/CustomComboBox/CustomComboBox.js +2 -1
  349. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  350. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js +1 -1
  351. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  352. package/cjs/internal/CustomComboBox/locale/types.js +1 -1
  353. package/cjs/internal/DateSelect/locale/types.js +1 -1
  354. package/cjs/internal/FileUploaderControl/fileUtils.js +1 -1
  355. package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -1
  356. package/cjs/internal/Popup/types.js +1 -1
  357. package/cjs/internal/RenderContainer/RenderContainerTypes.js +1 -1
  358. package/cjs/internal/ThemePlayground/Playground.styles.js +2 -1
  359. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  360. package/cjs/internal/ThemePlayground/constants.js +1 -1
  361. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  362. package/cjs/internal/ThemeShowcase/VariablesCollector.js +0 -2
  363. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  364. package/cjs/internal/themes/BasicLightTheme.d.ts +3 -0
  365. package/cjs/internal/themes/BasicLightTheme.js +4 -1
  366. package/cjs/internal/themes/BasicLightTheme.js.map +1 -1
  367. package/cjs/lib/date/types.js +6 -6
  368. package/cjs/lib/date/types.js.map +1 -1
  369. package/cjs/lib/events/MouseDrag.js +1 -1
  370. package/cjs/lib/events/MouseDrag.js.map +1 -1
  371. package/cjs/lib/events/keyboard/KeyboardEventCodes.js +1 -1
  372. package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  373. package/cjs/lib/locale/types.js +1 -1
  374. package/cjs/lib/locale/types.js.map +1 -1
  375. package/cjs/lib/theming/Theme.js +1 -1
  376. package/cjs/lib/types/button-link.js +1 -1
  377. package/cjs/lib/types/polymorphic-component.js +1 -1
  378. package/cjs/lib/types/props.js +1 -1
  379. package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -2
  380. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  381. package/components/Autocomplete/Autocomplete.d.ts +16 -17
  382. package/components/Autocomplete/Autocomplete.md +9 -7
  383. package/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
  384. package/components/Autocomplete/locale/types/types.js +0 -1
  385. package/components/Button/Button/Button.js.map +1 -1
  386. package/components/Button/Button.d.ts +20 -62
  387. package/components/Button/Button.md +40 -26
  388. package/components/Button/__docs__/Button.mdx +28 -0
  389. package/components/Calendar/Calendar/Calendar.js +1 -1
  390. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  391. package/components/Calendar/Calendar.d.ts +22 -45
  392. package/components/Calendar/Calendar.md +12 -12
  393. package/components/Calendar/CalendarDay/CalendarDay.js +2 -0
  394. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  395. package/components/Calendar/CalendarDay.d.ts +7 -0
  396. package/components/Calendar/CalendarDay.md +32 -32
  397. package/components/Calendar/__docs__/Calendar.mdx +28 -0
  398. package/components/Calendar/__docs__/CalendarDay.mdx +24 -0
  399. package/components/Calendar/locale/types/types.js +0 -1
  400. package/components/Center/Center/Center.js +3 -1
  401. package/components/Center/Center/Center.js.map +1 -1
  402. package/components/Center/Center.d.ts +4 -6
  403. package/components/Center/Center.md +1 -1
  404. package/components/Center/__docs__/Center.mdx +24 -0
  405. package/components/Checkbox/Checkbox/Checkbox.js +7 -0
  406. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  407. package/components/Checkbox/Checkbox.d.ts +20 -28
  408. package/components/Checkbox/Checkbox.md +6 -5
  409. package/components/Checkbox/__docs__/Checkbox.mdx +28 -0
  410. package/components/ComboBox/ComboBox/ComboBox.js +11 -0
  411. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  412. package/components/ComboBox/ComboBox.d.ts +64 -85
  413. package/components/ComboBox/ComboBox.md +41 -40
  414. package/components/ComboBox/__docs__/ComboBox.mdx +28 -0
  415. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  416. package/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
  417. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +5 -2
  418. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  419. package/components/CurrencyInput/CurrencyInput.d.ts +12 -12
  420. package/components/CurrencyInput/CurrencyInput.md +3 -1
  421. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  422. package/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
  423. package/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
  424. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +4 -0
  425. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  426. package/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
  427. package/components/CurrencyLabel/CurrencyLabel.md +5 -5
  428. package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
  429. package/components/DateInput/DateInput/DateInput.js +4 -0
  430. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  431. package/components/DateInput/DateInput.d.ts +19 -27
  432. package/components/DateInput/DateInput.md +7 -2
  433. package/components/DateInput/__docs__/DateInput.mdx +26 -0
  434. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +3 -3
  435. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  436. package/components/DatePicker/DatePicker/DatePicker.js +8 -0
  437. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  438. package/components/DatePicker/DatePicker.d.ts +27 -22
  439. package/components/DatePicker/DatePicker.md +2 -2
  440. package/components/DatePicker/__docs__/DatePicker.mdx +28 -0
  441. package/components/DatePicker/locale/types/types.js +0 -1
  442. package/components/Dropdown/Dropdown/Dropdown.js +7 -1
  443. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  444. package/components/Dropdown/Dropdown.d.ts +25 -30
  445. package/components/Dropdown/Dropdown.md +2 -1
  446. package/components/Dropdown/__docs__/Dropdown.mdx +28 -0
  447. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
  448. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  449. package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  450. package/components/DropdownMenu/DropdownMenu.md +12 -10
  451. package/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
  452. package/components/FileUploader/FileUploader/FileUploader.js +6 -0
  453. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  454. package/components/FileUploader/FileUploader.d.ts +16 -20
  455. package/components/FileUploader/FileUploader.md +9 -9
  456. package/components/FileUploader/__docs__/FileUploader.mdx +28 -0
  457. package/components/FileUploader/locale/types/types.js +0 -1
  458. package/components/FxInput/FxInput/FxInput.js +7 -1
  459. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  460. package/components/FxInput/FxInput.d.ts +15 -9
  461. package/components/FxInput/FxInput.md +2 -0
  462. package/components/FxInput/__docs__/FxInput.mdx +28 -0
  463. package/components/Gapped/Gapped/Gapped.js +1 -1
  464. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  465. package/components/Gapped/Gapped.d.ts +6 -17
  466. package/components/Gapped/Gapped.md +3 -2
  467. package/components/Gapped/__docs__/Gapped.mdx +24 -0
  468. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +13 -0
  469. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  470. package/components/GlobalLoader/GlobalLoader.d.ts +22 -32
  471. package/components/GlobalLoader/GlobalLoader.md +4 -5
  472. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  473. package/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
  474. package/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
  475. package/components/Group/Group/Group.js +6 -0
  476. package/components/Group/Group/Group.js.map +1 -1
  477. package/components/Group/Group.d.ts +6 -0
  478. package/components/Group/Group.md +1 -0
  479. package/components/Group/__docs__/Group.mdx +24 -0
  480. package/components/Hint/Hint/Hint.js +4 -1
  481. package/components/Hint/Hint/Hint.js.map +1 -1
  482. package/components/Hint/Hint.d.ts +18 -40
  483. package/components/Hint/Hint.md +9 -8
  484. package/components/Hint/__docs__/Hint.mdx +29 -0
  485. package/components/Input/Input/Input.js +10 -1
  486. package/components/Input/Input/Input.js.map +1 -1
  487. package/components/Input/Input.d.ts +46 -68
  488. package/components/Input/Input.md +11 -2
  489. package/components/Input/Input.typings/Input.typings.js +0 -1
  490. package/components/Input/__docs__/Input.mdx +28 -0
  491. package/components/Kebab/Kebab/Kebab.js +4 -0
  492. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  493. package/components/Kebab/Kebab.d.ts +12 -16
  494. package/components/Kebab/Kebab.md +9 -9
  495. package/components/Kebab/__docs__/Kebab.mdx +28 -0
  496. package/components/Link/Link/Link.js.map +1 -1
  497. package/components/Link/Link.d.ts +13 -37
  498. package/components/Link/Link.md +12 -11
  499. package/components/Link/__docs__/Link.mdx +28 -0
  500. package/components/Loader/Loader/Loader.js +2 -2
  501. package/components/Loader/Loader/Loader.js.map +1 -1
  502. package/components/Loader/Loader.d.ts +13 -25
  503. package/components/Loader/Loader.md +1 -0
  504. package/components/Loader/__docs__/Loader.mdx +26 -0
  505. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  506. package/components/MaskedInput/MaskedInput.d.ts +13 -33
  507. package/components/MaskedInput/MaskedInput.md +7 -5
  508. package/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
  509. package/components/MenuFooter/MenuFooter/MenuFooter.js +3 -3
  510. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  511. package/components/MenuFooter/MenuFooter.d.ts +6 -4
  512. package/components/MenuFooter/MenuFooter.md +2 -2
  513. package/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
  514. package/components/MenuHeader/MenuHeader/MenuHeader.js +3 -3
  515. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  516. package/components/MenuHeader/MenuHeader.d.ts +6 -4
  517. package/components/MenuHeader/MenuHeader.md +2 -2
  518. package/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
  519. package/components/MenuItem/MenuItem/MenuItem.js +1 -2
  520. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  521. package/components/MenuItem/MenuItem.d.ts +22 -55
  522. package/components/MenuItem/MenuItem.md +34 -30
  523. package/components/MenuItem/__docs__/MenuItem.mdx +24 -0
  524. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +3 -2
  525. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  526. package/components/MenuSeparator/MenuSeparator.d.ts +2 -2
  527. package/components/MenuSeparator/MenuSeparator.md +1 -1
  528. package/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
  529. package/components/MiniModal/MiniModal/MiniModal.js +7 -0
  530. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
  531. package/components/MiniModal/MiniModal.d.ts +6 -0
  532. package/components/MiniModal/MiniModal.md +1 -3
  533. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -1
  534. package/components/MiniModal/MiniModalFooter.d.ts +2 -7
  535. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -1
  536. package/components/MiniModal/MiniModalHeader.d.ts +2 -5
  537. package/components/MiniModal/__docs__/MiniModal.mdx +28 -0
  538. package/components/MiniModal/__docs__/MiniModalBody.mdx +15 -0
  539. package/components/MiniModal/__docs__/MiniModalFooter.mdx +15 -0
  540. package/components/MiniModal/__docs__/MiniModalHeader.mdx +15 -0
  541. package/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
  542. package/components/Modal/Modal/Modal.js +4 -9
  543. package/components/Modal/Modal/Modal.js.map +1 -1
  544. package/components/Modal/Modal.d.ts +12 -33
  545. package/components/Modal/Modal.md +3 -1
  546. package/components/Modal/ModalBody/ModalBody.js +1 -1
  547. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  548. package/components/Modal/ModalBody.d.ts +2 -4
  549. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  550. package/components/Modal/ModalContext.d.ts +2 -0
  551. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  552. package/components/Modal/ModalFooter.d.ts +5 -15
  553. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  554. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  555. package/components/Modal/ModalHeader.d.ts +3 -1
  556. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  557. package/components/Modal/ModalSeparator.d.ts +1 -0
  558. package/components/Modal/__docs__/Modal.mdx +28 -0
  559. package/components/Modal/__docs__/ModalBody.mdx +15 -0
  560. package/components/Modal/__docs__/ModalFooter.mdx +15 -0
  561. package/components/Modal/__docs__/ModalHeader.mdx +15 -0
  562. package/components/Modal/__docs__/ModalSeparator.mdx +15 -0
  563. package/components/Modal/locale/types/types.js +0 -1
  564. package/components/Paging/Paging/Paging.js +4 -0
  565. package/components/Paging/Paging/Paging.js.map +1 -1
  566. package/components/Paging/Paging.d.ts +20 -15
  567. package/components/Paging/Paging.md +3 -2
  568. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
  569. package/components/Paging/PagingDefaultComponent.d.ts +2 -0
  570. package/components/Paging/__creevey__/Paging.creevey/Paging.creevey.js +1 -1
  571. package/components/Paging/__creevey__/Paging.creevey/Paging.creevey.js.map +1 -1
  572. package/components/Paging/__docs__/Paging.mdx +28 -0
  573. package/components/Paging/locale/types/types.js +0 -1
  574. package/components/PasswordInput/PasswordInput/PasswordInput.js +3 -1
  575. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  576. package/components/PasswordInput/PasswordInput.d.ts +4 -1
  577. package/components/PasswordInput/PasswordInput.md +3 -2
  578. package/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
  579. package/components/PasswordInput/locale/types/types.js +0 -1
  580. package/components/Radio/Radio/Radio.js +1 -1
  581. package/components/Radio/Radio/Radio.js.map +1 -1
  582. package/components/Radio/Radio.d.ts +13 -28
  583. package/components/Radio/Radio.md +3 -2
  584. package/components/Radio/__docs__/Radio.mdx +28 -0
  585. package/components/RadioGroup/RadioGroup/RadioGroup.js +4 -5
  586. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  587. package/components/RadioGroup/RadioGroup.d.ts +28 -54
  588. package/components/RadioGroup/RadioGroup.md +1 -0
  589. package/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
  590. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +1 -2
  591. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  592. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
  593. package/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
  594. package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
  595. package/components/ResponsiveLayout/types/types.js +0 -1
  596. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  597. package/components/ScrollContainer/ScrollBar.d.ts +7 -0
  598. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +4 -0
  599. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  600. package/components/ScrollContainer/ScrollContainer.d.ts +23 -29
  601. package/components/ScrollContainer/ScrollContainer.md +5 -3
  602. package/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
  603. package/components/Select/Item/Item.js.map +1 -1
  604. package/components/Select/Item.d.ts +2 -0
  605. package/components/Select/Select/Select.js +11 -0
  606. package/components/Select/Select/Select.js.map +1 -1
  607. package/components/Select/Select.d.ts +54 -38
  608. package/components/Select/Select.md +7 -6
  609. package/components/Select/__creevey__/Select.creevey/Select.creevey.js +33 -70
  610. package/components/Select/__creevey__/Select.creevey/Select.creevey.js.map +1 -1
  611. package/components/Select/__docs__/Select.mdx +28 -0
  612. package/components/Select/locale/types/types.js +0 -1
  613. package/components/SidePage/SidePage/SidePage.js +5 -5
  614. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  615. package/components/SidePage/SidePage.d.ts +16 -38
  616. package/components/SidePage/SidePage.md +2 -1
  617. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  618. package/components/SidePage/SidePageFooter.d.ts +4 -9
  619. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  620. package/components/SidePage/SidePageHeader.d.ts +2 -0
  621. package/components/SidePage/__docs__/SidePage.mdx +28 -0
  622. package/components/SidePage/__docs__/SidePageBody.mdx +15 -0
  623. package/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
  624. package/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
  625. package/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
  626. package/components/SidePage/locale/types/types.js +0 -1
  627. package/components/SingleToast/SingleToast/SingleToast.js +5 -1
  628. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  629. package/components/SingleToast/SingleToast.d.ts +5 -1
  630. package/components/SingleToast/SingleToast.md +2 -1
  631. package/components/SingleToast/__docs__/SingleToast.mdx +28 -0
  632. package/components/Spinner/Spinner/Spinner.js +6 -2
  633. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  634. package/components/Spinner/Spinner.d.ts +15 -20
  635. package/components/Spinner/Spinner.md +2 -1
  636. package/components/Spinner/__docs__/Spinner.mdx +28 -0
  637. package/components/Sticky/Sticky/Sticky.js +5 -0
  638. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  639. package/components/Sticky/Sticky.d.ts +9 -4
  640. package/components/Sticky/Sticky.md +1 -0
  641. package/components/Sticky/__docs__/Sticky.mdx +24 -0
  642. package/components/Switcher/Switcher/Switcher.js +6 -0
  643. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  644. package/components/Switcher/Switcher.d.ts +18 -7
  645. package/components/Switcher/Switcher.md +6 -2
  646. package/components/Switcher/__docs__/Switcher.mdx +28 -0
  647. package/components/Tabs/Tab/Tab.js +1 -1
  648. package/components/Tabs/Tab/Tab.js.map +1 -1
  649. package/components/Tabs/Tab.d.ts +12 -31
  650. package/components/Tabs/Tab.md +2 -0
  651. package/components/Tabs/Tabs/Tabs.js +6 -1
  652. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  653. package/components/Tabs/Tabs.d.ts +14 -25
  654. package/components/Tabs/Tabs.md +3 -2
  655. package/components/Tabs/__docs__/Tab.mdx +28 -0
  656. package/components/Tabs/__docs__/Tabs.mdx +28 -0
  657. package/components/Textarea/Textarea/Textarea.js +3 -4
  658. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  659. package/components/Textarea/Textarea.d.ts +26 -52
  660. package/components/Textarea/Textarea.md +4 -2
  661. package/components/Textarea/__docs__/Textarea.mdx +28 -0
  662. package/components/Toast/Toast/Toast.js +3 -3
  663. package/components/Toast/Toast/Toast.js.map +1 -1
  664. package/components/Toast/Toast.d.ts +6 -7
  665. package/components/Toast/Toast.md +4 -4
  666. package/components/Toast/ToastView/ToastView.js.map +1 -1
  667. package/components/Toast/ToastView.d.ts +2 -6
  668. package/components/Toast/__docs__/Toast.mdx +28 -0
  669. package/components/Toast/locale/types/types.js +0 -1
  670. package/components/Toggle/Toggle/Toggle.js +4 -1
  671. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  672. package/components/Toggle/Toggle.d.ts +25 -48
  673. package/components/Toggle/Toggle.md +9 -9
  674. package/components/Toggle/__docs__/Toggle.mdx +28 -0
  675. package/components/Token/Token/Token.js +6 -0
  676. package/components/Token/Token/Token.js.map +1 -1
  677. package/components/Token/Token.d.ts +17 -9
  678. package/components/Token/Token.md +86 -3
  679. package/components/Token/TokenView/TokenView.js.map +1 -1
  680. package/components/Token/TokenView.d.ts +3 -0
  681. package/components/Token/__docs__/Token.mdx +28 -0
  682. package/components/Token/locale/types/types.js +0 -1
  683. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  684. package/components/TokenInput/TextWidthHelper.d.ts +3 -0
  685. package/components/TokenInput/TokenInput/TokenInput.js +9 -3
  686. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  687. package/components/TokenInput/TokenInput.d.ts +54 -97
  688. package/components/TokenInput/TokenInput.md +12 -10
  689. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  690. package/components/TokenInput/TokenInputMenu.d.ts +5 -5
  691. package/components/TokenInput/__docs__/TokenInput.mdx +28 -0
  692. package/components/TokenInput/locale/types/types.js +0 -1
  693. package/components/Tooltip/Tooltip/Tooltip.js +9 -0
  694. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  695. package/components/Tooltip/Tooltip.d.ts +28 -68
  696. package/components/Tooltip/Tooltip.md +5 -0
  697. package/components/Tooltip/__docs__/Tooltip.mdx +28 -0
  698. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
  699. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  700. package/components/TooltipMenu/TooltipMenu.d.ts +13 -28
  701. package/components/TooltipMenu/TooltipMenu.md +13 -10
  702. package/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
  703. package/index.d.ts +1 -0
  704. package/index.js +1 -0
  705. package/index.js.map +1 -1
  706. package/internal/CommonWrapper/index/index.js +1 -2
  707. package/internal/CommonWrapper/index/index.js.map +1 -1
  708. package/internal/CommonWrapper/types/types.js +0 -1
  709. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +1 -0
  710. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  711. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js +3 -3
  712. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
  713. package/internal/CustomComboBox/locale/types/types.js +0 -1
  714. package/internal/DateSelect/locale/types/types.js +0 -1
  715. package/internal/FileUploaderControl/fileUtils/fileUtils.js +3 -3
  716. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -1
  717. package/internal/Popup/types/types.js +0 -1
  718. package/internal/RenderContainer/RenderContainerTypes/RenderContainerTypes.js +0 -1
  719. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +1 -1
  720. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  721. package/internal/ThemePlayground/constants/constants.js +3 -3
  722. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  723. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  724. package/internal/ZIndex/index/index.js +1 -2
  725. package/internal/ZIndex/index/index.js.map +1 -1
  726. package/internal/themes/BasicLightTheme/BasicLightTheme.js +3 -0
  727. package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +1 -1
  728. package/internal/themes/BasicLightTheme.d.ts +3 -0
  729. package/lib/date/types/types.js +18 -18
  730. package/lib/date/types/types.js.map +1 -1
  731. package/lib/events/MouseDrag/MouseDrag.js +3 -3
  732. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  733. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js +3 -3
  734. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
  735. package/lib/locale/types/types.js +3 -3
  736. package/lib/locale/types/types.js.map +1 -1
  737. package/lib/theming/Theme/Theme.js +0 -1
  738. package/lib/types/button-link/button-link.js +0 -1
  739. package/lib/types/polymorphic-component/polymorphic-component.js +0 -1
  740. package/lib/types/props/props.js +0 -1
  741. package/package.json +9 -5
  742. package/cjs/lib/styles/HoldSelectionColor.d.ts +0 -1
  743. package/cjs/lib/styles/HoldSelectionColor.js +0 -9
  744. package/cjs/lib/styles/HoldSelectionColor.js.map +0 -1
  745. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js +0 -8
  746. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +0 -1
  747. package/lib/styles/HoldSelectionColor/package.json +0 -6
  748. package/lib/styles/HoldSelectionColor.d.ts +0 -1
@@ -0,0 +1,28 @@
1
+ import * as InputStories from './Input.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={InputStories} />
6
+
7
+ # Input
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/input-fields/input/)
10
+
11
+ [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=203%3A1602)
12
+
13
+ <Description />
14
+
15
+ ## Базовый пример
16
+
17
+ <Primary />
18
+
19
+ ## Пропы
20
+
21
+ <details>
22
+ <summary>Открыть таблицу с пропами</summary>
23
+ <ArgTypes />
24
+ </details>
25
+
26
+ ## Примеры использования
27
+
28
+ <Stories title="" includePrimary={false} />
@@ -5,29 +5,22 @@ import { PopupPositionsType } from '../../internal/Popup';
5
5
  import { CommonProps } from '../../internal/CommonWrapper';
6
6
  import { SizeProp } from '../../lib/types/props';
7
7
  export interface KebabProps extends Pick<AriaAttributes, 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>, CommonProps {
8
+ /** Делает компонент недоступным. */
8
9
  disabled?: boolean;
10
+ /** Задает размер контрола. */
9
11
  size?: SizeProp;
10
- /**
11
- * Список позиций доступных для расположения выпадашки.
12
- *
12
+ /** Определяет список позиций, доступных для расположения выпадашки относительно `kebab`.
13
13
  * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.
14
- *
15
- * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`
16
- * @default ['bottom left', 'bottom right', 'top left', 'top right']
17
- */
14
+ * @default ['bottom left', 'bottom right', 'top left', 'top right']. */
18
15
  positions?: PopupPositionsType[];
16
+ positions2?: string;
17
+ /** Задает максимальную высоту меню. */
19
18
  menuMaxHeight?: number | string;
20
- /**
21
- * Не показывать анимацию
22
- */
19
+ /** Отключает анимацию. */
23
20
  disableAnimations?: boolean;
24
- /**
25
- * Кастомная иконка
26
- */
21
+ /** Добавляет иконку слева. */
27
22
  icon?: React.ReactNode;
28
- /**
29
- * Атрибут для указания id элемента(-ов), описывающих его
30
- */
23
+ /** @ignore */
31
24
  'aria-describedby'?: AriaAttributes['aria-describedby'];
32
25
  }
33
26
  export declare const KebabDataTids: {
@@ -38,6 +31,9 @@ export interface KebabState {
38
31
  focusedByTab: boolean;
39
32
  }
40
33
  type DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;
34
+ /**
35
+ * Кебаб-меню `Kebab` содержит действия с объектом.
36
+ */
41
37
  export declare class Kebab extends React.Component<KebabProps, KebabState> {
42
38
  static __KONTUR_REACT_UI__: string;
43
39
  static displayName: string;
@@ -52,12 +52,11 @@ var _KebabIcon = require("./KebabIcon");var _class, _Kebab;
52
52
 
53
53
 
54
54
 
55
-
56
55
 
57
56
 
58
57
  var KebabDataTids = exports.KebabDataTids = {
59
58
  caption: 'Kebab__caption'
60
- };var
59
+ };
61
60
 
62
61
 
63
62
 
@@ -66,6 +65,9 @@ var KebabDataTids = exports.KebabDataTids = {
66
65
 
67
66
 
68
67
 
68
+ /**
69
+ * Кебаб-меню `Kebab` содержит действия с объектом.
70
+ */var
69
71
 
70
72
  Kebab = exports.Kebab = (0, _rootNode.rootNode)(_class = (_Kebab = /*#__PURE__*/function (_React$Component) {function Kebab() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
71
73
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_reactIs","_globalObject","_utils","_identifiers","LayoutEvents","_interopRequireWildcard","_keyListener","_PopupMenu","_ThemeContext","_currentEnvironment","_ThemeFactory","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_getVisualStateDataAttributes","_Kebab2","_KebabIcon","_class","_Kebab","KebabDataTids","exports","caption","Kebab","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","_this$getProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","default","createElement","role","tabIndex","onClick","onKeyDown","onFocus","handleFocus","onBlur","handleBlur","className","cx","styles","kebab","theme","kebabSmall","kebabMedium","kebabLarge","opened","focused","props","renderIcon","e","someKeys","isKeyEnter","isKeySpace","isKeyArrowVertical","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","globalObject","requestAnimationFrame","keyListener","isTabPressed","_inheritsLoose2","_proto","prototype","componentDidMount","addListener","componentWillUnmount","render","_this2","ThemeContext","Consumer","Provider","value","ThemeFactory","create","popupMargin","kebabMargin","renderMain","_this$getProps2","positions","disableAnimations","onOpen","onClose","CommonWrapper","_extends2","rootNodeRef","setRootNode","getVisualStateDataAttributes","PopupMenu","id","popupHasPin","preventIconsOffset","onChangeMenuState","menuMaxHeight","popupMenuId","children","_this$getProps3","_this$getProps3$icon","icon","KebabIcon","isElement","isKonturIcon","_icon$props$size","_icon$props$color","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","React","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","displayName","propTypes","isTestEnv","PropTypes","node","bool","oneOfType","string","number","func"],"sources":["Kebab.tsx"],"sourcesContent":["import React, { AriaAttributes, ReactElement, HTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { isElement } from 'react-is';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKonturIcon } from '../../lib/utils';\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps, PopupMenuProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n disabled?: boolean;\n size?: SizeProp;\n /**\n * Список позиций доступных для расположения выпадашки.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const KebabDataTids = {\n caption: 'Kebab__caption',\n} as const;\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;\n\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n public static displayName = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps: DefaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Kebab.defaultProps);\n\n public state: KebabState = {\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: theme.kebabMargin,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props} {...getVisualStateDataAttributes({ disabled })}>\n <PopupMenu\n id={this.props.id}\n popupHasPin={false}\n preventIconsOffset={this.props.preventIconsOffset}\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n onOpen={onOpen}\n onClose={onClose}\n popupMenuId={this.props.popupMenuId}\n aria-label={this.props['aria-label']}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled, size } = this.getProps();\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n role=\"button\"\n data-tid={KebabDataTids.caption}\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n styles.kebab(this.theme),\n size === 'small' && styles.kebabSmall(this.theme),\n size === 'medium' && styles.kebabMedium(this.theme),\n size === 'large' && styles.kebabLarge(this.theme),\n captionProps.opened && styles.opened(this.theme),\n disabled && styles.disabled(),\n this.state.focusedByTab && styles.focused(this.theme),\n )}\n aria-describedby={this.props['aria-describedby']}\n >\n {this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState({\n focusedByTab: !isOpened && restoreFocus,\n });\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n const { size, icon = <KebabIcon /> } = this.getProps();\n\n if (isElement(icon) && isKonturIcon(icon as ReactElement)) {\n const sizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.kebabIconSizeSmall),\n medium: parseInt(this.theme.kebabIconSizeMedium),\n large: parseInt(this.theme.kebabIconSizeLarge),\n };\n\n return React.cloneElement(icon as ReactElement, {\n size: icon.props.size ?? sizes[size],\n color: icon.props.color ?? this.theme.kebabIconColor,\n });\n }\n\n return icon;\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_reactIs","_globalObject","_utils","_identifiers","LayoutEvents","_interopRequireWildcard","_keyListener","_PopupMenu","_ThemeContext","_currentEnvironment","_ThemeFactory","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_getVisualStateDataAttributes","_Kebab2","_KebabIcon","_class","_Kebab","KebabDataTids","exports","caption","Kebab","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","_this$getProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","default","createElement","role","tabIndex","onClick","onKeyDown","onFocus","handleFocus","onBlur","handleBlur","className","cx","styles","kebab","theme","kebabSmall","kebabMedium","kebabLarge","opened","focused","props","renderIcon","e","someKeys","isKeyEnter","isKeySpace","isKeyArrowVertical","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","globalObject","requestAnimationFrame","keyListener","isTabPressed","_inheritsLoose2","_proto","prototype","componentDidMount","addListener","componentWillUnmount","render","_this2","ThemeContext","Consumer","Provider","value","ThemeFactory","create","popupMargin","kebabMargin","renderMain","_this$getProps2","positions","disableAnimations","onOpen","onClose","CommonWrapper","_extends2","rootNodeRef","setRootNode","getVisualStateDataAttributes","PopupMenu","id","popupHasPin","preventIconsOffset","onChangeMenuState","menuMaxHeight","popupMenuId","children","_this$getProps3","_this$getProps3$icon","icon","KebabIcon","isElement","isKonturIcon","_icon$props$size","_icon$props$color","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","React","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","displayName","propTypes","isTestEnv","PropTypes","node","bool","oneOfType","string","number","func"],"sources":["Kebab.tsx"],"sourcesContent":["import React, { AriaAttributes, ReactElement, HTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { isElement } from 'react-is';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKonturIcon } from '../../lib/utils';\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps, PopupMenuProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Определяет список позиций, доступных для расположения выпадашки относительно `kebab`.\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n * @default ['bottom left', 'bottom right', 'top left', 'top right']. */\n positions?: PopupPositionsType[];\n positions2?: string;\n\n /** Задает максимальную высоту меню. */\n menuMaxHeight?: number | string;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Добавляет иконку слева. */\n icon?: React.ReactNode;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const KebabDataTids = {\n caption: 'Kebab__caption',\n} as const;\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;\n\n/**\n * Кебаб-меню `Kebab` содержит действия с объектом.\n */\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n public static displayName = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps: DefaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Kebab.defaultProps);\n\n public state: KebabState = {\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: theme.kebabMargin,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props} {...getVisualStateDataAttributes({ disabled })}>\n <PopupMenu\n id={this.props.id}\n popupHasPin={false}\n preventIconsOffset={this.props.preventIconsOffset}\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n onOpen={onOpen}\n onClose={onClose}\n popupMenuId={this.props.popupMenuId}\n aria-label={this.props['aria-label']}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled, size } = this.getProps();\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n role=\"button\"\n data-tid={KebabDataTids.caption}\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n styles.kebab(this.theme),\n size === 'small' && styles.kebabSmall(this.theme),\n size === 'medium' && styles.kebabMedium(this.theme),\n size === 'large' && styles.kebabLarge(this.theme),\n captionProps.opened && styles.opened(this.theme),\n disabled && styles.disabled(),\n this.state.focusedByTab && styles.focused(this.theme),\n )}\n aria-describedby={this.props['aria-describedby']}\n >\n {this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState({\n focusedByTab: !isOpened && restoreFocus,\n });\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n const { size, icon = <KebabIcon /> } = this.getProps();\n\n if (isElement(icon) && isKonturIcon(icon as ReactElement)) {\n const sizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.kebabIconSizeSmall),\n medium: parseInt(this.theme.kebabIconSizeMedium),\n large: parseInt(this.theme.kebabIconSizeLarge),\n };\n\n return React.cloneElement(icon as ReactElement, {\n size: icon.props.size ?? sizes[size],\n color: icon.props.color ?? this.theme.kebabIconColor,\n });\n }\n\n return icon;\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- Базовый пример кебаб-меню.
1
+ ### Базовый пример
2
2
 
3
3
  ```jsx harmony
4
4
  import EditIcon from '@skbkontur/react-icons/Edit';
@@ -44,7 +44,7 @@ let Card = ({ name, post }) => (
44
44
  </Gapped>;
45
45
  ```
46
46
 
47
- Различные размеры кебаб-меню.
47
+ ### Размер
48
48
 
49
49
  ```jsx harmony
50
50
  import EditIcon from '@skbkontur/react-icons/Edit';
@@ -84,7 +84,7 @@ let Card = ({ title, size }) => (
84
84
  </Gapped>
85
85
  ```
86
86
 
87
- Кебаб-меню с выпадашкой слева.
87
+ ### Кебаб-меню с выпадашкой слева
88
88
 
89
89
  ```jsx harmony
90
90
  import EditIcon from '@skbkontur/react-icons/Edit';
@@ -121,7 +121,7 @@ let Card = ({ title }) => (
121
121
  <Card title="С выпадашкой слева" />
122
122
  ```
123
123
 
124
- С кастомным действием при открытии.
124
+ ### Кастомное действие при открытии
125
125
 
126
126
  ```jsx harmony
127
127
  import EditIcon from '@skbkontur/react-icons/Edit';
@@ -160,7 +160,7 @@ let Card = ({ title }) => (
160
160
  <Card title="С кастомным действием" />
161
161
  ```
162
162
 
163
- С иконками и включенным по-умолчанию автоматическим выравниванием текста.
163
+ ### Иконка и автовыравнивание
164
164
 
165
165
  ```jsx harmony
166
166
  import { Button, MenuHeader, MenuItem, MenuSeparator, Kebab } from '@skbkontur/react-ui';
@@ -174,7 +174,7 @@ import OkIcon from '@skbkontur/react-icons/Ok';
174
174
  </Kebab>;
175
175
  ```
176
176
 
177
- С иконками и отключенным автоматическим выравниванием текста.
177
+ ### Иконка и отключенное автовыравнивание
178
178
 
179
179
  ```jsx harmony
180
180
  import { Button, MenuHeader, MenuItem, MenuSeparator, Kebab } from '@skbkontur/react-ui';
@@ -188,7 +188,7 @@ import OkIcon from '@skbkontur/react-icons/Ok';
188
188
  </Kebab>
189
189
  ```
190
190
 
191
- Отключенное кебаб-меню.
191
+ ### Отключенное кебаб-меню
192
192
 
193
193
  ```jsx harmony
194
194
  import EditIcon from '@skbkontur/react-icons/Edit';
@@ -224,7 +224,7 @@ let Card = ({ title }) => (
224
224
  <Card title="Не нажимается :(" />
225
225
  ```
226
226
 
227
- Кебаб-меню с отключенной анимацией.
227
+ ### Отключенная анимация
228
228
 
229
229
  ```jsx harmony
230
230
  import EditIcon from '@skbkontur/react-icons/Edit';
@@ -260,7 +260,7 @@ let Card = ({ title }) => (
260
260
  <Card title="Без анимации" />
261
261
  ```
262
262
 
263
- Кебаб-меню с заданной высотой.
263
+ ### Высота
264
264
 
265
265
  ```jsx harmony
266
266
  import EditIcon from '@skbkontur/react-icons/Edit';
@@ -0,0 +1,28 @@
1
+ import * as KebabStories from './Kebab.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={KebabStories} />
6
+
7
+ # Kebab
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/actions/kebab-menu/)
10
+
11
+ [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=230%3A2540)
12
+
13
+ <Description />
14
+
15
+ ## Базовый пример
16
+
17
+ <Primary />
18
+
19
+ ## Пропы
20
+
21
+ <details>
22
+ <summary>Открыть таблицу с пропами</summary>
23
+ <ArgTypes />
24
+ </details>
25
+
26
+ ## Примеры использования
27
+
28
+ <Stories title="" includePrimary={false} />
@@ -4,54 +4,30 @@ import { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-componen
4
4
  import { ThemeIn } from '../../lib/theming/Theme';
5
5
  import { CommonProps } from '../../internal/CommonWrapper';
6
6
  export interface LinkInnerProps extends CommonProps {
7
- /**
8
- * Отключенное состояние.
9
- */
7
+ /** Делает компонент недоступным. */
10
8
  disabled?: boolean;
11
- /**
12
- * Добавляет ссылке иконку слева.
13
- */
9
+ /** Добавляет иконку слева. */
14
10
  icon?: React.ReactElement;
15
- /**
16
- * Добавляет ссылке иконку справа.
17
- */
11
+ /** Добавляет иконку справа. */
18
12
  rightIcon?: React.ReactElement;
19
- /**
20
- * Тема ссылки.
21
- */
13
+ /** Задает тему ссылки. */
22
14
  use?: 'default' | 'success' | 'danger' | 'grayed';
23
- /**
24
- * @ignore
25
- */
15
+ /** @ignore */
26
16
  _button?: boolean;
27
- /**
28
- * @ignore
29
- */
17
+ /** @ignore */
30
18
  _buttonOpened?: boolean;
31
- /**
32
- * HTML-атрибут `tabindex`.
33
- */
19
+ /** Задает HTML-атрибут `tabindex`. */
34
20
  tabIndex?: number;
35
- /**
36
- * Переводит ссылку в состояние загрузки.
37
- */
21
+ /** Переводит кнопку в состояние загрузки. */
38
22
  loading?: boolean;
39
- /**
40
- * Обычный объект с переменными темы.
41
- * Он будет объединён с темой из контекста.
42
- */
23
+ /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */
43
24
  theme?: ThemeIn;
44
- /**
45
- * @ignore
46
- */
25
+ /** Задает состояние фокуса.
26
+ * @ignore */
47
27
  focused?: boolean;
48
- /**
49
- * Состояние валидации при ошибке.
50
- */
28
+ /** Переводит контрол в состояние валидации "ошибка". */
51
29
  error?: boolean;
52
- /**
53
- * Состояние валидации при предупреждении.
54
- */
30
+ /** Переводит контрол в состояние валидации "предупреждение". */
55
31
  warning?: boolean;
56
32
  }
57
33
  declare const LINK_DEFAULT_COMPONENT = "a";
@@ -43,19 +43,6 @@ var _LinkIcon = require("./LinkIcon");var _excluded = ["disabled", "icon", "righ
43
43
 
44
44
 
45
45
 
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
46
 
60
47
 
61
48
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_Mixins","_keyListener","_ThemeContext","_utils","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_ThemeFactory","_getVisualStateDataAttributes","_Link2","_LinkIcon","_excluded","_class","_Link","LINK_DEFAULT_COMPONENT","LinkDataTids","exports","root","Link","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","focusedByTab","getTabIndex","_ref","nonInteractive","_ref$tabIndex","tabIndex","getRel","isAnchorProps","props","_this$props","rel","href","isExternalLink","undefined","renderMain","_cx","disabled","icon","rightIcon","use","loading","_button","_buttonOpened","Root","component","_props$focused","focused","error","warning","theme","rest","_objectWithoutPropertiesLoose2","default","arrow","createElement","className","styles","isFocused","leftIconElement","LinkIcon","position","rightIconElement","hasBothIcons","rootProps","_extends2","cx","resetButton","focus","useDefault","useSuccess","useDanger","useGrayed","useGrayedFocus","button","buttonOpened","lineFocus","lineFocusSuccess","lineFocusDanger","lineFocusGrayed","onClick","handleClick","onFocus","handleFocus","onBlur","handleBlur","getVisualStateDataAttributes","children","globalObject","requestAnimationFrame","keyListener","isTabPressed","setState","event","_this$props2","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","ThemeFactory","create","CommonWrapper","rootNodeRef","setRootNode","React","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Link.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ButtonLinkAllowedValues } from '../../lib/types/button-link';\nimport { resetButton } from '../../lib/styles/Mixins';\nimport { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isExternalLink } from '../../lib/utils';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './Link.styles';\nimport { LinkIcon } from './LinkIcon';\n\nexport interface LinkInnerProps extends CommonProps {\n /**\n * Отключенное состояние.\n */\n disabled?: boolean;\n /**\n * Добавляет ссылке иконку слева.\n */\n icon?: React.ReactElement;\n /**\n * Добавляет ссылке иконку справа.\n */\n rightIcon?: React.ReactElement;\n /**\n * Тема ссылки.\n */\n use?: 'default' | 'success' | 'danger' | 'grayed';\n /**\n * @ignore\n */\n _button?: boolean;\n /**\n * @ignore\n */\n _buttonOpened?: boolean;\n /**\n * HTML-атрибут `tabindex`.\n */\n tabIndex?: number;\n /**\n * Переводит ссылку в состояние загрузки.\n */\n loading?: boolean;\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n /**\n * @ignore\n */\n focused?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n}\n\nconst LINK_DEFAULT_COMPONENT = 'a';\n\nexport type LinkProps<C extends ButtonLinkAllowedValues = typeof LINK_DEFAULT_COMPONENT> = PolymorphicPropsWithoutRef<\n LinkInnerProps,\n C\n>;\nexport interface LinkState {\n focusedByTab: boolean;\n}\n\nexport const LinkDataTids = {\n root: 'Link__root',\n} as const;\n\ntype DefaultProps = Required<Pick<LinkProps<ButtonLinkAllowedValues>, 'use' | 'component'>>;\ntype DefaultizedLinkProps = DefaultizedProps<LinkProps<ButtonLinkAllowedValues>, DefaultProps>;\n\n/**\n * Элемент ссылки из HTML.\n */\n@rootNode\nexport class Link<C extends ButtonLinkAllowedValues = typeof LINK_DEFAULT_COMPONENT> extends React.Component<\n LinkProps<C>,\n LinkState\n> {\n public static __KONTUR_REACT_UI__ = 'Link';\n public static displayName = 'Link';\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n component: LINK_DEFAULT_COMPONENT,\n };\n\n private getProps = createPropsGetter(Link.defaultProps);\n\n public state: LinkState = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTabIndex = ({\n nonInteractive,\n tabIndex = 0,\n }: {\n nonInteractive: boolean | undefined;\n tabIndex: number | undefined;\n }) => {\n return nonInteractive ? -1 : tabIndex;\n };\n\n private getRel = () => {\n if (isAnchorProps(this.props)) {\n const { rel, href } = this.props;\n if (!rel && href) {\n return `noopener${isExternalLink(href) ? ' noreferrer' : ''}`;\n }\n return rel;\n }\n\n return undefined;\n };\n\n private renderMain = (props: CommonWrapperRestProps<DefaultizedLinkProps>) => {\n const {\n disabled,\n icon,\n rightIcon,\n use,\n loading,\n _button,\n _buttonOpened,\n component: Root,\n focused = false,\n error,\n warning,\n tabIndex,\n theme,\n ...rest\n } = props;\n\n let arrow = null;\n if (_button) {\n arrow = <span className={styles.arrow()} />;\n }\n\n const isFocused = !disabled && (this.state.focusedByTab || focused);\n\n const leftIconElement = icon && <LinkIcon icon={icon} loading={loading} position=\"left\" />;\n const rightIconElement = rightIcon && (\n <LinkIcon hasBothIcons={!!icon && !!rightIcon} icon={rightIcon} loading={loading} position=\"right\" />\n );\n const nonInteractive = disabled || loading;\n\n const rootProps = {\n ...rest,\n className: cx({\n [styles.root(this.theme)]: true,\n [resetButton()]: Root === 'button',\n [styles.focus(this.theme)]: isFocused,\n [styles.disabled(this.theme)]: disabled || loading,\n [styles.useDefault(this.theme)]: use === 'default',\n [styles.useSuccess(this.theme)]: use === 'success',\n [styles.useDanger(this.theme)]: use === 'danger',\n [styles.useGrayed(this.theme)]: use === 'grayed',\n [styles.useGrayedFocus(this.theme)]: use === 'grayed' && focused,\n [styles.button(this.theme)]: !!_button,\n [styles.buttonOpened(this.theme)]: !!_buttonOpened,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.lineFocus(this.theme)]: isFocused && use === 'default',\n [styles.lineFocusSuccess(this.theme)]: isFocused && use === 'success',\n [styles.lineFocusDanger(this.theme)]: isFocused && use === 'danger',\n [styles.lineFocusGrayed(this.theme)]: isFocused && use === 'grayed',\n }),\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: this.getTabIndex({ nonInteractive, tabIndex }),\n rel: this.getRel(),\n };\n\n return (\n <Root data-tid={LinkDataTids.root} {...rootProps} {...getVisualStateDataAttributes({ disabled })}>\n {leftIconElement}\n {this.props.children}\n {rightIconElement}\n {arrow}\n </Root>\n );\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n\n private handleClick = (event: React.MouseEvent) => {\n const { onClick, disabled, loading } = this.props;\n\n if (onClick && !disabled && !loading) {\n onClick(event);\n }\n };\n}\n\nconst isAnchorProps = (props: LinkProps<any>): props is LinkProps<'a'> => {\n return props.component === 'a';\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_Mixins","_keyListener","_ThemeContext","_utils","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_ThemeFactory","_getVisualStateDataAttributes","_Link2","_LinkIcon","_excluded","_class","_Link","LINK_DEFAULT_COMPONENT","LinkDataTids","exports","root","Link","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","focusedByTab","getTabIndex","_ref","nonInteractive","_ref$tabIndex","tabIndex","getRel","isAnchorProps","props","_this$props","rel","href","isExternalLink","undefined","renderMain","_cx","disabled","icon","rightIcon","use","loading","_button","_buttonOpened","Root","component","_props$focused","focused","error","warning","theme","rest","_objectWithoutPropertiesLoose2","default","arrow","createElement","className","styles","isFocused","leftIconElement","LinkIcon","position","rightIconElement","hasBothIcons","rootProps","_extends2","cx","resetButton","focus","useDefault","useSuccess","useDanger","useGrayed","useGrayedFocus","button","buttonOpened","lineFocus","lineFocusSuccess","lineFocusDanger","lineFocusGrayed","onClick","handleClick","onFocus","handleFocus","onBlur","handleBlur","getVisualStateDataAttributes","children","globalObject","requestAnimationFrame","keyListener","isTabPressed","setState","event","_this$props2","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","ThemeFactory","create","CommonWrapper","rootNodeRef","setRootNode","React","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Link.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ButtonLinkAllowedValues } from '../../lib/types/button-link';\nimport { resetButton } from '../../lib/styles/Mixins';\nimport { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isExternalLink } from '../../lib/utils';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './Link.styles';\nimport { LinkIcon } from './LinkIcon';\n\nexport interface LinkInnerProps extends CommonProps {\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Добавляет иконку слева. */\n icon?: React.ReactElement;\n\n /** Добавляет иконку справа. */\n rightIcon?: React.ReactElement;\n\n /** Задает тему ссылки. */\n use?: 'default' | 'success' | 'danger' | 'grayed';\n\n /** @ignore */\n _button?: boolean;\n\n /** @ignore */\n _buttonOpened?: boolean;\n\n /** Задает HTML-атрибут `tabindex`. */\n tabIndex?: number;\n\n /** Переводит кнопку в состояние загрузки. */\n loading?: boolean;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n\n /** Задает состояние фокуса.\n * @ignore */\n focused?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n}\n\nconst LINK_DEFAULT_COMPONENT = 'a';\n\nexport type LinkProps<C extends ButtonLinkAllowedValues = typeof LINK_DEFAULT_COMPONENT> = PolymorphicPropsWithoutRef<\n LinkInnerProps,\n C\n>;\nexport interface LinkState {\n focusedByTab: boolean;\n}\n\nexport const LinkDataTids = {\n root: 'Link__root',\n} as const;\n\ntype DefaultProps = Required<Pick<LinkProps<ButtonLinkAllowedValues>, 'use' | 'component'>>;\ntype DefaultizedLinkProps = DefaultizedProps<LinkProps<ButtonLinkAllowedValues>, DefaultProps>;\n\n/**\n * Элемент ссылки из HTML.\n */\n@rootNode\nexport class Link<C extends ButtonLinkAllowedValues = typeof LINK_DEFAULT_COMPONENT> extends React.Component<\n LinkProps<C>,\n LinkState\n> {\n public static __KONTUR_REACT_UI__ = 'Link';\n public static displayName = 'Link';\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n component: LINK_DEFAULT_COMPONENT,\n };\n\n private getProps = createPropsGetter(Link.defaultProps);\n\n public state: LinkState = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTabIndex = ({\n nonInteractive,\n tabIndex = 0,\n }: {\n nonInteractive: boolean | undefined;\n tabIndex: number | undefined;\n }) => {\n return nonInteractive ? -1 : tabIndex;\n };\n\n private getRel = () => {\n if (isAnchorProps(this.props)) {\n const { rel, href } = this.props;\n if (!rel && href) {\n return `noopener${isExternalLink(href) ? ' noreferrer' : ''}`;\n }\n return rel;\n }\n\n return undefined;\n };\n\n private renderMain = (props: CommonWrapperRestProps<DefaultizedLinkProps>) => {\n const {\n disabled,\n icon,\n rightIcon,\n use,\n loading,\n _button,\n _buttonOpened,\n component: Root,\n focused = false,\n error,\n warning,\n tabIndex,\n theme,\n ...rest\n } = props;\n\n let arrow = null;\n if (_button) {\n arrow = <span className={styles.arrow()} />;\n }\n\n const isFocused = !disabled && (this.state.focusedByTab || focused);\n\n const leftIconElement = icon && <LinkIcon icon={icon} loading={loading} position=\"left\" />;\n const rightIconElement = rightIcon && (\n <LinkIcon hasBothIcons={!!icon && !!rightIcon} icon={rightIcon} loading={loading} position=\"right\" />\n );\n const nonInteractive = disabled || loading;\n\n const rootProps = {\n ...rest,\n className: cx({\n [styles.root(this.theme)]: true,\n [resetButton()]: Root === 'button',\n [styles.focus(this.theme)]: isFocused,\n [styles.disabled(this.theme)]: disabled || loading,\n [styles.useDefault(this.theme)]: use === 'default',\n [styles.useSuccess(this.theme)]: use === 'success',\n [styles.useDanger(this.theme)]: use === 'danger',\n [styles.useGrayed(this.theme)]: use === 'grayed',\n [styles.useGrayedFocus(this.theme)]: use === 'grayed' && focused,\n [styles.button(this.theme)]: !!_button,\n [styles.buttonOpened(this.theme)]: !!_buttonOpened,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.lineFocus(this.theme)]: isFocused && use === 'default',\n [styles.lineFocusSuccess(this.theme)]: isFocused && use === 'success',\n [styles.lineFocusDanger(this.theme)]: isFocused && use === 'danger',\n [styles.lineFocusGrayed(this.theme)]: isFocused && use === 'grayed',\n }),\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: this.getTabIndex({ nonInteractive, tabIndex }),\n rel: this.getRel(),\n };\n\n return (\n <Root data-tid={LinkDataTids.root} {...rootProps} {...getVisualStateDataAttributes({ disabled })}>\n {leftIconElement}\n {this.props.children}\n {rightIconElement}\n {arrow}\n </Root>\n );\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n\n private handleClick = (event: React.MouseEvent) => {\n const { onClick, disabled, loading } = this.props;\n\n if (onClick && !disabled && !loading) {\n onClick(event);\n }\n };\n}\n\nconst isAnchorProps = (props: LinkProps<any>): props is LinkProps<'a'> => {\n return props.component === 'a';\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,11 @@
1
- По умолчанию, ссылка принимает все пропы `HTMLAnchorElement`.
1
+ ### Базовый пример
2
2
 
3
3
  ```jsx harmony
4
4
  <Link href="https://kontur.ru" target="_blank">Обычная ссылка</Link>
5
5
  ```
6
6
 
7
+ ### Корневой элемент
7
8
  Cсылка может рендерить кнопку в качестве корневого элемента, c помощью пропа `component`. Cсылка принимает все пропы переданного в `component` компонента.
8
-
9
9
  Рекомендуется к использованию вместо кнопки с `use=link`, если нужна кнопка с визуалом ссылки.
10
10
 
11
11
  ```jsx harmony
@@ -14,7 +14,8 @@ import { Link } from '@skbkontur/react-ui';
14
14
  <Link component='button'>Кнопка, но выглядит как ссылка</Link>
15
15
  ```
16
16
 
17
- Также, c помощью пропа `component`, ссылка может рендерить компонент `Link` из `react router` в качестве корневого элемента.
17
+ ### Проп `component`
18
+ С помощью пропа `component`, ссылка может рендерить компонент `Link` из `react router` в качестве корневого элемента.
18
19
 
19
20
  ```jsx static
20
21
  import { Link } from '@skbkontur/react-ui';
@@ -25,7 +26,7 @@ import { Link as RouterLink, BrowserRouter } from 'react-router-dom';
25
26
  </BrowserRouter>
26
27
  ```
27
28
 
28
- Ссылка может иметь различные стили, а также быть отключенной.
29
+ ### Стили и disabled
29
30
 
30
31
  ```jsx harmony
31
32
  import { Gapped } from '@skbkontur/react-ui';
@@ -39,7 +40,7 @@ import { Gapped } from '@skbkontur/react-ui';
39
40
  </Gapped>;
40
41
  ```
41
42
 
42
- Пример ссылки с иконкой.
43
+ ### Иконка
43
44
 
44
45
  ```jsx harmony
45
46
  import { Gapped } from '@skbkontur/react-ui';
@@ -52,7 +53,7 @@ import { CheckAIcon16Light } from '@skbkontur/icons/CheckAIcon16Light';
52
53
  </Gapped>
53
54
  ```
54
55
 
55
- Пример ссылок ведущих на внешние ресурсы.
56
+ ### Ссылки, ведущие на внешние ресурсы
56
57
 
57
58
  _Примечание_:
58
59
 
@@ -73,7 +74,7 @@ import { Gapped } from '@skbkontur/react-ui';
73
74
  </Gapped>
74
75
  ```
75
76
 
76
- Ссылка в состоянии загрузки.
77
+ ### Состояние загрузки
77
78
 
78
79
  **Поведение**: если у ссылки есть иконка, она заменяется на спиннер, когда иконки две заменяется только левая.
79
80
 
@@ -94,7 +95,7 @@ const [isLoading, setIsLoading] = React.useState(false);
94
95
  </Gapped>
95
96
  ```
96
97
 
97
- Ссылка может иметь кастомное действие при нажатии.
98
+ ### Кастомное действие при нажатии
98
99
 
99
100
  ```jsx harmony
100
101
  import { Toast } from '@skbkontur/react-ui';
@@ -102,7 +103,7 @@ import { Toast } from '@skbkontur/react-ui';
102
103
  <Link onClick={() => Toast.push("Ты нажал на ссылку!")}>Ссылка с кастомным действием</Link>
103
104
  ```
104
105
 
105
- Пример ссылки с пропом `theme`
106
+ ### Проп `theme`
106
107
 
107
108
  ```jsx harmony
108
109
  import { Link, Gapped } from '@skbkontur/react-ui';
@@ -114,7 +115,7 @@ import { Link, Gapped } from '@skbkontur/react-ui';
114
115
  ```
115
116
 
116
117
 
117
- Пример кастомизации ссылки
118
+ ### Кастомизация ссылки
118
119
 
119
120
  ```jsx harmony
120
121
  import { Toast, Button } from "@skbkontur/react-ui";
@@ -153,7 +154,7 @@ const tdStyle = {
153
154
  padding: '8px',
154
155
  };
155
156
 
156
- const renderExampleRow = (title, styles, index) => {
157
+ const renderExampleRow = (title, styles) => {
157
158
  return (
158
159
  <tr>
159
160
  <td style={tdStyle}>{title}</td>
@@ -0,0 +1,28 @@
1
+ import * as LinkStories from './Link.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={LinkStories} />
6
+
7
+ # Link
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/actions/hyperlink/)
10
+
11
+ [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI?type=design&node-id=953%3A23703&mode=design&t=os7wLLJCaKzU1UFM-1)
12
+
13
+ <Description />
14
+
15
+ ## Базовый пример
16
+
17
+ <Primary />
18
+
19
+ ## Пропы
20
+
21
+ <details>
22
+ <summary>Открыть таблицу с пропами</summary>
23
+ <ArgTypes />
24
+ </details>
25
+
26
+ ## Примеры использования
27
+
28
+ <Stories title="" includePrimary={false} />