@skbkontur/react-ui 0.0.0-a25347e958 → 0.0.0-a2ba201dd3

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 (1326) hide show
  1. package/CHANGELOG.md +223 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js +3 -1
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +13 -3
  6. package/cjs/components/Button/Button.js +26 -8
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.md +106 -30
  9. package/cjs/components/Button/Button.mixins.d.ts +1 -1
  10. package/cjs/components/Button/Button.mixins.js +3 -1
  11. package/cjs/components/Button/Button.mixins.js.map +1 -1
  12. package/cjs/components/Button/Button.styles.d.ts +1 -6
  13. package/cjs/components/Button/Button.styles.js +40 -54
  14. package/cjs/components/Button/Button.styles.js.map +1 -1
  15. package/cjs/components/Button/ButtonArrow.js +1 -1
  16. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  17. package/cjs/components/Button/ButtonIcon.d.ts +7 -5
  18. package/cjs/components/Button/ButtonIcon.js +37 -18
  19. package/cjs/components/Button/ButtonIcon.js.map +1 -1
  20. package/cjs/components/Button/ButtonIcon.styles.d.ts +16 -0
  21. package/cjs/components/Button/ButtonIcon.styles.js +89 -0
  22. package/cjs/components/Button/ButtonIcon.styles.js.map +1 -0
  23. package/cjs/components/Button/LoadingButtonIcon.d.ts +7 -0
  24. package/cjs/components/Button/LoadingButtonIcon.js +25 -0
  25. package/cjs/components/Button/LoadingButtonIcon.js.map +1 -0
  26. package/cjs/components/Button/getInnerLinkTheme.js +1 -0
  27. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  28. package/cjs/components/Calendar/Calendar.d.ts +1 -0
  29. package/cjs/components/Calendar/Calendar.js +10 -7
  30. package/cjs/components/Calendar/Calendar.js.map +1 -1
  31. package/cjs/components/Calendar/DayCellView.js +8 -5
  32. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  33. package/cjs/components/Center/Center.d.ts +1 -0
  34. package/cjs/components/Center/Center.js +2 -1
  35. package/cjs/components/Center/Center.js.map +1 -1
  36. package/cjs/components/Checkbox/Checkbox.d.ts +7 -2
  37. package/cjs/components/Checkbox/Checkbox.js +14 -8
  38. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  39. package/cjs/components/ComboBox/ComboBox.d.ts +3 -1
  40. package/cjs/components/ComboBox/ComboBox.js +3 -1
  41. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  42. package/cjs/components/ComboBox/ComboBox.md +4 -5
  43. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -0
  44. package/cjs/components/CurrencyInput/CurrencyInput.js +5 -2
  45. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  46. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +1 -0
  47. package/cjs/components/CurrencyLabel/CurrencyLabel.js +1 -0
  48. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  49. package/cjs/components/DateInput/DateFragmentsView.js +2 -1
  50. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  51. package/cjs/components/DateInput/DateInput.d.ts +3 -1
  52. package/cjs/components/DateInput/DateInput.js +5 -2
  53. package/cjs/components/DateInput/DateInput.js.map +1 -1
  54. package/cjs/components/DateInput/helpers/SelectionHelpers.js +11 -10
  55. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  56. package/cjs/components/DatePicker/DatePicker.d.ts +4 -2
  57. package/cjs/components/DatePicker/DatePicker.js +4 -2
  58. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  59. package/cjs/components/DatePicker/Picker.d.ts +1 -0
  60. package/cjs/components/DatePicker/Picker.js +2 -1
  61. package/cjs/components/DatePicker/Picker.js.map +1 -1
  62. package/cjs/components/Dropdown/Dropdown.d.ts +4 -2
  63. package/cjs/components/Dropdown/Dropdown.js +3 -1
  64. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  65. package/cjs/components/Dropdown/getDropdownTheme.js +21 -22
  66. package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
  67. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -0
  68. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -1
  69. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  70. package/cjs/components/FileUploader/FileUploader.d.ts +6 -2
  71. package/cjs/components/FileUploader/FileUploader.js +11 -6
  72. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  73. package/cjs/components/FileUploader/FileUploader.styles.d.ts +1 -1
  74. package/cjs/components/FileUploader/FileUploader.styles.js +10 -2
  75. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  76. package/cjs/components/FxInput/FxInput.d.ts +1 -0
  77. package/cjs/components/FxInput/FxInput.js +3 -1
  78. package/cjs/components/FxInput/FxInput.js.map +1 -1
  79. package/cjs/components/FxInput/FxInputRestoreBtn.js +1 -0
  80. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  81. package/cjs/components/Gapped/Gapped.d.ts +1 -0
  82. package/cjs/components/Gapped/Gapped.js +2 -1
  83. package/cjs/components/Gapped/Gapped.js.map +1 -1
  84. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +3 -2
  85. package/cjs/components/GlobalLoader/GlobalLoader.js +12 -14
  86. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  87. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  88. package/cjs/components/GlobalLoader/GlobalLoaderView.js +3 -5
  89. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  90. package/cjs/components/Group/Group.d.ts +1 -0
  91. package/cjs/components/Group/Group.js +3 -1
  92. package/cjs/components/Group/Group.js.map +1 -1
  93. package/cjs/components/Hint/Hint.d.ts +1 -0
  94. package/cjs/components/Hint/Hint.js +6 -4
  95. package/cjs/components/Hint/Hint.js.map +1 -1
  96. package/cjs/components/Input/Input.d.ts +29 -7
  97. package/cjs/components/Input/Input.js +50 -24
  98. package/cjs/components/Input/Input.js.map +1 -1
  99. package/cjs/components/Input/Input.typings.d.ts +7 -0
  100. package/cjs/components/Input/Input.typings.js +1 -0
  101. package/cjs/components/Input/Input.typings.js.map +1 -0
  102. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -1
  103. package/cjs/components/Input/InputLayout/InputLayout.styles.js +7 -2
  104. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  105. package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -7
  106. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  107. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -0
  108. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  109. package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  110. package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
  111. package/cjs/components/Input/index.d.ts +1 -0
  112. package/cjs/components/Input/index.js +2 -1
  113. package/cjs/components/Input/index.js.map +1 -1
  114. package/cjs/components/Kebab/Kebab.d.ts +3 -1
  115. package/cjs/components/Kebab/Kebab.js +4 -2
  116. package/cjs/components/Kebab/Kebab.js.map +1 -1
  117. package/cjs/components/Link/Link.d.ts +7 -2
  118. package/cjs/components/Link/Link.js +28 -18
  119. package/cjs/components/Link/Link.js.map +1 -1
  120. package/cjs/components/Link/Link.md +81 -7
  121. package/cjs/components/Link/Link.styles.d.ts +4 -1
  122. package/cjs/components/Link/Link.styles.js +42 -23
  123. package/cjs/components/Link/Link.styles.js.map +1 -1
  124. package/cjs/components/Link/LinkIcon.d.ts +6 -0
  125. package/cjs/components/Link/LinkIcon.js +29 -0
  126. package/cjs/components/Link/LinkIcon.js.map +1 -0
  127. package/cjs/components/Loader/Loader.d.ts +1 -0
  128. package/cjs/components/Loader/Loader.js +10 -8
  129. package/cjs/components/Loader/Loader.js.map +1 -1
  130. package/cjs/components/MaskedInput/MaskedInput.d.ts +24 -0
  131. package/cjs/components/MaskedInput/MaskedInput.js +78 -0
  132. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -0
  133. package/cjs/components/MaskedInput/MaskedInput.md +21 -0
  134. package/cjs/components/MaskedInput/index.js.map +1 -0
  135. package/cjs/components/MenuFooter/MenuFooter.d.ts +7 -2
  136. package/cjs/components/MenuFooter/MenuFooter.js +5 -0
  137. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  138. package/cjs/components/MenuHeader/MenuHeader.d.ts +7 -2
  139. package/cjs/components/MenuHeader/MenuHeader.js +8 -1
  140. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  141. package/cjs/components/MenuItem/MenuItem.d.ts +31 -2
  142. package/cjs/components/MenuItem/MenuItem.js +139 -18
  143. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  144. package/cjs/components/MenuItem/MenuItem.md +20 -6
  145. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +1 -0
  146. package/cjs/components/MenuSeparator/MenuSeparator.js +2 -1
  147. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  148. package/cjs/components/MiniModal/MiniModal.d.ts +18 -0
  149. package/cjs/components/MiniModal/MiniModal.js +45 -0
  150. package/cjs/components/MiniModal/MiniModal.js.map +1 -0
  151. package/cjs/components/MiniModal/MiniModal.md +233 -0
  152. package/cjs/components/MiniModal/MiniModal.styles.d.ts +14 -0
  153. package/cjs/components/MiniModal/MiniModal.styles.js +87 -0
  154. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -0
  155. package/cjs/components/MiniModal/MiniModalBody.d.ts +7 -0
  156. package/cjs/components/MiniModal/MiniModalBody.js +24 -0
  157. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -0
  158. package/cjs/components/MiniModal/MiniModalFooter.d.ts +18 -0
  159. package/cjs/components/MiniModal/MiniModalFooter.js +60 -0
  160. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -0
  161. package/cjs/components/MiniModal/MiniModalHeader.d.ts +17 -0
  162. package/cjs/components/MiniModal/MiniModalHeader.js +47 -0
  163. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -0
  164. package/cjs/components/MiniModal/MiniModalIndent.d.ts +6 -0
  165. package/cjs/components/MiniModal/MiniModalIndent.js +29 -0
  166. package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -0
  167. package/cjs/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  168. package/cjs/components/MiniModal/getMiniModalTheme.js +24 -0
  169. package/cjs/components/MiniModal/getMiniModalTheme.js.map +1 -0
  170. package/cjs/components/MiniModal/index.d.ts +5 -0
  171. package/cjs/components/MiniModal/index.js +5 -0
  172. package/cjs/components/MiniModal/index.js.map +1 -0
  173. package/cjs/components/Modal/Modal.d.ts +7 -0
  174. package/cjs/components/Modal/Modal.js +16 -1
  175. package/cjs/components/Modal/Modal.js.map +1 -1
  176. package/cjs/components/Modal/Modal.styles.d.ts +5 -0
  177. package/cjs/components/Modal/Modal.styles.js +56 -39
  178. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  179. package/cjs/components/Modal/ModalBody.d.ts +1 -0
  180. package/cjs/components/Modal/ModalBody.js +2 -1
  181. package/cjs/components/Modal/ModalBody.js.map +1 -1
  182. package/cjs/components/Modal/ModalClose.d.ts +4 -0
  183. package/cjs/components/Modal/ModalClose.js +6 -2
  184. package/cjs/components/Modal/ModalClose.js.map +1 -1
  185. package/cjs/components/Modal/ModalFooter.d.ts +1 -0
  186. package/cjs/components/Modal/ModalFooter.js +1 -0
  187. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  188. package/cjs/components/Modal/ModalHeader.d.ts +1 -0
  189. package/cjs/components/Modal/ModalHeader.js +2 -1
  190. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  191. package/cjs/components/Modal/ModalSeparator.d.ts +9 -0
  192. package/cjs/components/Modal/ModalSeparator.js +9 -1
  193. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  194. package/cjs/components/Modal/getModalTheme.d.ts +2 -2
  195. package/cjs/components/Modal/getModalTheme.js +6 -2
  196. package/cjs/components/Modal/getModalTheme.js.map +1 -1
  197. package/cjs/components/Paging/NavigationHelper.js +2 -1
  198. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  199. package/cjs/components/Paging/Paging.d.ts +1 -0
  200. package/cjs/components/Paging/Paging.js +27 -21
  201. package/cjs/components/Paging/Paging.js.map +1 -1
  202. package/cjs/components/Paging/Paging.styles.d.ts +0 -1
  203. package/cjs/components/Paging/Paging.styles.js +5 -10
  204. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  205. package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -0
  206. package/cjs/components/PasswordInput/PasswordInput.js +6 -3
  207. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  208. package/cjs/components/Radio/Radio.d.ts +7 -2
  209. package/cjs/components/Radio/Radio.js +8 -2
  210. package/cjs/components/Radio/Radio.js.map +1 -1
  211. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
  212. package/cjs/components/RadioGroup/RadioGroup.js +2 -1
  213. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  214. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -0
  215. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +4 -1
  216. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  217. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +5 -6
  218. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  219. package/cjs/components/ScrollContainer/ScrollBar.d.ts +4 -7
  220. package/cjs/components/ScrollContainer/ScrollBar.js +15 -45
  221. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  222. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +1 -2
  223. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
  224. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +19 -3
  225. package/cjs/components/ScrollContainer/ScrollContainer.js +103 -21
  226. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  227. package/cjs/components/ScrollContainer/ScrollContainer.md +29 -2
  228. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  229. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +8 -30
  230. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  231. package/cjs/components/Select/Item.d.ts +2 -0
  232. package/cjs/components/Select/Item.js +4 -2
  233. package/cjs/components/Select/Item.js.map +1 -1
  234. package/cjs/components/Select/Select.d.ts +8 -3
  235. package/cjs/components/Select/Select.js +31 -10
  236. package/cjs/components/Select/Select.js.map +1 -1
  237. package/cjs/components/Select/Select.md +12 -0
  238. package/cjs/components/SidePage/SidePage.d.ts +4 -1
  239. package/cjs/components/SidePage/SidePage.js +41 -5
  240. package/cjs/components/SidePage/SidePage.js.map +1 -1
  241. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  242. package/cjs/components/SidePage/SidePageBody.js +2 -1
  243. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  244. package/cjs/components/SidePage/SidePageCloseButton.d.ts +5 -1
  245. package/cjs/components/SidePage/SidePageCloseButton.js +6 -2
  246. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  247. package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
  248. package/cjs/components/SidePage/SidePageContainer.js +2 -1
  249. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  250. package/cjs/components/SidePage/SidePageFooter.d.ts +1 -0
  251. package/cjs/components/SidePage/SidePageFooter.js +2 -1
  252. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  253. package/cjs/components/SidePage/SidePageHeader.d.ts +2 -0
  254. package/cjs/components/SidePage/SidePageHeader.js +10 -7
  255. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  256. package/cjs/components/SingleToast/SingleToast.d.ts +13 -0
  257. package/cjs/components/SingleToast/SingleToast.js +23 -0
  258. package/cjs/components/SingleToast/SingleToast.js.map +1 -0
  259. package/cjs/components/SingleToast/SingleToast.md +35 -0
  260. package/cjs/components/SingleToast/index.d.ts +1 -0
  261. package/cjs/components/SingleToast/index.js +1 -0
  262. package/cjs/components/SingleToast/index.js.map +1 -0
  263. package/cjs/components/Spinner/Spinner.d.ts +2 -0
  264. package/cjs/components/Spinner/Spinner.js +17 -1
  265. package/cjs/components/Spinner/Spinner.js.map +1 -1
  266. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +6 -2
  267. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  268. package/cjs/components/Sticky/Sticky.d.ts +1 -0
  269. package/cjs/components/Sticky/Sticky.js +9 -9
  270. package/cjs/components/Sticky/Sticky.js.map +1 -1
  271. package/cjs/components/Switcher/Switcher.d.ts +9 -4
  272. package/cjs/components/Switcher/Switcher.js +6 -1
  273. package/cjs/components/Switcher/Switcher.js.map +1 -1
  274. package/cjs/components/Tabs/Indicator.js +3 -1
  275. package/cjs/components/Tabs/Indicator.js.map +1 -1
  276. package/cjs/components/Tabs/Tab.d.ts +17 -32
  277. package/cjs/components/Tabs/Tab.js +15 -26
  278. package/cjs/components/Tabs/Tab.js.map +1 -1
  279. package/cjs/components/Tabs/Tab.md +71 -0
  280. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  281. package/cjs/components/Tabs/Tabs.d.ts +14 -18
  282. package/cjs/components/Tabs/Tabs.js +7 -10
  283. package/cjs/components/Tabs/Tabs.js.map +1 -1
  284. package/cjs/components/Tabs/Tabs.md +7 -22
  285. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  286. package/cjs/components/Tabs/TabsContext.d.ts +3 -2
  287. package/cjs/components/Tabs/TabsContext.js +1 -0
  288. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  289. package/cjs/components/Tabs/helpers.d.ts +5 -5
  290. package/cjs/components/Tabs/helpers.js +3 -2
  291. package/cjs/components/Tabs/helpers.js.map +1 -1
  292. package/cjs/components/Textarea/Textarea.d.ts +8 -2
  293. package/cjs/components/Textarea/Textarea.js +44 -12
  294. package/cjs/components/Textarea/Textarea.js.map +1 -1
  295. package/cjs/components/Textarea/TextareaCounter.d.ts +4 -3
  296. package/cjs/components/Textarea/TextareaCounter.js +3 -1
  297. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  298. package/cjs/components/Textarea/TextareaHelpers.d.ts +1 -1
  299. package/cjs/components/Textarea/TextareaHelpers.js +7 -2
  300. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  301. package/cjs/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
  302. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js +20 -0
  303. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -0
  304. package/cjs/components/Toast/Toast.d.ts +11 -3
  305. package/cjs/components/Toast/Toast.js +29 -9
  306. package/cjs/components/Toast/Toast.js.map +1 -1
  307. package/cjs/components/Toast/Toast.md +0 -105
  308. package/cjs/components/Toast/ToastStatic.js +4 -3
  309. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  310. package/cjs/components/Toggle/Toggle.d.ts +7 -2
  311. package/cjs/components/Toggle/Toggle.js +6 -1
  312. package/cjs/components/Toggle/Toggle.js.map +1 -1
  313. package/cjs/components/Token/Token.d.ts +1 -0
  314. package/cjs/components/Token/Token.js +3 -1
  315. package/cjs/components/Token/Token.js.map +1 -1
  316. package/cjs/components/TokenInput/TokenInput.d.ts +3 -0
  317. package/cjs/components/TokenInput/TokenInput.js +43 -9
  318. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  319. package/cjs/components/TokenInput/TokenInput.md +71 -0
  320. package/cjs/components/TokenInput/TokenInputMenu.d.ts +1 -0
  321. package/cjs/components/TokenInput/TokenInputMenu.js +2 -1
  322. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  323. package/cjs/components/Tooltip/Tooltip.d.ts +7 -1
  324. package/cjs/components/Tooltip/Tooltip.js +16 -5
  325. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  326. package/cjs/components/Tooltip/Tooltip.md +24 -0
  327. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -0
  328. package/cjs/components/TooltipMenu/TooltipMenu.js +3 -1
  329. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  330. package/cjs/hooks/useDrop.js +3 -2
  331. package/cjs/hooks/useDrop.js.map +1 -1
  332. package/cjs/index.d.ts +4 -0
  333. package/cjs/index.js +4 -0
  334. package/cjs/index.js.map +1 -1
  335. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +6 -2
  336. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  337. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +5 -26
  338. package/cjs/internal/CommonWrapper/CommonWrapper.js +7 -56
  339. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  340. package/cjs/internal/CommonWrapper/extractCommonProps.d.ts +3 -0
  341. package/cjs/internal/CommonWrapper/extractCommonProps.js +34 -0
  342. package/cjs/internal/CommonWrapper/extractCommonProps.js.map +1 -0
  343. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.d.ts +2 -0
  344. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js +12 -0
  345. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js.map +1 -0
  346. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.d.ts +3 -0
  347. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js +23 -0
  348. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js.map +1 -0
  349. package/cjs/internal/CommonWrapper/index.d.ts +2 -0
  350. package/cjs/internal/CommonWrapper/index.js.map +1 -1
  351. package/cjs/internal/CommonWrapper/types.d.ts +25 -0
  352. package/cjs/internal/CommonWrapper/types.js +1 -0
  353. package/cjs/internal/CommonWrapper/types.js.map +1 -0
  354. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +3 -1
  355. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -1
  356. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  357. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +7 -9
  358. package/cjs/internal/CustomComboBox/ComboBoxView.js +17 -34
  359. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  360. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +6 -2
  361. package/cjs/internal/CustomComboBox/CustomComboBox.js +36 -9
  362. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  363. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
  364. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +33 -3
  365. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  366. package/cjs/internal/DateSelect/DateSelect.d.ts +1 -0
  367. package/cjs/internal/DateSelect/DateSelect.js +22 -17
  368. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  369. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +1 -1
  370. package/cjs/internal/DropdownContainer/DropdownContainer.js +16 -14
  371. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  372. package/cjs/internal/DropdownContainer/getManualPosition.js +6 -4
  373. package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -1
  374. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
  375. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -3
  376. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  377. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  378. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +1 -1
  379. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -1
  380. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -2
  381. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +2 -1
  382. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  383. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  384. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -1
  385. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  386. package/cjs/internal/FocusTrap/FocusTrap.js +10 -6
  387. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  388. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
  389. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +20 -20
  390. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  391. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +4 -1
  392. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  393. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  394. package/cjs/internal/InputLikeText/InputLikeText.js +18 -16
  395. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  396. package/cjs/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +9 -5
  397. package/cjs/internal/{MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput.js} +12 -8
  398. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
  399. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +1 -0
  400. package/cjs/internal/InternalMaskedInput/index.d.ts +1 -0
  401. package/cjs/internal/InternalMaskedInput/index.js +1 -0
  402. package/cjs/internal/InternalMaskedInput/index.js.map +1 -0
  403. package/cjs/internal/InternalMenu/InternalMenu.d.ts +1 -0
  404. package/cjs/internal/InternalMenu/InternalMenu.js +9 -7
  405. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  406. package/cjs/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
  407. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
  408. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js +52 -0
  409. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js.map +1 -0
  410. package/cjs/internal/MaskedInputElement/MaskedInputElement.js +196 -0
  411. package/cjs/internal/MaskedInputElement/MaskedInputElement.js.map +1 -0
  412. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js +29 -0
  413. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js.map +1 -0
  414. package/cjs/internal/MaskedInputElement/index.d.ts +1 -0
  415. package/cjs/internal/MaskedInputElement/index.js +1 -0
  416. package/cjs/internal/MaskedInputElement/index.js.map +1 -0
  417. package/cjs/internal/Menu/Menu.d.ts +7 -0
  418. package/cjs/internal/Menu/Menu.js +85 -16
  419. package/cjs/internal/Menu/Menu.js.map +1 -1
  420. package/cjs/internal/Menu/MenuContext.d.ts +10 -0
  421. package/cjs/internal/Menu/MenuContext.js +16 -0
  422. package/cjs/internal/Menu/MenuContext.js.map +1 -0
  423. package/cjs/internal/Menu/MenuNavigation.d.ts +26 -0
  424. package/cjs/internal/Menu/MenuNavigation.js +107 -0
  425. package/cjs/internal/Menu/MenuNavigation.js.map +1 -0
  426. package/cjs/internal/Menu/isActiveElement.js +1 -1
  427. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  428. package/cjs/internal/MenuMessage/MenuMessage.d.ts +3 -3
  429. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
  430. package/cjs/internal/MobilePopup/MobilePopup.d.ts +1 -0
  431. package/cjs/internal/MobilePopup/MobilePopup.js +2 -1
  432. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  433. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
  434. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +2 -1
  435. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  436. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
  437. package/cjs/internal/NativeDateInput/NativeDateInput.js +3 -1
  438. package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  439. package/cjs/internal/Popup/Popup.d.ts +1 -0
  440. package/cjs/internal/Popup/Popup.js +14 -9
  441. package/cjs/internal/Popup/Popup.js.map +1 -1
  442. package/cjs/internal/Popup/PopupHelper.js +9 -7
  443. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  444. package/cjs/internal/Popup/PopupPin.d.ts +1 -0
  445. package/cjs/internal/Popup/PopupPin.js +2 -1
  446. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  447. package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -0
  448. package/cjs/internal/PopupMenu/PopupMenu.js +5 -3
  449. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  450. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -1
  451. package/cjs/internal/RenderContainer/RenderContainer.js +19 -22
  452. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  453. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +3 -0
  454. package/cjs/internal/RenderContainer/RenderInnerContainer.js +9 -3
  455. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  456. package/cjs/internal/RenderLayer/RenderLayer.d.ts +1 -0
  457. package/cjs/internal/RenderLayer/RenderLayer.js +6 -3
  458. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  459. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  460. package/cjs/internal/ResizeDetector/ResizeDetector.js +2 -1
  461. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  462. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  463. package/cjs/internal/ThemePlayground/SizesGroup.js +1 -0
  464. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  465. package/cjs/internal/ThemePlayground/VariableValue.js +1 -0
  466. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  467. package/cjs/internal/ThemePlayground/constants.js +1 -0
  468. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  469. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  470. package/cjs/internal/ThemeShowcase/VariablesCollector.js +6 -4
  471. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  472. package/cjs/internal/ZIndex/ZIndex.d.ts +1 -0
  473. package/cjs/internal/ZIndex/ZIndex.js +3 -2
  474. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  475. package/cjs/internal/ZIndex/ZIndexStorage.js +2 -2
  476. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  477. package/cjs/internal/icons/16px/index.d.ts +19 -19
  478. package/cjs/internal/icons/20px/Icon.d.ts +1 -0
  479. package/cjs/internal/icons/20px/Icon.js +2 -1
  480. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  481. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  482. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  483. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  484. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  485. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  486. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  487. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  488. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  489. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  490. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  491. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  492. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  493. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  494. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  495. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  496. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  497. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  498. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  499. package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
  500. package/cjs/internal/icons2022/BaseIcon.js +3 -7
  501. package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
  502. package/cjs/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  503. package/cjs/internal/icons2022/BaseIcon.styles.js +14 -0
  504. package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -0
  505. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  506. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  507. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  508. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  509. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  510. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  511. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  512. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  513. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  514. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  515. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  516. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  517. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  518. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  519. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  520. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  521. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +20 -0
  522. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -0
  523. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  524. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  525. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  526. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  527. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  528. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  529. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  530. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  531. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  532. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  533. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  534. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  535. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  536. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  537. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  538. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  539. package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  540. package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  541. package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  542. package/cjs/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  543. package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  544. package/cjs/internal/themes/DefaultTheme.d.ts +70 -2
  545. package/cjs/internal/themes/DefaultTheme.js +135 -7
  546. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  547. package/cjs/internal/themes/Theme2022.d.ts +18 -2
  548. package/cjs/internal/themes/Theme2022.js +41 -5
  549. package/cjs/internal/themes/Theme2022.js.map +1 -1
  550. package/cjs/internal/themes/Theme2022Dark.d.ts +4 -4
  551. package/cjs/internal/themes/Theme2022Dark.js +9 -5
  552. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  553. package/cjs/lib/LayoutEvents.js +5 -4
  554. package/cjs/lib/LayoutEvents.js.map +1 -1
  555. package/cjs/lib/ModalStack.js +2 -3
  556. package/cjs/lib/ModalStack.js.map +1 -1
  557. package/cjs/lib/SSRSafe.d.ts +1 -6
  558. package/cjs/lib/SSRSafe.js +4 -48
  559. package/cjs/lib/SSRSafe.js.map +1 -1
  560. package/cjs/lib/Upgrades.d.ts +1 -0
  561. package/cjs/lib/Upgrades.js +3 -1
  562. package/cjs/lib/Upgrades.js.map +1 -1
  563. package/cjs/lib/animation/index.js +6 -4
  564. package/cjs/lib/animation/index.js.map +1 -1
  565. package/cjs/lib/chars.d.ts +1 -1
  566. package/cjs/lib/chars.js +2 -2
  567. package/cjs/lib/chars.js.map +1 -1
  568. package/cjs/lib/client.d.ts +2 -7
  569. package/cjs/lib/client.js +9 -7
  570. package/cjs/lib/client.js.map +1 -1
  571. package/cjs/lib/dom/getScrollWidth.js +4 -4
  572. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  573. package/cjs/lib/dom/tabbableHelpers.d.ts +2 -1
  574. package/cjs/lib/dom/tabbableHelpers.js +8 -2
  575. package/cjs/lib/dom/tabbableHelpers.js.map +1 -1
  576. package/cjs/lib/events/MouseDrag.js +11 -11
  577. package/cjs/lib/events/MouseDrag.js.map +1 -1
  578. package/cjs/lib/events/fixClickFocusIE.js +6 -3
  579. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  580. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +5 -2
  581. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  582. package/cjs/lib/events/keyListener.js +9 -11
  583. package/cjs/lib/events/keyListener.js.map +1 -1
  584. package/cjs/lib/events/keyboard/identifiers.js +5 -2
  585. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  586. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +223 -0
  587. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -0
  588. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +5 -0
  589. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -0
  590. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  591. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +24 -0
  592. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  593. package/cjs/lib/featureFlagsContext/index.d.ts +2 -0
  594. package/cjs/lib/featureFlagsContext/index.js +3 -0
  595. package/cjs/lib/featureFlagsContext/index.js.map +1 -0
  596. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  597. package/cjs/lib/forwardRefAndName.js +4 -1
  598. package/cjs/lib/forwardRefAndName.js.map +1 -1
  599. package/cjs/lib/isInstanceOf.d.ts +1 -0
  600. package/cjs/lib/isInstanceOf.js +6 -0
  601. package/cjs/lib/isInstanceOf.js.map +1 -0
  602. package/cjs/lib/listenFocusOutside.js +15 -15
  603. package/cjs/lib/listenFocusOutside.js.map +1 -1
  604. package/cjs/lib/locale/LocaleContext.js +2 -1
  605. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  606. package/cjs/lib/needsPolyfillPlaceholder.js +5 -3
  607. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
  608. package/cjs/lib/net/fetch.js +24 -18
  609. package/cjs/lib/net/fetch.js.map +1 -1
  610. package/cjs/lib/rootNode/getRootNode.js +6 -6
  611. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  612. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -0
  613. package/cjs/lib/rootNode/rootNodeDecorator.js +4 -1
  614. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  615. package/cjs/lib/styles/ColorFactory.js +13 -11
  616. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  617. package/cjs/lib/styles/ColorHelpers.d.ts +1 -1
  618. package/cjs/lib/styles/ColorHelpers.js +3 -7
  619. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  620. package/cjs/lib/taskWithDelayAndMinimalDuration.js +5 -5
  621. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  622. package/cjs/lib/theming/Emotion.js +4 -2
  623. package/cjs/lib/theming/Emotion.js.map +1 -1
  624. package/cjs/lib/theming/ThemeContext.js +2 -1
  625. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  626. package/cjs/lib/toKebabCase.d.ts +1 -0
  627. package/cjs/lib/toKebabCase.js +10 -0
  628. package/cjs/lib/toKebabCase.js.map +1 -0
  629. package/cjs/lib/types/props.d.ts +1 -0
  630. package/cjs/lib/types/props.js +1 -0
  631. package/cjs/lib/types/props.js.map +1 -0
  632. package/cjs/lib/utils.d.ts +7 -0
  633. package/cjs/lib/utils.js +29 -7
  634. package/cjs/lib/utils.js.map +1 -1
  635. package/cjs/typings/global-react.d.ts +12 -0
  636. package/cjs/typings/global.d.ts +3 -4
  637. package/components/Autocomplete/Autocomplete/Autocomplete.js +1 -1
  638. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  639. package/components/Autocomplete/Autocomplete.d.ts +3 -1
  640. package/components/Button/Button/Button.js +46 -33
  641. package/components/Button/Button/Button.js.map +1 -1
  642. package/components/Button/Button.d.ts +13 -3
  643. package/components/Button/Button.md +106 -30
  644. package/components/Button/Button.mixins/Button.mixins.js +2 -2
  645. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  646. package/components/Button/Button.mixins.d.ts +1 -1
  647. package/components/Button/Button.styles/Button.styles.js +24 -41
  648. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  649. package/components/Button/Button.styles.d.ts +1 -6
  650. package/components/Button/ButtonArrow/ButtonArrow.js +1 -1
  651. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  652. package/components/Button/ButtonIcon/ButtonIcon.js +30 -19
  653. package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
  654. package/components/Button/ButtonIcon.d.ts +7 -5
  655. package/components/Button/ButtonIcon.styles/ButtonIcon.styles.js +49 -0
  656. package/components/Button/ButtonIcon.styles/ButtonIcon.styles.js.map +1 -0
  657. package/components/Button/ButtonIcon.styles/package.json +6 -0
  658. package/components/Button/ButtonIcon.styles.d.ts +16 -0
  659. package/components/Button/LoadingButtonIcon/LoadingButtonIcon.js +23 -0
  660. package/components/Button/LoadingButtonIcon/LoadingButtonIcon.js.map +1 -0
  661. package/components/Button/LoadingButtonIcon/package.json +6 -0
  662. package/components/Button/LoadingButtonIcon.d.ts +7 -0
  663. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
  664. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  665. package/components/Calendar/Calendar/Calendar.js +9 -7
  666. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  667. package/components/Calendar/Calendar.d.ts +1 -0
  668. package/components/Calendar/DayCellView/DayCellView.js +9 -3
  669. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  670. package/components/Center/Center/Center.js +1 -1
  671. package/components/Center/Center/Center.js.map +1 -1
  672. package/components/Center/Center.d.ts +1 -0
  673. package/components/Checkbox/Checkbox/Checkbox.js +15 -6
  674. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  675. package/components/Checkbox/Checkbox.d.ts +7 -2
  676. package/components/ComboBox/ComboBox/ComboBox.js +1 -1
  677. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  678. package/components/ComboBox/ComboBox.d.ts +3 -1
  679. package/components/ComboBox/ComboBox.md +4 -5
  680. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +4 -2
  681. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  682. package/components/CurrencyInput/CurrencyInput.d.ts +1 -0
  683. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -0
  684. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  685. package/components/CurrencyLabel/CurrencyLabel.d.ts +1 -0
  686. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +4 -1
  687. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  688. package/components/DateInput/DateInput/DateInput.js +3 -2
  689. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  690. package/components/DateInput/DateInput.d.ts +3 -1
  691. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
  692. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  693. package/components/DatePicker/DatePicker/DatePicker.js +2 -2
  694. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  695. package/components/DatePicker/DatePicker.d.ts +4 -2
  696. package/components/DatePicker/Picker/Picker.js +1 -1
  697. package/components/DatePicker/Picker/Picker.js.map +1 -1
  698. package/components/DatePicker/Picker.d.ts +1 -0
  699. package/components/Dropdown/Dropdown/Dropdown.js +1 -1
  700. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  701. package/components/Dropdown/Dropdown.d.ts +4 -2
  702. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
  703. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
  704. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
  705. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  706. package/components/DropdownMenu/DropdownMenu.d.ts +1 -0
  707. package/components/FileUploader/FileUploader/FileUploader.js +11 -6
  708. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  709. package/components/FileUploader/FileUploader.d.ts +6 -2
  710. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +2 -2
  711. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  712. package/components/FileUploader/FileUploader.styles.d.ts +1 -1
  713. package/components/FxInput/FxInput/FxInput.js +1 -1
  714. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  715. package/components/FxInput/FxInput.d.ts +1 -0
  716. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  717. package/components/Gapped/Gapped/Gapped.js +1 -1
  718. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  719. package/components/Gapped/Gapped.d.ts +1 -0
  720. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +31 -35
  721. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  722. package/components/GlobalLoader/GlobalLoader.d.ts +3 -2
  723. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +2 -3
  724. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  725. package/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  726. package/components/Group/Group/Group.js +1 -1
  727. package/components/Group/Group/Group.js.map +1 -1
  728. package/components/Group/Group.d.ts +1 -0
  729. package/components/Hint/Hint/Hint.js +6 -6
  730. package/components/Hint/Hint/Hint.js.map +1 -1
  731. package/components/Hint/Hint.d.ts +1 -0
  732. package/components/Input/Input/Input.js +33 -17
  733. package/components/Input/Input/Input.js.map +1 -1
  734. package/components/Input/Input.d.ts +29 -7
  735. package/components/Input/Input.typings/Input.typings.js +1 -0
  736. package/components/Input/Input.typings/Input.typings.js.map +1 -0
  737. package/components/Input/Input.typings/package.json +6 -0
  738. package/components/Input/Input.typings.d.ts +7 -0
  739. package/components/Input/InputLayout/InputLayout.d.ts +1 -1
  740. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -1
  741. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  742. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
  743. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
  744. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  745. package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +1 -1
  746. package/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  747. package/components/Input/index/index.js +2 -1
  748. package/components/Input/index/index.js.map +1 -1
  749. package/components/Input/index.d.ts +1 -0
  750. package/components/Kebab/Kebab/Kebab.js +3 -2
  751. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  752. package/components/Kebab/Kebab.d.ts +3 -1
  753. package/components/Link/Link/Link.js +21 -20
  754. package/components/Link/Link/Link.js.map +1 -1
  755. package/components/Link/Link.d.ts +7 -2
  756. package/components/Link/Link.md +81 -7
  757. package/components/Link/Link.styles/Link.styles.js +32 -23
  758. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  759. package/components/Link/Link.styles.d.ts +4 -1
  760. package/components/Link/LinkIcon/LinkIcon.js +19 -0
  761. package/components/Link/LinkIcon/LinkIcon.js.map +1 -0
  762. package/components/Link/LinkIcon/package.json +6 -0
  763. package/components/Link/LinkIcon.d.ts +6 -0
  764. package/components/Loader/Loader/Loader.js +10 -7
  765. package/components/Loader/Loader/Loader.js.map +1 -1
  766. package/components/Loader/Loader.d.ts +1 -0
  767. package/components/MaskedInput/MaskedInput/MaskedInput.js +62 -0
  768. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -0
  769. package/{internal → components}/MaskedInput/MaskedInput/package.json +1 -1
  770. package/components/MaskedInput/MaskedInput.d.ts +24 -0
  771. package/components/MaskedInput/MaskedInput.md +21 -0
  772. package/components/MaskedInput/index/index.js.map +1 -0
  773. package/components/MaskedInput/index/package.json +6 -0
  774. package/components/MaskedInput/package.json +6 -0
  775. package/components/MenuFooter/MenuFooter/MenuFooter.js +5 -0
  776. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  777. package/components/MenuFooter/MenuFooter.d.ts +7 -2
  778. package/components/MenuHeader/MenuHeader/MenuHeader.js +8 -1
  779. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  780. package/components/MenuHeader/MenuHeader.d.ts +7 -2
  781. package/components/MenuItem/MenuItem/MenuItem.js +158 -21
  782. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  783. package/components/MenuItem/MenuItem.d.ts +31 -2
  784. package/components/MenuItem/MenuItem.md +20 -6
  785. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +1 -0
  786. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  787. package/components/MenuSeparator/MenuSeparator.d.ts +1 -0
  788. package/components/MiniModal/MiniModal/MiniModal.js +37 -0
  789. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -0
  790. package/components/MiniModal/MiniModal/package.json +6 -0
  791. package/components/MiniModal/MiniModal.d.ts +18 -0
  792. package/components/MiniModal/MiniModal.md +233 -0
  793. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +41 -0
  794. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -0
  795. package/components/MiniModal/MiniModal.styles/package.json +6 -0
  796. package/components/MiniModal/MiniModal.styles.d.ts +14 -0
  797. package/components/MiniModal/MiniModalBody/MiniModalBody.js +23 -0
  798. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -0
  799. package/components/MiniModal/MiniModalBody/package.json +6 -0
  800. package/components/MiniModal/MiniModalBody.d.ts +7 -0
  801. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +35 -0
  802. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -0
  803. package/components/MiniModal/MiniModalFooter/package.json +6 -0
  804. package/components/MiniModal/MiniModalFooter.d.ts +18 -0
  805. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js +33 -0
  806. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -0
  807. package/components/MiniModal/MiniModalHeader/package.json +6 -0
  808. package/components/MiniModal/MiniModalHeader.d.ts +17 -0
  809. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +27 -0
  810. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -0
  811. package/components/MiniModal/MiniModalIndent/package.json +6 -0
  812. package/components/MiniModal/MiniModalIndent.d.ts +6 -0
  813. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js +23 -0
  814. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js.map +1 -0
  815. package/components/MiniModal/getMiniModalTheme/package.json +6 -0
  816. package/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  817. package/components/MiniModal/index/index.js +5 -0
  818. package/components/MiniModal/index/index.js.map +1 -0
  819. package/{internal/MaskedInput → components/MiniModal}/index/package.json +1 -1
  820. package/components/MiniModal/index.d.ts +5 -0
  821. package/{internal/MaskedInput → components/MiniModal}/package.json +1 -1
  822. package/components/Modal/Modal/Modal.js +19 -14
  823. package/components/Modal/Modal/Modal.js.map +1 -1
  824. package/components/Modal/Modal.d.ts +7 -0
  825. package/components/Modal/Modal.styles/Modal.styles.js +44 -37
  826. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  827. package/components/Modal/Modal.styles.d.ts +5 -0
  828. package/components/Modal/ModalBody/ModalBody.js +1 -1
  829. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  830. package/components/Modal/ModalBody.d.ts +1 -0
  831. package/components/Modal/ModalClose/ModalClose.js +5 -2
  832. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  833. package/components/Modal/ModalClose.d.ts +4 -0
  834. package/components/Modal/ModalFooter/ModalFooter.js +1 -0
  835. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  836. package/components/Modal/ModalFooter.d.ts +1 -0
  837. package/components/Modal/ModalHeader/ModalHeader.js +2 -1
  838. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  839. package/components/Modal/ModalHeader.d.ts +1 -0
  840. package/components/Modal/ModalSeparator/ModalSeparator.js +9 -1
  841. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  842. package/components/Modal/ModalSeparator.d.ts +9 -0
  843. package/components/Modal/getModalTheme/getModalTheme.js +8 -3
  844. package/components/Modal/getModalTheme/getModalTheme.js.map +1 -1
  845. package/components/Modal/getModalTheme.d.ts +2 -2
  846. package/components/Paging/NavigationHelper/NavigationHelper.js +2 -1
  847. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  848. package/components/Paging/Paging/Paging.js +28 -16
  849. package/components/Paging/Paging/Paging.js.map +1 -1
  850. package/components/Paging/Paging.d.ts +1 -0
  851. package/components/Paging/Paging.styles/Paging.styles.js +3 -6
  852. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  853. package/components/Paging/Paging.styles.d.ts +0 -1
  854. package/components/PasswordInput/PasswordInput/PasswordInput.js +5 -3
  855. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  856. package/components/PasswordInput/PasswordInput.d.ts +1 -0
  857. package/components/Radio/Radio/Radio.js +7 -2
  858. package/components/Radio/Radio/Radio.js.map +1 -1
  859. package/components/Radio/Radio.d.ts +7 -2
  860. package/components/RadioGroup/RadioGroup/RadioGroup.js +1 -1
  861. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  862. package/components/RadioGroup/RadioGroup.d.ts +1 -0
  863. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +3 -1
  864. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  865. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -0
  866. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
  867. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  868. package/components/ScrollContainer/ScrollBar/ScrollBar.js +17 -50
  869. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  870. package/components/ScrollContainer/ScrollBar.d.ts +4 -7
  871. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +110 -23
  872. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  873. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +1 -2
  874. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
  875. package/components/ScrollContainer/ScrollContainer.d.ts +19 -3
  876. package/components/ScrollContainer/ScrollContainer.md +29 -2
  877. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +6 -18
  878. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  879. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  880. package/components/Select/Item/Item.js +5 -2
  881. package/components/Select/Item/Item.js.map +1 -1
  882. package/components/Select/Item.d.ts +2 -0
  883. package/components/Select/Select/Select.js +27 -18
  884. package/components/Select/Select/Select.js.map +1 -1
  885. package/components/Select/Select.d.ts +8 -3
  886. package/components/Select/Select.md +12 -0
  887. package/components/SidePage/SidePage/SidePage.js +39 -13
  888. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  889. package/components/SidePage/SidePage.d.ts +4 -1
  890. package/components/SidePage/SidePageBody/SidePageBody.js +1 -1
  891. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  892. package/components/SidePage/SidePageBody.d.ts +1 -0
  893. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +5 -2
  894. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  895. package/components/SidePage/SidePageCloseButton.d.ts +5 -1
  896. package/components/SidePage/SidePageContainer/SidePageContainer.js +1 -1
  897. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  898. package/components/SidePage/SidePageContainer.d.ts +1 -0
  899. package/components/SidePage/SidePageFooter/SidePageFooter.js +1 -1
  900. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  901. package/components/SidePage/SidePageFooter.d.ts +1 -0
  902. package/components/SidePage/SidePageHeader/SidePageHeader.js +7 -5
  903. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  904. package/components/SidePage/SidePageHeader.d.ts +2 -0
  905. package/components/SingleToast/SingleToast/SingleToast.js +55 -0
  906. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -0
  907. package/components/SingleToast/SingleToast/package.json +6 -0
  908. package/components/SingleToast/SingleToast.d.ts +13 -0
  909. package/components/SingleToast/SingleToast.md +35 -0
  910. package/components/SingleToast/index/index.js +1 -0
  911. package/components/SingleToast/index/index.js.map +1 -0
  912. package/components/SingleToast/index/package.json +6 -0
  913. package/components/SingleToast/index.d.ts +1 -0
  914. package/components/SingleToast/package.json +6 -0
  915. package/components/Spinner/Spinner/Spinner.js +11 -5
  916. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  917. package/components/Spinner/Spinner.d.ts +2 -0
  918. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
  919. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  920. package/components/Sticky/Sticky/Sticky.js +13 -9
  921. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  922. package/components/Sticky/Sticky.d.ts +1 -0
  923. package/components/Switcher/Switcher/Switcher.js +5 -1
  924. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  925. package/components/Switcher/Switcher.d.ts +9 -4
  926. package/components/Tabs/Indicator/Indicator.js +3 -1
  927. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  928. package/components/Tabs/Tab/Tab.js +13 -16
  929. package/components/Tabs/Tab/Tab.js.map +1 -1
  930. package/components/Tabs/Tab.d.ts +17 -32
  931. package/components/Tabs/Tab.md +71 -0
  932. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  933. package/components/Tabs/Tabs/Tabs.js +5 -5
  934. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  935. package/components/Tabs/Tabs.d.ts +14 -18
  936. package/components/Tabs/Tabs.md +7 -22
  937. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  938. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  939. package/components/Tabs/TabsContext.d.ts +3 -2
  940. package/components/Tabs/helpers/helpers.js +3 -0
  941. package/components/Tabs/helpers/helpers.js.map +1 -1
  942. package/components/Tabs/helpers.d.ts +5 -5
  943. package/components/Textarea/Textarea/Textarea.js +38 -20
  944. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  945. package/components/Textarea/Textarea.d.ts +8 -2
  946. package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
  947. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  948. package/components/Textarea/TextareaCounter.d.ts +4 -3
  949. package/components/Textarea/TextareaHelpers/TextareaHelpers.js +6 -1
  950. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  951. package/components/Textarea/TextareaHelpers.d.ts +1 -1
  952. package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js +21 -0
  953. package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js.map +1 -0
  954. package/components/Textarea/TextareaWithSafari17Workaround/package.json +6 -0
  955. package/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
  956. package/components/Toast/Toast/Toast.js +17 -8
  957. package/components/Toast/Toast/Toast.js.map +1 -1
  958. package/components/Toast/Toast.d.ts +11 -3
  959. package/components/Toast/Toast.md +0 -105
  960. package/components/Toast/ToastStatic/ToastStatic.js +4 -4
  961. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  962. package/components/Toggle/Toggle/Toggle.js +5 -1
  963. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  964. package/components/Toggle/Toggle.d.ts +7 -2
  965. package/components/Token/Token/Token.js +5 -4
  966. package/components/Token/Token/Token.js.map +1 -1
  967. package/components/Token/Token.d.ts +1 -0
  968. package/components/TokenInput/TokenInput/TokenInput.js +52 -12
  969. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  970. package/components/TokenInput/TokenInput.d.ts +3 -0
  971. package/components/TokenInput/TokenInput.md +71 -0
  972. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -1
  973. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  974. package/components/TokenInput/TokenInputMenu.d.ts +1 -0
  975. package/components/Tooltip/Tooltip/Tooltip.js +11 -8
  976. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  977. package/components/Tooltip/Tooltip.d.ts +7 -1
  978. package/components/Tooltip/Tooltip.md +24 -0
  979. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
  980. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  981. package/components/TooltipMenu/TooltipMenu.d.ts +1 -0
  982. package/hooks/useDrop/useDrop.js +3 -2
  983. package/hooks/useDrop/useDrop.js.map +1 -1
  984. package/index.d.ts +4 -0
  985. package/index.js +4 -0
  986. package/index.js.map +1 -1
  987. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +5 -2
  988. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  989. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +8 -38
  990. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  991. package/internal/CommonWrapper/CommonWrapper.d.ts +5 -26
  992. package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js +31 -0
  993. package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js.map +1 -0
  994. package/internal/CommonWrapper/extractCommonProps/package.json +6 -0
  995. package/internal/CommonWrapper/extractCommonProps.d.ts +3 -0
  996. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js +12 -0
  997. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +1 -0
  998. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/package.json +6 -0
  999. package/internal/CommonWrapper/getCommonVisualStateDataAttributes.d.ts +2 -0
  1000. package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js +16 -0
  1001. package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +1 -0
  1002. package/internal/CommonWrapper/getVisualStateDataAttributes/package.json +6 -0
  1003. package/internal/CommonWrapper/getVisualStateDataAttributes.d.ts +3 -0
  1004. package/internal/CommonWrapper/index/index.js +2 -1
  1005. package/internal/CommonWrapper/index/index.js.map +1 -1
  1006. package/internal/CommonWrapper/index.d.ts +2 -0
  1007. package/internal/CommonWrapper/types/package.json +6 -0
  1008. package/internal/CommonWrapper/types/types.js +1 -0
  1009. package/internal/CommonWrapper/types/types.js.map +1 -0
  1010. package/internal/CommonWrapper/types.d.ts +25 -0
  1011. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +1 -1
  1012. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  1013. package/internal/CustomComboBox/ComboBoxMenu.d.ts +3 -1
  1014. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +22 -33
  1015. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  1016. package/internal/CustomComboBox/ComboBoxView.d.ts +7 -9
  1017. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +22 -12
  1018. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  1019. package/internal/CustomComboBox/CustomComboBox.d.ts +6 -2
  1020. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +31 -2
  1021. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  1022. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
  1023. package/internal/DateSelect/DateSelect/DateSelect.js +21 -21
  1024. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  1025. package/internal/DateSelect/DateSelect.d.ts +1 -0
  1026. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +20 -17
  1027. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  1028. package/internal/DropdownContainer/DropdownContainer.d.ts +1 -1
  1029. package/internal/DropdownContainer/getManualPosition/getManualPosition.js +4 -3
  1030. package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -1
  1031. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +3 -2
  1032. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  1033. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
  1034. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +1 -1
  1035. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  1036. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +1 -0
  1037. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  1038. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -2
  1039. package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -1
  1040. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  1041. package/internal/FocusTrap/FocusTrap/FocusTrap.js +10 -4
  1042. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  1043. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  1044. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +26 -26
  1045. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  1046. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
  1047. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +4 -2
  1048. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  1049. package/internal/InputLikeText/InputLikeText/InputLikeText.js +30 -20
  1050. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1051. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  1052. package/internal/{MaskedInput/MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js} +14 -9
  1053. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
  1054. package/internal/InternalMaskedInput/InternalMaskedInput/package.json +6 -0
  1055. package/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +9 -5
  1056. package/{cjs/internal/MaskedInput/MaskedInput.styles.js.map → internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map} +1 -1
  1057. package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +6 -0
  1058. package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +6 -0
  1059. package/internal/InternalMaskedInput/index/index.js +1 -0
  1060. package/internal/InternalMaskedInput/index/index.js.map +1 -0
  1061. package/internal/InternalMaskedInput/index/package.json +6 -0
  1062. package/internal/InternalMaskedInput/index.d.ts +1 -0
  1063. package/internal/InternalMaskedInput/package.json +6 -0
  1064. package/internal/InternalMenu/InternalMenu/InternalMenu.js +11 -10
  1065. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1066. package/internal/InternalMenu/InternalMenu.d.ts +1 -0
  1067. package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js +206 -0
  1068. package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js.map +1 -0
  1069. package/internal/MaskedInputElement/MaskedInputElement/package.json +6 -0
  1070. package/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
  1071. package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js +43 -0
  1072. package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js.map +1 -0
  1073. package/internal/MaskedInputElement/MaskedInputElement.helpers/package.json +6 -0
  1074. package/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
  1075. package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js +16 -0
  1076. package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js.map +1 -0
  1077. package/internal/MaskedInputElement/MaskedInputElement.styles/package.json +6 -0
  1078. package/internal/MaskedInputElement/MaskedInputElement.styles.d.ts +6 -0
  1079. package/internal/MaskedInputElement/index/index.js +1 -0
  1080. package/internal/MaskedInputElement/index/index.js.map +1 -0
  1081. package/internal/MaskedInputElement/index/package.json +6 -0
  1082. package/internal/MaskedInputElement/index.d.ts +1 -0
  1083. package/internal/MaskedInputElement/package.json +6 -0
  1084. package/internal/Menu/Menu/Menu.js +145 -63
  1085. package/internal/Menu/Menu/Menu.js.map +1 -1
  1086. package/internal/Menu/Menu.d.ts +7 -0
  1087. package/internal/Menu/MenuContext/MenuContext.js +5 -0
  1088. package/internal/Menu/MenuContext/MenuContext.js.map +1 -0
  1089. package/internal/Menu/MenuContext/package.json +6 -0
  1090. package/internal/Menu/MenuContext.d.ts +10 -0
  1091. package/internal/Menu/MenuNavigation/MenuNavigation.js +123 -0
  1092. package/internal/Menu/MenuNavigation/MenuNavigation.js.map +1 -0
  1093. package/internal/Menu/MenuNavigation/package.json +6 -0
  1094. package/internal/Menu/MenuNavigation.d.ts +26 -0
  1095. package/internal/Menu/isActiveElement/isActiveElement.js +1 -1
  1096. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  1097. package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
  1098. package/internal/MenuMessage/MenuMessage.d.ts +3 -3
  1099. package/internal/MobilePopup/MobilePopup/MobilePopup.js +2 -1
  1100. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  1101. package/internal/MobilePopup/MobilePopup.d.ts +1 -0
  1102. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -1
  1103. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  1104. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
  1105. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js +2 -1
  1106. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js.map +1 -1
  1107. package/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
  1108. package/internal/Popup/Popup/Popup.js +13 -14
  1109. package/internal/Popup/Popup/Popup.js.map +1 -1
  1110. package/internal/Popup/Popup.d.ts +1 -0
  1111. package/internal/Popup/PopupHelper/PopupHelper.js +8 -5
  1112. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  1113. package/internal/Popup/PopupPin/PopupPin.js +1 -0
  1114. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  1115. package/internal/Popup/PopupPin.d.ts +1 -0
  1116. package/internal/PopupMenu/PopupMenu/PopupMenu.js +4 -3
  1117. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1118. package/internal/PopupMenu/PopupMenu.d.ts +1 -0
  1119. package/internal/RenderContainer/RenderContainer/RenderContainer.js +27 -16
  1120. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  1121. package/internal/RenderContainer/RenderContainer.d.ts +1 -1
  1122. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +6 -4
  1123. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  1124. package/internal/RenderContainer/RenderInnerContainer.d.ts +3 -0
  1125. package/internal/RenderLayer/RenderLayer/RenderLayer.js +12 -6
  1126. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  1127. package/internal/RenderLayer/RenderLayer.d.ts +1 -0
  1128. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +2 -1
  1129. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  1130. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  1131. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  1132. package/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  1133. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  1134. package/internal/ThemePlayground/constants/constants.js +3 -0
  1135. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  1136. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +5 -2
  1137. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1138. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  1139. package/internal/ZIndex/ZIndex/ZIndex.js +3 -3
  1140. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1141. package/internal/ZIndex/ZIndex.d.ts +1 -0
  1142. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -2
  1143. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1144. package/internal/icons/16px/index.d.ts +19 -19
  1145. package/internal/icons/20px/Icon/Icon.js +1 -0
  1146. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  1147. package/internal/icons/20px/Icon.d.ts +1 -0
  1148. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  1149. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  1150. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  1151. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  1152. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  1153. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  1154. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  1155. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  1156. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  1157. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  1158. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  1159. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  1160. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  1161. package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  1162. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  1163. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  1164. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  1165. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  1166. package/internal/icons2022/BaseIcon/BaseIcon.js +3 -6
  1167. package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
  1168. package/internal/icons2022/BaseIcon.d.ts +1 -1
  1169. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js +11 -0
  1170. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js.map +1 -0
  1171. package/internal/icons2022/BaseIcon.styles/package.json +6 -0
  1172. package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  1173. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  1174. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  1175. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  1176. package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  1177. package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  1178. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  1179. package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  1180. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  1181. package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  1182. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  1183. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  1184. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  1185. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  1186. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  1187. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  1188. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js +18 -0
  1189. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js.map +1 -0
  1190. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/package.json +6 -0
  1191. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  1192. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  1193. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  1194. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  1195. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  1196. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  1197. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  1198. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  1199. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  1200. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  1201. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  1202. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  1203. package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  1204. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  1205. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  1206. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  1207. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  1208. package/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  1209. package/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  1210. package/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  1211. package/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  1212. package/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  1213. package/internal/themes/DefaultTheme/DefaultTheme.js +177 -6
  1214. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1215. package/internal/themes/DefaultTheme.d.ts +70 -2
  1216. package/internal/themes/Theme2022/Theme2022.js +55 -3
  1217. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  1218. package/internal/themes/Theme2022.d.ts +18 -2
  1219. package/internal/themes/Theme2022Dark/Theme2022Dark.js +13 -4
  1220. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  1221. package/internal/themes/Theme2022Dark.d.ts +4 -4
  1222. package/lib/LayoutEvents/LayoutEvents.js +5 -4
  1223. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1224. package/lib/ModalStack/ModalStack.js +2 -2
  1225. package/lib/ModalStack/ModalStack.js.map +1 -1
  1226. package/lib/SSRSafe/SSRSafe.js +3 -35
  1227. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1228. package/lib/SSRSafe.d.ts +1 -6
  1229. package/lib/Upgrades/Upgrades.js +3 -1
  1230. package/lib/Upgrades/Upgrades.js.map +1 -1
  1231. package/lib/Upgrades.d.ts +1 -0
  1232. package/lib/animation/index/index.js +6 -3
  1233. package/lib/animation/index/index.js.map +1 -1
  1234. package/lib/chars/chars.js +1 -1
  1235. package/lib/chars/chars.js.map +1 -1
  1236. package/lib/chars.d.ts +1 -1
  1237. package/lib/client/client.js +9 -7
  1238. package/lib/client/client.js.map +1 -1
  1239. package/lib/client.d.ts +2 -7
  1240. package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
  1241. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1242. package/lib/dom/tabbableHelpers/tabbableHelpers.js +4 -2
  1243. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -1
  1244. package/lib/dom/tabbableHelpers.d.ts +2 -1
  1245. package/lib/events/MouseDrag/MouseDrag.js +15 -11
  1246. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1247. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +4 -2
  1248. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  1249. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +7 -2
  1250. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  1251. package/lib/events/keyListener/keyListener.js +9 -12
  1252. package/lib/events/keyListener/keyListener.js.map +1 -1
  1253. package/lib/events/keyboard/identifiers/identifiers.js +3 -1
  1254. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1255. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +223 -0
  1256. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js +5 -0
  1257. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js.map +1 -0
  1258. package/lib/featureFlagsContext/FeatureFlagsHelpers/package.json +6 -0
  1259. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -0
  1260. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +12 -0
  1261. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  1262. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
  1263. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  1264. package/lib/featureFlagsContext/index/index.js +2 -0
  1265. package/lib/featureFlagsContext/index/index.js.map +1 -0
  1266. package/lib/featureFlagsContext/index/package.json +6 -0
  1267. package/lib/featureFlagsContext/index.d.ts +2 -0
  1268. package/lib/featureFlagsContext/package.json +6 -0
  1269. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  1270. package/lib/forwardRefAndName.d.ts +1 -1
  1271. package/lib/isInstanceOf/isInstanceOf.js +3 -0
  1272. package/lib/isInstanceOf/isInstanceOf.js.map +1 -0
  1273. package/lib/isInstanceOf/package.json +6 -0
  1274. package/lib/isInstanceOf.d.ts +1 -0
  1275. package/lib/listenFocusOutside/listenFocusOutside.js +19 -10
  1276. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1277. package/lib/locale/LocaleContext/LocaleContext.js +2 -1
  1278. package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
  1279. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +4 -3
  1280. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
  1281. package/lib/net/fetch/fetch.js +29 -21
  1282. package/lib/net/fetch/fetch.js.map +1 -1
  1283. package/lib/rootNode/getRootNode/getRootNode.js +6 -6
  1284. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  1285. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +1 -1
  1286. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  1287. package/lib/rootNode/rootNodeDecorator.d.ts +2 -0
  1288. package/lib/styles/ColorFactory/ColorFactory.js +13 -9
  1289. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1290. package/lib/styles/ColorHelpers/ColorHelpers.js +3 -7
  1291. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1292. package/lib/styles/ColorHelpers.d.ts +1 -1
  1293. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +5 -4
  1294. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  1295. package/lib/theming/Emotion/Emotion.js +6 -1
  1296. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1297. package/lib/theming/ThemeContext/ThemeContext.js +2 -1
  1298. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  1299. package/lib/toKebabCase/package.json +6 -0
  1300. package/lib/toKebabCase/toKebabCase.js +7 -0
  1301. package/lib/toKebabCase/toKebabCase.js.map +1 -0
  1302. package/lib/toKebabCase.d.ts +1 -0
  1303. package/lib/types/props/package.json +6 -0
  1304. package/lib/types/props/props.js +1 -0
  1305. package/lib/types/props/props.js.map +1 -0
  1306. package/lib/types/props.d.ts +1 -0
  1307. package/lib/utils/utils.js +31 -6
  1308. package/lib/utils/utils.js.map +1 -1
  1309. package/lib/utils.d.ts +7 -0
  1310. package/package.json +10 -10
  1311. package/typings/global-react.d.ts +12 -0
  1312. package/typings/global.d.ts +3 -4
  1313. package/cjs/internal/MaskedInput/MaskedInput.js.map +0 -1
  1314. package/cjs/internal/MaskedInput/index.js.map +0 -1
  1315. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +0 -1
  1316. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +0 -1
  1317. package/internal/MaskedInput/MaskedInput.styles/package.json +0 -6
  1318. package/internal/MaskedInput/index/index.js.map +0 -1
  1319. /package/cjs/{internal → components}/MaskedInput/index.d.ts +0 -0
  1320. /package/cjs/{internal → components}/MaskedInput/index.js +0 -0
  1321. /package/cjs/internal/{MaskedInput/MaskedInput.styles.d.ts → InternalMaskedInput/InternalMaskedInput.styles.d.ts} +0 -0
  1322. /package/cjs/internal/{MaskedInput/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles.js} +0 -0
  1323. /package/{internal/MaskedInput/MaskedInput.styles.d.ts → cjs/internal/MaskedInputElement/MaskedInputElement.styles.d.ts} +0 -0
  1324. /package/{internal → components}/MaskedInput/index/index.js +0 -0
  1325. /package/{internal → components}/MaskedInput/index.d.ts +0 -0
  1326. /package/internal/{MaskedInput/MaskedInput.styles/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["InternalMaskedInput.tsx"],"names":["MaskedInputDataTids","root","InternalMaskedInput","props","getProps","defaultProps","input","reactInputMask","getValue","value","toString","defaultValue","refInput","refMaskedInput","handleChange","event","target","state","handleUnexpectedInput","setState","originValue","onValueChange","onChange","handleFocus","focused","onFocus","handleBlur","onBlur","preprocess","newState","oldState","userInput","options","visibleMaskChars","Array","mask","length","fill","maskChar","split","forEach","char","index","permanents","includes","emptyValue","join","isMaskVisible","alwaysShowMask","onUnexpectedInput","componentDidMount","forceUpdate","componentDidUpdate","prevProps","render","theme","renderMain","hasLeftIcon","hasRightIcon","maxLength","style","inputProps","leftHelper","textAlign","color","slice","leftClass","styles","inputMaskLeft","rightHelper","map","_char","i","container","inputMask","React","PureComponent","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport ReactInputMask, { InputState, MaskOptions } from 'react-input-mask';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MaskCharLowLine } from '../MaskCharLowLine';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './InternalMaskedInput.styles';\n\nexport interface InternalMaskedInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n mask: string;\n maskChar?: string | null;\n formatChars?: { [key: string]: string };\n alwaysShowMask?: boolean;\n hasLeftIcon?: boolean;\n hasRightIcon?: boolean;\n onUnexpectedInput?: (value: string) => void;\n onValueChange?: (value: string) => void;\n}\n\ninterface MaskedInputState {\n value: string;\n\n // Users can unmask value themselves. In these cases we take origin value length\n originValue: string;\n\n emptyValue: string;\n focused: boolean;\n}\n\ntype DefaultProps = Required<Pick<InternalMaskedInputProps, 'maskChar'>>;\n\nexport const MaskedInputDataTids = {\n root: 'MaskedInput__root',\n} as const;\n\n/** @deprecated Со следующей мажорной версии Input перестанет поддерживать маску.\n * todo: выпилить в 5 версии библиотеки.\n * */\nexport class InternalMaskedInput extends React.PureComponent<InternalMaskedInputProps, MaskedInputState> {\n public static __KONTUR_REACT_UI__ = 'InternalMaskedInput';\n public static displayName = 'InternalMaskedInput';\n\n public static defaultProps: DefaultProps = {\n maskChar: '_',\n };\n\n private getProps = createPropsGetter(InternalMaskedInput.defaultProps);\n\n public input: HTMLInputElement | null = null;\n private theme!: Theme;\n private reactInputMask: ReactInputMask | null = null;\n\n public constructor(props: InternalMaskedInputProps) {\n super(props);\n\n this.state = {\n value: this.getValue(props),\n originValue: this.getValue(props),\n emptyValue: '',\n focused: false,\n };\n }\n\n public componentDidMount() {\n if (this.reactInputMask) {\n // FIXME: принудительно вызываем beforeMaskedValueChange, чтобы получить emptyValue\n this.reactInputMask.forceUpdate();\n }\n }\n\n public componentDidUpdate(prevProps: InternalMaskedInputProps) {\n if (this.props.value !== prevProps.value) {\n this.setState({\n value: this.props.value ? this.props.value.toString() : '',\n });\n }\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 {\n maskChar,\n alwaysShowMask,\n hasLeftIcon,\n hasRightIcon,\n maxLength,\n onValueChange,\n onUnexpectedInput,\n defaultValue,\n style,\n ...inputProps\n } = this.props;\n const { emptyValue, value, originValue } = this.state;\n\n const leftHelper = style?.textAlign !== 'right' && (\n <span style={{ color: 'transparent' }}>{emptyValue.slice(0, originValue.length)}</span>\n );\n const leftClass = style?.textAlign !== 'right' && styles.inputMaskLeft();\n\n const rightHelper = emptyValue\n .slice(originValue.length)\n .split('')\n .map((_char, i) => (_char === '_' ? <MaskCharLowLine key={i} /> : _char));\n\n return (\n <span data-tid={MaskedInputDataTids.root} className={styles.container()} x-ms-format-detection=\"none\">\n <ReactInputMask\n {...inputProps}\n maskChar={null}\n beforeMaskedValueChange={this.preprocess}\n alwaysShowMask={false}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n value={value}\n inputRef={this.refInput}\n ref={this.refMaskedInput}\n style={{ ...style }}\n />\n {this.isMaskVisible() && (\n <span className={cx(styles.inputMask(this.theme), leftClass)}>\n {leftHelper}\n {rightHelper}\n </span>\n )}\n </span>\n );\n }\n\n private getValue = (props: InternalMaskedInputProps): string => {\n if (isNonNullable(props.value)) {\n return props.value.toString();\n }\n\n if (isNonNullable(props.defaultValue)) {\n return props.defaultValue.toString();\n }\n\n return '';\n };\n\n private refInput = (input: HTMLInputElement | null) => {\n this.input = input;\n };\n\n private refMaskedInput = (reactInputMask: ReactInputMask) => {\n this.reactInputMask = reactInputMask;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (event.target.value === this.state.value) {\n this.handleUnexpectedInput();\n } else {\n this.setState({ value: event.target.value, originValue: event.target.value });\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private preprocess = (\n newState: InputState,\n oldState: InputState,\n userInput: string,\n options: MaskOptions & Pick<InternalMaskedInputProps, 'mask'>,\n ) => {\n const visibleMaskChars = new Array(options.mask.length).fill(this.getProps().maskChar);\n\n if (newState.value !== oldState.value && userInput === null) {\n this.setState({\n value: newState.value,\n originValue: newState.value,\n });\n }\n\n options.mask.split('').forEach((char: string, index: number) => {\n if (options.permanents.includes(index)) {\n visibleMaskChars[index] = char;\n }\n\n if (newState.value[index]) {\n visibleMaskChars[index] = newState.value[index];\n }\n });\n\n const emptyValue = visibleMaskChars.join('');\n\n if (this.state.emptyValue !== emptyValue) {\n this.setState({\n emptyValue,\n });\n }\n\n return newState;\n };\n\n private isMaskVisible = () => this.props.alwaysShowMask || this.state.focused;\n\n private handleUnexpectedInput = () => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(this.state.value);\n }\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["InternalMaskedInput.styles.ts"],"names":["styles","container","css","inputMask","t","placeholderColor","inputMaskLeft"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,SADiC,uBACrB;AACV,eAAOC,YAAP;;;;;;AAMD,GARgC;AASjCC,EAAAA,SATiC,qBASvBC,CATuB,EASb;AAClB,eAAOF,YAAP;AACWE,IAAAA,CAAC,CAACC,gBADb;;;;;;AAOD,GAjBgC;AAkBjCC,EAAAA,aAlBiC,2BAkBjB;AACd,eAAOJ,YAAP;;;;;;AAMD,GAzBgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n container() {\n return css`\n display: inline-flex;\n position: relative;\n font-size: inherit;\n flex: 100% 1 1;\n `;\n },\n inputMask(t: Theme) {\n return css`\n color: ${t.placeholderColor};\n pointer-events: none;\n font-size: inherit;\n z-index: 5;\n user-select: none;\n `;\n },\n inputMaskLeft() {\n return css`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n `;\n },\n});\n"]}
@@ -0,0 +1 @@
1
+ export * from './InternalMaskedInput';
@@ -0,0 +1 @@
1
+ "use strict";exports.__esModule = true;var _InternalMaskedInput = require("./InternalMaskedInput");Object.keys(_InternalMaskedInput).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _InternalMaskedInput[key]) return;exports[key] = _InternalMaskedInput[key];});
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './InternalMaskedInput';\n"]}
@@ -37,6 +37,7 @@ declare type DefaultProps = Required<Pick<InternalMenuProps, 'width' | 'maxHeigh
37
37
  */
38
38
  export declare class InternalMenu extends React.PureComponent<InternalMenuProps, MenuState> {
39
39
  static __KONTUR_REACT_UI__: string;
40
+ static displayName: string;
40
41
  static defaultProps: DefaultProps;
41
42
  private getProps;
42
43
  state: MenuState;
@@ -1,7 +1,7 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.InternalMenuDataTids = exports.InternalMenu = void 0;var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
+ var _globalObject = require("@skbkontur/global-object");
2
3
 
3
4
  var _decorator = require("../../components/ResponsiveLayout/decorator");
4
- var _SSRSafe = require("../../lib/SSRSafe");
5
5
  var _utils = require("../../lib/utils");
6
6
  var _identifiers = require("../../lib/events/keyboard/identifiers");
7
7
  var _ScrollContainer = require("../../components/ScrollContainer");
@@ -15,6 +15,7 @@ var _rootNode2 = require("../../lib/rootNode");
15
15
  var _getDOMRect = require("../../lib/dom/getDOMRect");
16
16
  var _MenuSeparator = require("../../components/MenuSeparator");
17
17
  var _ThemeFactory = require("../../lib/theming/ThemeFactory");
18
+ var _isInstanceOf = require("../../lib/isInstanceOf");
18
19
 
19
20
  var _InternalMenu = require("./InternalMenu.styles");
20
21
  var _isActiveElement = require("./isActiveElement");
@@ -81,6 +82,7 @@ InternalMenu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode
81
82
 
82
83
 
83
84
 
85
+
84
86
  getProps = (0, _createPropsGetter.createPropsGetter)(InternalMenu.defaultProps);_this.
85
87
 
86
88
  state = {
@@ -250,7 +252,7 @@ InternalMenu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode
250
252
 
251
253
  focusOnRootElement = function () {
252
254
  var rootNode = (0, _rootNode2.getRootNode)((0, _assertThisInitialized2.default)(_this));
253
- if ((0, _SSRSafe.isHTMLElement)(rootNode)) {
255
+ if ((0, _isInstanceOf.isInstanceOf)(rootNode, _globalObject.globalObject.HTMLElement)) {
254
256
  rootNode == null ? void 0 : rootNode.focus();
255
257
  }
256
258
  };_this.
@@ -276,8 +278,8 @@ InternalMenu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode
276
278
  var parsedMaxHeight = maxHeight;
277
279
  var rootNode = (0, _rootNode2.getRootNode)((0, _assertThisInitialized2.default)(_this));
278
280
 
279
- if (typeof maxHeight === 'string' && typeof window !== 'undefined' && rootNode) {
280
- var rootElementMaxHeight = window.getComputedStyle(rootNode).maxHeight;
281
+ if (typeof maxHeight === 'string' && typeof _globalObject.globalObject !== 'undefined' && rootNode) {
282
+ var rootElementMaxHeight = _globalObject.globalObject.getComputedStyle == null ? void 0 : _globalObject.globalObject.getComputedStyle(rootNode).maxHeight;
281
283
 
282
284
  if (rootElementMaxHeight) {
283
285
  parsedMaxHeight = parseFloat(rootElementMaxHeight);
@@ -328,7 +330,7 @@ InternalMenu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode
328
330
  if (_this.scrollContainer && _this.highlighted) {
329
331
  var _rootNode = (0, _rootNode2.getRootNode)(_this.highlighted);
330
332
  // TODO: Remove this check once IF-647 is resolved
331
- if (_rootNode instanceof HTMLElement) {
333
+ if ((0, _isInstanceOf.isInstanceOf)(_rootNode, _globalObject.globalObject.HTMLElement)) {
332
334
  _this.scrollContainer.scrollTo(_rootNode);
333
335
  }
334
336
  }
@@ -360,7 +362,7 @@ InternalMenu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode
360
362
  _this.setState({ highlightedIndex: index });
361
363
 
362
364
  var rootNode = (0, _rootNode2.getRootNode)((0, _assertThisInitialized2.default)(_this));
363
- if ((0, _SSRSafe.isHTMLElement)(rootNode)) {
365
+ if ((0, _isInstanceOf.isInstanceOf)(rootNode, _globalObject.globalObject.HTMLElement)) {
364
366
  rootNode == null ? void 0 : rootNode.focus();
365
367
  }
366
368
  };_this.
@@ -437,7 +439,7 @@ InternalMenu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode
437
439
  _this.setState({ scrollState: scrollState });
438
440
  }
439
441
  };return _this;}var _proto = InternalMenu.prototype;_proto.componentDidMount = function componentDidMount() {this.setInitialSelection();this.calculateMaxHeight();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.shouldRecalculateMaxHeight(prevProps)) {this.calculateMaxHeight();}if (prevProps.maxHeight !== this.getProps().maxHeight) {this.setState({ maxHeight: this.props.maxHeight || 'none' });}};_proto.focus = function focus() {this.focusOnRootElement();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx3,_this3 = this;var enableIconPadding = (0, _isIconPaddingEnabled.isIconPaddingEnabled)(this.props.children, this.props.preventIconsOffset);if (this.isEmpty()) {return null;}var _this$getProps = this.getProps(),hasShadow = _this$getProps.hasShadow,width = _this$getProps.width,maxHeight = _this$getProps.maxHeight,preventWindowScroll = _this$getProps.preventWindowScroll;var isMobile = this.isMobileLayout;return /*#__PURE__*/_react.default.createElement("div", { "data-tid": InternalMenuDataTids.root, className: (0, _Emotion.cx)((_cx3 = {}, _cx3[_InternalMenu.styles.root(this.theme)] = true, _cx3[_InternalMenu.styles.mobileRoot(this.theme)] = isMobile, _cx3[_InternalMenu.styles.shadow(this.theme)] = hasShadow, _cx3)), style: { width: width, maxHeight: this.state.maxHeight }, onKeyDown: this.handleKeyDown, ref: this.setRootNode, tabIndex: 0 }, this.props.header ? this.renderHeader() : null, /*#__PURE__*/_react.default.createElement(_ScrollContainer.ScrollContainer, { ref: this.refScrollContainer, maxHeight: maxHeight, preventWindowScroll: preventWindowScroll, onScrollStateChange: this.handleScrollStateChange }, _react.default.Children.map(this.props.children, function (child, index) {if (typeof child === 'string' || typeof child === 'number' || (0, _utils.isNullable)(child)) {return child;}if ( /*#__PURE__*/_react.default.isValidElement(child) && typeof child.type === 'string') {return child;}var modifiedChild = (0, _addIconPaddingIfPartOfMenu.addIconPaddingIfPartOfMenu)(child, enableIconPadding);if ((0, _isActiveElement.isActiveElement)(modifiedChild)) {var highlight = _this3.state.highlightedIndex === index;var ref = modifiedChild.ref;var originalRef = ref;if (highlight) {ref = function ref(menuItem) {return _this3.refHighlighted(originalRef, menuItem);};}return /*#__PURE__*/_react.default.cloneElement(modifiedChild, { ref: ref, state: highlight ? 'hover' : modifiedChild.props.state, onClick: _this3.select.bind(_this3, index, false), onMouseEnter: function onMouseEnter(event) {_this3.highlightItem(index);if ((0, _MenuItem.isMenuItem)(modifiedChild) && modifiedChild.props.onMouseEnter) {modifiedChild.props.onMouseEnter(event);}}, onMouseLeave: function onMouseLeave(event) {_this3.unhighlight();if ((0, _MenuItem.isMenuItem)(modifiedChild) && modifiedChild.props.onMouseLeave) {modifiedChild.props.onMouseLeave(event);}} });}return modifiedChild;})), this.props.footer ? this.renderFooter() : null);};_proto.refHighlighted = function refHighlighted(originalRef, menuItem) {this.highlighted = menuItem;if (!originalRef || typeof originalRef === 'string') {return;}if (typeof originalRef === 'function') {originalRef(menuItem);} else if (typeof originalRef === 'object') {// @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.
440
- originalRef.current = menuItem;}};_proto.select = function select(index, shouldHandleHref, event) {var item = childrenToArray(this.props.children)[index];if ((0, _isActiveElement.isActiveElement)(item)) {if (shouldHandleHref && item.props.href) {if (item.props.target) {window.open(item.props.href, item.props.target);} else {location.href = item.props.href;}}if (item.props.onClick) {item.props.onClick(event);}if (this.props.onItemClick) {this.props.onItemClick(event);}return true;}return false;};_proto.move = function move(step) {var _this4 = this;this.setState(function (state, props) {var children = childrenToArray(props.children);if (!children.some(_isActiveElement.isActiveElement)) {return null;}var index = state.highlightedIndex;do {index += step;if (!_this4.getProps().cyclicSelection && (index < 0 || index > children.length)) {return null;}if (index < 0) {index = children.length - 1;} else if (index > children.length) {index = 0;}var child = children[index];if ((0, _isActiveElement.isActiveElement)(child)) {return { highlightedIndex: index };}} while (index !== state.highlightedIndex);return null;}, this.scrollToSelected);};_proto.isEmpty = function isEmpty() {var children = this.props.children;return !children || !childrenToArray(children).filter(_utils.isNonNullable).length;};return InternalMenu;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'InternalMenu', _class2.defaultProps = { width: 'auto', maxHeight: 300, hasShadow: true, preventWindowScroll: true, cyclicSelection: true, initialSelectedItemIndex: -1 }, _temp)) || _class) || _class;exports.InternalMenu = InternalMenu;
442
+ originalRef.current = menuItem;}};_proto.select = function select(index, shouldHandleHref, event) {var item = childrenToArray(this.props.children)[index];if ((0, _isActiveElement.isActiveElement)(item) && (0, _globalObject.isBrowser)(_globalObject.globalObject)) {if (shouldHandleHref && item.props.href) {if (item.props.target) {_globalObject.globalObject.open(item.props.href, item.props.target);} else {_globalObject.globalObject.location.href = item.props.href;}}if (item.props.onClick) {item.props.onClick(event);}if (this.props.onItemClick) {this.props.onItemClick(event);}return true;}return false;};_proto.move = function move(step) {var _this4 = this;this.setState(function (state, props) {var children = childrenToArray(props.children);if (!children.some(_isActiveElement.isActiveElement)) {return null;}var index = state.highlightedIndex;do {index += step;if (!_this4.getProps().cyclicSelection && (index < 0 || index > children.length)) {return null;}if (index < 0) {index = children.length - 1;} else if (index > children.length) {index = 0;}var child = children[index];if ((0, _isActiveElement.isActiveElement)(child)) {return { highlightedIndex: index };}} while (index !== state.highlightedIndex);return null;}, this.scrollToSelected);};_proto.isEmpty = function isEmpty() {var children = this.props.children;return !children || !childrenToArray(children).filter(_utils.isNonNullable).length;};return InternalMenu;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'InternalMenu', _class2.displayName = 'InternalMenu', _class2.defaultProps = { width: 'auto', maxHeight: 300, hasShadow: true, preventWindowScroll: true, cyclicSelection: true, initialSelectedItemIndex: -1 }, _temp)) || _class) || _class;exports.InternalMenu = InternalMenu;
441
443
 
442
444
  function childrenToArray(children) {
443
445
  var ret = [];
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalMenu.tsx"],"names":["InternalMenuDataTids","root","InternalMenu","responsiveLayout","rootNode","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","renderHeader","styles","wrapper","headerWrapper","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","footerWrapper","footer","ThemeFactory","create","menuSeparatorMarginY","focusOnRootElement","focus","shouldRecalculateMaxHeight","prevProps","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","React","Children","count","calculateMaxHeight","parsedMaxHeight","window","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","setInitialSelection","i","initialSelectedItemIndex","moveDown","refScrollContainer","scrollContainer","scrollToSelected","highlighted","HTMLElement","scrollTo","highlightItem","index","unhighlight","moveUp","move","handleKeyDown","e","onKeyDown","defaultPrevented","preventDefault","onClick","handleScrollStateChange","componentDidMount","componentDidUpdate","render","renderMain","enableIconPadding","preventIconsOffset","isEmpty","hasShadow","width","preventWindowScroll","isMobile","isMobileLayout","mobileRoot","shadow","setRootNode","map","child","isValidElement","type","modifiedChild","highlight","ref","originalRef","menuItem","refHighlighted","cloneElement","select","bind","onMouseEnter","event","onMouseLeave","current","shouldHandleHref","item","childrenToArray","href","target","open","location","onItemClick","step","some","isActiveElement","cyclicSelection","length","filter","isNonNullable","PureComponent","__KONTUR_REACT_UI__","ret","forEach","push"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isHTMLElement } from '../../lib/SSRSafe';\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { isMenuItem, MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\n\nimport { styles } from './InternalMenu.styles';\nimport { isActiveElement } from './isActiveElement';\nimport { addIconPaddingIfPartOfMenu } from './addIconPaddingIfPartOfMenu';\nimport { isIconPaddingEnabled } from './isIconPaddingEnabled';\n\nexport interface InternalMenuProps {\n children?: React.ReactNode;\n hasShadow?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Циклический перебор айтемов меню (по-дефолтну включен)\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\ninterface MenuState {\n highlightedIndex: number;\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n}\n\nexport const InternalMenuDataTids = {\n root: 'InternalMenu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n InternalMenuProps,\n 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll' | 'cyclicSelection' | 'initialSelectedItemIndex'\n >\n>;\n/**\n * @deprecated use Menu component instead\n */\n@responsiveLayout\n@rootNode\nexport class InternalMenu extends React.PureComponent<InternalMenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'InternalMenu';\n\n public static defaultProps: DefaultProps = {\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(InternalMenu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n }\n\n public componentDidUpdate(prevProps: InternalMenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\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 enableIconPadding = isIconPaddingEnabled(this.props.children, this.props.preventIconsOffset);\n\n if (this.isEmpty()) {\n return null;\n }\n const { hasShadow, width, maxHeight, preventWindowScroll } = this.getProps();\n const isMobile = this.isMobileLayout;\n return (\n <div\n data-tid={InternalMenuDataTids.root}\n className={cx({\n [styles.root(this.theme)]: true,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: hasShadow,\n })}\n style={{\n width,\n maxHeight: this.state.maxHeight,\n }}\n onKeyDown={this.handleKeyDown}\n ref={this.setRootNode}\n tabIndex={0}\n >\n {this.props.header ? this.renderHeader() : null}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n >\n {React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || isNullable(child)) {\n return child;\n }\n if (React.isValidElement(child) && typeof child.type === 'string') {\n return child;\n }\n\n const modifiedChild = addIconPaddingIfPartOfMenu(child, enableIconPadding);\n\n if (isActiveElement(modifiedChild)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = modifiedChild.ref;\n const originalRef = ref;\n if (highlight) {\n ref = (menuItem) => this.refHighlighted(originalRef, menuItem);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(modifiedChild, {\n ref,\n state: highlight ? 'hover' : modifiedChild.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: (event) => {\n this.highlightItem(index);\n if (isMenuItem(modifiedChild) && modifiedChild.props.onMouseEnter) {\n modifiedChild.props.onMouseEnter(event);\n }\n },\n onMouseLeave: (event) => {\n this.unhighlight();\n if (isMenuItem(modifiedChild) && modifiedChild.props.onMouseLeave) {\n modifiedChild.props.onMouseLeave(event);\n }\n },\n });\n }\n\n return modifiedChild;\n })}\n </ScrollContainer>\n {this.props.footer ? this.renderFooter() : null}\n </div>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isHTMLElement(rootNode)) {\n rootNode?.focus();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: InternalMenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && typeof window !== 'undefined' && rootNode) {\n const rootElementMaxHeight = window.getComputedStyle(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.moveDown();\n }\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: string | ((instance: MenuItem | null) => void) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (!originalRef || typeof originalRef === 'string') {\n return;\n }\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n } else if (typeof originalRef === 'object') {\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n originalRef.current = menuItem;\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n const rootNode = getRootNode(this.highlighted);\n // TODO: Remove this check once IF-647 is resolved\n if (rootNode instanceof HTMLElement) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event as React.MouseEvent<HTMLElement>);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlightItem = (index: number): void => {\n this.setState({ highlightedIndex: index });\n\n const rootNode = getRootNode(this);\n if (isHTMLElement(rootNode)) {\n rootNode?.focus();\n }\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n this.setState((state, props) => {\n const children = childrenToArray(props.children);\n if (!children.some(isActiveElement)) {\n return null;\n }\n let index = state.highlightedIndex;\n do {\n index += step;\n if (!this.getProps().cyclicSelection && (index < 0 || index > children.length)) {\n return null;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n return { highlightedIndex: index };\n }\n } while (index !== state.highlightedIndex);\n return null;\n }, this.scrollToSelected);\n }\n\n private moveUp = () => {\n this.move(-1);\n };\n\n private moveDown = () => {\n this.move(1);\n };\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(e);\n }\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(e)) {\n e.preventDefault();\n this.moveUp();\n } else if (isKeyArrowDown(e)) {\n e.preventDefault();\n this.moveDown();\n } else if (isKeyEnter(e)) {\n if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(e);\n }\n }\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n"]}
1
+ {"version":3,"sources":["InternalMenu.tsx"],"names":["InternalMenuDataTids","root","InternalMenu","responsiveLayout","rootNode","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","renderHeader","styles","wrapper","headerWrapper","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","footerWrapper","footer","ThemeFactory","create","menuSeparatorMarginY","focusOnRootElement","globalObject","HTMLElement","focus","shouldRecalculateMaxHeight","prevProps","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","React","Children","count","calculateMaxHeight","parsedMaxHeight","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","setInitialSelection","i","initialSelectedItemIndex","moveDown","refScrollContainer","scrollContainer","scrollToSelected","highlighted","scrollTo","highlightItem","index","unhighlight","moveUp","move","handleKeyDown","e","onKeyDown","defaultPrevented","preventDefault","onClick","handleScrollStateChange","componentDidMount","componentDidUpdate","render","renderMain","enableIconPadding","preventIconsOffset","isEmpty","hasShadow","width","preventWindowScroll","isMobile","isMobileLayout","mobileRoot","shadow","setRootNode","map","child","isValidElement","type","modifiedChild","highlight","ref","originalRef","menuItem","refHighlighted","cloneElement","select","bind","onMouseEnter","event","onMouseLeave","current","shouldHandleHref","item","childrenToArray","href","target","open","location","onItemClick","step","some","isActiveElement","cyclicSelection","length","filter","isNonNullable","PureComponent","__KONTUR_REACT_UI__","displayName","ret","forEach","push"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { isMenuItem, MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { styles } from './InternalMenu.styles';\nimport { isActiveElement } from './isActiveElement';\nimport { addIconPaddingIfPartOfMenu } from './addIconPaddingIfPartOfMenu';\nimport { isIconPaddingEnabled } from './isIconPaddingEnabled';\n\nexport interface InternalMenuProps {\n children?: React.ReactNode;\n hasShadow?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Циклический перебор айтемов меню (по-дефолтну включен)\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\ninterface MenuState {\n highlightedIndex: number;\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n}\n\nexport const InternalMenuDataTids = {\n root: 'InternalMenu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n InternalMenuProps,\n 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll' | 'cyclicSelection' | 'initialSelectedItemIndex'\n >\n>;\n/**\n * @deprecated use Menu component instead\n */\n@responsiveLayout\n@rootNode\nexport class InternalMenu extends React.PureComponent<InternalMenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'InternalMenu';\n public static displayName = 'InternalMenu';\n\n public static defaultProps: DefaultProps = {\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(InternalMenu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n }\n\n public componentDidUpdate(prevProps: InternalMenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\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 enableIconPadding = isIconPaddingEnabled(this.props.children, this.props.preventIconsOffset);\n\n if (this.isEmpty()) {\n return null;\n }\n const { hasShadow, width, maxHeight, preventWindowScroll } = this.getProps();\n const isMobile = this.isMobileLayout;\n return (\n <div\n data-tid={InternalMenuDataTids.root}\n className={cx({\n [styles.root(this.theme)]: true,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: hasShadow,\n })}\n style={{\n width,\n maxHeight: this.state.maxHeight,\n }}\n onKeyDown={this.handleKeyDown}\n ref={this.setRootNode}\n tabIndex={0}\n >\n {this.props.header ? this.renderHeader() : null}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n >\n {React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || isNullable(child)) {\n return child;\n }\n if (React.isValidElement(child) && typeof child.type === 'string') {\n return child;\n }\n\n const modifiedChild = addIconPaddingIfPartOfMenu(child, enableIconPadding);\n\n if (isActiveElement(modifiedChild)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = modifiedChild.ref;\n const originalRef = ref;\n if (highlight) {\n ref = (menuItem) => this.refHighlighted(originalRef, menuItem);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(modifiedChild, {\n ref,\n state: highlight ? 'hover' : modifiedChild.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: (event) => {\n this.highlightItem(index);\n if (isMenuItem(modifiedChild) && modifiedChild.props.onMouseEnter) {\n modifiedChild.props.onMouseEnter(event);\n }\n },\n onMouseLeave: (event) => {\n this.unhighlight();\n if (isMenuItem(modifiedChild) && modifiedChild.props.onMouseLeave) {\n modifiedChild.props.onMouseLeave(event);\n }\n },\n });\n }\n\n return modifiedChild;\n })}\n </ScrollContainer>\n {this.props.footer ? this.renderFooter() : null}\n </div>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n rootNode?.focus();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: InternalMenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && typeof globalObject !== 'undefined' && rootNode) {\n const rootElementMaxHeight = globalObject.getComputedStyle?.(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.moveDown();\n }\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: string | ((instance: MenuItem | null) => void) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (!originalRef || typeof originalRef === 'string') {\n return;\n }\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n } else if (typeof originalRef === 'object') {\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n originalRef.current = menuItem;\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n const rootNode = getRootNode(this.highlighted);\n // TODO: Remove this check once IF-647 is resolved\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n\n if (isActiveElement(item) && isBrowser(globalObject)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n globalObject.open(item.props.href, item.props.target);\n } else {\n globalObject.location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event as React.MouseEvent<HTMLElement>);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlightItem = (index: number): void => {\n this.setState({ highlightedIndex: index });\n\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n rootNode?.focus();\n }\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n this.setState((state, props) => {\n const children = childrenToArray(props.children);\n if (!children.some(isActiveElement)) {\n return null;\n }\n let index = state.highlightedIndex;\n do {\n index += step;\n if (!this.getProps().cyclicSelection && (index < 0 || index > children.length)) {\n return null;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n return { highlightedIndex: index };\n }\n } while (index !== state.highlightedIndex);\n return null;\n }, this.scrollToSelected);\n }\n\n private moveUp = () => {\n this.move(-1);\n };\n\n private moveDown = () => {\n this.move(1);\n };\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(e);\n }\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(e)) {\n e.preventDefault();\n this.moveUp();\n } else if (isKeyArrowDown(e)) {\n e.preventDefault();\n this.moveDown();\n } else if (isKeyEnter(e)) {\n if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(e);\n }\n }\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import { InputElement, InputElementProps } from '../../components/Input';
2
+ export interface MaskedInputElementProps extends InputElementProps {
3
+ mask: string;
4
+ maskChar?: string | null;
5
+ formatChars?: {
6
+ [key: string]: string;
7
+ };
8
+ alwaysShowMask?: boolean;
9
+ onUnexpectedInput: (value: string) => void;
10
+ }
11
+ export declare const MaskedInputElementDataTids: {
12
+ readonly root: "MaskedInput__root";
13
+ };
14
+ export declare const MaskedInputElement: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<InputElement, MaskedInputElementProps> & Record<never, never>;
@@ -0,0 +1,16 @@
1
+ export declare const DEFAULT_MASK_CHAR = "_";
2
+ export declare const DEFINITIONS: {
3
+ '9': RegExp;
4
+ a: RegExp;
5
+ '*': RegExp;
6
+ };
7
+ export declare function getDefinitions(formatChars: Record<string, string> | undefined): Record<string, RegExp>;
8
+ export declare function getMaskChar(maskChar: string | null | undefined): string;
9
+ interface MaskedInputValues {
10
+ originValue: string;
11
+ value: string;
12
+ emptyValue: string;
13
+ }
14
+ export declare function getFocusPrefix(emptyValue: string, maskChar: string | null | undefined): string;
15
+ export declare function getCurrentValue(values: MaskedInputValues, focused: boolean, maskChar: string | null | undefined): [currentValue: string, left: string, right: string];
16
+ export {};
@@ -0,0 +1,52 @@
1
+ "use strict";exports.__esModule = true;exports.DEFINITIONS = exports.DEFAULT_MASK_CHAR = void 0;exports.getCurrentValue = getCurrentValue;exports.getDefinitions = getDefinitions;exports.getFocusPrefix = getFocusPrefix;exports.getMaskChar = getMaskChar;var _utils = require("../../lib/utils");
2
+
3
+ var DEFAULT_MASK_CHAR = '_';exports.DEFAULT_MASK_CHAR = DEFAULT_MASK_CHAR;
4
+ var DEFINITIONS = { '9': /[0-9]/, a: /[A-Za-z]/, '*': /[A-Za-z0-9]/ };exports.DEFINITIONS = DEFINITIONS;
5
+
6
+ function getDefinitions(formatChars) {
7
+ if ((0, _utils.isNonNullable)(formatChars)) {
8
+ var chars = {};
9
+
10
+ for (var key in formatChars) {
11
+ chars[key] = new RegExp(formatChars[key]);
12
+ }
13
+
14
+ return chars;
15
+ }
16
+
17
+ return DEFINITIONS;
18
+ }
19
+
20
+ function getMaskChar(maskChar) {
21
+ if (maskChar === null) {
22
+ return '';
23
+ }
24
+
25
+ return maskChar === undefined ? DEFAULT_MASK_CHAR : maskChar;
26
+ }
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+ function getFocusPrefix(emptyValue, maskChar) {
36
+ return emptyValue.slice(0, emptyValue.indexOf(getMaskChar(maskChar)));
37
+ }
38
+
39
+ function getCurrentValue(
40
+ values,
41
+ focused,
42
+ maskChar)
43
+ {
44
+ var emptyValue = values.emptyValue,value = values.value,originValue = values.originValue;
45
+
46
+ if (focused && originValue.length === 0 && emptyValue.length > 0) {
47
+ var _currentValue = getFocusPrefix(emptyValue, maskChar);
48
+ return [_currentValue, _currentValue, emptyValue.slice(_currentValue.length)];
49
+ }
50
+
51
+ return [value, originValue, emptyValue.slice(originValue.length)];
52
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["MaskedInputElement.helpers.ts"],"names":["DEFAULT_MASK_CHAR","DEFINITIONS","a","getDefinitions","formatChars","chars","key","RegExp","getMaskChar","maskChar","undefined","getFocusPrefix","emptyValue","slice","indexOf","getCurrentValue","values","focused","value","originValue","length","currentValue"],"mappings":"4PAAA;;AAEO,IAAMA,iBAAiB,GAAG,GAA1B,C;AACA,IAAMC,WAAW,GAAG,EAAE,KAAK,OAAP,EAAgBC,CAAC,EAAE,UAAnB,EAA+B,KAAK,aAApC,EAApB,C;;AAEA,SAASC,cAAT,CAAwBC,WAAxB,EAAiG;AACtG,MAAI,0BAAcA,WAAd,CAAJ,EAAgC;AAC9B,QAAMC,KAA6B,GAAG,EAAtC;;AAEA,SAAK,IAAMC,GAAX,IAAkBF,WAAlB,EAA+B;AAC7BC,MAAAA,KAAK,CAACC,GAAD,CAAL,GAAa,IAAIC,MAAJ,CAAWH,WAAW,CAACE,GAAD,CAAtB,CAAb;AACD;;AAED,WAAOD,KAAP;AACD;;AAED,SAAOJ,WAAP;AACD;;AAEM,SAASO,WAAT,CAAqBC,QAArB,EAAkE;AACvE,MAAIA,QAAQ,KAAK,IAAjB,EAAuB;AACrB,WAAO,EAAP;AACD;;AAED,SAAOA,QAAQ,KAAKC,SAAb,GAAyBV,iBAAzB,GAA6CS,QAApD;AACD;;;;;;;;;AASM,SAASE,cAAT,CAAwBC,UAAxB,EAA4CH,QAA5C,EAAyF;AAC9F,SAAOG,UAAU,CAACC,KAAX,CAAiB,CAAjB,EAAoBD,UAAU,CAACE,OAAX,CAAmBN,WAAW,CAACC,QAAD,CAA9B,CAApB,CAAP;AACD;;AAEM,SAASM,eAAT;AACLC,MADK;AAELC,OAFK;AAGLR,QAHK;AAIgD;AACrD,MAAQG,UAAR,GAA2CI,MAA3C,CAAQJ,UAAR,CAAoBM,KAApB,GAA2CF,MAA3C,CAAoBE,KAApB,CAA2BC,WAA3B,GAA2CH,MAA3C,CAA2BG,WAA3B;;AAEA,MAAIF,OAAO,IAAIE,WAAW,CAACC,MAAZ,KAAuB,CAAlC,IAAuCR,UAAU,CAACQ,MAAX,GAAoB,CAA/D,EAAkE;AAChE,QAAMC,aAAY,GAAGV,cAAc,CAACC,UAAD,EAAaH,QAAb,CAAnC;AACA,WAAO,CAACY,aAAD,EAAeA,aAAf,EAA6BT,UAAU,CAACC,KAAX,CAAiBQ,aAAY,CAACD,MAA9B,CAA7B,CAAP;AACD;;AAED,SAAO,CAACF,KAAD,EAAQC,WAAR,EAAqBP,UAAU,CAACC,KAAX,CAAiBM,WAAW,CAACC,MAA7B,CAArB,CAAP;AACD","sourcesContent":["import { isNonNullable } from '../../lib/utils';\n\nexport const DEFAULT_MASK_CHAR = '_';\nexport const DEFINITIONS = { '9': /[0-9]/, a: /[A-Za-z]/, '*': /[A-Za-z0-9]/ };\n\nexport function getDefinitions(formatChars: Record<string, string> | undefined): Record<string, RegExp> {\n if (isNonNullable(formatChars)) {\n const chars: Record<string, RegExp> = {};\n\n for (const key in formatChars) {\n chars[key] = new RegExp(formatChars[key]);\n }\n\n return chars;\n }\n\n return DEFINITIONS;\n}\n\nexport function getMaskChar(maskChar: string | null | undefined): string {\n if (maskChar === null) {\n return '';\n }\n\n return maskChar === undefined ? DEFAULT_MASK_CHAR : maskChar;\n}\n\ninterface MaskedInputValues {\n // Users can unmask value themselves. In these cases we take origin value length\n originValue: string;\n value: string;\n emptyValue: string;\n}\n\nexport function getFocusPrefix(emptyValue: string, maskChar: string | null | undefined): string {\n return emptyValue.slice(0, emptyValue.indexOf(getMaskChar(maskChar)));\n}\n\nexport function getCurrentValue(\n values: MaskedInputValues,\n focused: boolean,\n maskChar: string | null | undefined,\n): [currentValue: string, left: string, right: string] {\n const { emptyValue, value, originValue } = values;\n\n if (focused && originValue.length === 0 && emptyValue.length > 0) {\n const currentValue = getFocusPrefix(emptyValue, maskChar);\n return [currentValue, currentValue, emptyValue.slice(currentValue.length)];\n }\n\n return [value, originValue, emptyValue.slice(originValue.length)];\n}\n"]}
@@ -0,0 +1,196 @@
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.MaskedInputElementDataTids = exports.MaskedInputElement = void 0;var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _react = _interopRequireWildcard(require("react"));
2
+ var _reactImask = require("react-imask");
3
+
4
+ var _ThemeContext = require("../../lib/theming/ThemeContext");
5
+ var _MaskCharLowLine = require("../MaskCharLowLine");
6
+ var _Emotion = require("../../lib/theming/Emotion");
7
+
8
+ var _forwardRefAndName = require("../../lib/forwardRefAndName");
9
+
10
+ var _MaskedInputElement = require("./MaskedInputElement.styles");
11
+ var _MaskedInputElement2 = require("./MaskedInputElement.helpers");var _excluded = ["mask", "maskChar", "formatChars", "alwaysShowMask", "maxLength", "onUnexpectedInput", "defaultValue", "style"];function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+ var MaskedInputElementDataTids = {
22
+ root: 'MaskedInput__root' };exports.MaskedInputElementDataTids = MaskedInputElementDataTids;
23
+
24
+
25
+ var MaskedInputElement = (0, _forwardRefAndName.forwardRefAndName)(
26
+ 'MaskedInputElement',
27
+ function MaskedInputElement(props, ref) {
28
+ var _useState = (0, _react.useState)(function () {
29
+ var value = getValue(props);
30
+ return { value: value, originValue: value };
31
+ }),values = _useState[0],setValues = _useState[1];
32
+ var value = values.value,originValue = values.originValue;
33
+
34
+ var _useState2 = (0, _react.useState)(''),emptyValue = _useState2[0],setEmptyValue = _useState2[1];
35
+ var _useState3 = (0, _react.useState)(false),focused = _useState3[0],setFocused = _useState3[1];
36
+ var inputRef = (0, _react.useRef)(null);
37
+ var rootNodeRef = _react.default.useRef(null);
38
+ var theme = (0, _react.useContext)(_ThemeContext.ThemeContext);
39
+ var expectedChangesRef = (0, _react.useRef)(false);
40
+ var isFirstRender = (0, _react.useRef)(true);
41
+
42
+ (0, _react.useImperativeHandle)(
43
+ ref,
44
+ function () {return {
45
+ input: inputRef.current,
46
+ getRootNode: function getRootNode() {return rootNodeRef.current;} };},
47
+
48
+ []);
49
+
50
+
51
+ (0, _react.useEffect)(function () {
52
+ setEmptyValue(getEmptyValue(props.mask, props.maskChar, props.formatChars));
53
+ }, [props.mask, props.maskChar]);
54
+
55
+ (0, _react.useEffect)(function () {
56
+ if (isFirstRender.current) {
57
+ return;
58
+ }
59
+
60
+ var value = props.value ? props.value.toString() : '';
61
+ setValues(function (values) {return (0, _extends2.default)({}, values, { value: value });});
62
+ }, [props.value]);
63
+
64
+ (0, _react.useEffect)(function () {
65
+ isFirstRender.current = false;
66
+ }, []);
67
+
68
+ var
69
+ mask =
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+ props.mask,maskChar = props.maskChar,formatChars = props.formatChars,alwaysShowMask = props.alwaysShowMask,maxLength = props.maxLength,onUnexpectedInput = props.onUnexpectedInput,defaultValue = props.defaultValue,style = props.style,inputProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
79
+
80
+ var leftClass = (style == null ? void 0 : style.textAlign) !== 'right' && _MaskedInputElement.styles.inputMaskLeft();
81
+ var _getCurrentValue = (0, _MaskedInputElement2.getCurrentValue)({ value: value, originValue: originValue, emptyValue: emptyValue }, focused, maskChar),currentValue = _getCurrentValue[0],left = _getCurrentValue[1],right = _getCurrentValue[2];
82
+
83
+ /* В rightHelper не DEFAULT_MASK_CHAR, а специальная логика для обработки подчркивания('_').
84
+ * Не менять на DEFAULT_MASK_CHAR
85
+ */
86
+ var rightHelper = right.split('').map(function (_char, i) {return _char === '_' ? /*#__PURE__*/_react.default.createElement(_MaskCharLowLine.MaskCharLowLine, { key: i }) : _char;});
87
+ var leftHelper = (style == null ? void 0 : style.textAlign) !== 'right' && /*#__PURE__*/_react.default.createElement("span", { style: { color: 'transparent' } }, left);
88
+ var isMaskVisible = alwaysShowMask || focused;
89
+
90
+ return /*#__PURE__*/(
91
+ _react.default.createElement("span", {
92
+ "data-tid": MaskedInputElementDataTids.root,
93
+ ref: rootNodeRef,
94
+ className: _MaskedInputElement.styles.container(),
95
+ "x-ms-format-detection": "none" }, /*#__PURE__*/
96
+
97
+ _react.default.createElement(_reactImask.IMaskInput, (0, _extends2.default)({},
98
+ inputProps, {
99
+ mask: mask,
100
+ definitions: (0, _MaskedInputElement2.getDefinitions)(formatChars),
101
+ eager: true,
102
+ overwrite: 'shift',
103
+ onAccept: handleAccept,
104
+ onInput: handleInput,
105
+ onFocus: handleFocus,
106
+ onBlur: handleBlur,
107
+ value: currentValue,
108
+ inputRef: inputRef,
109
+ style: (0, _extends2.default)({}, style) })),
110
+
111
+ isMaskVisible && /*#__PURE__*/
112
+ _react.default.createElement("span", { className: (0, _Emotion.cx)(_MaskedInputElement.styles.inputMask(theme), leftClass) },
113
+ leftHelper,
114
+ rightHelper)));
115
+
116
+
117
+
118
+
119
+
120
+ function getValue(props) {var _ref, _props$value;
121
+ return ((_ref = (_props$value = props.value) != null ? _props$value : props.defaultValue) != null ? _ref : '').toString();
122
+ }
123
+
124
+ /** В imask вызывается только когда значение с маской меняется*/
125
+ function handleAccept(value) {
126
+ expectedChangesRef.current = true;
127
+ // Если разделить на 2 setState - между первым и вторым происходит рендер и иногда символы "съедаются"
128
+ setValues({ value: value, originValue: value });
129
+
130
+ setTimeout(function () {
131
+ /** При вводе с клавиатуры срабатывает handleAccept, за ним handleInput
132
+ * expectedChanges - нужен чтобы сообщить из handleAccept в handleInput, что значение с маской изменилось.
133
+ * Если маска не изменилась и сработал handleInput, вызываем handleUnexpectedInput. Ввели значение не по маске.
134
+ * setTimeout нужен чтобы сбросить expectedChanges, например, если изменилось значение в пропах.
135
+ * Маска изменится, вызовется handleAccept, но не handleInput
136
+ */
137
+ expectedChangesRef.current = false;
138
+ });
139
+ }
140
+
141
+ /** Отслеживаем неправильные нажатия,
142
+ * handleAccept не вызывается когда значение с маской не меняется, а handleInput вызывается
143
+ * Сначала вызывается handleAccept, затем handleInput
144
+ * */
145
+ function handleInput(e) {
146
+ var value = e.target.value;
147
+
148
+ if (!expectedChangesRef.current && value === originValue) {
149
+ handleUnexpectedInput();
150
+ }
151
+
152
+ expectedChangesRef.current = false;
153
+ }
154
+
155
+ function handleFocus(event) {
156
+ setFocused(true);
157
+
158
+ expectedChangesRef.current = false;
159
+
160
+ if (props.onFocus) {
161
+ props.onFocus(event);
162
+ }
163
+ }
164
+
165
+ function handleBlur(event) {
166
+ if (value === (0, _MaskedInputElement2.getFocusPrefix)(emptyValue, maskChar)) {
167
+ setValues({ value: '', originValue: '' });
168
+ }
169
+
170
+ setFocused(false);
171
+
172
+ if (props.onBlur) {
173
+ props.onBlur(event);
174
+ }
175
+ }
176
+
177
+ function handleUnexpectedInput() {
178
+ if (props.onUnexpectedInput) {
179
+ props.onUnexpectedInput(value);
180
+ }
181
+ }
182
+
183
+ function getEmptyValue(
184
+ mask,
185
+ maskChar,
186
+ formatChars)
187
+ {
188
+ var maskPattern = _reactImask.IMask.createMask({
189
+ mask: mask,
190
+ definitions: (0, _MaskedInputElement2.getDefinitions)(formatChars),
191
+ lazy: false,
192
+ placeholderChar: (0, _MaskedInputElement2.getMaskChar)(maskChar) });
193
+
194
+ return maskPattern.appendTail('').inserted;
195
+ }
196
+ });exports.MaskedInputElement = MaskedInputElement;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["MaskedInputElement.tsx"],"names":["MaskedInputElementDataTids","root","MaskedInputElement","props","ref","value","getValue","originValue","values","setValues","emptyValue","setEmptyValue","focused","setFocused","inputRef","rootNodeRef","React","useRef","theme","ThemeContext","expectedChangesRef","isFirstRender","input","current","getRootNode","getEmptyValue","mask","maskChar","formatChars","toString","alwaysShowMask","maxLength","onUnexpectedInput","defaultValue","style","inputProps","leftClass","textAlign","styles","inputMaskLeft","currentValue","left","right","rightHelper","split","map","_char","i","leftHelper","color","isMaskVisible","container","handleAccept","handleInput","handleFocus","handleBlur","inputMask","setTimeout","e","target","handleUnexpectedInput","event","onFocus","onBlur","maskPattern","IMask","createMask","definitions","lazy","placeholderChar","appendTail","inserted"],"mappings":"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","sourcesContent":["import React, { ForwardedRef, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { IMaskInput, IMask } from 'react-imask';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { MaskCharLowLine } from '../MaskCharLowLine';\nimport { cx } from '../../lib/theming/Emotion';\nimport { InputElement, InputElementProps } from '../../components/Input';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\nimport { styles } from './MaskedInputElement.styles';\nimport { getCurrentValue, getDefinitions, getFocusPrefix, getMaskChar } from './MaskedInputElement.helpers';\n\nexport interface MaskedInputElementProps extends InputElementProps {\n mask: string;\n maskChar?: string | null;\n formatChars?: { [key: string]: string };\n alwaysShowMask?: boolean;\n onUnexpectedInput: (value: string) => void;\n}\n\nexport const MaskedInputElementDataTids = {\n root: 'MaskedInput__root',\n} as const;\n\nexport const MaskedInputElement = forwardRefAndName(\n 'MaskedInputElement',\n function MaskedInputElement(props: MaskedInputElementProps, ref: ForwardedRef<InputElement>) {\n const [values, setValues] = useState<{ value: string; originValue: string }>(() => {\n const value = getValue(props);\n return { value, originValue: value };\n });\n const { value, originValue } = values;\n\n const [emptyValue, setEmptyValue] = useState('');\n const [focused, setFocused] = useState(false);\n const inputRef = useRef<HTMLInputElement | null>(null);\n const rootNodeRef = React.useRef<HTMLDivElement>(null);\n const theme = useContext(ThemeContext);\n const expectedChangesRef = useRef(false);\n const isFirstRender = useRef(true);\n\n useImperativeHandle(\n ref,\n () => ({\n input: inputRef.current,\n getRootNode: () => rootNodeRef.current,\n }),\n [],\n );\n\n useEffect(() => {\n setEmptyValue(getEmptyValue(props.mask, props.maskChar, props.formatChars));\n }, [props.mask, props.maskChar]);\n\n useEffect(() => {\n if (isFirstRender.current) {\n return;\n }\n\n const value = props.value ? props.value.toString() : '';\n setValues((values) => ({ ...values, value }));\n }, [props.value]);\n\n useEffect(() => {\n isFirstRender.current = false;\n }, []);\n\n const {\n mask,\n maskChar,\n formatChars,\n alwaysShowMask,\n maxLength,\n onUnexpectedInput,\n defaultValue,\n style,\n ...inputProps\n } = props;\n\n const leftClass = style?.textAlign !== 'right' && styles.inputMaskLeft();\n const [currentValue, left, right] = getCurrentValue({ value, originValue, emptyValue }, focused, maskChar);\n\n /* В rightHelper не DEFAULT_MASK_CHAR, а специальная логика для обработки подчркивания('_').\n * Не менять на DEFAULT_MASK_CHAR\n */\n const rightHelper = right.split('').map((_char, i) => (_char === '_' ? <MaskCharLowLine key={i} /> : _char));\n const leftHelper = style?.textAlign !== 'right' && <span style={{ color: 'transparent' }}>{left}</span>;\n const isMaskVisible = alwaysShowMask || focused;\n\n return (\n <span\n data-tid={MaskedInputElementDataTids.root}\n ref={rootNodeRef}\n className={styles.container()}\n x-ms-format-detection=\"none\"\n >\n <IMaskInput\n {...inputProps}\n mask={mask}\n definitions={getDefinitions(formatChars)}\n eager\n overwrite={'shift'}\n onAccept={handleAccept}\n onInput={handleInput}\n onFocus={handleFocus}\n onBlur={handleBlur}\n value={currentValue}\n inputRef={inputRef}\n style={{ ...style }}\n />\n {isMaskVisible && (\n <span className={cx(styles.inputMask(theme), leftClass)}>\n {leftHelper}\n {rightHelper}\n </span>\n )}\n </span>\n );\n\n function getValue(props: MaskedInputElementProps): string {\n return (props.value ?? props.defaultValue ?? '').toString();\n }\n\n /** В imask вызывается только когда значение с маской меняется*/\n function handleAccept(value: string) {\n expectedChangesRef.current = true;\n // Если разделить на 2 setState - между первым и вторым происходит рендер и иногда символы \"съедаются\"\n setValues({ value, originValue: value });\n\n setTimeout(() => {\n /** При вводе с клавиатуры срабатывает handleAccept, за ним handleInput\n * expectedChanges - нужен чтобы сообщить из handleAccept в handleInput, что значение с маской изменилось.\n * Если маска не изменилась и сработал handleInput, вызываем handleUnexpectedInput. Ввели значение не по маске.\n * setTimeout нужен чтобы сбросить expectedChanges, например, если изменилось значение в пропах.\n * Маска изменится, вызовется handleAccept, но не handleInput\n */\n expectedChangesRef.current = false;\n });\n }\n\n /** Отслеживаем неправильные нажатия,\n * handleAccept не вызывается когда значение с маской не меняется, а handleInput вызывается\n * Сначала вызывается handleAccept, затем handleInput\n * */\n function handleInput(e: React.ChangeEvent<HTMLInputElement>) {\n const value = e.target.value;\n\n if (!expectedChangesRef.current && value === originValue) {\n handleUnexpectedInput();\n }\n\n expectedChangesRef.current = false;\n }\n\n function handleFocus(event: React.FocusEvent<HTMLInputElement>) {\n setFocused(true);\n\n expectedChangesRef.current = false;\n\n if (props.onFocus) {\n props.onFocus(event);\n }\n }\n\n function handleBlur(event: React.FocusEvent<HTMLInputElement>) {\n if (value === getFocusPrefix(emptyValue, maskChar)) {\n setValues({ value: '', originValue: '' });\n }\n\n setFocused(false);\n\n if (props.onBlur) {\n props.onBlur(event);\n }\n }\n\n function handleUnexpectedInput() {\n if (props.onUnexpectedInput) {\n props.onUnexpectedInput(value);\n }\n }\n\n function getEmptyValue(\n mask: MaskedInputElementProps['mask'],\n maskChar: MaskedInputElementProps['maskChar'],\n formatChars: MaskedInputElementProps['formatChars'],\n ): string {\n const maskPattern = IMask.createMask({\n mask,\n definitions: getDefinitions(formatChars),\n lazy: false,\n placeholderChar: getMaskChar(maskChar),\n });\n return maskPattern.appendTail('').inserted;\n }\n },\n);\n"]}