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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1326) hide show
  1. package/CHANGELOG.md +223 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js +3 -1
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +13 -3
  6. package/cjs/components/Button/Button.js +26 -8
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.md +106 -30
  9. package/cjs/components/Button/Button.mixins.d.ts +1 -1
  10. package/cjs/components/Button/Button.mixins.js +3 -1
  11. package/cjs/components/Button/Button.mixins.js.map +1 -1
  12. package/cjs/components/Button/Button.styles.d.ts +1 -6
  13. package/cjs/components/Button/Button.styles.js +40 -54
  14. package/cjs/components/Button/Button.styles.js.map +1 -1
  15. package/cjs/components/Button/ButtonArrow.js +1 -1
  16. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  17. package/cjs/components/Button/ButtonIcon.d.ts +7 -5
  18. package/cjs/components/Button/ButtonIcon.js +37 -18
  19. package/cjs/components/Button/ButtonIcon.js.map +1 -1
  20. package/cjs/components/Button/ButtonIcon.styles.d.ts +16 -0
  21. package/cjs/components/Button/ButtonIcon.styles.js +89 -0
  22. package/cjs/components/Button/ButtonIcon.styles.js.map +1 -0
  23. package/cjs/components/Button/LoadingButtonIcon.d.ts +7 -0
  24. package/cjs/components/Button/LoadingButtonIcon.js +25 -0
  25. package/cjs/components/Button/LoadingButtonIcon.js.map +1 -0
  26. package/cjs/components/Button/getInnerLinkTheme.js +1 -0
  27. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  28. package/cjs/components/Calendar/Calendar.d.ts +1 -0
  29. package/cjs/components/Calendar/Calendar.js +10 -7
  30. package/cjs/components/Calendar/Calendar.js.map +1 -1
  31. package/cjs/components/Calendar/DayCellView.js +8 -5
  32. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  33. package/cjs/components/Center/Center.d.ts +1 -0
  34. package/cjs/components/Center/Center.js +2 -1
  35. package/cjs/components/Center/Center.js.map +1 -1
  36. package/cjs/components/Checkbox/Checkbox.d.ts +7 -2
  37. package/cjs/components/Checkbox/Checkbox.js +14 -8
  38. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  39. package/cjs/components/ComboBox/ComboBox.d.ts +3 -1
  40. package/cjs/components/ComboBox/ComboBox.js +3 -1
  41. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  42. package/cjs/components/ComboBox/ComboBox.md +4 -5
  43. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -0
  44. package/cjs/components/CurrencyInput/CurrencyInput.js +5 -2
  45. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  46. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +1 -0
  47. package/cjs/components/CurrencyLabel/CurrencyLabel.js +1 -0
  48. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  49. package/cjs/components/DateInput/DateFragmentsView.js +2 -1
  50. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  51. package/cjs/components/DateInput/DateInput.d.ts +3 -1
  52. package/cjs/components/DateInput/DateInput.js +5 -2
  53. package/cjs/components/DateInput/DateInput.js.map +1 -1
  54. package/cjs/components/DateInput/helpers/SelectionHelpers.js +11 -10
  55. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  56. package/cjs/components/DatePicker/DatePicker.d.ts +4 -2
  57. package/cjs/components/DatePicker/DatePicker.js +4 -2
  58. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  59. package/cjs/components/DatePicker/Picker.d.ts +1 -0
  60. package/cjs/components/DatePicker/Picker.js +2 -1
  61. package/cjs/components/DatePicker/Picker.js.map +1 -1
  62. package/cjs/components/Dropdown/Dropdown.d.ts +4 -2
  63. package/cjs/components/Dropdown/Dropdown.js +3 -1
  64. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  65. package/cjs/components/Dropdown/getDropdownTheme.js +21 -22
  66. package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
  67. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -0
  68. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -1
  69. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  70. package/cjs/components/FileUploader/FileUploader.d.ts +6 -2
  71. package/cjs/components/FileUploader/FileUploader.js +11 -6
  72. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  73. package/cjs/components/FileUploader/FileUploader.styles.d.ts +1 -1
  74. package/cjs/components/FileUploader/FileUploader.styles.js +10 -2
  75. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  76. package/cjs/components/FxInput/FxInput.d.ts +1 -0
  77. package/cjs/components/FxInput/FxInput.js +3 -1
  78. package/cjs/components/FxInput/FxInput.js.map +1 -1
  79. package/cjs/components/FxInput/FxInputRestoreBtn.js +1 -0
  80. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  81. package/cjs/components/Gapped/Gapped.d.ts +1 -0
  82. package/cjs/components/Gapped/Gapped.js +2 -1
  83. package/cjs/components/Gapped/Gapped.js.map +1 -1
  84. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +3 -2
  85. package/cjs/components/GlobalLoader/GlobalLoader.js +12 -14
  86. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  87. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  88. package/cjs/components/GlobalLoader/GlobalLoaderView.js +3 -5
  89. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  90. package/cjs/components/Group/Group.d.ts +1 -0
  91. package/cjs/components/Group/Group.js +3 -1
  92. package/cjs/components/Group/Group.js.map +1 -1
  93. package/cjs/components/Hint/Hint.d.ts +1 -0
  94. package/cjs/components/Hint/Hint.js +6 -4
  95. package/cjs/components/Hint/Hint.js.map +1 -1
  96. package/cjs/components/Input/Input.d.ts +29 -7
  97. package/cjs/components/Input/Input.js +50 -24
  98. package/cjs/components/Input/Input.js.map +1 -1
  99. package/cjs/components/Input/Input.typings.d.ts +7 -0
  100. package/cjs/components/Input/Input.typings.js +1 -0
  101. package/cjs/components/Input/Input.typings.js.map +1 -0
  102. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -1
  103. package/cjs/components/Input/InputLayout/InputLayout.styles.js +7 -2
  104. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  105. package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -7
  106. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  107. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -0
  108. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  109. package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  110. package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
  111. package/cjs/components/Input/index.d.ts +1 -0
  112. package/cjs/components/Input/index.js +2 -1
  113. package/cjs/components/Input/index.js.map +1 -1
  114. package/cjs/components/Kebab/Kebab.d.ts +3 -1
  115. package/cjs/components/Kebab/Kebab.js +4 -2
  116. package/cjs/components/Kebab/Kebab.js.map +1 -1
  117. package/cjs/components/Link/Link.d.ts +7 -2
  118. package/cjs/components/Link/Link.js +28 -18
  119. package/cjs/components/Link/Link.js.map +1 -1
  120. package/cjs/components/Link/Link.md +81 -7
  121. package/cjs/components/Link/Link.styles.d.ts +4 -1
  122. package/cjs/components/Link/Link.styles.js +42 -23
  123. package/cjs/components/Link/Link.styles.js.map +1 -1
  124. package/cjs/components/Link/LinkIcon.d.ts +6 -0
  125. package/cjs/components/Link/LinkIcon.js +29 -0
  126. package/cjs/components/Link/LinkIcon.js.map +1 -0
  127. package/cjs/components/Loader/Loader.d.ts +1 -0
  128. package/cjs/components/Loader/Loader.js +10 -8
  129. package/cjs/components/Loader/Loader.js.map +1 -1
  130. package/cjs/components/MaskedInput/MaskedInput.d.ts +24 -0
  131. package/cjs/components/MaskedInput/MaskedInput.js +78 -0
  132. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -0
  133. package/cjs/components/MaskedInput/MaskedInput.md +21 -0
  134. package/cjs/components/MaskedInput/index.js.map +1 -0
  135. package/cjs/components/MenuFooter/MenuFooter.d.ts +7 -2
  136. package/cjs/components/MenuFooter/MenuFooter.js +5 -0
  137. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  138. package/cjs/components/MenuHeader/MenuHeader.d.ts +7 -2
  139. package/cjs/components/MenuHeader/MenuHeader.js +8 -1
  140. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  141. package/cjs/components/MenuItem/MenuItem.d.ts +31 -2
  142. package/cjs/components/MenuItem/MenuItem.js +139 -18
  143. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  144. package/cjs/components/MenuItem/MenuItem.md +20 -6
  145. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +1 -0
  146. package/cjs/components/MenuSeparator/MenuSeparator.js +2 -1
  147. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  148. package/cjs/components/MiniModal/MiniModal.d.ts +18 -0
  149. package/cjs/components/MiniModal/MiniModal.js +45 -0
  150. package/cjs/components/MiniModal/MiniModal.js.map +1 -0
  151. package/cjs/components/MiniModal/MiniModal.md +233 -0
  152. package/cjs/components/MiniModal/MiniModal.styles.d.ts +14 -0
  153. package/cjs/components/MiniModal/MiniModal.styles.js +87 -0
  154. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -0
  155. package/cjs/components/MiniModal/MiniModalBody.d.ts +7 -0
  156. package/cjs/components/MiniModal/MiniModalBody.js +24 -0
  157. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -0
  158. package/cjs/components/MiniModal/MiniModalFooter.d.ts +18 -0
  159. package/cjs/components/MiniModal/MiniModalFooter.js +60 -0
  160. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -0
  161. package/cjs/components/MiniModal/MiniModalHeader.d.ts +17 -0
  162. package/cjs/components/MiniModal/MiniModalHeader.js +47 -0
  163. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -0
  164. package/cjs/components/MiniModal/MiniModalIndent.d.ts +6 -0
  165. package/cjs/components/MiniModal/MiniModalIndent.js +29 -0
  166. package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -0
  167. package/cjs/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  168. package/cjs/components/MiniModal/getMiniModalTheme.js +24 -0
  169. package/cjs/components/MiniModal/getMiniModalTheme.js.map +1 -0
  170. package/cjs/components/MiniModal/index.d.ts +5 -0
  171. package/cjs/components/MiniModal/index.js +5 -0
  172. package/cjs/components/MiniModal/index.js.map +1 -0
  173. package/cjs/components/Modal/Modal.d.ts +7 -0
  174. package/cjs/components/Modal/Modal.js +16 -1
  175. package/cjs/components/Modal/Modal.js.map +1 -1
  176. package/cjs/components/Modal/Modal.styles.d.ts +5 -0
  177. package/cjs/components/Modal/Modal.styles.js +56 -39
  178. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  179. package/cjs/components/Modal/ModalBody.d.ts +1 -0
  180. package/cjs/components/Modal/ModalBody.js +2 -1
  181. package/cjs/components/Modal/ModalBody.js.map +1 -1
  182. package/cjs/components/Modal/ModalClose.d.ts +4 -0
  183. package/cjs/components/Modal/ModalClose.js +6 -2
  184. package/cjs/components/Modal/ModalClose.js.map +1 -1
  185. package/cjs/components/Modal/ModalFooter.d.ts +1 -0
  186. package/cjs/components/Modal/ModalFooter.js +1 -0
  187. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  188. package/cjs/components/Modal/ModalHeader.d.ts +1 -0
  189. package/cjs/components/Modal/ModalHeader.js +2 -1
  190. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  191. package/cjs/components/Modal/ModalSeparator.d.ts +9 -0
  192. package/cjs/components/Modal/ModalSeparator.js +9 -1
  193. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  194. package/cjs/components/Modal/getModalTheme.d.ts +2 -2
  195. package/cjs/components/Modal/getModalTheme.js +6 -2
  196. package/cjs/components/Modal/getModalTheme.js.map +1 -1
  197. package/cjs/components/Paging/NavigationHelper.js +2 -1
  198. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  199. package/cjs/components/Paging/Paging.d.ts +1 -0
  200. package/cjs/components/Paging/Paging.js +27 -21
  201. package/cjs/components/Paging/Paging.js.map +1 -1
  202. package/cjs/components/Paging/Paging.styles.d.ts +0 -1
  203. package/cjs/components/Paging/Paging.styles.js +5 -10
  204. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  205. package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -0
  206. package/cjs/components/PasswordInput/PasswordInput.js +6 -3
  207. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  208. package/cjs/components/Radio/Radio.d.ts +7 -2
  209. package/cjs/components/Radio/Radio.js +8 -2
  210. package/cjs/components/Radio/Radio.js.map +1 -1
  211. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
  212. package/cjs/components/RadioGroup/RadioGroup.js +2 -1
  213. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  214. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -0
  215. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +4 -1
  216. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  217. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +5 -6
  218. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  219. package/cjs/components/ScrollContainer/ScrollBar.d.ts +4 -7
  220. package/cjs/components/ScrollContainer/ScrollBar.js +15 -45
  221. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  222. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +1 -2
  223. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
  224. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +19 -3
  225. package/cjs/components/ScrollContainer/ScrollContainer.js +103 -21
  226. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  227. package/cjs/components/ScrollContainer/ScrollContainer.md +29 -2
  228. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  229. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +8 -30
  230. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  231. package/cjs/components/Select/Item.d.ts +2 -0
  232. package/cjs/components/Select/Item.js +4 -2
  233. package/cjs/components/Select/Item.js.map +1 -1
  234. package/cjs/components/Select/Select.d.ts +8 -3
  235. package/cjs/components/Select/Select.js +31 -10
  236. package/cjs/components/Select/Select.js.map +1 -1
  237. package/cjs/components/Select/Select.md +12 -0
  238. package/cjs/components/SidePage/SidePage.d.ts +4 -1
  239. package/cjs/components/SidePage/SidePage.js +41 -5
  240. package/cjs/components/SidePage/SidePage.js.map +1 -1
  241. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  242. package/cjs/components/SidePage/SidePageBody.js +2 -1
  243. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  244. package/cjs/components/SidePage/SidePageCloseButton.d.ts +5 -1
  245. package/cjs/components/SidePage/SidePageCloseButton.js +6 -2
  246. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  247. package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
  248. package/cjs/components/SidePage/SidePageContainer.js +2 -1
  249. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  250. package/cjs/components/SidePage/SidePageFooter.d.ts +1 -0
  251. package/cjs/components/SidePage/SidePageFooter.js +2 -1
  252. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  253. package/cjs/components/SidePage/SidePageHeader.d.ts +2 -0
  254. package/cjs/components/SidePage/SidePageHeader.js +10 -7
  255. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  256. package/cjs/components/SingleToast/SingleToast.d.ts +13 -0
  257. package/cjs/components/SingleToast/SingleToast.js +23 -0
  258. package/cjs/components/SingleToast/SingleToast.js.map +1 -0
  259. package/cjs/components/SingleToast/SingleToast.md +35 -0
  260. package/cjs/components/SingleToast/index.d.ts +1 -0
  261. package/cjs/components/SingleToast/index.js +1 -0
  262. package/cjs/components/SingleToast/index.js.map +1 -0
  263. package/cjs/components/Spinner/Spinner.d.ts +2 -0
  264. package/cjs/components/Spinner/Spinner.js +17 -1
  265. package/cjs/components/Spinner/Spinner.js.map +1 -1
  266. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +6 -2
  267. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  268. package/cjs/components/Sticky/Sticky.d.ts +1 -0
  269. package/cjs/components/Sticky/Sticky.js +9 -9
  270. package/cjs/components/Sticky/Sticky.js.map +1 -1
  271. package/cjs/components/Switcher/Switcher.d.ts +9 -4
  272. package/cjs/components/Switcher/Switcher.js +6 -1
  273. package/cjs/components/Switcher/Switcher.js.map +1 -1
  274. package/cjs/components/Tabs/Indicator.js +3 -1
  275. package/cjs/components/Tabs/Indicator.js.map +1 -1
  276. package/cjs/components/Tabs/Tab.d.ts +17 -32
  277. package/cjs/components/Tabs/Tab.js +15 -26
  278. package/cjs/components/Tabs/Tab.js.map +1 -1
  279. package/cjs/components/Tabs/Tab.md +71 -0
  280. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  281. package/cjs/components/Tabs/Tabs.d.ts +14 -18
  282. package/cjs/components/Tabs/Tabs.js +7 -10
  283. package/cjs/components/Tabs/Tabs.js.map +1 -1
  284. package/cjs/components/Tabs/Tabs.md +7 -22
  285. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  286. package/cjs/components/Tabs/TabsContext.d.ts +3 -2
  287. package/cjs/components/Tabs/TabsContext.js +1 -0
  288. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  289. package/cjs/components/Tabs/helpers.d.ts +5 -5
  290. package/cjs/components/Tabs/helpers.js +3 -2
  291. package/cjs/components/Tabs/helpers.js.map +1 -1
  292. package/cjs/components/Textarea/Textarea.d.ts +8 -2
  293. package/cjs/components/Textarea/Textarea.js +44 -12
  294. package/cjs/components/Textarea/Textarea.js.map +1 -1
  295. package/cjs/components/Textarea/TextareaCounter.d.ts +4 -3
  296. package/cjs/components/Textarea/TextareaCounter.js +3 -1
  297. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  298. package/cjs/components/Textarea/TextareaHelpers.d.ts +1 -1
  299. package/cjs/components/Textarea/TextareaHelpers.js +7 -2
  300. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  301. package/cjs/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
  302. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js +20 -0
  303. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -0
  304. package/cjs/components/Toast/Toast.d.ts +11 -3
  305. package/cjs/components/Toast/Toast.js +29 -9
  306. package/cjs/components/Toast/Toast.js.map +1 -1
  307. package/cjs/components/Toast/Toast.md +0 -105
  308. package/cjs/components/Toast/ToastStatic.js +4 -3
  309. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  310. package/cjs/components/Toggle/Toggle.d.ts +7 -2
  311. package/cjs/components/Toggle/Toggle.js +6 -1
  312. package/cjs/components/Toggle/Toggle.js.map +1 -1
  313. package/cjs/components/Token/Token.d.ts +1 -0
  314. package/cjs/components/Token/Token.js +3 -1
  315. package/cjs/components/Token/Token.js.map +1 -1
  316. package/cjs/components/TokenInput/TokenInput.d.ts +3 -0
  317. package/cjs/components/TokenInput/TokenInput.js +43 -9
  318. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  319. package/cjs/components/TokenInput/TokenInput.md +71 -0
  320. package/cjs/components/TokenInput/TokenInputMenu.d.ts +1 -0
  321. package/cjs/components/TokenInput/TokenInputMenu.js +2 -1
  322. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  323. package/cjs/components/Tooltip/Tooltip.d.ts +7 -1
  324. package/cjs/components/Tooltip/Tooltip.js +16 -5
  325. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  326. package/cjs/components/Tooltip/Tooltip.md +24 -0
  327. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -0
  328. package/cjs/components/TooltipMenu/TooltipMenu.js +3 -1
  329. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  330. package/cjs/hooks/useDrop.js +3 -2
  331. package/cjs/hooks/useDrop.js.map +1 -1
  332. package/cjs/index.d.ts +4 -0
  333. package/cjs/index.js +4 -0
  334. package/cjs/index.js.map +1 -1
  335. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +6 -2
  336. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  337. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +5 -26
  338. package/cjs/internal/CommonWrapper/CommonWrapper.js +7 -56
  339. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  340. package/cjs/internal/CommonWrapper/extractCommonProps.d.ts +3 -0
  341. package/cjs/internal/CommonWrapper/extractCommonProps.js +34 -0
  342. package/cjs/internal/CommonWrapper/extractCommonProps.js.map +1 -0
  343. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.d.ts +2 -0
  344. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js +12 -0
  345. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js.map +1 -0
  346. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.d.ts +3 -0
  347. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js +23 -0
  348. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js.map +1 -0
  349. package/cjs/internal/CommonWrapper/index.d.ts +2 -0
  350. package/cjs/internal/CommonWrapper/index.js.map +1 -1
  351. package/cjs/internal/CommonWrapper/types.d.ts +25 -0
  352. package/cjs/internal/CommonWrapper/types.js +1 -0
  353. package/cjs/internal/CommonWrapper/types.js.map +1 -0
  354. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +3 -1
  355. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -1
  356. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  357. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +7 -9
  358. package/cjs/internal/CustomComboBox/ComboBoxView.js +17 -34
  359. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  360. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +6 -2
  361. package/cjs/internal/CustomComboBox/CustomComboBox.js +36 -9
  362. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  363. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
  364. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +33 -3
  365. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  366. package/cjs/internal/DateSelect/DateSelect.d.ts +1 -0
  367. package/cjs/internal/DateSelect/DateSelect.js +22 -17
  368. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  369. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +1 -1
  370. package/cjs/internal/DropdownContainer/DropdownContainer.js +16 -14
  371. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  372. package/cjs/internal/DropdownContainer/getManualPosition.js +6 -4
  373. package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -1
  374. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
  375. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -3
  376. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  377. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  378. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +1 -1
  379. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -1
  380. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -2
  381. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +2 -1
  382. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  383. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  384. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -1
  385. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  386. package/cjs/internal/FocusTrap/FocusTrap.js +10 -6
  387. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  388. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
  389. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +20 -20
  390. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  391. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +4 -1
  392. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  393. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  394. package/cjs/internal/InputLikeText/InputLikeText.js +18 -16
  395. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  396. package/cjs/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +9 -5
  397. package/cjs/internal/{MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput.js} +12 -8
  398. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
  399. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +1 -0
  400. package/cjs/internal/InternalMaskedInput/index.d.ts +1 -0
  401. package/cjs/internal/InternalMaskedInput/index.js +1 -0
  402. package/cjs/internal/InternalMaskedInput/index.js.map +1 -0
  403. package/cjs/internal/InternalMenu/InternalMenu.d.ts +1 -0
  404. package/cjs/internal/InternalMenu/InternalMenu.js +9 -7
  405. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  406. package/cjs/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
  407. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
  408. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js +52 -0
  409. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js.map +1 -0
  410. package/cjs/internal/MaskedInputElement/MaskedInputElement.js +196 -0
  411. package/cjs/internal/MaskedInputElement/MaskedInputElement.js.map +1 -0
  412. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js +29 -0
  413. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js.map +1 -0
  414. package/cjs/internal/MaskedInputElement/index.d.ts +1 -0
  415. package/cjs/internal/MaskedInputElement/index.js +1 -0
  416. package/cjs/internal/MaskedInputElement/index.js.map +1 -0
  417. package/cjs/internal/Menu/Menu.d.ts +7 -0
  418. package/cjs/internal/Menu/Menu.js +85 -16
  419. package/cjs/internal/Menu/Menu.js.map +1 -1
  420. package/cjs/internal/Menu/MenuContext.d.ts +10 -0
  421. package/cjs/internal/Menu/MenuContext.js +16 -0
  422. package/cjs/internal/Menu/MenuContext.js.map +1 -0
  423. package/cjs/internal/Menu/MenuNavigation.d.ts +26 -0
  424. package/cjs/internal/Menu/MenuNavigation.js +107 -0
  425. package/cjs/internal/Menu/MenuNavigation.js.map +1 -0
  426. package/cjs/internal/Menu/isActiveElement.js +1 -1
  427. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  428. package/cjs/internal/MenuMessage/MenuMessage.d.ts +3 -3
  429. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
  430. package/cjs/internal/MobilePopup/MobilePopup.d.ts +1 -0
  431. package/cjs/internal/MobilePopup/MobilePopup.js +2 -1
  432. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  433. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
  434. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +2 -1
  435. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  436. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
  437. package/cjs/internal/NativeDateInput/NativeDateInput.js +3 -1
  438. package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  439. package/cjs/internal/Popup/Popup.d.ts +1 -0
  440. package/cjs/internal/Popup/Popup.js +14 -9
  441. package/cjs/internal/Popup/Popup.js.map +1 -1
  442. package/cjs/internal/Popup/PopupHelper.js +9 -7
  443. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  444. package/cjs/internal/Popup/PopupPin.d.ts +1 -0
  445. package/cjs/internal/Popup/PopupPin.js +2 -1
  446. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  447. package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -0
  448. package/cjs/internal/PopupMenu/PopupMenu.js +5 -3
  449. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  450. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -1
  451. package/cjs/internal/RenderContainer/RenderContainer.js +19 -22
  452. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  453. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +3 -0
  454. package/cjs/internal/RenderContainer/RenderInnerContainer.js +9 -3
  455. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  456. package/cjs/internal/RenderLayer/RenderLayer.d.ts +1 -0
  457. package/cjs/internal/RenderLayer/RenderLayer.js +6 -3
  458. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  459. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  460. package/cjs/internal/ResizeDetector/ResizeDetector.js +2 -1
  461. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  462. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  463. package/cjs/internal/ThemePlayground/SizesGroup.js +1 -0
  464. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  465. package/cjs/internal/ThemePlayground/VariableValue.js +1 -0
  466. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  467. package/cjs/internal/ThemePlayground/constants.js +1 -0
  468. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  469. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  470. package/cjs/internal/ThemeShowcase/VariablesCollector.js +6 -4
  471. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  472. package/cjs/internal/ZIndex/ZIndex.d.ts +1 -0
  473. package/cjs/internal/ZIndex/ZIndex.js +3 -2
  474. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  475. package/cjs/internal/ZIndex/ZIndexStorage.js +2 -2
  476. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  477. package/cjs/internal/icons/16px/index.d.ts +19 -19
  478. package/cjs/internal/icons/20px/Icon.d.ts +1 -0
  479. package/cjs/internal/icons/20px/Icon.js +2 -1
  480. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  481. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  482. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  483. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  484. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  485. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  486. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  487. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  488. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  489. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  490. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  491. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  492. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  493. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  494. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  495. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  496. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  497. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  498. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  499. package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
  500. package/cjs/internal/icons2022/BaseIcon.js +3 -7
  501. package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
  502. package/cjs/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  503. package/cjs/internal/icons2022/BaseIcon.styles.js +14 -0
  504. package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -0
  505. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  506. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  507. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  508. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  509. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  510. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  511. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  512. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  513. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  514. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  515. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  516. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  517. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  518. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  519. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  520. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  521. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +20 -0
  522. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -0
  523. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  524. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  525. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  526. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  527. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  528. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  529. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  530. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  531. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  532. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  533. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  534. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  535. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  536. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  537. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  538. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  539. package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  540. package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  541. package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  542. package/cjs/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  543. package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  544. package/cjs/internal/themes/DefaultTheme.d.ts +70 -2
  545. package/cjs/internal/themes/DefaultTheme.js +135 -7
  546. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  547. package/cjs/internal/themes/Theme2022.d.ts +18 -2
  548. package/cjs/internal/themes/Theme2022.js +41 -5
  549. package/cjs/internal/themes/Theme2022.js.map +1 -1
  550. package/cjs/internal/themes/Theme2022Dark.d.ts +4 -4
  551. package/cjs/internal/themes/Theme2022Dark.js +9 -5
  552. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  553. package/cjs/lib/LayoutEvents.js +5 -4
  554. package/cjs/lib/LayoutEvents.js.map +1 -1
  555. package/cjs/lib/ModalStack.js +2 -3
  556. package/cjs/lib/ModalStack.js.map +1 -1
  557. package/cjs/lib/SSRSafe.d.ts +1 -6
  558. package/cjs/lib/SSRSafe.js +4 -48
  559. package/cjs/lib/SSRSafe.js.map +1 -1
  560. package/cjs/lib/Upgrades.d.ts +1 -0
  561. package/cjs/lib/Upgrades.js +3 -1
  562. package/cjs/lib/Upgrades.js.map +1 -1
  563. package/cjs/lib/animation/index.js +6 -4
  564. package/cjs/lib/animation/index.js.map +1 -1
  565. package/cjs/lib/chars.d.ts +1 -1
  566. package/cjs/lib/chars.js +2 -2
  567. package/cjs/lib/chars.js.map +1 -1
  568. package/cjs/lib/client.d.ts +2 -7
  569. package/cjs/lib/client.js +9 -7
  570. package/cjs/lib/client.js.map +1 -1
  571. package/cjs/lib/dom/getScrollWidth.js +4 -4
  572. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  573. package/cjs/lib/dom/tabbableHelpers.d.ts +2 -1
  574. package/cjs/lib/dom/tabbableHelpers.js +8 -2
  575. package/cjs/lib/dom/tabbableHelpers.js.map +1 -1
  576. package/cjs/lib/events/MouseDrag.js +11 -11
  577. package/cjs/lib/events/MouseDrag.js.map +1 -1
  578. package/cjs/lib/events/fixClickFocusIE.js +6 -3
  579. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  580. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +5 -2
  581. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  582. package/cjs/lib/events/keyListener.js +9 -11
  583. package/cjs/lib/events/keyListener.js.map +1 -1
  584. package/cjs/lib/events/keyboard/identifiers.js +5 -2
  585. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  586. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +223 -0
  587. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -0
  588. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +5 -0
  589. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -0
  590. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  591. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +24 -0
  592. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  593. package/cjs/lib/featureFlagsContext/index.d.ts +2 -0
  594. package/cjs/lib/featureFlagsContext/index.js +3 -0
  595. package/cjs/lib/featureFlagsContext/index.js.map +1 -0
  596. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  597. package/cjs/lib/forwardRefAndName.js +4 -1
  598. package/cjs/lib/forwardRefAndName.js.map +1 -1
  599. package/cjs/lib/isInstanceOf.d.ts +1 -0
  600. package/cjs/lib/isInstanceOf.js +6 -0
  601. package/cjs/lib/isInstanceOf.js.map +1 -0
  602. package/cjs/lib/listenFocusOutside.js +15 -15
  603. package/cjs/lib/listenFocusOutside.js.map +1 -1
  604. package/cjs/lib/locale/LocaleContext.js +2 -1
  605. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  606. package/cjs/lib/needsPolyfillPlaceholder.js +5 -3
  607. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
  608. package/cjs/lib/net/fetch.js +24 -18
  609. package/cjs/lib/net/fetch.js.map +1 -1
  610. package/cjs/lib/rootNode/getRootNode.js +6 -6
  611. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  612. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -0
  613. package/cjs/lib/rootNode/rootNodeDecorator.js +4 -1
  614. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  615. package/cjs/lib/styles/ColorFactory.js +13 -11
  616. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  617. package/cjs/lib/styles/ColorHelpers.d.ts +1 -1
  618. package/cjs/lib/styles/ColorHelpers.js +3 -7
  619. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  620. package/cjs/lib/taskWithDelayAndMinimalDuration.js +5 -5
  621. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  622. package/cjs/lib/theming/Emotion.js +4 -2
  623. package/cjs/lib/theming/Emotion.js.map +1 -1
  624. package/cjs/lib/theming/ThemeContext.js +2 -1
  625. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  626. package/cjs/lib/toKebabCase.d.ts +1 -0
  627. package/cjs/lib/toKebabCase.js +10 -0
  628. package/cjs/lib/toKebabCase.js.map +1 -0
  629. package/cjs/lib/types/props.d.ts +1 -0
  630. package/cjs/lib/types/props.js +1 -0
  631. package/cjs/lib/types/props.js.map +1 -0
  632. package/cjs/lib/utils.d.ts +7 -0
  633. package/cjs/lib/utils.js +29 -7
  634. package/cjs/lib/utils.js.map +1 -1
  635. package/cjs/typings/global-react.d.ts +12 -0
  636. package/cjs/typings/global.d.ts +3 -4
  637. package/components/Autocomplete/Autocomplete/Autocomplete.js +1 -1
  638. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  639. package/components/Autocomplete/Autocomplete.d.ts +3 -1
  640. package/components/Button/Button/Button.js +46 -33
  641. package/components/Button/Button/Button.js.map +1 -1
  642. package/components/Button/Button.d.ts +13 -3
  643. package/components/Button/Button.md +106 -30
  644. package/components/Button/Button.mixins/Button.mixins.js +2 -2
  645. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  646. package/components/Button/Button.mixins.d.ts +1 -1
  647. package/components/Button/Button.styles/Button.styles.js +24 -41
  648. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  649. package/components/Button/Button.styles.d.ts +1 -6
  650. package/components/Button/ButtonArrow/ButtonArrow.js +1 -1
  651. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  652. package/components/Button/ButtonIcon/ButtonIcon.js +30 -19
  653. package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
  654. package/components/Button/ButtonIcon.d.ts +7 -5
  655. package/components/Button/ButtonIcon.styles/ButtonIcon.styles.js +49 -0
  656. package/components/Button/ButtonIcon.styles/ButtonIcon.styles.js.map +1 -0
  657. package/components/Button/ButtonIcon.styles/package.json +6 -0
  658. package/components/Button/ButtonIcon.styles.d.ts +16 -0
  659. package/components/Button/LoadingButtonIcon/LoadingButtonIcon.js +23 -0
  660. package/components/Button/LoadingButtonIcon/LoadingButtonIcon.js.map +1 -0
  661. package/components/Button/LoadingButtonIcon/package.json +6 -0
  662. package/components/Button/LoadingButtonIcon.d.ts +7 -0
  663. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
  664. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  665. package/components/Calendar/Calendar/Calendar.js +9 -7
  666. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  667. package/components/Calendar/Calendar.d.ts +1 -0
  668. package/components/Calendar/DayCellView/DayCellView.js +9 -3
  669. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  670. package/components/Center/Center/Center.js +1 -1
  671. package/components/Center/Center/Center.js.map +1 -1
  672. package/components/Center/Center.d.ts +1 -0
  673. package/components/Checkbox/Checkbox/Checkbox.js +15 -6
  674. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  675. package/components/Checkbox/Checkbox.d.ts +7 -2
  676. package/components/ComboBox/ComboBox/ComboBox.js +1 -1
  677. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  678. package/components/ComboBox/ComboBox.d.ts +3 -1
  679. package/components/ComboBox/ComboBox.md +4 -5
  680. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +4 -2
  681. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  682. package/components/CurrencyInput/CurrencyInput.d.ts +1 -0
  683. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -0
  684. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  685. package/components/CurrencyLabel/CurrencyLabel.d.ts +1 -0
  686. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +4 -1
  687. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  688. package/components/DateInput/DateInput/DateInput.js +3 -2
  689. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  690. package/components/DateInput/DateInput.d.ts +3 -1
  691. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
  692. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  693. package/components/DatePicker/DatePicker/DatePicker.js +2 -2
  694. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  695. package/components/DatePicker/DatePicker.d.ts +4 -2
  696. package/components/DatePicker/Picker/Picker.js +1 -1
  697. package/components/DatePicker/Picker/Picker.js.map +1 -1
  698. package/components/DatePicker/Picker.d.ts +1 -0
  699. package/components/Dropdown/Dropdown/Dropdown.js +1 -1
  700. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  701. package/components/Dropdown/Dropdown.d.ts +4 -2
  702. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
  703. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
  704. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
  705. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  706. package/components/DropdownMenu/DropdownMenu.d.ts +1 -0
  707. package/components/FileUploader/FileUploader/FileUploader.js +11 -6
  708. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  709. package/components/FileUploader/FileUploader.d.ts +6 -2
  710. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +2 -2
  711. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  712. package/components/FileUploader/FileUploader.styles.d.ts +1 -1
  713. package/components/FxInput/FxInput/FxInput.js +1 -1
  714. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  715. package/components/FxInput/FxInput.d.ts +1 -0
  716. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  717. package/components/Gapped/Gapped/Gapped.js +1 -1
  718. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  719. package/components/Gapped/Gapped.d.ts +1 -0
  720. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +31 -35
  721. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  722. package/components/GlobalLoader/GlobalLoader.d.ts +3 -2
  723. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +2 -3
  724. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  725. package/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  726. package/components/Group/Group/Group.js +1 -1
  727. package/components/Group/Group/Group.js.map +1 -1
  728. package/components/Group/Group.d.ts +1 -0
  729. package/components/Hint/Hint/Hint.js +6 -6
  730. package/components/Hint/Hint/Hint.js.map +1 -1
  731. package/components/Hint/Hint.d.ts +1 -0
  732. package/components/Input/Input/Input.js +33 -17
  733. package/components/Input/Input/Input.js.map +1 -1
  734. package/components/Input/Input.d.ts +29 -7
  735. package/components/Input/Input.typings/Input.typings.js +1 -0
  736. package/components/Input/Input.typings/Input.typings.js.map +1 -0
  737. package/components/Input/Input.typings/package.json +6 -0
  738. package/components/Input/Input.typings.d.ts +7 -0
  739. package/components/Input/InputLayout/InputLayout.d.ts +1 -1
  740. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -1
  741. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  742. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
  743. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
  744. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  745. package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +1 -1
  746. package/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  747. package/components/Input/index/index.js +2 -1
  748. package/components/Input/index/index.js.map +1 -1
  749. package/components/Input/index.d.ts +1 -0
  750. package/components/Kebab/Kebab/Kebab.js +3 -2
  751. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  752. package/components/Kebab/Kebab.d.ts +3 -1
  753. package/components/Link/Link/Link.js +21 -20
  754. package/components/Link/Link/Link.js.map +1 -1
  755. package/components/Link/Link.d.ts +7 -2
  756. package/components/Link/Link.md +81 -7
  757. package/components/Link/Link.styles/Link.styles.js +32 -23
  758. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  759. package/components/Link/Link.styles.d.ts +4 -1
  760. package/components/Link/LinkIcon/LinkIcon.js +19 -0
  761. package/components/Link/LinkIcon/LinkIcon.js.map +1 -0
  762. package/components/Link/LinkIcon/package.json +6 -0
  763. package/components/Link/LinkIcon.d.ts +6 -0
  764. package/components/Loader/Loader/Loader.js +10 -7
  765. package/components/Loader/Loader/Loader.js.map +1 -1
  766. package/components/Loader/Loader.d.ts +1 -0
  767. package/components/MaskedInput/MaskedInput/MaskedInput.js +62 -0
  768. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -0
  769. package/{internal → components}/MaskedInput/MaskedInput/package.json +1 -1
  770. package/components/MaskedInput/MaskedInput.d.ts +24 -0
  771. package/components/MaskedInput/MaskedInput.md +21 -0
  772. package/components/MaskedInput/index/index.js.map +1 -0
  773. package/components/MaskedInput/index/package.json +6 -0
  774. package/components/MaskedInput/package.json +6 -0
  775. package/components/MenuFooter/MenuFooter/MenuFooter.js +5 -0
  776. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  777. package/components/MenuFooter/MenuFooter.d.ts +7 -2
  778. package/components/MenuHeader/MenuHeader/MenuHeader.js +8 -1
  779. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  780. package/components/MenuHeader/MenuHeader.d.ts +7 -2
  781. package/components/MenuItem/MenuItem/MenuItem.js +158 -21
  782. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  783. package/components/MenuItem/MenuItem.d.ts +31 -2
  784. package/components/MenuItem/MenuItem.md +20 -6
  785. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +1 -0
  786. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  787. package/components/MenuSeparator/MenuSeparator.d.ts +1 -0
  788. package/components/MiniModal/MiniModal/MiniModal.js +37 -0
  789. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -0
  790. package/components/MiniModal/MiniModal/package.json +6 -0
  791. package/components/MiniModal/MiniModal.d.ts +18 -0
  792. package/components/MiniModal/MiniModal.md +233 -0
  793. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +41 -0
  794. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -0
  795. package/components/MiniModal/MiniModal.styles/package.json +6 -0
  796. package/components/MiniModal/MiniModal.styles.d.ts +14 -0
  797. package/components/MiniModal/MiniModalBody/MiniModalBody.js +23 -0
  798. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -0
  799. package/components/MiniModal/MiniModalBody/package.json +6 -0
  800. package/components/MiniModal/MiniModalBody.d.ts +7 -0
  801. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +35 -0
  802. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -0
  803. package/components/MiniModal/MiniModalFooter/package.json +6 -0
  804. package/components/MiniModal/MiniModalFooter.d.ts +18 -0
  805. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js +33 -0
  806. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -0
  807. package/components/MiniModal/MiniModalHeader/package.json +6 -0
  808. package/components/MiniModal/MiniModalHeader.d.ts +17 -0
  809. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +27 -0
  810. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -0
  811. package/components/MiniModal/MiniModalIndent/package.json +6 -0
  812. package/components/MiniModal/MiniModalIndent.d.ts +6 -0
  813. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js +23 -0
  814. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js.map +1 -0
  815. package/components/MiniModal/getMiniModalTheme/package.json +6 -0
  816. package/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  817. package/components/MiniModal/index/index.js +5 -0
  818. package/components/MiniModal/index/index.js.map +1 -0
  819. package/{internal/MaskedInput → components/MiniModal}/index/package.json +1 -1
  820. package/components/MiniModal/index.d.ts +5 -0
  821. package/{internal/MaskedInput → components/MiniModal}/package.json +1 -1
  822. package/components/Modal/Modal/Modal.js +19 -14
  823. package/components/Modal/Modal/Modal.js.map +1 -1
  824. package/components/Modal/Modal.d.ts +7 -0
  825. package/components/Modal/Modal.styles/Modal.styles.js +44 -37
  826. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  827. package/components/Modal/Modal.styles.d.ts +5 -0
  828. package/components/Modal/ModalBody/ModalBody.js +1 -1
  829. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  830. package/components/Modal/ModalBody.d.ts +1 -0
  831. package/components/Modal/ModalClose/ModalClose.js +5 -2
  832. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  833. package/components/Modal/ModalClose.d.ts +4 -0
  834. package/components/Modal/ModalFooter/ModalFooter.js +1 -0
  835. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  836. package/components/Modal/ModalFooter.d.ts +1 -0
  837. package/components/Modal/ModalHeader/ModalHeader.js +2 -1
  838. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  839. package/components/Modal/ModalHeader.d.ts +1 -0
  840. package/components/Modal/ModalSeparator/ModalSeparator.js +9 -1
  841. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  842. package/components/Modal/ModalSeparator.d.ts +9 -0
  843. package/components/Modal/getModalTheme/getModalTheme.js +8 -3
  844. package/components/Modal/getModalTheme/getModalTheme.js.map +1 -1
  845. package/components/Modal/getModalTheme.d.ts +2 -2
  846. package/components/Paging/NavigationHelper/NavigationHelper.js +2 -1
  847. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  848. package/components/Paging/Paging/Paging.js +28 -16
  849. package/components/Paging/Paging/Paging.js.map +1 -1
  850. package/components/Paging/Paging.d.ts +1 -0
  851. package/components/Paging/Paging.styles/Paging.styles.js +3 -6
  852. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  853. package/components/Paging/Paging.styles.d.ts +0 -1
  854. package/components/PasswordInput/PasswordInput/PasswordInput.js +5 -3
  855. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  856. package/components/PasswordInput/PasswordInput.d.ts +1 -0
  857. package/components/Radio/Radio/Radio.js +7 -2
  858. package/components/Radio/Radio/Radio.js.map +1 -1
  859. package/components/Radio/Radio.d.ts +7 -2
  860. package/components/RadioGroup/RadioGroup/RadioGroup.js +1 -1
  861. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  862. package/components/RadioGroup/RadioGroup.d.ts +1 -0
  863. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +3 -1
  864. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  865. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -0
  866. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
  867. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  868. package/components/ScrollContainer/ScrollBar/ScrollBar.js +17 -50
  869. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  870. package/components/ScrollContainer/ScrollBar.d.ts +4 -7
  871. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +110 -23
  872. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  873. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +1 -2
  874. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
  875. package/components/ScrollContainer/ScrollContainer.d.ts +19 -3
  876. package/components/ScrollContainer/ScrollContainer.md +29 -2
  877. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +6 -18
  878. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  879. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  880. package/components/Select/Item/Item.js +5 -2
  881. package/components/Select/Item/Item.js.map +1 -1
  882. package/components/Select/Item.d.ts +2 -0
  883. package/components/Select/Select/Select.js +27 -18
  884. package/components/Select/Select/Select.js.map +1 -1
  885. package/components/Select/Select.d.ts +8 -3
  886. package/components/Select/Select.md +12 -0
  887. package/components/SidePage/SidePage/SidePage.js +39 -13
  888. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  889. package/components/SidePage/SidePage.d.ts +4 -1
  890. package/components/SidePage/SidePageBody/SidePageBody.js +1 -1
  891. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  892. package/components/SidePage/SidePageBody.d.ts +1 -0
  893. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +5 -2
  894. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  895. package/components/SidePage/SidePageCloseButton.d.ts +5 -1
  896. package/components/SidePage/SidePageContainer/SidePageContainer.js +1 -1
  897. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  898. package/components/SidePage/SidePageContainer.d.ts +1 -0
  899. package/components/SidePage/SidePageFooter/SidePageFooter.js +1 -1
  900. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  901. package/components/SidePage/SidePageFooter.d.ts +1 -0
  902. package/components/SidePage/SidePageHeader/SidePageHeader.js +7 -5
  903. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  904. package/components/SidePage/SidePageHeader.d.ts +2 -0
  905. package/components/SingleToast/SingleToast/SingleToast.js +55 -0
  906. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -0
  907. package/components/SingleToast/SingleToast/package.json +6 -0
  908. package/components/SingleToast/SingleToast.d.ts +13 -0
  909. package/components/SingleToast/SingleToast.md +35 -0
  910. package/components/SingleToast/index/index.js +1 -0
  911. package/components/SingleToast/index/index.js.map +1 -0
  912. package/components/SingleToast/index/package.json +6 -0
  913. package/components/SingleToast/index.d.ts +1 -0
  914. package/components/SingleToast/package.json +6 -0
  915. package/components/Spinner/Spinner/Spinner.js +11 -5
  916. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  917. package/components/Spinner/Spinner.d.ts +2 -0
  918. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
  919. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  920. package/components/Sticky/Sticky/Sticky.js +13 -9
  921. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  922. package/components/Sticky/Sticky.d.ts +1 -0
  923. package/components/Switcher/Switcher/Switcher.js +5 -1
  924. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  925. package/components/Switcher/Switcher.d.ts +9 -4
  926. package/components/Tabs/Indicator/Indicator.js +3 -1
  927. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  928. package/components/Tabs/Tab/Tab.js +13 -16
  929. package/components/Tabs/Tab/Tab.js.map +1 -1
  930. package/components/Tabs/Tab.d.ts +17 -32
  931. package/components/Tabs/Tab.md +71 -0
  932. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  933. package/components/Tabs/Tabs/Tabs.js +5 -5
  934. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  935. package/components/Tabs/Tabs.d.ts +14 -18
  936. package/components/Tabs/Tabs.md +7 -22
  937. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  938. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  939. package/components/Tabs/TabsContext.d.ts +3 -2
  940. package/components/Tabs/helpers/helpers.js +3 -0
  941. package/components/Tabs/helpers/helpers.js.map +1 -1
  942. package/components/Tabs/helpers.d.ts +5 -5
  943. package/components/Textarea/Textarea/Textarea.js +38 -20
  944. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  945. package/components/Textarea/Textarea.d.ts +8 -2
  946. package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
  947. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  948. package/components/Textarea/TextareaCounter.d.ts +4 -3
  949. package/components/Textarea/TextareaHelpers/TextareaHelpers.js +6 -1
  950. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  951. package/components/Textarea/TextareaHelpers.d.ts +1 -1
  952. package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js +21 -0
  953. package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js.map +1 -0
  954. package/components/Textarea/TextareaWithSafari17Workaround/package.json +6 -0
  955. package/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
  956. package/components/Toast/Toast/Toast.js +17 -8
  957. package/components/Toast/Toast/Toast.js.map +1 -1
  958. package/components/Toast/Toast.d.ts +11 -3
  959. package/components/Toast/Toast.md +0 -105
  960. package/components/Toast/ToastStatic/ToastStatic.js +4 -4
  961. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  962. package/components/Toggle/Toggle/Toggle.js +5 -1
  963. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  964. package/components/Toggle/Toggle.d.ts +7 -2
  965. package/components/Token/Token/Token.js +5 -4
  966. package/components/Token/Token/Token.js.map +1 -1
  967. package/components/Token/Token.d.ts +1 -0
  968. package/components/TokenInput/TokenInput/TokenInput.js +52 -12
  969. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  970. package/components/TokenInput/TokenInput.d.ts +3 -0
  971. package/components/TokenInput/TokenInput.md +71 -0
  972. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -1
  973. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  974. package/components/TokenInput/TokenInputMenu.d.ts +1 -0
  975. package/components/Tooltip/Tooltip/Tooltip.js +11 -8
  976. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  977. package/components/Tooltip/Tooltip.d.ts +7 -1
  978. package/components/Tooltip/Tooltip.md +24 -0
  979. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
  980. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  981. package/components/TooltipMenu/TooltipMenu.d.ts +1 -0
  982. package/hooks/useDrop/useDrop.js +3 -2
  983. package/hooks/useDrop/useDrop.js.map +1 -1
  984. package/index.d.ts +4 -0
  985. package/index.js +4 -0
  986. package/index.js.map +1 -1
  987. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +5 -2
  988. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  989. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +8 -38
  990. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  991. package/internal/CommonWrapper/CommonWrapper.d.ts +5 -26
  992. package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js +31 -0
  993. package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js.map +1 -0
  994. package/internal/CommonWrapper/extractCommonProps/package.json +6 -0
  995. package/internal/CommonWrapper/extractCommonProps.d.ts +3 -0
  996. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js +12 -0
  997. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +1 -0
  998. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/package.json +6 -0
  999. package/internal/CommonWrapper/getCommonVisualStateDataAttributes.d.ts +2 -0
  1000. package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js +16 -0
  1001. package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +1 -0
  1002. package/internal/CommonWrapper/getVisualStateDataAttributes/package.json +6 -0
  1003. package/internal/CommonWrapper/getVisualStateDataAttributes.d.ts +3 -0
  1004. package/internal/CommonWrapper/index/index.js +2 -1
  1005. package/internal/CommonWrapper/index/index.js.map +1 -1
  1006. package/internal/CommonWrapper/index.d.ts +2 -0
  1007. package/internal/CommonWrapper/types/package.json +6 -0
  1008. package/internal/CommonWrapper/types/types.js +1 -0
  1009. package/internal/CommonWrapper/types/types.js.map +1 -0
  1010. package/internal/CommonWrapper/types.d.ts +25 -0
  1011. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +1 -1
  1012. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  1013. package/internal/CustomComboBox/ComboBoxMenu.d.ts +3 -1
  1014. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +22 -33
  1015. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  1016. package/internal/CustomComboBox/ComboBoxView.d.ts +7 -9
  1017. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +22 -12
  1018. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  1019. package/internal/CustomComboBox/CustomComboBox.d.ts +6 -2
  1020. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +31 -2
  1021. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  1022. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
  1023. package/internal/DateSelect/DateSelect/DateSelect.js +21 -21
  1024. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  1025. package/internal/DateSelect/DateSelect.d.ts +1 -0
  1026. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +20 -17
  1027. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  1028. package/internal/DropdownContainer/DropdownContainer.d.ts +1 -1
  1029. package/internal/DropdownContainer/getManualPosition/getManualPosition.js +4 -3
  1030. package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -1
  1031. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +3 -2
  1032. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  1033. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
  1034. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +1 -1
  1035. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  1036. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +1 -0
  1037. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  1038. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -2
  1039. package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -1
  1040. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  1041. package/internal/FocusTrap/FocusTrap/FocusTrap.js +10 -4
  1042. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  1043. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  1044. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +26 -26
  1045. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  1046. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
  1047. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +4 -2
  1048. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  1049. package/internal/InputLikeText/InputLikeText/InputLikeText.js +30 -20
  1050. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1051. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  1052. package/internal/{MaskedInput/MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js} +14 -9
  1053. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
  1054. package/internal/InternalMaskedInput/InternalMaskedInput/package.json +6 -0
  1055. package/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +9 -5
  1056. package/{cjs/internal/MaskedInput/MaskedInput.styles.js.map → internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map} +1 -1
  1057. package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +6 -0
  1058. package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +6 -0
  1059. package/internal/InternalMaskedInput/index/index.js +1 -0
  1060. package/internal/InternalMaskedInput/index/index.js.map +1 -0
  1061. package/internal/InternalMaskedInput/index/package.json +6 -0
  1062. package/internal/InternalMaskedInput/index.d.ts +1 -0
  1063. package/internal/InternalMaskedInput/package.json +6 -0
  1064. package/internal/InternalMenu/InternalMenu/InternalMenu.js +11 -10
  1065. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1066. package/internal/InternalMenu/InternalMenu.d.ts +1 -0
  1067. package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js +206 -0
  1068. package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js.map +1 -0
  1069. package/internal/MaskedInputElement/MaskedInputElement/package.json +6 -0
  1070. package/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
  1071. package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js +43 -0
  1072. package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js.map +1 -0
  1073. package/internal/MaskedInputElement/MaskedInputElement.helpers/package.json +6 -0
  1074. package/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
  1075. package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js +16 -0
  1076. package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js.map +1 -0
  1077. package/internal/MaskedInputElement/MaskedInputElement.styles/package.json +6 -0
  1078. package/internal/MaskedInputElement/MaskedInputElement.styles.d.ts +6 -0
  1079. package/internal/MaskedInputElement/index/index.js +1 -0
  1080. package/internal/MaskedInputElement/index/index.js.map +1 -0
  1081. package/internal/MaskedInputElement/index/package.json +6 -0
  1082. package/internal/MaskedInputElement/index.d.ts +1 -0
  1083. package/internal/MaskedInputElement/package.json +6 -0
  1084. package/internal/Menu/Menu/Menu.js +145 -63
  1085. package/internal/Menu/Menu/Menu.js.map +1 -1
  1086. package/internal/Menu/Menu.d.ts +7 -0
  1087. package/internal/Menu/MenuContext/MenuContext.js +5 -0
  1088. package/internal/Menu/MenuContext/MenuContext.js.map +1 -0
  1089. package/internal/Menu/MenuContext/package.json +6 -0
  1090. package/internal/Menu/MenuContext.d.ts +10 -0
  1091. package/internal/Menu/MenuNavigation/MenuNavigation.js +123 -0
  1092. package/internal/Menu/MenuNavigation/MenuNavigation.js.map +1 -0
  1093. package/internal/Menu/MenuNavigation/package.json +6 -0
  1094. package/internal/Menu/MenuNavigation.d.ts +26 -0
  1095. package/internal/Menu/isActiveElement/isActiveElement.js +1 -1
  1096. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  1097. package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
  1098. package/internal/MenuMessage/MenuMessage.d.ts +3 -3
  1099. package/internal/MobilePopup/MobilePopup/MobilePopup.js +2 -1
  1100. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  1101. package/internal/MobilePopup/MobilePopup.d.ts +1 -0
  1102. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -1
  1103. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  1104. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
  1105. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js +2 -1
  1106. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js.map +1 -1
  1107. package/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
  1108. package/internal/Popup/Popup/Popup.js +13 -14
  1109. package/internal/Popup/Popup/Popup.js.map +1 -1
  1110. package/internal/Popup/Popup.d.ts +1 -0
  1111. package/internal/Popup/PopupHelper/PopupHelper.js +8 -5
  1112. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  1113. package/internal/Popup/PopupPin/PopupPin.js +1 -0
  1114. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  1115. package/internal/Popup/PopupPin.d.ts +1 -0
  1116. package/internal/PopupMenu/PopupMenu/PopupMenu.js +4 -3
  1117. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1118. package/internal/PopupMenu/PopupMenu.d.ts +1 -0
  1119. package/internal/RenderContainer/RenderContainer/RenderContainer.js +27 -16
  1120. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  1121. package/internal/RenderContainer/RenderContainer.d.ts +1 -1
  1122. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +6 -4
  1123. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  1124. package/internal/RenderContainer/RenderInnerContainer.d.ts +3 -0
  1125. package/internal/RenderLayer/RenderLayer/RenderLayer.js +12 -6
  1126. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  1127. package/internal/RenderLayer/RenderLayer.d.ts +1 -0
  1128. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +2 -1
  1129. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  1130. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  1131. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  1132. package/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  1133. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  1134. package/internal/ThemePlayground/constants/constants.js +3 -0
  1135. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  1136. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +5 -2
  1137. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1138. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  1139. package/internal/ZIndex/ZIndex/ZIndex.js +3 -3
  1140. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1141. package/internal/ZIndex/ZIndex.d.ts +1 -0
  1142. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -2
  1143. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1144. package/internal/icons/16px/index.d.ts +19 -19
  1145. package/internal/icons/20px/Icon/Icon.js +1 -0
  1146. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  1147. package/internal/icons/20px/Icon.d.ts +1 -0
  1148. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  1149. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  1150. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  1151. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  1152. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  1153. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  1154. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  1155. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  1156. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  1157. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  1158. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  1159. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  1160. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  1161. package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  1162. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  1163. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  1164. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  1165. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  1166. package/internal/icons2022/BaseIcon/BaseIcon.js +3 -6
  1167. package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
  1168. package/internal/icons2022/BaseIcon.d.ts +1 -1
  1169. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js +11 -0
  1170. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js.map +1 -0
  1171. package/internal/icons2022/BaseIcon.styles/package.json +6 -0
  1172. package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  1173. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  1174. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  1175. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  1176. package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  1177. package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  1178. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  1179. package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  1180. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  1181. package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  1182. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  1183. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  1184. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  1185. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  1186. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  1187. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  1188. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js +18 -0
  1189. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js.map +1 -0
  1190. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/package.json +6 -0
  1191. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  1192. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  1193. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  1194. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  1195. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  1196. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  1197. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  1198. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  1199. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  1200. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  1201. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  1202. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  1203. package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  1204. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  1205. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  1206. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  1207. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  1208. package/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  1209. package/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  1210. package/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  1211. package/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  1212. package/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  1213. package/internal/themes/DefaultTheme/DefaultTheme.js +177 -6
  1214. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1215. package/internal/themes/DefaultTheme.d.ts +70 -2
  1216. package/internal/themes/Theme2022/Theme2022.js +55 -3
  1217. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  1218. package/internal/themes/Theme2022.d.ts +18 -2
  1219. package/internal/themes/Theme2022Dark/Theme2022Dark.js +13 -4
  1220. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  1221. package/internal/themes/Theme2022Dark.d.ts +4 -4
  1222. package/lib/LayoutEvents/LayoutEvents.js +5 -4
  1223. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1224. package/lib/ModalStack/ModalStack.js +2 -2
  1225. package/lib/ModalStack/ModalStack.js.map +1 -1
  1226. package/lib/SSRSafe/SSRSafe.js +3 -35
  1227. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1228. package/lib/SSRSafe.d.ts +1 -6
  1229. package/lib/Upgrades/Upgrades.js +3 -1
  1230. package/lib/Upgrades/Upgrades.js.map +1 -1
  1231. package/lib/Upgrades.d.ts +1 -0
  1232. package/lib/animation/index/index.js +6 -3
  1233. package/lib/animation/index/index.js.map +1 -1
  1234. package/lib/chars/chars.js +1 -1
  1235. package/lib/chars/chars.js.map +1 -1
  1236. package/lib/chars.d.ts +1 -1
  1237. package/lib/client/client.js +9 -7
  1238. package/lib/client/client.js.map +1 -1
  1239. package/lib/client.d.ts +2 -7
  1240. package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
  1241. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1242. package/lib/dom/tabbableHelpers/tabbableHelpers.js +4 -2
  1243. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -1
  1244. package/lib/dom/tabbableHelpers.d.ts +2 -1
  1245. package/lib/events/MouseDrag/MouseDrag.js +15 -11
  1246. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1247. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +4 -2
  1248. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  1249. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +7 -2
  1250. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  1251. package/lib/events/keyListener/keyListener.js +9 -12
  1252. package/lib/events/keyListener/keyListener.js.map +1 -1
  1253. package/lib/events/keyboard/identifiers/identifiers.js +3 -1
  1254. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1255. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +223 -0
  1256. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js +5 -0
  1257. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js.map +1 -0
  1258. package/lib/featureFlagsContext/FeatureFlagsHelpers/package.json +6 -0
  1259. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -0
  1260. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +12 -0
  1261. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  1262. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
  1263. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  1264. package/lib/featureFlagsContext/index/index.js +2 -0
  1265. package/lib/featureFlagsContext/index/index.js.map +1 -0
  1266. package/lib/featureFlagsContext/index/package.json +6 -0
  1267. package/lib/featureFlagsContext/index.d.ts +2 -0
  1268. package/lib/featureFlagsContext/package.json +6 -0
  1269. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  1270. package/lib/forwardRefAndName.d.ts +1 -1
  1271. package/lib/isInstanceOf/isInstanceOf.js +3 -0
  1272. package/lib/isInstanceOf/isInstanceOf.js.map +1 -0
  1273. package/lib/isInstanceOf/package.json +6 -0
  1274. package/lib/isInstanceOf.d.ts +1 -0
  1275. package/lib/listenFocusOutside/listenFocusOutside.js +19 -10
  1276. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1277. package/lib/locale/LocaleContext/LocaleContext.js +2 -1
  1278. package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
  1279. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +4 -3
  1280. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
  1281. package/lib/net/fetch/fetch.js +29 -21
  1282. package/lib/net/fetch/fetch.js.map +1 -1
  1283. package/lib/rootNode/getRootNode/getRootNode.js +6 -6
  1284. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  1285. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +1 -1
  1286. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  1287. package/lib/rootNode/rootNodeDecorator.d.ts +2 -0
  1288. package/lib/styles/ColorFactory/ColorFactory.js +13 -9
  1289. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1290. package/lib/styles/ColorHelpers/ColorHelpers.js +3 -7
  1291. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1292. package/lib/styles/ColorHelpers.d.ts +1 -1
  1293. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +5 -4
  1294. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  1295. package/lib/theming/Emotion/Emotion.js +6 -1
  1296. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1297. package/lib/theming/ThemeContext/ThemeContext.js +2 -1
  1298. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  1299. package/lib/toKebabCase/package.json +6 -0
  1300. package/lib/toKebabCase/toKebabCase.js +7 -0
  1301. package/lib/toKebabCase/toKebabCase.js.map +1 -0
  1302. package/lib/toKebabCase.d.ts +1 -0
  1303. package/lib/types/props/package.json +6 -0
  1304. package/lib/types/props/props.js +1 -0
  1305. package/lib/types/props/props.js.map +1 -0
  1306. package/lib/types/props.d.ts +1 -0
  1307. package/lib/utils/utils.js +31 -6
  1308. package/lib/utils/utils.js.map +1 -1
  1309. package/lib/utils.d.ts +7 -0
  1310. package/package.json +10 -10
  1311. package/typings/global-react.d.ts +12 -0
  1312. package/typings/global.d.ts +3 -4
  1313. package/cjs/internal/MaskedInput/MaskedInput.js.map +0 -1
  1314. package/cjs/internal/MaskedInput/index.js.map +0 -1
  1315. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +0 -1
  1316. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +0 -1
  1317. package/internal/MaskedInput/MaskedInput.styles/package.json +0 -6
  1318. package/internal/MaskedInput/index/index.js.map +0 -1
  1319. /package/cjs/{internal → components}/MaskedInput/index.d.ts +0 -0
  1320. /package/cjs/{internal → components}/MaskedInput/index.js +0 -0
  1321. /package/cjs/internal/{MaskedInput/MaskedInput.styles.d.ts → InternalMaskedInput/InternalMaskedInput.styles.d.ts} +0 -0
  1322. /package/cjs/internal/{MaskedInput/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles.js} +0 -0
  1323. /package/{internal/MaskedInput/MaskedInput.styles.d.ts → cjs/internal/MaskedInputElement/MaskedInputElement.styles.d.ts} +0 -0
  1324. /package/{internal → components}/MaskedInput/index/index.js +0 -0
  1325. /package/{internal → components}/MaskedInput/index.d.ts +0 -0
  1326. /package/internal/{MaskedInput/MaskedInput.styles/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js} +0 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../cjs/components/Input/Input.typings.js",
3
+ "module": "Input.typings",
4
+ "types": "../Input.typings.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export declare type InputElement = (HTMLInputElement | {
3
+ input: HTMLInputElement | null;
4
+ }) & {
5
+ getRootNode: () => HTMLElement | null;
6
+ };
7
+ export declare type InputElementProps = React.InputHTMLAttributes<HTMLInputElement>;
@@ -7,5 +7,5 @@ export interface InputLayoutRootProps extends InputLayoutRootFromInputProps, Com
7
7
  labelProps: React.LabelHTMLAttributes<HTMLLabelElement>;
8
8
  context: Partial<InputLayoutContextProps>;
9
9
  }
10
- export declare const InputLayout: import("../../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLLabelElement, InputLayoutRootProps>;
10
+ export declare const InputLayout: import("../../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLLabelElement, InputLayoutRootProps> & Record<never, never>;
11
11
  export {};
@@ -2,6 +2,7 @@ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTempla
2
2
 
3
3
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
4
4
 
5
+ import { ZERO_WIDTH_SPACE_CSS } from "../../../../lib/chars";
5
6
  import { css, memoizeStyle } from "../../../../lib/theming/Emotion";
6
7
  import { styles } from "../../Input.styles";
7
8
  export var stylesLayout = memoizeStyle({
@@ -12,7 +13,7 @@ export var stylesLayout = memoizeStyle({
12
13
  return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n display: flex;\n "])));
13
14
  },
14
15
  aside: function aside() {
15
- return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n "])));
16
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n\n &::before {\n content: '", "';\n }\n "])), ZERO_WIDTH_SPACE_CSS);
16
17
  },
17
18
  icon: function icon(t) {
18
19
  return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.inputIconColor);
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLayout.styles.ts"],"names":["css","memoizeStyle","styles","stylesLayout","root","t","input","aside","icon","inputIconColor","iconFocus","inputFocusedIconColor","iconDisabled","text","inputPlaceholderColor","textDisabled","inputPlaceholderColorDisabled"],"mappings":"gOAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,8BAAlC;;AAEA,SAASC,MAAT,QAAuB,iBAAvB;;AAEA,OAAO,IAAMC,YAAY,GAAGF,YAAY,CAAC;AACvCG,EAAAA,IADuC,gBAClCC,CADkC,EACxB;AACb,WAAOH,MAAM,CAACE,IAAP,CAAYC,CAAZ,CAAP;AACD,GAHsC;AAIvCC,EAAAA,KAJuC,mBAI/B;AACN,WAAON,GAAP;;;;;;;AAOD,GAZsC;AAavCO,EAAAA,KAbuC,mBAa/B;AACN,WAAOP,GAAP;;;;;AAKD,GAnBsC;AAoBvCQ,EAAAA,IApBuC,gBAoBlCH,CApBkC,EAoBxB;AACb,WAAOL,GAAP;AACWK,IAAAA,CAAC,CAACI,cADb;;AAGD,GAxBsC;AAyBvCC,EAAAA,SAzBuC,qBAyB7BL,CAzB6B,EAyBnB;AAClB,WAAOL,GAAP;AACWK,IAAAA,CAAC,CAACM,qBADb;;AAGD,GA7BsC;AA8BvCC,EAAAA,YA9BuC,0BA8BxB;AACb,WAAOZ,GAAP;;;AAGD,GAlCsC;AAmCvCa,EAAAA,IAnCuC,gBAmClCR,CAnCkC,EAmCxB;AACb,WAAOL,GAAP;AACWK,IAAAA,CAAC,CAACS,qBADb;;AAGD,GAvCsC;AAwCvCC,EAAAA,YAxCuC,wBAwC1BV,CAxC0B,EAwChB;AACrB,WAAOL,GAAP;AACWK,IAAAA,CAAC,CAACW,6BADb;;AAGD,GA5CsC,EAAD,CAAjC","sourcesContent":["import { css, memoizeStyle } from '../../../lib/theming/Emotion';\nimport { Theme } from '../../../lib/theming/Theme';\nimport { styles } from '../Input.styles';\n\nexport const stylesLayout = memoizeStyle({\n root(t: Theme) {\n return styles.root(t);\n },\n input() {\n return css`\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n display: flex;\n `;\n },\n aside() {\n return css`\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n `;\n },\n icon(t: Theme) {\n return css`\n color: ${t.inputIconColor};\n `;\n },\n iconFocus(t: Theme) {\n return css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n iconDisabled() {\n return css`\n cursor: default;\n `;\n },\n text(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n textDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["InputLayout.styles.ts"],"names":["ZERO_WIDTH_SPACE_CSS","css","memoizeStyle","styles","stylesLayout","root","t","input","aside","icon","inputIconColor","iconFocus","inputFocusedIconColor","iconDisabled","text","inputPlaceholderColor","textDisabled","inputPlaceholderColorDisabled"],"mappings":"gOAAA,SAASA,oBAAT,QAAqC,oBAArC;AACA,SAASC,GAAT,EAAcC,YAAd,QAAkC,8BAAlC;;AAEA,SAASC,MAAT,QAAuB,iBAAvB;;AAEA,OAAO,IAAMC,YAAY,GAAGF,YAAY,CAAC;AACvCG,EAAAA,IADuC,gBAClCC,CADkC,EACxB;AACb,WAAOH,MAAM,CAACE,IAAP,CAAYC,CAAZ,CAAP;AACD,GAHsC;AAIvCC,EAAAA,KAJuC,mBAI/B;AACN,WAAON,GAAP;;;;;;;AAOD,GAZsC;AAavCO,EAAAA,KAbuC,mBAa/B;AACN,WAAOP,GAAP;;;;;;AAMgBD,IAAAA,oBANhB;;;AASD,GAvBsC;AAwBvCS,EAAAA,IAxBuC,gBAwBlCH,CAxBkC,EAwBxB;AACb,WAAOL,GAAP;AACWK,IAAAA,CAAC,CAACI,cADb;;AAGD,GA5BsC;AA6BvCC,EAAAA,SA7BuC,qBA6B7BL,CA7B6B,EA6BnB;AAClB,WAAOL,GAAP;AACWK,IAAAA,CAAC,CAACM,qBADb;;AAGD,GAjCsC;AAkCvCC,EAAAA,YAlCuC,0BAkCxB;AACb,WAAOZ,GAAP;;;AAGD,GAtCsC;AAuCvCa,EAAAA,IAvCuC,gBAuClCR,CAvCkC,EAuCxB;AACb,WAAOL,GAAP;AACWK,IAAAA,CAAC,CAACS,qBADb;;AAGD,GA3CsC;AA4CvCC,EAAAA,YA5CuC,wBA4C1BV,CA5C0B,EA4ChB;AACrB,WAAOL,GAAP;AACWK,IAAAA,CAAC,CAACW,6BADb;;AAGD,GAhDsC,EAAD,CAAjC","sourcesContent":["import { ZERO_WIDTH_SPACE_CSS } from '../../../lib/chars';\nimport { css, memoizeStyle } from '../../../lib/theming/Emotion';\nimport { Theme } from '../../../lib/theming/Theme';\nimport { styles } from '../Input.styles';\n\nexport const stylesLayout = memoizeStyle({\n root(t: Theme) {\n return styles.root(t);\n },\n input() {\n return css`\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n display: flex;\n `;\n },\n aside() {\n return css`\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n\n &::before {\n content: '${ZERO_WIDTH_SPACE_CSS}';\n }\n `;\n },\n icon(t: Theme) {\n return css`\n color: ${t.inputIconColor};\n `;\n },\n iconFocus(t: Theme) {\n return css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n iconDisabled() {\n return css`\n cursor: default;\n `;\n },\n text(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n textDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n});\n"]}
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { ZERO_WIDTH_SPACE } from "../../../../lib/chars";
3
2
  import { stylesLayout } from "../InputLayout.styles";
4
3
  import { InputLayoutAsideIcon } from "../InputLayoutAsideIcon";
5
4
  import { InputLayoutAsideText } from "../InputLayoutAsideText";
@@ -23,5 +22,5 @@ export var InputLayoutAside = function InputLayoutAside(_ref) {
23
22
  var child = side === 'left' ? [_icon, _text] : [_text, _icon];
24
23
  return /*#__PURE__*/React.createElement("span", {
25
24
  className: asideClassName
26
- }, ZERO_WIDTH_SPACE, child);
25
+ }, child);
27
26
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLayoutAside.tsx"],"names":["React","ZERO_WIDTH_SPACE","stylesLayout","InputLayoutAsideIcon","InputLayoutAsideText","InputLayoutAside","icon","text","side","asideClassName","aside","_icon","_text","child"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;;AAGA,SAASC,gBAAT,QAAiC,oBAAjC;;AAEA,SAASC,YAAT,QAA6B,sBAA7B;AACA,SAASC,oBAAT,QAAqC,wBAArC;AACA,SAASC,oBAAT,QAAqC,wBAArC;;;;;;;;AAQA,OAAO,IAAMC,gBAAgE,GAAG,SAAnEA,gBAAmE,OAA0B,KAAvBC,IAAuB,QAAvBA,IAAuB,CAAjBC,IAAiB,QAAjBA,IAAiB,CAAXC,IAAW,QAAXA,IAAW;AACxG,MAAMC,cAAc,GAAGP,YAAY,CAACQ,KAAb,EAAvB;;AAEA,MAAMC,KAAK,gBAAG,oBAAC,oBAAD,IAAsB,GAAG,EAAC,MAA1B,EAAiC,IAAI,EAAEL,IAAvC,EAA6C,IAAI,EAAEE,IAAnD,GAAd;AACA,MAAMI,KAAK,gBAAG,oBAAC,oBAAD,IAAsB,GAAG,EAAC,MAA1B,EAAiC,IAAI,EAAEL,IAAvC,GAAd;;AAEA,MAAMM,KAAK,GAAGL,IAAI,KAAK,MAAT,GAAkB,CAACG,KAAD,EAAQC,KAAR,CAAlB,GAAmC,CAACA,KAAD,EAAQD,KAAR,CAAjD;;AAEA;AACE,kCAAM,SAAS,EAAEF,cAAjB;AACGR,IAAAA,gBADH;AAEGY,IAAAA,KAFH,CADF;;;AAMD,CAdM","sourcesContent":["import React from 'react';\n\nimport { InputProps } from '../Input';\nimport { ZERO_WIDTH_SPACE } from '../../../lib/chars';\n\nimport { stylesLayout } from './InputLayout.styles';\nimport { InputLayoutAsideIcon } from './InputLayoutAsideIcon';\nimport { InputLayoutAsideText } from './InputLayoutAsideText';\n\nexport interface InputLayoutAsideProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n text: InputProps['prefix'] | InputProps['suffix'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAside: React.FunctionComponent<InputLayoutAsideProps> = ({ icon, text, side }) => {\n const asideClassName = stylesLayout.aside();\n\n const _icon = <InputLayoutAsideIcon key=\"icon\" icon={icon} side={side} />;\n const _text = <InputLayoutAsideText key=\"text\" text={text} />;\n\n const child = side === 'left' ? [_icon, _text] : [_text, _icon];\n\n return (\n <span className={asideClassName}>\n {ZERO_WIDTH_SPACE}\n {child}\n </span>\n );\n};\n"]}
1
+ {"version":3,"sources":["InputLayoutAside.tsx"],"names":["React","stylesLayout","InputLayoutAsideIcon","InputLayoutAsideText","InputLayoutAside","icon","text","side","asideClassName","aside","_icon","_text","child"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;;;AAIA,SAASC,YAAT,QAA6B,sBAA7B;AACA,SAASC,oBAAT,QAAqC,wBAArC;AACA,SAASC,oBAAT,QAAqC,wBAArC;;;;;;;;AAQA,OAAO,IAAMC,gBAAgE,GAAG,SAAnEA,gBAAmE,OAA0B,KAAvBC,IAAuB,QAAvBA,IAAuB,CAAjBC,IAAiB,QAAjBA,IAAiB,CAAXC,IAAW,QAAXA,IAAW;AACxG,MAAMC,cAAc,GAAGP,YAAY,CAACQ,KAAb,EAAvB;;AAEA,MAAMC,KAAK,gBAAG,oBAAC,oBAAD,IAAsB,GAAG,EAAC,MAA1B,EAAiC,IAAI,EAAEL,IAAvC,EAA6C,IAAI,EAAEE,IAAnD,GAAd;AACA,MAAMI,KAAK,gBAAG,oBAAC,oBAAD,IAAsB,GAAG,EAAC,MAA1B,EAAiC,IAAI,EAAEL,IAAvC,GAAd;;AAEA,MAAMM,KAAK,GAAGL,IAAI,KAAK,MAAT,GAAkB,CAACG,KAAD,EAAQC,KAAR,CAAlB,GAAmC,CAACA,KAAD,EAAQD,KAAR,CAAjD;;AAEA,sBAAO,8BAAM,SAAS,EAAEF,cAAjB,IAAkCI,KAAlC,CAAP;AACD,CATM","sourcesContent":["import React from 'react';\n\nimport { InputProps } from '../Input';\n\nimport { stylesLayout } from './InputLayout.styles';\nimport { InputLayoutAsideIcon } from './InputLayoutAsideIcon';\nimport { InputLayoutAsideText } from './InputLayoutAsideText';\n\nexport interface InputLayoutAsideProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n text: InputProps['prefix'] | InputProps['suffix'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAside: React.FunctionComponent<InputLayoutAsideProps> = ({ icon, text, side }) => {\n const asideClassName = stylesLayout.aside();\n\n const _icon = <InputLayoutAsideIcon key=\"icon\" icon={icon} side={side} />;\n const _text = <InputLayoutAsideText key=\"text\" text={text} />;\n\n const child = side === 'left' ? [_icon, _text] : [_text, _icon];\n\n return <span className={asideClassName}>{child}</span>;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLayoutAsideIcon.tsx"],"names":["React","isElement","isKonturIcon","cx","ThemeContext","InputLayoutContext","stylesLayout","InputLayoutAsideIcon","icon","side","theme","useContext","focused","disabled","size","sizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","gaps","inputIconGapSmall","inputIconGapMedium","inputIconGapLarge","_icon","Function","cloneElement","props","style","marginLeft","marginRight","aside","iconFocus","iconDisabled"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,UAA1B;;AAEA,SAASC,YAAT,QAA6B,oBAA7B;;AAEA,SAASC,EAAT,QAAmB,8BAAnB;AACA,SAASC,YAAT,QAA6B,mCAA7B;;AAEA,SAASC,kBAAT,QAAmC,sBAAnC;AACA,SAASC,YAAT,QAA6B,sBAA7B;;;;;;AAMA,OAAO,IAAMC,oBAAwE,GAAG,SAA3EA,oBAA2E,OAA2B,sBAAxBC,IAAwB,CAAxBA,IAAwB,0BAAjB,IAAiB,aAAXC,IAAW,QAAXA,IAAW;AACjH,MAAMC,KAAK,GAAGV,KAAK,CAACW,UAAN,CAAiBP,YAAjB,CAAd;AACA,0BAAoCJ,KAAK,CAACW,UAAN,CAAiBN,kBAAjB,CAApC,CAAQO,OAAR,qBAAQA,OAAR,CAAiBC,QAAjB,qBAAiBA,QAAjB,CAA2BC,IAA3B,qBAA2BA,IAA3B;;AAEA,MAAMC,KAAgC,GAAG;AACvCC,IAAAA,KAAK,EAAEC,QAAQ,CAACP,KAAK,CAACQ,kBAAP,CADwB;AAEvCC,IAAAA,MAAM,EAAEF,QAAQ,CAACP,KAAK,CAACU,mBAAP,CAFuB;AAGvCC,IAAAA,KAAK,EAAEJ,QAAQ,CAACP,KAAK,CAACY,kBAAP,CAHwB,EAAzC;;AAKA,MAAMC,IAA+B,GAAG;AACtCP,IAAAA,KAAK,EAAEC,QAAQ,CAACP,KAAK,CAACc,iBAAP,CADuB;AAEtCL,IAAAA,MAAM,EAAEF,QAAQ,CAACP,KAAK,CAACe,kBAAP,CAFsB;AAGtCJ,IAAAA,KAAK,EAAEJ,QAAQ,CAACP,KAAK,CAACgB,iBAAP,CAHuB,EAAxC;;;AAMA,MAAIC,KAAK,GAAGnB,IAAI,YAAYoB,QAAhB,GAA2BpB,IAAI,EAA/B,GAAoCA,IAAhD;AACA,MAAIP,SAAS,CAACO,IAAD,CAAT,IAAmBN,YAAY,CAACM,IAAD,CAAnC,EAA2C;AACzCmB,IAAAA,KAAK,gBAAG3B,KAAK,CAAC6B,YAAN,CAAmBrB,IAAnB,EAAyB,EAAEM,IAAI,sBAAEN,IAAI,CAACsB,KAAL,CAAWhB,IAAb,+BAAqBC,KAAK,CAACD,IAAD,CAAhC,EAAzB,CAAR;AACD;;AAED,MAAMiB,KAA0B,GAAG,EAAnC;AACA,MAAItB,IAAJ,EAAU;AACR,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpBsB,MAAAA,KAAK,CAACC,UAAN,GAAmBT,IAAI,CAACT,IAAD,CAAvB;AACD,KAFD,MAEO;AACLiB,MAAAA,KAAK,CAACE,WAAN,GAAoBV,IAAI,CAACT,IAAD,CAAxB;AACD;AACF;;AAED;AACEa,IAAAA,KAAK;AACH;AACE,MAAA,KAAK,EAAEI,KADT;AAEE,MAAA,SAAS,EAAE5B,EAAE;AACXG,MAAAA,YAAY,CAAC4B,KAAb,EADW;AAEX5B,MAAAA,YAAY,CAACE,IAAb,CAAkBE,KAAlB,CAFW;AAGXE,MAAAA,OAAO,IAAIN,YAAY,CAAC6B,SAAb,CAAuBzB,KAAvB,CAHA;AAIXG,MAAAA,QAAQ,IAAIP,YAAY,CAAC8B,YAAb,EAJD,CAFf;;;AASGT,IAAAA,KATH,CAFJ;;;;AAeD,CA5CM","sourcesContent":["import React from 'react';\nimport { isElement } from 'react-is';\n\nimport { isKonturIcon } from '../../../lib/utils';\nimport { InputProps, InputSize } from '../Input';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\n\nimport { InputLayoutContext } from './InputLayoutContext';\nimport { stylesLayout } from './InputLayout.styles';\nexport interface InputLayoutAsideIconProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAsideIcon: React.FunctionComponent<InputLayoutAsideIconProps> = ({ icon = null, side }) => {\n const theme = React.useContext(ThemeContext);\n const { focused, disabled, size } = React.useContext(InputLayoutContext);\n\n const sizes: Record<InputSize, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const gaps: Record<InputSize, number> = {\n small: parseInt(theme.inputIconGapSmall),\n medium: parseInt(theme.inputIconGapMedium),\n large: parseInt(theme.inputIconGapLarge),\n };\n\n let _icon = icon instanceof Function ? icon() : icon;\n if (isElement(icon) && isKonturIcon(icon)) {\n _icon = React.cloneElement(icon, { size: icon.props.size ?? sizes[size] });\n }\n\n const style: React.CSSProperties = {};\n if (side) {\n if (side === 'right') {\n style.marginLeft = gaps[size];\n } else {\n style.marginRight = gaps[size];\n }\n }\n\n return (\n _icon && (\n <span\n style={style}\n className={cx(\n stylesLayout.aside(),\n stylesLayout.icon(theme),\n focused && stylesLayout.iconFocus(theme),\n disabled && stylesLayout.iconDisabled(),\n )}\n >\n {_icon}\n </span>\n )\n );\n};\n"]}
1
+ {"version":3,"sources":["InputLayoutAsideIcon.tsx"],"names":["React","isElement","isKonturIcon","cx","ThemeContext","InputLayoutContext","stylesLayout","InputLayoutAsideIcon","icon","side","theme","useContext","focused","disabled","size","sizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","gaps","inputIconGapSmall","inputIconGapMedium","inputIconGapLarge","_icon","Function","cloneElement","props","style","marginLeft","marginRight","aside","iconFocus","iconDisabled"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,UAA1B;;AAEA,SAASC,YAAT,QAA6B,oBAA7B;;AAEA,SAASC,EAAT,QAAmB,8BAAnB;AACA,SAASC,YAAT,QAA6B,mCAA7B;;;AAGA,SAASC,kBAAT,QAAmC,sBAAnC;AACA,SAASC,YAAT,QAA6B,sBAA7B;;;;;;AAMA,OAAO,IAAMC,oBAAwE,GAAG,SAA3EA,oBAA2E,OAA2B,sBAAxBC,IAAwB,CAAxBA,IAAwB,0BAAjB,IAAiB,aAAXC,IAAW,QAAXA,IAAW;AACjH,MAAMC,KAAK,GAAGV,KAAK,CAACW,UAAN,CAAiBP,YAAjB,CAAd;AACA,0BAAoCJ,KAAK,CAACW,UAAN,CAAiBN,kBAAjB,CAApC,CAAQO,OAAR,qBAAQA,OAAR,CAAiBC,QAAjB,qBAAiBA,QAAjB,CAA2BC,IAA3B,qBAA2BA,IAA3B;;AAEA,MAAMC,KAA+B,GAAG;AACtCC,IAAAA,KAAK,EAAEC,QAAQ,CAACP,KAAK,CAACQ,kBAAP,CADuB;AAEtCC,IAAAA,MAAM,EAAEF,QAAQ,CAACP,KAAK,CAACU,mBAAP,CAFsB;AAGtCC,IAAAA,KAAK,EAAEJ,QAAQ,CAACP,KAAK,CAACY,kBAAP,CAHuB,EAAxC;;AAKA,MAAMC,IAA8B,GAAG;AACrCP,IAAAA,KAAK,EAAEC,QAAQ,CAACP,KAAK,CAACc,iBAAP,CADsB;AAErCL,IAAAA,MAAM,EAAEF,QAAQ,CAACP,KAAK,CAACe,kBAAP,CAFqB;AAGrCJ,IAAAA,KAAK,EAAEJ,QAAQ,CAACP,KAAK,CAACgB,iBAAP,CAHsB,EAAvC;;;AAMA,MAAIC,KAAK,GAAGnB,IAAI,YAAYoB,QAAhB,GAA2BpB,IAAI,EAA/B,GAAoCA,IAAhD;AACA,MAAIP,SAAS,CAACO,IAAD,CAAT,IAAmBN,YAAY,CAACM,IAAD,CAAnC,EAA2C;AACzCmB,IAAAA,KAAK,gBAAG3B,KAAK,CAAC6B,YAAN,CAAmBrB,IAAnB,EAAyB,EAAEM,IAAI,sBAAEN,IAAI,CAACsB,KAAL,CAAWhB,IAAb,+BAAqBC,KAAK,CAACD,IAAD,CAAhC,EAAzB,CAAR;AACD;;AAED,MAAMiB,KAA0B,GAAG,EAAnC;AACA,MAAItB,IAAJ,EAAU;AACR,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpBsB,MAAAA,KAAK,CAACC,UAAN,GAAmBT,IAAI,CAACT,IAAD,CAAvB;AACD,KAFD,MAEO;AACLiB,MAAAA,KAAK,CAACE,WAAN,GAAoBV,IAAI,CAACT,IAAD,CAAxB;AACD;AACF;;AAED;AACEa,IAAAA,KAAK;AACH;AACE,MAAA,KAAK,EAAEI,KADT;AAEE,MAAA,SAAS,EAAE5B,EAAE;AACXG,MAAAA,YAAY,CAAC4B,KAAb,EADW;AAEX5B,MAAAA,YAAY,CAACE,IAAb,CAAkBE,KAAlB,CAFW;AAGXE,MAAAA,OAAO,IAAIN,YAAY,CAAC6B,SAAb,CAAuBzB,KAAvB,CAHA;AAIXG,MAAAA,QAAQ,IAAIP,YAAY,CAAC8B,YAAb,EAJD,CAFf;;;AASGT,IAAAA,KATH,CAFJ;;;;AAeD,CA5CM","sourcesContent":["import React from 'react';\nimport { isElement } from 'react-is';\n\nimport { isKonturIcon } from '../../../lib/utils';\nimport { InputProps } from '../Input';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { SizeProp } from '../../../lib/types/props';\n\nimport { InputLayoutContext } from './InputLayoutContext';\nimport { stylesLayout } from './InputLayout.styles';\nexport interface InputLayoutAsideIconProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAsideIcon: React.FunctionComponent<InputLayoutAsideIconProps> = ({ icon = null, side }) => {\n const theme = React.useContext(ThemeContext);\n const { focused, disabled, size } = React.useContext(InputLayoutContext);\n\n const sizes: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const gaps: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconGapSmall),\n medium: parseInt(theme.inputIconGapMedium),\n large: parseInt(theme.inputIconGapLarge),\n };\n\n let _icon = icon instanceof Function ? icon() : icon;\n if (isElement(icon) && isKonturIcon(icon)) {\n _icon = React.cloneElement(icon, { size: icon.props.size ?? sizes[size] });\n }\n\n const style: React.CSSProperties = {};\n if (side) {\n if (side === 'right') {\n style.marginLeft = gaps[size];\n } else {\n style.marginRight = gaps[size];\n }\n }\n\n return (\n _icon && (\n <span\n style={style}\n className={cx(\n stylesLayout.aside(),\n stylesLayout.icon(theme),\n focused && stylesLayout.iconFocus(theme),\n disabled && stylesLayout.iconDisabled(),\n )}\n >\n {_icon}\n </span>\n )\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLayoutContext.tsx"],"names":["React","InputLayoutContextDefault","focused","disabled","size","InputLayoutContext","createContext"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;;;;;;;;;AAUA,OAAO,IAAMC,yBAAkD,GAAG;AAChEC,EAAAA,OAAO,EAAE,KADuD;AAEhEC,EAAAA,QAAQ,EAAE,KAFsD;AAGhEC,EAAAA,IAAI,EAAE,OAH0D,EAA3D;;;AAMP,OAAO,IAAMC,kBAAkB,gBAAGL,KAAK,CAACM,aAAN,CAA6CL,yBAA7C,CAA3B","sourcesContent":["import React from 'react';\n\nimport { InputSize } from '../Input';\n\nexport interface InputLayoutContextProps {\n focused: boolean;\n disabled: boolean;\n size: InputSize;\n}\n\nexport const InputLayoutContextDefault: InputLayoutContextProps = {\n focused: false,\n disabled: false,\n size: 'small',\n};\n\nexport const InputLayoutContext = React.createContext<InputLayoutContextProps>(InputLayoutContextDefault);\n"]}
1
+ {"version":3,"sources":["InputLayoutContext.tsx"],"names":["React","InputLayoutContextDefault","focused","disabled","size","InputLayoutContext","createContext"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;;;;;;;;;AAUA,OAAO,IAAMC,yBAAkD,GAAG;AAChEC,EAAAA,OAAO,EAAE,KADuD;AAEhEC,EAAAA,QAAQ,EAAE,KAFsD;AAGhEC,EAAAA,IAAI,EAAE,OAH0D,EAA3D;;;AAMP,OAAO,IAAMC,kBAAkB,gBAAGL,KAAK,CAACM,aAAN,CAA6CL,yBAA7C,CAA3B","sourcesContent":["import React from 'react';\n\nimport { SizeProp } from '../../../lib/types/props';\n\nexport interface InputLayoutContextProps {\n focused: boolean;\n disabled: boolean;\n size: SizeProp;\n}\n\nexport const InputLayoutContextDefault: InputLayoutContextProps = {\n focused: false,\n disabled: false,\n size: 'small',\n};\n\nexport const InputLayoutContext = React.createContext<InputLayoutContextProps>(InputLayoutContextDefault);\n"]}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { InputSize } from '../Input';
2
+ import { SizeProp } from '../../../lib/types/props';
3
3
  export interface InputLayoutContextProps {
4
4
  focused: boolean;
5
5
  disabled: boolean;
6
- size: InputSize;
6
+ size: SizeProp;
7
7
  }
8
8
  export declare const InputLayoutContextDefault: InputLayoutContextProps;
9
9
  export declare const InputLayoutContext: React.Context<InputLayoutContextProps>;
@@ -1 +1,2 @@
1
- export * from "../Input";
1
+ export * from "../Input";
2
+ export * from "../Input.typings";
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAd","sourcesContent":["export * from './Input';\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAd;AACA,cAAc,iBAAd","sourcesContent":["export * from './Input';\nexport * from './Input.typings';\n"]}
@@ -1 +1,2 @@
1
1
  export * from './Input';
2
+ export * from './Input.typings';
@@ -6,6 +6,7 @@ var _class, _class2, _temp;
6
6
  import React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { isElement } from 'react-is';
9
+ import { globalObject } from '@skbkontur/global-object';
9
10
  import { isKonturIcon } from "../../../lib/utils";
10
11
  import { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from "../../../lib/events/keyboard/identifiers";
11
12
  import * as LayoutEvents from "../../../lib/LayoutEvents";
@@ -94,7 +95,7 @@ export var Kebab = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
94
95
  if (!_this.props.disabled) {
95
96
  // focus event fires before keyDown eventlistener
96
97
  // so we should check tabPressed in async way
97
- requestAnimationFrame(function () {
98
+ globalObject.requestAnimationFrame == null ? void 0 : globalObject.requestAnimationFrame(function () {
98
99
  if (keyListener.isTabPressed) {
99
100
  _this.setState({
100
101
  focusedByTab: true
@@ -205,7 +206,7 @@ export var Kebab = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
205
206
  };
206
207
 
207
208
  return Kebab;
208
- }(React.Component), _class2.__KONTUR_REACT_UI__ = 'Kebab', _class2.propTypes = {}, _class2.defaultProps = {
209
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'Kebab', _class2.displayName = 'Kebab', _class2.propTypes = {}, _class2.defaultProps = {
209
210
  onOpen: function onOpen() {
210
211
  return undefined;
211
212
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["Kebab.tsx"],"names":["React","PropTypes","isElement","isKonturIcon","isKeyArrowVertical","isKeyEnter","isKeySpace","someKeys","LayoutEvents","keyListener","PopupMenu","ThemeContext","MenuKebabIcon","isTestEnv","ThemeFactory","CommonWrapper","cx","rootNode","createPropsGetter","isTheme2022","styles","KebabIcon","KebabDataTids","caption","Kebab","getProps","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","handleFocus","handleBlur","kebab","theme","kebabSmall","kebabMedium","kebabLarge","kebab2022","opened","focused","props","renderIcon2022","renderIcon","e","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","requestAnimationFrame","isTabPressed","componentDidMount","addListener","componentWillUnmount","render","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","menuScrollContainerContentWrapperPaddingY","menuLegacyPaddingY","renderMain","positions","disableAnimations","onOpen","onClose","setRootNode","preventIconsOffset","menuMaxHeight","popupMenuId","children","icon","iconsmall","iconmedium","iconlarge","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","propTypes","node","bool","oneOfType","string","number","func"],"mappings":"2JAAA,OAAOA,KAAP,MAAsC,OAAtC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,SAAT,QAA0B,UAA1B;;AAEA,SAASC,YAAT,QAA6B,iBAA7B;AACA,SAASC,kBAAT,EAA6BC,UAA7B,EAAyCC,UAAzC,EAAqDC,QAArD,QAAqE,uCAArE;AACA,OAAO,KAAKC,YAAZ,MAA8B,wBAA9B;AACA,SAASC,WAAT,QAA4B,8BAA5B;AACA,SAASC,SAAT,QAAiE,0BAAjE;;;AAGA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,aAAT,QAA8B,2BAA9B;AACA,SAASC,SAAT,QAA0B,8BAA1B;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,aAAT,QAA2C,8BAA3C;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;AACA,SAASC,iBAAT,QAAkC,6BAAlC;AACA,SAASC,WAAT,QAA4B,gCAA5B;;;AAGA,SAASC,MAAT,QAAuB,gBAAvB;AACA,SAASC,SAAT,QAA0B,aAA1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,OAAO,IAAMC,aAAa,GAAG;AAC3BC,EAAAA,OAAO,EAAE,gBADkB,EAAtB;;;;;;;;;;;AAYP,WAAaC,KAAb,GADCP,QACD;;;;;;;;;;;;;AAaUQ,IAAAA,QAbV,GAaqBP,iBAAiB,CAACM,KAAK,CAACE,YAAP,CAbtC;;AAeSC,IAAAA,KAfT,GAe6B;AACzBC,MAAAA,YAAY,EAAE,KADW;AAEzBC,MAAAA,MAAM,EAAE,IAFiB,EAf7B;;;;;;AAuBUC,IAAAA,QAvBV;;AAyBM;AACFC,MAAAA,MAAM,EAAE,0BAAMC,SAAN,EADN,EAzBN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFUC,IAAAA,aAvFV,GAuF0B,UAACC,YAAD,EAAyC;AAC/D,2BAA2B,MAAKT,QAAL,EAA3B,CAAQU,QAAR,kBAAQA,QAAR,CAAkBC,IAAlB,kBAAkBA,IAAlB;AACA,UAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAgD;AAC3E,YAAI,CAACH,QAAL,EAAe;AACb,gBAAKE,oBAAL,CAA0BC,KAA1B,EAAiCJ,YAAY,CAACK,QAA9C;AACD;AACF,OAJD;;AAMA,UAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/B,YAAI,CAACL,QAAL,EAAe;AACbD,UAAAA,YAAY,CAACO,UAAb;AACD;AACF,OAJD;;AAMA;AACE;AACE,UAAA,IAAI,EAAC,QADP;AAEE,sBAAUnB,aAAa,CAACC,OAF1B;AAGE,UAAA,QAAQ,EAAEY,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAH5B;AAIE,UAAA,OAAO,EAAEK,kBAJX;AAKE,UAAA,SAAS,EAAEH,oBALb;AAME,UAAA,OAAO,EAAE,MAAKK,WANhB;AAOE,UAAA,MAAM,EAAE,MAAKC,UAPf;AAQE,UAAA,SAAS,EAAE3B,EAAE;AACXI,UAAAA,MAAM,CAACwB,KAAP,CAAa,MAAKC,KAAlB,CADW;AAEXT,UAAAA,IAAI,KAAK,OAAT,IAAoBhB,MAAM,CAAC0B,UAAP,CAAkB,MAAKD,KAAvB,CAFT;AAGXT,UAAAA,IAAI,KAAK,QAAT,IAAqBhB,MAAM,CAAC2B,WAAP,CAAmB,MAAKF,KAAxB,CAHV;AAIXT,UAAAA,IAAI,KAAK,OAAT,IAAoBhB,MAAM,CAAC4B,UAAP,CAAkB,MAAKH,KAAvB,CAJT;AAKX1B,UAAAA,WAAW,CAAC,MAAK0B,KAAN,CAAX,IAA2BzB,MAAM,CAAC6B,SAAP,EALhB;AAMXf,UAAAA,YAAY,CAACgB,MAAb,IAAuB9B,MAAM,CAAC8B,MAAP,CAAc,MAAKL,KAAnB,CANZ;AAOXV,UAAAA,QAAQ,IAAIf,MAAM,CAACe,QAAP,EAPD;AAQX,gBAAKR,KAAL,CAAWC,YAAX,IAA2BR,MAAM,CAAC+B,OAAP,CAAe,MAAKN,KAApB,CARhB,CARf;;AAkBE,8BAAkB,MAAKO,KAAL,CAAW,kBAAX,CAlBpB;;AAoBGjC,QAAAA,WAAW,CAAC,MAAK0B,KAAN,CAAX,GAA0B,MAAKQ,cAAL,EAA1B,GAAkD,MAAKC,UAAL,EApBrD,CADF;;;AAwBD,KA7HH;;AA+HUjB,IAAAA,oBA/HV,GA+HiC;AAC7BkB,IAAAA,CAD6B;AAE7BhB,IAAAA,QAF6B;AAG1B;AACH,UAAIhC,QAAQ,CAACF,UAAD,EAAaC,UAAb,EAAyBF,kBAAzB,CAAR,CAAqDmD,CAArD,CAAJ,EAA6D;AAC3DA,QAAAA,CAAC,CAACC,cAAF;AACAjB,QAAAA,QAAQ,CAAC,IAAD,CAAR;AACD;AACF,KAvIH;;AAyIUkB,IAAAA,qBAzIV,GAyIkC,UAACC,QAAD,EAAoBC,YAApB,EAAoD;AAClF,YAAKC,QAAL,CAAc;AACZhC,QAAAA,YAAY,EAAE,CAAC8B,QAAD,IAAaC,YADf,EAAd;;AAGD,KA7IH;;AA+IUjB,IAAAA,WA/IV,GA+IwB,YAAM;AAC1B,UAAI,CAAC,MAAKU,KAAL,CAAWjB,QAAhB,EAA0B;AACxB;AACA;AACA0B,QAAAA,qBAAqB,CAAC,YAAM;AAC1B,cAAIpD,WAAW,CAACqD,YAAhB,EAA8B;AAC5B,kBAAKF,QAAL,CAAc,EAAEhC,YAAY,EAAE,IAAhB,EAAd;AACD;AACF,SAJoB,CAArB;AAKD;AACF,KAzJH;;AA2JUe,IAAAA,UA3JV,GA2JuB,YAAM;AACzB,YAAKiB,QAAL,CAAc;AACZhC,QAAAA,YAAY,EAAE,KADF,EAAd;;AAGD,KA/JH,mDA6BSmC,iBA7BT,GA6BE,6BAA2B,CACzB,4CACA,KAAKjC,QAAL,GAAgBtB,YAAY,CAACwD,WAAb,CAAyB,oBAAMhC,SAAN,EAAzB,CAAhB,CACD,CAhCH,QAkCSiC,oBAlCT,GAkCE,gCAA8B,CAC5B,KAAKnC,QAAL,CAAcC,MAAd,GACD,CApCH,QAsCSmC,MAtCT,GAsCE,kBAA6B,mBAC3B,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACrB,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,oBAAC,YAAD,CAAc,QAAd,IACE,KAAK,EAAE/B,YAAY,CAACqD,MAAb,CACL,EACEC,cAAc,EAAEvB,KAAK,CAACwB,cADxB,EAEEC,WAAW,EAAEzB,KAAK,CAAC0B,WAFrB,EAGEC,YAAY,EAAE3B,KAAK,CAAC4B,YAHtB,EAIEC,yCAAyC,EAAE7B,KAAK,CAAC8B,kBAJnD,EADK,EAOL9B,KAPK,CADT,IAWG,MAAI,CAAC+B,UAAL,EAXH,CADF,CAeD,CAlBH,CADF,CAsBD,CA7DH,QA+DUA,UA/DV,GA+DE,sBAAqB,CACnB,IAAQzC,QAAR,GAAqB,KAAKiB,KAA1B,CAAQjB,QAAR,CACA,sBAA0D,KAAKV,QAAL,EAA1D,CAAQoD,SAAR,mBAAQA,SAAR,CAAmBC,iBAAnB,mBAAmBA,iBAAnB,CAAsCC,MAAtC,mBAAsCA,MAAtC,CAA8CC,OAA9C,mBAA8CA,OAA9C,CACA,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKC,WAAjC,IAAkD,KAAK7B,KAAvD,gBACE,oBAAC,SAAD,IACE,WAAW,MADb,EAEE,kBAAkB,EAAE,KAAKA,KAAL,CAAW8B,kBAFjC,EAGE,SAAS,EAAEL,SAHb,EAIE,iBAAiB,EAAE,KAAKpB,qBAJ1B,EAKE,OAAO,EAAE,KAAKxB,aALhB,EAME,iBAAiB,EAAE6C,iBANrB,EAOE,aAAa,EAAE,KAAK1B,KAAL,CAAW+B,aAP5B,EAQE,MAAM,EAAEJ,MARV,EASE,OAAO,EAAEC,OATX,EAUE,WAAW,EAAE,KAAK5B,KAAL,CAAWgC,WAV1B,EAWE,cAAY,KAAKhC,KAAL,CAAW,YAAX,CAXd,IAaG,CAACjB,QAAD,IAAa,KAAKiB,KAAL,CAAWiC,QAb3B,CADF,CADF,CAmBD,CArFH;;AAiKU/B,EAAAA,UAjKV,GAiKE,sBAAqB;AACnB,0BAA2C,KAAK7B,QAAL,EAA3C,CAAQW,IAAR,mBAAQA,IAAR,wCAAckD,IAAd,CAAcA,IAAd,kDAAqB,oBAAC,aAAD,OAArB;AACA;AACE;AACE,QAAA,SAAS,EAAEtE,EAAE;AACVI,QAAAA,MAAM,CAACkE,IAAP,CAAY,KAAKzC,KAAjB,CADU,IACgB,IADhB;AAEVzB,QAAAA,MAAM,CAACmE,SAAP,CAAiB,KAAK1C,KAAtB,CAFU,IAEqBT,IAAI,KAAK,OAF9B;AAGVhB,QAAAA,MAAM,CAACoE,UAAP,CAAkB,KAAK3C,KAAvB,CAHU,IAGsBT,IAAI,KAAK,QAH/B;AAIVhB,QAAAA,MAAM,CAACqE,SAAP,CAAiB,KAAK5C,KAAtB,CAJU,IAIqBT,IAAI,KAAK,OAJ9B,OADf;;;AAQGkD,MAAAA,IARH,CADF;;;AAYD,GA/KH;;AAiLUjC,EAAAA,cAjLV,GAiLE,0BAAyB;AACvB,0BAAuC,KAAK5B,QAAL,EAAvC,CAAQW,IAAR,mBAAQA,IAAR,wCAAckD,IAAd,CAAcA,IAAd,kDAAqB,oBAAC,SAAD,OAArB;;AAEA,QAAIpF,SAAS,CAACoF,IAAD,CAAT,IAAmBnF,YAAY,CAACmF,IAAD,CAAnC,EAA2C;AACzC,UAAMI,KAAiC,GAAG;AACxCC,QAAAA,KAAK,EAAEC,QAAQ,CAAC,KAAK/C,KAAL,CAAWgD,kBAAZ,CADyB;AAExCC,QAAAA,MAAM,EAAEF,QAAQ,CAAC,KAAK/C,KAAL,CAAWkD,mBAAZ,CAFwB;AAGxCC,QAAAA,KAAK,EAAEJ,QAAQ,CAAC,KAAK/C,KAAL,CAAWoD,kBAAZ,CAHyB,EAA1C;;;AAMA,0BAAOjG,KAAK,CAACkG,YAAN,CAAmBZ,IAAnB,EAAyB;AAC9BlD,QAAAA,IAAI,sBAAEkD,IAAI,CAAClC,KAAL,CAAWhB,IAAb,+BAAqBsD,KAAK,CAACtD,IAAD,CADA;AAE9B+D,QAAAA,KAAK,uBAAEb,IAAI,CAAClC,KAAL,CAAW+C,KAAb,gCAAsB,KAAKtD,KAAL,CAAWuD,cAFR,EAAzB,CAAP;;AAID;;AAED,WAAOd,IAAP;AACD,GAlMH,gBAA2BtF,KAAK,CAACqG,SAAjC,WACgBC,mBADhB,GACsC,OADtC,UAGgBC,SAHhB,GAG4B,EAH5B,UAKgB7E,YALhB,GAK6C,EACzCqD,MAAM,EAAE,0BAAM/C,SAAN,EADiC,EAEzCgD,OAAO,EAAE,2BAAMhD,SAAN,EAFgC,EAGzC6C,SAAS,EAAE,CAAC,aAAD,EAAgB,cAAhB,EAAgC,UAAhC,EAA4C,WAA5C,CAH8B,EAIzCzC,IAAI,EAAE,OAJmC,EAKzC0C,iBAAiB,EAAEjE,SALsB,EAL7C;;;AAqMAW,KAAK,CAAC+E,SAAN,GAAkB;AAChBlB,EAAAA,QAAQ,EAAEpF,SAAS,CAACuG,IADJ;AAEhBrE,EAAAA,QAAQ,EAAElC,SAAS,CAACwG,IAFJ;AAGhBtB,EAAAA,aAAa,EAAElF,SAAS,CAACyG,SAAV,CAAoB,CAACzG,SAAS,CAAC0G,MAAX,EAAmB1G,SAAS,CAAC2G,MAA7B,CAApB,CAHC;;AAKhB;AACF;AACA;AACExE,EAAAA,IAAI,EAAEnC,SAAS,CAAC0G,MARA;;AAUhB;AACF;AACA;AACE3B,EAAAA,OAAO,EAAE/E,SAAS,CAAC4G,IAbH;;AAehB;AACF;AACA;AACE9B,EAAAA,MAAM,EAAE9E,SAAS,CAAC4G,IAlBF,EAAlB","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { isElement } from 'react-is';\n\nimport { isKonturIcon } from '../../lib/utils';\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps, PopupMenuProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ButtonSize } from '../Button';\n\nimport { styles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n disabled?: boolean;\n size?: 'small' | 'medium' | 'large';\n /**\n * Список позиций доступных для расположения выпадашки.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const KebabDataTids = {\n caption: 'Kebab__caption',\n} as const;\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;\n\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps: DefaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Kebab.defaultProps);\n\n public state: KebabState = {\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.kebabPinOffset,\n popupMargin: theme.kebabMargin,\n popupPinSize: theme.kebabPinSize,\n menuScrollContainerContentWrapperPaddingY: theme.menuLegacyPaddingY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n popupHasPin\n preventIconsOffset={this.props.preventIconsOffset}\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n onOpen={onOpen}\n onClose={onClose}\n popupMenuId={this.props.popupMenuId}\n aria-label={this.props['aria-label']}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled, size } = this.getProps();\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n role=\"button\"\n data-tid={KebabDataTids.caption}\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n styles.kebab(this.theme),\n size === 'small' && styles.kebabSmall(this.theme),\n size === 'medium' && styles.kebabMedium(this.theme),\n size === 'large' && styles.kebabLarge(this.theme),\n isTheme2022(this.theme) && styles.kebab2022(),\n captionProps.opened && styles.opened(this.theme),\n disabled && styles.disabled(),\n this.state.focusedByTab && styles.focused(this.theme),\n )}\n aria-describedby={this.props['aria-describedby']}\n >\n {isTheme2022(this.theme) ? this.renderIcon2022() : this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState({\n focusedByTab: !isOpened && restoreFocus,\n });\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n const { size, icon = <MenuKebabIcon /> } = this.getProps();\n return (\n <div\n className={cx({\n [styles.icon(this.theme)]: true,\n [styles.iconsmall(this.theme)]: size === 'small',\n [styles.iconmedium(this.theme)]: size === 'medium',\n [styles.iconlarge(this.theme)]: size === 'large',\n })}\n >\n {icon}\n </div>\n );\n }\n\n private renderIcon2022() {\n const { size, icon = <KebabIcon /> } = this.getProps();\n\n if (isElement(icon) && isKonturIcon(icon)) {\n const sizes: Record<ButtonSize, number> = {\n small: parseInt(this.theme.kebabIconSizeSmall),\n medium: parseInt(this.theme.kebabIconSizeMedium),\n large: parseInt(this.theme.kebabIconSizeLarge),\n };\n\n return React.cloneElement(icon, {\n size: icon.props.size ?? sizes[size],\n color: icon.props.color ?? this.theme.kebabIconColor,\n });\n }\n\n return icon;\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"]}
1
+ {"version":3,"sources":["Kebab.tsx"],"names":["React","PropTypes","isElement","globalObject","isKonturIcon","isKeyArrowVertical","isKeyEnter","isKeySpace","someKeys","LayoutEvents","keyListener","PopupMenu","ThemeContext","MenuKebabIcon","isTestEnv","ThemeFactory","CommonWrapper","cx","rootNode","createPropsGetter","isTheme2022","styles","KebabIcon","KebabDataTids","caption","Kebab","getProps","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","handleFocus","handleBlur","kebab","theme","kebabSmall","kebabMedium","kebabLarge","kebab2022","opened","focused","props","renderIcon2022","renderIcon","e","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","requestAnimationFrame","isTabPressed","componentDidMount","addListener","componentWillUnmount","render","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","menuScrollContainerContentWrapperPaddingY","menuLegacyPaddingY","renderMain","positions","disableAnimations","onOpen","onClose","setRootNode","preventIconsOffset","menuMaxHeight","popupMenuId","children","icon","iconsmall","iconmedium","iconlarge","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","displayName","propTypes","node","bool","oneOfType","string","number","func"],"mappings":"2JAAA,OAAOA,KAAP,MAAsC,OAAtC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,SAAT,QAA0B,UAA1B;AACA,SAASC,YAAT,QAA6B,0BAA7B;;AAEA,SAASC,YAAT,QAA6B,iBAA7B;AACA,SAASC,kBAAT,EAA6BC,UAA7B,EAAyCC,UAAzC,EAAqDC,QAArD,QAAqE,uCAArE;AACA,OAAO,KAAKC,YAAZ,MAA8B,wBAA9B;AACA,SAASC,WAAT,QAA4B,8BAA5B;AACA,SAASC,SAAT,QAAiE,0BAAjE;;;AAGA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,aAAT,QAA8B,2BAA9B;AACA,SAASC,SAAT,QAA0B,8BAA1B;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,aAAT,QAA2C,8BAA3C;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;AACA,SAASC,iBAAT,QAAkC,6BAAlC;AACA,SAASC,WAAT,QAA4B,gCAA5B;;;AAGA,SAASC,MAAT,QAAuB,gBAAvB;AACA,SAASC,SAAT,QAA0B,aAA1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,OAAO,IAAMC,aAAa,GAAG;AAC3BC,EAAAA,OAAO,EAAE,gBADkB,EAAtB;;;;;;;;;;;AAYP,WAAaC,KAAb,GADCP,QACD;;;;;;;;;;;;;;AAcUQ,IAAAA,QAdV,GAcqBP,iBAAiB,CAACM,KAAK,CAACE,YAAP,CAdtC;;AAgBSC,IAAAA,KAhBT,GAgB6B;AACzBC,MAAAA,YAAY,EAAE,KADW;AAEzBC,MAAAA,MAAM,EAAE,IAFiB,EAhB7B;;;;;;AAwBUC,IAAAA,QAxBV;;AA0BM;AACFC,MAAAA,MAAM,EAAE,0BAAMC,SAAN,EADN,EA1BN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFUC,IAAAA,aAxFV,GAwF0B,UAACC,YAAD,EAAyC;AAC/D,2BAA2B,MAAKT,QAAL,EAA3B,CAAQU,QAAR,kBAAQA,QAAR,CAAkBC,IAAlB,kBAAkBA,IAAlB;AACA,UAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAgD;AAC3E,YAAI,CAACH,QAAL,EAAe;AACb,gBAAKE,oBAAL,CAA0BC,KAA1B,EAAiCJ,YAAY,CAACK,QAA9C;AACD;AACF,OAJD;;AAMA,UAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/B,YAAI,CAACL,QAAL,EAAe;AACbD,UAAAA,YAAY,CAACO,UAAb;AACD;AACF,OAJD;;AAMA;AACE;AACE,UAAA,IAAI,EAAC,QADP;AAEE,sBAAUnB,aAAa,CAACC,OAF1B;AAGE,UAAA,QAAQ,EAAEY,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAH5B;AAIE,UAAA,OAAO,EAAEK,kBAJX;AAKE,UAAA,SAAS,EAAEH,oBALb;AAME,UAAA,OAAO,EAAE,MAAKK,WANhB;AAOE,UAAA,MAAM,EAAE,MAAKC,UAPf;AAQE,UAAA,SAAS,EAAE3B,EAAE;AACXI,UAAAA,MAAM,CAACwB,KAAP,CAAa,MAAKC,KAAlB,CADW;AAEXT,UAAAA,IAAI,KAAK,OAAT,IAAoBhB,MAAM,CAAC0B,UAAP,CAAkB,MAAKD,KAAvB,CAFT;AAGXT,UAAAA,IAAI,KAAK,QAAT,IAAqBhB,MAAM,CAAC2B,WAAP,CAAmB,MAAKF,KAAxB,CAHV;AAIXT,UAAAA,IAAI,KAAK,OAAT,IAAoBhB,MAAM,CAAC4B,UAAP,CAAkB,MAAKH,KAAvB,CAJT;AAKX1B,UAAAA,WAAW,CAAC,MAAK0B,KAAN,CAAX,IAA2BzB,MAAM,CAAC6B,SAAP,EALhB;AAMXf,UAAAA,YAAY,CAACgB,MAAb,IAAuB9B,MAAM,CAAC8B,MAAP,CAAc,MAAKL,KAAnB,CANZ;AAOXV,UAAAA,QAAQ,IAAIf,MAAM,CAACe,QAAP,EAPD;AAQX,gBAAKR,KAAL,CAAWC,YAAX,IAA2BR,MAAM,CAAC+B,OAAP,CAAe,MAAKN,KAApB,CARhB,CARf;;AAkBE,8BAAkB,MAAKO,KAAL,CAAW,kBAAX,CAlBpB;;AAoBGjC,QAAAA,WAAW,CAAC,MAAK0B,KAAN,CAAX,GAA0B,MAAKQ,cAAL,EAA1B,GAAkD,MAAKC,UAAL,EApBrD,CADF;;;AAwBD,KA9HH;;AAgIUjB,IAAAA,oBAhIV,GAgIiC;AAC7BkB,IAAAA,CAD6B;AAE7BhB,IAAAA,QAF6B;AAG1B;AACH,UAAIhC,QAAQ,CAACF,UAAD,EAAaC,UAAb,EAAyBF,kBAAzB,CAAR,CAAqDmD,CAArD,CAAJ,EAA6D;AAC3DA,QAAAA,CAAC,CAACC,cAAF;AACAjB,QAAAA,QAAQ,CAAC,IAAD,CAAR;AACD;AACF,KAxIH;;AA0IUkB,IAAAA,qBA1IV,GA0IkC,UAACC,QAAD,EAAoBC,YAApB,EAAoD;AAClF,YAAKC,QAAL,CAAc;AACZhC,QAAAA,YAAY,EAAE,CAAC8B,QAAD,IAAaC,YADf,EAAd;;AAGD,KA9IH;;AAgJUjB,IAAAA,WAhJV,GAgJwB,YAAM;AAC1B,UAAI,CAAC,MAAKU,KAAL,CAAWjB,QAAhB,EAA0B;AACxB;AACA;AACAjC,QAAAA,YAAY,CAAC2D,qBAAb,oBAAA3D,YAAY,CAAC2D,qBAAb,CAAqC,YAAM;AACzC,cAAIpD,WAAW,CAACqD,YAAhB,EAA8B;AAC5B,kBAAKF,QAAL,CAAc,EAAEhC,YAAY,EAAE,IAAhB,EAAd;AACD;AACF,SAJD;AAKD;AACF,KA1JH;;AA4JUe,IAAAA,UA5JV,GA4JuB,YAAM;AACzB,YAAKiB,QAAL,CAAc;AACZhC,QAAAA,YAAY,EAAE,KADF,EAAd;;AAGD,KAhKH,mDA8BSmC,iBA9BT,GA8BE,6BAA2B,CACzB,4CACA,KAAKjC,QAAL,GAAgBtB,YAAY,CAACwD,WAAb,CAAyB,oBAAMhC,SAAN,EAAzB,CAAhB,CACD,CAjCH,QAmCSiC,oBAnCT,GAmCE,gCAA8B,CAC5B,KAAKnC,QAAL,CAAcC,MAAd,GACD,CArCH,QAuCSmC,MAvCT,GAuCE,kBAA6B,mBAC3B,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACrB,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,oBAAC,YAAD,CAAc,QAAd,IACE,KAAK,EAAE/B,YAAY,CAACqD,MAAb,CACL,EACEC,cAAc,EAAEvB,KAAK,CAACwB,cADxB,EAEEC,WAAW,EAAEzB,KAAK,CAAC0B,WAFrB,EAGEC,YAAY,EAAE3B,KAAK,CAAC4B,YAHtB,EAIEC,yCAAyC,EAAE7B,KAAK,CAAC8B,kBAJnD,EADK,EAOL9B,KAPK,CADT,IAWG,MAAI,CAAC+B,UAAL,EAXH,CADF,CAeD,CAlBH,CADF,CAsBD,CA9DH,QAgEUA,UAhEV,GAgEE,sBAAqB,CACnB,IAAQzC,QAAR,GAAqB,KAAKiB,KAA1B,CAAQjB,QAAR,CACA,sBAA0D,KAAKV,QAAL,EAA1D,CAAQoD,SAAR,mBAAQA,SAAR,CAAmBC,iBAAnB,mBAAmBA,iBAAnB,CAAsCC,MAAtC,mBAAsCA,MAAtC,CAA8CC,OAA9C,mBAA8CA,OAA9C,CACA,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKC,WAAjC,IAAkD,KAAK7B,KAAvD,gBACE,oBAAC,SAAD,IACE,WAAW,MADb,EAEE,kBAAkB,EAAE,KAAKA,KAAL,CAAW8B,kBAFjC,EAGE,SAAS,EAAEL,SAHb,EAIE,iBAAiB,EAAE,KAAKpB,qBAJ1B,EAKE,OAAO,EAAE,KAAKxB,aALhB,EAME,iBAAiB,EAAE6C,iBANrB,EAOE,aAAa,EAAE,KAAK1B,KAAL,CAAW+B,aAP5B,EAQE,MAAM,EAAEJ,MARV,EASE,OAAO,EAAEC,OATX,EAUE,WAAW,EAAE,KAAK5B,KAAL,CAAWgC,WAV1B,EAWE,cAAY,KAAKhC,KAAL,CAAW,YAAX,CAXd,IAaG,CAACjB,QAAD,IAAa,KAAKiB,KAAL,CAAWiC,QAb3B,CADF,CADF,CAmBD,CAtFH;;AAkKU/B,EAAAA,UAlKV,GAkKE,sBAAqB;AACnB,0BAA2C,KAAK7B,QAAL,EAA3C,CAAQW,IAAR,mBAAQA,IAAR,wCAAckD,IAAd,CAAcA,IAAd,kDAAqB,oBAAC,aAAD,OAArB;AACA;AACE;AACE,QAAA,SAAS,EAAEtE,EAAE;AACVI,QAAAA,MAAM,CAACkE,IAAP,CAAY,KAAKzC,KAAjB,CADU,IACgB,IADhB;AAEVzB,QAAAA,MAAM,CAACmE,SAAP,CAAiB,KAAK1C,KAAtB,CAFU,IAEqBT,IAAI,KAAK,OAF9B;AAGVhB,QAAAA,MAAM,CAACoE,UAAP,CAAkB,KAAK3C,KAAvB,CAHU,IAGsBT,IAAI,KAAK,QAH/B;AAIVhB,QAAAA,MAAM,CAACqE,SAAP,CAAiB,KAAK5C,KAAtB,CAJU,IAIqBT,IAAI,KAAK,OAJ9B,OADf;;;AAQGkD,MAAAA,IARH,CADF;;;AAYD,GAhLH;;AAkLUjC,EAAAA,cAlLV,GAkLE,0BAAyB;AACvB,0BAAuC,KAAK5B,QAAL,EAAvC,CAAQW,IAAR,mBAAQA,IAAR,wCAAckD,IAAd,CAAcA,IAAd,kDAAqB,oBAAC,SAAD,OAArB;;AAEA,QAAIrF,SAAS,CAACqF,IAAD,CAAT,IAAmBnF,YAAY,CAACmF,IAAD,CAAnC,EAA2C;AACzC,UAAMI,KAA+B,GAAG;AACtCC,QAAAA,KAAK,EAAEC,QAAQ,CAAC,KAAK/C,KAAL,CAAWgD,kBAAZ,CADuB;AAEtCC,QAAAA,MAAM,EAAEF,QAAQ,CAAC,KAAK/C,KAAL,CAAWkD,mBAAZ,CAFsB;AAGtCC,QAAAA,KAAK,EAAEJ,QAAQ,CAAC,KAAK/C,KAAL,CAAWoD,kBAAZ,CAHuB,EAAxC;;;AAMA,0BAAOlG,KAAK,CAACmG,YAAN,CAAmBZ,IAAnB,EAAyB;AAC9BlD,QAAAA,IAAI,sBAAEkD,IAAI,CAAClC,KAAL,CAAWhB,IAAb,+BAAqBsD,KAAK,CAACtD,IAAD,CADA;AAE9B+D,QAAAA,KAAK,uBAAEb,IAAI,CAAClC,KAAL,CAAW+C,KAAb,gCAAsB,KAAKtD,KAAL,CAAWuD,cAFR,EAAzB,CAAP;;AAID;;AAED,WAAOd,IAAP;AACD,GAnMH,gBAA2BvF,KAAK,CAACsG,SAAjC,WACgBC,mBADhB,GACsC,OADtC,UAEgBC,WAFhB,GAE8B,OAF9B,UAIgBC,SAJhB,GAI4B,EAJ5B,UAMgB9E,YANhB,GAM6C,EACzCqD,MAAM,EAAE,0BAAM/C,SAAN,EADiC,EAEzCgD,OAAO,EAAE,2BAAMhD,SAAN,EAFgC,EAGzC6C,SAAS,EAAE,CAAC,aAAD,EAAgB,cAAhB,EAAgC,UAAhC,EAA4C,WAA5C,CAH8B,EAIzCzC,IAAI,EAAE,OAJmC,EAKzC0C,iBAAiB,EAAEjE,SALsB,EAN7C;;;AAsMAW,KAAK,CAACgF,SAAN,GAAkB;AAChBnB,EAAAA,QAAQ,EAAErF,SAAS,CAACyG,IADJ;AAEhBtE,EAAAA,QAAQ,EAAEnC,SAAS,CAAC0G,IAFJ;AAGhBvB,EAAAA,aAAa,EAAEnF,SAAS,CAAC2G,SAAV,CAAoB,CAAC3G,SAAS,CAAC4G,MAAX,EAAmB5G,SAAS,CAAC6G,MAA7B,CAApB,CAHC;;AAKhB;AACF;AACA;AACEzE,EAAAA,IAAI,EAAEpC,SAAS,CAAC4G,MARA;;AAUhB;AACF;AACA;AACE5B,EAAAA,OAAO,EAAEhF,SAAS,CAAC8G,IAbH;;AAehB;AACF;AACA;AACE/B,EAAAA,MAAM,EAAE/E,SAAS,CAAC8G,IAlBF,EAAlB","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { isElement } from 'react-is';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKonturIcon } from '../../lib/utils';\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps, PopupMenuProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n disabled?: boolean;\n size?: SizeProp;\n /**\n * Список позиций доступных для расположения выпадашки.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const KebabDataTids = {\n caption: 'Kebab__caption',\n} as const;\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;\n\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n public static displayName = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps: DefaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Kebab.defaultProps);\n\n public state: KebabState = {\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.kebabPinOffset,\n popupMargin: theme.kebabMargin,\n popupPinSize: theme.kebabPinSize,\n menuScrollContainerContentWrapperPaddingY: theme.menuLegacyPaddingY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n popupHasPin\n preventIconsOffset={this.props.preventIconsOffset}\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n onOpen={onOpen}\n onClose={onClose}\n popupMenuId={this.props.popupMenuId}\n aria-label={this.props['aria-label']}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled, size } = this.getProps();\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n role=\"button\"\n data-tid={KebabDataTids.caption}\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n styles.kebab(this.theme),\n size === 'small' && styles.kebabSmall(this.theme),\n size === 'medium' && styles.kebabMedium(this.theme),\n size === 'large' && styles.kebabLarge(this.theme),\n isTheme2022(this.theme) && styles.kebab2022(),\n captionProps.opened && styles.opened(this.theme),\n disabled && styles.disabled(),\n this.state.focusedByTab && styles.focused(this.theme),\n )}\n aria-describedby={this.props['aria-describedby']}\n >\n {isTheme2022(this.theme) ? this.renderIcon2022() : this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState({\n focusedByTab: !isOpened && restoreFocus,\n });\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n const { size, icon = <MenuKebabIcon /> } = this.getProps();\n return (\n <div\n className={cx({\n [styles.icon(this.theme)]: true,\n [styles.iconsmall(this.theme)]: size === 'small',\n [styles.iconmedium(this.theme)]: size === 'medium',\n [styles.iconlarge(this.theme)]: size === 'large',\n })}\n >\n {icon}\n </div>\n );\n }\n\n private renderIcon2022() {\n const { size, icon = <KebabIcon /> } = this.getProps();\n\n if (isElement(icon) && isKonturIcon(icon)) {\n const sizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.kebabIconSizeSmall),\n medium: parseInt(this.theme.kebabIconSizeMedium),\n large: parseInt(this.theme.kebabIconSizeLarge),\n };\n\n return React.cloneElement(icon, {\n size: icon.props.size ?? sizes[size],\n color: icon.props.color ?? this.theme.kebabIconColor,\n });\n }\n\n return icon;\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"]}
@@ -3,9 +3,10 @@ import { PopupMenuProps } from '../../internal/PopupMenu';
3
3
  import { Nullable } from '../../typings/utility-types';
4
4
  import { PopupPositionsType } from '../../internal/Popup';
5
5
  import { CommonProps } from '../../internal/CommonWrapper';
6
+ import { SizeProp } from '../../lib/types/props';
6
7
  export interface KebabProps extends Pick<AriaAttributes, 'aria-label'>, Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>, CommonProps {
7
8
  disabled?: boolean;
8
- size?: 'small' | 'medium' | 'large';
9
+ size?: SizeProp;
9
10
  /**
10
11
  * Список позиций доступных для расположения выпадашки.
11
12
  *
@@ -39,6 +40,7 @@ export interface KebabState {
39
40
  declare type DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;
40
41
  export declare class Kebab extends React.Component<KebabProps, KebabState> {
41
42
  static __KONTUR_REACT_UI__: string;
43
+ static displayName: string;
42
44
  static propTypes: {};
43
45
  static defaultProps: DefaultProps;
44
46
  private getProps;
@@ -1,16 +1,16 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
- var _excluded = ["disabled", "href", "icon", "use", "loading", "_button", "_buttonOpened", "rel", "as", "focused"];
4
+ var _excluded = ["disabled", "href", "icon", "rightIcon", "use", "loading", "_button", "_buttonOpened", "rel", "as", "focused"];
5
5
 
6
6
  var _class, _class2, _temp;
7
7
 
8
8
  import React from 'react';
9
9
  import PropTypes from 'prop-types';
10
+ import { globalObject } from '@skbkontur/global-object';
10
11
  import { keyListener } from "../../../lib/events/keyListener";
11
12
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
12
13
  import { isExternalLink } from "../../../lib/utils";
13
- import { Spinner } from "../../Spinner";
14
14
  import { CommonWrapper } from "../../../internal/CommonWrapper";
15
15
  import { cx } from "../../../lib/theming/Emotion";
16
16
  import { rootNode } from "../../../lib/rootNode";
@@ -19,6 +19,7 @@ import { ThemeFactory } from "../../../lib/theming/ThemeFactory";
19
19
  import { isDarkTheme, isTheme2022 } from "../../../lib/theming/ThemeHelpers";
20
20
  import { isIE11 } from "../../../lib/client";
21
21
  import { globalClasses, styles } from "../Link.styles";
22
+ import { LinkIcon } from "../LinkIcon";
22
23
  export var LinkDataTids = {
23
24
  root: 'Link__root'
24
25
  };
@@ -46,6 +47,7 @@ var Link = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Co
46
47
  var disabled = props.disabled,
47
48
  href = props.href,
48
49
  icon = props.icon,
50
+ rightIcon = props.rightIcon,
49
51
  use = props.use,
50
52
  loading = props.loading,
51
53
  _button = props._button,
@@ -58,18 +60,6 @@ var Link = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Co
58
60
 
59
61
  var _isTheme2022 = isTheme2022(_this.theme);
60
62
 
61
- var iconElement = null;
62
-
63
- if (icon) {
64
- iconElement = /*#__PURE__*/React.createElement("span", {
65
- className: styles.icon(_this.theme)
66
- }, loading ? /*#__PURE__*/React.createElement(Spinner, {
67
- caption: null,
68
- dimmed: true,
69
- inline: true
70
- }) : icon);
71
- }
72
-
73
63
  var arrow = null;
74
64
 
75
65
  if (_button) {
@@ -85,6 +75,17 @@ var Link = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Co
85
75
  }
86
76
 
87
77
  var isFocused = !disabled && (_this.state.focusedByTab || focused);
78
+ var leftIconElement = icon && /*#__PURE__*/React.createElement(LinkIcon, {
79
+ icon: icon,
80
+ loading: loading,
81
+ position: "left"
82
+ });
83
+ var rightIconElement = rightIcon && /*#__PURE__*/React.createElement(LinkIcon, {
84
+ hasBothIcons: !!icon && !!rightIcon,
85
+ icon: rightIcon,
86
+ loading: loading,
87
+ position: "right"
88
+ });
88
89
  var linkProps = {
89
90
  className: cx(styles.useRoot(), use === 'default' && styles.useDefault(_this.theme), use === 'success' && styles.useSuccess(_this.theme), use === 'danger' && styles.useDanger(_this.theme), use === 'grayed' && styles.useGrayed(_this.theme), !!_button && styles.button(_this.theme), !!_buttonOpened && styles.buttonOpened(_this.theme), _this.getLinkClassName(isFocused, Boolean(disabled || loading), _isTheme2022)),
90
91
  href: href,
@@ -97,26 +98,26 @@ var Link = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Co
97
98
  var child = _this.props.children;
98
99
 
99
100
  if (_isTheme2022) {
100
- var _cx; // lineTextWrapper нужен для реализации transition у подчеркивания
101
+ var _cx, _cx2; // lineTextWrapper нужен для реализации transition у подчеркивания
101
102
 
102
103
 
103
104
  child = /*#__PURE__*/React.createElement("span", {
104
- className: cx(styles.lineTextWrapper(_this.theme))
105
+ className: cx(styles.lineTextWrapper(_this.theme), (_cx = {}, _cx[styles.lineTextWrapperFocused(_this.theme)] = isFocused, _cx))
105
106
  }, /*#__PURE__*/React.createElement("span", {
106
- className: cx(globalClasses.text, (_cx = {}, _cx[styles.lineText(_this.theme)] = !isIE11, _cx[styles.lineTextIE11(_this.theme)] = isIE11, _cx))
107
+ className: cx(globalClasses.text, (_cx2 = {}, _cx2[styles.lineText(_this.theme)] = !isIE11, _cx2[styles.lineTextIE11(_this.theme)] = isIE11, _cx2))
107
108
  }, _this.props.children));
108
109
  }
109
110
 
110
111
  return /*#__PURE__*/React.createElement(Component, _extends({
111
112
  "data-tid": LinkDataTids.root
112
- }, rest, linkProps), iconElement, child, arrow);
113
+ }, rest, linkProps), leftIconElement, child, rightIconElement, arrow);
113
114
  };
114
115
 
115
116
  _this.handleFocus = function () {
116
117
  if (!_this.props.disabled) {
117
118
  // focus event fires before keyDown eventlistener
118
119
  // so we should check tabPressed in async way
119
- requestAnimationFrame(function () {
120
+ globalObject.requestAnimationFrame == null ? void 0 : globalObject.requestAnimationFrame(function () {
120
121
  if (keyListener.isTabPressed) {
121
122
  _this.setState({
122
123
  focusedByTab: true
@@ -175,7 +176,7 @@ var Link = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Co
175
176
  };
176
177
 
177
178
  return Link;
178
- }(React.Component), _class2.__KONTUR_REACT_UI__ = 'Link', _class2.propTypes = {
179
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'Link', _class2.displayName = 'Link', _class2.propTypes = {
179
180
  disabled: PropTypes.bool,
180
181
  href: PropTypes.string,
181
182
  icon: PropTypes.node,
@@ -1 +1 @@
1
- {"version":3,"sources":["Link.tsx"],"names":["React","PropTypes","keyListener","ThemeContext","isExternalLink","Spinner","CommonWrapper","cx","rootNode","createPropsGetter","ThemeFactory","isDarkTheme","isTheme2022","isIE11","globalClasses","styles","LinkDataTids","root","Link","getProps","defaultProps","state","focusedByTab","renderMain","props","disabled","href","icon","use","loading","_button","_buttonOpened","relOrigin","rel","Component","as","focused","rest","_isTheme2022","theme","iconElement","arrow","isFocused","linkProps","className","useRoot","useDefault","useSuccess","useDanger","useGrayed","button","buttonOpened","getLinkClassName","Boolean","onClick","handleClick","onFocus","handleFocus","onBlur","handleBlur","tabIndex","child","children","lineTextWrapper","text","lineText","lineTextIE11","requestAnimationFrame","isTabPressed","setState","event","preventDefault","render","create","setRootNode","isBorderBottom","parseInt","linkLineBorderBottomWidth","focus","useGrayedFocus","lineRoot","disabledDark22Theme","lineFocus","lineFocusSuccess","lineFocusDanger","lineFocusGrayed","__KONTUR_REACT_UI__","propTypes","bool","string","node","oneOf"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isExternalLink } from '../../lib/utils';\nimport { Spinner } from '../Spinner';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { isDarkTheme, isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { isIE11 } from '../../lib/client';\n\nimport { globalClasses, styles } from './Link.styles';\n\nexport interface LinkProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n {\n /**\n * Отключенное состояние.\n */\n disabled?: boolean;\n /**\n * HTML-атрибут `href`.\n */\n href?: string;\n /**\n * Добавляет ссылке иконку.\n */\n icon?: React.ReactElement<any>;\n /**\n * Тема ссылки.\n */\n use?: 'default' | 'success' | 'danger' | 'grayed';\n /**\n * @ignore\n */\n _button?: boolean;\n /**\n * @ignore\n */\n _buttonOpened?: boolean;\n /**\n * HTML-атрибут `tabindex`.\n */\n tabIndex?: number;\n /**\n * Переводит ссылку в состояние загрузки.\n */\n loading?: boolean;\n /**\n * HTML-событие `onclick`.\n */\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;\n\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n /**\n * Компонент, используемый в качестве корневого узла.\n * @ignore\n */\n as?: React.ElementType | keyof React.ReactHTML;\n /**\n * @ignore\n */\n focused?: boolean;\n }\n > {}\n\nexport interface LinkState {\n focusedByTab: boolean;\n}\n\nexport const LinkDataTids = {\n root: 'Link__root',\n} as const;\n\ntype DefaultProps = Required<Pick<LinkProps, 'href' | 'use' | 'as'>>;\ntype DefaultizedLinkProps = DefaultizedProps<LinkProps, DefaultProps>;\n\n/**\n * Элемент ссылки из HTML.\n */\n@rootNode\nexport class Link extends React.Component<LinkProps, LinkState> {\n public static __KONTUR_REACT_UI__ = 'Link';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n use: PropTypes.oneOf(['default', 'success', 'danger', 'grayed']),\n };\n\n public static defaultProps: DefaultProps = {\n href: '',\n use: 'default',\n as: 'a',\n };\n\n private getProps = createPropsGetter(Link.defaultProps);\n\n public state: LinkState = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<DefaultizedLinkProps>) => {\n const {\n disabled,\n href,\n icon,\n use,\n loading,\n _button,\n _buttonOpened,\n rel: relOrigin,\n as: Component,\n focused = false,\n ...rest\n } = props;\n const _isTheme2022 = isTheme2022(this.theme);\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <span className={styles.icon(this.theme)}>{loading ? <Spinner caption={null} dimmed inline /> : icon}</span>\n );\n }\n\n let arrow = null;\n if (_button) {\n arrow = <span className={styles.arrow()} />;\n }\n\n let rel = relOrigin;\n if (typeof rel === 'undefined' && href) {\n rel = `noopener${isExternalLink(href) ? ' noreferrer' : ''}`;\n }\n\n const isFocused = !disabled && (this.state.focusedByTab || focused);\n\n const linkProps = {\n className: cx(\n styles.useRoot(),\n use === 'default' && styles.useDefault(this.theme),\n use === 'success' && styles.useSuccess(this.theme),\n use === 'danger' && styles.useDanger(this.theme),\n use === 'grayed' && styles.useGrayed(this.theme),\n !!_button && styles.button(this.theme),\n !!_buttonOpened && styles.buttonOpened(this.theme),\n this.getLinkClassName(isFocused, Boolean(disabled || loading), _isTheme2022),\n ),\n href,\n rel,\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: disabled || loading ? -1 : this.props.tabIndex,\n };\n\n let child = this.props.children;\n if (_isTheme2022) {\n // lineTextWrapper нужен для реализации transition у подчеркивания\n child = (\n <span className={cx(styles.lineTextWrapper(this.theme))}>\n <span\n className={cx(globalClasses.text, {\n [styles.lineText(this.theme)]: !isIE11,\n [styles.lineTextIE11(this.theme)]: isIE11,\n })}\n >\n {this.props.children}\n </span>\n </span>\n );\n }\n\n return (\n <Component data-tid={LinkDataTids.root} {...rest} {...linkProps}>\n {iconElement}\n {child}\n {arrow}\n </Component>\n );\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n\n private handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n const { onClick, disabled, loading } = this.props;\n const href = this.getProps().href;\n if (!href) {\n event.preventDefault();\n }\n if (onClick && !disabled && !loading) {\n onClick(event);\n }\n };\n\n private getLinkClassName(focused: boolean, disabled: boolean, _isTheme2022: boolean): string {\n const { use } = this.getProps();\n const isBorderBottom = parseInt(this.theme.linkLineBorderBottomWidth) > 0;\n const isFocused = focused && !disabled;\n\n return !isBorderBottom\n ? cx(\n styles.root(this.theme),\n isFocused && styles.focus(this.theme),\n disabled && styles.disabled(this.theme),\n use === 'grayed' && focused && styles.useGrayedFocus(this.theme),\n )\n : cx(\n styles.lineRoot(),\n disabled && styles.disabled(this.theme),\n disabled && _isTheme2022 && isDarkTheme(this.theme) && styles.disabledDark22Theme(this.theme),\n isFocused && use === 'default' && styles.lineFocus(this.theme),\n isFocused && use === 'success' && styles.lineFocusSuccess(this.theme),\n isFocused && use === 'danger' && styles.lineFocusDanger(this.theme),\n isFocused && use === 'grayed' && styles.lineFocusGrayed(this.theme),\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["Link.tsx"],"names":["React","PropTypes","globalObject","keyListener","ThemeContext","isExternalLink","CommonWrapper","cx","rootNode","createPropsGetter","ThemeFactory","isDarkTheme","isTheme2022","isIE11","globalClasses","styles","LinkIcon","LinkDataTids","root","Link","getProps","defaultProps","state","focusedByTab","renderMain","props","disabled","href","icon","rightIcon","use","loading","_button","_buttonOpened","relOrigin","rel","Component","as","focused","rest","_isTheme2022","theme","arrow","isFocused","leftIconElement","rightIconElement","linkProps","className","useRoot","useDefault","useSuccess","useDanger","useGrayed","button","buttonOpened","getLinkClassName","Boolean","onClick","handleClick","onFocus","handleFocus","onBlur","handleBlur","tabIndex","child","children","lineTextWrapper","lineTextWrapperFocused","text","lineText","lineTextIE11","requestAnimationFrame","isTabPressed","setState","event","preventDefault","render","create","setRootNode","isBorderBottom","parseInt","linkLineBorderBottomWidth","focus","useGrayedFocus","lineRoot","disabledDark22Theme","lineFocus","lineFocusSuccess","lineFocusDanger","lineFocusGrayed","__KONTUR_REACT_UI__","displayName","propTypes","bool","string","node","oneOf"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isExternalLink } from '../../lib/utils';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { isDarkTheme, isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { isIE11 } from '../../lib/client';\n\nimport { globalClasses, styles } from './Link.styles';\nimport { LinkIcon } from './LinkIcon';\n\nexport interface LinkProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n {\n /**\n * Отключенное состояние.\n */\n disabled?: boolean;\n /**\n * HTML-атрибут `href`.\n */\n href?: string;\n /**\n * Добавляет ссылке иконку слева.\n */\n icon?: React.ReactElement;\n /**\n * Добавляет ссылке иконку справа.\n */\n rightIcon?: React.ReactElement;\n /**\n * Тема ссылки.\n */\n use?: 'default' | 'success' | 'danger' | 'grayed';\n /**\n * @ignore\n */\n _button?: boolean;\n /**\n * @ignore\n */\n _buttonOpened?: boolean;\n /**\n * HTML-атрибут `tabindex`.\n */\n tabIndex?: number;\n /**\n * Переводит ссылку в состояние загрузки.\n */\n loading?: boolean;\n /**\n * HTML-событие `onclick`.\n */\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;\n\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n /**\n * Компонент, используемый в качестве корневого узла.\n * @ignore\n */\n as?: React.ElementType | keyof React.ReactHTML;\n /**\n * @ignore\n */\n focused?: boolean;\n }\n > {}\n\nexport interface LinkState {\n focusedByTab: boolean;\n}\n\nexport const LinkDataTids = {\n root: 'Link__root',\n} as const;\n\ntype DefaultProps = Required<Pick<LinkProps, 'href' | 'use' | 'as'>>;\ntype DefaultizedLinkProps = DefaultizedProps<LinkProps, DefaultProps>;\n\n/**\n * Элемент ссылки из HTML.\n */\n@rootNode\nexport class Link extends React.Component<LinkProps, LinkState> {\n public static __KONTUR_REACT_UI__ = 'Link';\n public static displayName = 'Link';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n use: PropTypes.oneOf(['default', 'success', 'danger', 'grayed']),\n };\n\n public static defaultProps: DefaultProps = {\n href: '',\n use: 'default',\n as: 'a',\n };\n\n private getProps = createPropsGetter(Link.defaultProps);\n\n public state: LinkState = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<DefaultizedLinkProps>) => {\n const {\n disabled,\n href,\n icon,\n rightIcon,\n use,\n loading,\n _button,\n _buttonOpened,\n rel: relOrigin,\n as: Component,\n focused = false,\n ...rest\n } = props;\n const _isTheme2022 = isTheme2022(this.theme);\n\n let arrow = null;\n if (_button) {\n arrow = <span className={styles.arrow()} />;\n }\n\n let rel = relOrigin;\n if (typeof rel === 'undefined' && href) {\n rel = `noopener${isExternalLink(href) ? ' noreferrer' : ''}`;\n }\n\n const isFocused = !disabled && (this.state.focusedByTab || focused);\n\n const leftIconElement = icon && <LinkIcon icon={icon} loading={loading} position=\"left\" />;\n const rightIconElement = rightIcon && (\n <LinkIcon hasBothIcons={!!icon && !!rightIcon} icon={rightIcon} loading={loading} position=\"right\" />\n );\n\n const linkProps = {\n className: cx(\n styles.useRoot(),\n use === 'default' && styles.useDefault(this.theme),\n use === 'success' && styles.useSuccess(this.theme),\n use === 'danger' && styles.useDanger(this.theme),\n use === 'grayed' && styles.useGrayed(this.theme),\n !!_button && styles.button(this.theme),\n !!_buttonOpened && styles.buttonOpened(this.theme),\n this.getLinkClassName(isFocused, Boolean(disabled || loading), _isTheme2022),\n ),\n href,\n rel,\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: disabled || loading ? -1 : this.props.tabIndex,\n };\n\n let child = this.props.children;\n if (_isTheme2022) {\n // lineTextWrapper нужен для реализации transition у подчеркивания\n child = (\n <span\n className={cx(styles.lineTextWrapper(this.theme), {\n [styles.lineTextWrapperFocused(this.theme)]: isFocused,\n })}\n >\n <span\n className={cx(globalClasses.text, {\n [styles.lineText(this.theme)]: !isIE11,\n [styles.lineTextIE11(this.theme)]: isIE11,\n })}\n >\n {this.props.children}\n </span>\n </span>\n );\n }\n\n return (\n <Component data-tid={LinkDataTids.root} {...rest} {...linkProps}>\n {leftIconElement}\n {child}\n {rightIconElement}\n {arrow}\n </Component>\n );\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n\n private handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n const { onClick, disabled, loading } = this.props;\n const href = this.getProps().href;\n if (!href) {\n event.preventDefault();\n }\n if (onClick && !disabled && !loading) {\n onClick(event);\n }\n };\n\n private getLinkClassName(focused: boolean, disabled: boolean, _isTheme2022: boolean): string {\n const { use } = this.getProps();\n const isBorderBottom = parseInt(this.theme.linkLineBorderBottomWidth) > 0;\n const isFocused = focused && !disabled;\n\n return !isBorderBottom\n ? cx(\n styles.root(this.theme),\n isFocused && styles.focus(this.theme),\n disabled && styles.disabled(this.theme),\n use === 'grayed' && focused && styles.useGrayedFocus(this.theme),\n )\n : cx(\n styles.lineRoot(),\n disabled && styles.disabled(this.theme),\n disabled && _isTheme2022 && isDarkTheme(this.theme) && styles.disabledDark22Theme(this.theme),\n isFocused && use === 'default' && styles.lineFocus(this.theme),\n isFocused && use === 'success' && styles.lineFocusSuccess(this.theme),\n isFocused && use === 'danger' && styles.lineFocusDanger(this.theme),\n isFocused && use === 'grayed' && styles.lineFocusGrayed(this.theme),\n );\n }\n}\n"]}
@@ -13,9 +13,13 @@ export interface LinkProps extends Pick<AriaAttributes, 'aria-label'>, CommonPro
13
13
  */
14
14
  href?: string;
15
15
  /**
16
- * Добавляет ссылке иконку.
16
+ * Добавляет ссылке иконку слева.
17
17
  */
18
- icon?: React.ReactElement<any>;
18
+ icon?: React.ReactElement;
19
+ /**
20
+ * Добавляет ссылке иконку справа.
21
+ */
22
+ rightIcon?: React.ReactElement;
19
23
  /**
20
24
  * Тема ссылки.
21
25
  */
@@ -68,6 +72,7 @@ declare type DefaultProps = Required<Pick<LinkProps, 'href' | 'use' | 'as'>>;
68
72
  */
69
73
  export declare class Link extends React.Component<LinkProps, LinkState> {
70
74
  static __KONTUR_REACT_UI__: string;
75
+ static displayName: string;
71
76
  static propTypes: {
72
77
  disabled: PropTypes.Requireable<boolean>;
73
78
  href: PropTypes.Requireable<string>;