@skbkontur/react-ui 5.0.5 → 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 (741) hide show
  1. package/CHANGELOG.md +0 -11
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +16 -17
  3. package/cjs/components/Autocomplete/Autocomplete.js +13 -2
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.md +9 -7
  6. package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
  7. package/cjs/components/Autocomplete/locale/types.js +1 -1
  8. package/cjs/components/Button/Button.d.ts +20 -62
  9. package/cjs/components/Button/Button.js +0 -42
  10. package/cjs/components/Button/Button.js.map +1 -1
  11. package/cjs/components/Button/Button.md +40 -26
  12. package/cjs/components/Button/__docs__/Button.mdx +28 -0
  13. package/cjs/components/Calendar/Calendar.d.ts +22 -45
  14. package/cjs/components/Calendar/Calendar.js +1 -15
  15. package/cjs/components/Calendar/Calendar.js.map +1 -1
  16. package/cjs/components/Calendar/Calendar.md +12 -12
  17. package/cjs/components/Calendar/CalendarDay.d.ts +7 -0
  18. package/cjs/components/Calendar/CalendarDay.js +11 -0
  19. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  20. package/cjs/components/Calendar/CalendarDay.md +32 -32
  21. package/cjs/components/Calendar/__docs__/Calendar.mdx +28 -0
  22. package/cjs/components/Calendar/__docs__/CalendarDay.mdx +24 -0
  23. package/cjs/components/Calendar/locale/types.js +1 -1
  24. package/cjs/components/Center/Center.d.ts +4 -6
  25. package/cjs/components/Center/Center.js +3 -5
  26. package/cjs/components/Center/Center.js.map +1 -1
  27. package/cjs/components/Center/Center.md +1 -1
  28. package/cjs/components/Center/__docs__/Center.mdx +24 -0
  29. package/cjs/components/Checkbox/Checkbox.d.ts +20 -28
  30. package/cjs/components/Checkbox/Checkbox.js +7 -6
  31. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  32. package/cjs/components/Checkbox/Checkbox.md +6 -5
  33. package/cjs/components/Checkbox/__docs__/Checkbox.mdx +28 -0
  34. package/cjs/components/ComboBox/ComboBox.d.ts +64 -85
  35. package/cjs/components/ComboBox/ComboBox.js +11 -27
  36. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  37. package/cjs/components/ComboBox/ComboBox.md +41 -40
  38. package/cjs/components/ComboBox/__docs__/ComboBox.mdx +28 -0
  39. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
  40. package/cjs/components/CurrencyInput/CurrencyHelper.js +7 -0
  41. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  42. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +12 -12
  43. package/cjs/components/CurrencyInput/CurrencyInput.js +8 -2
  44. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  45. package/cjs/components/CurrencyInput/CurrencyInput.md +3 -1
  46. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
  47. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +5 -0
  48. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  49. package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
  50. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
  51. package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -0
  52. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  53. package/cjs/components/CurrencyLabel/CurrencyLabel.md +5 -5
  54. package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
  55. package/cjs/components/DateInput/DateInput.d.ts +19 -27
  56. package/cjs/components/DateInput/DateInput.js +7 -1
  57. package/cjs/components/DateInput/DateInput.js.map +1 -1
  58. package/cjs/components/DateInput/DateInput.md +7 -2
  59. package/cjs/components/DateInput/__docs__/DateInput.mdx +26 -0
  60. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -1
  61. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  62. package/cjs/components/DatePicker/DatePicker.d.ts +27 -22
  63. package/cjs/components/DatePicker/DatePicker.js +24 -1
  64. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  65. package/cjs/components/DatePicker/DatePicker.md +2 -2
  66. package/cjs/components/DatePicker/__docs__/DatePicker.mdx +28 -0
  67. package/cjs/components/DatePicker/locale/types.js +1 -1
  68. package/cjs/components/Dropdown/Dropdown.d.ts +25 -30
  69. package/cjs/components/Dropdown/Dropdown.js +8 -1
  70. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  71. package/cjs/components/Dropdown/Dropdown.md +2 -1
  72. package/cjs/components/Dropdown/__docs__/Dropdown.mdx +28 -0
  73. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  74. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
  75. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  76. package/cjs/components/DropdownMenu/DropdownMenu.md +12 -10
  77. package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
  78. package/cjs/components/FileUploader/FileUploader.d.ts +16 -20
  79. package/cjs/components/FileUploader/FileUploader.js +5 -3
  80. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  81. package/cjs/components/FileUploader/FileUploader.md +9 -9
  82. package/cjs/components/FileUploader/__docs__/FileUploader.mdx +28 -0
  83. package/cjs/components/FileUploader/locale/types.js +1 -1
  84. package/cjs/components/FxInput/FxInput.d.ts +15 -9
  85. package/cjs/components/FxInput/FxInput.js +14 -1
  86. package/cjs/components/FxInput/FxInput.js.map +1 -1
  87. package/cjs/components/FxInput/FxInput.md +2 -0
  88. package/cjs/components/FxInput/__docs__/FxInput.mdx +28 -0
  89. package/cjs/components/Gapped/Gapped.d.ts +6 -17
  90. package/cjs/components/Gapped/Gapped.js +1 -8
  91. package/cjs/components/Gapped/Gapped.js.map +1 -1
  92. package/cjs/components/Gapped/Gapped.md +3 -2
  93. package/cjs/components/Gapped/__docs__/Gapped.mdx +24 -0
  94. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +22 -32
  95. package/cjs/components/GlobalLoader/GlobalLoader.js +14 -14
  96. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  97. package/cjs/components/GlobalLoader/GlobalLoader.md +4 -5
  98. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
  99. package/cjs/components/GlobalLoader/GlobalLoaderView.js +7 -0
  100. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  101. package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
  102. package/cjs/components/Group/Group.d.ts +6 -0
  103. package/cjs/components/Group/Group.js +7 -1
  104. package/cjs/components/Group/Group.js.map +1 -1
  105. package/cjs/components/Group/Group.md +1 -0
  106. package/cjs/components/Group/__docs__/Group.mdx +24 -0
  107. package/cjs/components/Hint/Hint.d.ts +18 -40
  108. package/cjs/components/Hint/Hint.js +4 -16
  109. package/cjs/components/Hint/Hint.js.map +1 -1
  110. package/cjs/components/Hint/Hint.md +9 -8
  111. package/cjs/components/Hint/__docs__/Hint.mdx +29 -0
  112. package/cjs/components/Input/Input.d.ts +46 -68
  113. package/cjs/components/Input/Input.js +10 -9
  114. package/cjs/components/Input/Input.js.map +1 -1
  115. package/cjs/components/Input/Input.md +11 -2
  116. package/cjs/components/Input/Input.typings.js +1 -1
  117. package/cjs/components/Input/__docs__/Input.mdx +28 -0
  118. package/cjs/components/Kebab/Kebab.d.ts +12 -16
  119. package/cjs/components/Kebab/Kebab.js +4 -2
  120. package/cjs/components/Kebab/Kebab.js.map +1 -1
  121. package/cjs/components/Kebab/Kebab.md +9 -9
  122. package/cjs/components/Kebab/__docs__/Kebab.mdx +28 -0
  123. package/cjs/components/Link/Link.d.ts +13 -37
  124. package/cjs/components/Link/Link.js +0 -13
  125. package/cjs/components/Link/Link.js.map +1 -1
  126. package/cjs/components/Link/Link.md +12 -11
  127. package/cjs/components/Link/__docs__/Link.mdx +28 -0
  128. package/cjs/components/Loader/Loader.d.ts +13 -25
  129. package/cjs/components/Loader/Loader.js +2 -8
  130. package/cjs/components/Loader/Loader.js.map +1 -1
  131. package/cjs/components/Loader/Loader.md +1 -0
  132. package/cjs/components/Loader/__docs__/Loader.mdx +26 -0
  133. package/cjs/components/MaskedInput/MaskedInput.d.ts +13 -33
  134. package/cjs/components/MaskedInput/MaskedInput.js +0 -13
  135. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  136. package/cjs/components/MaskedInput/MaskedInput.md +7 -5
  137. package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
  138. package/cjs/components/MenuFooter/MenuFooter.d.ts +6 -4
  139. package/cjs/components/MenuFooter/MenuFooter.js +7 -3
  140. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  141. package/cjs/components/MenuFooter/MenuFooter.md +2 -2
  142. package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
  143. package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -4
  144. package/cjs/components/MenuHeader/MenuHeader.js +7 -3
  145. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  146. package/cjs/components/MenuHeader/MenuHeader.md +2 -2
  147. package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
  148. package/cjs/components/MenuItem/MenuItem.d.ts +22 -55
  149. package/cjs/components/MenuItem/MenuItem.js +1 -18
  150. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  151. package/cjs/components/MenuItem/MenuItem.md +34 -30
  152. package/cjs/components/MenuItem/__docs__/MenuItem.mdx +24 -0
  153. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +2 -2
  154. package/cjs/components/MenuSeparator/MenuSeparator.js +3 -2
  155. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  156. package/cjs/components/MenuSeparator/MenuSeparator.md +1 -1
  157. package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
  158. package/cjs/components/MiniModal/MiniModal.d.ts +6 -0
  159. package/cjs/components/MiniModal/MiniModal.js +6 -0
  160. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  161. package/cjs/components/MiniModal/MiniModal.md +1 -3
  162. package/cjs/components/MiniModal/MiniModalFooter.d.ts +2 -7
  163. package/cjs/components/MiniModal/MiniModalFooter.js +0 -5
  164. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -1
  165. package/cjs/components/MiniModal/MiniModalHeader.d.ts +2 -5
  166. package/cjs/components/MiniModal/MiniModalHeader.js +0 -3
  167. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -1
  168. package/cjs/components/MiniModal/__docs__/MiniModal.mdx +28 -0
  169. package/cjs/components/MiniModal/__docs__/MiniModalBody.mdx +15 -0
  170. package/cjs/components/MiniModal/__docs__/MiniModalFooter.mdx +15 -0
  171. package/cjs/components/MiniModal/__docs__/MiniModalHeader.mdx +15 -0
  172. package/cjs/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
  173. package/cjs/components/Modal/Modal.d.ts +12 -33
  174. package/cjs/components/Modal/Modal.js +4 -24
  175. package/cjs/components/Modal/Modal.js.map +1 -1
  176. package/cjs/components/Modal/Modal.md +3 -1
  177. package/cjs/components/Modal/ModalBody.d.ts +2 -4
  178. package/cjs/components/Modal/ModalBody.js +1 -3
  179. package/cjs/components/Modal/ModalBody.js.map +1 -1
  180. package/cjs/components/Modal/ModalContext.d.ts +2 -0
  181. package/cjs/components/Modal/ModalContext.js +3 -0
  182. package/cjs/components/Modal/ModalContext.js.map +1 -1
  183. package/cjs/components/Modal/ModalFooter.d.ts +5 -15
  184. package/cjs/components/Modal/ModalFooter.js +0 -7
  185. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  186. package/cjs/components/Modal/ModalHeader.d.ts +3 -1
  187. package/cjs/components/Modal/ModalHeader.js +4 -1
  188. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  189. package/cjs/components/Modal/ModalSeparator.d.ts +1 -0
  190. package/cjs/components/Modal/ModalSeparator.js +1 -0
  191. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  192. package/cjs/components/Modal/__docs__/Modal.mdx +28 -0
  193. package/cjs/components/Modal/__docs__/ModalBody.mdx +15 -0
  194. package/cjs/components/Modal/__docs__/ModalFooter.mdx +15 -0
  195. package/cjs/components/Modal/__docs__/ModalHeader.mdx +15 -0
  196. package/cjs/components/Modal/__docs__/ModalSeparator.mdx +15 -0
  197. package/cjs/components/Modal/locale/types.js +1 -1
  198. package/cjs/components/Paging/Paging.d.ts +20 -15
  199. package/cjs/components/Paging/Paging.js +17 -1
  200. package/cjs/components/Paging/Paging.js.map +1 -1
  201. package/cjs/components/Paging/Paging.md +3 -2
  202. package/cjs/components/Paging/PagingDefaultComponent.d.ts +2 -0
  203. package/cjs/components/Paging/PagingDefaultComponent.js +3 -0
  204. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
  205. package/cjs/components/Paging/__creevey__/Paging.creevey.js +2 -1
  206. package/cjs/components/Paging/__creevey__/Paging.creevey.js.map +1 -1
  207. package/cjs/components/Paging/__docs__/Paging.mdx +28 -0
  208. package/cjs/components/Paging/locale/types.js +1 -1
  209. package/cjs/components/PasswordInput/PasswordInput.d.ts +4 -1
  210. package/cjs/components/PasswordInput/PasswordInput.js +4 -1
  211. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  212. package/cjs/components/PasswordInput/PasswordInput.md +3 -2
  213. package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
  214. package/cjs/components/PasswordInput/locale/types.js +1 -1
  215. package/cjs/components/Radio/Radio.d.ts +13 -28
  216. package/cjs/components/Radio/Radio.js +1 -8
  217. package/cjs/components/Radio/Radio.js.map +1 -1
  218. package/cjs/components/Radio/Radio.md +3 -2
  219. package/cjs/components/Radio/__docs__/Radio.mdx +28 -0
  220. package/cjs/components/RadioGroup/RadioGroup.d.ts +28 -54
  221. package/cjs/components/RadioGroup/RadioGroup.js +4 -15
  222. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  223. package/cjs/components/RadioGroup/RadioGroup.md +1 -0
  224. package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
  225. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
  226. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +6 -2
  227. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  228. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
  229. package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
  230. package/cjs/components/ResponsiveLayout/types.js +1 -1
  231. package/cjs/components/ScrollContainer/ScrollBar.d.ts +7 -0
  232. package/cjs/components/ScrollContainer/ScrollBar.js +13 -0
  233. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  234. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +23 -29
  235. package/cjs/components/ScrollContainer/ScrollContainer.js +8 -1
  236. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  237. package/cjs/components/ScrollContainer/ScrollContainer.md +5 -3
  238. package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
  239. package/cjs/components/Select/Item.d.ts +2 -0
  240. package/cjs/components/Select/Item.js +3 -0
  241. package/cjs/components/Select/Item.js.map +1 -1
  242. package/cjs/components/Select/Select.d.ts +54 -38
  243. package/cjs/components/Select/Select.js +57 -1
  244. package/cjs/components/Select/Select.js.map +1 -1
  245. package/cjs/components/Select/Select.md +7 -6
  246. package/cjs/components/Select/__docs__/Select.mdx +28 -0
  247. package/cjs/components/Select/locale/types.js +1 -1
  248. package/cjs/components/SidePage/SidePage.d.ts +16 -38
  249. package/cjs/components/SidePage/SidePage.js +5 -27
  250. package/cjs/components/SidePage/SidePage.js.map +1 -1
  251. package/cjs/components/SidePage/SidePage.md +2 -1
  252. package/cjs/components/SidePage/SidePageFooter.d.ts +4 -9
  253. package/cjs/components/SidePage/SidePageFooter.js +0 -2
  254. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  255. package/cjs/components/SidePage/SidePageHeader.d.ts +2 -0
  256. package/cjs/components/SidePage/SidePageHeader.js +3 -0
  257. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  258. package/cjs/components/SidePage/__docs__/SidePage.mdx +28 -0
  259. package/cjs/components/SidePage/__docs__/SidePageBody.mdx +15 -0
  260. package/cjs/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
  261. package/cjs/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
  262. package/cjs/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
  263. package/cjs/components/SidePage/locale/types.js +1 -1
  264. package/cjs/components/SingleToast/SingleToast.d.ts +5 -1
  265. package/cjs/components/SingleToast/SingleToast.js +5 -1
  266. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  267. package/cjs/components/SingleToast/SingleToast.md +2 -1
  268. package/cjs/components/SingleToast/__docs__/SingleToast.mdx +28 -0
  269. package/cjs/components/Spinner/Spinner.d.ts +15 -20
  270. package/cjs/components/Spinner/Spinner.js +6 -7
  271. package/cjs/components/Spinner/Spinner.js.map +1 -1
  272. package/cjs/components/Spinner/Spinner.md +2 -1
  273. package/cjs/components/Spinner/__docs__/Spinner.mdx +28 -0
  274. package/cjs/components/Sticky/Sticky.d.ts +9 -4
  275. package/cjs/components/Sticky/Sticky.js +9 -1
  276. package/cjs/components/Sticky/Sticky.js.map +1 -1
  277. package/cjs/components/Sticky/Sticky.md +1 -0
  278. package/cjs/components/Sticky/__docs__/Sticky.mdx +24 -0
  279. package/cjs/components/Switcher/Switcher.d.ts +18 -7
  280. package/cjs/components/Switcher/Switcher.js +12 -1
  281. package/cjs/components/Switcher/Switcher.js.map +1 -1
  282. package/cjs/components/Switcher/Switcher.md +6 -2
  283. package/cjs/components/Switcher/__docs__/Switcher.mdx +28 -0
  284. package/cjs/components/Tabs/Tab.d.ts +12 -31
  285. package/cjs/components/Tabs/Tab.js +1 -20
  286. package/cjs/components/Tabs/Tab.js.map +1 -1
  287. package/cjs/components/Tabs/Tab.md +2 -0
  288. package/cjs/components/Tabs/Tabs.d.ts +14 -25
  289. package/cjs/components/Tabs/Tabs.js +6 -17
  290. package/cjs/components/Tabs/Tabs.js.map +1 -1
  291. package/cjs/components/Tabs/Tabs.md +3 -2
  292. package/cjs/components/Tabs/__docs__/Tab.mdx +28 -0
  293. package/cjs/components/Tabs/__docs__/Tabs.mdx +28 -0
  294. package/cjs/components/Textarea/Textarea.d.ts +26 -52
  295. package/cjs/components/Textarea/Textarea.js +3 -23
  296. package/cjs/components/Textarea/Textarea.js.map +1 -1
  297. package/cjs/components/Textarea/Textarea.md +4 -2
  298. package/cjs/components/Textarea/__docs__/Textarea.mdx +28 -0
  299. package/cjs/components/Toast/Toast.d.ts +6 -7
  300. package/cjs/components/Toast/Toast.js +4 -3
  301. package/cjs/components/Toast/Toast.js.map +1 -1
  302. package/cjs/components/Toast/Toast.md +4 -4
  303. package/cjs/components/Toast/ToastView.d.ts +2 -6
  304. package/cjs/components/Toast/ToastView.js +0 -4
  305. package/cjs/components/Toast/ToastView.js.map +1 -1
  306. package/cjs/components/Toast/__docs__/Toast.mdx +28 -0
  307. package/cjs/components/Toast/locale/types.js +1 -1
  308. package/cjs/components/Toggle/Toggle.d.ts +25 -48
  309. package/cjs/components/Toggle/Toggle.js +4 -12
  310. package/cjs/components/Toggle/Toggle.js.map +1 -1
  311. package/cjs/components/Toggle/Toggle.md +9 -9
  312. package/cjs/components/Toggle/__docs__/Toggle.mdx +28 -0
  313. package/cjs/components/Token/Token.d.ts +17 -9
  314. package/cjs/components/Token/Token.js +9 -1
  315. package/cjs/components/Token/Token.js.map +1 -1
  316. package/cjs/components/Token/Token.md +86 -3
  317. package/cjs/components/Token/TokenView.d.ts +3 -0
  318. package/cjs/components/Token/TokenView.js +3 -0
  319. package/cjs/components/Token/TokenView.js.map +1 -1
  320. package/cjs/components/Token/__docs__/Token.mdx +28 -0
  321. package/cjs/components/Token/locale/types.js +1 -1
  322. package/cjs/components/TokenInput/TextWidthHelper.d.ts +3 -0
  323. package/cjs/components/TokenInput/TextWidthHelper.js +5 -0
  324. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  325. package/cjs/components/TokenInput/TokenInput.d.ts +54 -97
  326. package/cjs/components/TokenInput/TokenInput.js +7 -18
  327. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  328. package/cjs/components/TokenInput/TokenInput.md +12 -10
  329. package/cjs/components/TokenInput/TokenInputMenu.d.ts +5 -5
  330. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  331. package/cjs/components/TokenInput/__docs__/TokenInput.mdx +28 -0
  332. package/cjs/components/TokenInput/locale/types.js +1 -1
  333. package/cjs/components/Tooltip/Tooltip.d.ts +28 -68
  334. package/cjs/components/Tooltip/Tooltip.js +9 -63
  335. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  336. package/cjs/components/Tooltip/Tooltip.md +5 -0
  337. package/cjs/components/Tooltip/__docs__/Tooltip.mdx +28 -0
  338. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +13 -28
  339. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -16
  340. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  341. package/cjs/components/TooltipMenu/TooltipMenu.md +13 -10
  342. package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
  343. package/cjs/index.d.ts +1 -0
  344. package/cjs/index.js +1 -0
  345. package/cjs/index.js.map +1 -1
  346. package/cjs/internal/CommonWrapper/types.js +1 -1
  347. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js +1 -1
  348. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  349. package/cjs/internal/CustomComboBox/locale/types.js +1 -1
  350. package/cjs/internal/DateSelect/locale/types.js +1 -1
  351. package/cjs/internal/FileUploaderControl/fileUtils.js +1 -1
  352. package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -1
  353. package/cjs/internal/Popup/types.js +1 -1
  354. package/cjs/internal/RenderContainer/RenderContainerTypes.js +1 -1
  355. package/cjs/internal/ThemePlayground/Playground.styles.js +2 -1
  356. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  357. package/cjs/internal/ThemePlayground/constants.js +1 -1
  358. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  359. package/cjs/internal/ThemeShowcase/VariablesCollector.js +0 -2
  360. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  361. package/cjs/internal/themes/BasicLightTheme.d.ts +3 -0
  362. package/cjs/internal/themes/BasicLightTheme.js +4 -1
  363. package/cjs/internal/themes/BasicLightTheme.js.map +1 -1
  364. package/cjs/lib/date/types.js +6 -6
  365. package/cjs/lib/date/types.js.map +1 -1
  366. package/cjs/lib/events/MouseDrag.js +1 -1
  367. package/cjs/lib/events/MouseDrag.js.map +1 -1
  368. package/cjs/lib/events/keyboard/KeyboardEventCodes.js +1 -1
  369. package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  370. package/cjs/lib/locale/types.js +1 -1
  371. package/cjs/lib/locale/types.js.map +1 -1
  372. package/cjs/lib/theming/Theme.js +1 -1
  373. package/cjs/lib/types/button-link.js +1 -1
  374. package/cjs/lib/types/polymorphic-component.js +1 -1
  375. package/cjs/lib/types/props.js +1 -1
  376. package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -2
  377. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  378. package/components/Autocomplete/Autocomplete.d.ts +16 -17
  379. package/components/Autocomplete/Autocomplete.md +9 -7
  380. package/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
  381. package/components/Autocomplete/locale/types/types.js +0 -1
  382. package/components/Button/Button/Button.js.map +1 -1
  383. package/components/Button/Button.d.ts +20 -62
  384. package/components/Button/Button.md +40 -26
  385. package/components/Button/__docs__/Button.mdx +28 -0
  386. package/components/Calendar/Calendar/Calendar.js +1 -1
  387. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  388. package/components/Calendar/Calendar.d.ts +22 -45
  389. package/components/Calendar/Calendar.md +12 -12
  390. package/components/Calendar/CalendarDay/CalendarDay.js +2 -0
  391. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  392. package/components/Calendar/CalendarDay.d.ts +7 -0
  393. package/components/Calendar/CalendarDay.md +32 -32
  394. package/components/Calendar/__docs__/Calendar.mdx +28 -0
  395. package/components/Calendar/__docs__/CalendarDay.mdx +24 -0
  396. package/components/Calendar/locale/types/types.js +0 -1
  397. package/components/Center/Center/Center.js +3 -1
  398. package/components/Center/Center/Center.js.map +1 -1
  399. package/components/Center/Center.d.ts +4 -6
  400. package/components/Center/Center.md +1 -1
  401. package/components/Center/__docs__/Center.mdx +24 -0
  402. package/components/Checkbox/Checkbox/Checkbox.js +7 -0
  403. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  404. package/components/Checkbox/Checkbox.d.ts +20 -28
  405. package/components/Checkbox/Checkbox.md +6 -5
  406. package/components/Checkbox/__docs__/Checkbox.mdx +28 -0
  407. package/components/ComboBox/ComboBox/ComboBox.js +11 -0
  408. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  409. package/components/ComboBox/ComboBox.d.ts +64 -85
  410. package/components/ComboBox/ComboBox.md +41 -40
  411. package/components/ComboBox/__docs__/ComboBox.mdx +28 -0
  412. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  413. package/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
  414. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +5 -2
  415. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  416. package/components/CurrencyInput/CurrencyInput.d.ts +12 -12
  417. package/components/CurrencyInput/CurrencyInput.md +3 -1
  418. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  419. package/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
  420. package/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
  421. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +4 -0
  422. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  423. package/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
  424. package/components/CurrencyLabel/CurrencyLabel.md +5 -5
  425. package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
  426. package/components/DateInput/DateInput/DateInput.js +4 -0
  427. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  428. package/components/DateInput/DateInput.d.ts +19 -27
  429. package/components/DateInput/DateInput.md +7 -2
  430. package/components/DateInput/__docs__/DateInput.mdx +26 -0
  431. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +3 -3
  432. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  433. package/components/DatePicker/DatePicker/DatePicker.js +8 -0
  434. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  435. package/components/DatePicker/DatePicker.d.ts +27 -22
  436. package/components/DatePicker/DatePicker.md +2 -2
  437. package/components/DatePicker/__docs__/DatePicker.mdx +28 -0
  438. package/components/DatePicker/locale/types/types.js +0 -1
  439. package/components/Dropdown/Dropdown/Dropdown.js +7 -1
  440. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  441. package/components/Dropdown/Dropdown.d.ts +25 -30
  442. package/components/Dropdown/Dropdown.md +2 -1
  443. package/components/Dropdown/__docs__/Dropdown.mdx +28 -0
  444. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
  445. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  446. package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  447. package/components/DropdownMenu/DropdownMenu.md +12 -10
  448. package/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
  449. package/components/FileUploader/FileUploader/FileUploader.js +6 -0
  450. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  451. package/components/FileUploader/FileUploader.d.ts +16 -20
  452. package/components/FileUploader/FileUploader.md +9 -9
  453. package/components/FileUploader/__docs__/FileUploader.mdx +28 -0
  454. package/components/FileUploader/locale/types/types.js +0 -1
  455. package/components/FxInput/FxInput/FxInput.js +7 -1
  456. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  457. package/components/FxInput/FxInput.d.ts +15 -9
  458. package/components/FxInput/FxInput.md +2 -0
  459. package/components/FxInput/__docs__/FxInput.mdx +28 -0
  460. package/components/Gapped/Gapped/Gapped.js +1 -1
  461. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  462. package/components/Gapped/Gapped.d.ts +6 -17
  463. package/components/Gapped/Gapped.md +3 -2
  464. package/components/Gapped/__docs__/Gapped.mdx +24 -0
  465. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +13 -0
  466. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  467. package/components/GlobalLoader/GlobalLoader.d.ts +22 -32
  468. package/components/GlobalLoader/GlobalLoader.md +4 -5
  469. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  470. package/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
  471. package/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
  472. package/components/Group/Group/Group.js +6 -0
  473. package/components/Group/Group/Group.js.map +1 -1
  474. package/components/Group/Group.d.ts +6 -0
  475. package/components/Group/Group.md +1 -0
  476. package/components/Group/__docs__/Group.mdx +24 -0
  477. package/components/Hint/Hint/Hint.js +4 -1
  478. package/components/Hint/Hint/Hint.js.map +1 -1
  479. package/components/Hint/Hint.d.ts +18 -40
  480. package/components/Hint/Hint.md +9 -8
  481. package/components/Hint/__docs__/Hint.mdx +29 -0
  482. package/components/Input/Input/Input.js +10 -1
  483. package/components/Input/Input/Input.js.map +1 -1
  484. package/components/Input/Input.d.ts +46 -68
  485. package/components/Input/Input.md +11 -2
  486. package/components/Input/Input.typings/Input.typings.js +0 -1
  487. package/components/Input/__docs__/Input.mdx +28 -0
  488. package/components/Kebab/Kebab/Kebab.js +4 -0
  489. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  490. package/components/Kebab/Kebab.d.ts +12 -16
  491. package/components/Kebab/Kebab.md +9 -9
  492. package/components/Kebab/__docs__/Kebab.mdx +28 -0
  493. package/components/Link/Link/Link.js.map +1 -1
  494. package/components/Link/Link.d.ts +13 -37
  495. package/components/Link/Link.md +12 -11
  496. package/components/Link/__docs__/Link.mdx +28 -0
  497. package/components/Loader/Loader/Loader.js +2 -2
  498. package/components/Loader/Loader/Loader.js.map +1 -1
  499. package/components/Loader/Loader.d.ts +13 -25
  500. package/components/Loader/Loader.md +1 -0
  501. package/components/Loader/__docs__/Loader.mdx +26 -0
  502. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  503. package/components/MaskedInput/MaskedInput.d.ts +13 -33
  504. package/components/MaskedInput/MaskedInput.md +7 -5
  505. package/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
  506. package/components/MenuFooter/MenuFooter/MenuFooter.js +3 -3
  507. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  508. package/components/MenuFooter/MenuFooter.d.ts +6 -4
  509. package/components/MenuFooter/MenuFooter.md +2 -2
  510. package/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
  511. package/components/MenuHeader/MenuHeader/MenuHeader.js +3 -3
  512. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  513. package/components/MenuHeader/MenuHeader.d.ts +6 -4
  514. package/components/MenuHeader/MenuHeader.md +2 -2
  515. package/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
  516. package/components/MenuItem/MenuItem/MenuItem.js +1 -2
  517. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  518. package/components/MenuItem/MenuItem.d.ts +22 -55
  519. package/components/MenuItem/MenuItem.md +34 -30
  520. package/components/MenuItem/__docs__/MenuItem.mdx +24 -0
  521. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +3 -2
  522. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  523. package/components/MenuSeparator/MenuSeparator.d.ts +2 -2
  524. package/components/MenuSeparator/MenuSeparator.md +1 -1
  525. package/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
  526. package/components/MiniModal/MiniModal/MiniModal.js +7 -0
  527. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
  528. package/components/MiniModal/MiniModal.d.ts +6 -0
  529. package/components/MiniModal/MiniModal.md +1 -3
  530. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -1
  531. package/components/MiniModal/MiniModalFooter.d.ts +2 -7
  532. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -1
  533. package/components/MiniModal/MiniModalHeader.d.ts +2 -5
  534. package/components/MiniModal/__docs__/MiniModal.mdx +28 -0
  535. package/components/MiniModal/__docs__/MiniModalBody.mdx +15 -0
  536. package/components/MiniModal/__docs__/MiniModalFooter.mdx +15 -0
  537. package/components/MiniModal/__docs__/MiniModalHeader.mdx +15 -0
  538. package/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
  539. package/components/Modal/Modal/Modal.js +4 -9
  540. package/components/Modal/Modal/Modal.js.map +1 -1
  541. package/components/Modal/Modal.d.ts +12 -33
  542. package/components/Modal/Modal.md +3 -1
  543. package/components/Modal/ModalBody/ModalBody.js +1 -1
  544. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  545. package/components/Modal/ModalBody.d.ts +2 -4
  546. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  547. package/components/Modal/ModalContext.d.ts +2 -0
  548. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  549. package/components/Modal/ModalFooter.d.ts +5 -15
  550. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  551. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  552. package/components/Modal/ModalHeader.d.ts +3 -1
  553. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  554. package/components/Modal/ModalSeparator.d.ts +1 -0
  555. package/components/Modal/__docs__/Modal.mdx +28 -0
  556. package/components/Modal/__docs__/ModalBody.mdx +15 -0
  557. package/components/Modal/__docs__/ModalFooter.mdx +15 -0
  558. package/components/Modal/__docs__/ModalHeader.mdx +15 -0
  559. package/components/Modal/__docs__/ModalSeparator.mdx +15 -0
  560. package/components/Modal/locale/types/types.js +0 -1
  561. package/components/Paging/Paging/Paging.js +4 -0
  562. package/components/Paging/Paging/Paging.js.map +1 -1
  563. package/components/Paging/Paging.d.ts +20 -15
  564. package/components/Paging/Paging.md +3 -2
  565. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
  566. package/components/Paging/PagingDefaultComponent.d.ts +2 -0
  567. package/components/Paging/__creevey__/Paging.creevey/Paging.creevey.js +1 -1
  568. package/components/Paging/__creevey__/Paging.creevey/Paging.creevey.js.map +1 -1
  569. package/components/Paging/__docs__/Paging.mdx +28 -0
  570. package/components/Paging/locale/types/types.js +0 -1
  571. package/components/PasswordInput/PasswordInput/PasswordInput.js +3 -1
  572. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  573. package/components/PasswordInput/PasswordInput.d.ts +4 -1
  574. package/components/PasswordInput/PasswordInput.md +3 -2
  575. package/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
  576. package/components/PasswordInput/locale/types/types.js +0 -1
  577. package/components/Radio/Radio/Radio.js +1 -1
  578. package/components/Radio/Radio/Radio.js.map +1 -1
  579. package/components/Radio/Radio.d.ts +13 -28
  580. package/components/Radio/Radio.md +3 -2
  581. package/components/Radio/__docs__/Radio.mdx +28 -0
  582. package/components/RadioGroup/RadioGroup/RadioGroup.js +4 -5
  583. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  584. package/components/RadioGroup/RadioGroup.d.ts +28 -54
  585. package/components/RadioGroup/RadioGroup.md +1 -0
  586. package/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
  587. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +1 -2
  588. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  589. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
  590. package/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
  591. package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
  592. package/components/ResponsiveLayout/types/types.js +0 -1
  593. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  594. package/components/ScrollContainer/ScrollBar.d.ts +7 -0
  595. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +4 -0
  596. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  597. package/components/ScrollContainer/ScrollContainer.d.ts +23 -29
  598. package/components/ScrollContainer/ScrollContainer.md +5 -3
  599. package/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
  600. package/components/Select/Item/Item.js.map +1 -1
  601. package/components/Select/Item.d.ts +2 -0
  602. package/components/Select/Select/Select.js +11 -0
  603. package/components/Select/Select/Select.js.map +1 -1
  604. package/components/Select/Select.d.ts +54 -38
  605. package/components/Select/Select.md +7 -6
  606. package/components/Select/__docs__/Select.mdx +28 -0
  607. package/components/Select/locale/types/types.js +0 -1
  608. package/components/SidePage/SidePage/SidePage.js +5 -5
  609. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  610. package/components/SidePage/SidePage.d.ts +16 -38
  611. package/components/SidePage/SidePage.md +2 -1
  612. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  613. package/components/SidePage/SidePageFooter.d.ts +4 -9
  614. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  615. package/components/SidePage/SidePageHeader.d.ts +2 -0
  616. package/components/SidePage/__docs__/SidePage.mdx +28 -0
  617. package/components/SidePage/__docs__/SidePageBody.mdx +15 -0
  618. package/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
  619. package/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
  620. package/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
  621. package/components/SidePage/locale/types/types.js +0 -1
  622. package/components/SingleToast/SingleToast/SingleToast.js +5 -1
  623. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  624. package/components/SingleToast/SingleToast.d.ts +5 -1
  625. package/components/SingleToast/SingleToast.md +2 -1
  626. package/components/SingleToast/__docs__/SingleToast.mdx +28 -0
  627. package/components/Spinner/Spinner/Spinner.js +6 -2
  628. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  629. package/components/Spinner/Spinner.d.ts +15 -20
  630. package/components/Spinner/Spinner.md +2 -1
  631. package/components/Spinner/__docs__/Spinner.mdx +28 -0
  632. package/components/Sticky/Sticky/Sticky.js +5 -0
  633. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  634. package/components/Sticky/Sticky.d.ts +9 -4
  635. package/components/Sticky/Sticky.md +1 -0
  636. package/components/Sticky/__docs__/Sticky.mdx +24 -0
  637. package/components/Switcher/Switcher/Switcher.js +6 -0
  638. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  639. package/components/Switcher/Switcher.d.ts +18 -7
  640. package/components/Switcher/Switcher.md +6 -2
  641. package/components/Switcher/__docs__/Switcher.mdx +28 -0
  642. package/components/Tabs/Tab/Tab.js +1 -1
  643. package/components/Tabs/Tab/Tab.js.map +1 -1
  644. package/components/Tabs/Tab.d.ts +12 -31
  645. package/components/Tabs/Tab.md +2 -0
  646. package/components/Tabs/Tabs/Tabs.js +6 -1
  647. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  648. package/components/Tabs/Tabs.d.ts +14 -25
  649. package/components/Tabs/Tabs.md +3 -2
  650. package/components/Tabs/__docs__/Tab.mdx +28 -0
  651. package/components/Tabs/__docs__/Tabs.mdx +28 -0
  652. package/components/Textarea/Textarea/Textarea.js +3 -4
  653. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  654. package/components/Textarea/Textarea.d.ts +26 -52
  655. package/components/Textarea/Textarea.md +4 -2
  656. package/components/Textarea/__docs__/Textarea.mdx +28 -0
  657. package/components/Toast/Toast/Toast.js +3 -3
  658. package/components/Toast/Toast/Toast.js.map +1 -1
  659. package/components/Toast/Toast.d.ts +6 -7
  660. package/components/Toast/Toast.md +4 -4
  661. package/components/Toast/ToastView/ToastView.js.map +1 -1
  662. package/components/Toast/ToastView.d.ts +2 -6
  663. package/components/Toast/__docs__/Toast.mdx +28 -0
  664. package/components/Toast/locale/types/types.js +0 -1
  665. package/components/Toggle/Toggle/Toggle.js +4 -1
  666. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  667. package/components/Toggle/Toggle.d.ts +25 -48
  668. package/components/Toggle/Toggle.md +9 -9
  669. package/components/Toggle/__docs__/Toggle.mdx +28 -0
  670. package/components/Token/Token/Token.js +6 -0
  671. package/components/Token/Token/Token.js.map +1 -1
  672. package/components/Token/Token.d.ts +17 -9
  673. package/components/Token/Token.md +86 -3
  674. package/components/Token/TokenView/TokenView.js.map +1 -1
  675. package/components/Token/TokenView.d.ts +3 -0
  676. package/components/Token/__docs__/Token.mdx +28 -0
  677. package/components/Token/locale/types/types.js +0 -1
  678. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  679. package/components/TokenInput/TextWidthHelper.d.ts +3 -0
  680. package/components/TokenInput/TokenInput/TokenInput.js +9 -3
  681. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  682. package/components/TokenInput/TokenInput.d.ts +54 -97
  683. package/components/TokenInput/TokenInput.md +12 -10
  684. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  685. package/components/TokenInput/TokenInputMenu.d.ts +5 -5
  686. package/components/TokenInput/__docs__/TokenInput.mdx +28 -0
  687. package/components/TokenInput/locale/types/types.js +0 -1
  688. package/components/Tooltip/Tooltip/Tooltip.js +9 -0
  689. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  690. package/components/Tooltip/Tooltip.d.ts +28 -68
  691. package/components/Tooltip/Tooltip.md +5 -0
  692. package/components/Tooltip/__docs__/Tooltip.mdx +28 -0
  693. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
  694. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  695. package/components/TooltipMenu/TooltipMenu.d.ts +13 -28
  696. package/components/TooltipMenu/TooltipMenu.md +13 -10
  697. package/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
  698. package/index.d.ts +1 -0
  699. package/index.js +1 -0
  700. package/index.js.map +1 -1
  701. package/internal/CommonWrapper/index/index.js +1 -2
  702. package/internal/CommonWrapper/index/index.js.map +1 -1
  703. package/internal/CommonWrapper/types/types.js +0 -1
  704. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js +3 -3
  705. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
  706. package/internal/CustomComboBox/locale/types/types.js +0 -1
  707. package/internal/DateSelect/locale/types/types.js +0 -1
  708. package/internal/FileUploaderControl/fileUtils/fileUtils.js +3 -3
  709. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -1
  710. package/internal/Popup/types/types.js +0 -1
  711. package/internal/RenderContainer/RenderContainerTypes/RenderContainerTypes.js +0 -1
  712. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +1 -1
  713. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  714. package/internal/ThemePlayground/constants/constants.js +3 -3
  715. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  716. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  717. package/internal/ZIndex/index/index.js +1 -2
  718. package/internal/ZIndex/index/index.js.map +1 -1
  719. package/internal/themes/BasicLightTheme/BasicLightTheme.js +3 -0
  720. package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +1 -1
  721. package/internal/themes/BasicLightTheme.d.ts +3 -0
  722. package/lib/date/types/types.js +18 -18
  723. package/lib/date/types/types.js.map +1 -1
  724. package/lib/events/MouseDrag/MouseDrag.js +3 -3
  725. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  726. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js +3 -3
  727. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
  728. package/lib/locale/types/types.js +3 -3
  729. package/lib/locale/types/types.js.map +1 -1
  730. package/lib/theming/Theme/Theme.js +0 -1
  731. package/lib/types/button-link/button-link.js +0 -1
  732. package/lib/types/polymorphic-component/polymorphic-component.js +0 -1
  733. package/lib/types/props/props.js +0 -1
  734. package/package.json +9 -5
  735. package/cjs/lib/styles/HoldSelectionColor.d.ts +0 -1
  736. package/cjs/lib/styles/HoldSelectionColor.js +0 -9
  737. package/cjs/lib/styles/HoldSelectionColor.js.map +0 -1
  738. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js +0 -8
  739. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +0 -1
  740. package/lib/styles/HoldSelectionColor/package.json +0 -6
  741. package/lib/styles/HoldSelectionColor.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useContext","useEffect","useImperativeHandle","useRef","useState","globalObject","isBrowser","getAttachedFile","cx","useMemoObject","FileUploaderControlContext","useControlLocale","useUpload","useDrop","ThemeContext","withFileUploaderControlProvider","keyListener","FileUploaderFile","FileUploaderFileList","CommonWrapper","FileUploaderFileValidationResult","useFileUploaderSize","forwardRefAndName","FocusControlWrapper","UploadIcon","globalClasses","jsStyles","stopPropagation","e","FileUploaderDataTids","root","content","link","input","defaultRenderFile","file","fileNode","_FileUploader","props","ref","_cx","theme","initialFiles","disabled","error","warning","_props$multiple","multiple","_props$width","width","fileUploaderWidth","_props$hideFiles","hideFiles","onBlur","onFocus","onChange","request","validateBeforeUpload","onRequestSuccess","onRequestError","_props$size","size","_props$renderFile","renderFile","inputProps","_objectWithoutPropertiesLoose","_excluded","_useContext","files","setFiles","removeFile","reset","setFileValidationResult","isMinLengthReached","locale","inputRef","fileDivRef","isAsync","isSingleMode","_useState","isLinkVisible","setIsLinkVisible","upload","tryValidateAndUpload","forEach","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","validationMessage","wrap","_callee$","_context","prev","next","t0","sent","id","stop","_x","apply","arguments","sizeClassName","small","sizeSmall","medium","sizeMedium","large","sizeLarge","sizeIconClass","iconSmall","iconMedium","iconLarge","contentInnerClass","contentInnerSmall","contentInnerMedium","contentInnerLarge","handleChange","newFiles","length","filesArray","Array","from","attachedFiles","map","handleDrop","event","dataTransfer","_dataTransfer$files","clearData","_useDrop","onDrop","isDraggable","labelRef","_useDrop2","isWindowDraggable","windowRef","current","document","focus","_inputRef$current","isTabPressed","blur","_inputRef$current2","getRootNode","rootNodeRef","_useState2","focusedByTab","setFocusedByTab","handleInputChange","target","handleFocus","requestAnimationFrame","handleBlur","handleRemoveFile","fileId","DataTransfer","filter","f","items","add","originalFile","_useState3","hovered","setHovered","uploadButtonClassNames","uploadButton","uploadButtonFocus","dragOver","canDrop","uploadButtonWrapperClassNames","windowDragOver","uploadButtonIconClassNames","icon","iconDisabled","hasOneFile","hasOneFileForSingle","contentClassNames","contentWithFiles","linkClassNames","linkHovered","linkDisabled","iconSizes","parseInt","btnIconSizeSmall","btnIconSizeMedium","btnIconSizeLarge","createElement","className","style","onRemove","onMouseEnter","onMouseLeave","choosedFile","chooseFile","String","fromCharCode","afterLinkText","afterLinkText_HasFiles","singleFile","Fragment","orDragHere","onBlurWhenDisabled","_extends","tabIndex","type","visuallyHidden","onClick","FileUploader","memo","displayName"],"sources":["FileUploader.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { FileUploaderAttachedFile, getAttachedFile } from '../../internal/FileUploaderControl/fileUtils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { InstanceWithRootNode } from '../../lib/rootNode';\nimport { useMemoObject } from '../../hooks/useMemoObject';\nimport { FileUploaderControlContext } from '../../internal/FileUploaderControl/FileUploaderControlContext';\nimport { useControlLocale } from '../../internal/FileUploaderControl/hooks/useControlLocale';\nimport { useUpload } from '../../internal/FileUploaderControl/hooks/useUpload';\nimport { useDrop } from '../../hooks/useDrop';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';\nimport { withFileUploaderControlProvider } from '../../internal/FileUploaderControl/withFileUploaderControlProvider';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { FileUploaderFile } from '../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile';\nimport { FileUploaderFileList } from '../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { Nullable } from '../../typings/utility-types';\nimport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\nimport { useFileUploaderSize } from '../../internal/FileUploaderControl/hooks/useFileUploaderSize';\nimport { SizeProp } from '../../lib/types/props';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { UploadIcon } from './UploadIcon';\nimport { globalClasses, jsStyles } from './FileUploader.styles';\n\nconst stopPropagation: React.ReactEventHandler = (e) => e.stopPropagation();\n\ntype FileUploaderOverriddenProps = 'size';\n\ninterface _FileUploaderProps\n extends CommonProps,\n Omit<React.InputHTMLAttributes<HTMLInputElement>, FileUploaderOverriddenProps> {\n /** Начальное состояние загруженных файлов */\n initialFiles?: File[];\n /** Состояние ошибки всего контрола */\n error?: boolean;\n /** Состояние предупреждения всего контрола */\n warning?: boolean;\n /** Свойство ширины. */\n width?: React.CSSProperties['width'];\n /**\n * Задаёт размер контрола.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: SizeProp;\n /** Свойство, скрывающее отображение файлов. */\n hideFiles?: boolean;\n\n /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */\n request?: (file: FileUploaderAttachedFile) => Promise<void>;\n /** Срабатывает при удачной попытке отправки через request */\n onRequestSuccess?: (fileId: string) => void;\n /** Срабатывает при неудачной попытке отправки через request */\n onRequestError?: (fileId: string) => void;\n\n /**\n * Функция валидации каждого файла.\n * Срабатывает после выбора файлов и перед попыткой отправить в request.\n * Чтобы вывести валидацию ошибки, промис должен вернуть строку.\n * */\n validateBeforeUpload?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;\n\n /**\n * Функция, позволяющая кастомизировать файлы.\n * Через нее можно вешать кастомные валидации на каждый файл.\n * */\n renderFile?: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;\n}\n\nexport interface FileUploaderRef extends InstanceWithRootNode {\n focus: () => void;\n blur: () => void;\n /** Сбрасывает выбранные файлы */\n reset: () => void;\n}\n\nexport const FileUploaderDataTids = {\n root: 'FileUploader__root',\n content: 'FileUploader__content',\n link: 'FileUploader__link',\n input: 'FileUploader__input',\n} as const;\n\nconst defaultRenderFile = (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => fileNode;\n\nconst _FileUploader = forwardRefAndName<FileUploaderRef, _FileUploaderProps>('FileUploader', (props, ref) => {\n const theme = useContext(ThemeContext);\n\n const {\n initialFiles,\n disabled,\n error,\n warning,\n multiple = false,\n width = theme.fileUploaderWidth,\n hideFiles = false,\n onBlur,\n onFocus,\n onChange,\n request,\n validateBeforeUpload,\n onRequestSuccess,\n onRequestError,\n size = 'small',\n renderFile = defaultRenderFile,\n ...inputProps\n } = props;\n\n const { files, setFiles, removeFile, reset, setFileValidationResult, isMinLengthReached } =\n useContext(FileUploaderControlContext);\n\n const locale = useControlLocale();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const fileDivRef = useRef<HTMLDivElement>(null);\n\n const isAsync = !!request;\n const isSingleMode = !multiple;\n\n const [isLinkVisible, setIsLinkVisible] = useState(true);\n const upload = useUpload(request, onRequestSuccess, onRequestError);\n\n const tryValidateAndUpload = useCallback(\n (files: FileUploaderAttachedFile[]) => {\n files.forEach(async (file) => {\n const validationMessage = validateBeforeUpload && (await validateBeforeUpload(file));\n\n if (!validationMessage) {\n isAsync && upload(file);\n } else {\n setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));\n }\n });\n },\n [validateBeforeUpload, isAsync, upload, setFileValidationResult],\n );\n\n const sizeClassName = useFileUploaderSize(size, {\n small: jsStyles.sizeSmall(theme),\n medium: jsStyles.sizeMedium(theme),\n large: jsStyles.sizeLarge(theme),\n });\n\n const sizeIconClass = useFileUploaderSize(size, {\n small: jsStyles.iconSmall(theme),\n medium: jsStyles.iconMedium(theme),\n large: jsStyles.iconLarge(theme),\n });\n\n const contentInnerClass = useFileUploaderSize(size, {\n small: jsStyles.contentInnerSmall(theme),\n medium: jsStyles.contentInnerMedium(theme),\n large: jsStyles.contentInnerLarge(theme),\n });\n\n /** common part **/\n const handleChange = useCallback(\n (newFiles: FileList | null) => {\n if (!newFiles || !newFiles.length) {\n return;\n }\n\n let filesArray = Array.from(newFiles);\n\n if (isSingleMode) {\n filesArray = [filesArray[0]];\n }\n\n const attachedFiles = filesArray.map(getAttachedFile);\n\n if (isSingleMode && attachedFiles.length && files.length) {\n removeFile(files[0].id);\n }\n\n if (attachedFiles.length) {\n setFiles(attachedFiles);\n tryValidateAndUpload(attachedFiles);\n }\n },\n [tryValidateAndUpload, setFiles, isSingleMode, files, removeFile],\n );\n\n const handleDrop = useCallback(\n (event: DragEvent) => {\n if (disabled) {\n return;\n }\n\n const { dataTransfer } = event;\n if (dataTransfer) {\n if (dataTransfer.files?.length > 0) {\n handleChange(dataTransfer.files);\n }\n dataTransfer.clearData();\n }\n },\n [handleChange, disabled],\n );\n\n const { isDraggable, ref: labelRef } = useDrop<HTMLLabelElement>({ onDrop: handleDrop });\n const { isDraggable: isWindowDraggable, ref: windowRef } = useDrop<Document>();\n\n if (isBrowser(globalObject)) {\n windowRef.current = globalObject.document;\n }\n\n const focus = useCallback(() => {\n keyListener.isTabPressed = true;\n inputRef.current?.focus();\n }, []);\n\n const blur = useCallback(() => {\n inputRef.current?.blur();\n }, []);\n\n useImperativeHandle(ref, () => ({ focus, blur, reset, getRootNode: () => rootNodeRef.current }), [\n ref,\n blur,\n focus,\n reset,\n ]);\n\n const [focusedByTab, setFocusedByTab] = useState(false);\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n handleChange(event.target.files);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (!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 setFocusedByTab(true);\n }\n });\n onFocus?.(e);\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedByTab(false);\n if (!disabled) {\n onBlur?.(e);\n }\n };\n\n const handleRemoveFile = useCallback((fileId: string) => {\n const dataTransfer = new DataTransfer();\n files\n .filter((f) => f.id !== fileId)\n .forEach((file) => {\n dataTransfer.items.add(file.originalFile);\n });\n inputRef.current && (inputRef.current.files = dataTransfer.files);\n }, []);\n\n const [hovered, setHovered] = useState(false);\n\n const uploadButtonClassNames = cx(\n jsStyles.uploadButton(theme),\n sizeClassName,\n focusedByTab && jsStyles.uploadButtonFocus(theme),\n disabled && jsStyles.disabled(theme),\n !disabled && hovered && jsStyles.hovered(theme),\n !!warning && jsStyles.warning(theme),\n !!error && jsStyles.error(theme),\n isDraggable && !disabled && jsStyles.dragOver(theme),\n );\n\n const canDrop = isWindowDraggable && !disabled;\n const uploadButtonWrapperClassNames = cx(canDrop && jsStyles.windowDragOver(theme));\n\n const uploadButtonIconClassNames = cx(jsStyles.icon(theme), sizeIconClass, disabled && jsStyles.iconDisabled(theme));\n\n const hasOneFile = files.length === 1;\n const hasOneFileForSingle = isSingleMode && hasOneFile && !hideFiles;\n\n const contentClassNames = cx(jsStyles.content(), hasOneFileForSingle && jsStyles.contentWithFiles());\n\n const linkClassNames = cx(\n jsStyles.link(theme),\n !disabled && hovered && jsStyles.linkHovered(theme),\n disabled && jsStyles.linkDisabled(theme),\n );\n\n useEffect(() => {\n setIsLinkVisible(hasOneFileForSingle ? !isMinLengthReached : true);\n }, [isMinLengthReached, hasOneFileForSingle]);\n\n useEffect(() => {\n if (!files || !files.length || !inputRef.current) {\n return;\n }\n\n const dataTransfer = new DataTransfer();\n files.forEach((file) => dataTransfer.items.add(file.originalFile));\n inputRef.current.files = dataTransfer.files;\n }, []);\n\n const rootNodeRef = useRef(null);\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(theme.btnIconSizeSmall),\n medium: parseInt(theme.btnIconSizeMedium),\n large: parseInt(theme.btnIconSizeLarge),\n };\n const icon = <UploadIcon size={iconSizes[size]} />;\n\n return (\n <CommonWrapper {...props}>\n <div\n data-tid={FileUploaderDataTids.root}\n className={jsStyles.root(theme)}\n style={useMemoObject({ width })}\n ref={rootNodeRef}\n >\n {!hideFiles && !isSingleMode && !!files.length && (\n <FileUploaderFileList renderFile={renderFile} size={size} onRemove={handleRemoveFile} />\n )}\n <div className={uploadButtonWrapperClassNames}>\n <label\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n ref={labelRef}\n className={uploadButtonClassNames}\n >\n <div\n data-tid={FileUploaderDataTids.content}\n className={cx(contentClassNames, { [contentInnerClass]: !files.length || !isSingleMode })}\n >\n {isLinkVisible && (\n <span data-tid={FileUploaderDataTids.link} className={linkClassNames}>\n {hasOneFileForSingle ? locale.choosedFile : locale.chooseFile}\n </span>\n )}\n {isLinkVisible && String.fromCharCode(0xa0) /* &nbsp; */}\n <div\n className={cx(\n globalClasses.afterLinkText,\n hasOneFileForSingle ? jsStyles.afterLinkText_HasFiles(theme) : jsStyles.afterLinkText(theme),\n )}\n >\n {hasOneFileForSingle ? (\n <div ref={fileDivRef} className={jsStyles.singleFile()}>\n {renderFile(files[0], <FileUploaderFile file={files[0]} size={size} onRemove={handleRemoveFile} />)}\n </div>\n ) : (\n <>\n {locale.orDragHere}&nbsp;\n <div className={uploadButtonIconClassNames}>{icon}</div>\n </>\n )}\n </div>\n </div>\n <FocusControlWrapper onBlurWhenDisabled={() => setFocusedByTab(false)}>\n <input\n {...inputProps}\n data-tid={FileUploaderDataTids.input}\n ref={inputRef}\n tabIndex={disabled ? -1 : 0}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n className={jsStyles.visuallyHidden()}\n onClick={stopPropagation}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n </FocusControlWrapper>\n </label>\n </div>\n </div>\n </CommonWrapper>\n );\n});\n\nexport interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {}\n\nexport const FileUploader = withFileUploaderControlProvider<FileUploaderProps, FileUploaderRef>(\n React.memo(_FileUploader),\n);\nFileUploader.displayName = 'FileUploader';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useContext","useEffect","useImperativeHandle","useRef","useState","globalObject","isBrowser","getAttachedFile","cx","useMemoObject","FileUploaderControlContext","useControlLocale","useUpload","useDrop","ThemeContext","withFileUploaderControlProvider","keyListener","FileUploaderFile","FileUploaderFileList","CommonWrapper","FileUploaderFileValidationResult","useFileUploaderSize","forwardRefAndName","FocusControlWrapper","UploadIcon","globalClasses","jsStyles","stopPropagation","e","FileUploaderDataTids","root","content","link","input","defaultRenderFile","file","fileNode","_FileUploader","props","ref","_cx","theme","initialFiles","disabled","error","warning","_props$multiple","multiple","_props$width","width","fileUploaderWidth","_props$hideFiles","hideFiles","onBlur","onFocus","onChange","request","validateBeforeUpload","onRequestSuccess","onRequestError","_props$size","size","_props$renderFile","renderFile","inputProps","_objectWithoutPropertiesLoose","_excluded","_useContext","files","setFiles","removeFile","reset","setFileValidationResult","isMinLengthReached","locale","inputRef","fileDivRef","isAsync","isSingleMode","_useState","isLinkVisible","setIsLinkVisible","upload","tryValidateAndUpload","forEach","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","validationMessage","wrap","_callee$","_context","prev","next","t0","sent","id","stop","_x","apply","arguments","sizeClassName","small","sizeSmall","medium","sizeMedium","large","sizeLarge","sizeIconClass","iconSmall","iconMedium","iconLarge","contentInnerClass","contentInnerSmall","contentInnerMedium","contentInnerLarge","handleChange","newFiles","length","filesArray","Array","from","attachedFiles","map","handleDrop","event","dataTransfer","_dataTransfer$files","clearData","_useDrop","onDrop","isDraggable","labelRef","_useDrop2","isWindowDraggable","windowRef","current","document","focus","_inputRef$current","isTabPressed","blur","_inputRef$current2","getRootNode","rootNodeRef","_useState2","focusedByTab","setFocusedByTab","handleInputChange","target","handleFocus","requestAnimationFrame","handleBlur","handleRemoveFile","fileId","DataTransfer","filter","f","items","add","originalFile","_useState3","hovered","setHovered","uploadButtonClassNames","uploadButton","uploadButtonFocus","dragOver","canDrop","uploadButtonWrapperClassNames","windowDragOver","uploadButtonIconClassNames","icon","iconDisabled","hasOneFile","hasOneFileForSingle","contentClassNames","contentWithFiles","linkClassNames","linkHovered","linkDisabled","iconSizes","parseInt","btnIconSizeSmall","btnIconSizeMedium","btnIconSizeLarge","createElement","className","style","onRemove","onMouseEnter","onMouseLeave","choosedFile","chooseFile","String","fromCharCode","afterLinkText","afterLinkText_HasFiles","singleFile","Fragment","orDragHere","onBlurWhenDisabled","_extends","tabIndex","type","visuallyHidden","onClick","FileUploader","memo","displayName"],"sources":["FileUploader.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { FileUploaderAttachedFile, getAttachedFile } from '../../internal/FileUploaderControl/fileUtils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { InstanceWithRootNode } from '../../lib/rootNode';\nimport { useMemoObject } from '../../hooks/useMemoObject';\nimport { FileUploaderControlContext } from '../../internal/FileUploaderControl/FileUploaderControlContext';\nimport { useControlLocale } from '../../internal/FileUploaderControl/hooks/useControlLocale';\nimport { useUpload } from '../../internal/FileUploaderControl/hooks/useUpload';\nimport { useDrop } from '../../hooks/useDrop';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';\nimport { withFileUploaderControlProvider } from '../../internal/FileUploaderControl/withFileUploaderControlProvider';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { FileUploaderFile } from '../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile';\nimport { FileUploaderFileList } from '../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { Nullable } from '../../typings/utility-types';\nimport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\nimport { useFileUploaderSize } from '../../internal/FileUploaderControl/hooks/useFileUploaderSize';\nimport { SizeProp } from '../../lib/types/props';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { UploadIcon } from './UploadIcon';\nimport { globalClasses, jsStyles } from './FileUploader.styles';\n\nconst stopPropagation: React.ReactEventHandler = (e) => e.stopPropagation();\n\ntype FileUploaderOverriddenProps = 'size';\n\ninterface _FileUploaderProps\n extends CommonProps,\n Omit<React.InputHTMLAttributes<HTMLInputElement>, FileUploaderOverriddenProps> {\n /** Переводит контрол в состояние валидации \"ошибка\". */\n /** Начальное состояние загруженных файлов */\n initialFiles?: File[];\n /** Состояние ошибки всего контрола */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает длину компонента. */\n width?: React.CSSProperties['width'];\n\n /** Задаёт размер контрола. */\n size?: SizeProp;\n\n /** Скрывает отображение файлов. */\n hideFiles?: boolean;\n\n /** Задает функцию, через которую отправляются файлы. Используется для отслеживания статуса загрузки файла.\n * @param {FileUploaderAttachedFile} file - файл, статус загрузки которого необходимо отследить. */\n request?: (file: FileUploaderAttachedFile) => Promise<void>;\n\n /** Задает функцию, которая вызывается при удачной попытке отправки через request. */\n onRequestSuccess?: (fileId: string) => void;\n\n /** Задает функцию, которая вызывается при неудачной попытке отправки через request. */\n onRequestError?: (fileId: string) => void;\n\n /** Определяет функцию валидации каждого файла. Срабатывает после выбора файлов и перед попыткой отправить в request. Чтобы вывести валидацию ошибки, промис должен вернуть строку. * */\n validateBeforeUpload?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;\n\n /** Задает функцию, которая позволяет кастомизировать файлы. Через нее можно вешать кастомные валидации на каждый файл. */\n renderFile?: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;\n}\n\nexport interface FileUploaderRef extends InstanceWithRootNode {\n focus: () => void;\n blur: () => void;\n /** Сбрасывает выбранные файлы */\n reset: () => void;\n}\n\nexport const FileUploaderDataTids = {\n root: 'FileUploader__root',\n content: 'FileUploader__content',\n link: 'FileUploader__link',\n input: 'FileUploader__input',\n} as const;\n\nconst defaultRenderFile = (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => fileNode;\n\nconst _FileUploader = forwardRefAndName<FileUploaderRef, _FileUploaderProps>('FileUploader', (props, ref) => {\n const theme = useContext(ThemeContext);\n\n const {\n initialFiles,\n disabled,\n error,\n warning,\n multiple = false,\n width = theme.fileUploaderWidth,\n hideFiles = false,\n onBlur,\n onFocus,\n onChange,\n request,\n validateBeforeUpload,\n onRequestSuccess,\n onRequestError,\n size = 'small',\n renderFile = defaultRenderFile,\n ...inputProps\n } = props;\n\n const { files, setFiles, removeFile, reset, setFileValidationResult, isMinLengthReached } =\n useContext(FileUploaderControlContext);\n\n const locale = useControlLocale();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const fileDivRef = useRef<HTMLDivElement>(null);\n\n const isAsync = !!request;\n const isSingleMode = !multiple;\n\n const [isLinkVisible, setIsLinkVisible] = useState(true);\n const upload = useUpload(request, onRequestSuccess, onRequestError);\n\n const tryValidateAndUpload = useCallback(\n (files: FileUploaderAttachedFile[]) => {\n files.forEach(async (file) => {\n const validationMessage = validateBeforeUpload && (await validateBeforeUpload(file));\n\n if (!validationMessage) {\n isAsync && upload(file);\n } else {\n setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));\n }\n });\n },\n [validateBeforeUpload, isAsync, upload, setFileValidationResult],\n );\n\n const sizeClassName = useFileUploaderSize(size, {\n small: jsStyles.sizeSmall(theme),\n medium: jsStyles.sizeMedium(theme),\n large: jsStyles.sizeLarge(theme),\n });\n\n const sizeIconClass = useFileUploaderSize(size, {\n small: jsStyles.iconSmall(theme),\n medium: jsStyles.iconMedium(theme),\n large: jsStyles.iconLarge(theme),\n });\n\n const contentInnerClass = useFileUploaderSize(size, {\n small: jsStyles.contentInnerSmall(theme),\n medium: jsStyles.contentInnerMedium(theme),\n large: jsStyles.contentInnerLarge(theme),\n });\n\n /** common part **/\n const handleChange = useCallback(\n (newFiles: FileList | null) => {\n if (!newFiles || !newFiles.length) {\n return;\n }\n\n let filesArray = Array.from(newFiles);\n\n if (isSingleMode) {\n filesArray = [filesArray[0]];\n }\n\n const attachedFiles = filesArray.map(getAttachedFile);\n\n if (isSingleMode && attachedFiles.length && files.length) {\n removeFile(files[0].id);\n }\n\n if (attachedFiles.length) {\n setFiles(attachedFiles);\n tryValidateAndUpload(attachedFiles);\n }\n },\n [tryValidateAndUpload, setFiles, isSingleMode, files, removeFile],\n );\n\n const handleDrop = useCallback(\n (event: DragEvent) => {\n if (disabled) {\n return;\n }\n\n const { dataTransfer } = event;\n if (dataTransfer) {\n if (dataTransfer.files?.length > 0) {\n handleChange(dataTransfer.files);\n }\n dataTransfer.clearData();\n }\n },\n [handleChange, disabled],\n );\n\n const { isDraggable, ref: labelRef } = useDrop<HTMLLabelElement>({ onDrop: handleDrop });\n const { isDraggable: isWindowDraggable, ref: windowRef } = useDrop<Document>();\n\n if (isBrowser(globalObject)) {\n windowRef.current = globalObject.document;\n }\n\n const focus = useCallback(() => {\n keyListener.isTabPressed = true;\n inputRef.current?.focus();\n }, []);\n\n const blur = useCallback(() => {\n inputRef.current?.blur();\n }, []);\n\n useImperativeHandle(ref, () => ({ focus, blur, reset, getRootNode: () => rootNodeRef.current }), [\n ref,\n blur,\n focus,\n reset,\n ]);\n\n const [focusedByTab, setFocusedByTab] = useState(false);\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n handleChange(event.target.files);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (!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 setFocusedByTab(true);\n }\n });\n onFocus?.(e);\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedByTab(false);\n if (!disabled) {\n onBlur?.(e);\n }\n };\n\n const handleRemoveFile = useCallback((fileId: string) => {\n const dataTransfer = new DataTransfer();\n files\n .filter((f) => f.id !== fileId)\n .forEach((file) => {\n dataTransfer.items.add(file.originalFile);\n });\n inputRef.current && (inputRef.current.files = dataTransfer.files);\n }, []);\n\n const [hovered, setHovered] = useState(false);\n\n const uploadButtonClassNames = cx(\n jsStyles.uploadButton(theme),\n sizeClassName,\n focusedByTab && jsStyles.uploadButtonFocus(theme),\n disabled && jsStyles.disabled(theme),\n !disabled && hovered && jsStyles.hovered(theme),\n !!warning && jsStyles.warning(theme),\n !!error && jsStyles.error(theme),\n isDraggable && !disabled && jsStyles.dragOver(theme),\n );\n\n const canDrop = isWindowDraggable && !disabled;\n const uploadButtonWrapperClassNames = cx(canDrop && jsStyles.windowDragOver(theme));\n\n const uploadButtonIconClassNames = cx(jsStyles.icon(theme), sizeIconClass, disabled && jsStyles.iconDisabled(theme));\n\n const hasOneFile = files.length === 1;\n const hasOneFileForSingle = isSingleMode && hasOneFile && !hideFiles;\n\n const contentClassNames = cx(jsStyles.content(), hasOneFileForSingle && jsStyles.contentWithFiles());\n\n const linkClassNames = cx(\n jsStyles.link(theme),\n !disabled && hovered && jsStyles.linkHovered(theme),\n disabled && jsStyles.linkDisabled(theme),\n );\n\n useEffect(() => {\n setIsLinkVisible(hasOneFileForSingle ? !isMinLengthReached : true);\n }, [isMinLengthReached, hasOneFileForSingle]);\n\n useEffect(() => {\n if (!files || !files.length || !inputRef.current) {\n return;\n }\n\n const dataTransfer = new DataTransfer();\n files.forEach((file) => dataTransfer.items.add(file.originalFile));\n inputRef.current.files = dataTransfer.files;\n }, []);\n\n const rootNodeRef = useRef(null);\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(theme.btnIconSizeSmall),\n medium: parseInt(theme.btnIconSizeMedium),\n large: parseInt(theme.btnIconSizeLarge),\n };\n const icon = <UploadIcon size={iconSizes[size]} />;\n\n return (\n <CommonWrapper {...props}>\n <div\n data-tid={FileUploaderDataTids.root}\n className={jsStyles.root(theme)}\n style={useMemoObject({ width })}\n ref={rootNodeRef}\n >\n {!hideFiles && !isSingleMode && !!files.length && (\n <FileUploaderFileList renderFile={renderFile} size={size} onRemove={handleRemoveFile} />\n )}\n <div className={uploadButtonWrapperClassNames}>\n <label\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n ref={labelRef}\n className={uploadButtonClassNames}\n >\n <div\n data-tid={FileUploaderDataTids.content}\n className={cx(contentClassNames, { [contentInnerClass]: !files.length || !isSingleMode })}\n >\n {isLinkVisible && (\n <span data-tid={FileUploaderDataTids.link} className={linkClassNames}>\n {hasOneFileForSingle ? locale.choosedFile : locale.chooseFile}\n </span>\n )}\n {isLinkVisible && String.fromCharCode(0xa0) /* &nbsp; */}\n <div\n className={cx(\n globalClasses.afterLinkText,\n hasOneFileForSingle ? jsStyles.afterLinkText_HasFiles(theme) : jsStyles.afterLinkText(theme),\n )}\n >\n {hasOneFileForSingle ? (\n <div ref={fileDivRef} className={jsStyles.singleFile()}>\n {renderFile(files[0], <FileUploaderFile file={files[0]} size={size} onRemove={handleRemoveFile} />)}\n </div>\n ) : (\n <>\n {locale.orDragHere}&nbsp;\n <div className={uploadButtonIconClassNames}>{icon}</div>\n </>\n )}\n </div>\n </div>\n <FocusControlWrapper onBlurWhenDisabled={() => setFocusedByTab(false)}>\n <input\n {...inputProps}\n data-tid={FileUploaderDataTids.input}\n ref={inputRef}\n tabIndex={disabled ? -1 : 0}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n className={jsStyles.visuallyHidden()}\n onClick={stopPropagation}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n </FocusControlWrapper>\n </label>\n </div>\n </div>\n </CommonWrapper>\n );\n});\n\nexport interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {}\n\n/**\n * `FileUploader` — контрол для выбора пользователем файла на компьютере и отображения статуса его отправки на сервер.\n *\n * Можно использовать для синхронной отправки данных, например, в форме. Или же можно использовать в асинхронном режиме.\n */\nexport const FileUploader = withFileUploaderControlProvider<FileUploaderProps, FileUploaderRef>(\n React.memo(_FileUploader),\n);\nFileUploader.displayName = 'FileUploader';\n"],"mappings":"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","ignoreList":[]}
@@ -7,38 +7,29 @@ import { Nullable } from '../../typings/utility-types';
7
7
  import { SizeProp } from '../../lib/types/props';
8
8
  type FileUploaderOverriddenProps = 'size';
9
9
  interface _FileUploaderProps extends CommonProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, FileUploaderOverriddenProps> {
10
+ /** Переводит контрол в состояние валидации "ошибка". */
10
11
  /** Начальное состояние загруженных файлов */
11
12
  initialFiles?: File[];
12
13
  /** Состояние ошибки всего контрола */
13
14
  error?: boolean;
14
- /** Состояние предупреждения всего контрола */
15
+ /** Переводит контрол в состояние валидации "предупреждение". */
15
16
  warning?: boolean;
16
- /** Свойство ширины. */
17
+ /** Задает длину компонента. */
17
18
  width?: React.CSSProperties['width'];
18
- /**
19
- * Задаёт размер контрола.
20
- *
21
- * **Допустимые значения**: `"small"`, `"medium"`, `"large"`.
22
- */
19
+ /** Задаёт размер контрола. */
23
20
  size?: SizeProp;
24
- /** Свойство, скрывающее отображение файлов. */
21
+ /** Скрывает отображение файлов. */
25
22
  hideFiles?: boolean;
26
- /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */
23
+ /** Задает функцию, через которую отправляются файлы. Используется для отслеживания статуса загрузки файла.
24
+ * @param {FileUploaderAttachedFile} file - файл, статус загрузки которого необходимо отследить. */
27
25
  request?: (file: FileUploaderAttachedFile) => Promise<void>;
28
- /** Срабатывает при удачной попытке отправки через request */
26
+ /** Задает функцию, которая вызывается при удачной попытке отправки через request. */
29
27
  onRequestSuccess?: (fileId: string) => void;
30
- /** Срабатывает при неудачной попытке отправки через request */
28
+ /** Задает функцию, которая вызывается при неудачной попытке отправки через request. */
31
29
  onRequestError?: (fileId: string) => void;
32
- /**
33
- * Функция валидации каждого файла.
34
- * Срабатывает после выбора файлов и перед попыткой отправить в request.
35
- * Чтобы вывести валидацию ошибки, промис должен вернуть строку.
36
- * */
30
+ /** Определяет функцию валидации каждого файла. Срабатывает после выбора файлов и перед попыткой отправить в request. Чтобы вывести валидацию ошибки, промис должен вернуть строку. * */
37
31
  validateBeforeUpload?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;
38
- /**
39
- * Функция, позволяющая кастомизировать файлы.
40
- * Через нее можно вешать кастомные валидации на каждый файл.
41
- * */
32
+ /** Задает функцию, которая позволяет кастомизировать файлы. Через нее можно вешать кастомные валидации на каждый файл. */
42
33
  renderFile?: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;
43
34
  }
44
35
  export interface FileUploaderRef extends InstanceWithRootNode {
@@ -55,5 +46,10 @@ export declare const FileUploaderDataTids: {
55
46
  };
56
47
  export interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {
57
48
  }
49
+ /**
50
+ * `FileUploader` — контрол для выбора пользователем файла на компьютере и отображения статуса его отправки на сервер.
51
+ *
52
+ * Можно использовать для синхронной отправки данных, например, в форме. Или же можно использовать в асинхронном режиме.
53
+ */
58
54
  export declare const FileUploader: React.MemoExoticComponent<React.ForwardRefExoticComponent<FileUploaderProps & FileUploaderControlProviderProps & React.RefAttributes<FileUploaderRef>>>;
59
55
  export {};
@@ -2,14 +2,14 @@
2
2
  Можно использовать для синхронной отправки данных, например, в форме.
3
3
  Или же можно использовать в асинхронном режиме.
4
4
 
5
- Синхронный контрол
5
+ ### Синхронный контрол
6
6
  ```jsx harmony
7
7
  import { FileUploader } from '@skbkontur/react-ui';
8
8
 
9
9
  <FileUploader />
10
10
  ```
11
11
 
12
- Асинхронный контрол
12
+ ### Асинхронный контрол
13
13
  ```jsx harmony
14
14
  import { FileUploader } from '@skbkontur/react-ui';
15
15
 
@@ -18,7 +18,7 @@ const request = () => Promise.resolve();
18
18
  <FileUploader request={request} />
19
19
  ```
20
20
 
21
- Multiple контрол
21
+ ### Multiple контрол
22
22
  ```jsx harmony
23
23
  import { FileUploader } from '@skbkontur/react-ui';
24
24
 
@@ -27,7 +27,7 @@ const request = () => Promise.reject();
27
27
  <FileUploader request={request} multiple />
28
28
  ```
29
29
 
30
- Файлы по умолчанию
30
+ ### Файлы по умолчанию
31
31
  ```jsx harmony
32
32
  import { FileUploader } from '@skbkontur/react-ui';
33
33
 
@@ -39,7 +39,7 @@ const initialFiles = [createFile('test1.txt'), createFile('test2.txt')];
39
39
  <FileUploader multiple initialFiles={initialFiles} />
40
40
  ```
41
41
 
42
- Файлы по умолчанию с кастомизацией рендеринга
42
+ ### Файлы по умолчанию с кастомизацией рендеринга
43
43
  ```jsx harmony
44
44
  import { cloneElement } from 'react';
45
45
  import { FileUploader } from '@skbkontur/react-ui';
@@ -56,14 +56,14 @@ const initialFiles = [createFile('test1.txt'), createFile('test2.txt')];
56
56
  />
57
57
  ```
58
58
 
59
- Использование `accept`
59
+ ### Использование `accept`
60
60
  ```jsx harmony
61
61
  import { FileUploader } from '@skbkontur/react-ui';
62
62
 
63
63
  <FileUploader multiple accept="image/*" />
64
64
  ```
65
65
 
66
- Валидация файла в списке
66
+ ### Валидация файла в списке
67
67
  ```jsx harmony
68
68
  import { FileUploader } from '@skbkontur/react-ui';
69
69
 
@@ -75,14 +75,14 @@ import { FileUploader } from '@skbkontur/react-ui';
75
75
  />;
76
76
  ```
77
77
 
78
- Валидация контрола
78
+ ### Валидация контрола
79
79
  ```jsx harmony
80
80
  import { FileUploader } from '@skbkontur/react-ui';
81
81
 
82
82
  <FileUploader multiple error />
83
83
  ```
84
84
 
85
- #### Локали по умолчанию
85
+ ### Локали по умолчанию
86
86
 
87
87
  ```typescript static
88
88
  interface FileUploaderLocale {
@@ -0,0 +1,28 @@
1
+ import * as FileUploaderStories from './FileUploader.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={FileUploaderStories} />
6
+
7
+ # FileUploader
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/input-fields/file-uploader/)
10
+
11
+ [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=284%3A11938)
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} />
@@ -1 +0,0 @@
1
- export {};
@@ -18,7 +18,13 @@ export var FxInputDataTids = {
18
18
  root: 'FxInput__root'
19
19
  };
20
20
 
21
- /** Принимает все свойства `Input`'a */
21
+ /**
22
+ * Автополе `FxInput`.
23
+ *
24
+ * Используйте `FxInput`, если поле вычисляемое и вы рассчитали значение.
25
+ *
26
+ * Принимает все свойства `Input`'a.
27
+ */
22
28
  export var FxInput = rootNode(_class = (_FxInput = /*#__PURE__*/function (_React$Component) {
23
29
  function FxInput() {
24
30
  var _this;
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","Group","Input","CurrencyInput","createPropsGetter","CommonWrapper","rootNode","ThemeContext","MathFunctionIcon","FxInputRestoreBtn","FxInputDataTids","root","FxInput","_class","_FxInput","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","refInput","value","width","rest","_objectWithoutPropertiesLoose","_excluded","inputProps","align","button","inputCorners","borderBottomLeftRadius","borderTopLeftRadius","iconSizes","small","parseInt","theme","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","size","IconFunction","createElement","leftIcon","disabled","borderless","buttonAriaLabel","_extends","corners","ref","onValueChange","focus","blur","element","_inheritsLoose","_proto","prototype","render","_this2","Consumer","rootNodeRef","setRootNode","Component","__KONTUR_REACT_UI__","displayName","propTypes","bool","string"],"sources":["FxInput.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Group } from '../Group';\nimport { Input, InputProps } from '../Input';\nimport { CurrencyInput, CurrencyInputProps } from '../CurrencyInput';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { Override } from '../../typings/utility-types';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { MathFunctionIcon } from './MathFunctionIcon';\nimport { FxInputRestoreBtn } from './FxInputRestoreBtn';\n\nexport interface FxInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n CurrencyInputProps,\n {\n /** Авто-режим */\n auto?: boolean;\n /** Тип инпута */\n type?: 'currency' | InputProps['type'];\n /** onRestore */\n onRestore?: () => void;\n /** onValueChange */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n /** Значение */\n value?: React.ReactText;\n /** ref Input'а */\n refInput?: (element: CurrencyInput | Input | null) => void;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros?: boolean;\n /** Позвоялет задать атрибут aria-label кнопке восстановления (restore button) */\n buttonAriaLabel?: AriaAttributes['aria-label'];\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/** Принимает все свойства `Input`'a */\n@rootNode\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n public static displayName = 'FxInput';\n\n public static propTypes = {\n auto: PropTypes.bool,\n type: PropTypes.string,\n };\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n };\n\n private theme!: Theme;\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.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 public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => {\n const { type, onRestore, auto, refInput, value, width, ...rest } = props;\n const inputProps: Partial<CurrencyInputProps> = {\n align: 'right',\n };\n\n let button = null;\n const inputCorners: InputProps['corners'] = auto ? {} : { borderBottomLeftRadius: 0, borderTopLeftRadius: 0 };\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.inputIconSizeSmall),\n medium: parseInt(this.theme.inputIconSizeMedium),\n large: parseInt(this.theme.inputIconSizeLarge),\n };\n const size = this.props.size || Input.defaultProps.size;\n const IconFunction = <MathFunctionIcon size={iconSizes[size]} />;\n\n if (auto) {\n inputProps.leftIcon = IconFunction;\n } else {\n button = (\n <FxInputRestoreBtn\n size={rest.size}\n onRestore={onRestore}\n disabled={rest.disabled}\n borderless={rest.borderless}\n aria-label={props.buttonAriaLabel}\n />\n );\n }\n\n return (\n <Group data-tid={FxInputDataTids.root} width={width}>\n {button}\n {type === 'currency' ? (\n <CurrencyInput\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.props.size}\n width={'100%'}\n ref={this.refInput}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n ) : (\n <Input\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.props.size}\n width={'100%'}\n ref={this.refInput}\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n )}\n </Group>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","PropTypes","Group","Input","CurrencyInput","createPropsGetter","CommonWrapper","rootNode","ThemeContext","MathFunctionIcon","FxInputRestoreBtn","FxInputDataTids","root","FxInput","_class","_FxInput","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","refInput","value","width","rest","_objectWithoutPropertiesLoose","_excluded","inputProps","align","button","inputCorners","borderBottomLeftRadius","borderTopLeftRadius","iconSizes","small","parseInt","theme","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","size","IconFunction","createElement","leftIcon","disabled","borderless","buttonAriaLabel","_extends","corners","ref","onValueChange","focus","blur","element","_inheritsLoose","_proto","prototype","render","_this2","Consumer","rootNodeRef","setRootNode","Component","__KONTUR_REACT_UI__","displayName","propTypes","bool","string"],"sources":["FxInput.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Group } from '../Group';\nimport { Input, InputProps } from '../Input';\nimport { CurrencyInput, CurrencyInputProps } from '../CurrencyInput';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { Override } from '../../typings/utility-types';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { MathFunctionIcon } from './MathFunctionIcon';\nimport { FxInputRestoreBtn } from './FxInputRestoreBtn';\n\nexport interface FxInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n CurrencyInputProps,\n {\n /** Устанавливает авто-режим. */\n auto?: boolean;\n\n /** Задает тип инпута */\n type?: 'currency' | InputProps['type'];\n\n /** Задает функцию, которая вызывается при нажатии на кнопку Restore. */\n onRestore?: () => void;\n\n /** Задает функцию, вызывающуюся при изменении value. */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n\n /** Задает значение инпута. */\n value?: React.ReactText;\n\n /** Задает ref инпута. */\n refInput?: (element: CurrencyInput | Input | null) => void;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Задает атрибут aria-label кнопке восстановления (restore button). */\n buttonAriaLabel?: AriaAttributes['aria-label'];\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/**\n * Автополе `FxInput`.\n *\n * Используйте `FxInput`, если поле вычисляемое и вы рассчитали значение.\n *\n * Принимает все свойства `Input`'a.\n */\n@rootNode\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n public static displayName = 'FxInput';\n\n public static propTypes = {\n auto: PropTypes.bool,\n type: PropTypes.string,\n };\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n };\n\n private theme!: Theme;\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.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 public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => {\n const { type, onRestore, auto, refInput, value, width, ...rest } = props;\n const inputProps: Partial<CurrencyInputProps> = {\n align: 'right',\n };\n\n let button = null;\n const inputCorners: InputProps['corners'] = auto ? {} : { borderBottomLeftRadius: 0, borderTopLeftRadius: 0 };\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.inputIconSizeSmall),\n medium: parseInt(this.theme.inputIconSizeMedium),\n large: parseInt(this.theme.inputIconSizeLarge),\n };\n const size = this.props.size || Input.defaultProps.size;\n const IconFunction = <MathFunctionIcon size={iconSizes[size]} />;\n\n if (auto) {\n inputProps.leftIcon = IconFunction;\n } else {\n button = (\n <FxInputRestoreBtn\n size={rest.size}\n onRestore={onRestore}\n disabled={rest.disabled}\n borderless={rest.borderless}\n aria-label={props.buttonAriaLabel}\n />\n );\n }\n\n return (\n <Group data-tid={FxInputDataTids.root} width={width}>\n {button}\n {type === 'currency' ? (\n <CurrencyInput\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.props.size}\n width={'100%'}\n ref={this.refInput}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n ) : (\n <Input\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.props.size}\n width={'100%'}\n ref={this.refInput}\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n )}\n </Group>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,21 +6,21 @@ import { DefaultizedProps } from '../../lib/createPropsGetter';
6
6
  import { Override } from '../../typings/utility-types';
7
7
  import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
8
8
  export interface FxInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<CurrencyInputProps, {
9
- /** Авто-режим */
9
+ /** Устанавливает авто-режим. */
10
10
  auto?: boolean;
11
- /** Тип инпута */
11
+ /** Задает тип инпута */
12
12
  type?: 'currency' | InputProps['type'];
13
- /** onRestore */
13
+ /** Задает функцию, которая вызывается при нажатии на кнопку Restore. */
14
14
  onRestore?: () => void;
15
- /** onValueChange */
15
+ /** Задает функцию, вызывающуюся при изменении value. */
16
16
  onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];
17
- /** Значение */
17
+ /** Задает значение инпута. */
18
18
  value?: React.ReactText;
19
- /** ref Input'а */
19
+ /** Задает ref инпута. */
20
20
  refInput?: (element: CurrencyInput | Input | null) => void;
21
- /** Убрать лишние нули после запятой */
21
+ /** Убирает лишние нули после запятой. */
22
22
  hideTrailingZeros?: boolean;
23
- /** Позвоялет задать атрибут aria-label кнопке восстановления (restore button) */
23
+ /** Задает атрибут aria-label кнопке восстановления (restore button). */
24
24
  buttonAriaLabel?: AriaAttributes['aria-label'];
25
25
  }> {
26
26
  }
@@ -29,7 +29,13 @@ export declare const FxInputDataTids: {
29
29
  };
30
30
  type DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value'>>;
31
31
  type DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;
32
- /** Принимает все свойства `Input`'a */
32
+ /**
33
+ * Автополе `FxInput`.
34
+ *
35
+ * Используйте `FxInput`, если поле вычисляемое и вы рассчитали значение.
36
+ *
37
+ * Принимает все свойства `Input`'a.
38
+ */
33
39
  export declare class FxInput extends React.Component<FxInputProps> {
34
40
  static __KONTUR_REACT_UI__: string;
35
41
  static displayName: string;
@@ -1,3 +1,4 @@
1
+ ### Базовый пример
1
2
  ```jsx harmony
2
3
  const [auto, setAuto] = React.useState(false);
3
4
  const [value, setValue] = React.useState();
@@ -15,6 +16,7 @@ function handleRestore() {
15
16
  <FxInput auto={auto} value={value} onValueChange={handleValueChange} onRestore={handleRestore} />;
16
17
  ```
17
18
 
19
+ ### Очистка значения
18
20
  Очистить значение в `FxInput`'е можно с помощью пустой строки или `undefined`
19
21
  ```jsx harmony
20
22
  import { Group, Button } from '@skbkontur/react-ui';
@@ -0,0 +1,28 @@
1
+ import * as FxInputStories from './FxInput.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={FxInputStories} />
6
+
7
+ # FxInput
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/input-fields/input/#11)
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} />
@@ -13,7 +13,7 @@ export var GappedDataTids = {
13
13
  };
14
14
 
15
15
  /**
16
- * Контейнер, расстояние между элементами в котором равно `gap`.
16
+ * Контейнер `Gapped` устанавливает расстояние равное `gap` между элементами.
17
17
  */
18
18
  export var Gapped = rootNode(_class = (_Gapped = /*#__PURE__*/function (_React$Component) {
19
19
  function Gapped() {
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","isNonNullable","CommonWrapper","rootNode","createPropsGetter","GappedDataTids","vertical","horizontal","Gapped","_class","_Gapped","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","_inheritsLoose","_proto","prototype","render","createElement","_extends","rootNodeRef","setRootNode","props","renderVertical","renderHorizontal","getGapValue","propsGap","gap","subsequentItemStyle","paddingTop","children","Children","toArray","filter","filterChildren","map","child","index","style","undefined","key","_this$props","verticalAlign","wrap","itemStyle","display","marginLeft","marginTop","rootStyle","contStyle","whiteSpace","Boolean","Component","__KONTUR_REACT_UI__","displayName","propTypes","number","bool","oneOf"],"sources":["Gapped.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport interface GappedProps extends CommonProps {\n /**\n * Расстояние между элементами в пикселях\n * @default 8\n */\n gap?: number;\n /**\n * Вертикальное выравнивание\n * @default \"baseline\"\n */\n verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';\n /**\n * Расположение элементов по вертикали\n * @default false\n */\n vertical?: boolean;\n /**\n * Перенос элементов на новую строку при горизонтальном расположении\n * @default false\n */\n wrap?: boolean;\n children: React.ReactNode;\n}\n\nexport const GappedDataTids = {\n vertical: 'Gapped__vertical',\n horizontal: 'Gapped__horizontal',\n} as const;\n\ntype DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;\n\n/**\n * Контейнер, расстояние между элементами в котором равно `gap`.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n public static displayName = 'Gapped';\n\n public static propTypes = {\n /**\n * Расстояние между элементами.\n */\n gap: PropTypes.number,\n\n /**\n * Располагать элементы вертикально.\n */\n vertical: PropTypes.bool,\n\n /**\n * Вертикальное выравнивание элементов.\n */\n verticalAlign: PropTypes.oneOf(['top', 'middle', 'baseline', 'bottom']),\n };\n\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n private getProps = createPropsGetter(Gapped.defaultProps);\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.getProps().vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n // DEPRECATED remove in 4.0\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div data-tid={GappedDataTids.vertical}>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign } = this.props;\n const wrap = this.getProps().wrap;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div data-tid={GappedDataTids.horizontal} style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\n }\n}\n"],"mappings":"oJAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;;AAElC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,aAAa,QAAqB,8BAA8B;AACzE,SAASC,QAAQ,QAAsB,oBAAoB;AAC3D,SAASC,iBAAiB,QAAQ,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;AA0B/D,OAAO,IAAMC,cAAc,GAAG;EAC5BC,QAAQ,EAAE,kBAAkB;EAC5BC,UAAU,EAAE;AACd,CAAU;;;;AAIV;AACA;AACA;AACA;AACaC,MAAM,GADlBL,QAAQ,CAAAM,MAAA,IAAAC,OAAA,0BAAAC,gBAAA,YAAAH,OAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8BCU,QAAQ,GAAGlB,iBAAiB,CAACI,MAAM,CAACe,YAAY,CAAC,QAAAX,KAAA,EAAAY,cAAA,CAAAhB,MAAA,EAAAG,gBAAA,MAAAc,MAAA,GAAAjB,MAAA,CAAAkB,SAAA,CAAAD,MAAA;;EAElDE,MAAM,GAAb,SAAAA,OAAA,EAAgB;IACd;MACE5B,KAAA,CAAA6B,aAAA,CAAC1B,aAAa,EAAA2B,QAAA,GAACC,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAACC,KAAK;MACzD,IAAI,CAACV,QAAQ,CAAC,CAAC,CAAChB,QAAQ,GAAG,IAAI,CAAC2B,cAAc,CAAC,CAAC,GAAG,IAAI,CAACC,gBAAgB,CAAC;MAC7D,CAAC;;EAEpB,CAAC,CAAAT,MAAA;;EAEOU,WAAW,GAAnB,SAAAA,YAAA,EAAsB;IACpB;IACA,IAAaC,QAAQ,GAAK,IAAI,CAACJ,KAAK,CAA5BK,GAAG;IACX,IAAIpC,aAAa,CAACmC,QAAQ,CAAC,EAAE;MAC3B,OAAOA,QAAQ;IACjB;;IAEA,OAAO,CAAC;EACV,CAAC,CAAAX,MAAA;;EAEOQ,cAAc,GAAtB,SAAAA,eAAA,EAAyB;IACvB,IAAMK,mBAAwC,GAAG;MAC/CC,UAAU,EAAE,IAAI,CAACJ,WAAW,CAAC;IAC/B,CAAC;IACD,IAAMK,QAAQ,GAAGzC,KAAK,CAAC0C,QAAQ,CAACC,OAAO,CAAC,IAAI,CAACV,KAAK,CAACQ,QAAQ,CAAC;IACzDG,MAAM,CAAC,IAAI,CAACC,cAAc,CAAC;IAC3BC,GAAG,CAAC,UAACC,KAAK,EAAEC,KAAK,EAAK;MACrB,IAAMC,KAAK,GAAGD,KAAK,KAAK,CAAC,GAAGE,SAAS,GAAGX,mBAAmB;MAC3D;QACEvC,KAAA,CAAA6B,aAAA,UAAKoB,KAAK,EAAEA,KAAM,EAACE,GAAG,EAAEH,KAAM;QAC3BD;QACE,CAAC;;IAEV,CAAC,CAAC;;IAEJ,oBAAO/C,KAAA,CAAA6B,aAAA,UAAK,YAAUvB,cAAc,CAACC,QAAS,IAAEkC,QAAc,CAAC;EACjE,CAAC,CAAAf,MAAA;;EAEOS,gBAAgB,GAAxB,SAAAA,iBAAA,EAA2B;IACzB,IAAAiB,WAAA,GAAoC,IAAI,CAACnB,KAAK,CAAtCQ,QAAQ,GAAAW,WAAA,CAARX,QAAQ,CAAEY,aAAa,GAAAD,WAAA,CAAbC,aAAa;IAC/B,IAAMC,IAAI,GAAG,IAAI,CAAC/B,QAAQ,CAAC,CAAC,CAAC+B,IAAI;IACjC,IAAMhB,GAAG,GAAG,IAAI,CAACF,WAAW,CAAC,CAAC;IAC9B,IAAMmB,SAA8B,GAAAzB,QAAA;MAClC0B,OAAO,EAAE,cAAc;MACvBH,aAAa,EAAbA,aAAa;IACTC,IAAI,GAAG,EAAEG,UAAU,EAAEnB,GAAG,EAAEoB,SAAS,EAAEpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CACpD;;IACD,IAAMqB,SAA8B,GAAGL,IAAI,GAAG,EAAEd,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpE,IAAMoB,SAA8B,GAAGN,IAAI,GAAG,EAAEI,SAAS,EAAE,CAACpB,GAAG,GAAG,CAAC,EAAEmB,UAAU,EAAE,CAACnB,GAAG,CAAC,CAAC,GAAG,EAAEuB,UAAU,EAAE,QAAQ,CAAC,CAAC;;IAElH;MACE7D,KAAA,CAAA6B,aAAA,UAAK,YAAUvB,cAAc,CAACE,UAAW,EAACyC,KAAK,EAAEU,SAAU;MACzD3D,KAAA,CAAA6B,aAAA,UAAKoB,KAAK,EAAEW,SAAU;MACnB5D,KAAK,CAAC0C,QAAQ,CAACC,OAAO,CAACF,QAAQ,CAAC;MAC9BG,MAAM,CAAC,IAAI,CAACC,cAAc,CAAC;MAC3BC,GAAG,CAAC,UAACC,KAAK,EAAEC,KAAK,EAAK;QACrB,IAAMS,UAAU,GAAGT,KAAK,KAAK,CAAC,GAAGE,SAAS,GAAGZ,GAAG;QAChD;UACEtC,KAAA,CAAA6B,aAAA,WAAMsB,GAAG,EAAEH,KAAM,EAACC,KAAK,EAAAnB,QAAA,GAAI2B,UAAU,EAAVA,UAAU,IAAKF,SAAS,CAAG;UACnDR;UACG,CAAC;;MAEX,CAAC;MACA;MACF,CAAC;;EAEV,CAAC,CAAArB,MAAA;;EAEOmB,cAAc,GAAtB,SAAAA,eAAuBE,KAAsB,EAAW;IACtD,OAAOe,OAAO,CAACf,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ;EACpD,CAAC,QAAAtC,MAAA,GAnGyBT,KAAK,CAAC+D,SAAS,GAAApD,OAAA,CAC3BqD,mBAAmB,GAAG,QAAQ,EAAArD,OAAA,CAC9BsD,WAAW,GAAG,QAAQ,EAAAtD,OAAA,CAEtBuD,SAAS,GAAG,EACxB;AACJ;AACA,KACI5B,GAAG,EAAErC,SAAS,CAACkE,MAAM,EAErB;AACJ;AACA,KACI5D,QAAQ,EAAEN,SAAS,CAACmE,IAAI,EAExB;AACJ;AACA,KACIf,aAAa,EAAEpD,SAAS,CAACoE,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CACzE,CAAC,EAAA1D,OAAA,CAIaa,YAAY,GAAiB,EACzC8B,IAAI,EAAE,KAAK,EACX/C,QAAQ,EAAE,KAAK,EACf8C,aAAa,EAAE,UAAU,CAC3B,CAAC,EAAA1C,OAAA,MAAAD,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["React","PropTypes","isNonNullable","CommonWrapper","rootNode","createPropsGetter","GappedDataTids","vertical","horizontal","Gapped","_class","_Gapped","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","_inheritsLoose","_proto","prototype","render","createElement","_extends","rootNodeRef","setRootNode","props","renderVertical","renderHorizontal","getGapValue","propsGap","gap","subsequentItemStyle","paddingTop","children","Children","toArray","filter","filterChildren","map","child","index","style","undefined","key","_this$props","verticalAlign","wrap","itemStyle","display","marginLeft","marginTop","rootStyle","contStyle","whiteSpace","Boolean","Component","__KONTUR_REACT_UI__","displayName","propTypes","number","bool","oneOf"],"sources":["Gapped.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport interface GappedProps extends CommonProps {\n /** Задает расстояние между элементами в пикселях. */\n gap?: number;\n\n /** Задает вертикальное выравнивание. */\n verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';\n\n /** Располагает элементы по вертикали. */\n vertical?: boolean;\n\n /** Переносит элементы на новую строку при горизонтальном расположении. */\n wrap?: boolean;\n\n /** @ignore */\n children: React.ReactNode;\n}\n\nexport const GappedDataTids = {\n vertical: 'Gapped__vertical',\n horizontal: 'Gapped__horizontal',\n} as const;\n\ntype DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;\n\n/**\n * Контейнер `Gapped` устанавливает расстояние равное `gap` между элементами.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n public static displayName = 'Gapped';\n\n public static propTypes = {\n /**\n * Расстояние между элементами.\n */\n gap: PropTypes.number,\n\n /**\n * Располагать элементы вертикально.\n */\n vertical: PropTypes.bool,\n\n /**\n * Вертикальное выравнивание элементов.\n */\n verticalAlign: PropTypes.oneOf(['top', 'middle', 'baseline', 'bottom']),\n };\n\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n private getProps = createPropsGetter(Gapped.defaultProps);\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.getProps().vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n // DEPRECATED remove in 4.0\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div data-tid={GappedDataTids.vertical}>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign } = this.props;\n const wrap = this.getProps().wrap;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div data-tid={GappedDataTids.horizontal} style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,26 +2,15 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { CommonProps } from '../../internal/CommonWrapper';
4
4
  export interface GappedProps extends CommonProps {
5
- /**
6
- * Расстояние между элементами в пикселях
7
- * @default 8
8
- */
5
+ /** Задает расстояние между элементами в пикселях. */
9
6
  gap?: number;
10
- /**
11
- * Вертикальное выравнивание
12
- * @default "baseline"
13
- */
7
+ /** Задает вертикальное выравнивание. */
14
8
  verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';
15
- /**
16
- * Расположение элементов по вертикали
17
- * @default false
18
- */
9
+ /** Располагает элементы по вертикали. */
19
10
  vertical?: boolean;
20
- /**
21
- * Перенос элементов на новую строку при горизонтальном расположении
22
- * @default false
23
- */
11
+ /** Переносит элементы на новую строку при горизонтальном расположении. */
24
12
  wrap?: boolean;
13
+ /** @ignore */
25
14
  children: React.ReactNode;
26
15
  }
27
16
  export declare const GappedDataTids: {
@@ -30,7 +19,7 @@ export declare const GappedDataTids: {
30
19
  };
31
20
  type DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;
32
21
  /**
33
- * Контейнер, расстояние между элементами в котором равно `gap`.
22
+ * Контейнер `Gapped` устанавливает расстояние равное `gap` между элементами.
34
23
  */
35
24
  export declare class Gapped extends React.Component<GappedProps> {
36
25
  static __KONTUR_REACT_UI__: string;
@@ -1,4 +1,4 @@
1
- Вывод элементов с горизонтальным расположением
1
+ ### Вывод элементов с горизонтальным расположением
2
2
 
3
3
  ```jsx harmony
4
4
  import { Button } from '@skbkontur/react-ui';
@@ -9,7 +9,7 @@ import { Button } from '@skbkontur/react-ui';
9
9
  </Gapped>;
10
10
  ```
11
11
 
12
- Вертикальное расположение
12
+ ### Вертикальное расположение
13
13
 
14
14
  ```jsx harmony
15
15
  import { Checkbox } from '@skbkontur/react-ui';
@@ -21,6 +21,7 @@ import { Checkbox } from '@skbkontur/react-ui';
21
21
  </Gapped>;
22
22
  ```
23
23
 
24
+ ### Wrap
24
25
  По умолчанию `Gapped` выстраивает элементы в одну строчку, но с помощью свойства `wrap` можно включить перенос элементов на новую строку.
25
26
  При этом между строчками будет отступ равный значению свойста `gap`
26
27
  В таком случае из-за особенности верстки `Gapped` может перекрывать элементы расположенные сверху-слева.