@skbkontur/react-ui 4.21.2 → 4.21.4

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 (598) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +1 -0
  3. package/cjs/components/Autocomplete/Autocomplete.js +2 -1
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +1 -0
  6. package/cjs/components/Button/Button.js +2 -1
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Calendar/Calendar.d.ts +1 -0
  9. package/cjs/components/Calendar/Calendar.js +2 -1
  10. package/cjs/components/Calendar/Calendar.js.map +1 -1
  11. package/cjs/components/Calendar/DayCellView.js +8 -5
  12. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  13. package/cjs/components/Center/Center.d.ts +1 -0
  14. package/cjs/components/Center/Center.js +2 -1
  15. package/cjs/components/Center/Center.js.map +1 -1
  16. package/cjs/components/Checkbox/Checkbox.d.ts +1 -0
  17. package/cjs/components/Checkbox/Checkbox.js +2 -1
  18. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  19. package/cjs/components/ComboBox/ComboBox.d.ts +1 -0
  20. package/cjs/components/ComboBox/ComboBox.js +2 -1
  21. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  22. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -0
  23. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -1
  24. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  25. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +1 -0
  26. package/cjs/components/CurrencyLabel/CurrencyLabel.js +1 -0
  27. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  28. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  29. package/cjs/components/DateInput/DateInput.js +2 -1
  30. package/cjs/components/DateInput/DateInput.js.map +1 -1
  31. package/cjs/components/DatePicker/DatePicker.d.ts +1 -0
  32. package/cjs/components/DatePicker/DatePicker.js +2 -1
  33. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  34. package/cjs/components/DatePicker/Picker.d.ts +1 -0
  35. package/cjs/components/DatePicker/Picker.js +2 -1
  36. package/cjs/components/DatePicker/Picker.js.map +1 -1
  37. package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
  38. package/cjs/components/Dropdown/Dropdown.js +2 -1
  39. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  40. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -0
  41. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -1
  42. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  43. package/cjs/components/FileUploader/FileUploader.js +2 -1
  44. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  45. package/cjs/components/FxInput/FxInput.d.ts +1 -0
  46. package/cjs/components/FxInput/FxInput.js +2 -1
  47. package/cjs/components/FxInput/FxInput.js.map +1 -1
  48. package/cjs/components/Gapped/Gapped.d.ts +1 -0
  49. package/cjs/components/Gapped/Gapped.js +2 -1
  50. package/cjs/components/Gapped/Gapped.js.map +1 -1
  51. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  52. package/cjs/components/GlobalLoader/GlobalLoader.js +4 -1
  53. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  54. package/cjs/components/Group/Group.d.ts +1 -0
  55. package/cjs/components/Group/Group.js +3 -1
  56. package/cjs/components/Group/Group.js.map +1 -1
  57. package/cjs/components/Hint/Hint.d.ts +1 -0
  58. package/cjs/components/Hint/Hint.js +2 -1
  59. package/cjs/components/Hint/Hint.js.map +1 -1
  60. package/cjs/components/Input/Input.d.ts +1 -0
  61. package/cjs/components/Input/Input.js +2 -1
  62. package/cjs/components/Input/Input.js.map +1 -1
  63. package/cjs/components/Kebab/Kebab.d.ts +1 -0
  64. package/cjs/components/Kebab/Kebab.js +2 -1
  65. package/cjs/components/Kebab/Kebab.js.map +1 -1
  66. package/cjs/components/Link/Link.d.ts +1 -0
  67. package/cjs/components/Link/Link.js +2 -1
  68. package/cjs/components/Link/Link.js.map +1 -1
  69. package/cjs/components/Loader/Loader.d.ts +1 -0
  70. package/cjs/components/Loader/Loader.js +2 -1
  71. package/cjs/components/Loader/Loader.js.map +1 -1
  72. package/cjs/components/MenuFooter/MenuFooter.d.ts +1 -0
  73. package/cjs/components/MenuFooter/MenuFooter.js +1 -0
  74. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  75. package/cjs/components/MenuHeader/MenuHeader.d.ts +1 -0
  76. package/cjs/components/MenuHeader/MenuHeader.js +1 -0
  77. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  78. package/cjs/components/MenuItem/MenuItem.d.ts +4 -0
  79. package/cjs/components/MenuItem/MenuItem.js +29 -10
  80. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  81. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +1 -0
  82. package/cjs/components/MenuSeparator/MenuSeparator.js +2 -1
  83. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  84. package/cjs/components/MiniModal/MiniModal.js +0 -2
  85. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  86. package/cjs/components/Modal/Modal.d.ts +1 -0
  87. package/cjs/components/Modal/Modal.js +2 -1
  88. package/cjs/components/Modal/Modal.js.map +1 -1
  89. package/cjs/components/Modal/ModalBody.d.ts +1 -0
  90. package/cjs/components/Modal/ModalBody.js +2 -1
  91. package/cjs/components/Modal/ModalBody.js.map +1 -1
  92. package/cjs/components/Modal/ModalClose.d.ts +4 -0
  93. package/cjs/components/Modal/ModalClose.js +4 -1
  94. package/cjs/components/Modal/ModalClose.js.map +1 -1
  95. package/cjs/components/Modal/ModalFooter.d.ts +1 -0
  96. package/cjs/components/Modal/ModalFooter.js +1 -0
  97. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  98. package/cjs/components/Modal/ModalHeader.d.ts +1 -0
  99. package/cjs/components/Modal/ModalHeader.js +1 -0
  100. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  101. package/cjs/components/Modal/ModalSeparator.d.ts +4 -0
  102. package/cjs/components/Modal/ModalSeparator.js +4 -1
  103. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  104. package/cjs/components/Paging/Paging.d.ts +1 -0
  105. package/cjs/components/Paging/Paging.js +10 -6
  106. package/cjs/components/Paging/Paging.js.map +1 -1
  107. package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -0
  108. package/cjs/components/PasswordInput/PasswordInput.js +2 -1
  109. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  110. package/cjs/components/Radio/Radio.d.ts +1 -0
  111. package/cjs/components/Radio/Radio.js +2 -1
  112. package/cjs/components/Radio/Radio.js.map +1 -1
  113. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
  114. package/cjs/components/RadioGroup/RadioGroup.js +2 -1
  115. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  116. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -0
  117. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +4 -1
  118. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  119. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  120. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -1
  121. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  122. package/cjs/components/Select/Item.d.ts +1 -0
  123. package/cjs/components/Select/Item.js +2 -1
  124. package/cjs/components/Select/Item.js.map +1 -1
  125. package/cjs/components/Select/Select.d.ts +2 -0
  126. package/cjs/components/Select/Select.js +5 -2
  127. package/cjs/components/Select/Select.js.map +1 -1
  128. package/cjs/components/SidePage/SidePage.d.ts +1 -0
  129. package/cjs/components/SidePage/SidePage.js +2 -1
  130. package/cjs/components/SidePage/SidePage.js.map +1 -1
  131. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  132. package/cjs/components/SidePage/SidePageBody.js +2 -1
  133. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  134. package/cjs/components/SidePage/SidePageCloseButton.d.ts +5 -1
  135. package/cjs/components/SidePage/SidePageCloseButton.js +4 -1
  136. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  137. package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
  138. package/cjs/components/SidePage/SidePageContainer.js +2 -1
  139. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  140. package/cjs/components/SidePage/SidePageFooter.d.ts +1 -0
  141. package/cjs/components/SidePage/SidePageFooter.js +2 -1
  142. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  143. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  144. package/cjs/components/SidePage/SidePageHeader.js +2 -1
  145. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  146. package/cjs/components/SingleToast/SingleToast.d.ts +2 -0
  147. package/cjs/components/SingleToast/SingleToast.js +4 -1
  148. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  149. package/cjs/components/Spinner/Spinner.d.ts +1 -0
  150. package/cjs/components/Spinner/Spinner.js +2 -1
  151. package/cjs/components/Spinner/Spinner.js.map +1 -1
  152. package/cjs/components/Sticky/Sticky.d.ts +1 -0
  153. package/cjs/components/Sticky/Sticky.js +2 -1
  154. package/cjs/components/Sticky/Sticky.js.map +1 -1
  155. package/cjs/components/Switcher/Switcher.d.ts +1 -0
  156. package/cjs/components/Switcher/Switcher.js +2 -1
  157. package/cjs/components/Switcher/Switcher.js.map +1 -1
  158. package/cjs/components/Tabs/Tab.d.ts +1 -0
  159. package/cjs/components/Tabs/Tab.js +7 -1
  160. package/cjs/components/Tabs/Tab.js.map +1 -1
  161. package/cjs/components/Tabs/Tabs.d.ts +1 -0
  162. package/cjs/components/Tabs/Tabs.js +2 -1
  163. package/cjs/components/Tabs/Tabs.js.map +1 -1
  164. package/cjs/components/Textarea/Textarea.d.ts +1 -0
  165. package/cjs/components/Textarea/Textarea.js +2 -1
  166. package/cjs/components/Textarea/Textarea.js.map +1 -1
  167. package/cjs/components/Toast/Toast.d.ts +1 -0
  168. package/cjs/components/Toast/Toast.js +3 -1
  169. package/cjs/components/Toast/Toast.js.map +1 -1
  170. package/cjs/components/Toggle/Toggle.d.ts +1 -0
  171. package/cjs/components/Toggle/Toggle.js +2 -1
  172. package/cjs/components/Toggle/Toggle.js.map +1 -1
  173. package/cjs/components/Token/Token.d.ts +1 -0
  174. package/cjs/components/Token/Token.js +9 -1
  175. package/cjs/components/Token/Token.js.map +1 -1
  176. package/cjs/components/TokenInput/TokenInput.d.ts +1 -0
  177. package/cjs/components/TokenInput/TokenInput.js +2 -1
  178. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  179. package/cjs/components/TokenInput/TokenInputMenu.d.ts +1 -0
  180. package/cjs/components/TokenInput/TokenInputMenu.js +2 -1
  181. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  182. package/cjs/components/Tooltip/Tooltip.d.ts +1 -0
  183. package/cjs/components/Tooltip/Tooltip.js +2 -1
  184. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  185. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -0
  186. package/cjs/components/TooltipMenu/TooltipMenu.js +3 -1
  187. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  188. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +4 -1
  189. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  190. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +5 -26
  191. package/cjs/internal/CommonWrapper/CommonWrapper.js +7 -56
  192. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  193. package/cjs/internal/CommonWrapper/extractCommonProps.d.ts +3 -0
  194. package/cjs/internal/CommonWrapper/extractCommonProps.js +34 -0
  195. package/cjs/internal/CommonWrapper/extractCommonProps.js.map +1 -0
  196. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.d.ts +2 -0
  197. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js +12 -0
  198. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js.map +1 -0
  199. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.d.ts +3 -0
  200. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js +23 -0
  201. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js.map +1 -0
  202. package/cjs/internal/CommonWrapper/index.d.ts +2 -0
  203. package/cjs/internal/CommonWrapper/index.js.map +1 -1
  204. package/cjs/internal/CommonWrapper/types.d.ts +25 -0
  205. package/cjs/internal/CommonWrapper/types.js +1 -0
  206. package/cjs/internal/CommonWrapper/types.js.map +1 -0
  207. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  208. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +2 -1
  209. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  210. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
  211. package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -1
  212. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  213. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  214. package/cjs/internal/CustomComboBox/CustomComboBox.js +2 -1
  215. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  216. package/cjs/internal/DateSelect/DateSelect.d.ts +1 -0
  217. package/cjs/internal/DateSelect/DateSelect.js +2 -1
  218. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  219. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +1 -0
  220. package/cjs/internal/DropdownContainer/DropdownContainer.js +2 -1
  221. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  222. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
  223. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +1 -0
  224. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  225. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  226. package/cjs/internal/FocusTrap/FocusTrap.js +3 -1
  227. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  228. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
  229. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  230. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  231. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +2 -1
  232. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  233. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  234. package/cjs/internal/InputLikeText/InputLikeText.js +2 -1
  235. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  236. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.d.ts +1 -0
  237. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +2 -1
  238. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  239. package/cjs/internal/InternalMenu/InternalMenu.d.ts +1 -0
  240. package/cjs/internal/InternalMenu/InternalMenu.js +2 -1
  241. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  242. package/cjs/internal/Menu/Menu.d.ts +1 -0
  243. package/cjs/internal/Menu/Menu.js +2 -1
  244. package/cjs/internal/Menu/Menu.js.map +1 -1
  245. package/cjs/internal/MobilePopup/MobilePopup.d.ts +1 -0
  246. package/cjs/internal/MobilePopup/MobilePopup.js +2 -1
  247. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  248. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
  249. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +2 -1
  250. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  251. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
  252. package/cjs/internal/NativeDateInput/NativeDateInput.js +3 -1
  253. package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  254. package/cjs/internal/Popup/Popup.d.ts +1 -0
  255. package/cjs/internal/Popup/Popup.js +2 -1
  256. package/cjs/internal/Popup/Popup.js.map +1 -1
  257. package/cjs/internal/Popup/PopupPin.d.ts +1 -0
  258. package/cjs/internal/Popup/PopupPin.js +2 -1
  259. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  260. package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -0
  261. package/cjs/internal/PopupMenu/PopupMenu.js +2 -1
  262. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  263. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -0
  264. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  265. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  266. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +3 -0
  267. package/cjs/internal/RenderContainer/RenderInnerContainer.js +7 -2
  268. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  269. package/cjs/internal/RenderLayer/RenderLayer.d.ts +1 -0
  270. package/cjs/internal/RenderLayer/RenderLayer.js +2 -1
  271. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  272. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  273. package/cjs/internal/ResizeDetector/ResizeDetector.js +2 -1
  274. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  275. package/cjs/internal/ZIndex/ZIndex.d.ts +1 -0
  276. package/cjs/internal/ZIndex/ZIndex.js +2 -1
  277. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  278. package/cjs/internal/icons/20px/Icon.d.ts +1 -0
  279. package/cjs/internal/icons/20px/Icon.js +2 -1
  280. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  281. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
  282. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  283. package/cjs/lib/locale/LocaleContext.js +2 -1
  284. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  285. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -0
  286. package/cjs/lib/rootNode/rootNodeDecorator.js +4 -1
  287. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  288. package/cjs/lib/theming/ThemeContext.js +2 -1
  289. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  290. package/cjs/lib/toKebabCase.d.ts +1 -0
  291. package/cjs/lib/toKebabCase.js +10 -0
  292. package/cjs/lib/toKebabCase.js.map +1 -0
  293. package/cjs/lib/utils.d.ts +0 -7
  294. package/cjs/lib/utils.js +2 -25
  295. package/cjs/lib/utils.js.map +1 -1
  296. package/cjs/typings/global-react.d.ts +12 -0
  297. package/components/Autocomplete/Autocomplete/Autocomplete.js +1 -1
  298. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  299. package/components/Autocomplete/Autocomplete.d.ts +1 -0
  300. package/components/Button/Button/Button.js +1 -1
  301. package/components/Button/Button/Button.js.map +1 -1
  302. package/components/Button/Button.d.ts +1 -0
  303. package/components/Calendar/Calendar/Calendar.js +1 -1
  304. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  305. package/components/Calendar/Calendar.d.ts +1 -0
  306. package/components/Calendar/DayCellView/DayCellView.js +9 -3
  307. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  308. package/components/Center/Center/Center.js +1 -1
  309. package/components/Center/Center/Center.js.map +1 -1
  310. package/components/Center/Center.d.ts +1 -0
  311. package/components/Checkbox/Checkbox/Checkbox.js +1 -1
  312. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  313. package/components/Checkbox/Checkbox.d.ts +1 -0
  314. package/components/ComboBox/ComboBox/ComboBox.js +1 -1
  315. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  316. package/components/ComboBox/ComboBox.d.ts +1 -0
  317. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +1 -1
  318. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  319. package/components/CurrencyInput/CurrencyInput.d.ts +1 -0
  320. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -0
  321. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  322. package/components/CurrencyLabel/CurrencyLabel.d.ts +1 -0
  323. package/components/DateInput/DateInput/DateInput.js +1 -1
  324. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  325. package/components/DateInput/DateInput.d.ts +1 -0
  326. package/components/DatePicker/DatePicker/DatePicker.js +1 -1
  327. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  328. package/components/DatePicker/DatePicker.d.ts +1 -0
  329. package/components/DatePicker/Picker/Picker.js +1 -1
  330. package/components/DatePicker/Picker/Picker.js.map +1 -1
  331. package/components/DatePicker/Picker.d.ts +1 -0
  332. package/components/Dropdown/Dropdown/Dropdown.js +1 -1
  333. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  334. package/components/Dropdown/Dropdown.d.ts +1 -0
  335. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
  336. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  337. package/components/DropdownMenu/DropdownMenu.d.ts +1 -0
  338. package/components/FileUploader/FileUploader/FileUploader.js +2 -1
  339. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  340. package/components/FxInput/FxInput/FxInput.js +1 -1
  341. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  342. package/components/FxInput/FxInput.d.ts +1 -0
  343. package/components/Gapped/Gapped/Gapped.js +1 -1
  344. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  345. package/components/Gapped/Gapped.d.ts +1 -0
  346. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +1 -1
  347. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  348. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  349. package/components/Group/Group/Group.js +1 -1
  350. package/components/Group/Group/Group.js.map +1 -1
  351. package/components/Group/Group.d.ts +1 -0
  352. package/components/Hint/Hint/Hint.js +1 -1
  353. package/components/Hint/Hint/Hint.js.map +1 -1
  354. package/components/Hint/Hint.d.ts +1 -0
  355. package/components/Input/Input/Input.js +1 -1
  356. package/components/Input/Input/Input.js.map +1 -1
  357. package/components/Input/Input.d.ts +1 -0
  358. package/components/Kebab/Kebab/Kebab.js +1 -1
  359. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  360. package/components/Kebab/Kebab.d.ts +1 -0
  361. package/components/Link/Link/Link.js +1 -1
  362. package/components/Link/Link/Link.js.map +1 -1
  363. package/components/Link/Link.d.ts +1 -0
  364. package/components/Loader/Loader/Loader.js +1 -1
  365. package/components/Loader/Loader/Loader.js.map +1 -1
  366. package/components/Loader/Loader.d.ts +1 -0
  367. package/components/MenuFooter/MenuFooter/MenuFooter.js +1 -0
  368. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  369. package/components/MenuFooter/MenuFooter.d.ts +1 -0
  370. package/components/MenuHeader/MenuHeader/MenuHeader.js +1 -0
  371. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  372. package/components/MenuHeader/MenuHeader.d.ts +1 -0
  373. package/components/MenuItem/MenuItem/MenuItem.js +29 -6
  374. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  375. package/components/MenuItem/MenuItem.d.ts +4 -0
  376. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +1 -0
  377. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  378. package/components/MenuSeparator/MenuSeparator.d.ts +1 -0
  379. package/components/MiniModal/MiniModal/MiniModal.js +0 -1
  380. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
  381. package/components/Modal/Modal/Modal.js +1 -0
  382. package/components/Modal/Modal/Modal.js.map +1 -1
  383. package/components/Modal/Modal.d.ts +1 -0
  384. package/components/Modal/ModalBody/ModalBody.js +1 -1
  385. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  386. package/components/Modal/ModalBody.d.ts +1 -0
  387. package/components/Modal/ModalClose/ModalClose.js +3 -1
  388. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  389. package/components/Modal/ModalClose.d.ts +4 -0
  390. package/components/Modal/ModalFooter/ModalFooter.js +1 -0
  391. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  392. package/components/Modal/ModalFooter.d.ts +1 -0
  393. package/components/Modal/ModalHeader/ModalHeader.js +1 -0
  394. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  395. package/components/Modal/ModalHeader.d.ts +1 -0
  396. package/components/Modal/ModalSeparator/ModalSeparator.js +3 -1
  397. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  398. package/components/Modal/ModalSeparator.d.ts +4 -0
  399. package/components/Paging/Paging/Paging.js +11 -5
  400. package/components/Paging/Paging/Paging.js.map +1 -1
  401. package/components/Paging/Paging.d.ts +1 -0
  402. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -1
  403. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  404. package/components/PasswordInput/PasswordInput.d.ts +1 -0
  405. package/components/Radio/Radio/Radio.js +1 -1
  406. package/components/Radio/Radio/Radio.js.map +1 -1
  407. package/components/Radio/Radio.d.ts +1 -0
  408. package/components/RadioGroup/RadioGroup/RadioGroup.js +1 -1
  409. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  410. package/components/RadioGroup/RadioGroup.d.ts +1 -0
  411. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +3 -1
  412. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  413. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -0
  414. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -1
  415. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  416. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  417. package/components/Select/Item/Item.js +2 -1
  418. package/components/Select/Item/Item.js.map +1 -1
  419. package/components/Select/Item.d.ts +1 -0
  420. package/components/Select/Select/Select.js +4 -2
  421. package/components/Select/Select/Select.js.map +1 -1
  422. package/components/Select/Select.d.ts +2 -0
  423. package/components/SidePage/SidePage/SidePage.js +1 -0
  424. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  425. package/components/SidePage/SidePage.d.ts +1 -0
  426. package/components/SidePage/SidePageBody/SidePageBody.js +1 -1
  427. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  428. package/components/SidePage/SidePageBody.d.ts +1 -0
  429. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +3 -1
  430. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  431. package/components/SidePage/SidePageCloseButton.d.ts +5 -1
  432. package/components/SidePage/SidePageContainer/SidePageContainer.js +1 -1
  433. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  434. package/components/SidePage/SidePageContainer.d.ts +1 -0
  435. package/components/SidePage/SidePageFooter/SidePageFooter.js +1 -1
  436. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  437. package/components/SidePage/SidePageFooter.d.ts +1 -0
  438. package/components/SidePage/SidePageHeader/SidePageHeader.js +1 -1
  439. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  440. package/components/SidePage/SidePageHeader.d.ts +1 -0
  441. package/components/SingleToast/SingleToast/SingleToast.js +2 -0
  442. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  443. package/components/SingleToast/SingleToast.d.ts +2 -0
  444. package/components/Spinner/Spinner/Spinner.js +1 -1
  445. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  446. package/components/Spinner/Spinner.d.ts +1 -0
  447. package/components/Sticky/Sticky/Sticky.js +1 -1
  448. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  449. package/components/Sticky/Sticky.d.ts +1 -0
  450. package/components/Switcher/Switcher/Switcher.js +1 -1
  451. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  452. package/components/Switcher/Switcher.d.ts +1 -0
  453. package/components/Tabs/Tab/Tab.js +6 -2
  454. package/components/Tabs/Tab/Tab.js.map +1 -1
  455. package/components/Tabs/Tab.d.ts +1 -0
  456. package/components/Tabs/Tabs/Tabs.js +1 -1
  457. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  458. package/components/Tabs/Tabs.d.ts +1 -0
  459. package/components/Textarea/Textarea/Textarea.js +1 -1
  460. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  461. package/components/Textarea/Textarea.d.ts +1 -0
  462. package/components/Toast/Toast/Toast.js +1 -1
  463. package/components/Toast/Toast/Toast.js.map +1 -1
  464. package/components/Toast/Toast.d.ts +1 -0
  465. package/components/Toggle/Toggle/Toggle.js +1 -1
  466. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  467. package/components/Toggle/Toggle.d.ts +1 -0
  468. package/components/Token/Token/Token.js +5 -4
  469. package/components/Token/Token/Token.js.map +1 -1
  470. package/components/Token/Token.d.ts +1 -0
  471. package/components/TokenInput/TokenInput/TokenInput.js +1 -1
  472. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  473. package/components/TokenInput/TokenInput.d.ts +1 -0
  474. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -1
  475. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  476. package/components/TokenInput/TokenInputMenu.d.ts +1 -0
  477. package/components/Tooltip/Tooltip/Tooltip.js +1 -1
  478. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  479. package/components/Tooltip/Tooltip.d.ts +1 -0
  480. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
  481. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  482. package/components/TooltipMenu/TooltipMenu.d.ts +1 -0
  483. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +3 -1
  484. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  485. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +8 -38
  486. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  487. package/internal/CommonWrapper/CommonWrapper.d.ts +5 -26
  488. package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js +31 -0
  489. package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js.map +1 -0
  490. package/internal/CommonWrapper/extractCommonProps/package.json +6 -0
  491. package/internal/CommonWrapper/extractCommonProps.d.ts +3 -0
  492. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js +12 -0
  493. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +1 -0
  494. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/package.json +6 -0
  495. package/internal/CommonWrapper/getCommonVisualStateDataAttributes.d.ts +2 -0
  496. package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js +16 -0
  497. package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +1 -0
  498. package/internal/CommonWrapper/getVisualStateDataAttributes/package.json +6 -0
  499. package/internal/CommonWrapper/getVisualStateDataAttributes.d.ts +3 -0
  500. package/internal/CommonWrapper/index/index.js +2 -1
  501. package/internal/CommonWrapper/index/index.js.map +1 -1
  502. package/internal/CommonWrapper/index.d.ts +2 -0
  503. package/internal/CommonWrapper/types/package.json +6 -0
  504. package/internal/CommonWrapper/types/types.js +1 -0
  505. package/internal/CommonWrapper/types/types.js.map +1 -0
  506. package/internal/CommonWrapper/types.d.ts +25 -0
  507. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +1 -1
  508. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  509. package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  510. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +1 -1
  511. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  512. package/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
  513. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +1 -1
  514. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  515. package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  516. package/internal/DateSelect/DateSelect/DateSelect.js +1 -1
  517. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  518. package/internal/DateSelect/DateSelect.d.ts +1 -0
  519. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +1 -0
  520. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  521. package/internal/DropdownContainer/DropdownContainer.d.ts +1 -0
  522. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +1 -0
  523. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  524. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
  525. package/internal/FocusTrap/FocusTrap/FocusTrap.js +1 -1
  526. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  527. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  528. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +1 -0
  529. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  530. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
  531. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +1 -1
  532. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  533. package/internal/InputLikeText/InputLikeText/InputLikeText.js +1 -1
  534. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  535. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  536. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +2 -1
  537. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  538. package/internal/InternalMaskedInput/InternalMaskedInput.d.ts +1 -0
  539. package/internal/InternalMenu/InternalMenu/InternalMenu.js +1 -1
  540. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  541. package/internal/InternalMenu/InternalMenu.d.ts +1 -0
  542. package/internal/Menu/Menu/Menu.js +1 -1
  543. package/internal/Menu/Menu/Menu.js.map +1 -1
  544. package/internal/Menu/Menu.d.ts +1 -0
  545. package/internal/MobilePopup/MobilePopup/MobilePopup.js +2 -1
  546. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  547. package/internal/MobilePopup/MobilePopup.d.ts +1 -0
  548. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -1
  549. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  550. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
  551. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js +2 -1
  552. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js.map +1 -1
  553. package/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
  554. package/internal/Popup/Popup/Popup.js +1 -1
  555. package/internal/Popup/Popup/Popup.js.map +1 -1
  556. package/internal/Popup/Popup.d.ts +1 -0
  557. package/internal/Popup/PopupPin/PopupPin.js +1 -0
  558. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  559. package/internal/Popup/PopupPin.d.ts +1 -0
  560. package/internal/PopupMenu/PopupMenu/PopupMenu.js +1 -1
  561. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  562. package/internal/PopupMenu/PopupMenu.d.ts +1 -0
  563. package/internal/RenderContainer/RenderContainer/RenderContainer.js +1 -0
  564. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  565. package/internal/RenderContainer/RenderContainer.d.ts +1 -0
  566. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +4 -1
  567. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  568. package/internal/RenderContainer/RenderInnerContainer.d.ts +3 -0
  569. package/internal/RenderLayer/RenderLayer/RenderLayer.js +1 -1
  570. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  571. package/internal/RenderLayer/RenderLayer.d.ts +1 -0
  572. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +2 -1
  573. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  574. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  575. package/internal/ZIndex/ZIndex/ZIndex.js +1 -1
  576. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  577. package/internal/ZIndex/ZIndex.d.ts +1 -0
  578. package/internal/icons/20px/Icon/Icon.js +1 -0
  579. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  580. package/internal/icons/20px/Icon.d.ts +1 -0
  581. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
  582. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  583. package/lib/locale/LocaleContext/LocaleContext.js +2 -1
  584. package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
  585. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +1 -1
  586. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  587. package/lib/rootNode/rootNodeDecorator.d.ts +2 -0
  588. package/lib/theming/ThemeContext/ThemeContext.js +2 -1
  589. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  590. package/lib/toKebabCase/package.json +6 -0
  591. package/lib/toKebabCase/toKebabCase.js +7 -0
  592. package/lib/toKebabCase/toKebabCase.js.map +1 -0
  593. package/lib/toKebabCase.d.ts +1 -0
  594. package/lib/utils/utils.js +1 -27
  595. package/lib/utils/utils.js.map +1 -1
  596. package/lib/utils.d.ts +0 -7
  597. package/package.json +9 -9
  598. package/typings/global-react.d.ts +12 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["DateSelect.tsx"],"names":["itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","menu","DateSelect","DatePickerLocaleHelper","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","globalObject","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","isMobile","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","LayoutEvents","addListener","componentWillUnmount","remove","render","theme","renderMain","renderMain2022","width","isInteractiveElement","Tag","rootProps","className","styles","Boolean","style","ref","onClick","undefined","locale","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","arrow","arrowDisabled","renderMenu","root2022","globalClasses","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","React","PureComponent","__KONTUR_REACT_UI__","propTypes","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
+ {"version":3,"sources":["DateSelect.tsx"],"names":["itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","menu","DateSelect","DatePickerLocaleHelper","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","globalObject","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","isMobile","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","LayoutEvents","addListener","componentWillUnmount","remove","render","theme","renderMain","renderMain2022","width","isInteractiveElement","Tag","rootProps","className","styles","Boolean","style","ref","onClick","undefined","locale","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","arrow","arrowDisabled","renderMenu","root2022","globalClasses","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","React","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","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 public static displayName = '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"]}
@@ -28,6 +28,7 @@ export interface DropdownContainerState {
28
28
  declare type DefaultProps = Required<Pick<DropdownContainerProps, 'align' | 'disablePortal' | 'offsetY' | 'offsetX'>>;
29
29
  export declare class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {
30
30
  static __KONTUR_REACT_UI__: string;
31
+ static displayName: string;
31
32
  static defaultProps: DefaultProps;
32
33
  private getProps;
33
34
  private dom;
@@ -61,6 +61,7 @@ DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsL
61
61
 
62
62
 
63
63
 
64
+
64
65
  function DropdownContainer(props) {var _this;
65
66
  _this = _React$PureComponent.call(this, props) || this;_this.getProps = (0, _createPropsGetter.createPropsGetter)(DropdownContainer.defaultProps);_this.
66
67
 
@@ -204,7 +205,7 @@ DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsL
204
205
  left: offsetX,
205
206
  right: null };
206
207
 
207
- };_this.state = { position: null, minWidth: 0, isDocumentElementRoot: getIsDocumentElementRoot() };return _this;}var _proto = DropdownContainer.prototype;_proto.componentDidMount = function componentDidMount() {this.position();this.layoutSub = LayoutEvents.addListener(this.position);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.layoutSub) {this.layoutSub.remove();}};_proto.render = function render() {var _cx;var style = { position: 'absolute', top: '0' };if (this.state.position) {var _this$state$position = this.state.position,top = _this$state$position.top,bottom = _this$state$position.bottom,left = _this$state$position.left,right = _this$state$position.right;style = (0, _extends2.default)({}, style, { top: top !== null ? top : undefined, bottom: bottom !== null ? bottom : undefined, left: left !== null ? left : undefined, right: right !== null ? right : undefined, minWidth: this.state.minWidth, maxWidth: this.props.hasFixedWidth ? this.state.minWidth : undefined });}var content = /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { "data-tid": this.props['data-tid'], id: this.props.id, priority: 'DropdownContainer', wrapperRef: this.ZIndexRef, style: style, className: (0, _Emotion.cx)((_cx = {}, _cx[_DropdownContainer.styles.alignRight()] = this.getProps().align === 'right' && !_client.isIE11, _cx)) }, this.props.children);return this.props.disablePortal ? content : /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, null, content);};return DropdownContainer;}(_react.default.PureComponent);exports.DropdownContainer = DropdownContainer;DropdownContainer.__KONTUR_REACT_UI__ = 'DropdownContainer';DropdownContainer.defaultProps = { align: 'left', disablePortal: false, offsetX: 0, offsetY: -1 };
208
+ };_this.state = { position: null, minWidth: 0, isDocumentElementRoot: getIsDocumentElementRoot() };return _this;}var _proto = DropdownContainer.prototype;_proto.componentDidMount = function componentDidMount() {this.position();this.layoutSub = LayoutEvents.addListener(this.position);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.layoutSub) {this.layoutSub.remove();}};_proto.render = function render() {var _cx;var style = { position: 'absolute', top: '0' };if (this.state.position) {var _this$state$position = this.state.position,top = _this$state$position.top,bottom = _this$state$position.bottom,left = _this$state$position.left,right = _this$state$position.right;style = (0, _extends2.default)({}, style, { top: top !== null ? top : undefined, bottom: bottom !== null ? bottom : undefined, left: left !== null ? left : undefined, right: right !== null ? right : undefined, minWidth: this.state.minWidth, maxWidth: this.props.hasFixedWidth ? this.state.minWidth : undefined });}var content = /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { "data-tid": this.props['data-tid'], id: this.props.id, priority: 'DropdownContainer', wrapperRef: this.ZIndexRef, style: style, className: (0, _Emotion.cx)((_cx = {}, _cx[_DropdownContainer.styles.alignRight()] = this.getProps().align === 'right' && !_client.isIE11, _cx)) }, this.props.children);return this.props.disablePortal ? content : /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, null, content);};return DropdownContainer;}(_react.default.PureComponent);exports.DropdownContainer = DropdownContainer;DropdownContainer.__KONTUR_REACT_UI__ = 'DropdownContainer';DropdownContainer.displayName = 'DropdownContainer';DropdownContainer.defaultProps = { align: 'left', disablePortal: false, offsetX: 0, offsetY: -1 };
208
209
 
209
210
 
210
211
  var getIsDocumentElementRoot = function getIsDocumentElementRoot() {
@@ -1 +1 @@
1
- {"version":3,"sources":["DropdownContainer.tsx"],"names":["DropdownContainer","props","getProps","defaultProps","ZIndexRef","element","dom","position","target","getParent","globalObject","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","LayoutEvents","addListener","componentWillUnmount","remove","render","style","undefined","maxWidth","hasFixedWidth","content","id","styles","alignRight","isIE11","React","PureComponent","__KONTUR_REACT_UI__","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot"],"mappings":"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","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"]}
1
+ {"version":3,"sources":["DropdownContainer.tsx"],"names":["DropdownContainer","props","getProps","defaultProps","ZIndexRef","element","dom","position","target","getParent","globalObject","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","LayoutEvents","addListener","componentWillUnmount","remove","render","style","undefined","maxWidth","hasFixedWidth","content","id","styles","alignRight","isIE11","React","PureComponent","__KONTUR_REACT_UI__","displayName","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot"],"mappings":"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","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 public static displayName = '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"]}
@@ -10,6 +10,7 @@ export declare const FileUploaderFileDataTids: {
10
10
  };
11
11
  export declare const FileUploaderFileList: {
12
12
  (props: FileUploaderFileListProps): JSX.Element;
13
+ __KONTUR_REACT_UI__: string;
13
14
  displayName: string;
14
15
  };
15
16
  export {};
@@ -43,4 +43,5 @@ var FileUploaderFileList = function FileUploaderFileList(props) {
43
43
 
44
44
  };exports.FileUploaderFileList = FileUploaderFileList;
45
45
 
46
+ FileUploaderFileList.__KONTUR_REACT_UI__ = 'FileUploaderFileList';
46
47
  FileUploaderFileList.displayName = 'FileUploaderFileList';
@@ -1 +1 @@
1
- {"version":3,"sources":["FileUploaderFileList.tsx"],"names":["FileUploaderFileDataTids","fileList","FileUploaderFileList","props","renderFile","size","FileUploaderControlContext","files","theme","ThemeContext","fileWrapperClass","small","jsStyles","fileWrapperSmall","medium","fileWrapperMedium","large","fileWrapperLarge","map","file","id","fileWrapper","displayName"],"mappings":"gHAAA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA,qE;;;;;;;AAOO,IAAMA,wBAAwB,GAAG;AACtCC,EAAAA,QAAQ,EAAE,wBAD4B,EAAjC,C;;;AAIA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAsC;AACxE,MAAQC,UAAR,GAA6BD,KAA7B,CAAQC,UAAR,CAAoBC,IAApB,GAA6BF,KAA7B,CAAoBE,IAApB;AACA,oBAAkB,uBAAWC,sDAAX,CAAlB,CAAQC,KAAR,eAAQA,KAAR;AACA,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;;AAEA,MAAMC,gBAAgB,GAAG,8CAAoBL,IAApB,EAA0B;AACjDM,IAAAA,KAAK,EAAEC,+BAASC,gBAAT,CAA0BL,KAA1B,CAD0C;AAEjDM,IAAAA,MAAM,EAAEF,+BAASG,iBAAT,CAA2BP,KAA3B,CAFyC;AAGjDQ,IAAAA,KAAK,EAAEJ,+BAASK,gBAAT,CAA0BT,KAA1B,CAH0C,EAA1B,CAAzB;;;AAMA;AACE,0CAAK,YAAUR,wBAAwB,CAACC,QAAxC;AACGM,IAAAA,KAAK,CAACW,GAAN,CAAU,UAACC,IAAD;AACT,8CAAK,GAAG,EAAEA,IAAI,CAACC,EAAf,EAAmB,SAAS,EAAE,iBAAGR,+BAASS,WAAT,CAAqBb,KAArB,CAAH,EAAgCE,gBAAhC,CAA9B;AACE,8CAAK,SAAS,EAAEE,+BAASO,IAAT,EAAhB;AACGf,QAAAA,UAAU,CAACe,IAAD,eAAO,6BAAC,kCAAD,IAAkB,IAAI,EAAEA,IAAxB,EAA8B,QAAQ,MAAtC,EAAuC,QAAQ,MAA/C,EAAgD,IAAI,EAAEd,IAAtD,GAAP,CADb,CADF,CADS,GAAV,CADH,CADF;;;;;;AAWD,CAtBM,C;;AAwBPH,oBAAoB,CAACoB,WAArB,GAAmC,sBAAnC","sourcesContent":["import React, { useContext } from 'react';\n\nimport { FileUploaderControlContext } from '../FileUploaderControlContext';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { FileUploaderFile } from '../FileUploaderFile/FileUploaderFile';\nimport { FileUploaderAttachedFile } from '../fileUtils';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { useFileUploaderSize } from '../hooks/useFileUploaderSize';\nimport { SizeProp } from '../../../lib/types/props';\n\nimport { jsStyles } from './FileUploaderFileList.styles';\n\ninterface FileUploaderFileListProps {\n renderFile: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;\n size: SizeProp;\n}\n\nexport const FileUploaderFileDataTids = {\n fileList: 'FileUploader__fileList',\n} as const;\n\nexport const FileUploaderFileList = (props: FileUploaderFileListProps) => {\n const { renderFile, size } = props;\n const { files } = useContext(FileUploaderControlContext);\n const theme = useContext(ThemeContext);\n\n const fileWrapperClass = useFileUploaderSize(size, {\n small: jsStyles.fileWrapperSmall(theme),\n medium: jsStyles.fileWrapperMedium(theme),\n large: jsStyles.fileWrapperLarge(theme),\n });\n\n return (\n <div data-tid={FileUploaderFileDataTids.fileList}>\n {files.map((file) => (\n <div key={file.id} className={cx(jsStyles.fileWrapper(theme), fileWrapperClass)}>\n <div className={jsStyles.file()}>\n {renderFile(file, <FileUploaderFile file={file} showSize multiple size={size} />)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nFileUploaderFileList.displayName = 'FileUploaderFileList';\n"]}
1
+ {"version":3,"sources":["FileUploaderFileList.tsx"],"names":["FileUploaderFileDataTids","fileList","FileUploaderFileList","props","renderFile","size","FileUploaderControlContext","files","theme","ThemeContext","fileWrapperClass","small","jsStyles","fileWrapperSmall","medium","fileWrapperMedium","large","fileWrapperLarge","map","file","id","fileWrapper","__KONTUR_REACT_UI__","displayName"],"mappings":"gHAAA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA,qE;;;;;;;AAOO,IAAMA,wBAAwB,GAAG;AACtCC,EAAAA,QAAQ,EAAE,wBAD4B,EAAjC,C;;;AAIA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAsC;AACxE,MAAQC,UAAR,GAA6BD,KAA7B,CAAQC,UAAR,CAAoBC,IAApB,GAA6BF,KAA7B,CAAoBE,IAApB;AACA,oBAAkB,uBAAWC,sDAAX,CAAlB,CAAQC,KAAR,eAAQA,KAAR;AACA,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;;AAEA,MAAMC,gBAAgB,GAAG,8CAAoBL,IAApB,EAA0B;AACjDM,IAAAA,KAAK,EAAEC,+BAASC,gBAAT,CAA0BL,KAA1B,CAD0C;AAEjDM,IAAAA,MAAM,EAAEF,+BAASG,iBAAT,CAA2BP,KAA3B,CAFyC;AAGjDQ,IAAAA,KAAK,EAAEJ,+BAASK,gBAAT,CAA0BT,KAA1B,CAH0C,EAA1B,CAAzB;;;AAMA;AACE,0CAAK,YAAUR,wBAAwB,CAACC,QAAxC;AACGM,IAAAA,KAAK,CAACW,GAAN,CAAU,UAACC,IAAD;AACT,8CAAK,GAAG,EAAEA,IAAI,CAACC,EAAf,EAAmB,SAAS,EAAE,iBAAGR,+BAASS,WAAT,CAAqBb,KAArB,CAAH,EAAgCE,gBAAhC,CAA9B;AACE,8CAAK,SAAS,EAAEE,+BAASO,IAAT,EAAhB;AACGf,QAAAA,UAAU,CAACe,IAAD,eAAO,6BAAC,kCAAD,IAAkB,IAAI,EAAEA,IAAxB,EAA8B,QAAQ,MAAtC,EAAuC,QAAQ,MAA/C,EAAgD,IAAI,EAAEd,IAAtD,GAAP,CADb,CADF,CADS,GAAV,CADH,CADF;;;;;;AAWD,CAtBM,C;;AAwBPH,oBAAoB,CAACoB,mBAArB,GAA2C,sBAA3C;AACApB,oBAAoB,CAACqB,WAArB,GAAmC,sBAAnC","sourcesContent":["import React, { useContext } from 'react';\n\nimport { FileUploaderControlContext } from '../FileUploaderControlContext';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { FileUploaderFile } from '../FileUploaderFile/FileUploaderFile';\nimport { FileUploaderAttachedFile } from '../fileUtils';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { useFileUploaderSize } from '../hooks/useFileUploaderSize';\nimport { SizeProp } from '../../../lib/types/props';\n\nimport { jsStyles } from './FileUploaderFileList.styles';\n\ninterface FileUploaderFileListProps {\n renderFile: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;\n size: SizeProp;\n}\n\nexport const FileUploaderFileDataTids = {\n fileList: 'FileUploader__fileList',\n} as const;\n\nexport const FileUploaderFileList = (props: FileUploaderFileListProps) => {\n const { renderFile, size } = props;\n const { files } = useContext(FileUploaderControlContext);\n const theme = useContext(ThemeContext);\n\n const fileWrapperClass = useFileUploaderSize(size, {\n small: jsStyles.fileWrapperSmall(theme),\n medium: jsStyles.fileWrapperMedium(theme),\n large: jsStyles.fileWrapperLarge(theme),\n });\n\n return (\n <div data-tid={FileUploaderFileDataTids.fileList}>\n {files.map((file) => (\n <div key={file.id} className={cx(jsStyles.fileWrapper(theme), fileWrapperClass)}>\n <div className={jsStyles.file()}>\n {renderFile(file, <FileUploaderFile file={file} showSize multiple size={size} />)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nFileUploaderFileList.__KONTUR_REACT_UI__ = 'FileUploaderFileList';\nFileUploaderFileList.displayName = 'FileUploaderFileList';\n"]}
@@ -6,6 +6,7 @@ export interface FocusTrapProps extends CommonProps {
6
6
  }
7
7
  export declare class FocusTrap extends React.PureComponent<FocusTrapProps> {
8
8
  static __KONTUR_REACT_UI__: string;
9
+ static displayName: string;
9
10
  private setRootNode;
10
11
  private focusOutsideListenerToken;
11
12
  componentWillUnmount(): void;
@@ -16,6 +16,8 @@ FocusTrap = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/fun
16
16
 
17
17
 
18
18
 
19
+
20
+
19
21
  focusOutsideListenerToken =
20
22
 
21
23
  null;_this.
@@ -84,4 +86,4 @@ FocusTrap = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/fun
84
86
  }
85
87
 
86
88
  _this.onClickOutside(event);
87
- };return _this;}var _proto = FocusTrap.prototype;_proto.componentWillUnmount = function componentWillUnmount() {if (this.focusOutsideListenerToken) {this.detachListeners();}};_proto.render = function render() {var _this2 = this;var _this$props = this.props,children = _this$props.children,onBlur = _this$props.onBlur;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.cloneElement(_react.default.Children.only(children), { onFocus: function onFocus() {if (onBlur) {_this2.attachListeners();}if (children.props && children.props.onFocus) {var _children$props;(_children$props = children.props).onFocus.apply(_children$props, arguments);}} }));};_proto.detachListeners = function detachListeners() {if (this.focusOutsideListenerToken) {var _globalObject$documen2;this.focusOutsideListenerToken.remove();this.focusOutsideListenerToken = null;(_globalObject$documen2 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen2.removeEventListener('ontouchstart' in _globalObject.globalObject.document.documentElement ? 'touchstart' : 'mousedown', this.handleNativeDocClick);}};return FocusTrap;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'FocusTrap', _temp)) || _class;exports.FocusTrap = FocusTrap;
89
+ };return _this;}var _proto = FocusTrap.prototype;_proto.componentWillUnmount = function componentWillUnmount() {if (this.focusOutsideListenerToken) {this.detachListeners();}};_proto.render = function render() {var _this2 = this;var _this$props = this.props,children = _this$props.children,onBlur = _this$props.onBlur;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.cloneElement(_react.default.Children.only(children), { onFocus: function onFocus() {if (onBlur) {_this2.attachListeners();}if (children.props && children.props.onFocus) {var _children$props;(_children$props = children.props).onFocus.apply(_children$props, arguments);}} }));};_proto.detachListeners = function detachListeners() {if (this.focusOutsideListenerToken) {var _globalObject$documen2;this.focusOutsideListenerToken.remove();this.focusOutsideListenerToken = null;(_globalObject$documen2 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen2.removeEventListener('ontouchstart' in _globalObject.globalObject.document.documentElement ? 'touchstart' : 'mousedown', this.handleNativeDocClick);}};return FocusTrap;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'FocusTrap', _class2.displayName = 'FocusTrap', _temp)) || _class;exports.FocusTrap = FocusTrap;
@@ -1 +1 @@
1
- {"version":3,"sources":["FocusTrap.tsx"],"names":["FocusTrap","rootNode","focusOutsideListenerToken","onClickOutside","e","props","onBlur","detachListeners","attachListeners","document","addEventListener","globalObject","documentElement","handleNativeDocClick","event","target","srcElement","node","Element","componentWillUnmount","render","children","setRootNode","React","cloneElement","Children","only","onFocus","remove","removeEventListener","PureComponent","__KONTUR_REACT_UI__"],"mappings":"qbAAA;AACA;;AAEA;AACA;AACA;AACA,sD;;;;;;;;AAQaA,S,OADZC,kB;;;;AAKSC,IAAAA,yB;;AAEG,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BHC,IAAAA,c,GAAiB,UAACC,CAAD,EAAc;AACrC,UAAI,MAAKC,KAAL,CAAWC,MAAf,EAAuB;AACrB,cAAKD,KAAL,CAAWC,MAAX,CAAkBF,CAAlB;AACD;AACD,YAAKG,eAAL;AACD,K;;AAEOC,IAAAA,e,GAAkB,YAAM;AAC9B,UAAMP,QAAQ,GAAG,uEAAjB;AACA,UAAI,CAAC,MAAKC,yBAAN,IAAmCD,QAAvC,EAAiD;AAC/C,cAAKC,yBAAL,GAAiC,gCAAmB,CAACD,QAAD,CAAnB,EAA+B,MAAKE,cAApC,CAAjC;;AAEA,4DAAaM,QAAb,2CAAuBC,gBAAvB;AACE,0BAAkBC,2BAAaF,QAAb,CAAsBG,eAAxC,GAA0D,YAA1D,GAAyE,WAD3E;AAEE,cAAKC,oBAFP;;AAID;AACF,K;;;;;;;;;;;;;;AAcOA,IAAAA,oB,GAAuB,UAACC,KAAD,EAAkB;AAC/C,UAAMC,MAAM,GAAGD,KAAK,CAACC,MAAN,IAAgBD,KAAK,CAACE,UAArC;AACA,UAAMC,IAAI,GAAG,uEAAb;;AAEA,UAAIA,IAAI,IAAI,gCAAaF,MAAb,EAAqBJ,2BAAaO,OAAlC,CAAR,IAAsD,yDAAgCH,MAAhC,EAAwCE,IAAxC,CAA1D,EAAyG;AACvG;AACD;;AAED,YAAKd,cAAL,CAAoBW,KAApB;AACD,K,uDAhEMK,oB,GAAP,gCAA8B,CAC5B,IAAI,KAAKjB,yBAAT,EAAoC,CAClC,KAAKK,eAAL,GACD,CACF,C,QAEMa,M,GAAP,kBAAgB,mBACd,kBAA6B,KAAKf,KAAlC,CAAQgB,QAAR,eAAQA,QAAR,CAAkBf,MAAlB,eAAkBA,MAAlB,CACA,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKgB,WAAjC,IAAkD,KAAKjB,KAAvD,gBACGkB,eAAMC,YAAN,CAAmBD,eAAME,QAAN,CAAeC,IAAf,CAAoBL,QAApB,CAAnB,EAAkD,EACjDM,OAAO,EAAE,mBAAoB,CAC3B,IAAIrB,MAAJ,EAAY,CACV,MAAI,CAACE,eAAL,GACD,CACD,IAAIa,QAAQ,CAAChB,KAAT,IAAkBgB,QAAQ,CAAChB,KAAT,CAAesB,OAArC,EAA8C,qBAC5C,mBAAAN,QAAQ,CAAChB,KAAT,EAAesB,OAAf,mCACD,CACF,CARgD,EAAlD,CADH,CADF,CAcD,C,QAqBOpB,e,GAAR,2BAA0B,CACxB,IAAI,KAAKL,yBAAT,EAAoC,4BAClC,KAAKA,yBAAL,CAA+B0B,MAA/B,GACA,KAAK1B,yBAAL,GAAiC,IAAjC,CAEA,qDAAaO,QAAb,4CAAuBoB,mBAAvB,CACE,kBAAkBlB,2BAAaF,QAAb,CAAsBG,eAAxC,GAA0D,YAA1D,GAAyE,WAD3E,EAEE,KAAKC,oBAFP,EAID,CACF,C,oBA7D4BU,eAAMO,a,WACrBC,mB,GAAsB,W","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nexport interface FocusTrapProps extends CommonProps {\n children: React.ReactElement<any>;\n onBlur?: (event: FocusEvent) => void;\n}\n\n@rootNode\nexport class FocusTrap extends React.PureComponent<FocusTrapProps> {\n public static __KONTUR_REACT_UI__ = 'FocusTrap';\n private setRootNode!: TSetRootNode;\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n\n public componentWillUnmount() {\n if (this.focusOutsideListenerToken) {\n this.detachListeners();\n }\n }\n\n public render() {\n const { children, onBlur } = this.props;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.cloneElement(React.Children.only(children), {\n onFocus: (...args: any[]) => {\n if (onBlur) {\n this.attachListeners();\n }\n if (children.props && children.props.onFocus) {\n children.props.onFocus(...args);\n }\n },\n })}\n </CommonWrapper>\n );\n }\n\n private onClickOutside = (e: Event) => {\n if (this.props.onBlur) {\n this.props.onBlur(e as FocusEvent);\n }\n this.detachListeners();\n };\n\n private attachListeners = () => {\n const rootNode = getRootNode(this);\n if (!this.focusOutsideListenerToken && rootNode) {\n this.focusOutsideListenerToken = listenFocusOutside([rootNode], this.onClickOutside);\n\n globalObject.document?.addEventListener(\n 'ontouchstart' in globalObject.document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n };\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n\n globalObject.document?.removeEventListener(\n 'ontouchstart' in globalObject.document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n }\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = getRootNode(this);\n\n if (node && isInstanceOf(target, globalObject.Element) && containsTargetOrRenderContainer(target)(node)) {\n return;\n }\n\n this.onClickOutside(event);\n };\n}\n"]}
1
+ {"version":3,"sources":["FocusTrap.tsx"],"names":["FocusTrap","rootNode","focusOutsideListenerToken","onClickOutside","e","props","onBlur","detachListeners","attachListeners","document","addEventListener","globalObject","documentElement","handleNativeDocClick","event","target","srcElement","node","Element","componentWillUnmount","render","children","setRootNode","React","cloneElement","Children","only","onFocus","remove","removeEventListener","PureComponent","__KONTUR_REACT_UI__","displayName"],"mappings":"qbAAA;AACA;;AAEA;AACA;AACA;AACA,sD;;;;;;;;AAQaA,S,OADZC,kB;;;;;;AAOSC,IAAAA,yB;;AAEG,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BHC,IAAAA,c,GAAiB,UAACC,CAAD,EAAc;AACrC,UAAI,MAAKC,KAAL,CAAWC,MAAf,EAAuB;AACrB,cAAKD,KAAL,CAAWC,MAAX,CAAkBF,CAAlB;AACD;AACD,YAAKG,eAAL;AACD,K;;AAEOC,IAAAA,e,GAAkB,YAAM;AAC9B,UAAMP,QAAQ,GAAG,uEAAjB;AACA,UAAI,CAAC,MAAKC,yBAAN,IAAmCD,QAAvC,EAAiD;AAC/C,cAAKC,yBAAL,GAAiC,gCAAmB,CAACD,QAAD,CAAnB,EAA+B,MAAKE,cAApC,CAAjC;;AAEA,4DAAaM,QAAb,2CAAuBC,gBAAvB;AACE,0BAAkBC,2BAAaF,QAAb,CAAsBG,eAAxC,GAA0D,YAA1D,GAAyE,WAD3E;AAEE,cAAKC,oBAFP;;AAID;AACF,K;;;;;;;;;;;;;;AAcOA,IAAAA,oB,GAAuB,UAACC,KAAD,EAAkB;AAC/C,UAAMC,MAAM,GAAGD,KAAK,CAACC,MAAN,IAAgBD,KAAK,CAACE,UAArC;AACA,UAAMC,IAAI,GAAG,uEAAb;;AAEA,UAAIA,IAAI,IAAI,gCAAaF,MAAb,EAAqBJ,2BAAaO,OAAlC,CAAR,IAAsD,yDAAgCH,MAAhC,EAAwCE,IAAxC,CAA1D,EAAyG;AACvG;AACD;;AAED,YAAKd,cAAL,CAAoBW,KAApB;AACD,K,uDAhEMK,oB,GAAP,gCAA8B,CAC5B,IAAI,KAAKjB,yBAAT,EAAoC,CAClC,KAAKK,eAAL,GACD,CACF,C,QAEMa,M,GAAP,kBAAgB,mBACd,kBAA6B,KAAKf,KAAlC,CAAQgB,QAAR,eAAQA,QAAR,CAAkBf,MAAlB,eAAkBA,MAAlB,CACA,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKgB,WAAjC,IAAkD,KAAKjB,KAAvD,gBACGkB,eAAMC,YAAN,CAAmBD,eAAME,QAAN,CAAeC,IAAf,CAAoBL,QAApB,CAAnB,EAAkD,EACjDM,OAAO,EAAE,mBAAoB,CAC3B,IAAIrB,MAAJ,EAAY,CACV,MAAI,CAACE,eAAL,GACD,CACD,IAAIa,QAAQ,CAAChB,KAAT,IAAkBgB,QAAQ,CAAChB,KAAT,CAAesB,OAArC,EAA8C,qBAC5C,mBAAAN,QAAQ,CAAChB,KAAT,EAAesB,OAAf,mCACD,CACF,CARgD,EAAlD,CADH,CADF,CAcD,C,QAqBOpB,e,GAAR,2BAA0B,CACxB,IAAI,KAAKL,yBAAT,EAAoC,4BAClC,KAAKA,yBAAL,CAA+B0B,MAA/B,GACA,KAAK1B,yBAAL,GAAiC,IAAjC,CAEA,qDAAaO,QAAb,4CAAuBoB,mBAAvB,CACE,kBAAkBlB,2BAAaF,QAAb,CAAsBG,eAAxC,GAA0D,YAA1D,GAAyE,WAD3E,EAEE,KAAKC,oBAFP,EAID,CACF,C,oBA/D4BU,eAAMO,a,WACrBC,mB,GAAsB,W,UACtBC,W,GAAc,W","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nexport interface FocusTrapProps extends CommonProps {\n children: React.ReactElement<any>;\n onBlur?: (event: FocusEvent) => void;\n}\n\n@rootNode\nexport class FocusTrap extends React.PureComponent<FocusTrapProps> {\n public static __KONTUR_REACT_UI__ = 'FocusTrap';\n public static displayName = 'FocusTrap';\n\n private setRootNode!: TSetRootNode;\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n\n public componentWillUnmount() {\n if (this.focusOutsideListenerToken) {\n this.detachListeners();\n }\n }\n\n public render() {\n const { children, onBlur } = this.props;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.cloneElement(React.Children.only(children), {\n onFocus: (...args: any[]) => {\n if (onBlur) {\n this.attachListeners();\n }\n if (children.props && children.props.onFocus) {\n children.props.onFocus(...args);\n }\n },\n })}\n </CommonWrapper>\n );\n }\n\n private onClickOutside = (e: Event) => {\n if (this.props.onBlur) {\n this.props.onBlur(e as FocusEvent);\n }\n this.detachListeners();\n };\n\n private attachListeners = () => {\n const rootNode = getRootNode(this);\n if (!this.focusOutsideListenerToken && rootNode) {\n this.focusOutsideListenerToken = listenFocusOutside([rootNode], this.onClickOutside);\n\n globalObject.document?.addEventListener(\n 'ontouchstart' in globalObject.document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n };\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n\n globalObject.document?.removeEventListener(\n 'ontouchstart' in globalObject.document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n }\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = getRootNode(this);\n\n if (node && isInstanceOf(target, globalObject.Element) && containsTargetOrRenderContainer(target)(node)) {\n return;\n }\n\n this.onClickOutside(event);\n };\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  export declare class HideBodyVerticalScroll extends React.Component {
3
3
  static __KONTUR_REACT_UI__: string;
4
+ static displayName: string;
4
5
  private initialScroll;
5
6
  private master;
6
7
  componentDidMount(): void;
@@ -9,6 +9,7 @@ var disposeDocumentStyle = null;var
9
9
  HideBodyVerticalScroll = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(HideBodyVerticalScroll, _React$Component);function HideBodyVerticalScroll() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
10
10
 
11
11
 
12
+
12
13
  initialScroll = 0;_this.
13
14
  master = false;_this.
14
15
 
@@ -78,7 +79,7 @@ HideBodyVerticalScroll = /*#__PURE__*/function (_React$Component) {(0, _inherits
78
79
  _globalObject.globalObject.document.documentElement.scrollTop = _this.initialScroll;
79
80
  }
80
81
  }
81
- };return _this;}var _proto = HideBodyVerticalScroll.prototype;_proto.componentDidMount = function componentDidMount() {var counter = VerticalScrollCounter.increment();if (counter === 1) {var _globalObject$documen;this.master = true;this.initialScroll = (_globalObject$documen = _globalObject.globalObject.document) != null && _globalObject$documen.documentElement ? _globalObject.globalObject.document.documentElement.scrollTop : 0;this.updateScrollVisibility();_globalObject.globalObject.addEventListener == null ? void 0 : _globalObject.globalObject.addEventListener('resize', this.updateScrollVisibility);}};_proto.componentDidUpdate = function componentDidUpdate() {if (this.master) {this.updateScrollVisibility();}};_proto.componentWillUnmount = function componentWillUnmount() {var counter = VerticalScrollCounter.decrement();if (counter === 0) {this.restoreStyles();_globalObject.globalObject.removeEventListener == null ? void 0 : _globalObject.globalObject.removeEventListener('resize', this.updateScrollVisibility);}};_proto.render = function render() {return null;};return HideBodyVerticalScroll;}(_react.default.Component);exports.HideBodyVerticalScroll = HideBodyVerticalScroll;HideBodyVerticalScroll.__KONTUR_REACT_UI__ = 'HideBodyVerticalScroll';var
82
+ };return _this;}var _proto = HideBodyVerticalScroll.prototype;_proto.componentDidMount = function componentDidMount() {var counter = VerticalScrollCounter.increment();if (counter === 1) {var _globalObject$documen;this.master = true;this.initialScroll = (_globalObject$documen = _globalObject.globalObject.document) != null && _globalObject$documen.documentElement ? _globalObject.globalObject.document.documentElement.scrollTop : 0;this.updateScrollVisibility();_globalObject.globalObject.addEventListener == null ? void 0 : _globalObject.globalObject.addEventListener('resize', this.updateScrollVisibility);}};_proto.componentDidUpdate = function componentDidUpdate() {if (this.master) {this.updateScrollVisibility();}};_proto.componentWillUnmount = function componentWillUnmount() {var counter = VerticalScrollCounter.decrement();if (counter === 0) {this.restoreStyles();_globalObject.globalObject.removeEventListener == null ? void 0 : _globalObject.globalObject.removeEventListener('resize', this.updateScrollVisibility);}};_proto.render = function render() {return null;};return HideBodyVerticalScroll;}(_react.default.Component);exports.HideBodyVerticalScroll = HideBodyVerticalScroll;HideBodyVerticalScroll.__KONTUR_REACT_UI__ = 'HideBodyVerticalScroll';HideBodyVerticalScroll.displayName = 'HideBodyVerticalScroll';var
82
83
 
83
84
 
84
85
  VerticalScrollCounter = function VerticalScrollCounter() {};VerticalScrollCounter.
@@ -1 +1 @@
1
- {"version":3,"sources":["HideBodyVerticalScroll.tsx"],"names":["disposeDocumentStyle","HideBodyVerticalScroll","initialScroll","master","updateScrollVisibility","shouldHide","hideScroll","globalObject","documentElement","document","clientHeight","scrollHeight","documentComputedStyle","getComputedStyle","scrollbarConst","overflowY","scrollWidth","documentMargin","parseFloat","marginRight","className","generateDocumentStyle","attachStyle","element","classList","add","remove","restoreStyles","scrollTop","componentDidMount","counter","VerticalScrollCounter","increment","addEventListener","componentDidUpdate","componentWillUnmount","decrement","removeEventListener","render","React","Component","__KONTUR_REACT_UI__","RetailUIVerticalScrollCounter","get","css"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { getScrollWidth } from '../../lib/dom/getScrollWidth';\nimport { css } from '../../lib/theming/Emotion';\n\nlet disposeDocumentStyle: (() => void) | null = null;\n\nexport class HideBodyVerticalScroll extends React.Component {\n public static __KONTUR_REACT_UI__ = 'HideBodyVerticalScroll';\n\n private initialScroll = 0;\n private master = false;\n\n public componentDidMount() {\n const counter = VerticalScrollCounter.increment();\n if (counter === 1) {\n this.master = true;\n this.initialScroll = globalObject.document?.documentElement ? globalObject.document.documentElement.scrollTop : 0;\n this.updateScrollVisibility();\n globalObject.addEventListener?.('resize', this.updateScrollVisibility);\n }\n }\n\n public componentDidUpdate() {\n if (this.master) {\n this.updateScrollVisibility();\n }\n }\n\n public componentWillUnmount() {\n const counter = VerticalScrollCounter.decrement();\n if (counter === 0) {\n this.restoreStyles();\n globalObject.removeEventListener?.('resize', this.updateScrollVisibility);\n }\n }\n\n public render() {\n return null;\n }\n\n private updateScrollVisibility = () => {\n const shouldHide = !disposeDocumentStyle;\n if (shouldHide) {\n this.hideScroll();\n }\n };\n\n private hideScroll = () => {\n if (!isBrowser(globalObject)) {\n return;\n }\n const { documentElement } = globalObject.document;\n const { clientHeight, scrollHeight } = documentElement;\n const documentComputedStyle = globalObject.getComputedStyle(documentElement);\n const scrollbarConst = globalObject.getComputedStyle(documentElement).overflowY === 'scroll';\n const scrollWidth = clientHeight < scrollHeight || scrollbarConst ? getScrollWidth() : 0;\n const documentMargin = parseFloat(documentComputedStyle.marginRight || '');\n const className = generateDocumentStyle(documentMargin + scrollWidth);\n\n disposeDocumentStyle = this.attachStyle(documentElement, className);\n };\n\n private attachStyle = (element: HTMLElement, className: string) => {\n element.classList.add(className);\n return () => {\n element.classList.remove(className);\n };\n };\n\n private restoreStyles = () => {\n if (disposeDocumentStyle) {\n disposeDocumentStyle();\n disposeDocumentStyle = null;\n\n if (globalObject.document) {\n globalObject.document.documentElement.scrollTop = this.initialScroll;\n }\n }\n };\n}\n\nclass VerticalScrollCounter {\n public static increment = (): number => {\n const counter = globalObject.RetailUIVerticalScrollCounter || 0;\n return (globalObject.RetailUIVerticalScrollCounter = counter + 1);\n };\n\n public static decrement = (): number => {\n const counter = globalObject.RetailUIVerticalScrollCounter || 0;\n return (globalObject.RetailUIVerticalScrollCounter = counter - 1);\n };\n\n public static get = (): number => {\n return globalObject.RetailUIVerticalScrollCounter || 0;\n };\n}\n\nfunction generateDocumentStyle(documentMargin: number) {\n return css`\n overflow: hidden !important;\n margin-right: ${documentMargin}px !important;\n height: 100%;\n `;\n}\n"]}
1
+ {"version":3,"sources":["HideBodyVerticalScroll.tsx"],"names":["disposeDocumentStyle","HideBodyVerticalScroll","initialScroll","master","updateScrollVisibility","shouldHide","hideScroll","globalObject","documentElement","document","clientHeight","scrollHeight","documentComputedStyle","getComputedStyle","scrollbarConst","overflowY","scrollWidth","documentMargin","parseFloat","marginRight","className","generateDocumentStyle","attachStyle","element","classList","add","remove","restoreStyles","scrollTop","componentDidMount","counter","VerticalScrollCounter","increment","addEventListener","componentDidUpdate","componentWillUnmount","decrement","removeEventListener","render","React","Component","__KONTUR_REACT_UI__","displayName","RetailUIVerticalScrollCounter","get","css"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { getScrollWidth } from '../../lib/dom/getScrollWidth';\nimport { css } from '../../lib/theming/Emotion';\n\nlet disposeDocumentStyle: (() => void) | null = null;\n\nexport class HideBodyVerticalScroll extends React.Component {\n public static __KONTUR_REACT_UI__ = 'HideBodyVerticalScroll';\n public static displayName = 'HideBodyVerticalScroll';\n\n private initialScroll = 0;\n private master = false;\n\n public componentDidMount() {\n const counter = VerticalScrollCounter.increment();\n if (counter === 1) {\n this.master = true;\n this.initialScroll = globalObject.document?.documentElement ? globalObject.document.documentElement.scrollTop : 0;\n this.updateScrollVisibility();\n globalObject.addEventListener?.('resize', this.updateScrollVisibility);\n }\n }\n\n public componentDidUpdate() {\n if (this.master) {\n this.updateScrollVisibility();\n }\n }\n\n public componentWillUnmount() {\n const counter = VerticalScrollCounter.decrement();\n if (counter === 0) {\n this.restoreStyles();\n globalObject.removeEventListener?.('resize', this.updateScrollVisibility);\n }\n }\n\n public render() {\n return null;\n }\n\n private updateScrollVisibility = () => {\n const shouldHide = !disposeDocumentStyle;\n if (shouldHide) {\n this.hideScroll();\n }\n };\n\n private hideScroll = () => {\n if (!isBrowser(globalObject)) {\n return;\n }\n const { documentElement } = globalObject.document;\n const { clientHeight, scrollHeight } = documentElement;\n const documentComputedStyle = globalObject.getComputedStyle(documentElement);\n const scrollbarConst = globalObject.getComputedStyle(documentElement).overflowY === 'scroll';\n const scrollWidth = clientHeight < scrollHeight || scrollbarConst ? getScrollWidth() : 0;\n const documentMargin = parseFloat(documentComputedStyle.marginRight || '');\n const className = generateDocumentStyle(documentMargin + scrollWidth);\n\n disposeDocumentStyle = this.attachStyle(documentElement, className);\n };\n\n private attachStyle = (element: HTMLElement, className: string) => {\n element.classList.add(className);\n return () => {\n element.classList.remove(className);\n };\n };\n\n private restoreStyles = () => {\n if (disposeDocumentStyle) {\n disposeDocumentStyle();\n disposeDocumentStyle = null;\n\n if (globalObject.document) {\n globalObject.document.documentElement.scrollTop = this.initialScroll;\n }\n }\n };\n}\n\nclass VerticalScrollCounter {\n public static increment = (): number => {\n const counter = globalObject.RetailUIVerticalScrollCounter || 0;\n return (globalObject.RetailUIVerticalScrollCounter = counter + 1);\n };\n\n public static decrement = (): number => {\n const counter = globalObject.RetailUIVerticalScrollCounter || 0;\n return (globalObject.RetailUIVerticalScrollCounter = counter - 1);\n };\n\n public static get = (): number => {\n return globalObject.RetailUIVerticalScrollCounter || 0;\n };\n}\n\nfunction generateDocumentStyle(documentMargin: number) {\n return css`\n overflow: hidden !important;\n margin-right: ${documentMargin}px !important;\n height: 100%;\n `;\n}\n"]}
@@ -26,6 +26,7 @@ var
26
26
  IgnoreLayerClickWrapper = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component2) {(0, _inheritsLoose2.default)(IgnoreLayerClickWrapper, _React$Component2);function IgnoreLayerClickWrapper() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component2.call.apply(_React$Component2, [this].concat(args)) || this;_this.
27
27
 
28
28
 
29
+
29
30
  element = null;_this.
30
31
 
31
32
 
@@ -54,4 +55,4 @@ IgnoreLayerClickWrapper = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*
54
55
 
55
56
  handleMouseDown = function (event) {
56
57
  event.stopPropagation();
57
- };return _this;}var _proto2 = IgnoreLayerClickWrapper.prototype;_proto2.componentDidMount = function componentDidMount() {var element = (0, _rootNode.getRootNode)(this);if ((0, _isInstanceOf.isInstanceOf)(element, _globalObject.globalObject.Element)) {element.addEventListener('mousedown', this.handleMouseDown);this.element = element;}};_proto2.componentWillUnmount = function componentWillUnmount() {if (this.element) {this.element.removeEventListener('mousedown', this.handleMouseDown);this.element = null;}};_proto2.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), _react.default.Children.only(this.props.children));};return IgnoreLayerClickWrapper;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'IgnoreLayerClick', _temp)) || _class;
58
+ };return _this;}var _proto2 = IgnoreLayerClickWrapper.prototype;_proto2.componentDidMount = function componentDidMount() {var element = (0, _rootNode.getRootNode)(this);if ((0, _isInstanceOf.isInstanceOf)(element, _globalObject.globalObject.Element)) {element.addEventListener('mousedown', this.handleMouseDown);this.element = element;}};_proto2.componentWillUnmount = function componentWillUnmount() {if (this.element) {this.element.removeEventListener('mousedown', this.handleMouseDown);this.element = null;}};_proto2.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), _react.default.Children.only(this.props.children));};return IgnoreLayerClickWrapper;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'IgnoreLayerClick', _class2.displayName = 'IgnoreLayerClick', _temp)) || _class;
@@ -1 +1 @@
1
- {"version":3,"sources":["IgnoreLayerClick.tsx"],"names":["IgnoreLayerClick","render","child","React","Children","only","props","children","active","Component","IgnoreLayerClickWrapper","rootNode","element","handleMouseDown","event","stopPropagation","componentDidMount","globalObject","Element","addEventListener","componentWillUnmount","removeEventListener","setRootNode","__KONTUR_REACT_UI__"],"mappings":"8UAAA;AACA;;AAEA;AACA;AACA,iD;;;;;;;AAOaA,gB;AACJC,EAAAA,M,GAAP,kBAAgB;AACd,QAAMC,KAAK,GAAGC,eAAMC,QAAN,CAAeC,IAAf,CAAoB,KAAKC,KAAL,CAAWC,QAA/B,CAAd;AACA,WAAO,KAAKD,KAAL,CAAWE,MAAX,gBAAoB,6BAAC,uBAAD,QAA0BN,KAA1B,CAApB,GAAiFA,KAAxF;AACD,G,2BAJmCC,eAAMM,S;;;;;;;AAW5C;;AAEMC,uB,OADLC,kB;;;AAISC,IAAAA,O,GAA0B,I;;;;;;;;;;;;;;;;;;;;;;;;;;AA0B1BC,IAAAA,e,GAAkB,UAACC,KAAD,EAAkB;AAC1CA,MAAAA,KAAK,CAACC,eAAN;AACD,K,uEAzBMC,iB,GAAP,6BAA2B,CACzB,IAAMJ,OAAO,GAAG,2BAAY,IAAZ,CAAhB,CACA,IAAI,gCAAaA,OAAb,EAAsBK,2BAAaC,OAAnC,CAAJ,EAAiD,CAC/CN,OAAO,CAACO,gBAAR,CAAyB,WAAzB,EAAsC,KAAKN,eAA3C,EACA,KAAKD,OAAL,GAAeA,OAAf,CACD,CACF,C,SAEMQ,oB,GAAP,gCAA8B,CAC5B,IAAI,KAAKR,OAAT,EAAkB,CAChB,KAAKA,OAAL,CAAaS,mBAAb,CAAiC,WAAjC,EAA8C,KAAKR,eAAnD,EACA,KAAKD,OAAL,GAAe,IAAf,CACD,CACF,C,SAEMX,M,GAAP,kBAAgB,CACd,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKqB,WAAjC,IAAkD,KAAKhB,KAAvD,GACGH,eAAMC,QAAN,CAAeC,IAAf,CAAoB,KAAKC,KAAL,CAAWC,QAA/B,CADH,CADF,CAKD,C,kCA3BmCJ,eAAMM,S,WAC5Bc,mB,GAAsB,kB","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { CommonWrapper } from '../CommonWrapper';\n\nexport interface IgnoreLayerClickProps {\n children: React.ReactNode;\n active: boolean;\n}\n\nexport class IgnoreLayerClick extends React.Component<IgnoreLayerClickProps> {\n public render() {\n const child = React.Children.only(this.props.children);\n return this.props.active ? <IgnoreLayerClickWrapper>{child}</IgnoreLayerClickWrapper> : child;\n }\n}\n\ninterface WrapperProps {\n children: React.ReactNode;\n}\n\n// NOTE Используется только в команде Контур.Бухгалтерия\n@rootNode\nclass IgnoreLayerClickWrapper extends React.Component<WrapperProps> {\n public static __KONTUR_REACT_UI__ = 'IgnoreLayerClick';\n\n private element: Element | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n const element = getRootNode(this);\n if (isInstanceOf(element, globalObject.Element)) {\n element.addEventListener('mousedown', this.handleMouseDown);\n this.element = element;\n }\n }\n\n public componentWillUnmount() {\n if (this.element) {\n this.element.removeEventListener('mousedown', this.handleMouseDown);\n this.element = null;\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private handleMouseDown = (event: Event) => {\n event.stopPropagation();\n };\n}\n"]}
1
+ {"version":3,"sources":["IgnoreLayerClick.tsx"],"names":["IgnoreLayerClick","render","child","React","Children","only","props","children","active","Component","IgnoreLayerClickWrapper","rootNode","element","handleMouseDown","event","stopPropagation","componentDidMount","globalObject","Element","addEventListener","componentWillUnmount","removeEventListener","setRootNode","__KONTUR_REACT_UI__","displayName"],"mappings":"8UAAA;AACA;;AAEA;AACA;AACA,iD;;;;;;;AAOaA,gB;AACJC,EAAAA,M,GAAP,kBAAgB;AACd,QAAMC,KAAK,GAAGC,eAAMC,QAAN,CAAeC,IAAf,CAAoB,KAAKC,KAAL,CAAWC,QAA/B,CAAd;AACA,WAAO,KAAKD,KAAL,CAAWE,MAAX,gBAAoB,6BAAC,uBAAD,QAA0BN,KAA1B,CAApB,GAAiFA,KAAxF;AACD,G,2BAJmCC,eAAMM,S;;;;;;;AAW5C;;AAEMC,uB,OADLC,kB;;;;AAKSC,IAAAA,O,GAA0B,I;;;;;;;;;;;;;;;;;;;;;;;;;;AA0B1BC,IAAAA,e,GAAkB,UAACC,KAAD,EAAkB;AAC1CA,MAAAA,KAAK,CAACC,eAAN;AACD,K,uEAzBMC,iB,GAAP,6BAA2B,CACzB,IAAMJ,OAAO,GAAG,2BAAY,IAAZ,CAAhB,CACA,IAAI,gCAAaA,OAAb,EAAsBK,2BAAaC,OAAnC,CAAJ,EAAiD,CAC/CN,OAAO,CAACO,gBAAR,CAAyB,WAAzB,EAAsC,KAAKN,eAA3C,EACA,KAAKD,OAAL,GAAeA,OAAf,CACD,CACF,C,SAEMQ,oB,GAAP,gCAA8B,CAC5B,IAAI,KAAKR,OAAT,EAAkB,CAChB,KAAKA,OAAL,CAAaS,mBAAb,CAAiC,WAAjC,EAA8C,KAAKR,eAAnD,EACA,KAAKD,OAAL,GAAe,IAAf,CACD,CACF,C,SAEMX,M,GAAP,kBAAgB,CACd,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKqB,WAAjC,IAAkD,KAAKhB,KAAvD,GACGH,eAAMC,QAAN,CAAeC,IAAf,CAAoB,KAAKC,KAAL,CAAWC,QAA/B,CADH,CADF,CAKD,C,kCA5BmCJ,eAAMM,S,WAC5Bc,mB,GAAsB,kB,UACtBC,W,GAAc,kB","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { CommonWrapper } from '../CommonWrapper';\n\nexport interface IgnoreLayerClickProps {\n children: React.ReactNode;\n active: boolean;\n}\n\nexport class IgnoreLayerClick extends React.Component<IgnoreLayerClickProps> {\n public render() {\n const child = React.Children.only(this.props.children);\n return this.props.active ? <IgnoreLayerClickWrapper>{child}</IgnoreLayerClickWrapper> : child;\n }\n}\n\ninterface WrapperProps {\n children: React.ReactNode;\n}\n\n// NOTE Используется только в команде Контур.Бухгалтерия\n@rootNode\nclass IgnoreLayerClickWrapper extends React.Component<WrapperProps> {\n public static __KONTUR_REACT_UI__ = 'IgnoreLayerClick';\n public static displayName = 'IgnoreLayerClick';\n\n private element: Element | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n const element = getRootNode(this);\n if (isInstanceOf(element, globalObject.Element)) {\n element.addEventListener('mousedown', this.handleMouseDown);\n this.element = element;\n }\n }\n\n public componentWillUnmount() {\n if (this.element) {\n this.element.removeEventListener('mousedown', this.handleMouseDown);\n this.element = null;\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private handleMouseDown = (event: Event) => {\n event.stopPropagation();\n };\n}\n"]}
@@ -20,6 +20,7 @@ export declare const InputLikeTextDataTids: {
20
20
  declare type DefaultProps = Required<Pick<InputLikeTextProps, 'size'>>;
21
21
  export declare class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {
22
22
  static __KONTUR_REACT_UI__: string;
23
+ static displayName: string;
23
24
  static defaultProps: DefaultProps;
24
25
  private getProps;
25
26
  state: {
@@ -53,6 +53,7 @@ InputLikeText = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*
53
53
 
54
54
 
55
55
 
56
+
56
57
  getProps = (0, _createPropsGetter.createPropsGetter)(InputLikeText.defaultProps);_this.
57
58
 
58
59
  state = { blinking: false, focused: false };_this.
@@ -541,4 +542,4 @@ InputLikeText = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*
541
542
  */;_proto.blur = function blur() {if (this.node) {this.node.blur();}} /**
542
543
  * @public
543
544
  */;_proto.blink = function blink() {var _this3 = this;if (this.props.disabled) {return;}this.setState({ blinking: true }, function () {_this3.blinkTimeout = _globalObject.globalObject.setTimeout(function () {return _this3.setState({ blinking: false });}, 150);});};_proto.getNode = function getNode() {return this.node;} // Async call required for Firefox
544
- ;_proto.componentDidMount = function componentDidMount() {var _globalObject$documen3, _globalObject$documen4;if (this.node) {_MouseDrag.MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);}(_globalObject$documen3 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen3.addEventListener('mousedown', this.handleDocumentMouseDown);(_globalObject$documen4 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen4.addEventListener('keydown', this.handleDocumentKeyDown);};_proto.componentWillUnmount = function componentWillUnmount() {var _globalObject$documen5, _globalObject$documen6;if (this.blinkTimeout) {_globalObject.globalObject.clearTimeout(this.blinkTimeout);}_MouseDrag.MouseDrag.stop(this.node);(_globalObject$documen5 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen5.removeEventListener('mousedown', this.handleDocumentMouseDown);(_globalObject$documen6 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen6.removeEventListener('keydown', this.handleDocumentKeyDown);};_proto.render = function render() {var _this4 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this4.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this4.setRootNode }, _this4.props), _this4.renderMain);});};_proto.getIconClassname = function getIconClassname(right) {if (right === void 0) {right = false;}switch (this.getProps().size) {case 'large':return right ? _Input.styles.rightIconLarge(this.theme) : _Input.styles.leftIconLarge(this.theme);case 'medium':return right ? _Input.styles.rightIconMedium(this.theme) : _Input.styles.leftIconMedium(this.theme);case 'small':default:return right ? _Input.styles.rightIconSmall(this.theme) : _Input.styles.leftIconSmall(this.theme);}};return InputLikeText;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'InputLikeText', _class2.defaultProps = { size: 'small' }, _temp)) || _class;exports.InputLikeText = InputLikeText;
545
+ ;_proto.componentDidMount = function componentDidMount() {var _globalObject$documen3, _globalObject$documen4;if (this.node) {_MouseDrag.MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);}(_globalObject$documen3 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen3.addEventListener('mousedown', this.handleDocumentMouseDown);(_globalObject$documen4 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen4.addEventListener('keydown', this.handleDocumentKeyDown);};_proto.componentWillUnmount = function componentWillUnmount() {var _globalObject$documen5, _globalObject$documen6;if (this.blinkTimeout) {_globalObject.globalObject.clearTimeout(this.blinkTimeout);}_MouseDrag.MouseDrag.stop(this.node);(_globalObject$documen5 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen5.removeEventListener('mousedown', this.handleDocumentMouseDown);(_globalObject$documen6 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen6.removeEventListener('keydown', this.handleDocumentKeyDown);};_proto.render = function render() {var _this4 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this4.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this4.setRootNode }, _this4.props), _this4.renderMain);});};_proto.getIconClassname = function getIconClassname(right) {if (right === void 0) {right = false;}switch (this.getProps().size) {case 'large':return right ? _Input.styles.rightIconLarge(this.theme) : _Input.styles.leftIconLarge(this.theme);case 'medium':return right ? _Input.styles.rightIconMedium(this.theme) : _Input.styles.leftIconMedium(this.theme);case 'small':default:return right ? _Input.styles.rightIconSmall(this.theme) : _Input.styles.leftIconSmall(this.theme);}};return InputLikeText;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'InputLikeText', _class2.displayName = 'InputLikeText', _class2.defaultProps = { size: 'small' }, _temp)) || _class;exports.InputLikeText = InputLikeText;