@skbkontur/react-ui 0.0.0-5188be76c1 → 0.0.0-53ccdcbfcc

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 (1139) hide show
  1. package/CHANGELOG.md +164 -16
  2. package/cjs/components/Button/Button.d.ts +1 -0
  3. package/cjs/components/Button/Button.js +18 -6
  4. package/cjs/components/Button/Button.js.map +1 -1
  5. package/cjs/components/Button/Button.md +68 -0
  6. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  7. package/cjs/components/Button/Button.mixins.js +54 -53
  8. package/cjs/components/Button/Button.mixins.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +2 -1
  10. package/cjs/components/Button/Button.styles.js +200 -161
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Button/ButtonArrow.js +1 -1
  13. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  14. package/cjs/components/Button/ButtonIcon.js +1 -4
  15. package/cjs/components/Button/ButtonIcon.js.map +1 -1
  16. package/cjs/components/Button/getInnerLinkTheme.js +1 -0
  17. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  18. package/cjs/components/Calendar/Calendar.js +8 -6
  19. package/cjs/components/Calendar/Calendar.js.map +1 -1
  20. package/cjs/components/Checkbox/Checkbox.js +8 -7
  21. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  22. package/cjs/components/Clickable/ArrowLeftIcon.d.ts +3 -0
  23. package/cjs/components/Clickable/ArrowLeftIcon.js +15 -0
  24. package/cjs/components/Clickable/ArrowLeftIcon.js.map +1 -0
  25. package/cjs/components/Clickable/ArrowRightIcon.d.ts +3 -0
  26. package/cjs/components/Clickable/ArrowRightIcon.js +15 -0
  27. package/cjs/components/Clickable/ArrowRightIcon.js.map +1 -0
  28. package/cjs/components/Clickable/Clickable.d.ts +95 -0
  29. package/cjs/components/Clickable/Clickable.js +248 -0
  30. package/cjs/components/Clickable/Clickable.js.map +1 -0
  31. package/cjs/components/Clickable/Clickable.md +210 -0
  32. package/cjs/components/Clickable/Clickable.styles.d.ts +11 -0
  33. package/cjs/components/Clickable/Clickable.styles.js +31 -0
  34. package/cjs/components/Clickable/Clickable.styles.js.map +1 -0
  35. package/cjs/components/Clickable/ClickableButton.d.ts +5 -0
  36. package/cjs/components/Clickable/ClickableButton.js +43 -0
  37. package/cjs/components/Clickable/ClickableButton.js.map +1 -0
  38. package/cjs/components/Clickable/ClickableButton.mixins.d.ts +30 -0
  39. package/cjs/components/Clickable/ClickableButton.mixins.js +134 -0
  40. package/cjs/components/Clickable/ClickableButton.mixins.js.map +1 -0
  41. package/cjs/components/Clickable/ClickableButton.styles.d.ts +63 -0
  42. package/cjs/components/Clickable/ClickableButton.styles.js +604 -0
  43. package/cjs/components/Clickable/ClickableButton.styles.js.map +1 -0
  44. package/cjs/components/Clickable/ClickableButtonArrow.d.ts +4 -0
  45. package/cjs/components/Clickable/ClickableButtonArrow.js +32 -0
  46. package/cjs/components/Clickable/ClickableButtonArrow.js.map +1 -0
  47. package/cjs/components/Clickable/ClickableButtonArrow.styles.d.ts +8 -0
  48. package/cjs/components/Clickable/ClickableButtonArrow.styles.js +40 -0
  49. package/cjs/components/Clickable/ClickableButtonArrow.styles.js.map +1 -0
  50. package/cjs/components/Clickable/ClickableButtonCaption.d.ts +2 -0
  51. package/cjs/components/Clickable/ClickableButtonCaption.js +57 -0
  52. package/cjs/components/Clickable/ClickableButtonCaption.js.map +1 -0
  53. package/cjs/components/Clickable/ClickableButtonCaption.styles.d.ts +5 -0
  54. package/cjs/components/Clickable/ClickableButtonCaption.styles.js +23 -0
  55. package/cjs/components/Clickable/ClickableButtonCaption.styles.js.map +1 -0
  56. package/cjs/components/Clickable/ClickableButtonIcon.d.ts +7 -0
  57. package/cjs/components/Clickable/ClickableButtonIcon.js +64 -0
  58. package/cjs/components/Clickable/ClickableButtonIcon.js.map +1 -0
  59. package/cjs/components/Clickable/ClickableButtonIcon.styles.d.ts +19 -0
  60. package/cjs/components/Clickable/ClickableButtonIcon.styles.js +108 -0
  61. package/cjs/components/Clickable/ClickableButtonIcon.styles.js.map +1 -0
  62. package/cjs/components/Clickable/ClickableButtonLoadingIcon.d.ts +6 -0
  63. package/cjs/components/Clickable/ClickableButtonLoadingIcon.js +19 -0
  64. package/cjs/components/Clickable/ClickableButtonLoadingIcon.js.map +1 -0
  65. package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.d.ts +3 -0
  66. package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.js +17 -0
  67. package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.js.map +1 -0
  68. package/cjs/components/Clickable/ClickableButtonOutline.d.ts +4 -0
  69. package/cjs/components/Clickable/ClickableButtonOutline.js +36 -0
  70. package/cjs/components/Clickable/ClickableButtonOutline.js.map +1 -0
  71. package/cjs/components/Clickable/ClickableButtonOutline.styles.d.ts +6 -0
  72. package/cjs/components/Clickable/ClickableButtonOutline.styles.js +25 -0
  73. package/cjs/components/Clickable/ClickableButtonOutline.styles.js.map +1 -0
  74. package/cjs/components/Clickable/ClickableButtonWrapper.d.ts +3 -0
  75. package/cjs/components/Clickable/ClickableButtonWrapper.js +27 -0
  76. package/cjs/components/Clickable/ClickableButtonWrapper.js.map +1 -0
  77. package/cjs/components/Clickable/ClickableButtonWrapper.styles.d.ts +7 -0
  78. package/cjs/components/Clickable/ClickableButtonWrapper.styles.js +27 -0
  79. package/cjs/components/Clickable/ClickableButtonWrapper.styles.js.map +1 -0
  80. package/cjs/components/Clickable/ClickableLink.d.ts +5 -0
  81. package/cjs/components/Clickable/ClickableLink.js +28 -0
  82. package/cjs/components/Clickable/ClickableLink.js.map +1 -0
  83. package/cjs/components/Clickable/ClickableLink.styles.d.ts +21 -0
  84. package/cjs/components/Clickable/ClickableLink.styles.js +134 -0
  85. package/cjs/components/Clickable/ClickableLink.styles.js.map +1 -0
  86. package/cjs/components/Clickable/ClickableLinkChild.d.ts +7 -0
  87. package/cjs/components/Clickable/ClickableLinkChild.js +40 -0
  88. package/cjs/components/Clickable/ClickableLinkChild.js.map +1 -0
  89. package/cjs/components/Clickable/ClickableLinkChild.styles.d.ts +7 -0
  90. package/cjs/components/Clickable/ClickableLinkChild.styles.js +42 -0
  91. package/cjs/components/Clickable/ClickableLinkChild.styles.js.map +1 -0
  92. package/cjs/components/Clickable/ClickableLinkIcon.d.ts +7 -0
  93. package/cjs/components/Clickable/ClickableLinkIcon.js +30 -0
  94. package/cjs/components/Clickable/ClickableLinkIcon.js.map +1 -0
  95. package/cjs/components/Clickable/ClickableLinkIcon.styles.d.ts +6 -0
  96. package/cjs/components/Clickable/ClickableLinkIcon.styles.js +20 -0
  97. package/cjs/components/Clickable/ClickableLinkIcon.styles.js.map +1 -0
  98. package/cjs/components/Clickable/index.d.ts +1 -0
  99. package/cjs/components/Clickable/index.js +1 -0
  100. package/cjs/components/Clickable/index.js.map +1 -0
  101. package/cjs/components/Clickable/utils.d.ts +6 -0
  102. package/cjs/components/Clickable/utils.js +47 -0
  103. package/cjs/components/Clickable/utils.js.map +1 -0
  104. package/cjs/components/CurrencyInput/CurrencyInput.js +3 -1
  105. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  106. package/cjs/components/DateInput/DateFragmentsView.js +2 -1
  107. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  108. package/cjs/components/DateInput/DateInput.js +2 -1
  109. package/cjs/components/DateInput/DateInput.js.map +1 -1
  110. package/cjs/components/DateInput/helpers/SelectionHelpers.js +11 -10
  111. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  112. package/cjs/components/Dropdown/getDropdownTheme.js +21 -22
  113. package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
  114. package/cjs/components/FileUploader/FileUploader.js +5 -5
  115. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  116. package/cjs/components/FileUploader/FileUploader.styles.d.ts +1 -1
  117. package/cjs/components/FileUploader/FileUploader.styles.js +10 -2
  118. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  119. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -2
  120. package/cjs/components/GlobalLoader/GlobalLoader.js +11 -16
  121. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  122. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  123. package/cjs/components/GlobalLoader/GlobalLoaderView.js +3 -5
  124. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  125. package/cjs/components/Group/Group.js +7 -5
  126. package/cjs/components/Group/Group.js.map +1 -1
  127. package/cjs/components/Group/Group.md +24 -0
  128. package/cjs/components/Hint/Hint.js +5 -5
  129. package/cjs/components/Hint/Hint.js.map +1 -1
  130. package/cjs/components/Input/Input.d.ts +22 -5
  131. package/cjs/components/Input/Input.js +43 -22
  132. package/cjs/components/Input/Input.js.map +1 -1
  133. package/cjs/components/Input/Input.typings.d.ts +7 -0
  134. package/cjs/components/Input/Input.typings.js +1 -0
  135. package/cjs/components/Input/Input.typings.js.map +1 -0
  136. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -1
  137. package/cjs/components/Input/InputLayout/InputLayout.styles.js +7 -2
  138. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  139. package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -7
  140. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  141. package/cjs/components/Input/index.d.ts +1 -0
  142. package/cjs/components/Input/index.js +2 -1
  143. package/cjs/components/Input/index.js.map +1 -1
  144. package/cjs/components/Kebab/Kebab.js +3 -2
  145. package/cjs/components/Kebab/Kebab.js.map +1 -1
  146. package/cjs/components/Link/Link.js +11 -7
  147. package/cjs/components/Link/Link.js.map +1 -1
  148. package/cjs/components/Link/Link.md +69 -0
  149. package/cjs/components/Link/Link.styles.d.ts +1 -0
  150. package/cjs/components/Link/Link.styles.js +30 -22
  151. package/cjs/components/Link/Link.styles.js.map +1 -1
  152. package/cjs/components/Loader/Loader.js +8 -7
  153. package/cjs/components/Loader/Loader.js.map +1 -1
  154. package/cjs/components/MaskedInput/MaskedInput.d.ts +24 -0
  155. package/cjs/components/MaskedInput/MaskedInput.js +78 -0
  156. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -0
  157. package/cjs/components/MaskedInput/MaskedInput.md +21 -0
  158. package/cjs/components/MaskedInput/index.js.map +1 -0
  159. package/cjs/components/MenuHeader/MenuHeader.js +3 -1
  160. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  161. package/cjs/components/MenuItem/MenuItem.d.ts +21 -0
  162. package/cjs/components/MenuItem/MenuItem.js +113 -15
  163. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  164. package/cjs/components/MenuItem/MenuItem.md +20 -6
  165. package/cjs/components/MiniModal/MiniModal.d.ts +18 -0
  166. package/cjs/components/MiniModal/MiniModal.js +47 -0
  167. package/cjs/components/MiniModal/MiniModal.js.map +1 -0
  168. package/cjs/components/MiniModal/MiniModal.md +233 -0
  169. package/cjs/components/MiniModal/MiniModal.styles.d.ts +14 -0
  170. package/cjs/components/MiniModal/MiniModal.styles.js +87 -0
  171. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -0
  172. package/cjs/components/MiniModal/MiniModalBody.d.ts +7 -0
  173. package/cjs/components/MiniModal/MiniModalBody.js +24 -0
  174. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -0
  175. package/cjs/components/MiniModal/MiniModalFooter.d.ts +18 -0
  176. package/cjs/components/MiniModal/MiniModalFooter.js +60 -0
  177. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -0
  178. package/cjs/components/MiniModal/MiniModalHeader.d.ts +17 -0
  179. package/cjs/components/MiniModal/MiniModalHeader.js +47 -0
  180. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -0
  181. package/cjs/components/MiniModal/MiniModalIndent.d.ts +6 -0
  182. package/cjs/components/MiniModal/MiniModalIndent.js +29 -0
  183. package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -0
  184. package/cjs/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  185. package/cjs/components/MiniModal/getMiniModalTheme.js +24 -0
  186. package/cjs/components/MiniModal/getMiniModalTheme.js.map +1 -0
  187. package/cjs/components/MiniModal/index.d.ts +5 -0
  188. package/cjs/components/MiniModal/index.js +5 -0
  189. package/cjs/components/MiniModal/index.js.map +1 -0
  190. package/cjs/components/Modal/Modal.d.ts +6 -0
  191. package/cjs/components/Modal/Modal.js +15 -1
  192. package/cjs/components/Modal/Modal.js.map +1 -1
  193. package/cjs/components/Modal/Modal.styles.d.ts +5 -0
  194. package/cjs/components/Modal/Modal.styles.js +56 -39
  195. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  196. package/cjs/components/Modal/ModalClose.js +2 -1
  197. package/cjs/components/Modal/ModalClose.js.map +1 -1
  198. package/cjs/components/Modal/ModalHeader.js +1 -1
  199. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  200. package/cjs/components/Modal/ModalSeparator.d.ts +5 -0
  201. package/cjs/components/Modal/ModalSeparator.js +5 -0
  202. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  203. package/cjs/components/Modal/getModalTheme.d.ts +2 -2
  204. package/cjs/components/Modal/getModalTheme.js +6 -2
  205. package/cjs/components/Modal/getModalTheme.js.map +1 -1
  206. package/cjs/components/Paging/NavigationHelper.js +2 -1
  207. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  208. package/cjs/components/Paging/Paging.js +16 -14
  209. package/cjs/components/Paging/Paging.js.map +1 -1
  210. package/cjs/components/Paging/Paging.styles.d.ts +0 -1
  211. package/cjs/components/Paging/Paging.styles.js +3 -9
  212. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  213. package/cjs/components/PasswordInput/PasswordInput.js +4 -2
  214. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  215. package/cjs/components/Radio/Radio.js +2 -1
  216. package/cjs/components/Radio/Radio.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 +18 -3
  225. package/cjs/components/ScrollContainer/ScrollContainer.js +102 -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 +1 -0
  232. package/cjs/components/Select/Item.js +2 -1
  233. package/cjs/components/Select/Item.js.map +1 -1
  234. package/cjs/components/Select/Select.d.ts +2 -0
  235. package/cjs/components/Select/Select.js +25 -8
  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 +3 -1
  239. package/cjs/components/SidePage/SidePage.js +36 -5
  240. package/cjs/components/SidePage/SidePage.js.map +1 -1
  241. package/cjs/components/SidePage/SidePageCloseButton.js +2 -1
  242. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  243. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  244. package/cjs/components/SidePage/SidePageHeader.js +8 -6
  245. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  246. package/cjs/components/SingleToast/SingleToast.d.ts +11 -0
  247. package/cjs/components/SingleToast/SingleToast.js +20 -0
  248. package/cjs/components/SingleToast/SingleToast.js.map +1 -0
  249. package/cjs/components/SingleToast/SingleToast.md +35 -0
  250. package/cjs/components/SingleToast/index.d.ts +1 -0
  251. package/cjs/components/SingleToast/index.js +1 -0
  252. package/cjs/components/SingleToast/index.js.map +1 -0
  253. package/cjs/components/Spinner/Spinner.d.ts +1 -0
  254. package/cjs/components/Spinner/Spinner.js +16 -1
  255. package/cjs/components/Spinner/Spinner.js.map +1 -1
  256. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +6 -2
  257. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  258. package/cjs/components/Sticky/Sticky.js +5 -10
  259. package/cjs/components/Sticky/Sticky.js.map +1 -1
  260. package/cjs/components/Switcher/Switcher.d.ts +1 -1
  261. package/cjs/components/Switcher/Switcher.js.map +1 -1
  262. package/cjs/components/Tabs/Indicator.js +3 -1
  263. package/cjs/components/Tabs/Indicator.js.map +1 -1
  264. package/cjs/components/Tabs/Tab.js +2 -1
  265. package/cjs/components/Tabs/Tab.js.map +1 -1
  266. package/cjs/components/Tabs/Tabs.js +3 -1
  267. package/cjs/components/Tabs/Tabs.js.map +1 -1
  268. package/cjs/components/Textarea/Textarea.d.ts +1 -0
  269. package/cjs/components/Textarea/Textarea.js +38 -11
  270. package/cjs/components/Textarea/Textarea.js.map +1 -1
  271. package/cjs/components/Textarea/TextareaCounter.d.ts +1 -1
  272. package/cjs/components/Textarea/TextareaCounter.js +2 -1
  273. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  274. package/cjs/components/Textarea/TextareaHelpers.d.ts +1 -1
  275. package/cjs/components/Textarea/TextareaHelpers.js +7 -2
  276. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  277. package/cjs/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
  278. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js +20 -0
  279. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -0
  280. package/cjs/components/Toast/Toast.d.ts +10 -3
  281. package/cjs/components/Toast/Toast.js +26 -8
  282. package/cjs/components/Toast/Toast.js.map +1 -1
  283. package/cjs/components/Toast/Toast.md +0 -105
  284. package/cjs/components/Toast/ToastStatic.js +4 -3
  285. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  286. package/cjs/components/Token/Token.js +1 -6
  287. package/cjs/components/Token/Token.js.map +1 -1
  288. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  289. package/cjs/components/TokenInput/TokenInput.js +42 -9
  290. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  291. package/cjs/components/TokenInput/TokenInput.md +71 -0
  292. package/cjs/components/Tooltip/Tooltip.d.ts +6 -1
  293. package/cjs/components/Tooltip/Tooltip.js +15 -5
  294. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  295. package/cjs/components/Tooltip/Tooltip.md +24 -0
  296. package/cjs/hooks/useDrop.js +3 -2
  297. package/cjs/hooks/useDrop.js.map +1 -1
  298. package/cjs/index.d.ts +5 -0
  299. package/cjs/index.js +5 -0
  300. package/cjs/index.js.map +1 -1
  301. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +2 -1
  302. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  303. package/cjs/internal/ComponentCombinator.d.ts +7 -8
  304. package/cjs/internal/ComponentCombinator.js +2 -5
  305. package/cjs/internal/ComponentCombinator.js.map +1 -1
  306. package/cjs/internal/ComponentTable.d.ts +7 -19
  307. package/cjs/internal/ComponentTable.js +50 -77
  308. package/cjs/internal/ComponentTable.js.map +1 -1
  309. package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -3
  310. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  311. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +3 -2
  312. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  313. package/cjs/internal/DateSelect/DateSelect.js +20 -16
  314. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  315. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
  316. package/cjs/internal/DropdownContainer/DropdownContainer.js +14 -13
  317. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  318. package/cjs/internal/DropdownContainer/getManualPosition.js +6 -4
  319. package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -1
  320. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -1
  321. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +2 -1
  322. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  323. package/cjs/internal/FocusTrap/FocusTrap.js +8 -6
  324. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  325. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +19 -20
  326. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  327. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +3 -1
  328. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  329. package/cjs/internal/InputLikeText/InputLikeText.js +17 -16
  330. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  331. package/cjs/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +8 -5
  332. package/cjs/internal/{MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput.js} +11 -8
  333. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
  334. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +1 -0
  335. package/cjs/internal/InternalMaskedInput/index.d.ts +1 -0
  336. package/cjs/internal/InternalMaskedInput/index.js +1 -0
  337. package/cjs/internal/InternalMaskedInput/index.js.map +1 -0
  338. package/cjs/internal/InternalMenu/InternalMenu.js +8 -7
  339. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  340. package/cjs/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
  341. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
  342. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js +52 -0
  343. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js.map +1 -0
  344. package/cjs/internal/MaskedInputElement/MaskedInputElement.js +196 -0
  345. package/cjs/internal/MaskedInputElement/MaskedInputElement.js.map +1 -0
  346. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js +29 -0
  347. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js.map +1 -0
  348. package/cjs/internal/MaskedInputElement/index.d.ts +1 -0
  349. package/cjs/internal/MaskedInputElement/index.js +1 -0
  350. package/cjs/internal/MaskedInputElement/index.js.map +1 -0
  351. package/cjs/internal/Menu/Menu.d.ts +6 -0
  352. package/cjs/internal/Menu/Menu.js +84 -16
  353. package/cjs/internal/Menu/Menu.js.map +1 -1
  354. package/cjs/internal/Menu/MenuContext.d.ts +10 -0
  355. package/cjs/internal/Menu/MenuContext.js +16 -0
  356. package/cjs/internal/Menu/MenuContext.js.map +1 -0
  357. package/cjs/internal/Menu/MenuNavigation.d.ts +26 -0
  358. package/cjs/internal/Menu/MenuNavigation.js +107 -0
  359. package/cjs/internal/Menu/MenuNavigation.js.map +1 -0
  360. package/cjs/internal/Menu/isActiveElement.js +1 -1
  361. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  362. package/cjs/internal/MenuMessage/MenuMessage.d.ts +1 -1
  363. package/cjs/internal/Popup/Popup.js +12 -8
  364. package/cjs/internal/Popup/Popup.js.map +1 -1
  365. package/cjs/internal/Popup/PopupHelper.js +9 -7
  366. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  367. package/cjs/internal/PopupMenu/PopupMenu.js +3 -2
  368. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  369. package/cjs/internal/RenderContainer/RenderContainer.d.ts +0 -1
  370. package/cjs/internal/RenderContainer/RenderContainer.js +18 -22
  371. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  372. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
  373. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  374. package/cjs/internal/RenderLayer/RenderLayer.js +5 -3
  375. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  376. package/cjs/internal/ThemePlayground/VariableValue.js +1 -0
  377. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  378. package/cjs/internal/ThemePlayground/constants.js +1 -0
  379. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  380. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  381. package/cjs/internal/ThemeShowcase/VariablesCollector.js +6 -4
  382. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  383. package/cjs/internal/ZIndex/ZIndex.js +2 -2
  384. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  385. package/cjs/internal/ZIndex/ZIndexStorage.js +2 -2
  386. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  387. package/cjs/internal/icons/16px/index.d.ts +19 -19
  388. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  389. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  390. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  391. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  392. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  393. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  394. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  395. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  396. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  397. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  398. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  399. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  400. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  401. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  402. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  403. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  404. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  405. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  406. package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
  407. package/cjs/internal/icons2022/BaseIcon.js +3 -7
  408. package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
  409. package/cjs/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  410. package/cjs/internal/icons2022/BaseIcon.styles.js +14 -0
  411. package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -0
  412. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  413. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  414. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  415. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  416. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  417. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  418. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  419. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  420. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  421. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  422. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  423. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  424. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  425. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  426. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  427. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  428. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +20 -0
  429. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -0
  430. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  431. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  432. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  433. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  434. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  435. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  436. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  437. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  438. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  439. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  440. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  441. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  442. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  443. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  444. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  445. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  446. package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  447. package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  448. package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  449. package/cjs/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  450. package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  451. package/cjs/internal/themes/DefaultTheme.d.ts +67 -2
  452. package/cjs/internal/themes/DefaultTheme.js +134 -7
  453. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  454. package/cjs/internal/themes/Theme2022.d.ts +22 -7
  455. package/cjs/internal/themes/Theme2022.js +40 -11
  456. package/cjs/internal/themes/Theme2022.js.map +1 -1
  457. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -9
  458. package/cjs/internal/themes/Theme2022Dark.js +10 -10
  459. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  460. package/cjs/lib/LayoutEvents.js +5 -4
  461. package/cjs/lib/LayoutEvents.js.map +1 -1
  462. package/cjs/lib/ModalStack.js +2 -3
  463. package/cjs/lib/ModalStack.js.map +1 -1
  464. package/cjs/lib/SSRSafe.d.ts +1 -6
  465. package/cjs/lib/SSRSafe.js +4 -48
  466. package/cjs/lib/SSRSafe.js.map +1 -1
  467. package/cjs/lib/Upgrades.d.ts +1 -0
  468. package/cjs/lib/Upgrades.js +3 -1
  469. package/cjs/lib/Upgrades.js.map +1 -1
  470. package/cjs/lib/animation/index.js +6 -4
  471. package/cjs/lib/animation/index.js.map +1 -1
  472. package/cjs/lib/chars.d.ts +1 -1
  473. package/cjs/lib/chars.js +2 -2
  474. package/cjs/lib/chars.js.map +1 -1
  475. package/cjs/lib/client.d.ts +2 -7
  476. package/cjs/lib/client.js +9 -7
  477. package/cjs/lib/client.js.map +1 -1
  478. package/cjs/lib/dom/getScrollWidth.js +4 -4
  479. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  480. package/cjs/lib/dom/tabbableHelpers.d.ts +2 -1
  481. package/cjs/lib/dom/tabbableHelpers.js +8 -2
  482. package/cjs/lib/dom/tabbableHelpers.js.map +1 -1
  483. package/cjs/lib/events/MouseDrag.js +11 -11
  484. package/cjs/lib/events/MouseDrag.js.map +1 -1
  485. package/cjs/lib/events/fixClickFocusIE.js +6 -3
  486. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  487. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +5 -2
  488. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  489. package/cjs/lib/events/keyListener.js +9 -11
  490. package/cjs/lib/events/keyListener.js.map +1 -1
  491. package/cjs/lib/events/keyboard/identifiers.js +5 -2
  492. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  493. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +185 -0
  494. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +8 -0
  495. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +5 -0
  496. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -0
  497. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +10 -0
  498. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +20 -0
  499. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  500. package/cjs/lib/featureFlagsContext/index.d.ts +2 -0
  501. package/cjs/lib/featureFlagsContext/index.js +3 -0
  502. package/cjs/lib/featureFlagsContext/index.js.map +1 -0
  503. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  504. package/cjs/lib/forwardRefAndName.js +4 -1
  505. package/cjs/lib/forwardRefAndName.js.map +1 -1
  506. package/cjs/lib/isInstanceOf.d.ts +1 -0
  507. package/cjs/lib/isInstanceOf.js +6 -0
  508. package/cjs/lib/isInstanceOf.js.map +1 -0
  509. package/cjs/lib/listenFocusOutside.js +15 -15
  510. package/cjs/lib/listenFocusOutside.js.map +1 -1
  511. package/cjs/lib/needsPolyfillPlaceholder.js +5 -3
  512. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
  513. package/cjs/lib/net/fetch.js +24 -18
  514. package/cjs/lib/net/fetch.js.map +1 -1
  515. package/cjs/lib/rootNode/getRootNode.js +6 -6
  516. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  517. package/cjs/lib/styles/ColorFactory.js +13 -11
  518. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  519. package/cjs/lib/styles/ColorHelpers.d.ts +1 -1
  520. package/cjs/lib/styles/ColorHelpers.js +3 -7
  521. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  522. package/cjs/lib/taskWithDelayAndMinimalDuration.js +5 -5
  523. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  524. package/cjs/lib/theming/Emotion.js +4 -2
  525. package/cjs/lib/theming/Emotion.js.map +1 -1
  526. package/cjs/lib/utils.d.ts +7 -0
  527. package/cjs/lib/utils.js +29 -7
  528. package/cjs/lib/utils.js.map +1 -1
  529. package/cjs/typings/global.d.ts +3 -4
  530. package/cjs/typings/react-ref.d.ts +29 -0
  531. package/cjs/typings/utility-types.d.ts +2 -0
  532. package/components/Button/Button/Button.js +16 -3
  533. package/components/Button/Button/Button.js.map +1 -1
  534. package/components/Button/Button.d.ts +1 -0
  535. package/components/Button/Button.md +68 -0
  536. package/components/Button/Button.mixins/Button.mixins.js +58 -13
  537. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  538. package/components/Button/Button.mixins.d.ts +6 -6
  539. package/components/Button/Button.styles/Button.styles.js +210 -24
  540. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  541. package/components/Button/Button.styles.d.ts +2 -1
  542. package/components/Button/ButtonArrow/ButtonArrow.js +1 -1
  543. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  544. package/components/Button/ButtonIcon/ButtonIcon.js +2 -4
  545. package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
  546. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
  547. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  548. package/components/Calendar/Calendar/Calendar.js +8 -6
  549. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  550. package/components/Checkbox/Checkbox/Checkbox.js +10 -5
  551. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  552. package/components/Clickable/ArrowLeftIcon/ArrowLeftIcon.js +17 -0
  553. package/components/Clickable/ArrowLeftIcon/ArrowLeftIcon.js.map +1 -0
  554. package/components/Clickable/ArrowLeftIcon/package.json +6 -0
  555. package/components/Clickable/ArrowLeftIcon.d.ts +3 -0
  556. package/components/Clickable/ArrowRightIcon/ArrowRightIcon.js +17 -0
  557. package/components/Clickable/ArrowRightIcon/ArrowRightIcon.js.map +1 -0
  558. package/components/Clickable/ArrowRightIcon/package.json +6 -0
  559. package/components/Clickable/ArrowRightIcon.d.ts +3 -0
  560. package/components/Clickable/Clickable/Clickable.js +165 -0
  561. package/components/Clickable/Clickable/Clickable.js.map +1 -0
  562. package/components/Clickable/Clickable/package.json +6 -0
  563. package/components/Clickable/Clickable.d.ts +95 -0
  564. package/components/Clickable/Clickable.md +210 -0
  565. package/components/Clickable/Clickable.styles/Clickable.styles.js +13 -0
  566. package/components/Clickable/Clickable.styles/Clickable.styles.js.map +1 -0
  567. package/components/Clickable/Clickable.styles/package.json +6 -0
  568. package/components/Clickable/Clickable.styles.d.ts +11 -0
  569. package/components/Clickable/ClickableButton/ClickableButton.js +31 -0
  570. package/components/Clickable/ClickableButton/ClickableButton.js.map +1 -0
  571. package/components/Clickable/ClickableButton/package.json +6 -0
  572. package/components/Clickable/ClickableButton.d.ts +5 -0
  573. package/components/Clickable/ClickableButton.mixins/ClickableButton.mixins.js +81 -0
  574. package/components/Clickable/ClickableButton.mixins/ClickableButton.mixins.js.map +1 -0
  575. package/components/Clickable/ClickableButton.mixins/package.json +6 -0
  576. package/components/Clickable/ClickableButton.mixins.d.ts +30 -0
  577. package/components/Clickable/ClickableButton.styles/ClickableButton.styles.js +313 -0
  578. package/components/Clickable/ClickableButton.styles/ClickableButton.styles.js.map +1 -0
  579. package/components/Clickable/ClickableButton.styles/package.json +6 -0
  580. package/components/Clickable/ClickableButton.styles.d.ts +63 -0
  581. package/components/Clickable/ClickableButtonArrow/ClickableButtonArrow.js +21 -0
  582. package/components/Clickable/ClickableButtonArrow/ClickableButtonArrow.js.map +1 -0
  583. package/components/Clickable/ClickableButtonArrow/package.json +6 -0
  584. package/components/Clickable/ClickableButtonArrow.d.ts +4 -0
  585. package/components/Clickable/ClickableButtonArrow.styles/ClickableButtonArrow.styles.js +22 -0
  586. package/components/Clickable/ClickableButtonArrow.styles/ClickableButtonArrow.styles.js.map +1 -0
  587. package/components/Clickable/ClickableButtonArrow.styles/package.json +6 -0
  588. package/components/Clickable/ClickableButtonArrow.styles.d.ts +8 -0
  589. package/components/Clickable/ClickableButtonCaption/ClickableButtonCaption.js +37 -0
  590. package/components/Clickable/ClickableButtonCaption/ClickableButtonCaption.js.map +1 -0
  591. package/components/Clickable/ClickableButtonCaption/package.json +6 -0
  592. package/components/Clickable/ClickableButtonCaption.d.ts +2 -0
  593. package/components/Clickable/ClickableButtonCaption.styles/ClickableButtonCaption.styles.js +16 -0
  594. package/components/Clickable/ClickableButtonCaption.styles/ClickableButtonCaption.styles.js.map +1 -0
  595. package/components/Clickable/ClickableButtonCaption.styles/package.json +6 -0
  596. package/components/Clickable/ClickableButtonCaption.styles.d.ts +5 -0
  597. package/components/Clickable/ClickableButtonIcon/ClickableButtonIcon.js +51 -0
  598. package/components/Clickable/ClickableButtonIcon/ClickableButtonIcon.js.map +1 -0
  599. package/components/Clickable/ClickableButtonIcon/package.json +6 -0
  600. package/components/Clickable/ClickableButtonIcon.d.ts +7 -0
  601. package/components/Clickable/ClickableButtonIcon.styles/ClickableButtonIcon.styles.js +58 -0
  602. package/components/Clickable/ClickableButtonIcon.styles/ClickableButtonIcon.styles.js.map +1 -0
  603. package/components/Clickable/ClickableButtonIcon.styles/package.json +6 -0
  604. package/components/Clickable/ClickableButtonIcon.styles.d.ts +19 -0
  605. package/components/Clickable/ClickableButtonLoadingIcon/ClickableButtonLoadingIcon.js +18 -0
  606. package/components/Clickable/ClickableButtonLoadingIcon/ClickableButtonLoadingIcon.js.map +1 -0
  607. package/components/Clickable/ClickableButtonLoadingIcon/package.json +6 -0
  608. package/components/Clickable/ClickableButtonLoadingIcon.d.ts +6 -0
  609. package/components/Clickable/ClickableButtonLoadingIcon.styles/ClickableButtonLoadingIcon.styles.js +10 -0
  610. package/components/Clickable/ClickableButtonLoadingIcon.styles/ClickableButtonLoadingIcon.styles.js.map +1 -0
  611. package/components/Clickable/ClickableButtonLoadingIcon.styles/package.json +6 -0
  612. package/components/Clickable/ClickableButtonLoadingIcon.styles.d.ts +3 -0
  613. package/components/Clickable/ClickableButtonOutline/ClickableButtonOutline.js +22 -0
  614. package/components/Clickable/ClickableButtonOutline/ClickableButtonOutline.js.map +1 -0
  615. package/components/Clickable/ClickableButtonOutline/package.json +6 -0
  616. package/components/Clickable/ClickableButtonOutline.d.ts +4 -0
  617. package/components/Clickable/ClickableButtonOutline.styles/ClickableButtonOutline.styles.js +16 -0
  618. package/components/Clickable/ClickableButtonOutline.styles/ClickableButtonOutline.styles.js.map +1 -0
  619. package/components/Clickable/ClickableButtonOutline.styles/package.json +6 -0
  620. package/components/Clickable/ClickableButtonOutline.styles.d.ts +6 -0
  621. package/components/Clickable/ClickableButtonWrapper/ClickableButtonWrapper.js +18 -0
  622. package/components/Clickable/ClickableButtonWrapper/ClickableButtonWrapper.js.map +1 -0
  623. package/components/Clickable/ClickableButtonWrapper/package.json +6 -0
  624. package/components/Clickable/ClickableButtonWrapper.d.ts +3 -0
  625. package/components/Clickable/ClickableButtonWrapper.styles/ClickableButtonWrapper.styles.js +19 -0
  626. package/components/Clickable/ClickableButtonWrapper.styles/ClickableButtonWrapper.styles.js.map +1 -0
  627. package/components/Clickable/ClickableButtonWrapper.styles/package.json +6 -0
  628. package/components/Clickable/ClickableButtonWrapper.styles.d.ts +7 -0
  629. package/components/Clickable/ClickableLink/ClickableLink.js +24 -0
  630. package/components/Clickable/ClickableLink/ClickableLink.js.map +1 -0
  631. package/components/Clickable/ClickableLink/package.json +6 -0
  632. package/components/Clickable/ClickableLink.d.ts +5 -0
  633. package/components/Clickable/ClickableLink.styles/ClickableLink.styles.js +52 -0
  634. package/components/Clickable/ClickableLink.styles/ClickableLink.styles.js.map +1 -0
  635. package/components/Clickable/ClickableLink.styles/package.json +6 -0
  636. package/components/Clickable/ClickableLink.styles.d.ts +21 -0
  637. package/components/Clickable/ClickableLinkChild/ClickableLinkChild.js +20 -0
  638. package/components/Clickable/ClickableLinkChild/ClickableLinkChild.js.map +1 -0
  639. package/components/Clickable/ClickableLinkChild/package.json +6 -0
  640. package/components/Clickable/ClickableLinkChild.d.ts +7 -0
  641. package/components/Clickable/ClickableLinkChild.styles/ClickableLinkChild.styles.js +24 -0
  642. package/components/Clickable/ClickableLinkChild.styles/ClickableLinkChild.styles.js.map +1 -0
  643. package/components/Clickable/ClickableLinkChild.styles/package.json +6 -0
  644. package/components/Clickable/ClickableLinkChild.styles.d.ts +7 -0
  645. package/components/Clickable/ClickableLinkIcon/ClickableLinkIcon.js +21 -0
  646. package/components/Clickable/ClickableLinkIcon/ClickableLinkIcon.js.map +1 -0
  647. package/components/Clickable/ClickableLinkIcon/package.json +6 -0
  648. package/components/Clickable/ClickableLinkIcon.d.ts +7 -0
  649. package/components/Clickable/ClickableLinkIcon.styles/ClickableLinkIcon.styles.js +16 -0
  650. package/components/Clickable/ClickableLinkIcon.styles/ClickableLinkIcon.styles.js.map +1 -0
  651. package/components/Clickable/ClickableLinkIcon.styles/package.json +6 -0
  652. package/components/Clickable/ClickableLinkIcon.styles.d.ts +6 -0
  653. package/components/Clickable/index/index.js +1 -0
  654. package/components/Clickable/index/index.js.map +1 -0
  655. package/{internal/MaskedInput → components/Clickable}/index/package.json +1 -1
  656. package/components/Clickable/index.d.ts +1 -0
  657. package/{internal/MaskedInput → components/Clickable}/package.json +1 -1
  658. package/components/Clickable/utils/package.json +6 -0
  659. package/components/Clickable/utils/utils.js +44 -0
  660. package/components/Clickable/utils/utils.js.map +1 -0
  661. package/components/Clickable/utils.d.ts +6 -0
  662. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +3 -1
  663. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  664. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +4 -1
  665. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  666. package/components/DateInput/DateInput/DateInput.js +2 -1
  667. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  668. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
  669. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  670. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
  671. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
  672. package/components/FileUploader/FileUploader/FileUploader.js +5 -5
  673. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  674. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +2 -2
  675. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  676. package/components/FileUploader/FileUploader.styles.d.ts +1 -1
  677. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +30 -34
  678. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  679. package/components/GlobalLoader/GlobalLoader.d.ts +1 -2
  680. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +2 -3
  681. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  682. package/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  683. package/components/Group/Group/Group.js +9 -10
  684. package/components/Group/Group/Group.js.map +1 -1
  685. package/components/Group/Group.md +24 -0
  686. package/components/Hint/Hint/Hint.js +6 -7
  687. package/components/Hint/Hint/Hint.js.map +1 -1
  688. package/components/Input/Input/Input.js +28 -16
  689. package/components/Input/Input/Input.js.map +1 -1
  690. package/components/Input/Input.d.ts +22 -5
  691. package/components/Input/Input.typings/Input.typings.js +1 -0
  692. package/components/Input/Input.typings/Input.typings.js.map +1 -0
  693. package/components/Input/Input.typings/package.json +6 -0
  694. package/components/Input/Input.typings.d.ts +7 -0
  695. package/components/Input/InputLayout/InputLayout.d.ts +1 -1
  696. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -1
  697. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  698. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
  699. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
  700. package/components/Input/index/index.js +2 -1
  701. package/components/Input/index/index.js.map +1 -1
  702. package/components/Input/index.d.ts +1 -0
  703. package/components/Kebab/Kebab/Kebab.js +3 -2
  704. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  705. package/components/Link/Link/Link.js +5 -4
  706. package/components/Link/Link/Link.js.map +1 -1
  707. package/components/Link/Link.md +69 -0
  708. package/components/Link/Link.styles/Link.styles.js +25 -22
  709. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  710. package/components/Link/Link.styles.d.ts +1 -0
  711. package/components/Loader/Loader/Loader.js +9 -6
  712. package/components/Loader/Loader/Loader.js.map +1 -1
  713. package/components/MaskedInput/MaskedInput/MaskedInput.js +62 -0
  714. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -0
  715. package/{internal → components}/MaskedInput/MaskedInput/package.json +1 -1
  716. package/components/MaskedInput/MaskedInput.d.ts +24 -0
  717. package/components/MaskedInput/MaskedInput.md +21 -0
  718. package/components/MaskedInput/index/index.js.map +1 -0
  719. package/components/MaskedInput/index/package.json +6 -0
  720. package/components/MaskedInput/package.json +6 -0
  721. package/components/MenuHeader/MenuHeader/MenuHeader.js +3 -1
  722. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  723. package/components/MenuItem/MenuItem/MenuItem.js +129 -19
  724. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  725. package/components/MenuItem/MenuItem.d.ts +21 -0
  726. package/components/MenuItem/MenuItem.md +20 -6
  727. package/components/MiniModal/MiniModal/MiniModal.js +38 -0
  728. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -0
  729. package/components/MiniModal/MiniModal/package.json +6 -0
  730. package/components/MiniModal/MiniModal.d.ts +18 -0
  731. package/components/MiniModal/MiniModal.md +233 -0
  732. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +41 -0
  733. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -0
  734. package/components/MiniModal/MiniModal.styles/package.json +6 -0
  735. package/components/MiniModal/MiniModal.styles.d.ts +14 -0
  736. package/components/MiniModal/MiniModalBody/MiniModalBody.js +23 -0
  737. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -0
  738. package/components/MiniModal/MiniModalBody/package.json +6 -0
  739. package/components/MiniModal/MiniModalBody.d.ts +7 -0
  740. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +35 -0
  741. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -0
  742. package/components/MiniModal/MiniModalFooter/package.json +6 -0
  743. package/components/MiniModal/MiniModalFooter.d.ts +18 -0
  744. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js +33 -0
  745. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -0
  746. package/components/MiniModal/MiniModalHeader/package.json +6 -0
  747. package/components/MiniModal/MiniModalHeader.d.ts +17 -0
  748. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +27 -0
  749. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -0
  750. package/components/MiniModal/MiniModalIndent/package.json +6 -0
  751. package/components/MiniModal/MiniModalIndent.d.ts +6 -0
  752. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js +23 -0
  753. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js.map +1 -0
  754. package/components/MiniModal/getMiniModalTheme/package.json +6 -0
  755. package/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  756. package/components/MiniModal/index/index.js +5 -0
  757. package/components/MiniModal/index/index.js.map +1 -0
  758. package/components/MiniModal/index/package.json +6 -0
  759. package/components/MiniModal/index.d.ts +5 -0
  760. package/components/MiniModal/package.json +6 -0
  761. package/components/Modal/Modal/Modal.js +18 -14
  762. package/components/Modal/Modal/Modal.js.map +1 -1
  763. package/components/Modal/Modal.d.ts +6 -0
  764. package/components/Modal/Modal.styles/Modal.styles.js +44 -37
  765. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  766. package/components/Modal/Modal.styles.d.ts +5 -0
  767. package/components/Modal/ModalClose/ModalClose.js +2 -1
  768. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  769. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  770. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  771. package/components/Modal/ModalSeparator/ModalSeparator.js +6 -0
  772. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  773. package/components/Modal/ModalSeparator.d.ts +5 -0
  774. package/components/Modal/getModalTheme/getModalTheme.js +8 -3
  775. package/components/Modal/getModalTheme/getModalTheme.js.map +1 -1
  776. package/components/Modal/getModalTheme.d.ts +2 -2
  777. package/components/Paging/NavigationHelper/NavigationHelper.js +2 -1
  778. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  779. package/components/Paging/Paging/Paging.js +16 -10
  780. package/components/Paging/Paging/Paging.js.map +1 -1
  781. package/components/Paging/Paging.styles/Paging.styles.js +2 -5
  782. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  783. package/components/Paging/Paging.styles.d.ts +0 -1
  784. package/components/PasswordInput/PasswordInput/PasswordInput.js +4 -2
  785. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  786. package/components/Radio/Radio/Radio.js +2 -1
  787. package/components/Radio/Radio/Radio.js.map +1 -1
  788. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
  789. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  790. package/components/ScrollContainer/ScrollBar/ScrollBar.js +17 -50
  791. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  792. package/components/ScrollContainer/ScrollBar.d.ts +4 -7
  793. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +109 -22
  794. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  795. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +1 -2
  796. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
  797. package/components/ScrollContainer/ScrollContainer.d.ts +18 -3
  798. package/components/ScrollContainer/ScrollContainer.md +29 -2
  799. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +6 -18
  800. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  801. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  802. package/components/Select/Item/Item.js +3 -1
  803. package/components/Select/Item/Item.js.map +1 -1
  804. package/components/Select/Item.d.ts +1 -0
  805. package/components/Select/Select/Select.js +23 -16
  806. package/components/Select/Select/Select.js.map +1 -1
  807. package/components/Select/Select.d.ts +2 -0
  808. package/components/Select/Select.md +12 -0
  809. package/components/SidePage/SidePage/SidePage.js +34 -9
  810. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  811. package/components/SidePage/SidePage.d.ts +3 -1
  812. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +2 -1
  813. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  814. package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -4
  815. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  816. package/components/SidePage/SidePageHeader.d.ts +1 -0
  817. package/components/SingleToast/SingleToast/SingleToast.js +53 -0
  818. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -0
  819. package/components/SingleToast/SingleToast/package.json +6 -0
  820. package/components/SingleToast/SingleToast.d.ts +11 -0
  821. package/components/SingleToast/SingleToast.md +35 -0
  822. package/components/SingleToast/index/index.js +1 -0
  823. package/components/SingleToast/index/index.js.map +1 -0
  824. package/components/SingleToast/index/package.json +6 -0
  825. package/components/SingleToast/index.d.ts +1 -0
  826. package/components/SingleToast/package.json +6 -0
  827. package/components/Spinner/Spinner/Spinner.js +10 -4
  828. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  829. package/components/Spinner/Spinner.d.ts +1 -0
  830. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
  831. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  832. package/components/Sticky/Sticky/Sticky.js +5 -6
  833. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  834. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  835. package/components/Switcher/Switcher.d.ts +1 -1
  836. package/components/Tabs/Indicator/Indicator.js +3 -1
  837. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  838. package/components/Tabs/Tab/Tab.js +2 -1
  839. package/components/Tabs/Tab/Tab.js.map +1 -1
  840. package/components/Tabs/Tabs/Tabs.js +3 -1
  841. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  842. package/components/Textarea/Textarea/Textarea.js +33 -19
  843. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  844. package/components/Textarea/Textarea.d.ts +1 -0
  845. package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
  846. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  847. package/components/Textarea/TextareaCounter.d.ts +1 -1
  848. package/components/Textarea/TextareaHelpers/TextareaHelpers.js +6 -1
  849. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  850. package/components/Textarea/TextareaHelpers.d.ts +1 -1
  851. package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js +21 -0
  852. package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js.map +1 -0
  853. package/components/Textarea/TextareaWithSafari17Workaround/package.json +6 -0
  854. package/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
  855. package/components/Toast/Toast/Toast.js +16 -7
  856. package/components/Toast/Toast/Toast.js.map +1 -1
  857. package/components/Toast/Toast.d.ts +10 -3
  858. package/components/Toast/Toast.md +0 -105
  859. package/components/Toast/ToastStatic/ToastStatic.js +4 -4
  860. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  861. package/components/Token/Token/Token.js +4 -3
  862. package/components/Token/Token/Token.js.map +1 -1
  863. package/components/TokenInput/TokenInput/TokenInput.js +51 -11
  864. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  865. package/components/TokenInput/TokenInput.d.ts +2 -0
  866. package/components/TokenInput/TokenInput.md +71 -0
  867. package/components/Tooltip/Tooltip/Tooltip.js +10 -7
  868. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  869. package/components/Tooltip/Tooltip.d.ts +6 -1
  870. package/components/Tooltip/Tooltip.md +24 -0
  871. package/hooks/useDrop/useDrop.js +3 -2
  872. package/hooks/useDrop/useDrop.js.map +1 -1
  873. package/index.d.ts +5 -0
  874. package/index.js +5 -0
  875. package/index.js.map +1 -1
  876. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +2 -1
  877. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  878. package/internal/ComponentCombinator/ComponentCombinator.js +4 -8
  879. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  880. package/internal/ComponentCombinator.d.ts +7 -8
  881. package/internal/ComponentTable/ComponentTable.js +66 -103
  882. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  883. package/internal/ComponentTable.d.ts +7 -19
  884. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +4 -3
  885. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  886. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +3 -2
  887. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  888. package/internal/DateSelect/DateSelect/DateSelect.js +20 -20
  889. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  890. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +19 -17
  891. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  892. package/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
  893. package/internal/DropdownContainer/getManualPosition/getManualPosition.js +4 -3
  894. package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -1
  895. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +2 -1
  896. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  897. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -1
  898. package/internal/FocusTrap/FocusTrap/FocusTrap.js +9 -3
  899. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  900. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +25 -26
  901. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  902. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +3 -1
  903. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  904. package/internal/InputLikeText/InputLikeText/InputLikeText.js +29 -19
  905. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  906. package/internal/{MaskedInput/MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js} +13 -9
  907. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
  908. package/internal/InternalMaskedInput/InternalMaskedInput/package.json +6 -0
  909. package/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +8 -5
  910. package/{cjs/internal/MaskedInput/MaskedInput.styles.js.map → internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map} +1 -1
  911. package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +6 -0
  912. package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +6 -0
  913. package/internal/InternalMaskedInput/index/index.js +1 -0
  914. package/internal/InternalMaskedInput/index/index.js.map +1 -0
  915. package/internal/InternalMaskedInput/index/package.json +6 -0
  916. package/internal/InternalMaskedInput/index.d.ts +1 -0
  917. package/internal/InternalMaskedInput/package.json +6 -0
  918. package/internal/InternalMenu/InternalMenu/InternalMenu.js +10 -9
  919. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  920. package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js +206 -0
  921. package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js.map +1 -0
  922. package/internal/MaskedInputElement/MaskedInputElement/package.json +6 -0
  923. package/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
  924. package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js +43 -0
  925. package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js.map +1 -0
  926. package/internal/MaskedInputElement/MaskedInputElement.helpers/package.json +6 -0
  927. package/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
  928. package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js +16 -0
  929. package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js.map +1 -0
  930. package/internal/MaskedInputElement/MaskedInputElement.styles/package.json +6 -0
  931. package/internal/MaskedInputElement/MaskedInputElement.styles.d.ts +6 -0
  932. package/internal/MaskedInputElement/index/index.js +1 -0
  933. package/internal/MaskedInputElement/index/index.js.map +1 -0
  934. package/internal/MaskedInputElement/index/package.json +6 -0
  935. package/internal/MaskedInputElement/index.d.ts +1 -0
  936. package/internal/MaskedInputElement/package.json +6 -0
  937. package/internal/Menu/Menu/Menu.js +144 -62
  938. package/internal/Menu/Menu/Menu.js.map +1 -1
  939. package/internal/Menu/Menu.d.ts +6 -0
  940. package/internal/Menu/MenuContext/MenuContext.js +5 -0
  941. package/internal/Menu/MenuContext/MenuContext.js.map +1 -0
  942. package/internal/Menu/MenuContext/package.json +6 -0
  943. package/internal/Menu/MenuContext.d.ts +10 -0
  944. package/internal/Menu/MenuNavigation/MenuNavigation.js +123 -0
  945. package/internal/Menu/MenuNavigation/MenuNavigation.js.map +1 -0
  946. package/internal/Menu/MenuNavigation/package.json +6 -0
  947. package/internal/Menu/MenuNavigation.d.ts +26 -0
  948. package/internal/Menu/isActiveElement/isActiveElement.js +1 -1
  949. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  950. package/internal/MenuMessage/MenuMessage.d.ts +1 -1
  951. package/internal/Popup/Popup/Popup.js +12 -13
  952. package/internal/Popup/Popup/Popup.js.map +1 -1
  953. package/internal/Popup/PopupHelper/PopupHelper.js +8 -5
  954. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  955. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -2
  956. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  957. package/internal/RenderContainer/RenderContainer/RenderContainer.js +26 -16
  958. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  959. package/internal/RenderContainer/RenderContainer.d.ts +0 -1
  960. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  961. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  962. package/internal/RenderLayer/RenderLayer/RenderLayer.js +11 -5
  963. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  964. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  965. package/internal/ThemePlayground/constants/constants.js +3 -0
  966. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  967. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +5 -2
  968. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  969. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  970. package/internal/ZIndex/ZIndex/ZIndex.js +2 -2
  971. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  972. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -2
  973. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  974. package/internal/icons/16px/index.d.ts +19 -19
  975. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  976. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  977. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  978. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  979. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  980. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  981. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  982. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  983. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  984. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  985. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  986. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  987. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  988. package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  989. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  990. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  991. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  992. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  993. package/internal/icons2022/BaseIcon/BaseIcon.js +3 -6
  994. package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
  995. package/internal/icons2022/BaseIcon.d.ts +1 -1
  996. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js +11 -0
  997. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js.map +1 -0
  998. package/internal/icons2022/BaseIcon.styles/package.json +6 -0
  999. package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  1000. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  1001. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  1002. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  1003. package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  1004. package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  1005. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  1006. package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  1007. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  1008. package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  1009. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  1010. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  1011. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  1012. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  1013. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  1014. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  1015. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js +18 -0
  1016. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js.map +1 -0
  1017. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/package.json +6 -0
  1018. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  1019. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  1020. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  1021. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  1022. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  1023. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  1024. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  1025. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  1026. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  1027. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  1028. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  1029. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  1030. package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  1031. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  1032. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  1033. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  1034. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  1035. package/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  1036. package/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  1037. package/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  1038. package/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  1039. package/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  1040. package/internal/themes/DefaultTheme/DefaultTheme.js +178 -6
  1041. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1042. package/internal/themes/DefaultTheme.d.ts +67 -2
  1043. package/internal/themes/Theme2022/Theme2022.js +62 -15
  1044. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  1045. package/internal/themes/Theme2022.d.ts +22 -7
  1046. package/internal/themes/Theme2022Dark/Theme2022Dark.js +18 -13
  1047. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  1048. package/internal/themes/Theme2022Dark.d.ts +5 -9
  1049. package/lib/LayoutEvents/LayoutEvents.js +5 -4
  1050. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1051. package/lib/ModalStack/ModalStack.js +2 -2
  1052. package/lib/ModalStack/ModalStack.js.map +1 -1
  1053. package/lib/SSRSafe/SSRSafe.js +3 -35
  1054. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1055. package/lib/SSRSafe.d.ts +1 -6
  1056. package/lib/Upgrades/Upgrades.js +3 -1
  1057. package/lib/Upgrades/Upgrades.js.map +1 -1
  1058. package/lib/Upgrades.d.ts +1 -0
  1059. package/lib/animation/index/index.js +6 -3
  1060. package/lib/animation/index/index.js.map +1 -1
  1061. package/lib/chars/chars.js +1 -1
  1062. package/lib/chars/chars.js.map +1 -1
  1063. package/lib/chars.d.ts +1 -1
  1064. package/lib/client/client.js +9 -7
  1065. package/lib/client/client.js.map +1 -1
  1066. package/lib/client.d.ts +2 -7
  1067. package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
  1068. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1069. package/lib/dom/tabbableHelpers/tabbableHelpers.js +4 -2
  1070. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -1
  1071. package/lib/dom/tabbableHelpers.d.ts +2 -1
  1072. package/lib/events/MouseDrag/MouseDrag.js +15 -11
  1073. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1074. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +4 -2
  1075. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  1076. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +7 -2
  1077. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  1078. package/lib/events/keyListener/keyListener.js +9 -12
  1079. package/lib/events/keyListener/keyListener.js.map +1 -1
  1080. package/lib/events/keyboard/identifiers/identifiers.js +3 -1
  1081. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1082. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +185 -0
  1083. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js +5 -0
  1084. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js.map +1 -0
  1085. package/lib/featureFlagsContext/FeatureFlagsHelpers/package.json +6 -0
  1086. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +8 -0
  1087. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +10 -0
  1088. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  1089. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
  1090. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +10 -0
  1091. package/lib/featureFlagsContext/index/index.js +2 -0
  1092. package/lib/featureFlagsContext/index/index.js.map +1 -0
  1093. package/lib/featureFlagsContext/index/package.json +6 -0
  1094. package/lib/featureFlagsContext/index.d.ts +2 -0
  1095. package/lib/featureFlagsContext/package.json +6 -0
  1096. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  1097. package/lib/forwardRefAndName.d.ts +1 -1
  1098. package/lib/isInstanceOf/isInstanceOf.js +3 -0
  1099. package/lib/isInstanceOf/isInstanceOf.js.map +1 -0
  1100. package/lib/isInstanceOf/package.json +6 -0
  1101. package/lib/isInstanceOf.d.ts +1 -0
  1102. package/lib/listenFocusOutside/listenFocusOutside.js +19 -10
  1103. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1104. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +4 -3
  1105. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
  1106. package/lib/net/fetch/fetch.js +29 -21
  1107. package/lib/net/fetch/fetch.js.map +1 -1
  1108. package/lib/rootNode/getRootNode/getRootNode.js +6 -6
  1109. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  1110. package/lib/styles/ColorFactory/ColorFactory.js +13 -9
  1111. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1112. package/lib/styles/ColorHelpers/ColorHelpers.js +3 -7
  1113. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1114. package/lib/styles/ColorHelpers.d.ts +1 -1
  1115. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +5 -4
  1116. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  1117. package/lib/theming/Emotion/Emotion.js +6 -1
  1118. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1119. package/lib/utils/utils.js +31 -6
  1120. package/lib/utils/utils.js.map +1 -1
  1121. package/lib/utils.d.ts +7 -0
  1122. package/package.json +4 -4
  1123. package/typings/global.d.ts +3 -4
  1124. package/typings/react-ref.d.ts +29 -0
  1125. package/typings/utility-types.d.ts +2 -0
  1126. package/cjs/internal/MaskedInput/MaskedInput.js.map +0 -1
  1127. package/cjs/internal/MaskedInput/index.js.map +0 -1
  1128. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +0 -1
  1129. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +0 -1
  1130. package/internal/MaskedInput/MaskedInput.styles/package.json +0 -6
  1131. package/internal/MaskedInput/index/index.js.map +0 -1
  1132. /package/cjs/{internal → components}/MaskedInput/index.d.ts +0 -0
  1133. /package/cjs/{internal → components}/MaskedInput/index.js +0 -0
  1134. /package/cjs/internal/{MaskedInput/MaskedInput.styles.d.ts → InternalMaskedInput/InternalMaskedInput.styles.d.ts} +0 -0
  1135. /package/cjs/internal/{MaskedInput/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles.js} +0 -0
  1136. /package/{internal/MaskedInput/MaskedInput.styles.d.ts → cjs/internal/MaskedInputElement/MaskedInputElement.styles.d.ts} +0 -0
  1137. /package/{internal → components}/MaskedInput/index/index.js +0 -0
  1138. /package/{internal → components}/MaskedInput/index.d.ts +0 -0
  1139. /package/internal/{MaskedInput/MaskedInput.styles/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["PopupHelper.tsx"],"names":["getDOMRect","getPositionObject","position","x","split","direction","align","getElementAbsoluteRect","element","rect","_getElementRelativeRect","convertRectToAbsolute","isAbsoluteRectFullyVisible","coordinates","popupRect","windowRelativeRect","_getWindowRelativeRect","windowAbsoluteRect","absoluteRect","top","left","height","width","_rectContainsRect","canBecomeFullyVisible","positionName","availableScrollDistances","right","bottom","_getViewProperty","clientWidth","window","innerWidth","clientHeight","innerHeight","offset","_getAbsoluteOffset","scrollTop","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","outerRect","innerRect","getProperty","views","document","documentElement","body","map","find","Boolean","PopupHelper","isFullyVisible"],"mappings":"AAAA,SAASA,UAAT,QAA2B,0BAA3B;;;;;;;;;;;;;;;;;;;;;AAqBA,SAASC,iBAAT,CAA2BC,QAA3B,EAA6D;AAC3D,MAAMC,CAAC,GAAGD,QAAQ,CAACE,KAAT,CAAe,GAAf,CAAV;;AAEA,SAAO;AACLC,IAAAA,SAAS,EAAEF,CAAC,CAAC,CAAD,CADP;AAELG,IAAAA,KAAK,EAAEH,CAAC,CAAC,CAAD,CAFH,EAAP;;AAID;;AAED,SAASI,sBAAT,CAAgCC,OAAhC,EAAwD;AACtD,MAAMC,IAAI,GAAGC,uBAAuB,CAACF,OAAD,CAApC;AACA,SAAOG,qBAAqB,CAACF,IAAD,CAA5B;AACD;;AAED,SAASG,0BAAT,CAAoCC,WAApC,EAAyDC,SAAzD,EAAmF;AACjF,MAAMC,kBAAkB,GAAGC,sBAAsB,EAAjD;AACA,MAAMC,kBAAkB,GAAGN,qBAAqB,CAACI,kBAAD,CAAhD;AACA,MAAMG,YAAY,GAAG;AACnBC,IAAAA,GAAG,EAAEN,WAAW,CAACM,GADE;AAEnBC,IAAAA,IAAI,EAAEP,WAAW,CAACO,IAFC;AAGnBC,IAAAA,MAAM,EAAEP,SAAS,CAACO,MAHC;AAInBC,IAAAA,KAAK,EAAER,SAAS,CAACQ,KAJE,EAArB;;;AAOA,SAAOC,iBAAiB,CAACN,kBAAD,EAAqBC,YAArB,CAAxB;AACD;;AAED;AACA,SAASM,qBAAT,CAA+BC,YAA/B,EAAiEZ,WAAjE,EAAsF;AACpF,MAAMX,QAAQ,GAAGD,iBAAiB,CAACwB,YAAD,CAAlC;;AAEA,MAAIvB,QAAQ,CAACG,SAAT,KAAuB,KAA3B,EAAkC;AAChC,QAAMqB,wBAAwB,GAAGf,qBAAqB,CAACK,sBAAsB,EAAvB,CAAtD;AACA,WAAOH,WAAW,CAACM,GAAZ,GAAkBO,wBAAwB,CAACP,GAA3C,IAAkD,CAAzD;AACD;;AAED,MAAIjB,QAAQ,CAACG,SAAT,KAAuB,MAA3B,EAAmC;AACjC,QAAMqB,yBAAwB,GAAGf,qBAAqB,CAACK,sBAAsB,EAAvB,CAAtD;AACA,WAAOH,WAAW,CAACO,IAAZ,GAAmBM,yBAAwB,CAACN,IAA5C,IAAoD,CAA3D;AACD;;AAED;AACA,SAAO,IAAP;AACD;;AAED,SAASV,uBAAT,CAAiCF,OAAjC,EAAmD;AACjD,MAAMC,IAAI,GAAGT,UAAU,CAACQ,OAAD,CAAvB;;AAEA,SAAO;AACLW,IAAAA,GAAG,EAAEV,IAAI,CAACU,GADL;AAELC,IAAAA,IAAI,EAAEX,IAAI,CAACW,IAFN;AAGLE,IAAAA,KAAK,EAAEb,IAAI,CAACkB,KAAL,GAAalB,IAAI,CAACW,IAHpB;AAILC,IAAAA,MAAM,EAAEZ,IAAI,CAACmB,MAAL,GAAcnB,IAAI,CAACU,GAJtB,EAAP;;AAMD;;AAED,SAASH,sBAAT,GAAwC;AACtC,SAAO;AACLG,IAAAA,GAAG,EAAE,CADA;AAELC,IAAAA,IAAI,EAAE,CAFD;AAGLE,IAAAA,KAAK,EAAEO,gBAAgB,CAAC,UAAC1B,CAAD,UAAOA,CAAC,CAAC2B,WAAT,EAAD,CAAhB,IAA0CC,MAAM,CAACC,UAHnD;AAILX,IAAAA,MAAM,EAAEQ,gBAAgB,CAAC,UAAC1B,CAAD,UAAOA,CAAC,CAAC8B,YAAT,EAAD,CAAhB,IAA2CF,MAAM,CAACG,WAJrD,EAAP;;AAMD;;AAED,SAASvB,qBAAT,CAA+BF,IAA/B,EAAiD;AAC/C,MAAM0B,MAAM,GAAGC,kBAAkB,EAAjC;;AAEA,SAAO;AACLjB,IAAAA,GAAG,EAAEV,IAAI,CAACU,GAAL,GAAWgB,MAAM,CAAChB,GADlB;AAELC,IAAAA,IAAI,EAAEX,IAAI,CAACW,IAAL,GAAYe,MAAM,CAACf,IAFpB;AAGLE,IAAAA,KAAK,EAAEb,IAAI,CAACa,KAHP;AAILD,IAAAA,MAAM,EAAEZ,IAAI,CAACY,MAJR,EAAP;;AAMD;;AAED,SAASe,kBAAT,GAAsC;AACpC,MAAMC,SAAS,GAAGN,MAAM,CAACO,WAAP,IAAsBT,gBAAgB,CAAC,UAAC1B,CAAD,UAAOA,CAAC,CAACkC,SAAT,EAAD,CAAxD;AACA,MAAME,UAAU,GAAGR,MAAM,CAACS,WAAP,IAAsBX,gBAAgB,CAAC,UAAC1B,CAAD,UAAOA,CAAC,CAACoC,UAAT,EAAD,CAAzD;;AAEA,MAAME,SAAS,GAAGZ,gBAAgB,CAAC,UAAC1B,CAAD,UAAOA,CAAC,CAACsC,SAAT,EAAD,CAAlC;AACA,MAAMC,UAAU,GAAGb,gBAAgB,CAAC,UAAC1B,CAAD,UAAOA,CAAC,CAACuC,UAAT,EAAD,CAAnC;;AAEA,MAAMvB,GAAG,GAAGkB,SAAS,GAAGI,SAAxB;AACA,MAAMrB,IAAI,GAAGmB,UAAU,GAAGG,UAA1B;;AAEA,SAAO;AACLvB,IAAAA,GAAG,EAAHA,GADK;AAELC,IAAAA,IAAI,EAAJA,IAFK,EAAP;;AAID;;AAED,SAASG,iBAAT,CAA2BoB,SAA3B,EAA4CC,SAA5C,EAAsE;AACpE;AACEA,IAAAA,SAAS,CAACzB,GAAV,GAAgBwB,SAAS,CAACxB,GAA1B;AACAyB,IAAAA,SAAS,CAACzB,GAAV,GAAgByB,SAAS,CAACvB,MAA1B,GAAmCsB,SAAS,CAACxB,GAAV,GAAgBwB,SAAS,CAACtB,MAD7D;AAEAuB,IAAAA,SAAS,CAACxB,IAAV,GAAiBuB,SAAS,CAACvB,IAF3B;AAGAwB,IAAAA,SAAS,CAACxB,IAAV,GAAiBwB,SAAS,CAACtB,KAA3B,GAAmCqB,SAAS,CAACvB,IAAV,GAAiBuB,SAAS,CAACrB,KAJhE;;AAMD;;AAED,SAASO,gBAAT,CAA0BgB,WAA1B,EAAuE;AACrE,MAAMC,KAAK,GAAG,CAACC,QAAQ,CAACC,eAAV,EAA2BD,QAAQ,CAACE,IAApC,CAAd;AACA,SAAOH,KAAK,CAACI,GAAN,CAAU,UAAC/C,CAAD,UAAOA,CAAC,IAAI0C,WAAW,CAAC1C,CAAD,CAAvB,EAAV,EAAsCgD,IAAtC,CAA2CC,OAA3C,KAAuD,CAA9D;AACD;;AAED,OAAO,IAAMC,WAAW,GAAG;AACzBpD,EAAAA,iBAAiB,EAAjBA,iBADyB;AAEzBM,EAAAA,sBAAsB,EAAtBA,sBAFyB;AAGzB+C,EAAAA,cAAc,EAAE1C,0BAHS;AAIzBY,EAAAA,qBAAqB,EAArBA,qBAJyB,EAApB","sourcesContent":["import { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { PopupPositionsType } from './Popup';\n\nexport interface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\nexport interface Offset {\n top: number;\n left: number;\n}\n\nexport interface PositionObject {\n direction: string;\n align: string;\n}\n\nfunction getPositionObject(position: string): PositionObject {\n const x = position.split(' ');\n\n return {\n direction: x[0],\n align: x[1],\n };\n}\n\nfunction getElementAbsoluteRect(element: Element): Rect {\n const rect = _getElementRelativeRect(element);\n return convertRectToAbsolute(rect);\n}\n\nfunction isAbsoluteRectFullyVisible(coordinates: Offset, popupRect: Rect): boolean {\n const windowRelativeRect = _getWindowRelativeRect();\n const windowAbsoluteRect = convertRectToAbsolute(windowRelativeRect);\n const absoluteRect = {\n top: coordinates.top,\n left: coordinates.left,\n height: popupRect.height,\n width: popupRect.width,\n };\n\n return _rectContainsRect(windowAbsoluteRect, absoluteRect);\n}\n\n// Can become fully visible by scrolling into viewport\nfunction canBecomeFullyVisible(positionName: PopupPositionsType, coordinates: Offset) {\n const position = getPositionObject(positionName);\n\n if (position.direction === 'top') {\n const availableScrollDistances = convertRectToAbsolute(_getWindowRelativeRect());\n return coordinates.top + availableScrollDistances.top >= 0;\n }\n\n if (position.direction === 'left') {\n const availableScrollDistances = convertRectToAbsolute(_getWindowRelativeRect());\n return coordinates.left + availableScrollDistances.left >= 0;\n }\n\n // NOTE: for bottom/right cases browser will always expand document size\n return true;\n}\n\nfunction _getElementRelativeRect(element: Element) {\n const rect = getDOMRect(element);\n\n return {\n top: rect.top,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n}\n\nfunction _getWindowRelativeRect(): Rect {\n return {\n top: 0,\n left: 0,\n width: _getViewProperty((x) => x.clientWidth) || window.innerWidth,\n height: _getViewProperty((x) => x.clientHeight) || window.innerHeight,\n };\n}\n\nfunction convertRectToAbsolute(rect: Rect): Rect {\n const offset = _getAbsoluteOffset();\n\n return {\n top: rect.top + offset.top,\n left: rect.left + offset.left,\n width: rect.width,\n height: rect.height,\n };\n}\n\nfunction _getAbsoluteOffset(): Offset {\n const scrollTop = window.pageYOffset || _getViewProperty((x) => x.scrollTop);\n const scrollLeft = window.pageXOffset || _getViewProperty((x) => x.scrollLeft);\n\n const clientTop = _getViewProperty((x) => x.clientTop);\n const clientLeft = _getViewProperty((x) => x.clientLeft);\n\n const top = scrollTop - clientTop;\n const left = scrollLeft - clientLeft;\n\n return {\n top,\n left,\n };\n}\n\nfunction _rectContainsRect(outerRect: Rect, innerRect: Rect): boolean {\n return (\n innerRect.top > outerRect.top &&\n innerRect.top + innerRect.height < outerRect.top + outerRect.height &&\n innerRect.left > outerRect.left &&\n innerRect.left + innerRect.width < outerRect.left + outerRect.width\n );\n}\n\nfunction _getViewProperty(getProperty: (e: Element) => number): number {\n const views = [document.documentElement, document.body];\n return views.map((x) => x && getProperty(x)).find(Boolean) || 0;\n}\n\nexport const PopupHelper = {\n getPositionObject,\n getElementAbsoluteRect,\n isFullyVisible: isAbsoluteRectFullyVisible,\n canBecomeFullyVisible,\n};\n"]}
1
+ {"version":3,"sources":["PopupHelper.tsx"],"names":["globalObject","getDOMRect","getPositionObject","position","x","split","direction","align","getElementAbsoluteRect","element","rect","_getElementRelativeRect","convertRectToAbsolute","isAbsoluteRectFullyVisible","coordinates","popupRect","windowRelativeRect","_getWindowRelativeRect","windowAbsoluteRect","absoluteRect","top","left","height","width","_rectContainsRect","canBecomeFullyVisible","positionName","availableScrollDistances","right","bottom","_getViewProperty","clientWidth","innerWidth","clientHeight","innerHeight","offset","_getAbsoluteOffset","scrollTop","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","outerRect","innerRect","getProperty","views","document","documentElement","body","map","find","Boolean","PopupHelper","isFullyVisible"],"mappings":"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","sourcesContent":["import { globalObject } from '@skbkontur/global-object';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { PopupPositionsType } from './Popup';\n\nexport interface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\nexport interface Offset {\n top: number;\n left: number;\n}\n\nexport interface PositionObject {\n direction: string;\n align: string;\n}\n\nfunction getPositionObject(position: string): PositionObject {\n const x = position.split(' ');\n\n return {\n direction: x[0],\n align: x[1],\n };\n}\n\nfunction getElementAbsoluteRect(element: Element): Rect {\n const rect = _getElementRelativeRect(element);\n return convertRectToAbsolute(rect);\n}\n\nfunction isAbsoluteRectFullyVisible(coordinates: Offset, popupRect: Rect): boolean {\n const windowRelativeRect = _getWindowRelativeRect();\n const windowAbsoluteRect = convertRectToAbsolute(windowRelativeRect);\n const absoluteRect = {\n top: coordinates.top,\n left: coordinates.left,\n height: popupRect.height,\n width: popupRect.width,\n };\n\n return _rectContainsRect(windowAbsoluteRect, absoluteRect);\n}\n\n// Can become fully visible by scrolling into viewport\nfunction canBecomeFullyVisible(positionName: PopupPositionsType, coordinates: Offset) {\n const position = getPositionObject(positionName);\n\n if (position.direction === 'top') {\n const availableScrollDistances = convertRectToAbsolute(_getWindowRelativeRect());\n return coordinates.top + availableScrollDistances.top >= 0;\n }\n\n if (position.direction === 'left') {\n const availableScrollDistances = convertRectToAbsolute(_getWindowRelativeRect());\n return coordinates.left + availableScrollDistances.left >= 0;\n }\n\n // NOTE: for bottom/right cases browser will always expand document size\n return true;\n}\n\nfunction _getElementRelativeRect(element: Element) {\n const rect = getDOMRect(element);\n\n return {\n top: rect.top,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n}\n\nfunction _getWindowRelativeRect(): Rect {\n return {\n top: 0,\n left: 0,\n width: _getViewProperty((x) => x.clientWidth) || globalObject.innerWidth || 0,\n height: _getViewProperty((x) => x.clientHeight) || globalObject.innerHeight || 0,\n };\n}\n\nfunction convertRectToAbsolute(rect: Rect): Rect {\n const offset = _getAbsoluteOffset();\n\n return {\n top: rect.top + offset.top,\n left: rect.left + offset.left,\n width: rect.width,\n height: rect.height,\n };\n}\n\nfunction _getAbsoluteOffset(): Offset {\n const scrollTop = globalObject.pageYOffset || _getViewProperty((x) => x.scrollTop);\n const scrollLeft = globalObject.pageXOffset || _getViewProperty((x) => x.scrollLeft);\n\n const clientTop = _getViewProperty((x) => x.clientTop);\n const clientLeft = _getViewProperty((x) => x.clientLeft);\n\n const top = scrollTop - clientTop;\n const left = scrollLeft - clientLeft;\n\n return {\n top,\n left,\n };\n}\n\nfunction _rectContainsRect(outerRect: Rect, innerRect: Rect): boolean {\n return (\n innerRect.top > outerRect.top &&\n innerRect.top + innerRect.height < outerRect.top + outerRect.height &&\n innerRect.left > outerRect.left &&\n innerRect.left + innerRect.width < outerRect.left + outerRect.width\n );\n}\n\nfunction _getViewProperty(getProperty: (e: Element) => number): number {\n const views = [globalObject.document?.documentElement, globalObject.document?.body];\n return views.map((x) => x && getProperty(x)).find(Boolean) || 0;\n}\n\nexport const PopupHelper = {\n getPositionObject,\n getElementAbsoluteRect,\n isFullyVisible: isAbsoluteRectFullyVisible,\n canBecomeFullyVisible,\n};\n"]}
@@ -4,6 +4,7 @@ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
4
  var _class, _class2, _temp;
5
5
 
6
6
  import React from 'react';
7
+ import { globalObject } from '@skbkontur/global-object';
7
8
  import { getRandomID } from "../../../lib/utils";
8
9
  import { isKeyArrowVertical, isKeyEnter, isKeyEscape, isKeySpace, someKeys } from "../../../lib/events/keyboard/identifiers";
9
10
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
@@ -157,8 +158,8 @@ export var PopupMenu = rootNode(_class = responsiveLayout(_class = (_temp = _cla
157
158
  };
158
159
 
159
160
  _this.saveFocus = function () {
160
- if (document) {
161
- _this.savedFocusableElement = document.activeElement;
161
+ if (globalObject.document) {
162
+ _this.savedFocusableElement = globalObject.document.activeElement;
162
163
  }
163
164
  };
164
165
 
@@ -1 +1 @@
1
- {"version":3,"sources":["PopupMenu.tsx"],"names":["React","getRandomID","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","someKeys","ThemeContext","ThemeFactory","Popup","PopupIds","RenderLayer","CommonWrapper","responsiveLayout","rootNode","createPropsGetter","Menu","isValidPositions","styles","PopupMenuType","Dropdown","Tooltip","PopupMenuDataTids","root","caption","Positions","PopupMenu","rootId","getProps","defaultProps","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","refInternalMenu","element","handleOpen","focus","passPropsToCaption","cloneElement","props","popupMenuId","renderCaption","opened","openMenu","closeMenu","toggleMenu","handleCaptionClick","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","preventDefault","handleKeyDown","document","activeElement","focusShouldBeRestored","onOpen","onClose","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","render","theme","create","menuOffsetY","popupMenuMenuOffsetY","renderMain","popupHasPin","disableAnimations","setRootNode","container","width","children","popupMargin","popupPinOffset","getPositions","isMobileLayout","menuWidth","menuMaxHeight","preventIconsOffset","header","footer","positions","Component","__KONTUR_REACT_UI__","Type"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { getRandomID } from '../../lib/utils';\nimport { HTMLProps } from '../../typings/html';\nimport {\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Popup, PopupIds, PopupPositionsType } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Menu, MenuProps } from '../Menu';\n\nimport { isValidPositions } from './validatePositions';\nimport { styles } from './PopupMenu.styles';\n\nexport interface PopupMenuCaptionProps {\n opened: boolean;\n openMenu: (firstItemShouldBeSelected?: boolean) => void;\n closeMenu: (restoreFocus?: boolean) => void;\n toggleMenu: () => void;\n}\n\nexport interface PopupMenuProps\n extends CommonProps,\n Pick<MenuProps, 'preventIconsOffset'>,\n Pick<AriaAttributes, 'aria-label'> {\n children?: React.ReactNode;\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Ширина контейнера и caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо ```caption```,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n /** Массив разрешенных положений меню относительно caption'а. */\n positions?: PopupPositionsType[];\n /** Колбэк, вызываемый после открытия/закрытия меню */\n onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;\n /** Пропсы, передающиеся в Popup */\n popupHasPin?: boolean;\n popupMargin?: number;\n popupPinOffset?: number;\n type?: 'dropdown' | 'tooltip';\n disableAnimations?: boolean;\n /** Действие при открытии меню */\n onOpen?: () => void;\n /** Действие при закрытии меню */\n onClose?: () => void;\n /**\n * Позволяет задать `id` выпадающему меню.\n *\n * Это может пригодиться при реализации a11y. Например, для того, чтобы связать `aria-controls` с выпадающим меню.\n */\n popupMenuId?: HTMLProps['id'];\n}\n\ninterface PopupMenuState {\n menuVisible: boolean;\n firstItemShouldBeSelected?: boolean;\n}\n\nexport const PopupMenuType = {\n Dropdown: 'dropdown',\n Tooltip: 'tooltip',\n} as const;\n\nexport const PopupMenuDataTids = {\n root: 'PopupMenu__root',\n caption: 'PopupMenu__caption',\n} as const;\n\nconst Positions: PopupPositionsType[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n 'left top',\n 'left middle',\n 'left bottom',\n];\n\ntype DefaultProps = Required<Pick<PopupMenuProps, 'positions' | 'type' | 'popupHasPin' | 'disableAnimations'>>;\n\n@rootNode\n@responsiveLayout\nexport class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {\n public static __KONTUR_REACT_UI__ = 'PopupMenu';\n\n private isMobileLayout!: boolean;\n private rootId = PopupIds.root + getRandomID();\n\n public static defaultProps: DefaultProps = {\n positions: Positions,\n type: PopupMenuType.Tooltip,\n popupHasPin: true,\n disableAnimations: false,\n };\n\n private getProps = createPropsGetter(PopupMenu.defaultProps);\n\n public static Type = PopupMenuType;\n\n public state = {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n };\n\n private captionWrapper: HTMLSpanElement | null = null;\n private savedFocusableElement: HTMLElement | null = null;\n private menu: Nullable<Menu> = null;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n menuOffsetY: theme.popupMenuMenuOffsetY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { popupHasPin, disableAnimations } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.hideMenuWithoutFocusing}\n onFocusOutside={this.hideMenuWithoutFocusing}\n active={this.state.menuVisible}\n >\n <div data-tid={PopupMenuDataTids.root} className={styles.container()} style={{ width: this.props.width }}>\n {this.renderCaption()}\n {this.captionWrapper && this.props.children && (\n <Popup\n id={this.props.popupMenuId ?? this.rootId}\n anchorElement={this.captionWrapper}\n opened={this.state.menuVisible}\n hasShadow\n margin={this.props.popupMargin}\n hasPin={popupHasPin}\n pinOffset={this.props.popupPinOffset}\n positions={this.getPositions()}\n disableAnimations={disableAnimations}\n onOpen={this.handleOpen}\n mobileOnCloseRequest={this.hideMenu}\n width={this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto'}\n >\n <Menu\n hasShadow={false}\n maxHeight={this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none'}\n onKeyDown={this.handleKeyDown}\n onItemClick={this.handleItemSelection}\n preventIconsOffset={this.props.preventIconsOffset}\n cyclicSelection={false}\n ref={this.refInternalMenu}\n initialSelectedItemIndex={this.state.firstItemShouldBeSelected ? 0 : -1}\n header={this.props.header}\n footer={this.props.footer}\n >\n {this.props.children}\n </Menu>\n </Popup>\n )}\n </div>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n public open = (): void => this.showMenu();\n public close = (): void => this.hideMenu();\n\n private refInternalMenu = (element: Nullable<Menu>) => (this.menu = element);\n\n private handleOpen = () => {\n if (this.menu) {\n this.menu.focus();\n }\n };\n\n private passPropsToCaption = (caption: React.ReactNode) => {\n if (typeof caption === 'string' || typeof caption === 'number') {\n return caption;\n }\n\n return React.cloneElement(caption as React.ReactElement, {\n 'aria-controls': this.props.popupMenuId ?? this.rootId,\n 'aria-expanded': this.state.menuVisible ? 'true' : 'false',\n 'aria-label': this.props['aria-label'],\n });\n };\n\n private renderCaption = () => {\n if (typeof this.props.caption === 'function') {\n const caption = this.props.caption({\n opened: this.state.menuVisible,\n openMenu: this.showMenu,\n closeMenu: this.hideMenu,\n toggleMenu: this.toggleMenu,\n });\n\n return (\n <span\n data-tid={PopupMenuDataTids.caption}\n className={styles.caption()}\n ref={(element) => (this.captionWrapper = element)}\n >\n {this.passPropsToCaption(caption)}\n </span>\n );\n }\n\n return (\n <span\n data-tid={PopupMenuDataTids.caption}\n onClick={this.handleCaptionClick}\n onKeyDown={this.handleCaptionKeyDown}\n ref={(element) => (this.captionWrapper = element)}\n className={styles.caption()}\n >\n {this.passPropsToCaption(this.props.caption)}\n </span>\n );\n };\n\n private hideMenuWithoutFocusing = () => this.hideMenu();\n\n private getPositions(): Readonly<PopupPositionsType[]> {\n const positions = this.getProps().positions;\n if (positions && isValidPositions(positions)) {\n return positions;\n }\n\n return Positions;\n }\n\n private showMenu = (firstItemShouldBeSelected?: boolean): void => {\n this.saveFocus();\n this.setState(\n {\n menuVisible: true,\n firstItemShouldBeSelected,\n },\n () => {\n this.handleChangeMenuVisible(false);\n },\n );\n };\n\n private hideMenu = (restoreFocus?: boolean): void => {\n this.setState(\n {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n },\n () => {\n this.handleChangeMenuVisible(!!restoreFocus);\n },\n );\n };\n\n private toggleMenu = (): void => {\n this.state.menuVisible ? this.hideMenu() : this.showMenu();\n };\n\n private handleCaptionClick = (): void => {\n this.toggleMenu();\n };\n\n private handleCaptionKeyDown = (e: React.KeyboardEvent<HTMLElement>): void => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n this.showMenu(true);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEscape(e)) {\n const restoreFocus = true;\n this.hideMenu(restoreFocus);\n }\n };\n\n private saveFocus = (): void => {\n if (document) {\n this.savedFocusableElement = document.activeElement as HTMLElement;\n }\n };\n\n private restoreFocus = (): void => {\n if (this.savedFocusableElement) {\n this.savedFocusableElement.focus();\n this.savedFocusableElement = null;\n }\n };\n\n private handleChangeMenuVisible = (focusShouldBeRestored: boolean): void => {\n if (focusShouldBeRestored) {\n this.restoreFocus();\n }\n\n if (this.state.menuVisible && this.props.onOpen) {\n this.props.onOpen();\n }\n\n if (!this.state.menuVisible && this.props.onClose) {\n this.props.onClose();\n }\n\n if (typeof this.props.onChangeMenuState === 'function') {\n this.props.onChangeMenuState(this.state.menuVisible, focusShouldBeRestored);\n }\n };\n\n private handleItemSelection = (event: React.SyntheticEvent<HTMLElement>): void => {\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.type === 'keydown') {\n event.preventDefault();\n }\n\n const restoreFocus = event.type === 'keydown';\n this.hideMenu(restoreFocus);\n };\n}\n"]}
1
+ {"version":3,"sources":["PopupMenu.tsx"],"names":["React","globalObject","getRandomID","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","someKeys","ThemeContext","ThemeFactory","Popup","PopupIds","RenderLayer","CommonWrapper","responsiveLayout","rootNode","createPropsGetter","Menu","isValidPositions","styles","PopupMenuType","Dropdown","Tooltip","PopupMenuDataTids","root","caption","Positions","PopupMenu","rootId","getProps","defaultProps","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","refInternalMenu","element","handleOpen","focus","passPropsToCaption","cloneElement","props","popupMenuId","renderCaption","opened","openMenu","closeMenu","toggleMenu","handleCaptionClick","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","preventDefault","handleKeyDown","document","activeElement","focusShouldBeRestored","onOpen","onClose","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","render","theme","create","menuOffsetY","popupMenuMenuOffsetY","renderMain","popupHasPin","disableAnimations","setRootNode","container","width","children","popupMargin","popupPinOffset","getPositions","isMobileLayout","menuWidth","menuMaxHeight","preventIconsOffset","header","footer","positions","Component","__KONTUR_REACT_UI__","Type"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { getRandomID } from '../../lib/utils';\nimport { HTMLProps } from '../../typings/html';\nimport {\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Popup, PopupIds, PopupPositionsType } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Menu, MenuProps } from '../Menu';\n\nimport { isValidPositions } from './validatePositions';\nimport { styles } from './PopupMenu.styles';\n\nexport interface PopupMenuCaptionProps {\n opened: boolean;\n openMenu: (firstItemShouldBeSelected?: boolean) => void;\n closeMenu: (restoreFocus?: boolean) => void;\n toggleMenu: () => void;\n}\n\nexport interface PopupMenuProps\n extends CommonProps,\n Pick<MenuProps, 'preventIconsOffset'>,\n Pick<AriaAttributes, 'aria-label'> {\n children?: React.ReactNode;\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Ширина контейнера и caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо ```caption```,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n /** Массив разрешенных положений меню относительно caption'а. */\n positions?: PopupPositionsType[];\n /** Колбэк, вызываемый после открытия/закрытия меню */\n onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;\n /** Пропсы, передающиеся в Popup */\n popupHasPin?: boolean;\n popupMargin?: number;\n popupPinOffset?: number;\n type?: 'dropdown' | 'tooltip';\n disableAnimations?: boolean;\n /** Действие при открытии меню */\n onOpen?: () => void;\n /** Действие при закрытии меню */\n onClose?: () => void;\n /**\n * Позволяет задать `id` выпадающему меню.\n *\n * Это может пригодиться при реализации a11y. Например, для того, чтобы связать `aria-controls` с выпадающим меню.\n */\n popupMenuId?: HTMLProps['id'];\n}\n\ninterface PopupMenuState {\n menuVisible: boolean;\n firstItemShouldBeSelected?: boolean;\n}\n\nexport const PopupMenuType = {\n Dropdown: 'dropdown',\n Tooltip: 'tooltip',\n} as const;\n\nexport const PopupMenuDataTids = {\n root: 'PopupMenu__root',\n caption: 'PopupMenu__caption',\n} as const;\n\nconst Positions: PopupPositionsType[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n 'left top',\n 'left middle',\n 'left bottom',\n];\n\ntype DefaultProps = Required<Pick<PopupMenuProps, 'positions' | 'type' | 'popupHasPin' | 'disableAnimations'>>;\n\n@rootNode\n@responsiveLayout\nexport class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {\n public static __KONTUR_REACT_UI__ = 'PopupMenu';\n\n private isMobileLayout!: boolean;\n private rootId = PopupIds.root + getRandomID();\n\n public static defaultProps: DefaultProps = {\n positions: Positions,\n type: PopupMenuType.Tooltip,\n popupHasPin: true,\n disableAnimations: false,\n };\n\n private getProps = createPropsGetter(PopupMenu.defaultProps);\n\n public static Type = PopupMenuType;\n\n public state = {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n };\n\n private captionWrapper: HTMLSpanElement | null = null;\n private savedFocusableElement: HTMLElement | null = null;\n private menu: Nullable<Menu> = null;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n menuOffsetY: theme.popupMenuMenuOffsetY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { popupHasPin, disableAnimations } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.hideMenuWithoutFocusing}\n onFocusOutside={this.hideMenuWithoutFocusing}\n active={this.state.menuVisible}\n >\n <div data-tid={PopupMenuDataTids.root} className={styles.container()} style={{ width: this.props.width }}>\n {this.renderCaption()}\n {this.captionWrapper && this.props.children && (\n <Popup\n id={this.props.popupMenuId ?? this.rootId}\n anchorElement={this.captionWrapper}\n opened={this.state.menuVisible}\n hasShadow\n margin={this.props.popupMargin}\n hasPin={popupHasPin}\n pinOffset={this.props.popupPinOffset}\n positions={this.getPositions()}\n disableAnimations={disableAnimations}\n onOpen={this.handleOpen}\n mobileOnCloseRequest={this.hideMenu}\n width={this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto'}\n >\n <Menu\n hasShadow={false}\n maxHeight={this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none'}\n onKeyDown={this.handleKeyDown}\n onItemClick={this.handleItemSelection}\n preventIconsOffset={this.props.preventIconsOffset}\n cyclicSelection={false}\n ref={this.refInternalMenu}\n initialSelectedItemIndex={this.state.firstItemShouldBeSelected ? 0 : -1}\n header={this.props.header}\n footer={this.props.footer}\n >\n {this.props.children}\n </Menu>\n </Popup>\n )}\n </div>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n public open = (): void => this.showMenu();\n public close = (): void => this.hideMenu();\n\n private refInternalMenu = (element: Nullable<Menu>) => (this.menu = element);\n\n private handleOpen = () => {\n if (this.menu) {\n this.menu.focus();\n }\n };\n\n private passPropsToCaption = (caption: React.ReactNode) => {\n if (typeof caption === 'string' || typeof caption === 'number') {\n return caption;\n }\n\n return React.cloneElement(caption as React.ReactElement, {\n 'aria-controls': this.props.popupMenuId ?? this.rootId,\n 'aria-expanded': this.state.menuVisible ? 'true' : 'false',\n 'aria-label': this.props['aria-label'],\n });\n };\n\n private renderCaption = () => {\n if (typeof this.props.caption === 'function') {\n const caption = this.props.caption({\n opened: this.state.menuVisible,\n openMenu: this.showMenu,\n closeMenu: this.hideMenu,\n toggleMenu: this.toggleMenu,\n });\n\n return (\n <span\n data-tid={PopupMenuDataTids.caption}\n className={styles.caption()}\n ref={(element) => (this.captionWrapper = element)}\n >\n {this.passPropsToCaption(caption)}\n </span>\n );\n }\n\n return (\n <span\n data-tid={PopupMenuDataTids.caption}\n onClick={this.handleCaptionClick}\n onKeyDown={this.handleCaptionKeyDown}\n ref={(element) => (this.captionWrapper = element)}\n className={styles.caption()}\n >\n {this.passPropsToCaption(this.props.caption)}\n </span>\n );\n };\n\n private hideMenuWithoutFocusing = () => this.hideMenu();\n\n private getPositions(): Readonly<PopupPositionsType[]> {\n const positions = this.getProps().positions;\n if (positions && isValidPositions(positions)) {\n return positions;\n }\n\n return Positions;\n }\n\n private showMenu = (firstItemShouldBeSelected?: boolean): void => {\n this.saveFocus();\n this.setState(\n {\n menuVisible: true,\n firstItemShouldBeSelected,\n },\n () => {\n this.handleChangeMenuVisible(false);\n },\n );\n };\n\n private hideMenu = (restoreFocus?: boolean): void => {\n this.setState(\n {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n },\n () => {\n this.handleChangeMenuVisible(!!restoreFocus);\n },\n );\n };\n\n private toggleMenu = (): void => {\n this.state.menuVisible ? this.hideMenu() : this.showMenu();\n };\n\n private handleCaptionClick = (): void => {\n this.toggleMenu();\n };\n\n private handleCaptionKeyDown = (e: React.KeyboardEvent<HTMLElement>): void => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n this.showMenu(true);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEscape(e)) {\n const restoreFocus = true;\n this.hideMenu(restoreFocus);\n }\n };\n\n private saveFocus = (): void => {\n if (globalObject.document) {\n this.savedFocusableElement = globalObject.document.activeElement as HTMLElement;\n }\n };\n\n private restoreFocus = (): void => {\n if (this.savedFocusableElement) {\n this.savedFocusableElement.focus();\n this.savedFocusableElement = null;\n }\n };\n\n private handleChangeMenuVisible = (focusShouldBeRestored: boolean): void => {\n if (focusShouldBeRestored) {\n this.restoreFocus();\n }\n\n if (this.state.menuVisible && this.props.onOpen) {\n this.props.onOpen();\n }\n\n if (!this.state.menuVisible && this.props.onClose) {\n this.props.onClose();\n }\n\n if (typeof this.props.onChangeMenuState === 'function') {\n this.props.onChangeMenuState(this.state.menuVisible, focusShouldBeRestored);\n }\n };\n\n private handleItemSelection = (event: React.SyntheticEvent<HTMLElement>): void => {\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.type === 'keydown') {\n event.preventDefault();\n }\n\n const restoreFocus = event.type === 'keydown';\n this.hideMenu(restoreFocus);\n };\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
3
3
  import React from 'react';
4
- import { canUseDOM, isBrowser } from "../../../lib/client";
4
+ import { globalObject } from '@skbkontur/global-object';
5
5
  import { getRandomID } from "../../../lib/utils";
6
6
  import { Upgrade } from "../../../lib/Upgrades";
7
7
  import { callChildRef } from "../../../lib/callChildRef/callChildRef";
@@ -9,17 +9,16 @@ import { RenderInnerContainer } from "../RenderInnerContainer";
9
9
  export var RenderContainer = /*#__PURE__*/function (_React$Component) {
10
10
  _inheritsLoose(RenderContainer, _React$Component);
11
11
 
12
- function RenderContainer(props) {
12
+ function RenderContainer() {
13
13
  var _this;
14
14
 
15
- _this = _React$Component.call(this, props) || this;
16
- _this.domContainer = null;
17
- _this.rootId = RenderContainer.getRootId();
18
-
19
- if (isBrowser && props.children) {
20
- _this.mountContainer();
15
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
16
+ args[_key] = arguments[_key];
21
17
  }
22
18
 
19
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
20
+ _this.domContainer = null;
21
+ _this.rootId = RenderContainer.getRootId();
23
22
  return _this;
24
23
  }
25
24
 
@@ -42,6 +41,10 @@ export var RenderContainer = /*#__PURE__*/function (_React$Component) {
42
41
  };
43
42
 
44
43
  _proto.render = function render() {
44
+ if (this.props.children) {
45
+ this.mountContainer();
46
+ }
47
+
45
48
  return /*#__PURE__*/React.createElement(RenderInnerContainer, _extends({}, this.props, {
46
49
  domContainer: this.domContainer,
47
50
  rootId: this.rootId
@@ -49,8 +52,11 @@ export var RenderContainer = /*#__PURE__*/function (_React$Component) {
49
52
  };
50
53
 
51
54
  _proto.createContainer = function createContainer() {
52
- if (canUseDOM) {
53
- var domContainer = document.createElement('div');
55
+ var _globalObject$documen;
56
+
57
+ var domContainer = (_globalObject$documen = globalObject.document) == null ? void 0 : _globalObject$documen.createElement('div');
58
+
59
+ if (domContainer) {
54
60
  domContainer.setAttribute('class', Upgrade.getSpecificityClassName());
55
61
  domContainer.setAttribute('data-rendered-container-id', "" + this.rootId);
56
62
  this.domContainer = domContainer;
@@ -58,19 +64,23 @@ export var RenderContainer = /*#__PURE__*/function (_React$Component) {
58
64
  };
59
65
 
60
66
  _proto.mountContainer = function mountContainer() {
67
+ var _globalObject$documen2;
68
+
61
69
  if (!this.domContainer) {
62
70
  this.createContainer();
63
71
  }
64
72
 
65
- if (this.domContainer && this.domContainer.parentNode !== document.body) {
66
- document.body.appendChild(this.domContainer);
73
+ if (this.domContainer && this.domContainer.parentNode !== ((_globalObject$documen2 = globalObject.document) == null ? void 0 : _globalObject$documen2.body)) {
74
+ var _globalObject$documen3;
75
+
76
+ (_globalObject$documen3 = globalObject.document) == null ? void 0 : _globalObject$documen3.body.appendChild(this.domContainer);
67
77
 
68
78
  if (this.props.containerRef) {
69
79
  callChildRef(this.props.containerRef, this.domContainer);
70
80
  }
71
81
 
72
- if (window.ReactTesting) {
73
- window.ReactTesting.addRenderContainer(this.rootId, this);
82
+ if (globalObject.ReactTesting) {
83
+ globalObject.ReactTesting.addRenderContainer(this.rootId, this);
74
84
  }
75
85
  }
76
86
  };
@@ -90,8 +100,8 @@ export var RenderContainer = /*#__PURE__*/function (_React$Component) {
90
100
  callChildRef(this.props.containerRef, null);
91
101
  }
92
102
 
93
- if (window.ReactTesting) {
94
- window.ReactTesting.removeRenderContainer(this.rootId);
103
+ if (globalObject.ReactTesting) {
104
+ globalObject.ReactTesting.removeRenderContainer(this.rootId);
95
105
  }
96
106
  }
97
107
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["RenderContainer.tsx"],"names":["React","canUseDOM","isBrowser","getRandomID","Upgrade","callChildRef","RenderInnerContainer","RenderContainer","props","domContainer","rootId","getRootId","children","mountContainer","shouldComponentUpdate","nextProps","unmountContainer","componentWillUnmount","destroyContainer","render","createContainer","document","createElement","setAttribute","getSpecificityClassName","parentNode","body","appendChild","containerRef","window","ReactTesting","addRenderContainer","removeChild","removeRenderContainer","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { canUseDOM, isBrowser } from '../../lib/client';\nimport { Nullable } from '../../typings/utility-types';\nimport { getRandomID } from '../../lib/utils';\nimport { Upgrade } from '../../lib/Upgrades';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nimport { RenderInnerContainer } from './RenderInnerContainer';\nimport { RenderContainerProps } from './RenderContainerTypes';\n\nexport class RenderContainer extends React.Component<RenderContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderContainer';\n\n private static getRootId = () => getRandomID();\n private domContainer: Nullable<HTMLElement> = null;\n\n private readonly rootId: string = RenderContainer.getRootId();\n\n constructor(props: RenderContainerProps) {\n super(props);\n\n if (isBrowser && props.children) {\n this.mountContainer();\n }\n }\n\n public shouldComponentUpdate(nextProps: RenderContainerProps) {\n if (!this.props.children && nextProps.children) {\n this.mountContainer();\n }\n if (this.props.children && !nextProps.children) {\n this.unmountContainer();\n }\n return true;\n }\n\n public componentWillUnmount() {\n this.destroyContainer();\n }\n\n public render() {\n return <RenderInnerContainer {...this.props} domContainer={this.domContainer} rootId={this.rootId} />;\n }\n\n private createContainer() {\n if (canUseDOM) {\n const domContainer = document.createElement('div');\n domContainer.setAttribute('class', Upgrade.getSpecificityClassName());\n domContainer.setAttribute('data-rendered-container-id', `${this.rootId}`);\n this.domContainer = domContainer;\n }\n }\n\n private mountContainer() {\n if (!this.domContainer) {\n this.createContainer();\n }\n if (this.domContainer && this.domContainer.parentNode !== document.body) {\n document.body.appendChild(this.domContainer);\n\n if (this.props.containerRef) {\n callChildRef(this.props.containerRef, this.domContainer);\n }\n if (window.ReactTesting) {\n window.ReactTesting.addRenderContainer(this.rootId, this);\n }\n }\n }\n\n private destroyContainer() {\n if (this.domContainer) {\n this.unmountContainer();\n this.domContainer = null;\n }\n }\n\n private unmountContainer() {\n if (this.domContainer && this.domContainer.parentNode) {\n this.domContainer.parentNode.removeChild(this.domContainer);\n\n if (this.props.containerRef) {\n callChildRef(this.props.containerRef, null);\n }\n\n if (window.ReactTesting) {\n window.ReactTesting.removeRenderContainer(this.rootId);\n }\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["RenderContainer.tsx"],"names":["React","globalObject","getRandomID","Upgrade","callChildRef","RenderInnerContainer","RenderContainer","domContainer","rootId","getRootId","shouldComponentUpdate","nextProps","props","children","mountContainer","unmountContainer","componentWillUnmount","destroyContainer","render","createContainer","document","createElement","setAttribute","getSpecificityClassName","parentNode","body","appendChild","containerRef","ReactTesting","addRenderContainer","removeChild","removeRenderContainer","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { getRandomID } from '../../lib/utils';\nimport { Upgrade } from '../../lib/Upgrades';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nimport { RenderInnerContainer } from './RenderInnerContainer';\nimport { RenderContainerProps } from './RenderContainerTypes';\n\nexport class RenderContainer extends React.Component<RenderContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderContainer';\n\n private static getRootId = () => getRandomID();\n private domContainer: Nullable<HTMLElement> = null;\n\n private readonly rootId: string = RenderContainer.getRootId();\n\n public shouldComponentUpdate(nextProps: RenderContainerProps) {\n if (!this.props.children && nextProps.children) {\n this.mountContainer();\n }\n if (this.props.children && !nextProps.children) {\n this.unmountContainer();\n }\n return true;\n }\n\n public componentWillUnmount() {\n this.destroyContainer();\n }\n\n public render() {\n if (this.props.children) {\n this.mountContainer();\n }\n\n return <RenderInnerContainer {...this.props} domContainer={this.domContainer} rootId={this.rootId} />;\n }\n\n private createContainer() {\n const domContainer = globalObject.document?.createElement('div');\n if (domContainer) {\n domContainer.setAttribute('class', Upgrade.getSpecificityClassName());\n domContainer.setAttribute('data-rendered-container-id', `${this.rootId}`);\n this.domContainer = domContainer;\n }\n }\n\n private mountContainer() {\n if (!this.domContainer) {\n this.createContainer();\n }\n if (this.domContainer && this.domContainer.parentNode !== globalObject.document?.body) {\n globalObject.document?.body.appendChild(this.domContainer);\n\n if (this.props.containerRef) {\n callChildRef(this.props.containerRef, this.domContainer);\n }\n if (globalObject.ReactTesting) {\n globalObject.ReactTesting.addRenderContainer(this.rootId, this);\n }\n }\n }\n\n private destroyContainer() {\n if (this.domContainer) {\n this.unmountContainer();\n this.domContainer = null;\n }\n }\n\n private unmountContainer() {\n if (this.domContainer && this.domContainer.parentNode) {\n this.domContainer.parentNode.removeChild(this.domContainer);\n\n if (this.props.containerRef) {\n callChildRef(this.props.containerRef, null);\n }\n\n if (globalObject.ReactTesting) {\n globalObject.ReactTesting.removeRenderContainer(this.rootId);\n }\n }\n }\n}\n"]}
@@ -5,7 +5,6 @@ export declare class RenderContainer extends React.Component<RenderContainerProp
5
5
  private static getRootId;
6
6
  private domContainer;
7
7
  private readonly rootId;
8
- constructor(props: RenderContainerProps);
9
8
  shouldComponentUpdate(nextProps: RenderContainerProps): boolean;
10
9
  componentWillUnmount(): void;
11
10
  render(): JSX.Element;
@@ -2,6 +2,7 @@ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
2
2
  import React from 'react';
3
3
  import ReactDOM from 'react-dom';
4
4
  import propTypes from 'prop-types';
5
+ import { globalObject } from '@skbkontur/global-object';
5
6
  import { safePropTypesInstanceOf } from "../../../lib/SSRSafe"; // Заглушка нужна для корректной гидрации порталов после SSR,
6
7
  // которую реакт сам пока не поддерживает.
7
8
  // @see https://github.com/facebook/react/issues/13097
@@ -67,9 +68,7 @@ export var RenderInnerContainer = /*#__PURE__*/function (_React$Component) {
67
68
  }(React.Component);
68
69
  RenderInnerContainer.__KONTUR_REACT_UI__ = 'RenderInnerContainer';
69
70
  Portal.propTypes = {
70
- container: safePropTypesInstanceOf(function () {
71
- return HTMLElement;
72
- }),
71
+ container: safePropTypesInstanceOf(globalObject.HTMLElement),
73
72
  rt_rootID: propTypes.string.isRequired,
74
73
  children: propTypes.node.isRequired
75
74
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["RenderInnerContainer.tsx"],"names":["React","ReactDOM","propTypes","safePropTypesInstanceOf","SSRPlaceholder","Portal","container","rt_rootID","children","createPortal","RenderInnerContainer","render","props","anchor","domContainer","rootId","inner","Component","__KONTUR_REACT_UI__","HTMLElement","string","isRequired","node"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,WAArB;AACA,OAAOC,SAAP,MAAsB,YAAtB;;;AAGA,SAASC,uBAAT,QAAwC,mBAAxC;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,wBAAM,gCAAQ,WAAQ,iBAAhB,GAAN,EAAvB;;AAEA,OAAO,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAqD,KAAlDC,SAAkD,QAAlDA,SAAkD,CAAvCC,SAAuC,QAAvCA,SAAuC,CAA5BC,QAA4B,QAA5BA,QAA4B;AACzE;AACA;AACE,wBAAC,KAAD,CAAO,QAAP;AACGF,IAAAA,SAAS,gBAAGL,QAAQ,CAACQ,YAAT,CAAsBD,QAAtB,EAAgCF,SAAhC,CAAH,gBAAgD,oBAAC,cAAD,OAD5D;AAEGA,IAAAA,SAAS,gBAAG,kCAAU,4BAA0BC,SAApC,GAAH,gBAAuD,oBAAC,cAAD,OAFnE,CADF;;;AAMD,CARM;;AAUP,WAAaG,oBAAb;;;AAGSC,EAAAA,MAHT,GAGE,kBAAgB;AACd,sBAAmD,KAAKC,KAAxD,CAAQC,MAAR,eAAQA,MAAR,CAAgBL,QAAhB,eAAgBA,QAAhB,CAA0BM,YAA1B,eAA0BA,YAA1B,CAAwCC,MAAxC,eAAwCA,MAAxC;AACA,QAAIC,KAAK,GAAGH,MAAZ;;AAEA,QAAIL,QAAJ,EAAc;AACZQ,MAAAA,KAAK;AACH,0BAAC,KAAD,CAAO,QAAP;AACGH,MAAAA,MADH;AAEE,0BAAC,MAAD,IAAQ,GAAG,EAAC,YAAZ,EAAyB,SAAS,EAAEE,MAApC,EAA4C,SAAS,EAAED,YAAvD;AACGN,MAAAA,QADH,CAFF,CADF;;;;AAQD;;AAED,WAAOQ,KAAP;AACD,GAnBH,+BAA0ChB,KAAK,CAACiB,SAAhD,EAAaP,oB,CACGQ,mB,GAAsB,sB;;;AAqBtCb,MAAM,CAACH,SAAP,GAAmB;AACjBI,EAAAA,SAAS,EAAEH,uBAAuB,CAAC,oBAAMgB,WAAN,EAAD,CADjB;AAEjBZ,EAAAA,SAAS,EAAEL,SAAS,CAACkB,MAAV,CAAiBC,UAFX;AAGjBb,EAAAA,QAAQ,EAAEN,SAAS,CAACoB,IAAV,CAAeD,UAHR,EAAnB","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport propTypes from 'prop-types';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { safePropTypesInstanceOf } from '../../lib/SSRSafe';\n\nimport { PortalProps, RenderContainerProps } from './RenderContainerTypes';\n\ninterface RenderInnerContainerProps extends RenderContainerProps {\n domContainer: Nullable<HTMLElement>;\n rootId: string;\n}\n\n// Заглушка нужна для корректной гидрации порталов после SSR,\n// которую реакт сам пока не поддерживает.\n// @see https://github.com/facebook/react/issues/13097\n// А также для вставки актуального render-container-id на клиенте.\n//\n// Дело в том, что во время гидрации, структура HTML на сервере\n// и на клиенте должна совпадать, иначе возможны артефакты.\n// Алгоритм там примерно такой. Клиент во время гидрации идет\n// по этим двум деревьям и сравнивает узлы. Элементы разных типов\n// он подменяет на свои. А те, что совпадают, он оставляет как есть\n// вместе со всеми атрибутами, навесив только обработчики событий.\n//\n// Поэтому, для портала, который рендерится только на клиенте,\n// нужно использовать серверную заглушку, чтобы при гидрации\n// он не испортил какой-то другой элемент. Null не подходит,\n// т.к. на сервере он тоже не рендерится.\n// А элемент с render-container-id нужно отрендерить с нуля.\n\nconst SSRPlaceholder = () => <script data-id=\"ssr-placeholder\" />;\n\nexport const Portal = ({ container, rt_rootID, children }: PortalProps) => {\n // container exists only in browser\n return (\n <React.Fragment>\n {container ? ReactDOM.createPortal(children, container) : <SSRPlaceholder />}\n {container ? <noscript data-render-container-id={rt_rootID} /> : <SSRPlaceholder />}\n </React.Fragment>\n );\n};\n\nexport class RenderInnerContainer extends React.Component<RenderInnerContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderInnerContainer';\n\n public render() {\n const { anchor, children, domContainer, rootId } = this.props;\n let inner = anchor;\n\n if (children) {\n inner = (\n <React.Fragment>\n {anchor}\n <Portal key=\"portal-ref\" rt_rootID={rootId} container={domContainer}>\n {children}\n </Portal>\n </React.Fragment>\n );\n }\n\n return inner;\n }\n}\n\nPortal.propTypes = {\n container: safePropTypesInstanceOf(() => HTMLElement),\n rt_rootID: propTypes.string.isRequired,\n children: propTypes.node.isRequired,\n};\n"]}
1
+ {"version":3,"sources":["RenderInnerContainer.tsx"],"names":["React","ReactDOM","propTypes","globalObject","safePropTypesInstanceOf","SSRPlaceholder","Portal","container","rt_rootID","children","createPortal","RenderInnerContainer","render","props","anchor","domContainer","rootId","inner","Component","__KONTUR_REACT_UI__","HTMLElement","string","isRequired","node"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,WAArB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,YAAT,QAA6B,0BAA7B;;;AAGA,SAASC,uBAAT,QAAwC,mBAAxC;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,wBAAM,gCAAQ,WAAQ,iBAAhB,GAAN,EAAvB;;AAEA,OAAO,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAqD,KAAlDC,SAAkD,QAAlDA,SAAkD,CAAvCC,SAAuC,QAAvCA,SAAuC,CAA5BC,QAA4B,QAA5BA,QAA4B;AACzE;AACA;AACE,wBAAC,KAAD,CAAO,QAAP;AACGF,IAAAA,SAAS,gBAAGN,QAAQ,CAACS,YAAT,CAAsBD,QAAtB,EAAgCF,SAAhC,CAAH,gBAAgD,oBAAC,cAAD,OAD5D;AAEGA,IAAAA,SAAS,gBAAG,kCAAU,4BAA0BC,SAApC,GAAH,gBAAuD,oBAAC,cAAD,OAFnE,CADF;;;AAMD,CARM;;AAUP,WAAaG,oBAAb;;;AAGSC,EAAAA,MAHT,GAGE,kBAAgB;AACd,sBAAmD,KAAKC,KAAxD,CAAQC,MAAR,eAAQA,MAAR,CAAgBL,QAAhB,eAAgBA,QAAhB,CAA0BM,YAA1B,eAA0BA,YAA1B,CAAwCC,MAAxC,eAAwCA,MAAxC;AACA,QAAIC,KAAK,GAAGH,MAAZ;;AAEA,QAAIL,QAAJ,EAAc;AACZQ,MAAAA,KAAK;AACH,0BAAC,KAAD,CAAO,QAAP;AACGH,MAAAA,MADH;AAEE,0BAAC,MAAD,IAAQ,GAAG,EAAC,YAAZ,EAAyB,SAAS,EAAEE,MAApC,EAA4C,SAAS,EAAED,YAAvD;AACGN,MAAAA,QADH,CAFF,CADF;;;;AAQD;;AAED,WAAOQ,KAAP;AACD,GAnBH,+BAA0CjB,KAAK,CAACkB,SAAhD,EAAaP,oB,CACGQ,mB,GAAsB,sB;;;AAqBtCb,MAAM,CAACJ,SAAP,GAAmB;AACjBK,EAAAA,SAAS,EAAEH,uBAAuB,CAACD,YAAY,CAACiB,WAAd,CADjB;AAEjBZ,EAAAA,SAAS,EAAEN,SAAS,CAACmB,MAAV,CAAiBC,UAFX;AAGjBb,EAAAA,QAAQ,EAAEP,SAAS,CAACqB,IAAV,CAAeD,UAHR,EAAnB","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport propTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { safePropTypesInstanceOf } from '../../lib/SSRSafe';\n\nimport { PortalProps, RenderContainerProps } from './RenderContainerTypes';\n\ninterface RenderInnerContainerProps extends RenderContainerProps {\n domContainer: Nullable<HTMLElement>;\n rootId: string;\n}\n\n// Заглушка нужна для корректной гидрации порталов после SSR,\n// которую реакт сам пока не поддерживает.\n// @see https://github.com/facebook/react/issues/13097\n// А также для вставки актуального render-container-id на клиенте.\n//\n// Дело в том, что во время гидрации, структура HTML на сервере\n// и на клиенте должна совпадать, иначе возможны артефакты.\n// Алгоритм там примерно такой. Клиент во время гидрации идет\n// по этим двум деревьям и сравнивает узлы. Элементы разных типов\n// он подменяет на свои. А те, что совпадают, он оставляет как есть\n// вместе со всеми атрибутами, навесив только обработчики событий.\n//\n// Поэтому, для портала, который рендерится только на клиенте,\n// нужно использовать серверную заглушку, чтобы при гидрации\n// он не испортил какой-то другой элемент. Null не подходит,\n// т.к. на сервере он тоже не рендерится.\n// А элемент с render-container-id нужно отрендерить с нуля.\n\nconst SSRPlaceholder = () => <script data-id=\"ssr-placeholder\" />;\n\nexport const Portal = ({ container, rt_rootID, children }: PortalProps) => {\n // container exists only in browser\n return (\n <React.Fragment>\n {container ? ReactDOM.createPortal(children, container) : <SSRPlaceholder />}\n {container ? <noscript data-render-container-id={rt_rootID} /> : <SSRPlaceholder />}\n </React.Fragment>\n );\n};\n\nexport class RenderInnerContainer extends React.Component<RenderInnerContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderInnerContainer';\n\n public render() {\n const { anchor, children, domContainer, rootId } = this.props;\n let inner = anchor;\n\n if (children) {\n inner = (\n <React.Fragment>\n {anchor}\n <Portal key=\"portal-ref\" rt_rootID={rootId} container={domContainer}>\n {children}\n </Portal>\n </React.Fragment>\n );\n }\n\n return inner;\n }\n}\n\nPortal.propTypes = {\n container: safePropTypesInstanceOf(globalObject.HTMLElement),\n rt_rootID: propTypes.string.isRequired,\n children: propTypes.node.isRequired,\n};\n"]}
@@ -4,10 +4,12 @@ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
4
  var _class, _class2, _temp;
5
5
 
6
6
  import React from 'react';
7
+ import { globalObject } from '@skbkontur/global-object';
7
8
  import { listen as listenFocusOutside, containsTargetOrRenderContainer } from "../../../lib/listenFocusOutside";
8
9
  import { CommonWrapper } from "../../CommonWrapper";
9
10
  import { getRootNode, rootNode } from "../../../lib/rootNode";
10
11
  import { createPropsGetter } from "../../../lib/createPropsGetter";
12
+ import { isInstanceOf } from "../../../lib/isInstanceOf";
11
13
  export var RenderLayer = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
12
14
  _inheritsLoose(RenderLayer, _React$Component);
13
15
 
@@ -33,7 +35,7 @@ export var RenderLayer = rootNode(_class = (_temp = _class2 = /*#__PURE__*/funct
33
35
 
34
36
  var node = _this.getAnchorNode();
35
37
 
36
- if (!node || target instanceof Element && containsTargetOrRenderContainer(target)(node)) {
38
+ if (!node || isInstanceOf(target, globalObject.Element) && containsTargetOrRenderContainer(target)(node)) {
37
39
  return;
38
40
  }
39
41
 
@@ -83,6 +85,8 @@ export var RenderLayer = rootNode(_class = (_temp = _class2 = /*#__PURE__*/funct
83
85
  };
84
86
 
85
87
  _proto.attachListeners = function attachListeners() {
88
+ var _globalObject$documen;
89
+
86
90
  var node = this.getAnchorNode();
87
91
 
88
92
  if (!node) {
@@ -92,18 +96,20 @@ export var RenderLayer = rootNode(_class = (_temp = _class2 = /*#__PURE__*/funct
92
96
  this.focusOutsideListenerToken = listenFocusOutside(function () {
93
97
  return [node];
94
98
  }, this.handleFocusOutside);
95
- window.addEventListener('blur', this.handleFocusOutside);
96
- document.addEventListener('ontouchstart' in document.documentElement && 'onpointerup' in document.documentElement ? 'pointerup' : 'mousedown', this.handleNativeDocClick);
99
+ globalObject.addEventListener == null ? void 0 : globalObject.addEventListener('blur', this.handleFocusOutside);
100
+ (_globalObject$documen = globalObject.document) == null ? void 0 : _globalObject$documen.addEventListener('ontouchstart' in globalObject.document.documentElement && 'onpointerup' in globalObject.document.documentElement ? 'pointerup' : 'mousedown', this.handleNativeDocClick);
97
101
  };
98
102
 
99
103
  _proto.detachListeners = function detachListeners() {
104
+ var _globalObject$documen2;
105
+
100
106
  if (this.focusOutsideListenerToken) {
101
107
  this.focusOutsideListenerToken.remove();
102
108
  this.focusOutsideListenerToken = null;
103
109
  }
104
110
 
105
- window.removeEventListener('blur', this.handleFocusOutside);
106
- document.removeEventListener('ontouchstart' in document.documentElement && 'onpointerup' in document.documentElement ? 'pointerup' : 'mousedown', this.handleNativeDocClick);
111
+ globalObject.removeEventListener == null ? void 0 : globalObject.removeEventListener('blur', this.handleFocusOutside);
112
+ (_globalObject$documen2 = globalObject.document) == null ? void 0 : _globalObject$documen2.removeEventListener('ontouchstart' in globalObject.document.documentElement && 'onpointerup' in globalObject.document.documentElement ? 'pointerup' : 'mousedown', this.handleNativeDocClick);
107
113
  };
108
114
 
109
115
  return RenderLayer;
@@ -1 +1 @@
1
- {"version":3,"sources":["RenderLayer.tsx"],"names":["React","listen","listenFocusOutside","containsTargetOrRenderContainer","CommonWrapper","getRootNode","rootNode","createPropsGetter","RenderLayer","getProps","defaultProps","focusOutsideListenerToken","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getAnchorNode","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","setRootNode","Children","only","children","getAnchorElement","window","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","propTypes","propName","componentName","Error"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { Nullable } from '../../typings/utility-types';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport interface RenderLayerProps extends CommonProps {\n children: JSX.Element;\n onClickOutside?: (e: Event) => void;\n onFocusOutside?: (e: Event) => void;\n active?: boolean;\n getAnchorElement?: () => Nullable<Element>;\n}\n\ntype DefaultProps = Required<Pick<RenderLayerProps, 'active'>>;\n\n@rootNode\nexport class RenderLayer extends React.Component<RenderLayerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderLayer';\n\n public static propTypes = {\n active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string) {\n const { active, onClickOutside, onFocusOutside } = props;\n if (active && !(onClickOutside || onFocusOutside)) {\n return new Error(\n `[${componentName}]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.`,\n );\n }\n },\n };\n\n public static defaultProps: DefaultProps = {\n active: true,\n };\n\n private getProps = createPropsGetter(RenderLayer.defaultProps);\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.getProps().active) {\n this.attachListeners();\n }\n }\n\n public componentDidUpdate(prevProps: RenderLayerProps) {\n const active = this.getProps().active;\n if (!prevProps.active && active) {\n this.attachListeners();\n }\n if (prevProps.active && !active) {\n this.detachListeners();\n }\n }\n\n public componentWillUnmount() {\n if (this.getProps().active) {\n this.detachListeners();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private getAnchorNode(): Nullable<Element> {\n const { getAnchorElement } = this.props;\n return getAnchorElement ? getAnchorElement() : getRootNode(this);\n }\n\n private attachListeners() {\n const node = this.getAnchorNode();\n if (!node) {\n return;\n }\n\n this.focusOutsideListenerToken = listenFocusOutside(() => [node], this.handleFocusOutside);\n window.addEventListener('blur', this.handleFocusOutside);\n document.addEventListener(\n 'ontouchstart' in document.documentElement && 'onpointerup' in document.documentElement\n ? 'pointerup'\n : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n }\n\n window.removeEventListener('blur', this.handleFocusOutside);\n document.removeEventListener(\n 'ontouchstart' in document.documentElement && 'onpointerup' in document.documentElement\n ? 'pointerup'\n : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private handleFocusOutside = (event: Event) => {\n if (this.props.onFocusOutside) {\n this.props.onFocusOutside(event);\n }\n };\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = this.getAnchorNode();\n\n if (!node || (target instanceof Element && containsTargetOrRenderContainer(target)(node))) {\n return;\n }\n\n if (this.props.onClickOutside) {\n this.props.onClickOutside(event);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["RenderLayer.tsx"],"names":["React","globalObject","listen","listenFocusOutside","containsTargetOrRenderContainer","CommonWrapper","getRootNode","rootNode","createPropsGetter","isInstanceOf","RenderLayer","getProps","defaultProps","focusOutsideListenerToken","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getAnchorNode","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","setRootNode","Children","only","children","getAnchorElement","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","propTypes","propName","componentName","Error"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { Nullable } from '../../typings/utility-types';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nexport interface RenderLayerProps extends CommonProps {\n children: JSX.Element;\n onClickOutside?: (e: Event) => void;\n onFocusOutside?: (e: Event) => void;\n active?: boolean;\n getAnchorElement?: () => Nullable<Element>;\n}\n\ntype DefaultProps = Required<Pick<RenderLayerProps, 'active'>>;\n\n@rootNode\nexport class RenderLayer extends React.Component<RenderLayerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderLayer';\n\n public static propTypes = {\n active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string) {\n const { active, onClickOutside, onFocusOutside } = props;\n if (active && !(onClickOutside || onFocusOutside)) {\n return new Error(\n `[${componentName}]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.`,\n );\n }\n },\n };\n\n public static defaultProps: DefaultProps = {\n active: true,\n };\n\n private getProps = createPropsGetter(RenderLayer.defaultProps);\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.getProps().active) {\n this.attachListeners();\n }\n }\n\n public componentDidUpdate(prevProps: RenderLayerProps) {\n const active = this.getProps().active;\n if (!prevProps.active && active) {\n this.attachListeners();\n }\n if (prevProps.active && !active) {\n this.detachListeners();\n }\n }\n\n public componentWillUnmount() {\n if (this.getProps().active) {\n this.detachListeners();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private getAnchorNode(): Nullable<Element> {\n const { getAnchorElement } = this.props;\n return getAnchorElement ? getAnchorElement() : getRootNode(this);\n }\n\n private attachListeners() {\n const node = this.getAnchorNode();\n if (!node) {\n return;\n }\n\n this.focusOutsideListenerToken = listenFocusOutside(() => [node], this.handleFocusOutside);\n globalObject.addEventListener?.('blur', this.handleFocusOutside);\n globalObject.document?.addEventListener(\n 'ontouchstart' in globalObject.document.documentElement && 'onpointerup' in globalObject.document.documentElement\n ? 'pointerup'\n : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n }\n\n globalObject.removeEventListener?.('blur', this.handleFocusOutside);\n globalObject.document?.removeEventListener(\n 'ontouchstart' in globalObject.document.documentElement && 'onpointerup' in globalObject.document.documentElement\n ? 'pointerup'\n : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private handleFocusOutside = (event: Event) => {\n if (this.props.onFocusOutside) {\n this.props.onFocusOutside(event);\n }\n };\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = this.getAnchorNode();\n\n if (!node || (isInstanceOf(target, globalObject.Element) && containsTargetOrRenderContainer(target)(node))) {\n return;\n }\n\n if (this.props.onClickOutside) {\n this.props.onClickOutside(event);\n }\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["VariableValue.tsx"],"names":["React","EditIcon","DeleteIcon","EventEmitter","isColor","Input","Gapped","Link","Hint","isFunction","cx","createPropsGetter","styles","emitter","VariableValue","getProps","defaultProps","state","value","props","editing","subscription","rootElement","debounceTimeout","debounceInterval","undefined","renderBaseVariableLink","baseVariables","baseVariableRoot","colorIcon","baseLinkWrapper","textAlign","map","v","emitClickEvent","handleEditLinkClick","renderInputWrapper","renderInput","renderRollbackIcon","rootRef","instance","background","setState","rollbackToBaseVariable","variable","emit","handleChange","window","setInterval","debounceHandler","onChange","clearInterval","handleBlur","emitterEventHandler","name","focus","render","theme","deprecated","variableName","length","componentDidMount","addListener","remove","removeListener","componentDidUpdate","prevProps","componentWillUnmount","isColorExtended","isError","linkRoot","Component","BaseVariableLink","baseVariable","getColorValue","color","colorValue","style","Option"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditIcon from '@skbkontur/react-icons/Edit';\nimport DeleteIcon from '@skbkontur/react-icons/Delete';\nimport EventEmitter from 'eventemitter3';\n\nimport { isColor } from '../../lib/styles/ColorHelpers';\nimport { Input } from '../../components/Input';\nimport { Gapped } from '../../components/Gapped';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Link } from '../../components/Link';\nimport { Hint } from '../../components/Hint';\nimport { isFunction } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Playground.styles';\n\nconst emitter = new EventEmitter();\n\nexport interface VariableValueProps {\n onChange: (variable: keyof Theme, value: string) => void;\n value: string;\n isError: boolean;\n variable: string;\n theme: Theme;\n baseVariables: Array<keyof Theme>;\n deprecated?: boolean;\n}\n\nexport interface VariableValueState {\n value: string;\n editing: boolean;\n}\n\ntype DefaultProps = Required<Pick<VariableValueProps, 'deprecated'>>;\n\nexport class VariableValue extends React.Component<VariableValueProps, VariableValueState> {\n public static defaultProps: DefaultProps = {\n deprecated: false,\n };\n private getProps = createPropsGetter(VariableValue.defaultProps);\n public state: VariableValueState = {\n value: this.props.value,\n editing: false,\n };\n private subscription: { remove: () => void } | null = null;\n private rootElement: HTMLElement | null = null;\n private readonly debounceTimeout = 500;\n private debounceInterval: number | undefined = undefined;\n\n public render() {\n const { variable, theme, baseVariables } = this.props;\n const deprecated = this.getProps().deprecated;\n return (\n <div className={styles.variable(theme)} ref={this.rootRef} tabIndex={0}>\n <div\n className={cx(styles.variableName(theme), { [styles.deprecated()]: deprecated })}\n title={variable}\n >{`${variable}: `}</div>\n {baseVariables.length > 0 && !this.state.editing ? this.renderBaseVariableLink() : this.renderInputWrapper()}\n </div>\n );\n }\n\n public componentDidMount(): void {\n if (!this.subscription) {\n emitter.addListener('clicked', this.emitterEventHandler);\n this.subscription = {\n remove: () => {\n emitter.removeListener('clicked', this.emitterEventHandler);\n },\n };\n }\n }\n\n public componentDidUpdate(prevProps: VariableValueProps) {\n if (prevProps.value !== this.props.value) {\n this.setState({ value: this.props.value });\n }\n }\n\n public componentWillUnmount(): void {\n if (this.subscription) {\n this.subscription.remove();\n }\n if (this.debounceInterval !== undefined) {\n clearInterval(this.debounceInterval);\n }\n }\n\n private renderBaseVariableLink = () => {\n const baseVariables = this.props.baseVariables;\n return (\n <div className={styles.baseVariableRoot()}>\n {this.colorIcon()}\n <div className={styles.baseLinkWrapper()}>\n <Gapped>\n <div style={{ textAlign: 'right' }}>\n <Gapped vertical>\n {baseVariables.map((v) => (\n <BaseVariableLink key={v} baseVariable={v} emitClickEvent={this.emitClickEvent} />\n ))}\n </Gapped>\n </div>\n <Hint text={'Изменить значение'}>\n <Link icon={<EditIcon />} onClick={this.handleEditLinkClick} />\n </Hint>\n </Gapped>\n </div>\n </div>\n );\n };\n\n private renderInputWrapper = () => {\n return this.state.editing ? (\n <Gapped>\n {this.renderInput()}\n {this.renderRollbackIcon()}\n </Gapped>\n ) : (\n this.renderInput()\n );\n };\n\n private renderInput() {\n return (\n <Input\n leftIcon={isColorExtended(this.state.value) && this.colorIcon()}\n value={this.state.value}\n onValueChange={this.handleChange}\n onBlur={this.handleBlur}\n align={'right'}\n width={this.state.editing ? 225 : 250}\n error={this.props.isError}\n />\n );\n }\n\n private renderRollbackIcon() {\n return (\n <Hint text={'Вернуться к базовой переменной'}>\n <div className={styles.linkRoot()}>\n <Link icon={<DeleteIcon />} onClick={this.rollbackToBaseVariable} />\n </div>\n </Hint>\n );\n }\n\n private rootRef = (instance: HTMLElement | null) => {\n this.rootElement = instance;\n };\n\n private colorIcon = () => {\n return <div className={styles.colorIcon()} style={{ background: this.state.value }} />;\n };\n\n private handleEditLinkClick = () => {\n this.setState({\n editing: true,\n });\n };\n\n private rollbackToBaseVariable = () => {\n this.setState({\n editing: false,\n value: this.props.value,\n });\n };\n\n private emitClickEvent = (variable: string | number) => {\n emitter.emit('clicked', variable);\n };\n\n private handleChange = (value: string) => {\n this.setState({\n value,\n });\n\n if (this.debounceInterval === undefined) {\n this.debounceInterval = window.setInterval(this.debounceHandler, this.debounceTimeout);\n }\n };\n\n private debounceHandler = () => {\n const { variable, onChange } = this.props;\n\n onChange(variable as keyof Theme, this.state.value);\n clearInterval(this.debounceInterval);\n this.debounceInterval = undefined;\n };\n\n private handleBlur = () => {\n this.setState({\n editing: false,\n });\n };\n\n private emitterEventHandler = (name: keyof Theme) => {\n if (name === this.props.variable && this.rootElement) {\n this.rootElement.focus();\n }\n };\n}\n\ninterface BaseVariableLinkProps {\n baseVariable: string | number;\n emitClickEvent: (baseVariable: string | number) => void;\n}\nclass BaseVariableLink extends React.Component<BaseVariableLinkProps> {\n public render() {\n return <Link onClick={this.emitClickEvent}>{this.props.baseVariable}</Link>;\n }\n private emitClickEvent = () => {\n this.props.emitClickEvent(this.props.baseVariable);\n };\n}\n\ntype Color = string | (() => string);\n\nconst getColorValue = (color: Color) => {\n if (isFunction(color)) {\n return color();\n }\n\n return color;\n};\n\nfunction isColorExtended(color: Color) {\n const colorValue = getColorValue(color);\n\n const style = new Option().style;\n style.color = colorValue;\n\n if (colorValue) {\n return isColor(colorValue) || style.color === colorValue;\n }\n\n return false;\n}\n"]}
1
+ {"version":3,"sources":["VariableValue.tsx"],"names":["React","EditIcon","DeleteIcon","EventEmitter","isColor","Input","Gapped","Link","Hint","isFunction","cx","createPropsGetter","styles","emitter","VariableValue","getProps","defaultProps","state","value","props","editing","subscription","rootElement","debounceTimeout","debounceInterval","undefined","renderBaseVariableLink","baseVariables","baseVariableRoot","colorIcon","baseLinkWrapper","textAlign","map","v","emitClickEvent","handleEditLinkClick","renderInputWrapper","renderInput","renderRollbackIcon","rootRef","instance","background","setState","rollbackToBaseVariable","variable","emit","handleChange","window","setInterval","debounceHandler","onChange","clearInterval","handleBlur","emitterEventHandler","name","focus","render","theme","deprecated","variableName","length","componentDidMount","addListener","remove","removeListener","componentDidUpdate","prevProps","componentWillUnmount","isColorExtended","isError","linkRoot","Component","BaseVariableLink","baseVariable","getColorValue","color","colorValue","style","Option"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditIcon from '@skbkontur/react-icons/Edit';\nimport DeleteIcon from '@skbkontur/react-icons/Delete';\nimport EventEmitter from 'eventemitter3';\n\nimport { isColor } from '../../lib/styles/ColorHelpers';\nimport { Input } from '../../components/Input';\nimport { Gapped } from '../../components/Gapped';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Link } from '../../components/Link';\nimport { Hint } from '../../components/Hint';\nimport { isFunction } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Playground.styles';\n\nconst emitter = new EventEmitter();\n\nexport interface VariableValueProps {\n onChange: (variable: keyof Theme, value: string) => void;\n value: string;\n isError: boolean;\n variable: string;\n theme: Theme;\n baseVariables: Array<keyof Theme>;\n deprecated?: boolean;\n}\n\nexport interface VariableValueState {\n value: string;\n editing: boolean;\n}\n\ntype DefaultProps = Required<Pick<VariableValueProps, 'deprecated'>>;\n\nexport class VariableValue extends React.Component<VariableValueProps, VariableValueState> {\n public static defaultProps: DefaultProps = {\n deprecated: false,\n };\n private getProps = createPropsGetter(VariableValue.defaultProps);\n public state: VariableValueState = {\n value: this.props.value,\n editing: false,\n };\n private subscription: { remove: () => void } | null = null;\n private rootElement: HTMLElement | null = null;\n private readonly debounceTimeout = 500;\n private debounceInterval: number | undefined = undefined;\n\n public render() {\n const { variable, theme, baseVariables } = this.props;\n const deprecated = this.getProps().deprecated;\n return (\n <div className={styles.variable(theme)} ref={this.rootRef} tabIndex={0}>\n <div\n className={cx(styles.variableName(theme), { [styles.deprecated()]: deprecated })}\n title={variable}\n >{`${variable}: `}</div>\n {baseVariables.length > 0 && !this.state.editing ? this.renderBaseVariableLink() : this.renderInputWrapper()}\n </div>\n );\n }\n\n public componentDidMount(): void {\n if (!this.subscription) {\n emitter.addListener('clicked', this.emitterEventHandler);\n this.subscription = {\n remove: () => {\n emitter.removeListener('clicked', this.emitterEventHandler);\n },\n };\n }\n }\n\n public componentDidUpdate(prevProps: VariableValueProps) {\n if (prevProps.value !== this.props.value) {\n this.setState({ value: this.props.value });\n }\n }\n\n public componentWillUnmount(): void {\n if (this.subscription) {\n this.subscription.remove();\n }\n if (this.debounceInterval !== undefined) {\n clearInterval(this.debounceInterval);\n }\n }\n\n private renderBaseVariableLink = () => {\n const baseVariables = this.props.baseVariables;\n return (\n <div className={styles.baseVariableRoot()}>\n {this.colorIcon()}\n <div className={styles.baseLinkWrapper()}>\n <Gapped>\n <div style={{ textAlign: 'right' }}>\n <Gapped vertical>\n {baseVariables.map((v) => (\n <BaseVariableLink key={v} baseVariable={v} emitClickEvent={this.emitClickEvent} />\n ))}\n </Gapped>\n </div>\n <Hint text={'Изменить значение'}>\n <Link icon={<EditIcon />} onClick={this.handleEditLinkClick} />\n </Hint>\n </Gapped>\n </div>\n </div>\n );\n };\n\n private renderInputWrapper = () => {\n return this.state.editing ? (\n <Gapped>\n {this.renderInput()}\n {this.renderRollbackIcon()}\n </Gapped>\n ) : (\n this.renderInput()\n );\n };\n\n private renderInput() {\n return (\n <Input\n leftIcon={isColorExtended(this.state.value) && this.colorIcon()}\n value={this.state.value}\n onValueChange={this.handleChange}\n onBlur={this.handleBlur}\n align={'right'}\n width={this.state.editing ? 225 : 250}\n error={this.props.isError}\n />\n );\n }\n\n private renderRollbackIcon() {\n return (\n <Hint text={'Вернуться к базовой переменной'}>\n <div className={styles.linkRoot()}>\n <Link icon={<DeleteIcon />} onClick={this.rollbackToBaseVariable} />\n </div>\n </Hint>\n );\n }\n\n private rootRef = (instance: HTMLElement | null) => {\n this.rootElement = instance;\n };\n\n private colorIcon = () => {\n return <div className={styles.colorIcon()} style={{ background: this.state.value }} />;\n };\n\n private handleEditLinkClick = () => {\n this.setState({\n editing: true,\n });\n };\n\n private rollbackToBaseVariable = () => {\n this.setState({\n editing: false,\n value: this.props.value,\n });\n };\n\n private emitClickEvent = (variable: string | number) => {\n emitter.emit('clicked', variable);\n };\n\n private handleChange = (value: string) => {\n this.setState({\n value,\n });\n\n if (this.debounceInterval === undefined) {\n this.debounceInterval = window.setInterval(this.debounceHandler, this.debounceTimeout);\n }\n };\n\n private debounceHandler = () => {\n const { variable, onChange } = this.props;\n\n onChange(variable as keyof Theme, this.state.value);\n\n clearInterval(this.debounceInterval);\n this.debounceInterval = undefined;\n };\n\n private handleBlur = () => {\n this.setState({\n editing: false,\n });\n };\n\n private emitterEventHandler = (name: keyof Theme) => {\n if (name === this.props.variable && this.rootElement) {\n this.rootElement.focus();\n }\n };\n}\n\ninterface BaseVariableLinkProps {\n baseVariable: string | number;\n emitClickEvent: (baseVariable: string | number) => void;\n}\nclass BaseVariableLink extends React.Component<BaseVariableLinkProps> {\n public render() {\n return <Link onClick={this.emitClickEvent}>{this.props.baseVariable}</Link>;\n }\n private emitClickEvent = () => {\n this.props.emitClickEvent(this.props.baseVariable);\n };\n}\n\ntype Color = string | (() => string);\n\nconst getColorValue = (color: Color) => {\n if (isFunction(color)) {\n return color();\n }\n\n return color;\n};\n\nfunction isColorExtended(color: Color) {\n const colorValue = getColorValue(color);\n\n const style = new Option().style;\n style.color = colorValue;\n\n if (colorValue) {\n return isColor(colorValue) || style.color === colorValue;\n }\n\n return false;\n}\n"]}
@@ -43,6 +43,9 @@ export var VARIABLES_GROUPS = [{
43
43
  }, {
44
44
  title: 'Modal',
45
45
  prefix: 'modal'
46
+ }, {
47
+ title: 'MiniModal',
48
+ prefix: 'miniModal'
46
49
  }, {
47
50
  title: 'Paging',
48
51
  prefix: 'paging'
@@ -1 +1 @@
1
- {"version":3,"sources":["constants.ts"],"names":["ThemeType","VARIABLES_GROUPS","title","prefix","isCommon","DEPRECATED_VARIABLES"],"mappings":";;AAEA,WAAYA,SAAZ,C,WAAYA,S,GAAAA,S,wBAAAA,S,kBAAAA,S,8BAAAA,S,wBAAAA,S,4BAAAA,S,uCAAAA,S,KAAAA,S;;;;;;;;;AASZ,OAAO,IAAMC,gBAAgB,GAAG;AAC9B,EAAEC,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,MAA3B,EAAmCC,QAAQ,EAAE,IAA7C,EAD8B;AAE9B,EAAEF,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,KAA3B,EAF8B;AAG9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAH8B;AAI9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAJ8B;AAK9B,EAAED,KAAK,EAAE,YAAT,EAAuBC,MAAM,EAAE,sBAA/B,EAL8B;AAM9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAN8B;AAO9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAP8B;AAQ9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,MAAzB,EAR8B;AAS9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAT8B;AAU9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,MAAzB,EAV8B;AAW9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAX8B;AAY9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAZ8B;AAa9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAb8B;AAc9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAd8B;AAe9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAf8B;AAgB9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,KAAzB,EAhB8B;AAiB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAjB8B;AAkB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAlB8B;AAmB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAnB8B;AAoB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EApB8B;AAqB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EArB8B;AAsB9B,EAAED,KAAK,EAAE,YAAT,EAAuBC,MAAM,EAAE,YAA/B,EAtB8B;AAuB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAvB8B;AAwB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EAxB8B;AAyB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAzB8B;AA0B9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,SAA3B,EA1B8B;AA2B9B,EAAED,KAAK,EAAE,cAAT,EAAyBC,MAAM,EAAE,cAAjC,EA3B8B;AA4B9B,EAAED,KAAK,EAAE,iBAAT,EAA4BC,MAAM,EAAE,cAApC,EA5B8B,CAAzB;;;AA+BP,OAAO,IAAME,oBAAwC,GAAG,EAAjD","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\n\nexport enum ThemeType {\n Default = 'default',\n Dark = 'dark',\n DefaultOld = 'defaultOld',\n FlatOld = 'flatOld',\n Theme2022 = 'theme2022',\n Theme2022Dark = 'theme2022Dark',\n}\n\nexport const VARIABLES_GROUPS = [\n { title: 'Common', prefix: 'null', isCommon: true },\n { title: 'Button', prefix: 'btn' },\n { title: 'Border', prefix: 'border' },\n { title: 'Checkbox', prefix: 'checkbox' },\n { title: 'DatePicker', prefix: 'date calendar picker' },\n { title: 'Dropdown', prefix: 'dropdown' },\n { title: 'Input', prefix: 'input' },\n { title: 'Link', prefix: 'link' },\n { title: 'Loader', prefix: 'loader' },\n { title: 'Menu', prefix: 'menu' },\n { title: 'Modal', prefix: 'modal' },\n { title: 'Paging', prefix: 'paging' },\n { title: 'Popup', prefix: 'popup' },\n { title: 'Radio', prefix: 'radio' },\n { title: 'SidePage', prefix: 'sidePage' },\n { title: 'Tabs', prefix: 'tab' },\n { title: 'Textarea', prefix: 'textarea' },\n { title: 'Toast', prefix: 'toast' },\n { title: 'Toggle', prefix: 'toggle' },\n { title: 'Tooltip', prefix: 'tooltip' },\n { title: 'Token', prefix: 'token' },\n { title: 'TokenInput', prefix: 'tokenInput' },\n { title: 'Select', prefix: 'select' },\n { title: 'Spinner', prefix: 'spinner' },\n { title: 'Switcher', prefix: 'switcher' },\n { title: 'Legacy', prefix: 'chb slt' },\n { title: 'GlobalLoader', prefix: 'globalLoader' },\n { title: 'CloseButtonIcon', prefix: 'closeBtnIcon' },\n];\n\nexport const DEPRECATED_VARIABLES: Array<keyof Theme> = [];\n"]}
1
+ {"version":3,"sources":["constants.ts"],"names":["ThemeType","VARIABLES_GROUPS","title","prefix","isCommon","DEPRECATED_VARIABLES"],"mappings":";;AAEA,WAAYA,SAAZ,C,WAAYA,S,GAAAA,S,wBAAAA,S,kBAAAA,S,8BAAAA,S,wBAAAA,S,4BAAAA,S,uCAAAA,S,KAAAA,S;;;;;;;;;AASZ,OAAO,IAAMC,gBAAgB,GAAG;AAC9B,EAAEC,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,MAA3B,EAAmCC,QAAQ,EAAE,IAA7C,EAD8B;AAE9B,EAAEF,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,KAA3B,EAF8B;AAG9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAH8B;AAI9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAJ8B;AAK9B,EAAED,KAAK,EAAE,YAAT,EAAuBC,MAAM,EAAE,sBAA/B,EAL8B;AAM9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAN8B;AAO9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAP8B;AAQ9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,MAAzB,EAR8B;AAS9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAT8B;AAU9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,MAAzB,EAV8B;AAW9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAX8B;AAY9B,EAAED,KAAK,EAAE,WAAT,EAAsBC,MAAM,EAAE,WAA9B,EAZ8B;AAa9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAb8B;AAc9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAd8B;AAe9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAf8B;AAgB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAhB8B;AAiB9B,EAAED,KAAK,EAAE,MAAT,EAAiBC,MAAM,EAAE,KAAzB,EAjB8B;AAkB9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EAlB8B;AAmB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAnB8B;AAoB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EApB8B;AAqB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EArB8B;AAsB9B,EAAED,KAAK,EAAE,OAAT,EAAkBC,MAAM,EAAE,OAA1B,EAtB8B;AAuB9B,EAAED,KAAK,EAAE,YAAT,EAAuBC,MAAM,EAAE,YAA/B,EAvB8B;AAwB9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,QAA3B,EAxB8B;AAyB9B,EAAED,KAAK,EAAE,SAAT,EAAoBC,MAAM,EAAE,SAA5B,EAzB8B;AA0B9B,EAAED,KAAK,EAAE,UAAT,EAAqBC,MAAM,EAAE,UAA7B,EA1B8B;AA2B9B,EAAED,KAAK,EAAE,QAAT,EAAmBC,MAAM,EAAE,SAA3B,EA3B8B;AA4B9B,EAAED,KAAK,EAAE,cAAT,EAAyBC,MAAM,EAAE,cAAjC,EA5B8B;AA6B9B,EAAED,KAAK,EAAE,iBAAT,EAA4BC,MAAM,EAAE,cAApC,EA7B8B,CAAzB;;;AAgCP,OAAO,IAAME,oBAAwC,GAAG,EAAjD","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\n\nexport enum ThemeType {\n Default = 'default',\n Dark = 'dark',\n DefaultOld = 'defaultOld',\n FlatOld = 'flatOld',\n Theme2022 = 'theme2022',\n Theme2022Dark = 'theme2022Dark',\n}\n\nexport const VARIABLES_GROUPS = [\n { title: 'Common', prefix: 'null', isCommon: true },\n { title: 'Button', prefix: 'btn' },\n { title: 'Border', prefix: 'border' },\n { title: 'Checkbox', prefix: 'checkbox' },\n { title: 'DatePicker', prefix: 'date calendar picker' },\n { title: 'Dropdown', prefix: 'dropdown' },\n { title: 'Input', prefix: 'input' },\n { title: 'Link', prefix: 'link' },\n { title: 'Loader', prefix: 'loader' },\n { title: 'Menu', prefix: 'menu' },\n { title: 'Modal', prefix: 'modal' },\n { title: 'MiniModal', prefix: 'miniModal' },\n { title: 'Paging', prefix: 'paging' },\n { title: 'Popup', prefix: 'popup' },\n { title: 'Radio', prefix: 'radio' },\n { title: 'SidePage', prefix: 'sidePage' },\n { title: 'Tabs', prefix: 'tab' },\n { title: 'Textarea', prefix: 'textarea' },\n { title: 'Toast', prefix: 'toast' },\n { title: 'Toggle', prefix: 'toggle' },\n { title: 'Tooltip', prefix: 'tooltip' },\n { title: 'Token', prefix: 'token' },\n { title: 'TokenInput', prefix: 'tokenInput' },\n { title: 'Select', prefix: 'select' },\n { title: 'Spinner', prefix: 'spinner' },\n { title: 'Switcher', prefix: 'switcher' },\n { title: 'Legacy', prefix: 'chb slt' },\n { title: 'GlobalLoader', prefix: 'globalLoader' },\n { title: 'CloseButtonIcon', prefix: 'closeBtnIcon' },\n];\n\nexport const DEPRECATED_VARIABLES: Array<keyof Theme> = [];\n"]}
@@ -1,3 +1,4 @@
1
+ import { globalObject } from '@skbkontur/global-object';
1
2
  import { DEFAULT_THEME } from "../../../lib/theming/themes/DefaultTheme";
2
3
  import { DARK_THEME } from "../../../lib/theming/themes/DarkTheme";
3
4
  import { IS_PROXY_SUPPORTED } from "../../../lib/Supports";
@@ -99,6 +100,8 @@ function getProxyHandler(accumulator, dependencies) {
99
100
 
100
101
  return {
101
102
  get: function get(target, prop, receiver) {
103
+ var _globalObject$perform, _globalObject$perform2;
104
+
102
105
  var propName = prop;
103
106
 
104
107
  if (isThemeVariable(target, propName)) {
@@ -115,9 +118,9 @@ function getProxyHandler(accumulator, dependencies) {
115
118
  }
116
119
 
117
120
  accessLevel++;
118
- var start = performance.now();
121
+ var start = ((_globalObject$perform = globalObject.performance) == null ? void 0 : _globalObject$perform.now()) || 0;
119
122
  var result = Reflect.get(target, prop, receiver);
120
- executionTime += performance.now() - start;
123
+ executionTime += (((_globalObject$perform2 = globalObject.performance) == null ? void 0 : _globalObject$perform2.now()) || 0) - start;
121
124
  callsCount++;
122
125
  accessLevel--;
123
126
  return result;