@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
@@ -6,35 +6,23 @@ import { CommonProps } from '../../internal/CommonWrapper';
6
6
  declare const types: readonly ["mini", "normal", "big"];
7
7
  export type LoaderType = (typeof types)[number];
8
8
  export interface LoaderProps extends CommonProps {
9
+ /** @ignore */
9
10
  children?: React.ReactNode;
10
- /**
11
- * Флаг переключения состояния лоадера
12
- * @default false
13
- */
11
+ /** Задает состояние лоадера.
12
+ * @default false */
14
13
  active?: boolean;
15
- /**
16
- * Подпись под спиннером
17
- */
14
+ /** Задает подпись под спиннером. */
18
15
  caption?: SpinnerProps['caption'];
19
- /**
20
- * Компонент заменяющий спиннер.
21
- */
16
+ /** Задает компонент, заменяющий спиннер. */
22
17
  component?: React.ReactNode;
23
- /**
24
- * Размер спиннера и текста
25
- *
26
- * @default normal
27
- */
18
+ /** Задает размер спиннера и текста.
19
+ * @default normal. */
28
20
  type?: LoaderType;
29
- /**
30
- * Время в миллисекундах для показа вуали без спиннера.
31
- * @default 300
32
- */
21
+ /** Устанавливает время в миллисекундах для показа вуали без спиннера.
22
+ * @default 30.0 */
33
23
  delayBeforeSpinnerShow?: number;
34
- /**
35
- * Минимальное время в миллисекундах для показа спиннера
36
- * @default 1000
37
- */
24
+ /** Устанавливает минимальное время в миллисекундах для показа спиннера.
25
+ * @default 1000. */
38
26
  minimalDelayBeforeSpinnerHide?: number;
39
27
  }
40
28
  export interface LoaderState {
@@ -49,9 +37,9 @@ export declare const LoaderDataTids: {
49
37
  };
50
38
  type DefaultProps = Required<Pick<LoaderProps, 'type' | 'active' | 'delayBeforeSpinnerShow' | 'minimalDelayBeforeSpinnerHide'>>;
51
39
  /**
52
- * Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер
40
+ * Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер.
53
41
  *
54
- * Если вам нужен только сам спиннер без дополнительнго функционала - используйте компонент [Spinner](https://tech.skbkontur.ru/react-ui/#/Components/Spinner)
42
+ * Если вам нужен только сам спиннер без дополнительного функционала - используйте компонент Spinner.
55
43
  */
56
44
  export declare class Loader extends React.Component<LoaderProps, LoaderState> {
57
45
  static __KONTUR_REACT_UI__: string;
@@ -52,12 +52,6 @@ var types = ['mini', 'normal', 'big'];
52
52
 
53
53
 
54
54
 
55
-
56
-
57
-
58
-
59
-
60
-
61
55
 
62
56
 
63
57
 
@@ -75,9 +69,9 @@ var LoaderDataTids = exports.LoaderDataTids = {
75
69
 
76
70
 
77
71
  /**
78
- * Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер
72
+ * Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер.
79
73
  *
80
- * Если вам нужен только сам спиннер без дополнительнго функционала - используйте компонент [Spinner](https://tech.skbkontur.ru/react-ui/#/Components/Spinner)
74
+ * Если вам нужен только сам спиннер без дополнительного функционала - используйте компонент Spinner.
81
75
  */var
82
76
 
83
77
  Loader = exports.Loader = (0, _rootNode.rootNode)(_class = (_Loader = /*#__PURE__*/function (_React$Component) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_globalObject","LayoutEvents","_interopRequireWildcard","_Spinner","_ThemeContext","_ZIndex","_CommonWrapper","_Emotion","_currentEnvironment","_taskWithDelayAndMinimalDuration","_tabbableHelpers","_rootNode","_getDOMRect2","_createPropsGetter","_Loader2","_class","_Loader","types","LoaderDataTids","exports","veil","spinner","Loader","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","childrenRef","element","childrenContainerNode","spinnerRef","spinnerContainerNode","checkSpinnerPosition","isBrowser","globalObject","_getDOMRect","getDOMRect","containerTop","top","containerRight","right","containerBottom","bottom","containerLeft","left","containerHeight","height","containerWidth","width","windowHeight","innerHeight","windowWidth","innerWidth","setState","isStickySpinner","spinnerStyle","Math","abs","spinnerHeight","spinnerNode","disableChildrenFocus","childrenObserver","makeObservable","tabbableElements","getTabbableElements","forEach","el","hasAttribute","setAttribute","tabIndex","toString","enableChildrenFocus","_globalObject$documen","_globalObject$documen2","makeUnobservable","Array","from","document","querySelectorAll","_el$getAttribute","getAttribute","removeAttribute","target","MutationObserver","config","childList","subtree","observer","observe","_this$childrenObserve","disconnect","state","isSpinnerVisible","isLoaderActive","spinnerTask","TaskWithDelayAndMinimalDuration","delayBeforeTaskStart","delayBeforeSpinnerShow","durationOfTask","minimalDelayBeforeSpinnerHide","taskStartCallback","taskStopCallback","_inheritsLoose2","default","_proto","prototype","componentDidMount","active","start","layoutEvents","addListener","debounce","componentDidUpdate","prevProps","prevState","component","_this$getProps","update","stop","componentWillUnmount","remove","clearTask","getDerivedStateFromProps","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","_cx","_this$props","caption","type","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","loader","ZIndex","applyZIndex","coverChildren","style","wrapperRef","children","cx","renderSpinner","_cx2","_this3","spinnerContainer","spinnerContainerSticky","spinnerComponentWrapper","ref","undefined","Spinner","React","Component","__KONTUR_REACT_UI__","displayName","isTestEnv","propTypes","PropTypes","bool","node","string","oneOf","number"],"sources":["Loader.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { AnyObject } from '../../lib/utils';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Spinner, SpinnerProps } from '../Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { TaskWithDelayAndMinimalDuration } from '../../lib/taskWithDelayAndMinimalDuration';\nimport { getTabbableElements } from '../../lib/dom/tabbableHelpers';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Loader.styles';\n\nconst types = ['mini', 'normal', 'big'] as const;\n\nexport type LoaderType = (typeof types)[number];\n\nexport interface LoaderProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Флаг переключения состояния лоадера\n * @default false\n */\n active?: boolean;\n /**\n * Подпись под спиннером\n */\n caption?: SpinnerProps['caption'];\n /**\n * Компонент заменяющий спиннер.\n */\n component?: React.ReactNode;\n /**\n * Размер спиннера и текста\n *\n * @default normal\n */\n type?: LoaderType;\n /**\n * Время в миллисекундах для показа вуали без спиннера.\n * @default 300\n */\n delayBeforeSpinnerShow?: number;\n /**\n * Минимальное время в миллисекундах для показа спиннера\n * @default 1000\n */\n minimalDelayBeforeSpinnerHide?: number;\n}\n\nexport interface LoaderState {\n isStickySpinner: boolean;\n isSpinnerVisible: boolean;\n isLoaderActive: boolean;\n spinnerStyle?: AnyObject;\n}\n\nexport const LoaderDataTids = {\n veil: 'Loader__Veil',\n spinner: 'Loader__Spinner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<LoaderProps, 'type' | 'active' | 'delayBeforeSpinnerShow' | 'minimalDelayBeforeSpinnerHide'>\n>;\n\n/**\n * Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер\n *\n * Если вам нужен только сам спиннер без дополнительнго функционала - используйте компонент [Spinner](https://tech.skbkontur.ru/react-ui/#/Components/Spinner)\n */\n@rootNode\nexport class Loader extends React.Component<LoaderProps, LoaderState> {\n public static __KONTUR_REACT_UI__ = 'Loader';\n public static displayName = 'Loader';\n\n public static defaultProps: DefaultProps = {\n type: 'normal',\n active: false,\n delayBeforeSpinnerShow: isTestEnv ? 0 : 300,\n minimalDelayBeforeSpinnerHide: isTestEnv ? 0 : 1000,\n };\n\n private getProps = createPropsGetter(Loader.defaultProps);\n\n public static propTypes = {\n /**\n * показываем лоадер или нет\n */\n active: PropTypes.bool,\n\n /**\n * Текст рядом с лоадером.\n *\n * @default \"Загрузка\"\n */\n caption: Spinner.propTypes.caption,\n\n component: PropTypes.node,\n\n /**\n * Класс для обертки\n */\n className: PropTypes.string,\n\n /**\n * Тип спиннера: mini, normal, big\n *\n * @default normal\n */\n type: PropTypes.oneOf(types),\n /**\n * Время в миллисекундах для показа вуали без спиннера.\n * @default 300\n */\n delayBeforeSpinnerShow: PropTypes.number,\n /**\n * Минимальное время в миллисекундах для показа спиннера\n * @default 1000\n */\n minimalDelayBeforeSpinnerHide: PropTypes.number,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private spinnerContainerNode: Nullable<HTMLDivElement>;\n private childrenContainerNode: Nullable<HTMLDivElement>;\n private spinnerNode: Nullable<HTMLDivElement>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private spinnerTask: TaskWithDelayAndMinimalDuration;\n private childrenObserver: Nullable<MutationObserver>;\n\n constructor(props: LoaderProps) {\n super(props);\n\n this.spinnerContainerNode = null;\n this.childrenContainerNode = null;\n this.childrenObserver = null;\n this.spinnerNode = null;\n\n this.state = {\n isStickySpinner: false,\n isSpinnerVisible: false,\n isLoaderActive: false,\n };\n\n this.spinnerTask = new TaskWithDelayAndMinimalDuration({\n delayBeforeTaskStart: this.getProps().delayBeforeSpinnerShow,\n durationOfTask: this.getProps().minimalDelayBeforeSpinnerHide,\n taskStartCallback: () => this.setState({ isSpinnerVisible: true }),\n taskStopCallback: () => this.setState({ isSpinnerVisible: false }),\n });\n }\n\n public componentDidMount() {\n const active = this.getProps().active;\n this.checkSpinnerPosition();\n active && this.spinnerTask.start();\n this.layoutEvents = LayoutEvents.addListener(debounce(this.checkSpinnerPosition, 10));\n\n if (active) {\n this.disableChildrenFocus();\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<LoaderProps>, prevState: Readonly<LoaderState>) {\n const { component } = this.props;\n const { active, delayBeforeSpinnerShow, minimalDelayBeforeSpinnerHide } = this.getProps();\n const { isLoaderActive } = this.state;\n\n if ((active && !prevProps.active) || prevProps.component !== component) {\n this.checkSpinnerPosition();\n }\n\n if (\n delayBeforeSpinnerShow !== prevProps.delayBeforeSpinnerShow ||\n minimalDelayBeforeSpinnerHide !== prevProps.minimalDelayBeforeSpinnerHide\n ) {\n this.spinnerTask.update({\n delayBeforeTaskStart: delayBeforeSpinnerShow,\n durationOfTask: minimalDelayBeforeSpinnerHide,\n });\n }\n\n if (active !== prevProps.active) {\n active ? this.spinnerTask.start() : this.spinnerTask.stop();\n }\n\n if (isLoaderActive !== prevState.isLoaderActive) {\n if (isLoaderActive) {\n this.disableChildrenFocus();\n } else {\n this.enableChildrenFocus();\n }\n }\n }\n\n public componentWillUnmount() {\n this.makeUnobservable();\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n this.spinnerTask.clearTask();\n }\n\n public static getDerivedStateFromProps(props: LoaderProps, state: LoaderState): Partial<LoaderState> {\n if (props.active && !state.isLoaderActive) {\n return {\n isLoaderActive: true,\n };\n }\n if (state.isLoaderActive && !(props.active || state.isSpinnerVisible)) {\n return {\n isLoaderActive: false,\n };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { caption, component } = this.props;\n const type = this.getProps().type;\n const { isLoaderActive } = this.state;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div className={styles.loader()} data-tid={isLoaderActive ? LoaderDataTids.veil : ''}>\n <ZIndex\n applyZIndex={isLoaderActive}\n coverChildren={isLoaderActive}\n style={{ height: '100%' }}\n wrapperRef={this.childrenRef}\n >\n {this.props.children}\n </ZIndex>\n {isLoaderActive && (\n <ZIndex\n wrapperRef={this.spinnerRef}\n className={cx({\n [styles.active(this.theme)]: isLoaderActive,\n })}\n >\n {this.state.isSpinnerVisible && this.renderSpinner(type, caption, component)}\n </ZIndex>\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private childrenRef = (element: HTMLDivElement | null) => {\n this.childrenContainerNode = element;\n };\n\n private spinnerRef = (element: HTMLDivElement | null) => {\n this.spinnerContainerNode = element;\n };\n\n private renderSpinner(type?: LoaderType, caption?: React.ReactNode, component?: React.ReactNode) {\n return (\n <span\n data-tid={LoaderDataTids.spinner}\n className={cx(styles.spinnerContainer(), { [styles.spinnerContainerSticky()]: this.state.isStickySpinner })}\n style={this.state.spinnerStyle}\n >\n <div\n className={styles.spinnerComponentWrapper()}\n ref={(element) => {\n this.spinnerNode = element;\n }}\n >\n {component !== undefined ? component : <Spinner type={type} caption={caption} />}\n </div>\n </span>\n );\n }\n\n private checkSpinnerPosition = () => {\n if (!this.spinnerContainerNode || !isBrowser(globalObject)) {\n return;\n }\n\n const {\n top: containerTop,\n right: containerRight,\n bottom: containerBottom,\n left: containerLeft,\n height: containerHeight,\n width: containerWidth,\n } = getDOMRect(this.spinnerContainerNode);\n\n const windowHeight = globalObject.innerHeight;\n const windowWidth = globalObject.innerWidth;\n\n // Если контейнер не больше высоты и не шире окна,\n // то просто выравниваем по центру\n if (windowHeight >= containerHeight && windowWidth >= containerWidth) {\n this.setState({\n isStickySpinner: false,\n spinnerStyle: {},\n });\n return;\n }\n\n const spinnerStyle: {\n top?: number;\n right: number;\n bottom: number;\n left: number;\n } = {\n top: 30,\n right: 0,\n bottom: 30,\n left: 0,\n };\n\n // ПО ВЕРТИКАЛИ\n // Если верхний край контейнера ниже верхнего края окна,\n // то сдвигаем и лоадер\n if (containerTop > 0) {\n spinnerStyle.top = containerTop + 30;\n }\n\n // Если нижний край контейнера выше нижнего края окна,\n // то сдвигаем и лоадер\n if (containerBottom < windowHeight) {\n spinnerStyle.bottom = Math.abs(windowHeight - containerBottom) + 30;\n }\n\n // Если знаем высоту спиннера и нижний край контейнера поднимается\n // выше отступа на высоту спиннера, то убираем верхнюю позицию лоадера\n\n const spinnerHeight = getDOMRect(this.spinnerNode).height;\n\n if (spinnerHeight && spinnerStyle.bottom >= windowHeight - spinnerHeight) {\n delete spinnerStyle.top;\n }\n\n // ПО ГОРИЗОНТАЛИ\n // Если левый край контейнера правее левого края окна,\n // то сдвигаем и лоадер\n if (containerLeft > 0) {\n spinnerStyle.left = containerLeft;\n }\n\n // Если правый край контейнера левее правого края окна,\n // то сдвигаем и лоадер\n if (containerRight < windowWidth) {\n spinnerStyle.right = windowWidth - containerRight;\n }\n\n this.setState({\n isStickySpinner: true,\n spinnerStyle,\n });\n };\n\n private disableChildrenFocus = () => {\n if (!this.childrenObserver) {\n this.makeObservable();\n }\n const tabbableElements = getTabbableElements(this.childrenContainerNode);\n tabbableElements.forEach((el) => {\n if (!el.hasAttribute('origin-tabindex')) {\n el.setAttribute('origin-tabindex', el.tabIndex.toString());\n }\n el.tabIndex = -1;\n });\n };\n\n private enableChildrenFocus = () => {\n this.makeUnobservable();\n // NOTE: NodeList doesn't support 'forEach' method in IE11 and other older browsers\n Array.from(globalObject.document?.querySelectorAll('[origin-tabindex]') ?? []).forEach((el) => {\n el.setAttribute('tabindex', el.getAttribute('origin-tabindex') ?? '0');\n el.removeAttribute('origin-tabindex');\n });\n };\n\n private makeObservable = () => {\n const target = this.childrenContainerNode;\n if (!target || !globalObject.MutationObserver) {\n return;\n }\n const config = {\n childList: true,\n subtree: true,\n };\n const observer = new globalObject.MutationObserver(this.disableChildrenFocus);\n observer.observe(target, config);\n this.childrenObserver = observer;\n };\n\n private makeUnobservable = () => {\n this.childrenObserver?.disconnect();\n this.childrenObserver = null;\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_globalObject","LayoutEvents","_interopRequireWildcard","_Spinner","_ThemeContext","_ZIndex","_CommonWrapper","_Emotion","_currentEnvironment","_taskWithDelayAndMinimalDuration","_tabbableHelpers","_rootNode","_getDOMRect2","_createPropsGetter","_Loader2","_class","_Loader","types","LoaderDataTids","exports","veil","spinner","Loader","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","childrenRef","element","childrenContainerNode","spinnerRef","spinnerContainerNode","checkSpinnerPosition","isBrowser","globalObject","_getDOMRect","getDOMRect","containerTop","top","containerRight","right","containerBottom","bottom","containerLeft","left","containerHeight","height","containerWidth","width","windowHeight","innerHeight","windowWidth","innerWidth","setState","isStickySpinner","spinnerStyle","Math","abs","spinnerHeight","spinnerNode","disableChildrenFocus","childrenObserver","makeObservable","tabbableElements","getTabbableElements","forEach","el","hasAttribute","setAttribute","tabIndex","toString","enableChildrenFocus","_globalObject$documen","_globalObject$documen2","makeUnobservable","Array","from","document","querySelectorAll","_el$getAttribute","getAttribute","removeAttribute","target","MutationObserver","config","childList","subtree","observer","observe","_this$childrenObserve","disconnect","state","isSpinnerVisible","isLoaderActive","spinnerTask","TaskWithDelayAndMinimalDuration","delayBeforeTaskStart","delayBeforeSpinnerShow","durationOfTask","minimalDelayBeforeSpinnerHide","taskStartCallback","taskStopCallback","_inheritsLoose2","default","_proto","prototype","componentDidMount","active","start","layoutEvents","addListener","debounce","componentDidUpdate","prevProps","prevState","component","_this$getProps","update","stop","componentWillUnmount","remove","clearTask","getDerivedStateFromProps","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","_cx","_this$props","caption","type","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","loader","ZIndex","applyZIndex","coverChildren","style","wrapperRef","children","cx","renderSpinner","_cx2","_this3","spinnerContainer","spinnerContainerSticky","spinnerComponentWrapper","ref","undefined","Spinner","React","Component","__KONTUR_REACT_UI__","displayName","isTestEnv","propTypes","PropTypes","bool","node","string","oneOf","number"],"sources":["Loader.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { AnyObject } from '../../lib/utils';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Spinner, SpinnerProps } from '../Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { TaskWithDelayAndMinimalDuration } from '../../lib/taskWithDelayAndMinimalDuration';\nimport { getTabbableElements } from '../../lib/dom/tabbableHelpers';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Loader.styles';\n\nconst types = ['mini', 'normal', 'big'] as const;\n\nexport type LoaderType = (typeof types)[number];\n\nexport interface LoaderProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает состояние лоадера.\n * @default false */\n active?: boolean;\n\n /** Задает подпись под спиннером. */\n caption?: SpinnerProps['caption'];\n\n /** Задает компонент, заменяющий спиннер. */\n component?: React.ReactNode;\n\n /** Задает размер спиннера и текста.\n * @default normal. */\n type?: LoaderType;\n\n /** Устанавливает время в миллисекундах для показа вуали без спиннера.\n * @default 30.0 */\n delayBeforeSpinnerShow?: number;\n\n /** Устанавливает минимальное время в миллисекундах для показа спиннера.\n * @default 1000. */\n minimalDelayBeforeSpinnerHide?: number;\n}\n\nexport interface LoaderState {\n isStickySpinner: boolean;\n isSpinnerVisible: boolean;\n isLoaderActive: boolean;\n spinnerStyle?: AnyObject;\n}\n\nexport const LoaderDataTids = {\n veil: 'Loader__Veil',\n spinner: 'Loader__Spinner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<LoaderProps, 'type' | 'active' | 'delayBeforeSpinnerShow' | 'minimalDelayBeforeSpinnerHide'>\n>;\n\n/**\n * Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер.\n *\n * Если вам нужен только сам спиннер без дополнительного функционала - используйте компонент Spinner.\n */\n@rootNode\nexport class Loader extends React.Component<LoaderProps, LoaderState> {\n public static __KONTUR_REACT_UI__ = 'Loader';\n public static displayName = 'Loader';\n\n public static defaultProps: DefaultProps = {\n type: 'normal',\n active: false,\n delayBeforeSpinnerShow: isTestEnv ? 0 : 300,\n minimalDelayBeforeSpinnerHide: isTestEnv ? 0 : 1000,\n };\n\n private getProps = createPropsGetter(Loader.defaultProps);\n\n public static propTypes = {\n /**\n * показываем лоадер или нет\n */\n active: PropTypes.bool,\n\n /**\n * Текст рядом с лоадером.\n *\n * @default \"Загрузка\"\n */\n caption: Spinner.propTypes.caption,\n\n component: PropTypes.node,\n\n /**\n * Класс для обертки\n */\n className: PropTypes.string,\n\n /**\n * Тип спиннера: mini, normal, big\n *\n * @default normal\n */\n type: PropTypes.oneOf(types),\n /**\n * Время в миллисекундах для показа вуали без спиннера.\n * @default 300\n */\n delayBeforeSpinnerShow: PropTypes.number,\n /**\n * Минимальное время в миллисекундах для показа спиннера\n * @default 1000\n */\n minimalDelayBeforeSpinnerHide: PropTypes.number,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private spinnerContainerNode: Nullable<HTMLDivElement>;\n private childrenContainerNode: Nullable<HTMLDivElement>;\n private spinnerNode: Nullable<HTMLDivElement>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private spinnerTask: TaskWithDelayAndMinimalDuration;\n private childrenObserver: Nullable<MutationObserver>;\n\n constructor(props: LoaderProps) {\n super(props);\n\n this.spinnerContainerNode = null;\n this.childrenContainerNode = null;\n this.childrenObserver = null;\n this.spinnerNode = null;\n\n this.state = {\n isStickySpinner: false,\n isSpinnerVisible: false,\n isLoaderActive: false,\n };\n\n this.spinnerTask = new TaskWithDelayAndMinimalDuration({\n delayBeforeTaskStart: this.getProps().delayBeforeSpinnerShow,\n durationOfTask: this.getProps().minimalDelayBeforeSpinnerHide,\n taskStartCallback: () => this.setState({ isSpinnerVisible: true }),\n taskStopCallback: () => this.setState({ isSpinnerVisible: false }),\n });\n }\n\n public componentDidMount() {\n const active = this.getProps().active;\n this.checkSpinnerPosition();\n active && this.spinnerTask.start();\n this.layoutEvents = LayoutEvents.addListener(debounce(this.checkSpinnerPosition, 10));\n\n if (active) {\n this.disableChildrenFocus();\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<LoaderProps>, prevState: Readonly<LoaderState>) {\n const { component } = this.props;\n const { active, delayBeforeSpinnerShow, minimalDelayBeforeSpinnerHide } = this.getProps();\n const { isLoaderActive } = this.state;\n\n if ((active && !prevProps.active) || prevProps.component !== component) {\n this.checkSpinnerPosition();\n }\n\n if (\n delayBeforeSpinnerShow !== prevProps.delayBeforeSpinnerShow ||\n minimalDelayBeforeSpinnerHide !== prevProps.minimalDelayBeforeSpinnerHide\n ) {\n this.spinnerTask.update({\n delayBeforeTaskStart: delayBeforeSpinnerShow,\n durationOfTask: minimalDelayBeforeSpinnerHide,\n });\n }\n\n if (active !== prevProps.active) {\n active ? this.spinnerTask.start() : this.spinnerTask.stop();\n }\n\n if (isLoaderActive !== prevState.isLoaderActive) {\n if (isLoaderActive) {\n this.disableChildrenFocus();\n } else {\n this.enableChildrenFocus();\n }\n }\n }\n\n public componentWillUnmount() {\n this.makeUnobservable();\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n this.spinnerTask.clearTask();\n }\n\n public static getDerivedStateFromProps(props: LoaderProps, state: LoaderState): Partial<LoaderState> {\n if (props.active && !state.isLoaderActive) {\n return {\n isLoaderActive: true,\n };\n }\n if (state.isLoaderActive && !(props.active || state.isSpinnerVisible)) {\n return {\n isLoaderActive: false,\n };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { caption, component } = this.props;\n const type = this.getProps().type;\n const { isLoaderActive } = this.state;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div className={styles.loader()} data-tid={isLoaderActive ? LoaderDataTids.veil : ''}>\n <ZIndex\n applyZIndex={isLoaderActive}\n coverChildren={isLoaderActive}\n style={{ height: '100%' }}\n wrapperRef={this.childrenRef}\n >\n {this.props.children}\n </ZIndex>\n {isLoaderActive && (\n <ZIndex\n wrapperRef={this.spinnerRef}\n className={cx({\n [styles.active(this.theme)]: isLoaderActive,\n })}\n >\n {this.state.isSpinnerVisible && this.renderSpinner(type, caption, component)}\n </ZIndex>\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private childrenRef = (element: HTMLDivElement | null) => {\n this.childrenContainerNode = element;\n };\n\n private spinnerRef = (element: HTMLDivElement | null) => {\n this.spinnerContainerNode = element;\n };\n\n private renderSpinner(type?: LoaderType, caption?: React.ReactNode, component?: React.ReactNode) {\n return (\n <span\n data-tid={LoaderDataTids.spinner}\n className={cx(styles.spinnerContainer(), { [styles.spinnerContainerSticky()]: this.state.isStickySpinner })}\n style={this.state.spinnerStyle}\n >\n <div\n className={styles.spinnerComponentWrapper()}\n ref={(element) => {\n this.spinnerNode = element;\n }}\n >\n {component !== undefined ? component : <Spinner type={type} caption={caption} />}\n </div>\n </span>\n );\n }\n\n private checkSpinnerPosition = () => {\n if (!this.spinnerContainerNode || !isBrowser(globalObject)) {\n return;\n }\n\n const {\n top: containerTop,\n right: containerRight,\n bottom: containerBottom,\n left: containerLeft,\n height: containerHeight,\n width: containerWidth,\n } = getDOMRect(this.spinnerContainerNode);\n\n const windowHeight = globalObject.innerHeight;\n const windowWidth = globalObject.innerWidth;\n\n // Если контейнер не больше высоты и не шире окна,\n // то просто выравниваем по центру\n if (windowHeight >= containerHeight && windowWidth >= containerWidth) {\n this.setState({\n isStickySpinner: false,\n spinnerStyle: {},\n });\n return;\n }\n\n const spinnerStyle: {\n top?: number;\n right: number;\n bottom: number;\n left: number;\n } = {\n top: 30,\n right: 0,\n bottom: 30,\n left: 0,\n };\n\n // ПО ВЕРТИКАЛИ\n // Если верхний край контейнера ниже верхнего края окна,\n // то сдвигаем и лоадер\n if (containerTop > 0) {\n spinnerStyle.top = containerTop + 30;\n }\n\n // Если нижний край контейнера выше нижнего края окна,\n // то сдвигаем и лоадер\n if (containerBottom < windowHeight) {\n spinnerStyle.bottom = Math.abs(windowHeight - containerBottom) + 30;\n }\n\n // Если знаем высоту спиннера и нижний край контейнера поднимается\n // выше отступа на высоту спиннера, то убираем верхнюю позицию лоадера\n\n const spinnerHeight = getDOMRect(this.spinnerNode).height;\n\n if (spinnerHeight && spinnerStyle.bottom >= windowHeight - spinnerHeight) {\n delete spinnerStyle.top;\n }\n\n // ПО ГОРИЗОНТАЛИ\n // Если левый край контейнера правее левого края окна,\n // то сдвигаем и лоадер\n if (containerLeft > 0) {\n spinnerStyle.left = containerLeft;\n }\n\n // Если правый край контейнера левее правого края окна,\n // то сдвигаем и лоадер\n if (containerRight < windowWidth) {\n spinnerStyle.right = windowWidth - containerRight;\n }\n\n this.setState({\n isStickySpinner: true,\n spinnerStyle,\n });\n };\n\n private disableChildrenFocus = () => {\n if (!this.childrenObserver) {\n this.makeObservable();\n }\n const tabbableElements = getTabbableElements(this.childrenContainerNode);\n tabbableElements.forEach((el) => {\n if (!el.hasAttribute('origin-tabindex')) {\n el.setAttribute('origin-tabindex', el.tabIndex.toString());\n }\n el.tabIndex = -1;\n });\n };\n\n private enableChildrenFocus = () => {\n this.makeUnobservable();\n // NOTE: NodeList doesn't support 'forEach' method in IE11 and other older browsers\n Array.from(globalObject.document?.querySelectorAll('[origin-tabindex]') ?? []).forEach((el) => {\n el.setAttribute('tabindex', el.getAttribute('origin-tabindex') ?? '0');\n el.removeAttribute('origin-tabindex');\n });\n };\n\n private makeObservable = () => {\n const target = this.childrenContainerNode;\n if (!target || !globalObject.MutationObserver) {\n return;\n }\n const config = {\n childList: true,\n subtree: true,\n };\n const observer = new globalObject.MutationObserver(this.disableChildrenFocus);\n observer.observe(target, config);\n this.childrenObserver = observer;\n };\n\n private makeUnobservable = () => {\n this.childrenObserver?.disconnect();\n this.childrenObserver = null;\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ ### Базовый пример
1
2
  ```jsx harmony
2
3
  import { Button } from '@skbkontur/react-ui';
3
4
 
@@ -0,0 +1,26 @@
1
+ import * as LoaderStories from './Loader.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={LoaderStories} />
6
+
7
+ # Loader
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/progress-indicators/spinner/)
10
+
11
+ <Description />
12
+
13
+ ## Базовый пример
14
+
15
+ <Primary />
16
+
17
+ ## Пропы
18
+
19
+ <details>
20
+ <summary>Открыть таблицу с пропами</summary>
21
+ <ArgTypes />
22
+ </details>
23
+
24
+ ## Примеры использования
25
+
26
+ <Stories title="" includePrimary={false} />
@@ -3,52 +3,32 @@ import { Input, InputProps, InputType } from '../Input';
3
3
  export interface MaskedProps {
4
4
  /** Паттерн маски */
5
5
  mask: string;
6
- /**
7
- * Символ маски
8
- *
9
- * @default _
10
- */
6
+ /** Устанавливает символ маски
7
+ * @default _ */
11
8
  maskChar?: string;
12
- /**
13
- * Словарь символов-регулярок для маски
14
- *
15
- * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }
16
- */
9
+ /** Задает словарь символов-регулярок для задания маски.
10
+ * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' } */
17
11
  formatChars?: Record<string, string>;
18
- /**
19
- * Всегда показывать символы маски
20
- *
21
- * @default false
22
- */
12
+ /** Включает показ символов маски.
13
+ * @default false */
23
14
  alwaysShowMask?: boolean;
24
- /**
25
- * Обработчик неправильного ввода.
15
+ /** Задает обработчик неправильного ввода.
26
16
  * Вторым агрументом будет передан метод вспыхивания акцентным цветом.
27
17
  *
28
18
  * Если обработчик не задан, то инпут вспыхивает по-умолчанию.
29
- *
30
19
  * @param value значение инпута.
31
20
  * @param blink вспыхнуть акцентным цвтетом.
32
21
  */
33
22
  onUnexpectedInput?: (value: string, blink: () => void) => void;
34
- /**
35
- * Убирать из value символы, не введённые пользователем
36
- *
37
- * @default false
38
- */
23
+ /** Убирает из value символы, не введённые пользователем
24
+ * @default false */
39
25
  unmask?: boolean;
40
- /**
41
- * Раскрашивать символы маски
42
- *
26
+ /** Раскрашивает символы маски.
43
27
  * @default true
44
- * @ignore
45
- */
28
+ * @ignore */
46
29
  colored?: boolean;
47
- /**
48
- * Пропы для компонента `IMaskInput`. Необходимы для юнит-тестов
49
- *
50
- * @ignore
51
- */
30
+ /** Задает пропы для компонента `IMaskInput`. Необходимы для юнит-тестов
31
+ * @ignore */
52
32
  imaskProps?: IMaskInputProps<HTMLInputElement>;
53
33
  }
54
34
  export type MaskInputType = Exclude<InputType, 'number' | 'date' | 'time' | 'password'>;
@@ -45,19 +45,6 @@ var _FixedIMaskInput = require("./FixedIMaskInput");var _excluded = ["mask", "ma
45
45
 
46
46
 
47
47
 
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
48
 
62
49
 
63
50
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_forwardRefAndName","_Emotion","_UiFont","_Input","_identifiers","_MaskedInput","_MaskedInput2","_ColorableInputElement","_FixedIMaskInput","_excluded","MaskedInput","exports","forwardRefAndName","props","ref","mask","maskChar","formatChars","_props$alwaysShowMask","alwaysShowMask","_props$colored","colored","_props$imaskProps","imaskProps","customIMaskProps","_props$unmask","unmask","onValueChange","onUnexpectedInput","onChange","element","className","inputProps","_objectWithoutPropertiesLoose2","default","inputRef","useRef","_useState","useState","focused","setFocused","prevValue","value","String","defaultValue","prevSelectionStart","useImperativeHandle","current","Object","assign","selectAll","_inputRef$current","_inputRef$current2","focus","delaySelectAll","useEffect","_inputRef$current3","input","selectionStart","getCompatibleIMaskProps","createElement","Input","_extends2","onFocus","handleFocus","onBlur","handleBlur","onInput","handleInput","onKeyDown","handleKeyDown","cx","globalClasses","root","uiFontGlobalClasses","ColorableInputElement","showOnFocus","FixedIMaskInput","onAccept","handleAccept","replace","placeholderChar","getMaskChar","definitions","getDefinitions","eager","overwrite","lazy","disabled","_len","arguments","length","args","Array","_key","e","_e$currentTarget","currentTarget","handleUnexpectedInput","_inputRef$current4","selectAllOnFocus","_inputRef$current5","blink","bind","undefined","_e$currentTarget2","selectionEnd","isKeyBackspace","isKeyDelete"],"sources":["MaskedInput.tsx"],"sourcesContent":["import React, { Ref, useImperativeHandle, useRef, useState, useEffect } from 'react';\nimport { IMaskInputProps } from 'react-imask';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { cx } from '../../lib/theming/Emotion';\nimport { uiFontGlobalClasses } from '../../lib/styles/UiFont';\nimport { Input, InputProps, InputType } from '../Input';\nimport { isKeyBackspace, isKeyDelete } from '../../lib/events/keyboard/identifiers';\n\nimport { globalClasses } from './MaskedInput.styles';\nimport { getDefinitions, getMaskChar } from './MaskedInput.helpers';\nimport { ColorableInputElement } from './ColorableInputElement';\nimport { FixedIMaskInput } from './FixedIMaskInput';\n\nexport interface MaskedProps {\n /** Паттерн маски */\n mask: string;\n /**\n * Символ маски\n *\n * @default _\n */\n maskChar?: string;\n /**\n * Словарь символов-регулярок для маски\n *\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /**\n * Всегда показывать символы маски\n *\n * @default false\n */\n alwaysShowMask?: boolean;\n /**\n * Обработчик неправильного ввода.\n * Вторым агрументом будет передан метод вспыхивания акцентным цветом.\n *\n * Если обработчик не задан, то инпут вспыхивает по-умолчанию.\n *\n * @param value значение инпута.\n * @param blink вспыхнуть акцентным цвтетом.\n */\n onUnexpectedInput?: (value: string, blink: () => void) => void;\n /**\n * Убирать из value символы, не введённые пользователем\n *\n * @default false\n */\n unmask?: boolean;\n /**\n * Раскрашивать символы маски\n *\n * @default true\n * @ignore\n */\n colored?: boolean;\n /**\n * Пропы для компонента `IMaskInput`. Необходимы для юнит-тестов\n *\n * @ignore\n */\n imaskProps?: IMaskInputProps<HTMLInputElement>;\n}\n\nexport type MaskInputType = Exclude<InputType, 'number' | 'date' | 'time' | 'password'>;\n\nexport interface MaskedInputProps\n extends MaskedProps,\n Omit<InputProps, 'mask' | 'maxLength' | 'type' | 'alwaysShowMask' | 'onUnexpectedInput' | 'maskChar'> {\n type?: MaskInputType;\n}\n\n/**\n * Интерфейс пропсов наследуется от `Input`.\n * Из пропсов `Input` исключены некоторые не применимые к полю с маской пропсы и сокращен список возможных значений в type.\n */\nexport const MaskedInput = forwardRefAndName(\n 'MaskedInput',\n function MaskedInput(props: MaskedInputProps, ref: Ref<Input | null>) {\n const {\n mask,\n maskChar,\n formatChars,\n alwaysShowMask = false,\n colored = true,\n imaskProps: customIMaskProps = {},\n unmask = false,\n onValueChange,\n onUnexpectedInput,\n onChange,\n element,\n className,\n ...inputProps\n } = props;\n\n const inputRef = useRef<Input>(null);\n\n const [focused, setFocused] = useState(false);\n const prevValue = useRef<string>(props.value || String(props.defaultValue) || '');\n const prevSelectionStart = useRef<number | null>(null);\n\n useImperativeHandle(\n ref,\n () =>\n inputRef.current &&\n Object.assign(inputRef.current, {\n selectAll: () => {\n inputRef.current?.focus();\n inputRef.current?.delaySelectAll();\n },\n }),\n [],\n );\n\n useEffect(() => {\n // Для корректной работы onUnexpectedInput надо знать предыдущий value,\n // но imask при монтировании не вызывает onAccept, если value невалиден или laze=false.\n // Поэтому актуальный value при монтировании надо получать вручную\n if (inputRef.current?.input) {\n prevValue.current = inputRef.current.input.value;\n prevSelectionStart.current = inputRef.current.input.selectionStart;\n }\n }, []);\n\n const imaskProps = getCompatibleIMaskProps();\n\n return (\n <Input\n ref={inputRef}\n {...inputProps}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onInput={handleInput}\n onKeyDown={handleKeyDown}\n className={cx(globalClasses.root, uiFontGlobalClasses.root, className)}\n element={\n colored ? (\n <ColorableInputElement showOnFocus={false}>\n <FixedIMaskInput {...imaskProps} onAccept={handleAccept} />\n </ColorableInputElement>\n ) : (\n <FixedIMaskInput {...imaskProps} onAccept={handleAccept} />\n )\n }\n />\n );\n\n function getCompatibleIMaskProps(): IMaskInputProps<HTMLInputElement> {\n return {\n mask: mask.replace(/0/g, '{\\\\0}') as any,\n placeholderChar: getMaskChar(maskChar),\n definitions: getDefinitions(formatChars),\n // FIXME: Должно быть eager=true, но в imask ломается удаление по delete\n eager: 'append',\n overwrite: 'shift',\n lazy: !alwaysShowMask && (props.disabled || !focused),\n unmask,\n ...customIMaskProps,\n } as IMaskInputProps<HTMLInputElement>;\n }\n\n function handleAccept(...args: Parameters<Required<IMaskInputProps<HTMLInputElement>>['onAccept']>) {\n const [value, , e] = args;\n\n // Метод onAccept может вызываться при монтировании, если не задан проп defaultValue.\n // Но нативный input никогда не вызывает onChange при монтировании.\n // Наше событие onValueChange в Input вывается в тех же случаях, что и нативный onChange,\n // поэтому чтобы сохранить консинстентность будем ориентироваться на наличие аргумента e.\n // Он содержит нативное событие, вызвавшее изменение.\n e && onValueChange?.(value);\n !e && (prevValue.current = value);\n }\n\n /**\n * Отслеживаем неожиданные нажатия\n * handleAccept не вызывается когда значение с маской не меняется\n * Сначала вызывается handleAccept, затем handleInput\n */\n function handleInput(e: React.ChangeEvent<HTMLInputElement>) {\n const { value, selectionStart } = e.currentTarget;\n\n // При вводе неожиданных символов или удалении каретка может перепрыгивать фиксированные символы.\n // Такие случаи не расцениваем как неожиданный ввод, т.к. пользователь может намеренно их вводить.\n if (prevValue.current === value && selectionStart === prevSelectionStart.current) {\n handleUnexpectedInput(value);\n }\n prevValue.current = value;\n prevSelectionStart.current = selectionStart;\n\n props.onInput?.(e);\n }\n\n function handleFocus(e: React.FocusEvent<HTMLInputElement>) {\n setFocused(true);\n props.onFocus?.(e);\n\n // Если value из пропов отличается от value, которое получит input после обработки,\n // то imask будет ставить каретку за последним валидным символом.\n props.selectAllOnFocus && inputRef.current?.delaySelectAll();\n }\n\n function handleUnexpectedInput(value: string) {\n const blink = inputRef.current?.blink.bind(inputRef.current) || (() => undefined);\n onUnexpectedInput ? onUnexpectedInput(value, blink) : blink();\n }\n\n function handleBlur(e: React.FocusEvent<HTMLInputElement>) {\n setFocused(false);\n props.onBlur?.(e);\n }\n\n function handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n const { value, selectionStart, selectionEnd } = e.currentTarget;\n\n if (\n (isKeyBackspace(e) && selectionStart === 0 && selectionEnd === 0) ||\n (isKeyDelete(e) && prevSelectionStart.current === value.length)\n ) {\n // Случаи, когда нажатие клавиш не тригерит `onInput`\n handleUnexpectedInput(value);\n prevValue.current = e.currentTarget.value;\n }\n prevSelectionStart.current = selectionStart;\n\n props.onKeyDown?.(e);\n }\n },\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_forwardRefAndName","_Emotion","_UiFont","_Input","_identifiers","_MaskedInput","_MaskedInput2","_ColorableInputElement","_FixedIMaskInput","_excluded","MaskedInput","exports","forwardRefAndName","props","ref","mask","maskChar","formatChars","_props$alwaysShowMask","alwaysShowMask","_props$colored","colored","_props$imaskProps","imaskProps","customIMaskProps","_props$unmask","unmask","onValueChange","onUnexpectedInput","onChange","element","className","inputProps","_objectWithoutPropertiesLoose2","default","inputRef","useRef","_useState","useState","focused","setFocused","prevValue","value","String","defaultValue","prevSelectionStart","useImperativeHandle","current","Object","assign","selectAll","_inputRef$current","_inputRef$current2","focus","delaySelectAll","useEffect","_inputRef$current3","input","selectionStart","getCompatibleIMaskProps","createElement","Input","_extends2","onFocus","handleFocus","onBlur","handleBlur","onInput","handleInput","onKeyDown","handleKeyDown","cx","globalClasses","root","uiFontGlobalClasses","ColorableInputElement","showOnFocus","FixedIMaskInput","onAccept","handleAccept","replace","placeholderChar","getMaskChar","definitions","getDefinitions","eager","overwrite","lazy","disabled","_len","arguments","length","args","Array","_key","e","_e$currentTarget","currentTarget","handleUnexpectedInput","_inputRef$current4","selectAllOnFocus","_inputRef$current5","blink","bind","undefined","_e$currentTarget2","selectionEnd","isKeyBackspace","isKeyDelete"],"sources":["MaskedInput.tsx"],"sourcesContent":["import React, { Ref, useImperativeHandle, useRef, useState, useEffect } from 'react';\nimport { IMaskInputProps } from 'react-imask';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { cx } from '../../lib/theming/Emotion';\nimport { uiFontGlobalClasses } from '../../lib/styles/UiFont';\nimport { Input, InputProps, InputType } from '../Input';\nimport { isKeyBackspace, isKeyDelete } from '../../lib/events/keyboard/identifiers';\n\nimport { globalClasses } from './MaskedInput.styles';\nimport { getDefinitions, getMaskChar } from './MaskedInput.helpers';\nimport { ColorableInputElement } from './ColorableInputElement';\nimport { FixedIMaskInput } from './FixedIMaskInput';\n\nexport interface MaskedProps {\n /** Паттерн маски */\n mask: string;\n\n /** Устанавливает символ маски\n * @default _ */\n maskChar?: string;\n\n /** Задает словарь символов-регулярок для задания маски.\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' } */\n formatChars?: Record<string, string>;\n\n /** Включает показ символов маски.\n * @default false */\n alwaysShowMask?: boolean;\n\n /** Задает обработчик неправильного ввода.\n * Вторым агрументом будет передан метод вспыхивания акцентным цветом.\n *\n * Если обработчик не задан, то инпут вспыхивает по-умолчанию.\n * @param value значение инпута.\n * @param blink вспыхнуть акцентным цвтетом.\n */\n onUnexpectedInput?: (value: string, blink: () => void) => void;\n\n /** Убирает из value символы, не введённые пользователем\n * @default false */\n unmask?: boolean;\n\n /** Раскрашивает символы маски.\n * @default true\n * @ignore */\n colored?: boolean;\n\n /** Задает пропы для компонента `IMaskInput`. Необходимы для юнит-тестов\n * @ignore */\n imaskProps?: IMaskInputProps<HTMLInputElement>;\n}\n\nexport type MaskInputType = Exclude<InputType, 'number' | 'date' | 'time' | 'password'>;\n\nexport interface MaskedInputProps\n extends MaskedProps,\n Omit<InputProps, 'mask' | 'maxLength' | 'type' | 'alwaysShowMask' | 'onUnexpectedInput' | 'maskChar'> {\n type?: MaskInputType;\n}\n\n/**\n * Интерфейс пропсов наследуется от `Input`.\n * Из пропсов `Input` исключены некоторые не применимые к полю с маской пропсы и сокращен список возможных значений в type.\n */\nexport const MaskedInput = forwardRefAndName(\n 'MaskedInput',\n function MaskedInput(props: MaskedInputProps, ref: Ref<Input | null>) {\n const {\n mask,\n maskChar,\n formatChars,\n alwaysShowMask = false,\n colored = true,\n imaskProps: customIMaskProps = {},\n unmask = false,\n onValueChange,\n onUnexpectedInput,\n onChange,\n element,\n className,\n ...inputProps\n } = props;\n\n const inputRef = useRef<Input>(null);\n\n const [focused, setFocused] = useState(false);\n const prevValue = useRef<string>(props.value || String(props.defaultValue) || '');\n const prevSelectionStart = useRef<number | null>(null);\n\n useImperativeHandle(\n ref,\n () =>\n inputRef.current &&\n Object.assign(inputRef.current, {\n selectAll: () => {\n inputRef.current?.focus();\n inputRef.current?.delaySelectAll();\n },\n }),\n [],\n );\n\n useEffect(() => {\n // Для корректной работы onUnexpectedInput надо знать предыдущий value,\n // но imask при монтировании не вызывает onAccept, если value невалиден или laze=false.\n // Поэтому актуальный value при монтировании надо получать вручную\n if (inputRef.current?.input) {\n prevValue.current = inputRef.current.input.value;\n prevSelectionStart.current = inputRef.current.input.selectionStart;\n }\n }, []);\n\n const imaskProps = getCompatibleIMaskProps();\n\n return (\n <Input\n ref={inputRef}\n {...inputProps}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onInput={handleInput}\n onKeyDown={handleKeyDown}\n className={cx(globalClasses.root, uiFontGlobalClasses.root, className)}\n element={\n colored ? (\n <ColorableInputElement showOnFocus={false}>\n <FixedIMaskInput {...imaskProps} onAccept={handleAccept} />\n </ColorableInputElement>\n ) : (\n <FixedIMaskInput {...imaskProps} onAccept={handleAccept} />\n )\n }\n />\n );\n\n function getCompatibleIMaskProps(): IMaskInputProps<HTMLInputElement> {\n return {\n mask: mask.replace(/0/g, '{\\\\0}') as any,\n placeholderChar: getMaskChar(maskChar),\n definitions: getDefinitions(formatChars),\n // FIXME: Должно быть eager=true, но в imask ломается удаление по delete\n eager: 'append',\n overwrite: 'shift',\n lazy: !alwaysShowMask && (props.disabled || !focused),\n unmask,\n ...customIMaskProps,\n } as IMaskInputProps<HTMLInputElement>;\n }\n\n function handleAccept(...args: Parameters<Required<IMaskInputProps<HTMLInputElement>>['onAccept']>) {\n const [value, , e] = args;\n\n // Метод onAccept может вызываться при монтировании, если не задан проп defaultValue.\n // Но нативный input никогда не вызывает onChange при монтировании.\n // Наше событие onValueChange в Input вывается в тех же случаях, что и нативный onChange,\n // поэтому чтобы сохранить консинстентность будем ориентироваться на наличие аргумента e.\n // Он содержит нативное событие, вызвавшее изменение.\n e && onValueChange?.(value);\n !e && (prevValue.current = value);\n }\n\n /**\n * Отслеживаем неожиданные нажатия\n * handleAccept не вызывается когда значение с маской не меняется\n * Сначала вызывается handleAccept, затем handleInput\n */\n function handleInput(e: React.ChangeEvent<HTMLInputElement>) {\n const { value, selectionStart } = e.currentTarget;\n\n // При вводе неожиданных символов или удалении каретка может перепрыгивать фиксированные символы.\n // Такие случаи не расцениваем как неожиданный ввод, т.к. пользователь может намеренно их вводить.\n if (prevValue.current === value && selectionStart === prevSelectionStart.current) {\n handleUnexpectedInput(value);\n }\n prevValue.current = value;\n prevSelectionStart.current = selectionStart;\n\n props.onInput?.(e);\n }\n\n function handleFocus(e: React.FocusEvent<HTMLInputElement>) {\n setFocused(true);\n props.onFocus?.(e);\n\n // Если value из пропов отличается от value, которое получит input после обработки,\n // то imask будет ставить каретку за последним валидным символом.\n props.selectAllOnFocus && inputRef.current?.delaySelectAll();\n }\n\n function handleUnexpectedInput(value: string) {\n const blink = inputRef.current?.blink.bind(inputRef.current) || (() => undefined);\n onUnexpectedInput ? onUnexpectedInput(value, blink) : blink();\n }\n\n function handleBlur(e: React.FocusEvent<HTMLInputElement>) {\n setFocused(false);\n props.onBlur?.(e);\n }\n\n function handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n const { value, selectionStart, selectionEnd } = e.currentTarget;\n\n if (\n (isKeyBackspace(e) && selectionStart === 0 && selectionEnd === 0) ||\n (isKeyDelete(e) && prevSelectionStart.current === value.length)\n ) {\n // Случаи, когда нажатие клавиш не тригерит `onInput`\n handleUnexpectedInput(value);\n prevValue.current = e.currentTarget.value;\n }\n prevSelectionStart.current = selectionStart;\n\n props.onKeyDown?.(e);\n }\n },\n);\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- #### `mask`
1
+ ### Проп `mask`
2
2
 
3
3
  Паттерн ввода. Пример с номером телефона.
4
4
 
@@ -18,7 +18,7 @@ const [value, setValue] = React.useState('');
18
18
  </>
19
19
  ```
20
20
 
21
- #### `alwaysShowMask`
21
+ ### Проп `alwaysShowMask`
22
22
 
23
23
  Показывает маску всегда.
24
24
 
@@ -26,7 +26,7 @@ const [value, setValue] = React.useState('');
26
26
  <MaskedInput mask="+7 (999) 999-99-99" alwaysShowMask />
27
27
  ```
28
28
 
29
- #### `maskChar`
29
+ ### Проп `maskChar`
30
30
 
31
31
  Символом маски может быть любой символ.
32
32
 
@@ -48,7 +48,7 @@ const [value, setValue] = React.useState('');
48
48
  </>
49
49
  ```
50
50
 
51
- #### `formatChars`
51
+ ### Проп `formatChars`
52
52
 
53
53
  При необходимости можно настроить собственный словарь.
54
54
 
@@ -71,7 +71,7 @@ const [value, setValue] = React.useState('');
71
71
  />
72
72
  ```
73
73
 
74
- #### `unmask`
74
+ ### Проп `unmask`
75
75
 
76
76
  Можно сразу получать очищенный value, содержащий только введённый пользователем символы.
77
77
 
@@ -92,6 +92,8 @@ const [value, setValue] = React.useState('');
92
92
  </>
93
93
  ```
94
94
 
95
+ ### Проп `unmask` с фигурными скобками
96
+
95
97
  Если обернуть фиксированные символы в фигурные скобки, то они попадут в `value` при `unmask = true`.
96
98
 
97
99
  ```jsx harmony
@@ -0,0 +1,28 @@
1
+ import * as MaskedInputStories from './MaskedInput.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={MaskedInputStories} />
6
+
7
+ # MaskedInput
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/input-fields/input/)
10
+
11
+ [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=203%3A1602)
12
+
13
+ <Description />
14
+
15
+ ## Базовый пример
16
+
17
+ <Primary />
18
+
19
+ ## Пропы
20
+
21
+ <details>
22
+ <summary>Открыть таблицу с пропами</summary>
23
+ <ArgTypes />
24
+ </details>
25
+
26
+ ## Примеры использования
27
+
28
+ <Stories title="" includePrimary={false} />
@@ -2,20 +2,22 @@ import React, { HTMLAttributes, ReactNode } from 'react';
2
2
  import { CommonProps } from '../../internal/CommonWrapper';
3
3
  import { SizeProp } from '../../lib/types/props';
4
4
  export interface MenuFooterProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {
5
+ /** Добавляет отступ иконке. */
5
6
  _enableIconPadding?: boolean;
7
+ /** @ignore */
6
8
  children: ReactNode;
7
- /** Размер */
9
+ /** Задает размер. */
8
10
  size?: SizeProp;
9
11
  }
10
12
  export declare const MenuFooterDataTids: {
11
13
  readonly root: "MenuFooter__root";
12
14
  };
13
15
  /**
14
- * Футер меню.
16
+ * Футер меню `MenuFooter`.
15
17
  *
16
- * _Примечание_: `футер меню`, в отличие от `элемента меню` нельзя затаргетить с клавиатуры.
18
+ * `MenuFooter`, в отличие от `MenuItem` нельзя затаргетить с клавиатуры.
17
19
  *
18
- * Сущности в которых может быть использован `MenuFooter`: [DropdownMenu](#/Components/DropdownMenu), [Kebab](#/Components/Kebab), [TooltipMenu](#/Components/TooltipMenu) и [Select](#/Components/Select).
20
+ * Сущности, в которых может быть использован `MenuFooter`: DropdownMenu, Kebab, TooltipMenu и Select.
19
21
  */
20
22
  declare function MenuFooter({ id, _enableIconPadding, children, size, ...rest }: MenuFooterProps): React.JSX.Element;
21
23
  declare namespace MenuFooter {
@@ -14,16 +14,20 @@ var _MenuFooter = require("./MenuFooter.styles");var _excluded = ["id", "_enable
14
14
 
15
15
 
16
16
 
17
+
18
+
19
+
20
+
17
21
  var MenuFooterDataTids = exports.MenuFooterDataTids = {
18
22
  root: 'MenuFooter__root'
19
23
  };
20
24
 
21
25
  /**
22
- * Футер меню.
26
+ * Футер меню `MenuFooter`.
23
27
  *
24
- * _Примечание_: `футер меню`, в отличие от `элемента меню` нельзя затаргетить с клавиатуры.
28
+ * `MenuFooter`, в отличие от `MenuItem` нельзя затаргетить с клавиатуры.
25
29
  *
26
- * Сущности в которых может быть использован `MenuFooter`: [DropdownMenu](#/Components/DropdownMenu), [Kebab](#/Components/Kebab), [TooltipMenu](#/Components/TooltipMenu) и [Select](#/Components/Select).
30
+ * Сущности, в которых может быть использован `MenuFooter`: DropdownMenu, Kebab, TooltipMenu и Select.
27
31
  */
28
32
  function MenuFooter(_ref) {var _cx;var id = _ref.id,_ref$_enableIconPaddi = _ref._enableIconPadding,_enableIconPadding = _ref$_enableIconPaddi === void 0 ? false : _ref$_enableIconPaddi,children = _ref.children,_ref$size = _ref.size,size = _ref$size === void 0 ? 'small' : _ref$size,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
29
33
  var theme = (0, _react.useContext)(_ThemeContext.ThemeContext);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_ThemeContext","_CommonWrapper","_Emotion","_MenuFooter","_excluded","MenuFooterDataTids","exports","root","MenuFooter","_ref","_cx","id","_ref$_enableIconPaddi","_enableIconPadding","children","_ref$size","size","rest","_objectWithoutPropertiesLoose2","default","theme","useContext","ThemeContext","getRootSizeClassName","styles","rootLarge","rootMedium","rootSmall","getWithLeftPaddingSizeClassName","withLeftPaddingSmall","withLeftPaddingMedium","createElement","CommonWrapper","className","cx","__KONTUR_REACT_UI__","displayName","__MENU_FOOTER__","isMenuFooter","child","React","isValidElement","Object","prototype","hasOwnProperty","call","type"],"sources":["MenuFooter.tsx"],"sourcesContent":["import React, { HTMLAttributes, ReactNode, useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles } from './MenuFooter.styles';\n\nexport interface MenuFooterProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n _enableIconPadding?: boolean;\n children: ReactNode;\n /** Размер */\n size?: SizeProp;\n}\n\nexport const MenuFooterDataTids = {\n root: 'MenuFooter__root',\n} as const;\n\n/**\n * Футер меню.\n *\n * _Примечание_: `футер меню`, в отличие от `элемента меню` нельзя затаргетить с клавиатуры.\n *\n * Сущности в которых может быть использован `MenuFooter`: [DropdownMenu](#/Components/DropdownMenu), [Kebab](#/Components/Kebab), [TooltipMenu](#/Components/TooltipMenu) и [Select](#/Components/Select).\n */\nfunction MenuFooter({ id, _enableIconPadding = false, children, size = 'small', ...rest }: MenuFooterProps) {\n const theme = useContext(ThemeContext);\n\n function getRootSizeClassName() {\n switch (size) {\n case 'large':\n return styles.rootLarge(theme);\n case 'medium':\n return styles.rootMedium(theme);\n case 'small':\n default:\n return styles.rootSmall(theme);\n }\n }\n function getWithLeftPaddingSizeClassName() {\n switch (size) {\n case 'large':\n return styles.withLeftPaddingSmall(theme);\n case 'medium':\n return styles.withLeftPaddingMedium(theme);\n case 'small':\n default:\n return styles.withLeftPaddingSmall(theme);\n }\n }\n\n return (\n <CommonWrapper {...rest}>\n <div\n id={id}\n data-tid={MenuFooterDataTids.root}\n className={cx(getRootSizeClassName(), {\n [styles.root(theme)]: true,\n [getWithLeftPaddingSizeClassName()]: _enableIconPadding,\n })}\n >\n {children}\n </div>\n </CommonWrapper>\n );\n}\n\nMenuFooter.__KONTUR_REACT_UI__ = 'MenuFooter';\nMenuFooter.displayName = 'MenuFooter';\nMenuFooter.__MENU_FOOTER__ = true;\n\nexport { MenuFooter };\n\nexport const isMenuFooter = (child: React.ReactNode): child is React.ReactElement<MenuFooterProps> => {\n return React.isValidElement<MenuFooterProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__MENU_FOOTER__')\n : false;\n};\n"],"mappings":"0bAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;;AAEA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;;;AAGA,IAAAI,WAAA,GAAAJ,OAAA,wBAA6C,IAAAK,SAAA;;;;;;;;;AAStC,IAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EAChCE,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAAAC,IAAA,EAAyF,KAAAC,GAAA,KAAtFC,EAAE,GAAAF,IAAA,CAAFE,EAAE,CAAAC,qBAAA,GAAAH,IAAA,CAAEI,kBAAkB,CAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CAAEE,QAAQ,GAAAL,IAAA,CAARK,QAAQ,CAAAC,SAAA,GAAAN,IAAA,CAAEO,IAAI,CAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA,CAAKE,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EAAAV,IAAA,EAAAL,SAAA;EACrF,IAAMgB,KAAK,GAAG,IAAAC,iBAAU,EAACC,0BAAY,CAAC;;EAEtC,SAASC,oBAAoBA,CAAA,EAAG;IAC9B,QAAQP,IAAI;MACV,KAAK,OAAO;QACV,OAAOQ,kBAAM,CAACC,SAAS,CAACL,KAAK,CAAC;MAChC,KAAK,QAAQ;QACX,OAAOI,kBAAM,CAACE,UAAU,CAACN,KAAK,CAAC;MACjC,KAAK,OAAO;MACZ;QACE,OAAOI,kBAAM,CAACG,SAAS,CAACP,KAAK,CAAC;IAClC;EACF;EACA,SAASQ,+BAA+BA,CAAA,EAAG;IACzC,QAAQZ,IAAI;MACV,KAAK,OAAO;QACV,OAAOQ,kBAAM,CAACK,oBAAoB,CAACT,KAAK,CAAC;MAC3C,KAAK,QAAQ;QACX,OAAOI,kBAAM,CAACM,qBAAqB,CAACV,KAAK,CAAC;MAC5C,KAAK,OAAO;MACZ;QACE,OAAOI,kBAAM,CAACK,oBAAoB,CAACT,KAAK,CAAC;IAC7C;EACF;;EAEA;IACEvB,MAAA,CAAAsB,OAAA,CAAAY,aAAA,CAAC9B,cAAA,CAAA+B,aAAa,EAAKf,IAAI;IACrBpB,MAAA,CAAAsB,OAAA,CAAAY,aAAA;MACEpB,EAAE,EAAEA,EAAG;MACP,YAAUN,kBAAkB,CAACE,IAAK;MAClC0B,SAAS,EAAE,IAAAC,WAAE,EAACX,oBAAoB,CAAC,CAAC,GAAAb,GAAA,OAAAA,GAAA;MACjCc,kBAAM,CAACjB,IAAI,CAACa,KAAK,CAAC,IAAG,IAAI,EAAAV,GAAA;MACzBkB,+BAA+B,CAAC,CAAC,IAAGf,kBAAkB,EAAAH,GAAA;MACxD,CAAE;;IAEFI;IACE;IACQ,CAAC;;AAEpB;;AAEAN,UAAU,CAAC2B,mBAAmB,GAAG,YAAY;AAC7C3B,UAAU,CAAC4B,WAAW,GAAG,YAAY;AACrC5B,UAAU,CAAC6B,eAAe,GAAG,IAAI;;;;AAI1B,IAAMC,YAAY,GAAAhC,OAAA,CAAAgC,YAAA,GAAG,SAAfA,YAAYA,CAAIC,KAAsB,EAAmD;EACpG,OAAO,aAAAC,cAAK,CAACC,cAAc,CAAkBF,KAAK,CAAC;EAC/CG,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACN,KAAK,CAACO,IAAI,EAAE,iBAAiB,CAAC;EACnE,KAAK;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_ThemeContext","_CommonWrapper","_Emotion","_MenuFooter","_excluded","MenuFooterDataTids","exports","root","MenuFooter","_ref","_cx","id","_ref$_enableIconPaddi","_enableIconPadding","children","_ref$size","size","rest","_objectWithoutPropertiesLoose2","default","theme","useContext","ThemeContext","getRootSizeClassName","styles","rootLarge","rootMedium","rootSmall","getWithLeftPaddingSizeClassName","withLeftPaddingSmall","withLeftPaddingMedium","createElement","CommonWrapper","className","cx","__KONTUR_REACT_UI__","displayName","__MENU_FOOTER__","isMenuFooter","child","React","isValidElement","Object","prototype","hasOwnProperty","call","type"],"sources":["MenuFooter.tsx"],"sourcesContent":["import React, { HTMLAttributes, ReactNode, useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles } from './MenuFooter.styles';\n\nexport interface MenuFooterProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Добавляет отступ иконке. */\n _enableIconPadding?: boolean;\n\n /** @ignore */\n children: ReactNode;\n\n /** Задает размер. */\n size?: SizeProp;\n}\n\nexport const MenuFooterDataTids = {\n root: 'MenuFooter__root',\n} as const;\n\n/**\n * Футер меню `MenuFooter`.\n *\n * `MenuFooter`, в отличие от `MenuItem` нельзя затаргетить с клавиатуры.\n *\n * Сущности, в которых может быть использован `MenuFooter`: DropdownMenu, Kebab, TooltipMenu и Select.\n */\nfunction MenuFooter({ id, _enableIconPadding = false, children, size = 'small', ...rest }: MenuFooterProps) {\n const theme = useContext(ThemeContext);\n\n function getRootSizeClassName() {\n switch (size) {\n case 'large':\n return styles.rootLarge(theme);\n case 'medium':\n return styles.rootMedium(theme);\n case 'small':\n default:\n return styles.rootSmall(theme);\n }\n }\n function getWithLeftPaddingSizeClassName() {\n switch (size) {\n case 'large':\n return styles.withLeftPaddingSmall(theme);\n case 'medium':\n return styles.withLeftPaddingMedium(theme);\n case 'small':\n default:\n return styles.withLeftPaddingSmall(theme);\n }\n }\n\n return (\n <CommonWrapper {...rest}>\n <div\n id={id}\n data-tid={MenuFooterDataTids.root}\n className={cx(getRootSizeClassName(), {\n [styles.root(theme)]: true,\n [getWithLeftPaddingSizeClassName()]: _enableIconPadding,\n })}\n >\n {children}\n </div>\n </CommonWrapper>\n );\n}\n\nMenuFooter.__KONTUR_REACT_UI__ = 'MenuFooter';\nMenuFooter.displayName = 'MenuFooter';\nMenuFooter.__MENU_FOOTER__ = true;\n\nexport { MenuFooter };\n\nexport const isMenuFooter = (child: React.ReactNode): child is React.ReactElement<MenuFooterProps> => {\n return React.isValidElement<MenuFooterProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__MENU_FOOTER__')\n : false;\n};\n"],"mappings":"0bAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;;AAEA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;;;AAGA,IAAAI,WAAA,GAAAJ,OAAA,wBAA6C,IAAAK,SAAA;;;;;;;;;;;;;AAatC,IAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EAChCE,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAAAC,IAAA,EAAyF,KAAAC,GAAA,KAAtFC,EAAE,GAAAF,IAAA,CAAFE,EAAE,CAAAC,qBAAA,GAAAH,IAAA,CAAEI,kBAAkB,CAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CAAEE,QAAQ,GAAAL,IAAA,CAARK,QAAQ,CAAAC,SAAA,GAAAN,IAAA,CAAEO,IAAI,CAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA,CAAKE,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EAAAV,IAAA,EAAAL,SAAA;EACrF,IAAMgB,KAAK,GAAG,IAAAC,iBAAU,EAACC,0BAAY,CAAC;;EAEtC,SAASC,oBAAoBA,CAAA,EAAG;IAC9B,QAAQP,IAAI;MACV,KAAK,OAAO;QACV,OAAOQ,kBAAM,CAACC,SAAS,CAACL,KAAK,CAAC;MAChC,KAAK,QAAQ;QACX,OAAOI,kBAAM,CAACE,UAAU,CAACN,KAAK,CAAC;MACjC,KAAK,OAAO;MACZ;QACE,OAAOI,kBAAM,CAACG,SAAS,CAACP,KAAK,CAAC;IAClC;EACF;EACA,SAASQ,+BAA+BA,CAAA,EAAG;IACzC,QAAQZ,IAAI;MACV,KAAK,OAAO;QACV,OAAOQ,kBAAM,CAACK,oBAAoB,CAACT,KAAK,CAAC;MAC3C,KAAK,QAAQ;QACX,OAAOI,kBAAM,CAACM,qBAAqB,CAACV,KAAK,CAAC;MAC5C,KAAK,OAAO;MACZ;QACE,OAAOI,kBAAM,CAACK,oBAAoB,CAACT,KAAK,CAAC;IAC7C;EACF;;EAEA;IACEvB,MAAA,CAAAsB,OAAA,CAAAY,aAAA,CAAC9B,cAAA,CAAA+B,aAAa,EAAKf,IAAI;IACrBpB,MAAA,CAAAsB,OAAA,CAAAY,aAAA;MACEpB,EAAE,EAAEA,EAAG;MACP,YAAUN,kBAAkB,CAACE,IAAK;MAClC0B,SAAS,EAAE,IAAAC,WAAE,EAACX,oBAAoB,CAAC,CAAC,GAAAb,GAAA,OAAAA,GAAA;MACjCc,kBAAM,CAACjB,IAAI,CAACa,KAAK,CAAC,IAAG,IAAI,EAAAV,GAAA;MACzBkB,+BAA+B,CAAC,CAAC,IAAGf,kBAAkB,EAAAH,GAAA;MACxD,CAAE;;IAEFI;IACE;IACQ,CAAC;;AAEpB;;AAEAN,UAAU,CAAC2B,mBAAmB,GAAG,YAAY;AAC7C3B,UAAU,CAAC4B,WAAW,GAAG,YAAY;AACrC5B,UAAU,CAAC6B,eAAe,GAAG,IAAI;;;;AAI1B,IAAMC,YAAY,GAAAhC,OAAA,CAAAgC,YAAA,GAAG,SAAfA,YAAYA,CAAIC,KAAsB,EAAmD;EACpG,OAAO,aAAAC,cAAK,CAACC,cAAc,CAAkBF,KAAK,CAAC;EAC/CG,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACN,KAAK,CAACO,IAAI,EAAE,iBAAiB,CAAC;EACnE,KAAK;AACX,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- Базовый пример меню с заголовками.
1
+ ### Базовый пример меню с заголовками
2
2
 
3
3
  ```jsx harmony
4
4
  import { Button, MenuItem, DropdownMenu } from '@skbkontur/react-ui';
@@ -14,7 +14,7 @@ import { Button, MenuItem, DropdownMenu } from '@skbkontur/react-ui';
14
14
  </DropdownMenu>
15
15
  ```
16
16
 
17
- У MenuFooter есть 3 стандартных размера.
17
+ ### Размер
18
18
 
19
19
  ```jsx harmony
20
20
  import { Gapped } from '@skbkontur/react-ui';