@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
@@ -5,6 +5,7 @@ var _dec, _class, _class2, _temp;
5
5
 
6
6
  import React from 'react';
7
7
  import PropTypes from 'prop-types';
8
+ import { globalObject, isBrowser } from '@skbkontur/global-object';
8
9
  import { getRandomID, isNonNullable } from "../../../lib/utils";
9
10
  import { isKeyEscape } from "../../../lib/events/keyboard/identifiers";
10
11
  import { DatePickerLocaleHelper } from "../../../components/DatePicker/locale";
@@ -22,6 +23,7 @@ import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
22
23
  import { ArrowCollapseCVOpenIcon16Regular } from "../../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular";
23
24
  import { ArrowCUpIcon16Regular } from "../../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular";
24
25
  import { ArrowCDownIcon16Regular } from "../../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular";
26
+ import { isInstanceOf } from "../../../lib/isInstanceOf";
25
27
  import { globalClasses, styles } from "../DateSelect.styles";
26
28
  var itemHeight = 24;
27
29
  var visibleYearsCount = 11;
@@ -71,8 +73,6 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
71
73
  };
72
74
  _this.root = null;
73
75
  _this.itemsContainer = null;
74
- _this.longClickTimer = 0;
75
- _this.setPositionRepeatTimer = 0;
76
76
  _this.yearStep = 3;
77
77
  _this.touchStartY = null;
78
78
 
@@ -117,14 +117,14 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
117
117
  }
118
118
 
119
119
  if (_this.timeout) {
120
- clearTimeout(_this.timeout);
120
+ globalObject.clearTimeout(_this.timeout);
121
121
  }
122
122
 
123
- _this.timeout = setTimeout(function () {
123
+ _this.timeout = globalObject.setTimeout(function () {
124
124
  return _this.setState({
125
125
  nodeTop: getDOMRect(root).top
126
126
  });
127
- });
127
+ }, 0);
128
128
  };
129
129
 
130
130
  _this.refItemsContainer = function (element) {
@@ -156,8 +156,8 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
156
156
 
157
157
  _this.handleLongClickUp = function (event) {
158
158
  event.preventDefault();
159
- _this.longClickTimer = window.setTimeout(function () {
160
- _this.setPositionRepeatTimer = window.setInterval(function () {
159
+ _this.longClickTimer = globalObject.setTimeout(function () {
160
+ _this.setPositionRepeatTimer = globalObject.setInterval(function () {
161
161
  return _this.setPosition(_this.state.pos - itemHeight);
162
162
  }, 100);
163
163
  }, 200);
@@ -165,16 +165,16 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
165
165
 
166
166
  _this.handleLongClickDown = function (event) {
167
167
  event.preventDefault();
168
- _this.longClickTimer = window.setTimeout(function () {
169
- _this.setPositionRepeatTimer = window.setInterval(function () {
168
+ _this.longClickTimer = globalObject.setTimeout(function () {
169
+ _this.setPositionRepeatTimer = globalObject.setInterval(function () {
170
170
  return _this.setPosition(_this.state.pos + itemHeight);
171
171
  }, 100);
172
172
  }, 200);
173
173
  };
174
174
 
175
175
  _this.handleLongClickStop = function () {
176
- clearTimeout(_this.longClickTimer);
177
- clearTimeout(_this.setPositionRepeatTimer);
176
+ globalObject.clearTimeout(_this.longClickTimer);
177
+ globalObject.clearTimeout(_this.setPositionRepeatTimer);
178
178
  };
179
179
 
180
180
  _this.getAnchor = function () {
@@ -182,7 +182,7 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
182
182
  };
183
183
 
184
184
  _this.handleWheel = function (event) {
185
- if (!(event instanceof WheelEvent)) {
185
+ if (!isInstanceOf(event, globalObject.WheelEvent)) {
186
186
  return;
187
187
  }
188
188
 
@@ -202,7 +202,7 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
202
202
  };
203
203
 
204
204
  _this.handleTouchStart = function (event) {
205
- if (!(event instanceof TouchEvent)) {
205
+ if (!isInstanceOf(event, globalObject.TouchEvent)) {
206
206
  return;
207
207
  }
208
208
 
@@ -210,12 +210,12 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
210
210
  };
211
211
 
212
212
  _this.handleTouchMove = function (event) {
213
- if (!(event instanceof TouchEvent)) {
213
+ if (!isInstanceOf(event, globalObject.TouchEvent) || !isBrowser(globalObject)) {
214
214
  return;
215
215
  }
216
216
 
217
217
  var clientY = event.changedTouches[0].clientY;
218
- var pixelRatio = window.devicePixelRatio;
218
+ var pixelRatio = globalObject.devicePixelRatio;
219
219
  var deltaY = ((_this.touchStartY || 0) - clientY) / pixelRatio;
220
220
  var pos = _this.state.pos + deltaY + deltaY / itemHeight;
221
221
  _this.touchStartY = clientY;
@@ -271,7 +271,7 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
271
271
  _proto.componentDidMount = function componentDidMount() {
272
272
  this.listener = LayoutEvents.addListener(this.setNodeTop);
273
273
  this.setNodeTop();
274
- window.addEventListener('keydown', this.handleKey);
274
+ globalObject.addEventListener == null ? void 0 : globalObject.addEventListener('keydown', this.handleKey);
275
275
  };
276
276
 
277
277
  _proto.componentWillUnmount = function componentWillUnmount() {
@@ -280,18 +280,18 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), _dec
280
280
  }
281
281
 
282
282
  if (this.timeout) {
283
- clearTimeout(this.timeout);
283
+ globalObject.clearTimeout(this.timeout);
284
284
  }
285
285
 
286
286
  if (this.longClickTimer) {
287
- clearTimeout(this.longClickTimer);
287
+ globalObject.clearTimeout(this.longClickTimer);
288
288
  }
289
289
 
290
290
  if (this.setPositionRepeatTimer) {
291
- clearTimeout(this.setPositionRepeatTimer);
291
+ globalObject.clearTimeout(this.setPositionRepeatTimer);
292
292
  }
293
293
 
294
- window.removeEventListener('keydown', this.handleKey);
294
+ globalObject.removeEventListener == null ? void 0 : globalObject.removeEventListener('keydown', this.handleKey);
295
295
  }
296
296
  /**
297
297
  * @public
@@ -1 +1 @@
1
- {"version":3,"sources":["DateSelect.tsx"],"names":["React","PropTypes","getRandomID","isNonNullable","isKeyEscape","DatePickerLocaleHelper","locale","RenderLayer","DropdownContainer","LayoutEvents","ThemeContext","ArrowTriangleUpDownIcon","ArrowChevronDownIcon","ArrowChevronUpIcon","isMobile","cx","getDOMRect","createPropsGetter","isTheme2022","ArrowCollapseCVOpenIcon16Regular","ArrowCUpIcon16Regular","ArrowCDownIcon16Regular","globalClasses","styles","itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","menu","DateSelect","getProps","defaultProps","state","botCapped","current","height","opened","top","topCapped","nodeTop","Infinity","root","itemsContainer","longClickTimer","setPositionRepeatTimer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","menuId","refRoot","element","setNodeTop","timeout","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","window","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","value","onValueChange","handleKey","e","handleUp","handleDown","componentDidUpdate","componentDidMount","listener","addListener","componentWillUnmount","remove","render","theme","renderMain","renderMain2022","width","isInteractiveElement","Tag","rootProps","className","Boolean","style","ref","onClick","undefined","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","arrow","arrowDisabled","renderMenu","root2022","disableItems","index","maxValue","minValue","id","from","to","Math","ceil","items","i","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","iconUp","iconDown","menuUp","itemsHolder","menuDown","months","getMinPos","getMaxPos","calculatedPos","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","number","isRequired","oneOfType","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../RenderLayer';\nimport { DropdownContainer } from '../DropdownContainer';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ArrowTriangleUpDownIcon, ArrowChevronDownIcon, ArrowChevronUpIcon } from '../icons/16px';\nimport { isMobile } from '../../lib/client';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular';\nimport { ArrowCUpIcon16Regular } from '../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular';\nimport { ArrowCDownIcon16Regular } from '../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular';\n\nimport { globalClasses, styles } from './DateSelect.styles';\n\nconst itemHeight = 24;\nconst visibleYearsCount = 11;\nconst itemsToMoveCount = -5;\nconst monthsCount = 12;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2100;\n\nexport interface DateSelectProps {\n disabled?: boolean | null;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport interface DateSelectState {\n botCapped: boolean;\n current: Nullable<number>;\n height: number;\n opened: boolean;\n pos: number;\n top: number;\n topCapped: boolean;\n nodeTop: number;\n}\n\nconst calculatePos = (pos: number, minPos: number, maxPos: number) => {\n if (maxPos <= pos) {\n return maxPos;\n }\n\n if (minPos >= pos) {\n return minPos;\n }\n\n return pos;\n};\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: NodeJS.Timeout | undefined;\n private longClickTimer = 0;\n private setPositionRepeatTimer = 0;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n\n public componentDidUpdate() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n window.addEventListener('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n clearTimeout(this.setPositionRepeatTimer);\n }\n window.removeEventListener('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderMain() {\n if (isTheme2022(this.theme)) {\n return this.renderMain2022();\n }\n\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.disabled()]: Boolean(disabled),\n }),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n <div\n className={cx({\n [styles.arrow(this.theme)]: true,\n [styles.arrowDisabled()]: Boolean(disabled),\n })}\n >\n <ArrowTriangleUpDownIcon size={12} />\n </div>\n </div>\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private renderMain2022() {\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx(styles.root(this.theme), styles.root2022(), disabled && styles.disabled()),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.timeout = setTimeout(() =>\n this.setState({\n nodeTop: getDOMRect(root).top,\n }),\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (isNonNullable(this.props.maxValue) && isNonNullable(this.props.minValue)) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.minValue)) {\n return value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.maxValue)) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(id?: string): React.ReactNode {\n const { top, height, nodeTop } = this.state;\n\n let shift = this.state.pos % itemHeight;\n if (shift < 0) {\n shift += itemHeight;\n }\n\n const from = (this.state.pos - shift + top) / itemHeight;\n const to = from + Math.ceil((height + shift) / itemHeight);\n const items = [];\n\n for (let i = from; i < to; ++i) {\n const disableItems = this.disableItems(i) || false;\n const className = cx({\n [styles.menuItem(this.theme)]: true,\n [styles.menuItemSelected(this.theme)]: i === 0,\n [styles.menuItemActive(this.theme)]: i === this.state.current,\n [styles.menuItemDisabled(this.theme)]: disableItems,\n });\n const clickHandler = {\n onMouseDown: preventDefault,\n onClick: this.handleItemClick(i),\n };\n items.push(\n <button\n aria-label={`Выбрать ${this.getProps().type === 'year' ? 'год' : 'месяц'} ${this.getItem(i)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-prop-disabled={disableItems}\n key={i}\n className={className}\n onMouseEnter={() => this.setState({ current: i })}\n onMouseLeave={() => this.setState({ current: null })}\n {...clickHandler}\n >\n {this.getItem(i)}\n </button>,\n );\n }\n const style: {\n left?: number | string;\n right?: number | string;\n top: number;\n width?: number | string;\n } = {\n top: top - 5,\n left: 0,\n right: 0,\n };\n\n const shiftStyle: React.CSSProperties = {\n position: 'relative',\n top: -shift,\n };\n\n const holderClass = cx({\n [styles.menuHolder(this.theme)]: true,\n [styles.isTopCapped()]: this.state.topCapped,\n [styles.isBotCapped()]: this.state.botCapped,\n });\n\n let dropdownOffset = -itemHeight;\n if (nodeTop < -top) {\n const overflowOffsetDelta = this.state.topCapped ? 6 : 17;\n dropdownOffset -= nodeTop + top - overflowOffsetDelta;\n }\n\n const iconUp = isTheme2022(this.theme) ? <ArrowCUpIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronUpIcon />;\n const iconDown = isTheme2022(this.theme) ? <ArrowCDownIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronDownIcon />;\n\n return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <DropdownContainer\n data-tid={DateSelectDataTids.menu}\n id={id}\n getParent={this.getAnchor}\n offsetY={dropdownOffset}\n offsetX={-10}\n >\n <div className={holderClass} style={style}>\n {!this.state.topCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuUp())}\n onClick={this.handleUp}\n onMouseDown={this.handleLongClickUp}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickUp}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconUp}</span>\n </div>\n )}\n <div className={styles.itemsHolder()} style={{ height }}>\n <div ref={this.refItemsContainer} style={shiftStyle}>\n {items}\n </div>\n </div>\n {!this.state.botCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuDown())}\n onClick={this.handleDown}\n onMouseDown={this.handleLongClickDown}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickDown}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconDown}</span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </RenderLayer>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n clearTimeout(this.longClickTimer);\n clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = window.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return () => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.getProps().type === 'month') {\n return this.locale.months?.[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.getProps().type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n\n const calculatedPos = calculatePos(pos, minPos, maxPos);\n const topCapped = calculatedPos <= minPos;\n const botCapped = calculatedPos >= maxPos;\n\n this.setState({ pos: calculatedPos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return -this.props.value * itemHeight;\n } else if (type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
1
+ {"version":3,"sources":["DateSelect.tsx"],"names":["React","PropTypes","globalObject","isBrowser","getRandomID","isNonNullable","isKeyEscape","DatePickerLocaleHelper","locale","RenderLayer","DropdownContainer","LayoutEvents","ThemeContext","ArrowTriangleUpDownIcon","ArrowChevronDownIcon","ArrowChevronUpIcon","isMobile","cx","getDOMRect","createPropsGetter","isTheme2022","ArrowCollapseCVOpenIcon16Regular","ArrowCUpIcon16Regular","ArrowCDownIcon16Regular","isInstanceOf","globalClasses","styles","itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","menu","DateSelect","getProps","defaultProps","state","botCapped","current","height","opened","top","topCapped","nodeTop","Infinity","root","itemsContainer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","menuId","refRoot","element","setNodeTop","timeout","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","longClickTimer","setPositionRepeatTimer","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","value","onValueChange","handleKey","e","handleUp","handleDown","componentDidUpdate","componentDidMount","listener","addListener","componentWillUnmount","remove","render","theme","renderMain","renderMain2022","width","isInteractiveElement","Tag","rootProps","className","Boolean","style","ref","onClick","undefined","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","arrow","arrowDisabled","renderMenu","root2022","disableItems","index","maxValue","minValue","id","from","to","Math","ceil","items","i","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","iconUp","iconDown","menuUp","itemsHolder","menuDown","months","getMinPos","getMaxPos","calculatedPos","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","number","isRequired","oneOfType","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser, SafeTimer } from '@skbkontur/global-object';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../RenderLayer';\nimport { DropdownContainer } from '../DropdownContainer';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ArrowTriangleUpDownIcon, ArrowChevronDownIcon, ArrowChevronUpIcon } from '../icons/16px';\nimport { isMobile } from '../../lib/client';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular';\nimport { ArrowCUpIcon16Regular } from '../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular';\nimport { ArrowCDownIcon16Regular } from '../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { globalClasses, styles } from './DateSelect.styles';\n\nconst itemHeight = 24;\nconst visibleYearsCount = 11;\nconst itemsToMoveCount = -5;\nconst monthsCount = 12;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2100;\n\nexport interface DateSelectProps {\n disabled?: boolean | null;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport interface DateSelectState {\n botCapped: boolean;\n current: Nullable<number>;\n height: number;\n opened: boolean;\n pos: number;\n top: number;\n topCapped: boolean;\n nodeTop: number;\n}\n\nconst calculatePos = (pos: number, minPos: number, maxPos: number) => {\n if (maxPos <= pos) {\n return maxPos;\n }\n\n if (minPos >= pos) {\n return minPos;\n }\n\n return pos;\n};\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: SafeTimer;\n private longClickTimer: SafeTimer;\n private setPositionRepeatTimer: SafeTimer;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n\n public componentDidUpdate() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n globalObject.addEventListener?.('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n globalObject.clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n globalObject.clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n globalObject.clearTimeout(this.setPositionRepeatTimer);\n }\n globalObject.removeEventListener?.('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderMain() {\n if (isTheme2022(this.theme)) {\n return this.renderMain2022();\n }\n\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.disabled()]: Boolean(disabled),\n }),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n <div\n className={cx({\n [styles.arrow(this.theme)]: true,\n [styles.arrowDisabled()]: Boolean(disabled),\n })}\n >\n <ArrowTriangleUpDownIcon size={12} />\n </div>\n </div>\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private renderMain2022() {\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx(styles.root(this.theme), styles.root2022(), disabled && styles.disabled()),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n globalObject.clearTimeout(this.timeout);\n }\n this.timeout = globalObject.setTimeout(\n () =>\n this.setState({\n nodeTop: getDOMRect(root).top,\n }),\n 0,\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (isNonNullable(this.props.maxValue) && isNonNullable(this.props.minValue)) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.minValue)) {\n return value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.maxValue)) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(id?: string): React.ReactNode {\n const { top, height, nodeTop } = this.state;\n\n let shift = this.state.pos % itemHeight;\n if (shift < 0) {\n shift += itemHeight;\n }\n\n const from = (this.state.pos - shift + top) / itemHeight;\n const to = from + Math.ceil((height + shift) / itemHeight);\n const items = [];\n\n for (let i = from; i < to; ++i) {\n const disableItems = this.disableItems(i) || false;\n const className = cx({\n [styles.menuItem(this.theme)]: true,\n [styles.menuItemSelected(this.theme)]: i === 0,\n [styles.menuItemActive(this.theme)]: i === this.state.current,\n [styles.menuItemDisabled(this.theme)]: disableItems,\n });\n const clickHandler = {\n onMouseDown: preventDefault,\n onClick: this.handleItemClick(i),\n };\n items.push(\n <button\n aria-label={`Выбрать ${this.getProps().type === 'year' ? 'год' : 'месяц'} ${this.getItem(i)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-prop-disabled={disableItems}\n key={i}\n className={className}\n onMouseEnter={() => this.setState({ current: i })}\n onMouseLeave={() => this.setState({ current: null })}\n {...clickHandler}\n >\n {this.getItem(i)}\n </button>,\n );\n }\n const style: {\n left?: number | string;\n right?: number | string;\n top: number;\n width?: number | string;\n } = {\n top: top - 5,\n left: 0,\n right: 0,\n };\n\n const shiftStyle: React.CSSProperties = {\n position: 'relative',\n top: -shift,\n };\n\n const holderClass = cx({\n [styles.menuHolder(this.theme)]: true,\n [styles.isTopCapped()]: this.state.topCapped,\n [styles.isBotCapped()]: this.state.botCapped,\n });\n\n let dropdownOffset = -itemHeight;\n if (nodeTop < -top) {\n const overflowOffsetDelta = this.state.topCapped ? 6 : 17;\n dropdownOffset -= nodeTop + top - overflowOffsetDelta;\n }\n\n const iconUp = isTheme2022(this.theme) ? <ArrowCUpIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronUpIcon />;\n const iconDown = isTheme2022(this.theme) ? <ArrowCDownIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronDownIcon />;\n\n return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <DropdownContainer\n data-tid={DateSelectDataTids.menu}\n id={id}\n getParent={this.getAnchor}\n offsetY={dropdownOffset}\n offsetX={-10}\n >\n <div className={holderClass} style={style}>\n {!this.state.topCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuUp())}\n onClick={this.handleUp}\n onMouseDown={this.handleLongClickUp}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickUp}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconUp}</span>\n </div>\n )}\n <div className={styles.itemsHolder()} style={{ height }}>\n <div ref={this.refItemsContainer} style={shiftStyle}>\n {items}\n </div>\n </div>\n {!this.state.botCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuDown())}\n onClick={this.handleDown}\n onMouseDown={this.handleLongClickDown}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickDown}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconDown}</span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </RenderLayer>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = globalObject.setTimeout(() => {\n this.setPositionRepeatTimer = globalObject.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = globalObject.setTimeout(() => {\n this.setPositionRepeatTimer = globalObject.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n globalObject.clearTimeout(this.longClickTimer);\n globalObject.clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!isInstanceOf(event, globalObject.WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!isInstanceOf(event, globalObject.TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!isInstanceOf(event, globalObject.TouchEvent) || !isBrowser(globalObject)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = globalObject.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return () => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.getProps().type === 'month') {\n return this.locale.months?.[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.getProps().type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n\n const calculatedPos = calculatePos(pos, minPos, maxPos);\n const topCapped = calculatedPos <= minPos;\n const botCapped = calculatedPos >= maxPos;\n\n this.setState({ pos: calculatedPos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return -this.props.value * itemHeight;\n } else if (type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
@@ -1,6 +1,8 @@
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 { globalObject, isBrowser } from '@skbkontur/global-object';
5
+ import { isInstanceOf } from "../../../lib/isInstanceOf";
4
6
  import * as LayoutEvents from "../../../lib/LayoutEvents";
5
7
  import { RenderContainer } from "../../RenderContainer";
6
8
  import { ZIndex } from "../../ZIndex";
@@ -23,27 +25,23 @@ export var DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {
23
25
  _this.dom = element;
24
26
  };
25
27
 
26
- _this.isElement = function (node) {
27
- return node instanceof Element;
28
- };
29
-
30
28
  _this.position = function () {
31
29
  var target = _this.props.getParent();
32
30
 
33
31
  var dom = _this.dom;
34
32
 
35
- if (target && _this.isElement(target) && dom) {
33
+ if (target && isInstanceOf(target, globalObject.Element) && dom && isBrowser(globalObject)) {
36
34
  var targetRect = getDOMRect(target);
37
- var _document = document,
38
- body = _document.body,
39
- docEl = _document.documentElement;
35
+ var _globalObject$documen = globalObject.document,
36
+ body = _globalObject$documen.body,
37
+ docEl = _globalObject$documen.documentElement;
40
38
 
41
39
  if (!docEl) {
42
40
  throw Error('There is no "documentElement" in "document"');
43
41
  }
44
42
 
45
- var scrollX = window.pageXOffset || docEl.scrollLeft || 0;
46
- var scrollY = window.pageYOffset || docEl.scrollTop || 0;
43
+ var scrollX = globalObject.pageXOffset || docEl.scrollLeft || 0;
44
+ var scrollY = globalObject.pageYOffset || docEl.scrollTop || 0;
47
45
  var left = null;
48
46
  var right = null;
49
47
 
@@ -94,7 +92,7 @@ export var DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {
94
92
  };
95
93
 
96
94
  _this.getHeight = function () {
97
- if (!_this.isElement(_this.dom)) {
95
+ if (!isInstanceOf(_this.dom, globalObject.Element)) {
98
96
  return 0;
99
97
  }
100
98
 
@@ -119,7 +117,7 @@ export var DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {
119
117
  left = position.left,
120
118
  right = position.right;
121
119
 
122
- if (target && _this.isElement(target)) {
120
+ if (isInstanceOf(target, globalObject.Element)) {
123
121
  var targetHeight = getDOMRect(target).height;
124
122
  return {
125
123
  top: top !== null ? targetHeight + offsetY : null,
@@ -204,11 +202,15 @@ DropdownContainer.defaultProps = {
204
202
  };
205
203
 
206
204
  var getIsDocumentElementRoot = function getIsDocumentElementRoot() {
207
- var _document2 = document,
208
- body = _document2.body,
209
- documentElement = _document2.documentElement;
210
- var htmlPosition = getComputedStyle(documentElement).position;
211
- var bodyPosition = getComputedStyle(body).position;
205
+ if (!isBrowser(globalObject)) {
206
+ return false;
207
+ }
208
+
209
+ var _globalObject$documen2 = globalObject.document,
210
+ body = _globalObject$documen2.body,
211
+ documentElement = _globalObject$documen2.documentElement;
212
+ var htmlPosition = globalObject.getComputedStyle(documentElement).position;
213
+ var bodyPosition = globalObject.getComputedStyle(body).position;
212
214
  var hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;
213
215
  var hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';
214
216
  return hasLimitedHeightRoot || hasStaticRoot;
@@ -1 +1 @@
1
- {"version":3,"sources":["DropdownContainer.tsx"],"names":["React","LayoutEvents","RenderContainer","ZIndex","createPropsGetter","cx","isIE11","getDOMRect","styles","getManualPosition","getTopAlignment","DropdownContainer","props","getProps","defaultProps","ZIndexRef","element","dom","isElement","node","Element","position","target","getParent","targetRect","document","body","docEl","documentElement","Error","scrollX","window","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","state","isDocumentElementRoot","scrollHeight","menuPos","setState","minWidth","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","getIsDocumentElementRoot","componentDidMount","layoutSub","addListener","componentWillUnmount","remove","render","style","undefined","maxWidth","hasFixedWidth","content","id","alignRight","PureComponent","__KONTUR_REACT_UI__","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot"],"mappings":"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","sourcesContent":["import React, { HTMLAttributes } from 'react';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { CommonProps } from '../CommonWrapper';\n\nimport { styles } from './DropdownContainer.styles';\nimport { getManualPosition, getTopAlignment } from './getManualPosition';\n\nexport interface DropdownContainerPosition {\n top: Nullable<number>;\n bottom: Nullable<number>;\n left: Nullable<number>;\n right: Nullable<number>;\n}\n\nexport interface DropdownContainerProps\n extends Pick<CommonProps, 'data-tid'>,\n Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n align?: 'left' | 'right';\n getParent: () => Nullable<Element>;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n hasFixedWidth?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\ntype DefaultProps = Required<Pick<DropdownContainerProps, 'align' | 'disablePortal' | 'offsetY' | 'offsetX'>>;\n\nexport class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: Nullable<HTMLDivElement>;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n constructor(props: DropdownContainerProps) {\n super(props);\n\n this.state = { position: null, minWidth: 0, isDocumentElementRoot: getIsDocumentElementRoot() };\n }\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n }\n\n public componentWillUnmount() {\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n }\n\n public render() {\n let style: React.CSSProperties = {\n position: 'absolute',\n top: '0',\n };\n if (this.state.position) {\n const { top, bottom, left, right } = this.state.position;\n style = {\n ...style,\n top: top !== null ? top : undefined,\n bottom: bottom !== null ? bottom : undefined,\n left: left !== null ? left : undefined,\n right: right !== null ? right : undefined,\n minWidth: this.state.minWidth,\n maxWidth: this.props.hasFixedWidth ? this.state.minWidth : undefined,\n };\n }\n\n const content = (\n <ZIndex\n data-tid={this.props['data-tid']}\n id={this.props.id}\n priority={'DropdownContainer'}\n wrapperRef={this.ZIndexRef}\n style={style}\n className={cx({\n [styles.alignRight()]: this.getProps().align === 'right' && !isIE11,\n })}\n >\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ZIndexRef = (element: Nullable<HTMLDivElement>) => {\n this.dom = element;\n };\n\n private isElement = (node: Nullable<Element>): node is Element => {\n return node instanceof Element;\n };\n\n public position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (target && this.isElement(target) && dom) {\n const targetRect = getDOMRect(target);\n const { body, documentElement: docEl } = document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = window.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = window.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.getProps().align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const offsetY = this.getProps().offsetY || 0;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n top = null;\n bottom = getTopAlignment({ clientHeight, offsetY, scrollY, target });\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n ...getManualPosition({ menuPos: this.props.menuPos, target, offsetY, clientHeight, scrollY }),\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.getProps().disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!this.isElement(this.dom)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n return getDOMRect(child).height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n return getDOMRect(target).width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const offsetX = this.getProps().offsetX || 0;\n const offsetY = this.getProps().offsetY || 0;\n const { top, bottom, left, right } = position;\n if (target && this.isElement(target)) {\n const targetHeight = getDOMRect(target).height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n\nconst getIsDocumentElementRoot = () => {\n const { body, documentElement } = document;\n const htmlPosition = getComputedStyle(documentElement).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n return hasLimitedHeightRoot || hasStaticRoot;\n};\n"]}
1
+ {"version":3,"sources":["DropdownContainer.tsx"],"names":["React","globalObject","isBrowser","isInstanceOf","LayoutEvents","RenderContainer","ZIndex","createPropsGetter","cx","isIE11","getDOMRect","styles","getManualPosition","getTopAlignment","DropdownContainer","props","getProps","defaultProps","ZIndexRef","element","dom","position","target","getParent","Element","targetRect","document","body","docEl","documentElement","Error","scrollX","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","state","isDocumentElementRoot","scrollHeight","menuPos","setState","minWidth","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","getIsDocumentElementRoot","componentDidMount","layoutSub","addListener","componentWillUnmount","remove","render","style","undefined","maxWidth","hasFixedWidth","content","id","alignRight","PureComponent","__KONTUR_REACT_UI__","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot"],"mappings":"gIAAA,OAAOA,KAAP,MAAsC,OAAtC;AACA,SAASC,YAAT,EAAuBC,SAAvB,QAAwC,0BAAxC;;AAEA,SAASC,YAAT,QAA6B,wBAA7B;AACA,OAAO,KAAKC,YAAZ,MAA8B,wBAA9B;AACA,SAASC,eAAT,QAAgC,oBAAhC;AACA,SAASC,MAAT,QAAuB,WAAvB;AACA,SAASC,iBAAT,QAAkC,6BAAlC;;AAEA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,MAAT,QAAuB,kBAAvB;AACA,SAASC,UAAT,QAA2B,0BAA3B;;;AAGA,SAASC,MAAT,QAAuB,4BAAvB;AACA,SAASC,iBAAT,EAA4BC,eAA5B,QAAmD,qBAAnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,WAAaC,iBAAb;;;;;;;;;;;;;;;AAeE,6BAAYC,KAAZ,EAA2C;AACzC,4CAAMA,KAAN,UADyC,MALnCC,QAKmC,GALxBT,iBAAiB,CAACO,iBAAiB,CAACG,YAAnB,CAKO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDnCC,IAAAA,SArDmC,GAqDvB,UAACC,OAAD,EAAuC;AACzD,YAAKC,GAAL,GAAWD,OAAX;AACD,KAvD0C;;AAyDpCE,IAAAA,QAzDoC,GAyDzB,YAAM;AACtB,UAAMC,MAAM,GAAG,MAAKP,KAAL,CAAWQ,SAAX,EAAf;AACA,UAAMH,GAAG,GAAG,MAAKA,GAAjB;;AAEA,UAAIE,MAAM,IAAInB,YAAY,CAACmB,MAAD,EAASrB,YAAY,CAACuB,OAAtB,CAAtB,IAAwDJ,GAAxD,IAA+DlB,SAAS,CAACD,YAAD,CAA5E,EAA4F;AAC1F,YAAMwB,UAAU,GAAGf,UAAU,CAACY,MAAD,CAA7B;AACA,oCAAyCrB,YAAY,CAACyB,QAAtD,CAAQC,IAAR,yBAAQA,IAAR,CAA+BC,KAA/B,yBAAcC,eAAd;;AAEA,YAAI,CAACD,KAAL,EAAY;AACV,gBAAME,KAAK,CAAC,6CAAD,CAAX;AACD;;AAED,YAAMC,OAAO,GAAG9B,YAAY,CAAC+B,WAAb,IAA4BJ,KAAK,CAACK,UAAlC,IAAgD,CAAhE;AACA,YAAMC,OAAO,GAAGjC,YAAY,CAACkC,WAAb,IAA4BP,KAAK,CAACQ,SAAlC,IAA+C,CAA/D;;AAEA,YAAIC,IAAI,GAAG,IAAX;AACA,YAAIC,KAAK,GAAG,IAAZ;;AAEA,YAAI,MAAKtB,QAAL,GAAgBuB,KAAhB,KAA0B,OAA9B,EAAuC;AACrC,cAAMC,QAAQ,GAAGZ,KAAK,CAACa,WAAN,IAAqB,CAAtC;AACAH,UAAAA,KAAK,GAAGE,QAAQ,IAAIf,UAAU,CAACa,KAAX,GAAmBP,OAAvB,CAAR,GAA0C,MAAKf,QAAL,GAAgB0B,OAAlE;AACD,SAHD,MAGO;AACLL,UAAAA,IAAI,GAAGZ,UAAU,CAACY,IAAX,GAAkBN,OAAlB,GAA4B,MAAKf,QAAL,GAAgB0B,OAAnD;AACD;;AAED,YAAMC,OAAO,GAAG,MAAK3B,QAAL,GAAgB2B,OAAhB,IAA2B,CAA3C;AACA,YAAIC,MAAM,GAAG,IAAb;AACA,YAAIC,GAAkB,GAAGpB,UAAU,CAACmB,MAAX,GAAoBV,OAApB,GAA8BS,OAAvD;;AAEA,YAAMG,gBAAgB,GAAGlB,KAAK,CAACmB,YAAN,GAAqBtB,UAAU,CAACmB,MAAzD;AACA,YAAMI,cAAc,GAAG,MAAKC,SAAL,EAAvB;;AAEA,YAAMF,YAAY,GAAG,MAAKG,KAAL,CAAWC,qBAAX,GAAmCvB,KAAK,CAACmB,YAAzC,GAAwDpB,IAAI,CAACyB,YAAlF;AACA,YAAIN,gBAAgB,GAAGE,cAAnB,IAAqCvB,UAAU,CAACoB,GAAX,GAAiBG,cAA1D,EAA0E;AACxEH,UAAAA,GAAG,GAAG,IAAN;AACAD,UAAAA,MAAM,GAAG/B,eAAe,CAAC,EAAEkC,YAAY,EAAZA,YAAF,EAAgBJ,OAAO,EAAPA,OAAhB,EAAyBT,OAAO,EAAPA,OAAzB,EAAkCZ,MAAM,EAANA,MAAlC,EAAD,CAAxB;AACD;;AAED,YAAMD,QAAQ;AACZwB,UAAAA,GAAG,EAAHA,GADY;AAEZR,UAAAA,IAAI,EAAJA,IAFY;AAGZC,UAAAA,KAAK,EAALA,KAHY;AAIZM,UAAAA,MAAM,EAANA,MAJY;AAKThC,QAAAA,iBAAiB,CAAC,EAAEyC,OAAO,EAAE,MAAKtC,KAAL,CAAWsC,OAAtB,EAA+B/B,MAAM,EAANA,MAA/B,EAAuCqB,OAAO,EAAPA,OAAvC,EAAgDI,YAAY,EAAZA,YAAhD,EAA8Db,OAAO,EAAPA,OAA9D,EAAD,CALR,CAAd;;;AAQA,cAAKoB,QAAL,CAAc;AACZC,UAAAA,QAAQ,EAAE,MAAKC,WAAL,EADE;AAEZnC,UAAAA,QAAQ,EAAE,MAAKL,QAAL,GAAgByC,aAAhB,GAAgC,MAAKC,yBAAL,CAA+BrC,QAA/B,CAAhC,GAA2EA,QAFzE,EAAd;;AAID;AACF,KA5G0C;;AA8GnC4B,IAAAA,SA9GmC,GA8GvB,YAAM;AACxB,UAAI,CAAC9C,YAAY,CAAC,MAAKiB,GAAN,EAAWnB,YAAY,CAACuB,OAAxB,CAAjB,EAAmD;AACjD,eAAO,CAAP;AACD;AACD,UAAMmC,KAAK,GAAG,MAAKvC,GAAL,CAASwC,QAAT,CAAkBC,IAAlB,CAAuB,CAAvB,CAAd;AACA,aAAOnD,UAAU,CAACiD,KAAD,CAAV,CAAkBG,MAAzB;AACD,KApH0C;;AAsHnCN,IAAAA,WAtHmC,GAsHrB,YAAM;AAC1B,UAAMlC,MAAM,GAAG,MAAKP,KAAL,CAAWQ,SAAX,EAAf;AACA,aAAOb,UAAU,CAACY,MAAD,CAAV,CAAmByC,KAA1B;AACD,KAzH0C;;AA2HnCL,IAAAA,yBA3HmC,GA2HP,UAACrC,QAAD,EAAoE;AACtG,UAAMC,MAAM,GAAG,MAAKP,KAAL,CAAWQ,SAAX,EAAf;AACA,UAAMmB,OAAO,GAAG,MAAK1B,QAAL,GAAgB0B,OAAhB,IAA2B,CAA3C;AACA,UAAMC,OAAO,GAAG,MAAK3B,QAAL,GAAgB2B,OAAhB,IAA2B,CAA3C;AACA,UAAQE,GAAR,GAAqCxB,QAArC,CAAQwB,GAAR,CAAaD,MAAb,GAAqCvB,QAArC,CAAauB,MAAb,CAAqBP,IAArB,GAAqChB,QAArC,CAAqBgB,IAArB,CAA2BC,KAA3B,GAAqCjB,QAArC,CAA2BiB,KAA3B;AACA,UAAInC,YAAY,CAACmB,MAAD,EAASrB,YAAY,CAACuB,OAAtB,CAAhB,EAAgD;AAC9C,YAAMwC,YAAY,GAAGtD,UAAU,CAACY,MAAD,CAAV,CAAmBwC,MAAxC;AACA,eAAO;AACLjB,UAAAA,GAAG,EAAEA,GAAG,KAAK,IAAR,GAAemB,YAAY,GAAGrB,OAA9B,GAAwC,IADxC;AAELC,UAAAA,MAAM,EAAEA,MAAM,KAAK,IAAX,GAAkBoB,YAAY,GAAGrB,OAAjC,GAA2C,IAF9C;AAGLN,UAAAA,IAAI,EAAEA,IAAI,KAAK,IAAT,GAAgBK,OAAhB,GAA0B,IAH3B;AAILJ,UAAAA,KAAK,EAAEA,KAAK,KAAK,IAAV,GAAiBI,OAAjB,GAA2B,IAJ7B,EAAP;;AAMD;AACD,aAAO;AACLG,QAAAA,GAAG,EAAEF,OADA;AAELC,QAAAA,MAAM,EAAE,IAFH;AAGLP,QAAAA,IAAI,EAAEK,OAHD;AAILJ,QAAAA,KAAK,EAAE,IAJF,EAAP;;AAMD,KA/I0C,CAGzC,MAAKY,KAAL,GAAa,EAAE7B,QAAQ,EAAE,IAAZ,EAAkBkC,QAAQ,EAAE,CAA5B,EAA+BJ,qBAAqB,EAAEc,wBAAwB,EAA9E,EAAb,CAHyC,aAI1C,CAnBH,gDAqBSC,iBArBT,GAqBE,6BAA2B,CACzB,KAAK7C,QAAL,GACA,KAAK8C,SAAL,GAAiB/D,YAAY,CAACgE,WAAb,CAAyB,KAAK/C,QAA9B,CAAjB,CACD,CAxBH,QA0BSgD,oBA1BT,GA0BE,gCAA8B,CAC5B,IAAI,KAAKF,SAAT,EAAoB,CAClB,KAAKA,SAAL,CAAeG,MAAf,GACD,CACF,CA9BH,QAgCSC,MAhCT,GAgCE,kBAAgB,SACd,IAAIC,KAA0B,GAAG,EAC/BnD,QAAQ,EAAE,UADqB,EAE/BwB,GAAG,EAAE,GAF0B,EAAjC,CAIA,IAAI,KAAKK,KAAL,CAAW7B,QAAf,EAAyB,CACvB,2BAAqC,KAAK6B,KAAL,CAAW7B,QAAhD,CAAQwB,GAAR,wBAAQA,GAAR,CAAaD,MAAb,wBAAaA,MAAb,CAAqBP,IAArB,wBAAqBA,IAArB,CAA2BC,KAA3B,wBAA2BA,KAA3B,CACAkC,KAAK,gBACAA,KADA,IAEH3B,GAAG,EAAEA,GAAG,KAAK,IAAR,GAAeA,GAAf,GAAqB4B,SAFvB,EAGH7B,MAAM,EAAEA,MAAM,KAAK,IAAX,GAAkBA,MAAlB,GAA2B6B,SAHhC,EAIHpC,IAAI,EAAEA,IAAI,KAAK,IAAT,GAAgBA,IAAhB,GAAuBoC,SAJ1B,EAKHnC,KAAK,EAAEA,KAAK,KAAK,IAAV,GAAiBA,KAAjB,GAAyBmC,SAL7B,EAMHlB,QAAQ,EAAE,KAAKL,KAAL,CAAWK,QANlB,EAOHmB,QAAQ,EAAE,KAAK3D,KAAL,CAAW4D,aAAX,GAA2B,KAAKzB,KAAL,CAAWK,QAAtC,GAAiDkB,SAPxD,GAAL,CASD,CAED,IAAMG,OAAO,gBACX,oBAAC,MAAD,IACE,YAAU,KAAK7D,KAAL,CAAW,UAAX,CADZ,EAEE,EAAE,EAAE,KAAKA,KAAL,CAAW8D,EAFjB,EAGE,QAAQ,EAAE,mBAHZ,EAIE,UAAU,EAAE,KAAK3D,SAJnB,EAKE,KAAK,EAAEsD,KALT,EAME,SAAS,EAAEhE,EAAE,gBACVG,MAAM,CAACmE,UAAP,EADU,IACY,KAAK9D,QAAL,GAAgBuB,KAAhB,KAA0B,OAA1B,IAAqC,CAAC9B,MADlD,OANf,IAUG,KAAKM,KAAL,CAAW6C,QAVd,CADF,CAeA,OAAO,KAAK7C,KAAL,CAAW0C,aAAX,GAA2BmB,OAA3B,gBAAqC,oBAAC,eAAD,QAAkBA,OAAlB,CAA5C,CACD,CAlEH,4BAAuC5E,KAAK,CAAC+E,aAA7C,EAAajE,iB,CACGkE,mB,GAAsB,mB,CADzBlE,iB,CAGGG,Y,GAA6B,EACzCsB,KAAK,EAAE,MADkC,EAEzCkB,aAAa,EAAE,KAF0B,EAGzCf,OAAO,EAAE,CAHgC,EAIzCC,OAAO,EAAE,CAAC,CAJ+B,E;;;AA8J7C,IAAMsB,wBAAwB,GAAG,SAA3BA,wBAA2B,GAAM;AACrC,MAAI,CAAC/D,SAAS,CAACD,YAAD,CAAd,EAA8B;AAC5B,WAAO,KAAP;AACD;AACD,+BAAkCA,YAAY,CAACyB,QAA/C,CAAQC,IAAR,0BAAQA,IAAR,CAAcE,eAAd,0BAAcA,eAAd;AACA,MAAMoD,YAAY,GAAGhF,YAAY,CAACiF,gBAAb,CAA8BrD,eAA9B,EAA+CR,QAApE;AACA,MAAM8D,YAAY,GAAGlF,YAAY,CAACiF,gBAAb,CAA8BvD,IAA9B,EAAoCN,QAAzD;;AAEA,MAAM+D,oBAAoB,GAAGzD,IAAI,CAACyB,YAAL,GAAoBzB,IAAI,CAACoB,YAAtD;AACA,MAAMsC,aAAa,GAAGJ,YAAY,KAAK,QAAjB,IAA6BE,YAAY,KAAK,QAApE;AACA,SAAOC,oBAAoB,IAAIC,aAA/B;AACD,CAXD","sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { CommonProps } from '../CommonWrapper';\n\nimport { styles } from './DropdownContainer.styles';\nimport { getManualPosition, getTopAlignment } from './getManualPosition';\n\nexport interface DropdownContainerPosition {\n top: Nullable<number>;\n bottom: Nullable<number>;\n left: Nullable<number>;\n right: Nullable<number>;\n}\n\nexport interface DropdownContainerProps\n extends Pick<CommonProps, 'data-tid'>,\n Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n align?: 'left' | 'right';\n getParent: () => Nullable<Element>;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n hasFixedWidth?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\ntype DefaultProps = Required<Pick<DropdownContainerProps, 'align' | 'disablePortal' | 'offsetY' | 'offsetX'>>;\n\nexport class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: Nullable<HTMLDivElement>;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n constructor(props: DropdownContainerProps) {\n super(props);\n\n this.state = { position: null, minWidth: 0, isDocumentElementRoot: getIsDocumentElementRoot() };\n }\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n }\n\n public componentWillUnmount() {\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n }\n\n public render() {\n let style: React.CSSProperties = {\n position: 'absolute',\n top: '0',\n };\n if (this.state.position) {\n const { top, bottom, left, right } = this.state.position;\n style = {\n ...style,\n top: top !== null ? top : undefined,\n bottom: bottom !== null ? bottom : undefined,\n left: left !== null ? left : undefined,\n right: right !== null ? right : undefined,\n minWidth: this.state.minWidth,\n maxWidth: this.props.hasFixedWidth ? this.state.minWidth : undefined,\n };\n }\n\n const content = (\n <ZIndex\n data-tid={this.props['data-tid']}\n id={this.props.id}\n priority={'DropdownContainer'}\n wrapperRef={this.ZIndexRef}\n style={style}\n className={cx({\n [styles.alignRight()]: this.getProps().align === 'right' && !isIE11,\n })}\n >\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ZIndexRef = (element: Nullable<HTMLDivElement>) => {\n this.dom = element;\n };\n\n public position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (target && isInstanceOf(target, globalObject.Element) && dom && isBrowser(globalObject)) {\n const targetRect = getDOMRect(target);\n const { body, documentElement: docEl } = globalObject.document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = globalObject.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = globalObject.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.getProps().align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const offsetY = this.getProps().offsetY || 0;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n top = null;\n bottom = getTopAlignment({ clientHeight, offsetY, scrollY, target });\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n ...getManualPosition({ menuPos: this.props.menuPos, target, offsetY, clientHeight, scrollY }),\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.getProps().disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!isInstanceOf(this.dom, globalObject.Element)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n return getDOMRect(child).height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n return getDOMRect(target).width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const offsetX = this.getProps().offsetX || 0;\n const offsetY = this.getProps().offsetY || 0;\n const { top, bottom, left, right } = position;\n if (isInstanceOf(target, globalObject.Element)) {\n const targetHeight = getDOMRect(target).height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n\nconst getIsDocumentElementRoot = () => {\n if (!isBrowser(globalObject)) {\n return false;\n }\n const { body, documentElement } = globalObject.document;\n const htmlPosition = globalObject.getComputedStyle(documentElement).position;\n const bodyPosition = globalObject.getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n return hasLimitedHeightRoot || hasStaticRoot;\n};\n"]}
@@ -37,7 +37,6 @@ export declare class DropdownContainer extends React.PureComponent<DropdownConta
37
37
  componentWillUnmount(): void;
38
38
  render(): JSX.Element;
39
39
  private ZIndexRef;
40
- private isElement;
41
40
  position: () => void;
42
41
  private getHeight;
43
42
  private getMinWidth;
@@ -1,3 +1,4 @@
1
+ import { globalObject, isBrowser } from '@skbkontur/global-object';
1
2
  import { getDOMRect } from "../../../lib/dom/getDOMRect";
2
3
  export var getTopAlignment = function getTopAlignment(_ref) {
3
4
  var clientHeight = _ref.clientHeight,
@@ -12,7 +13,7 @@ export var getManualPosition = function getManualPosition(_ref2) {
12
13
  offsetY = _ref2.offsetY,
13
14
  clientHeight = _ref2.clientHeight;
14
15
 
15
- if (!menuPos) {
16
+ if (!menuPos || !isBrowser(globalObject)) {
16
17
  return undefined;
17
18
  }
18
19
 
@@ -22,7 +23,7 @@ export var getManualPosition = function getManualPosition(_ref2) {
22
23
  bottom: getTopAlignment({
23
24
  clientHeight: clientHeight,
24
25
  offsetY: offsetY,
25
- scrollY: scrollY,
26
+ scrollY: globalObject.scrollY,
26
27
  target: target
27
28
  })
28
29
  };
@@ -30,7 +31,7 @@ export var getManualPosition = function getManualPosition(_ref2) {
30
31
 
31
32
  if (menuPos === 'bottom') {
32
33
  return {
33
- top: scrollY + getDOMRect(target).top + target.clientHeight + offsetY
34
+ top: globalObject.scrollY + getDOMRect(target).top + target.clientHeight + offsetY
34
35
  };
35
36
  }
36
37
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["getManualPosition.ts"],"names":["getDOMRect","getTopAlignment","clientHeight","offsetY","scrollY","target","top","getManualPosition","menuPos","undefined","bottom"],"mappings":"AAAA,SAASA,UAAT,QAA2B,0BAA3B;;;;AAIA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB;;;;;;;;;AASzB,KARJC,YAQI,QARJA,YAQI,CAPJC,OAOI,QAPJA,OAOI,CANJC,OAMI,QANJA,OAMI,CALJC,MAKI,QALJA,MAKI;AACJ,SAAOH,YAAY,GAAGC,OAAf,GAAyBC,OAAzB,GAAmCJ,UAAU,CAACK,MAAD,CAAV,CAAmBC,GAA7D;AACD,CAXM;;;;;;;;;;AAqBP,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,QAAwE,KAArEC,OAAqE,SAArEA,OAAqE,CAA5DH,MAA4D,SAA5DA,MAA4D,CAApDF,OAAoD,SAApDA,OAAoD,CAA3CD,YAA2C,SAA3CA,YAA2C;AACvG,MAAI,CAACM,OAAL,EAAc;AACZ,WAAOC,SAAP;AACD;;AAED,MAAID,OAAO,KAAK,KAAhB,EAAuB;AACrB,WAAO;AACLF,MAAAA,GAAG,EAAE,IADA;AAELI,MAAAA,MAAM,EAAET,eAAe,CAAC,EAAEC,YAAY,EAAZA,YAAF,EAAgBC,OAAO,EAAPA,OAAhB,EAAyBC,OAAO,EAAPA,OAAzB,EAAkCC,MAAM,EAANA,MAAlC,EAAD,CAFlB,EAAP;;AAID;;AAED,MAAIG,OAAO,KAAK,QAAhB,EAA0B;AACxB,WAAO,EAAEF,GAAG,EAAEF,OAAO,GAAGJ,UAAU,CAACK,MAAD,CAAV,CAAmBC,GAA7B,GAAmCD,MAAM,CAACH,YAA1C,GAAyDC,OAAhE,EAAP;AACD;AACF,CAfM","sourcesContent":["import { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { DropdownContainerProps } from './DropdownContainer';\n\nexport const getTopAlignment = ({\n clientHeight,\n offsetY,\n scrollY,\n target,\n}: Required<Pick<DropdownContainerProps, 'offsetY'>> & {\n clientHeight: number;\n scrollY: number;\n target: Element;\n}) => {\n return clientHeight + offsetY - scrollY - getDOMRect(target).top;\n};\n\ninterface ManualPositionFuncArgs\n extends Required<Pick<DropdownContainerProps, 'offsetY'>>,\n Pick<DropdownContainerProps, 'menuPos'> {\n target: Element;\n clientHeight: number;\n scrollY: number;\n}\n\nexport const getManualPosition = ({ menuPos, target, offsetY, clientHeight }: ManualPositionFuncArgs) => {\n if (!menuPos) {\n return undefined;\n }\n\n if (menuPos === 'top') {\n return {\n top: null,\n bottom: getTopAlignment({ clientHeight, offsetY, scrollY, target }),\n };\n }\n\n if (menuPos === 'bottom') {\n return { top: scrollY + getDOMRect(target).top + target.clientHeight + offsetY };\n }\n};\n"]}
1
+ {"version":3,"sources":["getManualPosition.ts"],"names":["globalObject","isBrowser","getDOMRect","getTopAlignment","clientHeight","offsetY","scrollY","target","top","getManualPosition","menuPos","undefined","bottom"],"mappings":"AAAA,SAASA,YAAT,EAAuBC,SAAvB,QAAwC,0BAAxC;;AAEA,SAASC,UAAT,QAA2B,0BAA3B;;;;AAIA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB;;;;;;;;;AASzB,KARJC,YAQI,QARJA,YAQI,CAPJC,OAOI,QAPJA,OAOI,CANJC,OAMI,QANJA,OAMI,CALJC,MAKI,QALJA,MAKI;AACJ,SAAOH,YAAY,GAAGC,OAAf,GAAyBC,OAAzB,GAAmCJ,UAAU,CAACK,MAAD,CAAV,CAAmBC,GAA7D;AACD,CAXM;;;;;;;;;;AAqBP,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,QAAwE,KAArEC,OAAqE,SAArEA,OAAqE,CAA5DH,MAA4D,SAA5DA,MAA4D,CAApDF,OAAoD,SAApDA,OAAoD,CAA3CD,YAA2C,SAA3CA,YAA2C;AACvG,MAAI,CAACM,OAAD,IAAY,CAACT,SAAS,CAACD,YAAD,CAA1B,EAA0C;AACxC,WAAOW,SAAP;AACD;;AAED,MAAID,OAAO,KAAK,KAAhB,EAAuB;AACrB,WAAO;AACLF,MAAAA,GAAG,EAAE,IADA;AAELI,MAAAA,MAAM,EAAET,eAAe,CAAC,EAAEC,YAAY,EAAZA,YAAF,EAAgBC,OAAO,EAAPA,OAAhB,EAAyBC,OAAO,EAAEN,YAAY,CAACM,OAA/C,EAAwDC,MAAM,EAANA,MAAxD,EAAD,CAFlB,EAAP;;AAID;;AAED,MAAIG,OAAO,KAAK,QAAhB,EAA0B;AACxB,WAAO,EAAEF,GAAG,EAAER,YAAY,CAACM,OAAb,GAAuBJ,UAAU,CAACK,MAAD,CAAV,CAAmBC,GAA1C,GAAgDD,MAAM,CAACH,YAAvD,GAAsEC,OAA7E,EAAP;AACD;AACF,CAfM","sourcesContent":["import { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { DropdownContainerProps } from './DropdownContainer';\n\nexport const getTopAlignment = ({\n clientHeight,\n offsetY,\n scrollY,\n target,\n}: Required<Pick<DropdownContainerProps, 'offsetY'>> & {\n clientHeight: number;\n scrollY: number;\n target: Element;\n}) => {\n return clientHeight + offsetY - scrollY - getDOMRect(target).top;\n};\n\ninterface ManualPositionFuncArgs\n extends Required<Pick<DropdownContainerProps, 'offsetY'>>,\n Pick<DropdownContainerProps, 'menuPos'> {\n target: Element;\n clientHeight: number;\n scrollY: number;\n}\n\nexport const getManualPosition = ({ menuPos, target, offsetY, clientHeight }: ManualPositionFuncArgs) => {\n if (!menuPos || !isBrowser(globalObject)) {\n return undefined;\n }\n\n if (menuPos === 'top') {\n return {\n top: null,\n bottom: getTopAlignment({ clientHeight, offsetY, scrollY: globalObject.scrollY, target }),\n };\n }\n\n if (menuPos === 'bottom') {\n return { top: globalObject.scrollY + getDOMRect(target).top + target.clientHeight + offsetY };\n }\n};\n"]}
@@ -1,4 +1,5 @@
1
1
  import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
2
+ import { globalObject } from '@skbkontur/global-object';
2
3
  import { forwardRefAndName } from "../../../../lib/forwardRefAndName";
3
4
  import { formatBytes } from "../../../../lib/utils";
4
5
  import { TextWidthHelper } from "../../../TextWidthHelper/TextWidthHelper";
@@ -130,7 +131,7 @@ export var FileUploaderFile = forwardRefAndName('FileUploaderFile', function (pr
130
131
  var handleFocus = useCallback(function () {
131
132
  // focus event fires before keyDown eventlistener
132
133
  // so we should check tabPressed in async way
133
- requestAnimationFrame(function () {
134
+ globalObject.requestAnimationFrame == null ? void 0 : globalObject.requestAnimationFrame(function () {
134
135
  if (keyListener.isTabPressed) {
135
136
  setFocusedByTab(true);
136
137
  }