@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
@@ -1 +1 @@
1
- {"version":3,"sources":["Radio.tsx"],"names":["React","ThemeContext","CommonWrapper","cx","keyListener","rootNode","fixFirefoxModifiedClickOnLabel","isEdge","isIE11","RadioGroupContext","createPropsGetter","styles","globalClasses","RadioDataTids","root","Radio","state","focusedByKeyboard","getProps","defaultProps","context","inputEl","createRef","renderMain","props","disabled","warning","error","size","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","radioProps","className","circle","theme","getCircleSizeClassName","checked","getCheckedSizeClassName","focus","checkedDisabled","value","inputProps","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","getRootSizeClassName","rootChecked","rootIE11","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","_isInRadioGroup","activeItem","name","suppressHydrationWarning","placeholder","children","renderCaption","Boolean","e","onSelect","requestAnimationFrame","isArrowPressed","isTabPressed","setState","rootLarge","rootMedium","rootSmall","circleLarge","circleMedium","circleSmall","checkedLarge","checkedMedium","checkedSmall","render","setRootNode","current","blur","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","contextType"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\n\nimport { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { RadioGroupContext, RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles, globalClasses } from './Radio.styles';\n\nexport type RadioSize = 'small' | 'medium' | 'large';\n\nexport interface RadioProps<T>\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * Размер\n */\n size?: RadioSize;\n /**\n * Состояние фокуса.\n */\n focused?: boolean;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: T) => void;\n /**\n * HTML-событие `onmouseenter`\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `onmouseover`\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-атрибут `value`.\n */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;\n\n/**\n * Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getCircleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.circleLarge(this.theme);\n case 'medium':\n return styles.circleMedium(this.theme);\n case 'small':\n default:\n return styles.circleSmall(this.theme);\n }\n }\n\n private getCheckedSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.checkedLarge(this.theme);\n case 'medium':\n return styles.checkedMedium(this.theme);\n case 'small':\n default:\n return styles.checkedSmall(this.theme);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n size,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.circle(this.theme)]: true,\n [this.getCircleSizeClassName()]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [this.getCheckedSizeClassName()]: this.props.checked,\n [styles.focus(this.theme)]: this.getProps().focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: this.props.checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n });\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [this.getCheckedSizeClassName()]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <input {...inputProps} />\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderCaption()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByKeyboard: false });\n };\n}\n"]}
1
+ {"version":3,"sources":["Radio.tsx"],"names":["React","globalObject","ThemeContext","CommonWrapper","cx","keyListener","rootNode","fixFirefoxModifiedClickOnLabel","isEdge","isIE11","RadioGroupContext","createPropsGetter","styles","globalClasses","RadioDataTids","root","Radio","state","focusedByKeyboard","getProps","defaultProps","context","inputEl","createRef","renderMain","props","disabled","warning","error","size","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","radioProps","className","circle","theme","getCircleSizeClassName","checked","getCheckedSizeClassName","focus","checkedDisabled","value","inputProps","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","getRootSizeClassName","rootChecked","rootIE11","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","_isInRadioGroup","activeItem","name","suppressHydrationWarning","placeholder","children","renderCaption","Boolean","e","onSelect","requestAnimationFrame","isArrowPressed","isTabPressed","setState","rootLarge","rootMedium","rootSmall","circleLarge","circleMedium","circleSmall","checkedLarge","checkedMedium","checkedSmall","render","setRootNode","current","blur","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","displayName","contextType"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { RadioGroupContext, RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles, globalClasses } from './Radio.styles';\n\n/**\n * @deprecated use SizeProp\n */\nexport type RadioSize = SizeProp;\n\nexport interface RadioProps<T>\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * Размер\n */\n size?: SizeProp;\n /**\n * Состояние фокуса.\n */\n focused?: boolean;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: T) => void;\n /**\n * HTML-событие `onmouseenter`\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `onmouseover`\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-атрибут `value`.\n */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;\n\n/**\n * Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n public static displayName = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getCircleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.circleLarge(this.theme);\n case 'medium':\n return styles.circleMedium(this.theme);\n case 'small':\n default:\n return styles.circleSmall(this.theme);\n }\n }\n\n private getCheckedSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.checkedLarge(this.theme);\n case 'medium':\n return styles.checkedMedium(this.theme);\n case 'small':\n default:\n return styles.checkedSmall(this.theme);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n size,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.circle(this.theme)]: true,\n [this.getCircleSizeClassName()]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [this.getCheckedSizeClassName()]: this.props.checked,\n [styles.focus(this.theme)]: this.getProps().focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: this.props.checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n });\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [this.getCheckedSizeClassName()]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <input {...inputProps} />\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderCaption()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByKeyboard: false });\n };\n}\n"]}
@@ -2,7 +2,11 @@ import React, { AriaAttributes } from 'react';
2
2
  import { Override } from '../../typings/utility-types';
3
3
  import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
4
4
  import { RadioGroupContextType } from '../RadioGroup/RadioGroupContext';
5
- export declare type RadioSize = 'small' | 'medium' | 'large';
5
+ import { SizeProp } from '../../lib/types/props';
6
+ /**
7
+ * @deprecated use SizeProp
8
+ */
9
+ export declare type RadioSize = SizeProp;
6
10
  export interface RadioProps<T> extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<React.InputHTMLAttributes<HTMLInputElement>, {
7
11
  /**
8
12
  * Состояние валидации при ошибке.
@@ -15,7 +19,7 @@ export interface RadioProps<T> extends Pick<AriaAttributes, 'aria-label'>, Commo
15
19
  /**
16
20
  * Размер
17
21
  */
18
- size?: RadioSize;
22
+ size?: SizeProp;
19
23
  /**
20
24
  * Состояние фокуса.
21
25
  */
@@ -54,6 +58,7 @@ declare type DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;
54
58
  */
55
59
  export declare class Radio<T> extends React.Component<RadioProps<T>, RadioState> {
56
60
  static __KONTUR_REACT_UI__: string;
61
+ static displayName: string;
57
62
  state: {
58
63
  focusedByKeyboard: boolean;
59
64
  };
@@ -221,7 +221,7 @@ var RadioGroup = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_Re
221
221
  };
222
222
 
223
223
  return RadioGroup;
224
- }(React.Component), _class2.__KONTUR_REACT_UI__ = 'RadioGroup', _class2.defaultProps = {
224
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'RadioGroup', _class2.displayName = 'RadioGroup', _class2.defaultProps = {
225
225
  renderItem: renderItem
226
226
  }, _class2.Prevent = Prevent, _temp)) || _class;
227
227
 
@@ -1 +1 @@
1
- {"version":3,"sources":["RadioGroup.tsx"],"names":["React","invariant","getRandomID","isNonNullable","Radio","createPropsGetter","FocusTrap","ThemeContext","CommonWrapper","cx","rootNode","styles","Prevent","RadioGroupContext","RadioGroupDataTids","root","RadioGroup","props","name","getProps","defaultProps","getRadioGroupContextValue","activeItem","getValue","onSelect","handleSelect","getName","disabled","error","warning","isControlled","value","state","setState","onValueChange","renderRadio","itemValue","data","index","itemProps","key","getKeyByItem","className","item","theme","itemFirst","itemInline","inline","renderItem","toKey","undefined","ref","element","node","defaultValue","render","renderMain","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","setRootNode","renderChildren","focus","radio","querySelector","items","children","mapItems","Component","__KONTUR_REACT_UI__","_value","fn","result","entry","normalizeEntry","push","Array","isArray"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport invariant from 'invariant';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { Radio } from '../Radio';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { FocusTrap } from '../../internal/FocusTrap';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './RadioGroup.styles';\nimport { Prevent } from './Prevent';\nimport { RadioGroupContext, RadioGroupContextType } from './RadioGroupContext';\n\nexport interface RadioGroupProps<T = string | number> extends CommonProps {\n /**\n * Значение по умолчанию. Должно быть одним из значений дочерних радиокнопок\n * или значений из параметра `items`\n */\n defaultValue?: T;\n /**\n * Значение радиогруппы. Должно быть одним из значений радиокнопок.\n * Если не указано, то компонент будет работать, как неконтролируемый\n */\n value?: T;\n /**\n * Может быть использовано, если не передан параметр `children`\n *\n * Массив параметров радиокнопок. Может быть типа `Array<Value>` или\n * `Array<[Value, Data]>`, где тип `Value` — значение радиокнопки, а `Data`\n * — значение которое будет использовано вторым параметром в `renderItem`.\n * Если тип `items: Array<Value>`, то он будет приведен к типу\n * `Array<[Value, Value]>`\n */\n items?: T[] | Array<[T, React.ReactNode]>;\n /**\n * Аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется\n * случайное имя\n */\n name?: string;\n\n /**\n * Метод получения уникального ключа по элементу\n * @param item\n */\n toKey?: (item: T) => string | number;\n /**\n * Дизейблит все радиокнопки\n */\n disabled?: boolean;\n /**\n * Переводит все радиокнопки в состояние валидации: предупреждение.\n */\n warning?: boolean;\n /**\n * Переводит все радиокнопки в состояние валидации: ошибка.\n */\n error?: boolean;\n /**\n * Выравнивает элементы в строку. Не работает с `children`\n */\n inline?: boolean;\n /**\n * Ширина радиогруппы. Не работает с `children`\n */\n width?: React.CSSProperties['width'];\n /**\n * Метод отрисовки контента радиокнопки. Не работает с `children`.\n *\n * Принимает два аргумента: `(value: Value, data: Data) => React.Node`\n */\n renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n onBlur?: (event: FocusEvent) => void;\n onMouseLeave?: () => any;\n onMouseOver?: () => any;\n onMouseEnter?: () => any;\n}\n\nexport interface RadioGroupState<T> {\n activeItem?: T;\n}\n\nexport const RadioGroupDataTids = {\n root: 'RadioGroup__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;\n\n/**\n *\n * `children` может содержать любую разметку с компонентами Radio,\n * если не передан параметр `items`.\n * Каждому компоненту Radio нужно указать параметр `value`, такого же типа\n * как и параметр `value` самой радиогруппы.\n *\n * Значения активного элемента сравниваются по строгому равенству `===`\n */\n@rootNode\nexport class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {\n public static __KONTUR_REACT_UI__ = 'RadioGroup';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n };\n\n public static Prevent = Prevent;\n\n private theme!: Theme;\n\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n private setRootNode!: TSetRootNode;\n\n constructor(props: RadioGroupProps<T>) {\n super(props);\n\n this.state = {\n activeItem: this.props.defaultValue,\n };\n }\n\n private getRadioGroupContextValue = (): RadioGroupContextType<T> => {\n return {\n activeItem: this.getValue(),\n onSelect: this.handleSelect,\n name: this.getName(),\n disabled: this.props.disabled,\n error: this.props.error,\n warning: this.props.warning,\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 public renderMain() {\n const { width, onMouseLeave, onMouseOver, onMouseEnter, onBlur, 'aria-describedby': ariaDescribedby } = this.props;\n const style = {\n width: width ?? 'auto',\n };\n const handlers = {\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n };\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusTrap onBlur={onBlur}>\n <span\n data-tid={RadioGroupDataTids.root}\n ref={this.ref}\n style={style}\n className={styles.root()}\n role=\"radiogroup\"\n {...handlers}\n aria-describedby={ariaDescribedby}\n >\n <RadioGroupContext.Provider value={this.getRadioGroupContextValue()}>\n {this.renderChildren()}\n </RadioGroupContext.Provider>\n </span>\n </FocusTrap>\n </CommonWrapper>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n const node = this.node;\n if (!node) {\n return;\n }\n\n let radio = node.querySelector('input[type=\"radio\"]:checked') as Nullable<HTMLInputElement>;\n\n // If no checked radios, try get first radio\n if (!radio || radio.disabled) {\n radio = node.querySelector('input[type=\"radio\"]:not([disabled])') as Nullable<HTMLInputElement>;\n }\n\n if (radio) {\n radio.focus();\n }\n }\n\n private getValue = () => (this.isControlled() ? this.props.value : this.state.activeItem);\n\n private getName = () => this.props.name || this.name;\n\n private isControlled = () => isNonNullable(this.props.value);\n\n private handleSelect = (value: T) => {\n if (!this.isControlled()) {\n this.setState({ activeItem: value });\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private renderChildren() {\n const { items, children } = this.props;\n invariant((!items && children) || (items && !children), 'Either items or children must be passed, not both');\n return items ? mapItems<T>(this.renderRadio, items) : children;\n }\n\n private renderRadio = (itemValue: T, data: React.ReactNode, index: number): JSX.Element => {\n const itemProps = {\n key: this.getKeyByItem(itemValue),\n className: cx({\n [styles.item(this.theme)]: true,\n [styles.itemFirst()]: index === 0,\n [styles.itemInline()]: !!this.props.inline,\n }),\n };\n\n return (\n <span {...itemProps} role=\"presentation\">\n <Radio value={itemValue}>{this.getProps().renderItem(itemValue, data)}</Radio>\n </span>\n );\n };\n\n private getKeyByItem = (itemValue: T) => {\n if (this.props.toKey) {\n return this.props.toKey(itemValue);\n }\n return typeof itemValue === 'string' || typeof itemValue === 'number' ? itemValue : undefined;\n };\n\n private ref = (element: HTMLSpanElement) => {\n this.node = element;\n };\n}\n\nfunction renderItem<T>(_value: T, data: React.ReactNode) {\n return data;\n}\n\nfunction mapItems<T>(\n fn: (value: T, data: React.ReactNode, index: number) => React.ReactNode,\n items: T[] | Array<[T, React.ReactNode]>,\n) {\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, data] = normalizeEntry<T>(entry);\n result.push(fn(value, data, index));\n ++index;\n }\n return result;\n}\n\nfunction normalizeEntry<T>(entry: T | [T, React.ReactNode]): [T, React.ReactNode] {\n if (!Array.isArray(entry)) {\n return [entry, entry];\n }\n return entry;\n}\n"]}
1
+ {"version":3,"sources":["RadioGroup.tsx"],"names":["React","invariant","getRandomID","isNonNullable","Radio","createPropsGetter","FocusTrap","ThemeContext","CommonWrapper","cx","rootNode","styles","Prevent","RadioGroupContext","RadioGroupDataTids","root","RadioGroup","props","name","getProps","defaultProps","getRadioGroupContextValue","activeItem","getValue","onSelect","handleSelect","getName","disabled","error","warning","isControlled","value","state","setState","onValueChange","renderRadio","itemValue","data","index","itemProps","key","getKeyByItem","className","item","theme","itemFirst","itemInline","inline","renderItem","toKey","undefined","ref","element","node","defaultValue","render","renderMain","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","setRootNode","renderChildren","focus","radio","querySelector","items","children","mapItems","Component","__KONTUR_REACT_UI__","displayName","_value","fn","result","entry","normalizeEntry","push","Array","isArray"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport invariant from 'invariant';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { Radio } from '../Radio';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { FocusTrap } from '../../internal/FocusTrap';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './RadioGroup.styles';\nimport { Prevent } from './Prevent';\nimport { RadioGroupContext, RadioGroupContextType } from './RadioGroupContext';\n\nexport interface RadioGroupProps<T = string | number> extends CommonProps {\n /**\n * Значение по умолчанию. Должно быть одним из значений дочерних радиокнопок\n * или значений из параметра `items`\n */\n defaultValue?: T;\n /**\n * Значение радиогруппы. Должно быть одним из значений радиокнопок.\n * Если не указано, то компонент будет работать, как неконтролируемый\n */\n value?: T;\n /**\n * Может быть использовано, если не передан параметр `children`\n *\n * Массив параметров радиокнопок. Может быть типа `Array<Value>` или\n * `Array<[Value, Data]>`, где тип `Value` — значение радиокнопки, а `Data`\n * — значение которое будет использовано вторым параметром в `renderItem`.\n * Если тип `items: Array<Value>`, то он будет приведен к типу\n * `Array<[Value, Value]>`\n */\n items?: T[] | Array<[T, React.ReactNode]>;\n /**\n * Аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется\n * случайное имя\n */\n name?: string;\n\n /**\n * Метод получения уникального ключа по элементу\n * @param item\n */\n toKey?: (item: T) => string | number;\n /**\n * Дизейблит все радиокнопки\n */\n disabled?: boolean;\n /**\n * Переводит все радиокнопки в состояние валидации: предупреждение.\n */\n warning?: boolean;\n /**\n * Переводит все радиокнопки в состояние валидации: ошибка.\n */\n error?: boolean;\n /**\n * Выравнивает элементы в строку. Не работает с `children`\n */\n inline?: boolean;\n /**\n * Ширина радиогруппы. Не работает с `children`\n */\n width?: React.CSSProperties['width'];\n /**\n * Метод отрисовки контента радиокнопки. Не работает с `children`.\n *\n * Принимает два аргумента: `(value: Value, data: Data) => React.Node`\n */\n renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n onBlur?: (event: FocusEvent) => void;\n onMouseLeave?: () => any;\n onMouseOver?: () => any;\n onMouseEnter?: () => any;\n}\n\nexport interface RadioGroupState<T> {\n activeItem?: T;\n}\n\nexport const RadioGroupDataTids = {\n root: 'RadioGroup__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;\n\n/**\n *\n * `children` может содержать любую разметку с компонентами Radio,\n * если не передан параметр `items`.\n * Каждому компоненту Radio нужно указать параметр `value`, такого же типа\n * как и параметр `value` самой радиогруппы.\n *\n * Значения активного элемента сравниваются по строгому равенству `===`\n */\n@rootNode\nexport class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {\n public static __KONTUR_REACT_UI__ = 'RadioGroup';\n public static displayName = 'RadioGroup';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n };\n\n public static Prevent = Prevent;\n\n private theme!: Theme;\n\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n private setRootNode!: TSetRootNode;\n\n constructor(props: RadioGroupProps<T>) {\n super(props);\n\n this.state = {\n activeItem: this.props.defaultValue,\n };\n }\n\n private getRadioGroupContextValue = (): RadioGroupContextType<T> => {\n return {\n activeItem: this.getValue(),\n onSelect: this.handleSelect,\n name: this.getName(),\n disabled: this.props.disabled,\n error: this.props.error,\n warning: this.props.warning,\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 public renderMain() {\n const { width, onMouseLeave, onMouseOver, onMouseEnter, onBlur, 'aria-describedby': ariaDescribedby } = this.props;\n const style = {\n width: width ?? 'auto',\n };\n const handlers = {\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n };\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusTrap onBlur={onBlur}>\n <span\n data-tid={RadioGroupDataTids.root}\n ref={this.ref}\n style={style}\n className={styles.root()}\n role=\"radiogroup\"\n {...handlers}\n aria-describedby={ariaDescribedby}\n >\n <RadioGroupContext.Provider value={this.getRadioGroupContextValue()}>\n {this.renderChildren()}\n </RadioGroupContext.Provider>\n </span>\n </FocusTrap>\n </CommonWrapper>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n const node = this.node;\n if (!node) {\n return;\n }\n\n let radio = node.querySelector('input[type=\"radio\"]:checked') as Nullable<HTMLInputElement>;\n\n // If no checked radios, try get first radio\n if (!radio || radio.disabled) {\n radio = node.querySelector('input[type=\"radio\"]:not([disabled])') as Nullable<HTMLInputElement>;\n }\n\n if (radio) {\n radio.focus();\n }\n }\n\n private getValue = () => (this.isControlled() ? this.props.value : this.state.activeItem);\n\n private getName = () => this.props.name || this.name;\n\n private isControlled = () => isNonNullable(this.props.value);\n\n private handleSelect = (value: T) => {\n if (!this.isControlled()) {\n this.setState({ activeItem: value });\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private renderChildren() {\n const { items, children } = this.props;\n invariant((!items && children) || (items && !children), 'Either items or children must be passed, not both');\n return items ? mapItems<T>(this.renderRadio, items) : children;\n }\n\n private renderRadio = (itemValue: T, data: React.ReactNode, index: number): JSX.Element => {\n const itemProps = {\n key: this.getKeyByItem(itemValue),\n className: cx({\n [styles.item(this.theme)]: true,\n [styles.itemFirst()]: index === 0,\n [styles.itemInline()]: !!this.props.inline,\n }),\n };\n\n return (\n <span {...itemProps} role=\"presentation\">\n <Radio value={itemValue}>{this.getProps().renderItem(itemValue, data)}</Radio>\n </span>\n );\n };\n\n private getKeyByItem = (itemValue: T) => {\n if (this.props.toKey) {\n return this.props.toKey(itemValue);\n }\n return typeof itemValue === 'string' || typeof itemValue === 'number' ? itemValue : undefined;\n };\n\n private ref = (element: HTMLSpanElement) => {\n this.node = element;\n };\n}\n\nfunction renderItem<T>(_value: T, data: React.ReactNode) {\n return data;\n}\n\nfunction mapItems<T>(\n fn: (value: T, data: React.ReactNode, index: number) => React.ReactNode,\n items: T[] | Array<[T, React.ReactNode]>,\n) {\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, data] = normalizeEntry<T>(entry);\n result.push(fn(value, data, index));\n ++index;\n }\n return result;\n}\n\nfunction normalizeEntry<T>(entry: T | [T, React.ReactNode]): [T, React.ReactNode] {\n if (!Array.isArray(entry)) {\n return [entry, entry];\n }\n return entry;\n}\n"]}
@@ -87,6 +87,7 @@ declare type DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'
87
87
  */
88
88
  export declare class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {
89
89
  static __KONTUR_REACT_UI__: string;
90
+ static displayName: string;
90
91
  static defaultProps: DefaultProps;
91
92
  static Prevent: typeof Prevent;
92
93
  private theme;
@@ -18,4 +18,6 @@ export function ResponsiveLayout(props) {
18
18
  }
19
19
  }, [layoutFlags]);
20
20
  return /*#__PURE__*/React.createElement(CommonWrapper, props, isFunction(props.children) ? (_props$children = props.children(layoutFlags)) != null ? _props$children : null : (_props$children2 = props.children) != null ? _props$children2 : null);
21
- }
21
+ }
22
+ ResponsiveLayout.__KONTUR_REACT_UI__ = 'ResponsiveLayout';
23
+ ResponsiveLayout.displayName = 'ResponsiveLayout';
@@ -1 +1 @@
1
- {"version":3,"sources":["ResponsiveLayout.tsx"],"names":["React","useEffect","isFunction","CommonWrapper","useResponsiveLayout","ResponsiveLayout","props","layoutFlags","customMediaQueries","onLayoutChange","children"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAAiC,OAAjC;;AAEA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,aAAT,QAA8B,8BAA9B;;;AAGA,SAASC,mBAAT,QAAoC,uBAApC;;;;;;;;AAQA;AACA;AACA;;AAEA,OAAO,SAASC,gBAAT,CAAoEC,KAApE,EAAqG;AAC1G,MAAMC,WAAW,GAAGH,mBAAmB,CAAI,EAAEI,kBAAkB,EAAEF,KAAK,CAACE,kBAA5B,EAAJ,CAAvC;;AAEAP,EAAAA,SAAS,CAAC,YAAM;AACd,QAAIK,KAAK,CAACG,cAAV,EAA0B;AACxBH,MAAAA,KAAK,CAACG,cAAN,CAAqBF,WAArB;AACD;AACF,GAJQ,EAIN,CAACA,WAAD,CAJM,CAAT;;AAMA;AACE,wBAAC,aAAD,EAAmBD,KAAnB;AACGJ,IAAAA,UAAU,CAACI,KAAK,CAACI,QAAP,CAAV,sBAA6BJ,KAAK,CAACI,QAAN,CAAeH,WAAf,CAA7B,8BAA4D,IAA5D,uBAAmED,KAAK,CAACI,QAAzE,+BAAqF,IADxF,CADF;;;AAKD","sourcesContent":["import React, { useEffect } from 'react';\n\nimport { isFunction } from '../../lib/utils';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { EmptyObject, MediaQueriesType, ResponsiveLayoutFlags } from './types';\nimport { useResponsiveLayout } from './useResponsiveLayout';\n\ninterface ResponsiveLayoutProps<T extends MediaQueriesType = EmptyObject> {\n onLayoutChange?: (layout: ResponsiveLayoutFlags<T>) => void;\n children?: React.ReactNode | ((currentLayout: ResponsiveLayoutFlags<T>) => React.ReactNode);\n customMediaQueries?: T;\n}\n\n/**\n * Компонент для определения текущего лэйаута.\n */\n\nexport function ResponsiveLayout<T extends MediaQueriesType = EmptyObject>(props: ResponsiveLayoutProps<T>) {\n const layoutFlags = useResponsiveLayout<T>({ customMediaQueries: props.customMediaQueries });\n\n useEffect(() => {\n if (props.onLayoutChange) {\n props.onLayoutChange(layoutFlags);\n }\n }, [layoutFlags]);\n\n return (\n <CommonWrapper {...props}>\n {isFunction(props.children) ? props.children(layoutFlags) ?? null : props.children ?? null}\n </CommonWrapper>\n );\n}\n"]}
1
+ {"version":3,"sources":["ResponsiveLayout.tsx"],"names":["React","useEffect","isFunction","CommonWrapper","useResponsiveLayout","ResponsiveLayout","props","layoutFlags","customMediaQueries","onLayoutChange","children","__KONTUR_REACT_UI__","displayName"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAAiC,OAAjC;;AAEA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,aAAT,QAA8B,8BAA9B;;;AAGA,SAASC,mBAAT,QAAoC,uBAApC;;;;;;;;AAQA;AACA;AACA;;AAEA,OAAO,SAASC,gBAAT,CAAoEC,KAApE,EAAqG;AAC1G,MAAMC,WAAW,GAAGH,mBAAmB,CAAI,EAAEI,kBAAkB,EAAEF,KAAK,CAACE,kBAA5B,EAAJ,CAAvC;;AAEAP,EAAAA,SAAS,CAAC,YAAM;AACd,QAAIK,KAAK,CAACG,cAAV,EAA0B;AACxBH,MAAAA,KAAK,CAACG,cAAN,CAAqBF,WAArB;AACD;AACF,GAJQ,EAIN,CAACA,WAAD,CAJM,CAAT;;AAMA;AACE,wBAAC,aAAD,EAAmBD,KAAnB;AACGJ,IAAAA,UAAU,CAACI,KAAK,CAACI,QAAP,CAAV,sBAA6BJ,KAAK,CAACI,QAAN,CAAeH,WAAf,CAA7B,8BAA4D,IAA5D,uBAAmED,KAAK,CAACI,QAAzE,+BAAqF,IADxF,CADF;;;AAKD;;AAEDL,gBAAgB,CAACM,mBAAjB,GAAuC,kBAAvC;AACAN,gBAAgB,CAACO,WAAjB,GAA+B,kBAA/B","sourcesContent":["import React, { useEffect } from 'react';\n\nimport { isFunction } from '../../lib/utils';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { EmptyObject, MediaQueriesType, ResponsiveLayoutFlags } from './types';\nimport { useResponsiveLayout } from './useResponsiveLayout';\n\ninterface ResponsiveLayoutProps<T extends MediaQueriesType = EmptyObject> {\n onLayoutChange?: (layout: ResponsiveLayoutFlags<T>) => void;\n children?: React.ReactNode | ((currentLayout: ResponsiveLayoutFlags<T>) => React.ReactNode);\n customMediaQueries?: T;\n}\n\n/**\n * Компонент для определения текущего лэйаута.\n */\n\nexport function ResponsiveLayout<T extends MediaQueriesType = EmptyObject>(props: ResponsiveLayoutProps<T>) {\n const layoutFlags = useResponsiveLayout<T>({ customMediaQueries: props.customMediaQueries });\n\n useEffect(() => {\n if (props.onLayoutChange) {\n props.onLayoutChange(layoutFlags);\n }\n }, [layoutFlags]);\n\n return (\n <CommonWrapper {...props}>\n {isFunction(props.children) ? props.children(layoutFlags) ?? null : props.children ?? null}\n </CommonWrapper>\n );\n}\n\nResponsiveLayout.__KONTUR_REACT_UI__ = 'ResponsiveLayout';\nResponsiveLayout.displayName = 'ResponsiveLayout';\n"]}
@@ -9,4 +9,8 @@ interface ResponsiveLayoutProps<T extends MediaQueriesType = EmptyObject> {
9
9
  * Компонент для определения текущего лэйаута.
10
10
  */
11
11
  export declare function ResponsiveLayout<T extends MediaQueriesType = EmptyObject>(props: ResponsiveLayoutProps<T>): JSX.Element;
12
+ export declare namespace ResponsiveLayout {
13
+ var __KONTUR_REACT_UI__: string;
14
+ var displayName: string;
15
+ }
12
16
  export {};
@@ -1,6 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { matchMediaSSRSafe } from "../../../lib/SSRSafe";
3
- import { canUseDOM } from "../../../lib/client";
2
+ import { globalObject } from '@skbkontur/global-object';
4
3
  export var eventListenersMap = new Map();
5
4
  export function addResponsiveLayoutListener(mediaQuery, callback) {
6
5
  if (eventListenersMap.has(mediaQuery)) {
@@ -27,7 +26,7 @@ function addCallbackToMQListener(mediaQuery, callback) {
27
26
  }
28
27
 
29
28
  function createMQListener(mediaQuery, callback) {
30
- var mql = matchMediaSSRSafe(mediaQuery);
29
+ var mql = globalObject.matchMedia == null ? void 0 : globalObject.matchMedia(mediaQuery);
31
30
 
32
31
  if (mql) {
33
32
  var newMediaQueryInfo = {
@@ -74,14 +73,14 @@ function removeCallbackFromMQListener(mediaQuery, callback) {
74
73
  export function checkMatches(mediaQuery) {
75
74
  var _eventListener$mql$ma;
76
75
 
77
- if (!canUseDOM) {
76
+ if (!globalObject.matchMedia) {
78
77
  return false;
79
78
  }
80
79
 
81
80
  if (!eventListenersMap.has(mediaQuery)) {
82
- var _matchMediaSSRSafe;
81
+ var _globalObject$matchMe;
83
82
 
84
- return !!((_matchMediaSSRSafe = matchMediaSSRSafe(mediaQuery)) != null && _matchMediaSSRSafe.matches);
83
+ return !!((_globalObject$matchMe = globalObject.matchMedia(mediaQuery)) != null && _globalObject$matchMe.matches);
85
84
  }
86
85
 
87
86
  var eventListener = eventListenersMap.get(mediaQuery);
@@ -1 +1 @@
1
- {"version":3,"sources":["ResponsiveLayoutEvents.ts"],"names":["matchMediaSSRSafe","canUseDOM","eventListenersMap","Map","addResponsiveLayoutListener","mediaQuery","callback","has","addCallbackToMQListener","createMQListener","remove","removeCallbackFromMQListener","eventListener","get","set","listeners","mql","newMediaQueryInfo","addEventListener","changeCallback","addListener","newListeners","filter","listener","length","removeEventListener","removeListener","checkMatches","matches","e","media","forEach"],"mappings":"0DAAA,SAASA,iBAAT,QAAkC,mBAAlC;AACA,SAASC,SAAT,QAA0B,kBAA1B;;;;;;;;;;;AAWA,OAAO,IAAMC,iBAAiB,GAAG,IAAIC,GAAJ,EAA1B;;AAEP,OAAO,SAASC,2BAAT;AACLC,UADK;AAELC,QAFK;AAGU;AACf,MAAIJ,iBAAiB,CAACK,GAAlB,CAAsBF,UAAtB,CAAJ,EAAuC;AACrCG,IAAAA,uBAAuB,CAACH,UAAD,EAAaC,QAAb,CAAvB;AACD,GAFD,MAEO;AACLG,IAAAA,gBAAgB,CAACJ,UAAD,EAAaC,QAAb,CAAhB;AACD;;AAED,SAAO;AACLI,IAAAA,MADK,oBACI;AACPC,MAAAA,4BAA4B,CAACN,UAAD,EAAaC,QAAb,CAA5B;AACD,KAHI,EAAP;;AAKD;;AAED,SAASE,uBAAT,CAAiCH,UAAjC,EAAqDC,QAArD,EAAiG;AAC/F,MAAMM,aAAa,GAAGV,iBAAiB,CAACW,GAAlB,CAAsBR,UAAtB,CAAtB;;AAEA,MAAIO,aAAJ,EAAmB;AACjBV,IAAAA,iBAAiB,CAACY,GAAlB,CAAsBT,UAAtB;AACKO,IAAAA,aADL;AAEEG,MAAAA,SAAS,YAAMH,aAAa,CAACG,SAApB,GAA+BT,QAA/B,EAFX;;AAID;AACF;;AAED,SAASG,gBAAT,CAA0BJ,UAA1B,EAA8CC,QAA9C,EAA0F;AACxF,MAAMU,GAAG,GAAGhB,iBAAiB,CAACK,UAAD,CAA7B;AACA,MAAIW,GAAJ,EAAS;AACP,QAAMC,iBAAiC,GAAG,EAAED,GAAG,EAAHA,GAAF,EAAOD,SAAS,EAAE,CAACT,QAAD,CAAlB,EAA1C;;AAEAJ,IAAAA,iBAAiB,CAACY,GAAlB,CAAsBT,UAAtB,EAAkCY,iBAAlC;AACA,QAAID,GAAG,CAACE,gBAAR,EAA0B;AACxBF,MAAAA,GAAG,CAACE,gBAAJ,CAAqB,QAArB,EAA+BC,cAA/B;AACD,KAFD,MAEO;AACLH,MAAAA,GAAG,CAACI,WAAJ,CAAgBD,cAAhB;AACD;AACF;AACF;;AAED,SAASR,4BAAT,CAAsCN,UAAtC,EAA0DC,QAA1D,EAAsG;AACpG,MAAIJ,iBAAiB,CAACK,GAAlB,CAAsBF,UAAtB,CAAJ,EAAuC;AACrC,QAAMO,aAAa,GAAGV,iBAAiB,CAACW,GAAlB,CAAsBR,UAAtB,CAAtB;;AAEA,QAAIO,aAAJ,EAAmB;AACjB,UAAMS,YAAY,GAAGT,aAAa,CAACG,SAAd,CAAwBO,MAAxB,CAA+B,UAACC,QAAD,UAAcA,QAAQ,KAAKjB,QAA3B,EAA/B,CAArB;;AAEA,UAAIe,YAAY,CAACG,MAAb,KAAwB,CAA5B,EAA+B;AAC7B,YAAIZ,aAAa,CAACI,GAAd,CAAkBS,mBAAtB,EAA2C;AACzCb,UAAAA,aAAa,CAACI,GAAd,CAAkBS,mBAAlB,CAAsC,QAAtC,EAAgDN,cAAhD;AACD,SAFD,MAEO;AACLP,UAAAA,aAAa,CAACI,GAAd,CAAkBU,cAAlB,CAAiCP,cAAjC;AACD;AACDjB,QAAAA,iBAAiB,UAAjB,CAAyBG,UAAzB;AACA;AACD;;AAEDH,MAAAA,iBAAiB,CAACY,GAAlB,CAAsBT,UAAtB;AACKO,MAAAA,aADL;AAEEG,QAAAA,SAAS,YAAMM,YAAN,CAFX;;AAID;AACF;AACF;;AAED,OAAO,SAASM,YAAT,CAAsBtB,UAAtB,EAA0C;AAC/C,MAAI,CAACJ,SAAL,EAAgB;AACd,WAAO,KAAP;AACD;;AAED,MAAI,CAACC,iBAAiB,CAACK,GAAlB,CAAsBF,UAAtB,CAAL,EAAwC;AACtC,WAAO,CAAC,wBAACL,iBAAiB,CAACK,UAAD,CAAlB,aAAC,mBAA+BuB,OAAhC,CAAR;AACD;;AAED,MAAMhB,aAAa,GAAGV,iBAAiB,CAACW,GAAlB,CAAsBR,UAAtB,CAAtB;AACA,kCAAOO,aAAP,oBAAOA,aAAa,CAAEI,GAAf,CAAmBY,OAA1B,oCAAqC,KAArC;AACD;;AAED,SAAST,cAAT,CAAwBU,CAAxB,EAAgD;AAC9C,MAAMjB,aAAa,GAAGV,iBAAiB,CAACW,GAAlB,CAAsBgB,CAAC,CAACC,KAAxB,CAAtB;;AAEA,MAAIlB,aAAJ,EAAmB;AACjBA,IAAAA,aAAa,CAACG,SAAd,CAAwBgB,OAAxB,CAAgC,UAACR,QAAD,EAAc;AAC5CA,MAAAA,QAAQ,CAACM,CAAD,CAAR;AACD,KAFD;AAGD;AACF","sourcesContent":["import { matchMediaSSRSafe } from '../../lib/SSRSafe';\nimport { canUseDOM } from '../../lib/client';\n\ninterface mediaQueryData {\n mql: MediaQueryList;\n listeners: Array<(e: MediaQueryListEvent) => void>;\n}\n\nexport interface listenerToken {\n remove: () => void;\n}\n\nexport const eventListenersMap = new Map<string, mediaQueryData>();\n\nexport function addResponsiveLayoutListener(\n mediaQuery: string,\n callback: (e: MediaQueryListEvent) => void,\n): listenerToken {\n if (eventListenersMap.has(mediaQuery)) {\n addCallbackToMQListener(mediaQuery, callback);\n } else {\n createMQListener(mediaQuery, callback);\n }\n\n return {\n remove() {\n removeCallbackFromMQListener(mediaQuery, callback);\n },\n };\n}\n\nfunction addCallbackToMQListener(mediaQuery: string, callback: (e: MediaQueryListEvent) => void) {\n const eventListener = eventListenersMap.get(mediaQuery);\n\n if (eventListener) {\n eventListenersMap.set(mediaQuery, {\n ...eventListener,\n listeners: [...eventListener.listeners, callback],\n });\n }\n}\n\nfunction createMQListener(mediaQuery: string, callback: (e: MediaQueryListEvent) => void) {\n const mql = matchMediaSSRSafe(mediaQuery);\n if (mql) {\n const newMediaQueryInfo: mediaQueryData = { mql, listeners: [callback] };\n\n eventListenersMap.set(mediaQuery, newMediaQueryInfo);\n if (mql.addEventListener) {\n mql.addEventListener('change', changeCallback);\n } else {\n mql.addListener(changeCallback);\n }\n }\n}\n\nfunction removeCallbackFromMQListener(mediaQuery: string, callback: (e: MediaQueryListEvent) => void) {\n if (eventListenersMap.has(mediaQuery)) {\n const eventListener = eventListenersMap.get(mediaQuery);\n\n if (eventListener) {\n const newListeners = eventListener.listeners.filter((listener) => listener !== callback);\n\n if (newListeners.length === 0) {\n if (eventListener.mql.removeEventListener) {\n eventListener.mql.removeEventListener('change', changeCallback);\n } else {\n eventListener.mql.removeListener(changeCallback);\n }\n eventListenersMap.delete(mediaQuery);\n return;\n }\n\n eventListenersMap.set(mediaQuery, {\n ...eventListener,\n listeners: [...newListeners],\n });\n }\n }\n}\n\nexport function checkMatches(mediaQuery: string) {\n if (!canUseDOM) {\n return false;\n }\n\n if (!eventListenersMap.has(mediaQuery)) {\n return !!matchMediaSSRSafe(mediaQuery)?.matches;\n }\n\n const eventListener = eventListenersMap.get(mediaQuery);\n return eventListener?.mql.matches ?? false;\n}\n\nfunction changeCallback(e: MediaQueryListEvent) {\n const eventListener = eventListenersMap.get(e.media);\n\n if (eventListener) {\n eventListener.listeners.forEach((listener) => {\n listener(e);\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["ResponsiveLayoutEvents.ts"],"names":["globalObject","eventListenersMap","Map","addResponsiveLayoutListener","mediaQuery","callback","has","addCallbackToMQListener","createMQListener","remove","removeCallbackFromMQListener","eventListener","get","set","listeners","mql","matchMedia","newMediaQueryInfo","addEventListener","changeCallback","addListener","newListeners","filter","listener","length","removeEventListener","removeListener","checkMatches","matches","e","media","forEach"],"mappings":"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","sourcesContent":["import { globalObject } from '@skbkontur/global-object';\n\ninterface mediaQueryData {\n mql: MediaQueryList;\n listeners: Array<(e: MediaQueryListEvent) => void>;\n}\n\nexport interface listenerToken {\n remove: () => void;\n}\n\nexport const eventListenersMap = new Map<string, mediaQueryData>();\n\nexport function addResponsiveLayoutListener(\n mediaQuery: string,\n callback: (e: MediaQueryListEvent) => void,\n): listenerToken {\n if (eventListenersMap.has(mediaQuery)) {\n addCallbackToMQListener(mediaQuery, callback);\n } else {\n createMQListener(mediaQuery, callback);\n }\n\n return {\n remove() {\n removeCallbackFromMQListener(mediaQuery, callback);\n },\n };\n}\n\nfunction addCallbackToMQListener(mediaQuery: string, callback: (e: MediaQueryListEvent) => void) {\n const eventListener = eventListenersMap.get(mediaQuery);\n\n if (eventListener) {\n eventListenersMap.set(mediaQuery, {\n ...eventListener,\n listeners: [...eventListener.listeners, callback],\n });\n }\n}\n\nfunction createMQListener(mediaQuery: string, callback: (e: MediaQueryListEvent) => void) {\n const mql = globalObject.matchMedia?.(mediaQuery);\n if (mql) {\n const newMediaQueryInfo: mediaQueryData = { mql, listeners: [callback] };\n\n eventListenersMap.set(mediaQuery, newMediaQueryInfo);\n if (mql.addEventListener) {\n mql.addEventListener('change', changeCallback);\n } else {\n mql.addListener(changeCallback);\n }\n }\n}\n\nfunction removeCallbackFromMQListener(mediaQuery: string, callback: (e: MediaQueryListEvent) => void) {\n if (eventListenersMap.has(mediaQuery)) {\n const eventListener = eventListenersMap.get(mediaQuery);\n\n if (eventListener) {\n const newListeners = eventListener.listeners.filter((listener) => listener !== callback);\n\n if (newListeners.length === 0) {\n if (eventListener.mql.removeEventListener) {\n eventListener.mql.removeEventListener('change', changeCallback);\n } else {\n eventListener.mql.removeListener(changeCallback);\n }\n eventListenersMap.delete(mediaQuery);\n return;\n }\n\n eventListenersMap.set(mediaQuery, {\n ...eventListener,\n listeners: [...newListeners],\n });\n }\n }\n}\n\nexport function checkMatches(mediaQuery: string) {\n if (!globalObject.matchMedia) {\n return false;\n }\n\n if (!eventListenersMap.has(mediaQuery)) {\n return !!globalObject.matchMedia(mediaQuery)?.matches;\n }\n\n const eventListener = eventListenersMap.get(mediaQuery);\n return eventListener?.mql.matches ?? false;\n}\n\nfunction changeCallback(e: MediaQueryListEvent) {\n const eventListener = eventListenersMap.get(e.media);\n\n if (eventListener) {\n eventListener.listeners.forEach((listener) => {\n listener(e);\n });\n }\n}\n"]}
@@ -2,10 +2,10 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _createClass from "@babel/runtime/helpers/esm/createClass";
3
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
4
  import React from 'react';
5
- import { CSSTransition } from 'react-transition-group';
6
- import debounce from 'lodash.debounce';
5
+ import { globalObject } from '@skbkontur/global-object';
7
6
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
8
7
  import { cx } from "../../../lib/theming/Emotion";
8
+ import { isInstanceOf } from "../../../lib/isInstanceOf";
9
9
  import { defaultScrollbarState, scrollSizeParametersNames } from "../ScrollContainer.constants";
10
10
  import { styles, globalClasses } from "../ScrollContainer.styles";
11
11
  import { getScrollSizeParams } from "../ScrollContainer.helpers";
@@ -36,36 +36,22 @@ export var ScrollBar = /*#__PURE__*/function (_React$Component) {
36
36
  var _scrollSizeParameters = scrollSizeParametersNames[_this.props.axis],
37
37
  customScrollPos = _scrollSizeParameters.customScrollPos,
38
38
  customScrollSize = _scrollSizeParameters.customScrollSize;
39
- var classNames = cx(props.className, styles.scrollBar(_this.theme), _this.scrollBarStyles, (_cx = {}, _cx[styles.scrollBarInvert(_this.theme)] = props.invert, _cx[styles.visibleScrollBar()] = _this.state.scrollingByMouseWheel || !_this.props.hideScrollBar, _cx));
39
+ var classNames = cx(props.className, styles.scrollBar(_this.theme), _this.scrollBarStyles, (_cx = {}, _cx[styles.scrollBarInvert(_this.theme)] = props.invert, _cx[styles.visibleScrollBar()] = props.isVisible, _cx));
40
40
  var inlineStyles = (_inlineStyles = {}, _inlineStyles[customScrollPos] = state.pos + "%", _inlineStyles[customScrollSize] = state.size + "%", _inlineStyles);
41
41
  return /*#__PURE__*/React.createElement("div", {
42
42
  ref: _this.containerRef,
43
43
  className: _this.scrollBarContainerClassNames,
44
44
  style: props.offset
45
- }, /*#__PURE__*/React.createElement(CSSTransition, {
46
- appear: !props.disableAnimations,
47
- exit: !props.disableAnimations,
48
- "in": _this.state.scrollingByMouseWheel,
49
- classNames: {
50
- enter: styles.transition(),
51
- enterActive: styles.transitionActive(),
52
- exit: styles.transitionLeave(),
53
- exitActive: styles.transitionLeaveActive()
54
- },
55
- timeout: {
56
- enter: 100,
57
- exit: 300
58
- }
59
45
  }, /*#__PURE__*/React.createElement("div", {
60
46
  ref: _this.refScroll,
61
47
  style: inlineStyles,
62
48
  className: classNames,
63
49
  onMouseDown: _this.handleScrollMouseDown,
64
50
  "data-tid": "ScrollContainer__ScrollBar-" + props.axis
65
- })));
51
+ }));
66
52
  };
67
53
 
68
- _this.reflow = function (event) {
54
+ _this.reflow = function () {
69
55
  if (!_this.inner) {
70
56
  return;
71
57
  }
@@ -85,8 +71,8 @@ export var ScrollBar = /*#__PURE__*/function (_React$Component) {
85
71
  if (state.active !== scrollActive || state.size !== scrollSize || state.pos !== scrollPos) {
86
72
  var scrollState = _this.getImmediateScrollState();
87
73
 
88
- if (scrollState !== state.scrollState) {
89
- _this.props.onScrollStateChange == null ? void 0 : _this.props.onScrollStateChange(scrollState, props.axis);
74
+ if (state.pos !== scrollPos) {
75
+ _this.props.onScroll == null ? void 0 : _this.props.onScroll(props.axis, scrollState, state.scrollState);
90
76
  }
91
77
 
92
78
  _this.setState(_extends({}, _this.state, {
@@ -95,8 +81,6 @@ export var ScrollBar = /*#__PURE__*/function (_React$Component) {
95
81
  pos: scrollPos,
96
82
  scrollState: scrollState
97
83
  }));
98
-
99
- event && event.type === 'scroll' && props.hideScrollBar && _this.setScrollingByMouseWheel();
100
84
  }
101
85
  };
102
86
 
@@ -135,7 +119,7 @@ export var ScrollBar = /*#__PURE__*/function (_React$Component) {
135
119
  pos = _scrollSizeParameters2.pos,
136
120
  coord = _scrollSizeParameters2.coord;
137
121
  var initialCoord = event[coord];
138
- var target = window.document;
122
+ var target = globalObject.document;
139
123
  var initialScrollPos = _this.inner[pos];
140
124
  var state = _this.state;
141
125
 
@@ -160,18 +144,16 @@ export var ScrollBar = /*#__PURE__*/function (_React$Component) {
160
144
  };
161
145
 
162
146
  var mouseUp = function mouseUp() {
163
- target.removeEventListener('mousemove', mouseMove);
164
- target.removeEventListener('mouseup', mouseUp);
147
+ target == null ? void 0 : target.removeEventListener('mousemove', mouseMove);
148
+ target == null ? void 0 : target.removeEventListener('mouseup', mouseUp);
165
149
 
166
150
  _this.setState(_extends({}, _this.state, {
167
151
  scrollingByMouseDrag: false
168
152
  }));
169
-
170
- _this.hideScrollBar();
171
153
  };
172
154
 
173
- target.addEventListener('mousemove', mouseMove);
174
- target.addEventListener('mouseup', mouseUp);
155
+ target == null ? void 0 : target.addEventListener('mousemove', mouseMove);
156
+ target == null ? void 0 : target.addEventListener('mouseup', mouseUp);
175
157
 
176
158
  _this.setState(_extends({}, _this.state, {
177
159
  scrollingByMouseDrag: true
@@ -181,7 +163,7 @@ export var ScrollBar = /*#__PURE__*/function (_React$Component) {
181
163
  };
182
164
 
183
165
  _this.handleScrollWheel = function (event, axis) {
184
- if (!_this.inner || !(event instanceof WheelEvent) || axis === 'x' && !event.shiftKey) {
166
+ if (!_this.inner || !isInstanceOf(event, globalObject.WheelEvent) || axis === 'x' && !event.shiftKey) {
185
167
  return;
186
168
  }
187
169
 
@@ -226,21 +208,6 @@ export var ScrollBar = /*#__PURE__*/function (_React$Component) {
226
208
  return 'middle';
227
209
  };
228
210
 
229
- _this.setScrollingByMouseWheel = function () {
230
- if (!_this.state.scrollingByMouseWheel) {
231
- _this.setState({
232
- scrollingByMouseWheel: true
233
- });
234
- }
235
-
236
- _this.hideScrollBar();
237
- };
238
-
239
- _this.hideScrollBar = debounce(function () {
240
- !_this.state.scrollingByMouseDrag && !_this.state.hover && _this.setState({
241
- scrollingByMouseWheel: false
242
- });
243
- }, _this.props.hideScrollBarDelay);
244
211
  return _this;
245
212
  }
246
213
 
@@ -268,13 +235,13 @@ export var ScrollBar = /*#__PURE__*/function (_React$Component) {
268
235
  this.setState(_extends({}, this.state, {
269
236
  hover: hover
270
237
  }));
271
-
272
- if (!hover) {
273
- this.props.hideScrollBar && this.hideScrollBar();
274
- }
275
238
  }
276
239
  };
277
240
 
241
+ _proto.getHover = function getHover() {
242
+ return this.state.hover;
243
+ };
244
+
278
245
  _createClass(ScrollBar, [{
279
246
  key: "scrollBarState",
280
247
  get: function get() {
@@ -1 +1 @@
1
- {"version":3,"sources":["ScrollBar.tsx"],"names":["React","CSSTransition","debounce","ThemeContext","cx","defaultScrollbarState","scrollSizeParametersNames","styles","globalClasses","getScrollSizeParams","ScrollBar","containerRef","createRef","state","renderMain","props","active","axis","customScrollPos","customScrollSize","classNames","className","scrollBar","theme","scrollBarStyles","scrollBarInvert","invert","visibleScrollBar","scrollingByMouseWheel","hideScrollBar","inlineStyles","pos","size","scrollBarContainerClassNames","offset","disableAnimations","enter","transition","enterActive","transitionActive","exit","transitionLeave","exitActive","transitionLeaveActive","refScroll","handleScrollMouseDown","reflow","event","inner","scrollSize","scrollPos","scrollActive","scrollState","getImmediateScrollState","onScrollStateChange","setState","type","setScrollingByMouseWheel","setInnerElement","element","handleScrollWheel","node","addEventListener","passive","removeEventListener","coord","initialCoord","target","window","document","initialScrollPos","mouseMove","mouseMoveEvent","current","remainingScrollingContent","remainingScrollingSpace","ratio","delta","preventDefault","Object","prototype","hasOwnProperty","call","returnValue","mouseUp","scrollingByMouseDrag","WheelEvent","shiftKey","offsetHeight","deltaY","clientSize","maxScrollPos","Math","abs","hover","hideScrollBarDelay","componentDidMount","componentDidUpdate","render","setHover","scrollBarX","scrollbarX","scrollBarXHover","scrollBarY","scrollbarY","scrollBarYHover","scrollbarContainerX","scrollBarContainerX","scrollbarContainerY","scrollBarContainerY","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport debounce from 'lodash.debounce';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { defaultScrollbarState, scrollSizeParametersNames } from './ScrollContainer.constants';\nimport { styles, globalClasses } from './ScrollContainer.styles';\nimport { getScrollSizeParams } from './ScrollContainer.helpers';\nimport { ScrollContainerProps } from './ScrollContainer';\n\nexport type ScrollAxis = 'x' | 'y';\nexport type ScrollBarScrollState = 'begin' | 'middle' | 'end';\n\nexport interface ScrollBarState {\n active: boolean;\n hover: boolean;\n scrollingByMouseDrag: boolean;\n size: number; // in percentages\n pos: number; // in percentages\n scrollState: ScrollBarScrollState;\n scrollingByMouseWheel: boolean;\n}\n\nexport interface ScrollBarProps {\n invert: boolean;\n axis: ScrollAxis;\n className?: string;\n onScrollStateChange?: (state: ScrollBarScrollState, axis: ScrollAxis) => void;\n offset: ScrollContainerProps['offsetY'] | ScrollContainerProps['offsetX'];\n hideScrollBar?: boolean;\n hideScrollBarDelay?: number;\n disableAnimations?: boolean;\n}\n\nexport class ScrollBar extends React.Component<ScrollBarProps, ScrollBarState> {\n private inner: Nullable<HTMLElement>;\n private containerRef = React.createRef<HTMLDivElement>();\n private theme!: Theme;\n\n public node: Nullable<HTMLElement>;\n public state: ScrollBarState = {\n ...defaultScrollbarState,\n };\n\n public componentDidMount() {\n this.reflow();\n }\n\n public componentDidUpdate() {\n this.reflow();\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 state = this.state;\n const props = this.props;\n\n if (!state.active) {\n return null;\n }\n\n const { customScrollPos, customScrollSize } = scrollSizeParametersNames[this.props.axis];\n\n const classNames = cx(props.className, styles.scrollBar(this.theme), this.scrollBarStyles, {\n [styles.scrollBarInvert(this.theme)]: props.invert,\n [styles.visibleScrollBar()]: this.state.scrollingByMouseWheel || !this.props.hideScrollBar,\n });\n\n const inlineStyles: React.CSSProperties = {\n [customScrollPos]: `${state.pos}%`,\n [customScrollSize]: `${state.size}%`,\n };\n\n return (\n <div ref={this.containerRef} className={this.scrollBarContainerClassNames} style={props.offset}>\n <CSSTransition\n appear={!props.disableAnimations}\n exit={!props.disableAnimations}\n in={this.state.scrollingByMouseWheel}\n classNames={{\n enter: styles.transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n }}\n timeout={{\n enter: 100,\n exit: 300,\n }}\n >\n <div\n ref={this.refScroll}\n style={inlineStyles}\n className={classNames}\n onMouseDown={this.handleScrollMouseDown}\n data-tid={`ScrollContainer__ScrollBar-${props.axis}`}\n />\n </CSSTransition>\n </div>\n );\n };\n\n public reflow = (event?: React.UIEvent<HTMLDivElement>) => {\n if (!this.inner) {\n return;\n }\n\n const props = this.props;\n const state = this.state;\n\n const { scrollSize, scrollPos, scrollActive } = getScrollSizeParams(this.inner, props.axis);\n\n if (!scrollActive && !state.active) {\n return;\n }\n\n if (state.active !== scrollActive || state.size !== scrollSize || state.pos !== scrollPos) {\n const scrollState = this.getImmediateScrollState();\n\n if (scrollState !== state.scrollState) {\n this.props.onScrollStateChange?.(scrollState, props.axis);\n }\n\n this.setState({\n ...this.state,\n active: scrollActive,\n size: scrollSize,\n pos: scrollPos,\n scrollState,\n });\n event && event.type === 'scroll' && props.hideScrollBar && this.setScrollingByMouseWheel();\n }\n };\n\n public setInnerElement = (inner: Nullable<HTMLElement>) => {\n this.inner = inner;\n this.reflow();\n };\n\n public setHover(hover: boolean) {\n if (this.state.active && this.state.hover !== hover) {\n this.setState({ ...this.state, hover });\n if (!hover) {\n this.props.hideScrollBar && this.hideScrollBar();\n }\n }\n }\n\n public get scrollBarState() {\n return this.state.scrollState;\n }\n\n private get scrollBarStyles() {\n const state = this.state;\n\n if (this.props.axis === 'x') {\n return cx(styles.scrollBarX(this.theme), globalClasses.scrollbarX, {\n [styles.scrollBarXHover(this.theme)]: state.hover || state.scrollingByMouseDrag,\n });\n }\n\n return cx(styles.scrollBarY(this.theme), globalClasses.scrollbarY, {\n [styles.scrollBarYHover(this.theme)]: state.hover || state.scrollingByMouseDrag,\n });\n }\n\n private get scrollBarContainerClassNames() {\n const { axis } = this.props;\n\n if (axis === 'x') {\n return cx(globalClasses.scrollbarContainerX, styles.scrollBarContainerX(this.theme));\n }\n\n return cx(globalClasses.scrollbarContainerY, styles.scrollBarContainerY());\n }\n\n private refScroll = (element: HTMLElement | null) => {\n const handleScrollWheel = (event: Event) => this.handleScrollWheel(event, this.props.axis);\n\n if (!this.node && element) {\n element.addEventListener('wheel', handleScrollWheel, { passive: false });\n }\n if (this.node && !element) {\n this.node.removeEventListener('wheel', handleScrollWheel);\n }\n this.node = element;\n };\n\n private handleScrollMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n if (!this.inner) {\n return;\n }\n\n const { offset, size, pos, coord } = scrollSizeParametersNames[this.props.axis];\n\n const initialCoord = event[coord];\n const target: Document = window.document;\n const initialScrollPos = this.inner[pos];\n const state = this.state;\n\n const mouseMove = (mouseMoveEvent: MouseEvent) => {\n if (!this.inner || !this.containerRef.current) {\n return;\n }\n\n const remainingScrollingContent = this.inner[size] - this.inner[offset];\n const remainingScrollingSpace = (this.containerRef.current[offset] / 100) * (100 - state.size);\n\n const ratio = remainingScrollingContent / remainingScrollingSpace;\n const delta = (mouseMoveEvent[coord] - initialCoord) * ratio;\n\n this.inner[pos] = initialScrollPos + delta;\n\n if (mouseMoveEvent.preventDefault) {\n mouseMoveEvent.preventDefault();\n }\n\n if (Object.prototype.hasOwnProperty.call(mouseMoveEvent, 'returnValue')) {\n (\n mouseMoveEvent as MouseEvent & {\n returnValue: boolean;\n }\n ).returnValue = false;\n }\n };\n\n const mouseUp = () => {\n target.removeEventListener('mousemove', mouseMove);\n target.removeEventListener('mouseup', mouseUp);\n this.setState({ ...this.state, scrollingByMouseDrag: false });\n this.hideScrollBar();\n };\n\n target.addEventListener('mousemove', mouseMove);\n target.addEventListener('mouseup', mouseUp);\n this.setState({ ...this.state, scrollingByMouseDrag: true });\n\n event.preventDefault();\n };\n\n private handleScrollWheel = (event: Event, axis: ScrollAxis) => {\n if (!this.inner || !(event instanceof WheelEvent) || (axis === 'x' && !event.shiftKey)) {\n return;\n }\n\n const { offset, size, pos } = scrollSizeParametersNames[axis];\n\n const scrollSize = this.inner[size];\n const scrollPos = this.inner[pos];\n const offsetHeight = this.inner[offset];\n\n if (event.deltaY > 0 && scrollSize <= scrollPos + offsetHeight) {\n return;\n }\n if (event.deltaY < 0 && scrollPos <= 0) {\n return;\n }\n\n this.inner[pos] += event.deltaY;\n\n event.preventDefault();\n };\n\n private getImmediateScrollState = (): ScrollBarScrollState => {\n const { pos, size, clientSize } = scrollSizeParametersNames[this.props.axis];\n\n if (!this.inner || this.inner[pos] === 0) {\n return 'begin';\n }\n // Zoom in Chrome causes problems\n // https://github.com/skbkontur/retail-ui/pull/2705#issue-806286945\n const maxScrollPos = this.inner[size] - this.inner[clientSize];\n if (Math.abs(maxScrollPos - this.inner[pos]) <= 1) {\n return 'end';\n }\n\n return 'middle';\n };\n\n private setScrollingByMouseWheel = () => {\n if (!this.state.scrollingByMouseWheel) {\n this.setState({ scrollingByMouseWheel: true });\n }\n this.hideScrollBar();\n };\n\n private readonly hideScrollBar = debounce(() => {\n !this.state.scrollingByMouseDrag && !this.state.hover && this.setState({ scrollingByMouseWheel: false });\n }, this.props.hideScrollBarDelay);\n}\n"]}
1
+ {"version":3,"sources":["ScrollBar.tsx"],"names":["React","globalObject","ThemeContext","cx","isInstanceOf","defaultScrollbarState","scrollSizeParametersNames","styles","globalClasses","getScrollSizeParams","ScrollBar","containerRef","createRef","state","renderMain","props","active","axis","customScrollPos","customScrollSize","classNames","className","scrollBar","theme","scrollBarStyles","scrollBarInvert","invert","visibleScrollBar","isVisible","inlineStyles","pos","size","scrollBarContainerClassNames","offset","refScroll","handleScrollMouseDown","reflow","inner","scrollSize","scrollPos","scrollActive","scrollState","getImmediateScrollState","onScroll","setState","setInnerElement","element","handleScrollWheel","event","node","addEventListener","passive","removeEventListener","coord","initialCoord","target","document","initialScrollPos","mouseMove","mouseMoveEvent","current","remainingScrollingContent","remainingScrollingSpace","ratio","delta","preventDefault","Object","prototype","hasOwnProperty","call","returnValue","mouseUp","scrollingByMouseDrag","WheelEvent","shiftKey","offsetHeight","deltaY","clientSize","maxScrollPos","Math","abs","componentDidMount","componentDidUpdate","render","setHover","hover","getHover","scrollBarX","scrollbarX","scrollBarXHover","scrollBarY","scrollbarY","scrollBarYHover","scrollbarContainerX","scrollBarContainerX","scrollbarContainerY","scrollBarContainerY","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { defaultScrollbarState, scrollSizeParametersNames } from './ScrollContainer.constants';\nimport { styles, globalClasses } from './ScrollContainer.styles';\nimport { getScrollSizeParams } from './ScrollContainer.helpers';\nimport { ScrollContainerProps } from './ScrollContainer';\n\nexport type ScrollAxis = 'x' | 'y';\nexport type ScrollBarScrollState = 'begin' | 'middle' | 'end';\n\nexport interface ScrollBarState {\n active: boolean;\n hover: boolean;\n scrollingByMouseDrag: boolean;\n size: number; // in percentages\n pos: number; // in percentages\n scrollState: ScrollBarScrollState;\n}\n\nexport interface ScrollBarProps {\n invert: boolean;\n axis: ScrollAxis;\n className?: string;\n onScroll?: (axis: ScrollAxis, state: ScrollBarScrollState, prevState: ScrollBarScrollState) => void;\n offset: ScrollContainerProps['offsetY'] | ScrollContainerProps['offsetX'];\n disableAnimations?: boolean;\n isVisible: boolean;\n}\n\nexport class ScrollBar extends React.Component<ScrollBarProps, ScrollBarState> {\n private inner: Nullable<HTMLElement>;\n private containerRef = React.createRef<HTMLDivElement>();\n private theme!: Theme;\n\n public node: Nullable<HTMLElement>;\n public state: ScrollBarState = {\n ...defaultScrollbarState,\n };\n\n public componentDidMount() {\n this.reflow();\n }\n\n public componentDidUpdate() {\n this.reflow();\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 state = this.state;\n const props = this.props;\n\n if (!state.active) {\n return null;\n }\n\n const { customScrollPos, customScrollSize } = scrollSizeParametersNames[this.props.axis];\n\n const classNames = cx(props.className, styles.scrollBar(this.theme), this.scrollBarStyles, {\n [styles.scrollBarInvert(this.theme)]: props.invert,\n [styles.visibleScrollBar()]: props.isVisible,\n });\n\n const inlineStyles: React.CSSProperties = {\n [customScrollPos]: `${state.pos}%`,\n [customScrollSize]: `${state.size}%`,\n };\n\n return (\n <div ref={this.containerRef} className={this.scrollBarContainerClassNames} style={props.offset}>\n <div\n ref={this.refScroll}\n style={inlineStyles}\n className={classNames}\n onMouseDown={this.handleScrollMouseDown}\n data-tid={`ScrollContainer__ScrollBar-${props.axis}`}\n />\n </div>\n );\n };\n\n public reflow = () => {\n if (!this.inner) {\n return;\n }\n\n const props = this.props;\n const state = this.state;\n\n const { scrollSize, scrollPos, scrollActive } = getScrollSizeParams(this.inner, props.axis);\n\n if (!scrollActive && !state.active) {\n return;\n }\n\n if (state.active !== scrollActive || state.size !== scrollSize || state.pos !== scrollPos) {\n const scrollState = this.getImmediateScrollState();\n\n if (state.pos !== scrollPos) {\n this.props.onScroll?.(props.axis, scrollState, state.scrollState);\n }\n\n this.setState({\n ...this.state,\n active: scrollActive,\n size: scrollSize,\n pos: scrollPos,\n scrollState,\n });\n }\n };\n\n public setInnerElement = (inner: Nullable<HTMLElement>) => {\n this.inner = inner;\n this.reflow();\n };\n\n public setHover(hover: boolean) {\n if (this.state.active && this.state.hover !== hover) {\n this.setState({ ...this.state, hover });\n }\n }\n\n public getHover() {\n return this.state.hover;\n }\n\n public get scrollBarState() {\n return this.state.scrollState;\n }\n\n private get scrollBarStyles() {\n const state = this.state;\n\n if (this.props.axis === 'x') {\n return cx(styles.scrollBarX(this.theme), globalClasses.scrollbarX, {\n [styles.scrollBarXHover(this.theme)]: state.hover || state.scrollingByMouseDrag,\n });\n }\n\n return cx(styles.scrollBarY(this.theme), globalClasses.scrollbarY, {\n [styles.scrollBarYHover(this.theme)]: state.hover || state.scrollingByMouseDrag,\n });\n }\n\n private get scrollBarContainerClassNames() {\n const { axis } = this.props;\n\n if (axis === 'x') {\n return cx(globalClasses.scrollbarContainerX, styles.scrollBarContainerX(this.theme));\n }\n\n return cx(globalClasses.scrollbarContainerY, styles.scrollBarContainerY());\n }\n\n private refScroll = (element: HTMLElement | null) => {\n const handleScrollWheel = (event: Event) => this.handleScrollWheel(event, this.props.axis);\n\n if (!this.node && element) {\n element.addEventListener('wheel', handleScrollWheel, { passive: false });\n }\n if (this.node && !element) {\n this.node.removeEventListener('wheel', handleScrollWheel);\n }\n this.node = element;\n };\n\n private handleScrollMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n if (!this.inner) {\n return;\n }\n\n const { offset, size, pos, coord } = scrollSizeParametersNames[this.props.axis];\n\n const initialCoord = event[coord];\n const target = globalObject.document;\n const initialScrollPos = this.inner[pos];\n const state = this.state;\n\n const mouseMove = (mouseMoveEvent: MouseEvent) => {\n if (!this.inner || !this.containerRef.current) {\n return;\n }\n\n const remainingScrollingContent = this.inner[size] - this.inner[offset];\n const remainingScrollingSpace = (this.containerRef.current[offset] / 100) * (100 - state.size);\n\n const ratio = remainingScrollingContent / remainingScrollingSpace;\n const delta = (mouseMoveEvent[coord] - initialCoord) * ratio;\n\n this.inner[pos] = initialScrollPos + delta;\n\n if (mouseMoveEvent.preventDefault) {\n mouseMoveEvent.preventDefault();\n }\n\n if (Object.prototype.hasOwnProperty.call(mouseMoveEvent, 'returnValue')) {\n (\n mouseMoveEvent as MouseEvent & {\n returnValue: boolean;\n }\n ).returnValue = false;\n }\n };\n\n const mouseUp = () => {\n target?.removeEventListener('mousemove', mouseMove);\n target?.removeEventListener('mouseup', mouseUp);\n this.setState({ ...this.state, scrollingByMouseDrag: false });\n };\n\n target?.addEventListener('mousemove', mouseMove);\n target?.addEventListener('mouseup', mouseUp);\n this.setState({ ...this.state, scrollingByMouseDrag: true });\n\n event.preventDefault();\n };\n\n private handleScrollWheel = (event: Event, axis: ScrollAxis) => {\n if (!this.inner || !isInstanceOf(event, globalObject.WheelEvent) || (axis === 'x' && !event.shiftKey)) {\n return;\n }\n\n const { offset, size, pos } = scrollSizeParametersNames[axis];\n\n const scrollSize = this.inner[size];\n const scrollPos = this.inner[pos];\n const offsetHeight = this.inner[offset];\n\n if (event.deltaY > 0 && scrollSize <= scrollPos + offsetHeight) {\n return;\n }\n if (event.deltaY < 0 && scrollPos <= 0) {\n return;\n }\n\n this.inner[pos] += event.deltaY;\n\n event.preventDefault();\n };\n\n private getImmediateScrollState = (): ScrollBarScrollState => {\n const { pos, size, clientSize } = scrollSizeParametersNames[this.props.axis];\n\n if (!this.inner || this.inner[pos] === 0) {\n return 'begin';\n }\n // Zoom in Chrome causes problems\n // https://github.com/skbkontur/retail-ui/pull/2705#issue-806286945\n const maxScrollPos = this.inner[size] - this.inner[clientSize];\n if (Math.abs(maxScrollPos - this.inner[pos]) <= 1) {\n return 'end';\n }\n\n return 'middle';\n };\n}\n"]}
@@ -10,17 +10,15 @@ export interface ScrollBarState {
10
10
  size: number;
11
11
  pos: number;
12
12
  scrollState: ScrollBarScrollState;
13
- scrollingByMouseWheel: boolean;
14
13
  }
15
14
  export interface ScrollBarProps {
16
15
  invert: boolean;
17
16
  axis: ScrollAxis;
18
17
  className?: string;
19
- onScrollStateChange?: (state: ScrollBarScrollState, axis: ScrollAxis) => void;
18
+ onScroll?: (axis: ScrollAxis, state: ScrollBarScrollState, prevState: ScrollBarScrollState) => void;
20
19
  offset: ScrollContainerProps['offsetY'] | ScrollContainerProps['offsetX'];
21
- hideScrollBar?: boolean;
22
- hideScrollBarDelay?: number;
23
20
  disableAnimations?: boolean;
21
+ isVisible: boolean;
24
22
  }
25
23
  export declare class ScrollBar extends React.Component<ScrollBarProps, ScrollBarState> {
26
24
  private inner;
@@ -32,9 +30,10 @@ export declare class ScrollBar extends React.Component<ScrollBarProps, ScrollBar
32
30
  componentDidUpdate(): void;
33
31
  render(): JSX.Element;
34
32
  private renderMain;
35
- reflow: (event?: React.UIEvent<HTMLDivElement, UIEvent> | undefined) => void;
33
+ reflow: () => void;
36
34
  setInnerElement: (inner: Nullable<HTMLElement>) => void;
37
35
  setHover(hover: boolean): void;
36
+ getHover(): boolean;
38
37
  get scrollBarState(): ScrollBarScrollState;
39
38
  private get scrollBarStyles();
40
39
  private get scrollBarContainerClassNames();
@@ -42,6 +41,4 @@ export declare class ScrollBar extends React.Component<ScrollBarProps, ScrollBar
42
41
  private handleScrollMouseDown;
43
42
  private handleScrollWheel;
44
43
  private getImmediateScrollState;
45
- private setScrollingByMouseWheel;
46
- private readonly hideScrollBar;
47
44
  }