@skbkontur/react-ui 4.10.0 → 4.11.0-revert-datatids

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 (1223) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +117 -119
  3. package/cjs/components/Autocomplete/Autocomplete.js +9 -11
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +4 -4
  6. package/cjs/components/Autocomplete/index.d.ts +1 -1
  7. package/cjs/components/Button/Button.d.ts +157 -160
  8. package/cjs/components/Button/Button.js +3 -7
  9. package/cjs/components/Button/Button.js.map +1 -1
  10. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  11. package/cjs/components/Button/Button.styles.d.ts +72 -72
  12. package/cjs/components/Button/index.d.ts +1 -1
  13. package/cjs/components/Center/Center.d.ts +26 -29
  14. package/cjs/components/Center/Center.js +2 -7
  15. package/cjs/components/Center/Center.js.map +1 -1
  16. package/cjs/components/Center/Center.styles.d.ts +7 -7
  17. package/cjs/components/Center/index.d.ts +1 -1
  18. package/cjs/components/Checkbox/Checkbox.d.ts +101 -104
  19. package/cjs/components/Checkbox/Checkbox.js +2 -8
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/Checkbox/Checkbox.styles.d.ts +24 -24
  22. package/cjs/components/Checkbox/index.d.ts +1 -1
  23. package/cjs/components/ComboBox/ComboBox.d.ts +195 -194
  24. package/cjs/components/ComboBox/ComboBox.js +1 -0
  25. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  26. package/cjs/components/ComboBox/index.d.ts +1 -1
  27. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  28. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +103 -106
  29. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -7
  30. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  31. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  32. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +20 -20
  33. package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
  34. package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  35. package/cjs/components/CurrencyInput/constants.d.ts +5 -5
  36. package/cjs/components/CurrencyInput/index.d.ts +1 -1
  37. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +20 -23
  38. package/cjs/components/CurrencyLabel/CurrencyLabel.js +2 -6
  39. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  40. package/cjs/components/CurrencyLabel/index.d.ts +1 -1
  41. package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
  42. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  43. package/cjs/components/DateInput/DateInput.d.ts +104 -104
  44. package/cjs/components/DateInput/DateInput.styles.d.ts +10 -10
  45. package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  46. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  47. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  48. package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  49. package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
  50. package/cjs/components/DateInput/index.d.ts +1 -1
  51. package/cjs/components/DatePicker/DatePicker.d.ts +129 -133
  52. package/cjs/components/DatePicker/DatePicker.js +3 -9
  53. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  54. package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
  55. package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  56. package/cjs/components/DatePicker/Picker.d.ts +33 -33
  57. package/cjs/components/DatePicker/Picker.js +2 -7
  58. package/cjs/components/DatePicker/Picker.js.map +1 -1
  59. package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
  60. package/cjs/components/DatePicker/index.d.ts +1 -1
  61. package/cjs/components/DatePicker/locale/index.d.ts +4 -4
  62. package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
  63. package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
  64. package/cjs/components/DatePicker/locale/types.d.ts +5 -5
  65. package/cjs/components/Dropdown/Dropdown.d.ts +125 -128
  66. package/cjs/components/Dropdown/Dropdown.js +2 -7
  67. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  68. package/cjs/components/Dropdown/index.d.ts +1 -1
  69. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +62 -62
  70. package/cjs/components/DropdownMenu/index.d.ts +1 -1
  71. package/cjs/components/FileUploader/FileUploader.d.ts +51 -56
  72. package/cjs/components/FileUploader/FileUploader.js +4 -15
  73. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  74. package/cjs/components/FileUploader/FileUploader.mixins.d.ts +1 -1
  75. package/cjs/components/FileUploader/FileUploader.styles.d.ts +33 -33
  76. package/cjs/components/FileUploader/index.d.ts +5 -5
  77. package/cjs/components/FileUploader/locale/index.d.ts +4 -4
  78. package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -2
  79. package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -2
  80. package/cjs/components/FileUploader/locale/types.d.ts +6 -6
  81. package/cjs/components/FxInput/FxInput.d.ts +50 -53
  82. package/cjs/components/FxInput/FxInput.js +2 -6
  83. package/cjs/components/FxInput/FxInput.js.map +1 -1
  84. package/cjs/components/FxInput/index.d.ts +1 -1
  85. package/cjs/components/Gapped/Gapped.d.ts +56 -60
  86. package/cjs/components/Gapped/Gapped.js +3 -8
  87. package/cjs/components/Gapped/Gapped.js.map +1 -1
  88. package/cjs/components/Gapped/index.d.ts +1 -1
  89. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +103 -106
  90. package/cjs/components/GlobalLoader/GlobalLoader.js +2 -6
  91. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  92. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +13 -13
  93. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.d.ts +16 -16
  94. package/cjs/components/GlobalLoader/index.d.ts +1 -1
  95. package/cjs/components/GlobalLoader/useParams.d.ts +22 -22
  96. package/cjs/components/Group/Group.d.ts +15 -18
  97. package/cjs/components/Group/Group.js +3 -7
  98. package/cjs/components/Group/Group.js.map +1 -1
  99. package/cjs/components/Group/Group.styles.d.ts +8 -8
  100. package/cjs/components/Group/index.d.ts +1 -1
  101. package/cjs/components/Hint/Hint.d.ts +85 -85
  102. package/cjs/components/Hint/Hint.styles.d.ts +6 -6
  103. package/cjs/components/Hint/index.d.ts +1 -1
  104. package/cjs/components/Input/Input.d.ts +154 -157
  105. package/cjs/components/Input/Input.js +2 -6
  106. package/cjs/components/Input/Input.js.map +1 -1
  107. package/cjs/components/Input/Input.styles.d.ts +43 -43
  108. package/cjs/components/Input/index.d.ts +1 -1
  109. package/cjs/components/Kebab/Kebab.d.ts +53 -53
  110. package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
  111. package/cjs/components/Kebab/index.d.ts +1 -1
  112. package/cjs/components/Link/Link.d.ts +70 -73
  113. package/cjs/components/Link/Link.js +2 -6
  114. package/cjs/components/Link/Link.js.map +1 -1
  115. package/cjs/components/Link/Link.mixins.d.ts +3 -3
  116. package/cjs/components/Link/Link.styles.d.ts +15 -15
  117. package/cjs/components/Link/index.d.ts +1 -1
  118. package/cjs/components/Loader/Loader.d.ts +113 -117
  119. package/cjs/components/Loader/Loader.js +2 -7
  120. package/cjs/components/Loader/Loader.js.map +1 -1
  121. package/cjs/components/Loader/Loader.styles.d.ts +8 -8
  122. package/cjs/components/Loader/index.d.ts +1 -1
  123. package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -23
  124. package/cjs/components/MenuHeader/MenuHeader.js +2 -7
  125. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  126. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  127. package/cjs/components/MenuHeader/index.d.ts +1 -1
  128. package/cjs/components/MenuItem/MenuItem.d.ts +107 -111
  129. package/cjs/components/MenuItem/MenuItem.js +4 -10
  130. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  131. package/cjs/components/MenuItem/MenuItem.styles.d.ts +15 -15
  132. package/cjs/components/MenuItem/index.d.ts +1 -1
  133. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -15
  134. package/cjs/components/MenuSeparator/MenuSeparator.js +3 -7
  135. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  136. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  137. package/cjs/components/MenuSeparator/index.d.ts +1 -1
  138. package/cjs/components/Modal/Modal.d.ts +89 -94
  139. package/cjs/components/Modal/Modal.js +2 -8
  140. package/cjs/components/Modal/Modal.js.map +1 -1
  141. package/cjs/components/Modal/Modal.styles.d.ts +40 -40
  142. package/cjs/components/Modal/Modal.styles.js +1 -1
  143. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  144. package/cjs/components/Modal/ModalBody.d.ts +23 -23
  145. package/cjs/components/Modal/ModalClose.d.ts +2 -2
  146. package/cjs/components/Modal/ModalClose.js +2 -3
  147. package/cjs/components/Modal/ModalClose.js.map +1 -1
  148. package/cjs/components/Modal/ModalContext.d.ts +16 -16
  149. package/cjs/components/Modal/ModalFooter.d.ts +35 -38
  150. package/cjs/components/Modal/ModalFooter.js +2 -7
  151. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  152. package/cjs/components/Modal/ModalHeader.d.ts +17 -20
  153. package/cjs/components/Modal/ModalHeader.js +2 -8
  154. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  155. package/cjs/components/Modal/index.d.ts +4 -4
  156. package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
  157. package/cjs/components/Paging/Paging.d.ts +97 -104
  158. package/cjs/components/Paging/Paging.js +7 -15
  159. package/cjs/components/Paging/Paging.js.map +1 -1
  160. package/cjs/components/Paging/Paging.styles.d.ts +20 -20
  161. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -9
  162. package/cjs/components/Paging/PagingHelper.d.ts +2 -2
  163. package/cjs/components/Paging/index.d.ts +1 -1
  164. package/cjs/components/Paging/locale/index.d.ts +4 -4
  165. package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
  166. package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
  167. package/cjs/components/Paging/locale/types.d.ts +3 -3
  168. package/cjs/components/PasswordInput/PasswordInput.d.ts +52 -57
  169. package/cjs/components/PasswordInput/PasswordInput.js +4 -12
  170. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  171. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  172. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -3
  173. package/cjs/components/PasswordInput/index.d.ts +1 -1
  174. package/cjs/components/Radio/Radio.d.ts +78 -81
  175. package/cjs/components/Radio/Radio.js +2 -6
  176. package/cjs/components/Radio/Radio.js.map +1 -1
  177. package/cjs/components/Radio/Radio.styles.d.ts +21 -21
  178. package/cjs/components/Radio/index.d.ts +1 -1
  179. package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
  180. package/cjs/components/RadioGroup/RadioGroup.d.ts +107 -110
  181. package/cjs/components/RadioGroup/RadioGroup.js +2 -6
  182. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  183. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  184. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -10
  185. package/cjs/components/RadioGroup/index.d.ts +1 -1
  186. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +12 -12
  187. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -11
  188. package/cjs/components/ResponsiveLayout/decorator.d.ts +33 -33
  189. package/cjs/components/ResponsiveLayout/index.d.ts +3 -3
  190. package/cjs/components/ResponsiveLayout/types.d.ts +11 -11
  191. package/cjs/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
  192. package/cjs/components/ScrollContainer/ScrollBar.d.ts +41 -41
  193. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  194. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +97 -101
  195. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  196. package/cjs/components/ScrollContainer/ScrollContainer.js +4 -14
  197. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  198. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +21 -21
  199. package/cjs/components/ScrollContainer/index.d.ts +1 -1
  200. package/cjs/components/Select/Item.d.ts +9 -9
  201. package/cjs/components/Select/Select.d.ts +160 -162
  202. package/cjs/components/Select/Select.js +4 -11
  203. package/cjs/components/Select/Select.js.map +1 -1
  204. package/cjs/components/Select/Select.styles.d.ts +18 -18
  205. package/cjs/components/Select/index.d.ts +1 -1
  206. package/cjs/components/Select/locale/index.d.ts +4 -4
  207. package/cjs/components/Select/locale/locales/en.d.ts +2 -2
  208. package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
  209. package/cjs/components/Select/locale/types.d.ts +4 -4
  210. package/cjs/components/Select/selectTheme.d.ts +3 -3
  211. package/cjs/components/SidePage/SidePage.d.ts +111 -115
  212. package/cjs/components/SidePage/SidePage.js +2 -7
  213. package/cjs/components/SidePage/SidePage.js.map +1 -1
  214. package/cjs/components/SidePage/SidePage.styles.d.ts +48 -48
  215. package/cjs/components/SidePage/SidePageBody.d.ts +20 -23
  216. package/cjs/components/SidePage/SidePageBody.js +3 -10
  217. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  218. package/cjs/components/SidePage/SidePageContainer.d.ts +16 -19
  219. package/cjs/components/SidePage/SidePageContainer.js +2 -7
  220. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  221. package/cjs/components/SidePage/SidePageContext.d.ts +17 -17
  222. package/cjs/components/SidePage/SidePageFooter.d.ts +49 -52
  223. package/cjs/components/SidePage/SidePageFooter.js +3 -11
  224. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  225. package/cjs/components/SidePage/SidePageHeader.d.ts +44 -48
  226. package/cjs/components/SidePage/SidePageHeader.js +4 -9
  227. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  228. package/cjs/components/SidePage/index.d.ts +5 -5
  229. package/cjs/components/Spinner/Spinner.d.ts +67 -70
  230. package/cjs/components/Spinner/Spinner.js +2 -6
  231. package/cjs/components/Spinner/Spinner.js.map +1 -1
  232. package/cjs/components/Spinner/Spinner.styles.d.ts +13 -13
  233. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  234. package/cjs/components/Spinner/index.d.ts +1 -1
  235. package/cjs/components/Spinner/locale/index.d.ts +4 -4
  236. package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
  237. package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
  238. package/cjs/components/Spinner/locale/types.d.ts +4 -4
  239. package/cjs/components/Sticky/Sticky.d.ts +60 -63
  240. package/cjs/components/Sticky/Sticky.js +3 -7
  241. package/cjs/components/Sticky/Sticky.js.map +1 -1
  242. package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
  243. package/cjs/components/Sticky/index.d.ts +1 -1
  244. package/cjs/components/Switcher/Switcher.d.ts +66 -69
  245. package/cjs/components/Switcher/Switcher.js +3 -7
  246. package/cjs/components/Switcher/Switcher.js.map +1 -1
  247. package/cjs/components/Switcher/Switcher.styles.d.ts +11 -11
  248. package/cjs/components/Switcher/helpers.d.ts +1 -1
  249. package/cjs/components/Switcher/index.d.ts +1 -1
  250. package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
  251. package/cjs/components/Tabs/Indicator.d.ts +28 -28
  252. package/cjs/components/Tabs/Indicator.js +2 -4
  253. package/cjs/components/Tabs/Indicator.js.map +1 -1
  254. package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
  255. package/cjs/components/Tabs/Tab.d.ts +113 -116
  256. package/cjs/components/Tabs/Tab.js +2 -7
  257. package/cjs/components/Tabs/Tab.js.map +1 -1
  258. package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
  259. package/cjs/components/Tabs/Tabs.d.ts +56 -60
  260. package/cjs/components/Tabs/Tabs.js +2 -11
  261. package/cjs/components/Tabs/Tabs.js.map +1 -1
  262. package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
  263. package/cjs/components/Tabs/TabsContext.d.ts +14 -14
  264. package/cjs/components/Tabs/index.d.ts +2 -2
  265. package/cjs/components/Textarea/Textarea.d.ts +183 -187
  266. package/cjs/components/Textarea/Textarea.js +2 -7
  267. package/cjs/components/Textarea/Textarea.js.map +1 -1
  268. package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
  269. package/cjs/components/Textarea/TextareaCounter.d.ts +12 -12
  270. package/cjs/components/Textarea/TextareaCounter.js +6 -6
  271. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  272. package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
  273. package/cjs/components/Textarea/index.d.ts +1 -1
  274. package/cjs/components/Toast/Toast.d.ts +58 -64
  275. package/cjs/components/Toast/Toast.js +2 -9
  276. package/cjs/components/Toast/Toast.js.map +1 -1
  277. package/cjs/components/Toast/Toast.styles.d.ts +6 -6
  278. package/cjs/components/Toast/ToastStatic.d.ts +8 -8
  279. package/cjs/components/Toast/ToastStatic.js +1 -1
  280. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  281. package/cjs/components/Toast/ToastView.d.ts +38 -38
  282. package/cjs/components/Toast/ToastView.js +4 -5
  283. package/cjs/components/Toast/ToastView.js.map +1 -1
  284. package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
  285. package/cjs/components/Toast/index.d.ts +1 -1
  286. package/cjs/components/Toggle/Toggle.d.ts +106 -109
  287. package/cjs/components/Toggle/Toggle.js +2 -6
  288. package/cjs/components/Toggle/Toggle.js.map +1 -1
  289. package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
  290. package/cjs/components/Toggle/index.d.ts +1 -1
  291. package/cjs/components/Token/Token.d.ts +36 -39
  292. package/cjs/components/Token/Token.js +3 -8
  293. package/cjs/components/Token/Token.js.map +1 -1
  294. package/cjs/components/Token/Token.styles.d.ts +29 -29
  295. package/cjs/components/Token/index.d.ts +1 -1
  296. package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
  297. package/cjs/components/TokenInput/TokenInput.d.ts +210 -214
  298. package/cjs/components/TokenInput/TokenInput.js +2 -7
  299. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  300. package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
  301. package/cjs/components/TokenInput/TokenInputMenu.d.ts +19 -19
  302. package/cjs/components/TokenInput/TokenInputMenu.js +3 -4
  303. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  304. package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
  305. package/cjs/components/TokenInput/index.d.ts +1 -1
  306. package/cjs/components/TokenInput/locale/index.d.ts +4 -4
  307. package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
  308. package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
  309. package/cjs/components/TokenInput/locale/types.d.ts +4 -4
  310. package/cjs/components/Tooltip/Tooltip.d.ts +160 -164
  311. package/cjs/components/Tooltip/Tooltip.js +3 -9
  312. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  313. package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
  314. package/cjs/components/Tooltip/index.d.ts +1 -1
  315. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +66 -69
  316. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -6
  317. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  318. package/cjs/components/TooltipMenu/index.d.ts +1 -1
  319. package/cjs/hooks/useDrop.d.ts +11 -11
  320. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -2
  321. package/cjs/hooks/useMemoObject.d.ts +2 -2
  322. package/cjs/index.d.ts +56 -56
  323. package/cjs/internal/BGRuler.d.ts +28 -28
  324. package/cjs/internal/Calendar/Calendar.d.ts +57 -63
  325. package/cjs/internal/Calendar/Calendar.js +2 -9
  326. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  327. package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
  328. package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
  329. package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  330. package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
  331. package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
  332. package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
  333. package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
  334. package/cjs/internal/Calendar/Month.d.ts +33 -33
  335. package/cjs/internal/Calendar/MonthView.d.ts +21 -21
  336. package/cjs/internal/Calendar/MonthView.js +4 -5
  337. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  338. package/cjs/internal/Calendar/MonthView.styles.d.ts +10 -10
  339. package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
  340. package/cjs/internal/Calendar/config.d.ts +2 -2
  341. package/cjs/internal/Calendar/index.d.ts +2 -2
  342. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +33 -33
  343. package/cjs/internal/CommonWrapper/index.d.ts +1 -1
  344. package/cjs/internal/ComponentCombinator.d.ts +23 -23
  345. package/cjs/internal/ComponentTable.d.ts +22 -22
  346. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +33 -40
  347. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +4 -22
  348. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  349. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +96 -95
  350. package/cjs/internal/CustomComboBox/ComboBoxView.js +4 -5
  351. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  352. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +139 -141
  353. package/cjs/internal/CustomComboBox/CustomComboBox.js +5 -7
  354. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  355. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  356. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  357. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  358. package/cjs/internal/CustomComboBox/index.d.ts +2 -2
  359. package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
  360. package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  361. package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  362. package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
  363. package/cjs/internal/DateSelect/DateSelect.d.ts +91 -95
  364. package/cjs/internal/DateSelect/DateSelect.js +3 -8
  365. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  366. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  367. package/cjs/internal/DateSelect/index.d.ts +1 -1
  368. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +45 -41
  369. package/cjs/internal/DropdownContainer/DropdownContainer.js +11 -6
  370. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  371. package/cjs/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -3
  372. package/cjs/internal/DropdownContainer/getManualPosition.d.ts +19 -0
  373. package/cjs/internal/DropdownContainer/getManualPosition.js +41 -0
  374. package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -0
  375. package/cjs/internal/DropdownContainer/index.d.ts +1 -1
  376. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +14 -14
  377. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -14
  378. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +15 -22
  379. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +6 -14
  380. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  381. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +18 -18
  382. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +12 -15
  383. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +2 -6
  384. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  385. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +8 -8
  386. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -7
  387. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +14 -14
  388. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -1
  389. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  390. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -3
  391. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -3
  392. package/cjs/internal/FocusTrap/FocusTrap.d.ts +17 -17
  393. package/cjs/internal/FocusTrap/index.d.ts +1 -1
  394. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  395. package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  396. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  397. package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
  398. package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
  399. package/cjs/internal/InputLikeText/InputLikeText.d.ts +74 -78
  400. package/cjs/internal/InputLikeText/InputLikeText.js +4 -10
  401. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  402. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  403. package/cjs/internal/InputLikeText/index.d.ts +1 -1
  404. package/cjs/internal/InternalMenu/InternalMenu.d.ts +63 -66
  405. package/cjs/internal/InternalMenu/InternalMenu.js +3 -8
  406. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  407. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +10 -10
  408. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -2
  409. package/cjs/internal/InternalMenu/index.d.ts +1 -1
  410. package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
  411. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  412. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  413. package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
  414. package/cjs/internal/MaskedInput/MaskedInput.d.ts +43 -46
  415. package/cjs/internal/MaskedInput/MaskedInput.js +3 -7
  416. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  417. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  418. package/cjs/internal/MaskedInput/index.d.ts +1 -1
  419. package/cjs/internal/Menu/Menu.d.ts +67 -70
  420. package/cjs/internal/Menu/Menu.js +3 -8
  421. package/cjs/internal/Menu/Menu.js.map +1 -1
  422. package/cjs/internal/Menu/Menu.styles.d.ts +9 -9
  423. package/cjs/internal/Menu/index.d.ts +1 -1
  424. package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
  425. package/cjs/internal/MobilePopup/MobilePopup.d.ts +34 -38
  426. package/cjs/internal/MobilePopup/MobilePopup.js +3 -10
  427. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  428. package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +10 -10
  429. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -15
  430. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -10
  431. package/cjs/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -1
  432. package/cjs/internal/MobilePopup/index.d.ts +1 -1
  433. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  434. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  435. package/cjs/internal/NativeDateInput/index.d.ts +1 -1
  436. package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
  437. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  438. package/cjs/internal/Popup/Popup.d.ts +166 -171
  439. package/cjs/internal/Popup/Popup.js +4 -10
  440. package/cjs/internal/Popup/Popup.js.map +1 -1
  441. package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
  442. package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
  443. package/cjs/internal/Popup/PopupPin.d.ts +56 -56
  444. package/cjs/internal/Popup/PopupPin.js +1 -2
  445. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  446. package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
  447. package/cjs/internal/Popup/index.d.ts +1 -1
  448. package/cjs/internal/Popup/types.d.ts +2 -2
  449. package/cjs/internal/PopupMenu/PopupMenu.d.ts +87 -91
  450. package/cjs/internal/PopupMenu/PopupMenu.js +4 -9
  451. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  452. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  453. package/cjs/internal/PopupMenu/index.d.ts +1 -1
  454. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  455. package/cjs/internal/RenderContainer/RenderContainer.d.ts +16 -16
  456. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +13 -13
  457. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +21 -21
  458. package/cjs/internal/RenderContainer/index.d.ts +1 -1
  459. package/cjs/internal/RenderLayer/RenderLayer.d.ts +31 -31
  460. package/cjs/internal/RenderLayer/index.d.ts +1 -1
  461. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +13 -13
  462. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +6 -6
  463. package/cjs/internal/ResizeDetector/index.d.ts +1 -1
  464. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -15
  465. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -4
  466. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +18 -18
  467. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  468. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  469. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +12 -12
  470. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +12 -12
  471. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  472. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  473. package/cjs/internal/ThemePlayground/Playground.d.ts +30 -30
  474. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  475. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  476. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +15 -15
  477. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  478. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -4
  479. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +16 -16
  480. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +53 -53
  481. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +36 -36
  482. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +4 -4
  483. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +9 -9
  484. package/cjs/internal/ThemePlayground/VariableValue.d.ts +43 -43
  485. package/cjs/internal/ThemePlayground/constants.d.ts +19 -19
  486. package/cjs/internal/ThemePlayground/darkTheme.d.ts +269 -269
  487. package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
  488. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  489. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +27 -27
  490. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  491. package/cjs/internal/ZIndex/ZIndex.d.ts +46 -46
  492. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +21 -21
  493. package/cjs/internal/ZIndex/index.d.ts +1 -1
  494. package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
  495. package/cjs/internal/icons/16px/index.d.ts +25 -25
  496. package/cjs/internal/icons/20px/Icon.d.ts +30 -30
  497. package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
  498. package/cjs/internal/icons/20px/index.d.ts +2 -2
  499. package/cjs/internal/icons/20px/svg.d.ts +14 -14
  500. package/cjs/internal/icons/CloudIcon.d.ts +1 -1
  501. package/cjs/internal/icons/CrossIcon.d.ts +1 -1
  502. package/cjs/internal/icons/SpinnerIcon.d.ts +27 -27
  503. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +6 -6
  504. package/cjs/internal/themes/DarkTheme.d.ts +138 -138
  505. package/cjs/internal/themes/DefaultTheme.d.ts +898 -898
  506. package/cjs/internal/themes/NotFlat.d.ts +133 -133
  507. package/cjs/internal/themes/OldColors.d.ts +116 -116
  508. package/cjs/internal/themes/Theme2022.d.ts +67 -67
  509. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -5
  510. package/cjs/lib/ConditionalHandler.d.ts +12 -12
  511. package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -5
  512. package/cjs/lib/LayoutEvents.d.ts +4 -4
  513. package/cjs/lib/ModalStack.d.ts +14 -14
  514. package/cjs/lib/SSRSafe.d.ts +7 -7
  515. package/cjs/lib/Supports.d.ts +1 -1
  516. package/cjs/lib/Upgrades.d.ts +6 -6
  517. package/cjs/lib/animation/index.d.ts +6 -6
  518. package/cjs/lib/animation/presets.d.ts +18 -18
  519. package/cjs/lib/animation/stepper.d.ts +1 -1
  520. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -3
  521. package/cjs/lib/client.d.ts +16 -16
  522. package/cjs/lib/createPropsGetter.d.ts +3 -3
  523. package/cjs/lib/currentEnvironment.d.ts +3 -3
  524. package/cjs/lib/date/InternalDate.d.ts +58 -58
  525. package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
  526. package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
  527. package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
  528. package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
  529. package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
  530. package/cjs/lib/date/constants.d.ts +28 -28
  531. package/cjs/lib/date/localeSets.d.ts +5 -5
  532. package/cjs/lib/date/types.d.ts +94 -94
  533. package/cjs/lib/dom/getDOMRect.d.ts +11 -11
  534. package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
  535. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
  536. package/cjs/lib/events/MouseDrag.d.ts +58 -58
  537. package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
  538. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  539. package/cjs/lib/events/keyListener.d.ts +7 -7
  540. package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  541. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +7 -7
  542. package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
  543. package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
  544. package/cjs/lib/events/stopPropagation.d.ts +1 -1
  545. package/cjs/lib/events/tabListener.d.ts +1 -1
  546. package/cjs/lib/extractKeyboardAction.d.ts +13 -13
  547. package/cjs/lib/filterProps.d.ts +12 -12
  548. package/cjs/lib/forwardRefAndName.d.ts +5 -5
  549. package/cjs/lib/getDisplayName.d.ts +3 -3
  550. package/cjs/lib/listenFocusOutside.d.ts +8 -8
  551. package/cjs/lib/locale/LocaleContext.d.ts +7 -7
  552. package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
  553. package/cjs/lib/locale/constants.d.ts +2 -2
  554. package/cjs/lib/locale/decorators.d.ts +36 -36
  555. package/cjs/lib/locale/index.d.ts +3 -3
  556. package/cjs/lib/locale/types.d.ts +21 -21
  557. package/cjs/lib/locale/useLocaleForControl.d.ts +3 -3
  558. package/cjs/lib/memo.d.ts +3 -3
  559. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -6
  560. package/cjs/lib/net/fetch.d.ts +13 -13
  561. package/cjs/lib/reactGetTextContent.d.ts +2 -2
  562. package/cjs/lib/rootNode/getRootNode.d.ts +12 -12
  563. package/cjs/lib/rootNode/index.d.ts +2 -2
  564. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +52 -52
  565. package/cjs/lib/stringUtils.d.ts +1 -1
  566. package/cjs/lib/styles/ColorFactory.d.ts +11 -11
  567. package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
  568. package/cjs/lib/styles/ColorHelpers.d.ts +21 -21
  569. package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
  570. package/cjs/lib/styles/ColorObject.d.ts +52 -52
  571. package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
  572. package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
  573. package/cjs/lib/styles/Mixins.d.ts +2 -2
  574. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -1
  575. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  576. package/cjs/lib/theming/AnimationKeyframes.d.ts +7 -7
  577. package/cjs/lib/theming/Emotion.d.ts +15 -15
  578. package/cjs/lib/theming/Theme.d.ts +3 -3
  579. package/cjs/lib/theming/ThemeContext.d.ts +2 -2
  580. package/cjs/lib/theming/ThemeFactory.d.ts +7 -7
  581. package/cjs/lib/theming/ThemeFactory.js +7 -0
  582. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  583. package/cjs/lib/theming/ThemeHelpers.d.ts +15 -6
  584. package/cjs/lib/theming/ThemeHelpers.js +24 -5
  585. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  586. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -1
  587. package/cjs/lib/theming/themes/DarkTheme.js +1 -1
  588. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  589. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  590. package/cjs/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -1
  591. package/cjs/lib/theming/themes/DefaultThemeMobile.d.ts +3 -3
  592. package/cjs/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -1
  593. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -1
  594. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -1
  595. package/cjs/lib/theming/themes/Theme2022Dark.js +4 -3
  596. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -1
  597. package/cjs/lib/theming/useTheme.d.ts +1 -1
  598. package/cjs/lib/uidUtils.d.ts +1 -1
  599. package/cjs/lib/utils.d.ts +80 -80
  600. package/cjs/lib/withClassWrapper.d.ts +71 -71
  601. package/components/Autocomplete/Autocomplete/Autocomplete.js +4 -6
  602. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  603. package/components/Autocomplete/Autocomplete.d.ts +117 -119
  604. package/components/Autocomplete/Autocomplete.styles.d.ts +4 -4
  605. package/components/Autocomplete/index.d.ts +1 -1
  606. package/components/Button/Button/Button.js +0 -4
  607. package/components/Button/Button/Button.js.map +1 -1
  608. package/components/Button/Button.d.ts +157 -160
  609. package/components/Button/Button.mixins.d.ts +6 -6
  610. package/components/Button/Button.styles.d.ts +72 -72
  611. package/components/Button/index.d.ts +1 -1
  612. package/components/Center/Center/Center.js +1 -6
  613. package/components/Center/Center/Center.js.map +1 -1
  614. package/components/Center/Center.d.ts +26 -29
  615. package/components/Center/Center.styles.d.ts +7 -7
  616. package/components/Center/index.d.ts +1 -1
  617. package/components/Checkbox/Checkbox/Checkbox.js +0 -4
  618. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  619. package/components/Checkbox/Checkbox.d.ts +101 -104
  620. package/components/Checkbox/Checkbox.styles.d.ts +24 -24
  621. package/components/Checkbox/index.d.ts +1 -1
  622. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  623. package/components/ComboBox/ComboBox.d.ts +195 -194
  624. package/components/ComboBox/index.d.ts +1 -1
  625. package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  626. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +1 -6
  627. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  628. package/components/CurrencyInput/CurrencyInput.d.ts +103 -106
  629. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  630. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +20 -20
  631. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  632. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  633. package/components/CurrencyInput/constants.d.ts +5 -5
  634. package/components/CurrencyInput/index.d.ts +1 -1
  635. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -6
  636. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  637. package/components/CurrencyLabel/CurrencyLabel.d.ts +20 -23
  638. package/components/CurrencyLabel/index.d.ts +1 -1
  639. package/components/DateInput/DateFragmentsView.d.ts +20 -20
  640. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  641. package/components/DateInput/DateInput.d.ts +104 -104
  642. package/components/DateInput/DateInput.styles.d.ts +10 -10
  643. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  644. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  645. package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  646. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  647. package/components/DateInput/helpers/inputNumber.d.ts +5 -5
  648. package/components/DateInput/index.d.ts +1 -1
  649. package/components/DatePicker/DatePicker/DatePicker.js +1 -6
  650. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  651. package/components/DatePicker/DatePicker.d.ts +129 -133
  652. package/components/DatePicker/DatePicker.styles.d.ts +3 -3
  653. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  654. package/components/DatePicker/Picker/Picker.js +1 -3
  655. package/components/DatePicker/Picker/Picker.js.map +1 -1
  656. package/components/DatePicker/Picker.d.ts +33 -33
  657. package/components/DatePicker/Picker.styles.d.ts +5 -5
  658. package/components/DatePicker/index.d.ts +1 -1
  659. package/components/DatePicker/locale/index.d.ts +4 -4
  660. package/components/DatePicker/locale/locales/en.d.ts +2 -2
  661. package/components/DatePicker/locale/locales/ru.d.ts +2 -2
  662. package/components/DatePicker/locale/types.d.ts +5 -5
  663. package/components/Dropdown/Dropdown/Dropdown.js +5 -9
  664. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  665. package/components/Dropdown/Dropdown.d.ts +125 -128
  666. package/components/Dropdown/index.d.ts +1 -1
  667. package/components/DropdownMenu/DropdownMenu.d.ts +62 -62
  668. package/components/DropdownMenu/index.d.ts +1 -1
  669. package/components/FileUploader/FileUploader/FileUploader.js +2 -9
  670. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  671. package/components/FileUploader/FileUploader.d.ts +51 -56
  672. package/components/FileUploader/FileUploader.mixins.d.ts +1 -1
  673. package/components/FileUploader/FileUploader.styles.d.ts +33 -33
  674. package/components/FileUploader/index.d.ts +5 -5
  675. package/components/FileUploader/locale/index.d.ts +4 -4
  676. package/components/FileUploader/locale/locales/en.d.ts +2 -2
  677. package/components/FileUploader/locale/locales/ru.d.ts +2 -2
  678. package/components/FileUploader/locale/types.d.ts +6 -6
  679. package/components/FxInput/FxInput/FxInput.js +0 -4
  680. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  681. package/components/FxInput/FxInput.d.ts +50 -53
  682. package/components/FxInput/index.d.ts +1 -1
  683. package/components/Gapped/Gapped/Gapped.js +1 -8
  684. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  685. package/components/Gapped/Gapped.d.ts +56 -60
  686. package/components/Gapped/index.d.ts +1 -1
  687. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +1 -4
  688. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  689. package/components/GlobalLoader/GlobalLoader.d.ts +103 -106
  690. package/components/GlobalLoader/GlobalLoaderView.d.ts +13 -13
  691. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +16 -16
  692. package/components/GlobalLoader/index.d.ts +1 -1
  693. package/components/GlobalLoader/useParams.d.ts +22 -22
  694. package/components/Group/Group/Group.js +0 -4
  695. package/components/Group/Group/Group.js.map +1 -1
  696. package/components/Group/Group.d.ts +15 -18
  697. package/components/Group/Group.styles.d.ts +8 -8
  698. package/components/Group/index.d.ts +1 -1
  699. package/components/Hint/Hint.d.ts +85 -85
  700. package/components/Hint/Hint.styles.d.ts +6 -6
  701. package/components/Hint/index.d.ts +1 -1
  702. package/components/Input/Input/Input.js +1 -6
  703. package/components/Input/Input/Input.js.map +1 -1
  704. package/components/Input/Input.d.ts +154 -157
  705. package/components/Input/Input.styles.d.ts +43 -43
  706. package/components/Input/index.d.ts +1 -1
  707. package/components/Kebab/Kebab.d.ts +53 -53
  708. package/components/Kebab/Kebab.styles.d.ts +12 -12
  709. package/components/Kebab/index.d.ts +1 -1
  710. package/components/Link/Link/Link.js +1 -6
  711. package/components/Link/Link/Link.js.map +1 -1
  712. package/components/Link/Link.d.ts +70 -73
  713. package/components/Link/Link.mixins.d.ts +3 -3
  714. package/components/Link/Link.styles.d.ts +15 -15
  715. package/components/Link/index.d.ts +1 -1
  716. package/components/Loader/Loader/Loader.js +2 -6
  717. package/components/Loader/Loader/Loader.js.map +1 -1
  718. package/components/Loader/Loader.d.ts +113 -117
  719. package/components/Loader/Loader.styles.d.ts +8 -8
  720. package/components/Loader/index.d.ts +1 -1
  721. package/components/MenuHeader/MenuHeader/MenuHeader.js +0 -4
  722. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  723. package/components/MenuHeader/MenuHeader.d.ts +20 -23
  724. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  725. package/components/MenuHeader/index.d.ts +1 -1
  726. package/components/MenuItem/MenuItem/MenuItem.js +9 -14
  727. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  728. package/components/MenuItem/MenuItem.d.ts +107 -111
  729. package/components/MenuItem/MenuItem.styles.d.ts +15 -15
  730. package/components/MenuItem/index.d.ts +1 -1
  731. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +0 -4
  732. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  733. package/components/MenuSeparator/MenuSeparator.d.ts +12 -15
  734. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  735. package/components/MenuSeparator/index.d.ts +1 -1
  736. package/components/Modal/Modal/Modal.js +2 -7
  737. package/components/Modal/Modal/Modal.js.map +1 -1
  738. package/components/Modal/Modal.d.ts +89 -94
  739. package/components/Modal/Modal.styles/Modal.styles.js +1 -1
  740. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  741. package/components/Modal/Modal.styles.d.ts +40 -40
  742. package/components/Modal/ModalBody.d.ts +23 -23
  743. package/components/Modal/ModalClose/ModalClose.js +1 -2
  744. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  745. package/components/Modal/ModalClose.d.ts +2 -2
  746. package/components/Modal/ModalContext.d.ts +16 -16
  747. package/components/Modal/ModalFooter/ModalFooter.js +0 -4
  748. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  749. package/components/Modal/ModalFooter.d.ts +35 -38
  750. package/components/Modal/ModalHeader/ModalHeader.js +0 -4
  751. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  752. package/components/Modal/ModalHeader.d.ts +17 -20
  753. package/components/Modal/index.d.ts +4 -4
  754. package/components/Paging/NavigationHelper.d.ts +7 -7
  755. package/components/Paging/Paging/Paging.js +5 -12
  756. package/components/Paging/Paging/Paging.js.map +1 -1
  757. package/components/Paging/Paging.d.ts +97 -104
  758. package/components/Paging/Paging.styles.d.ts +20 -20
  759. package/components/Paging/PagingDefaultComponent.d.ts +9 -9
  760. package/components/Paging/PagingHelper.d.ts +2 -2
  761. package/components/Paging/index.d.ts +1 -1
  762. package/components/Paging/locale/index.d.ts +4 -4
  763. package/components/Paging/locale/locales/en.d.ts +2 -2
  764. package/components/Paging/locale/locales/ru.d.ts +2 -2
  765. package/components/Paging/locale/types.d.ts +3 -3
  766. package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -8
  767. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  768. package/components/PasswordInput/PasswordInput.d.ts +52 -57
  769. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  770. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -3
  771. package/components/PasswordInput/index.d.ts +1 -1
  772. package/components/Radio/Radio/Radio.js +1 -6
  773. package/components/Radio/Radio/Radio.js.map +1 -1
  774. package/components/Radio/Radio.d.ts +78 -81
  775. package/components/Radio/Radio.styles.d.ts +21 -21
  776. package/components/Radio/index.d.ts +1 -1
  777. package/components/RadioGroup/Prevent.d.ts +8 -8
  778. package/components/RadioGroup/RadioGroup/RadioGroup.js +0 -4
  779. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  780. package/components/RadioGroup/RadioGroup.d.ts +107 -110
  781. package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  782. package/components/RadioGroup/RadioGroupContext.d.ts +10 -10
  783. package/components/RadioGroup/index.d.ts +1 -1
  784. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +12 -12
  785. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -11
  786. package/components/ResponsiveLayout/decorator.d.ts +33 -33
  787. package/components/ResponsiveLayout/index.d.ts +3 -3
  788. package/components/ResponsiveLayout/types.d.ts +11 -11
  789. package/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
  790. package/components/ScrollContainer/ScrollBar.d.ts +41 -41
  791. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -6
  792. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  793. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  794. package/components/ScrollContainer/ScrollContainer.d.ts +97 -101
  795. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  796. package/components/ScrollContainer/ScrollContainer.styles.d.ts +21 -21
  797. package/components/ScrollContainer/index.d.ts +1 -1
  798. package/components/Select/Item.d.ts +9 -9
  799. package/components/Select/Select/Select.js +2 -5
  800. package/components/Select/Select/Select.js.map +1 -1
  801. package/components/Select/Select.d.ts +160 -162
  802. package/components/Select/Select.styles.d.ts +18 -18
  803. package/components/Select/index.d.ts +1 -1
  804. package/components/Select/locale/index.d.ts +4 -4
  805. package/components/Select/locale/locales/en.d.ts +2 -2
  806. package/components/Select/locale/locales/ru.d.ts +2 -2
  807. package/components/Select/locale/types.d.ts +4 -4
  808. package/components/Select/selectTheme.d.ts +3 -3
  809. package/components/SidePage/SidePage/SidePage.js +2 -6
  810. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  811. package/components/SidePage/SidePage.d.ts +111 -115
  812. package/components/SidePage/SidePage.styles.d.ts +48 -48
  813. package/components/SidePage/SidePageBody/SidePageBody.js +6 -10
  814. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  815. package/components/SidePage/SidePageBody.d.ts +20 -23
  816. package/components/SidePage/SidePageContainer/SidePageContainer.js +6 -10
  817. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  818. package/components/SidePage/SidePageContainer.d.ts +16 -19
  819. package/components/SidePage/SidePageContext.d.ts +17 -17
  820. package/components/SidePage/SidePageFooter/SidePageFooter.js +6 -10
  821. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  822. package/components/SidePage/SidePageFooter.d.ts +49 -52
  823. package/components/SidePage/SidePageHeader/SidePageHeader.js +7 -12
  824. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  825. package/components/SidePage/SidePageHeader.d.ts +44 -48
  826. package/components/SidePage/index.d.ts +5 -5
  827. package/components/Spinner/Spinner/Spinner.js +0 -4
  828. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  829. package/components/Spinner/Spinner.d.ts +67 -70
  830. package/components/Spinner/Spinner.styles.d.ts +13 -13
  831. package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  832. package/components/Spinner/index.d.ts +1 -1
  833. package/components/Spinner/locale/index.d.ts +4 -4
  834. package/components/Spinner/locale/locales/en.d.ts +2 -2
  835. package/components/Spinner/locale/locales/ru.d.ts +2 -2
  836. package/components/Spinner/locale/types.d.ts +4 -4
  837. package/components/Sticky/Sticky/Sticky.js +0 -4
  838. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  839. package/components/Sticky/Sticky.d.ts +60 -63
  840. package/components/Sticky/Sticky.styles.d.ts +7 -7
  841. package/components/Sticky/index.d.ts +1 -1
  842. package/components/Switcher/Switcher/Switcher.js +0 -4
  843. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  844. package/components/Switcher/Switcher.d.ts +66 -69
  845. package/components/Switcher/Switcher.styles.d.ts +11 -11
  846. package/components/Switcher/helpers.d.ts +1 -1
  847. package/components/Switcher/index.d.ts +1 -1
  848. package/components/Switcher/switcherTheme.d.ts +2 -2
  849. package/components/Tabs/Indicator/Indicator.js +0 -2
  850. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  851. package/components/Tabs/Indicator.d.ts +28 -28
  852. package/components/Tabs/Indicator.styles.d.ts +8 -8
  853. package/components/Tabs/Tab/Tab.js +0 -4
  854. package/components/Tabs/Tab/Tab.js.map +1 -1
  855. package/components/Tabs/Tab.d.ts +113 -116
  856. package/components/Tabs/Tab.styles.d.ts +27 -27
  857. package/components/Tabs/Tabs/Tabs.js +0 -5
  858. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  859. package/components/Tabs/Tabs.d.ts +56 -60
  860. package/components/Tabs/Tabs.styles.d.ts +5 -5
  861. package/components/Tabs/TabsContext.d.ts +14 -14
  862. package/components/Tabs/index.d.ts +2 -2
  863. package/components/Textarea/Textarea/Textarea.js +1 -7
  864. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  865. package/components/Textarea/Textarea.d.ts +183 -187
  866. package/components/Textarea/Textarea.styles.d.ts +15 -15
  867. package/components/Textarea/TextareaCounter/TextareaCounter.js +0 -2
  868. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  869. package/components/Textarea/TextareaCounter.d.ts +12 -12
  870. package/components/Textarea/TextareaHelpers.d.ts +11 -11
  871. package/components/Textarea/index.d.ts +1 -1
  872. package/components/Toast/Toast/Toast.js +10 -16
  873. package/components/Toast/Toast/Toast.js.map +1 -1
  874. package/components/Toast/Toast.d.ts +58 -64
  875. package/components/Toast/Toast.styles.d.ts +6 -6
  876. package/components/Toast/ToastStatic/ToastStatic.js +2 -2
  877. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  878. package/components/Toast/ToastStatic.d.ts +8 -8
  879. package/components/Toast/ToastView/ToastView.js +3 -4
  880. package/components/Toast/ToastView/ToastView.js.map +1 -1
  881. package/components/Toast/ToastView.d.ts +38 -38
  882. package/components/Toast/ToastView.styles.d.ts +8 -8
  883. package/components/Toast/index.d.ts +1 -1
  884. package/components/Toggle/Toggle/Toggle.js +0 -4
  885. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  886. package/components/Toggle/Toggle.d.ts +106 -109
  887. package/components/Toggle/Toggle.styles.d.ts +30 -30
  888. package/components/Toggle/index.d.ts +1 -1
  889. package/components/Token/Token/Token.js +0 -4
  890. package/components/Token/Token/Token.js.map +1 -1
  891. package/components/Token/Token.d.ts +36 -39
  892. package/components/Token/Token.styles.d.ts +29 -29
  893. package/components/Token/index.d.ts +1 -1
  894. package/components/TokenInput/TextWidthHelper.d.ts +18 -18
  895. package/components/TokenInput/TokenInput/TokenInput.js +0 -5
  896. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  897. package/components/TokenInput/TokenInput.d.ts +210 -214
  898. package/components/TokenInput/TokenInput.styles.d.ts +15 -15
  899. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +0 -2
  900. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  901. package/components/TokenInput/TokenInputMenu.d.ts +19 -19
  902. package/components/TokenInput/TokenInputReducer.d.ts +25 -25
  903. package/components/TokenInput/index.d.ts +1 -1
  904. package/components/TokenInput/locale/index.d.ts +4 -4
  905. package/components/TokenInput/locale/locales/en.d.ts +2 -2
  906. package/components/TokenInput/locale/locales/ru.d.ts +2 -2
  907. package/components/TokenInput/locale/types.d.ts +4 -4
  908. package/components/Tooltip/Tooltip/Tooltip.js +1 -7
  909. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  910. package/components/Tooltip/Tooltip.d.ts +160 -164
  911. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  912. package/components/Tooltip/index.d.ts +1 -1
  913. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +0 -4
  914. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  915. package/components/TooltipMenu/TooltipMenu.d.ts +66 -69
  916. package/components/TooltipMenu/index.d.ts +1 -1
  917. package/hooks/useDrop.d.ts +11 -11
  918. package/hooks/useEffectWithoutInitCall.d.ts +2 -2
  919. package/hooks/useMemoObject.d.ts +2 -2
  920. package/index.d.ts +56 -56
  921. package/internal/BGRuler.d.ts +28 -28
  922. package/internal/Calendar/Calendar/Calendar.js +1 -7
  923. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  924. package/internal/Calendar/Calendar.d.ts +57 -63
  925. package/internal/Calendar/Calendar.styles.d.ts +5 -5
  926. package/internal/Calendar/CalendarDateShape.d.ts +14 -14
  927. package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  928. package/internal/Calendar/CalendarUtils.d.ts +19 -19
  929. package/internal/Calendar/DayCellView.d.ts +13 -13
  930. package/internal/Calendar/DayCellView.styles.d.ts +7 -7
  931. package/internal/Calendar/DayCellViewModel.d.ts +8 -8
  932. package/internal/Calendar/Month.d.ts +33 -33
  933. package/internal/Calendar/MonthView/MonthView.js +3 -4
  934. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  935. package/internal/Calendar/MonthView.d.ts +21 -21
  936. package/internal/Calendar/MonthView.styles.d.ts +10 -10
  937. package/internal/Calendar/MonthViewModel.d.ts +14 -14
  938. package/internal/Calendar/config.d.ts +2 -2
  939. package/internal/Calendar/index.d.ts +2 -2
  940. package/internal/CommonWrapper/CommonWrapper.d.ts +33 -33
  941. package/internal/CommonWrapper/index.d.ts +1 -1
  942. package/internal/ComponentCombinator.d.ts +23 -23
  943. package/internal/ComponentTable.d.ts +22 -22
  944. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -12
  945. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  946. package/internal/CustomComboBox/ComboBoxMenu.d.ts +33 -40
  947. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +3 -3
  948. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  949. package/internal/CustomComboBox/ComboBoxView.d.ts +96 -95
  950. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +1 -3
  951. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  952. package/internal/CustomComboBox/CustomComboBox.d.ts +139 -141
  953. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  954. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  955. package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  956. package/internal/CustomComboBox/index.d.ts +2 -2
  957. package/internal/CustomComboBox/locale/index.d.ts +4 -4
  958. package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  959. package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  960. package/internal/CustomComboBox/locale/types.d.ts +5 -5
  961. package/internal/DateSelect/DateSelect/DateSelect.js +2 -6
  962. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  963. package/internal/DateSelect/DateSelect.d.ts +91 -95
  964. package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  965. package/internal/DateSelect/index.d.ts +1 -1
  966. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +17 -4
  967. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  968. package/internal/DropdownContainer/DropdownContainer.d.ts +45 -41
  969. package/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -3
  970. package/internal/DropdownContainer/getManualPosition/getManualPosition.js +36 -0
  971. package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -0
  972. package/internal/DropdownContainer/getManualPosition/package.json +6 -0
  973. package/internal/DropdownContainer/getManualPosition.d.ts +19 -0
  974. package/internal/DropdownContainer/index.d.ts +1 -1
  975. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +14 -14
  976. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -14
  977. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +5 -12
  978. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  979. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +15 -22
  980. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +18 -18
  981. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +1 -4
  982. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  983. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +12 -15
  984. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +8 -8
  985. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -7
  986. package/internal/FileUploaderControl/fileUtils.d.ts +14 -14
  987. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -1
  988. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  989. package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -3
  990. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -3
  991. package/internal/FocusTrap/FocusTrap.d.ts +17 -17
  992. package/internal/FocusTrap/index.d.ts +1 -1
  993. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  994. package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  995. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  996. package/internal/IgnoreLayerClick/index.d.ts +1 -1
  997. package/internal/InputLikeText/HiddenInput.d.ts +13 -13
  998. package/internal/InputLikeText/InputLikeText/InputLikeText.js +2 -8
  999. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1000. package/internal/InputLikeText/InputLikeText.d.ts +74 -78
  1001. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  1002. package/internal/InputLikeText/index.d.ts +1 -1
  1003. package/internal/InternalMenu/InternalMenu/InternalMenu.js +0 -4
  1004. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1005. package/internal/InternalMenu/InternalMenu.d.ts +63 -66
  1006. package/internal/InternalMenu/InternalMenu.styles.d.ts +10 -10
  1007. package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -2
  1008. package/internal/InternalMenu/index.d.ts +1 -1
  1009. package/internal/InternalMenu/isActiveElement.d.ts +3 -3
  1010. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  1011. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  1012. package/internal/MaskCharLowLine/index.d.ts +1 -1
  1013. package/internal/MaskedInput/MaskedInput/MaskedInput.js +0 -4
  1014. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  1015. package/internal/MaskedInput/MaskedInput.d.ts +43 -46
  1016. package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  1017. package/internal/MaskedInput/index.d.ts +1 -1
  1018. package/internal/Menu/Menu/Menu.js +0 -4
  1019. package/internal/Menu/Menu/Menu.js.map +1 -1
  1020. package/internal/Menu/Menu.d.ts +67 -70
  1021. package/internal/Menu/Menu.styles.d.ts +9 -9
  1022. package/internal/Menu/index.d.ts +1 -1
  1023. package/internal/Menu/isActiveElement.d.ts +3 -3
  1024. package/internal/MobilePopup/MobilePopup/MobilePopup.js +0 -6
  1025. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  1026. package/internal/MobilePopup/MobilePopup.d.ts +34 -38
  1027. package/internal/MobilePopup/MobilePopup.styles.d.ts +10 -10
  1028. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -15
  1029. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -10
  1030. package/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -1
  1031. package/internal/MobilePopup/index.d.ts +1 -1
  1032. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  1033. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  1034. package/internal/NativeDateInput/index.d.ts +1 -1
  1035. package/internal/NativeDateInput/utils.d.ts +7 -7
  1036. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  1037. package/internal/Popup/Popup/Popup.js +2 -7
  1038. package/internal/Popup/Popup/Popup.js.map +1 -1
  1039. package/internal/Popup/Popup.d.ts +166 -171
  1040. package/internal/Popup/Popup.styles.d.ts +16 -16
  1041. package/internal/Popup/PopupHelper.d.ts +26 -26
  1042. package/internal/Popup/PopupPin/PopupPin.js +0 -2
  1043. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  1044. package/internal/Popup/PopupPin.d.ts +56 -56
  1045. package/internal/Popup/PopupPin.styles.d.ts +3 -3
  1046. package/internal/Popup/index.d.ts +1 -1
  1047. package/internal/Popup/types.d.ts +2 -2
  1048. package/internal/PopupMenu/PopupMenu/PopupMenu.js +2 -7
  1049. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1050. package/internal/PopupMenu/PopupMenu.d.ts +87 -91
  1051. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  1052. package/internal/PopupMenu/index.d.ts +1 -1
  1053. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  1054. package/internal/RenderContainer/RenderContainer.d.ts +16 -16
  1055. package/internal/RenderContainer/RenderContainerTypes.d.ts +13 -13
  1056. package/internal/RenderContainer/RenderInnerContainer.d.ts +21 -21
  1057. package/internal/RenderContainer/index.d.ts +1 -1
  1058. package/internal/RenderLayer/RenderLayer.d.ts +31 -31
  1059. package/internal/RenderLayer/index.d.ts +1 -1
  1060. package/internal/ResizeDetector/ResizeDetector.d.ts +13 -13
  1061. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +6 -6
  1062. package/internal/ResizeDetector/index.d.ts +1 -1
  1063. package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -15
  1064. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -4
  1065. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +18 -18
  1066. package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  1067. package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  1068. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +12 -12
  1069. package/internal/ThemePlayground/FxInputPlayground.d.ts +12 -12
  1070. package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  1071. package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  1072. package/internal/ThemePlayground/Playground.d.ts +30 -30
  1073. package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  1074. package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  1075. package/internal/ThemePlayground/SelectPlayground.d.ts +15 -15
  1076. package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  1077. package/internal/ThemePlayground/SizesGroup.d.ts +4 -4
  1078. package/internal/ThemePlayground/SwitcherPlayground.d.ts +16 -16
  1079. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +53 -53
  1080. package/internal/ThemePlayground/ThemeEditor.d.ts +36 -36
  1081. package/internal/ThemePlayground/TogglePlayground.d.ts +4 -4
  1082. package/internal/ThemePlayground/TokenInputPlayground.d.ts +9 -9
  1083. package/internal/ThemePlayground/VariableValue.d.ts +43 -43
  1084. package/internal/ThemePlayground/constants.d.ts +19 -19
  1085. package/internal/ThemePlayground/darkTheme.d.ts +269 -269
  1086. package/internal/ThemePlayground/helpers.d.ts +2 -2
  1087. package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  1088. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +27 -27
  1089. package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  1090. package/internal/ZIndex/ZIndex.d.ts +46 -46
  1091. package/internal/ZIndex/ZIndexStorage.d.ts +21 -21
  1092. package/internal/ZIndex/index.d.ts +1 -1
  1093. package/internal/icons/16px/icon.styles.d.ts +4 -4
  1094. package/internal/icons/16px/index.d.ts +25 -25
  1095. package/internal/icons/20px/Icon.d.ts +30 -30
  1096. package/internal/icons/20px/icon.styles.d.ts +4 -4
  1097. package/internal/icons/20px/index.d.ts +2 -2
  1098. package/internal/icons/20px/svg.d.ts +14 -14
  1099. package/internal/icons/CloudIcon.d.ts +1 -1
  1100. package/internal/icons/CrossIcon.d.ts +1 -1
  1101. package/internal/icons/SpinnerIcon.d.ts +27 -27
  1102. package/internal/icons/SpinnerIcon.styles.d.ts +6 -6
  1103. package/internal/themes/DarkTheme.d.ts +138 -138
  1104. package/internal/themes/DefaultTheme.d.ts +898 -898
  1105. package/internal/themes/NotFlat.d.ts +133 -133
  1106. package/internal/themes/OldColors.d.ts +116 -116
  1107. package/internal/themes/Theme2022.d.ts +67 -67
  1108. package/internal/themes/Theme2022Dark.d.ts +5 -5
  1109. package/lib/ConditionalHandler.d.ts +12 -12
  1110. package/lib/InstanceWithAnchorElement.d.ts +5 -5
  1111. package/lib/LayoutEvents.d.ts +4 -4
  1112. package/lib/ModalStack.d.ts +14 -14
  1113. package/lib/SSRSafe.d.ts +7 -7
  1114. package/lib/Supports.d.ts +1 -1
  1115. package/lib/Upgrades.d.ts +6 -6
  1116. package/lib/animation/index.d.ts +6 -6
  1117. package/lib/animation/presets.d.ts +18 -18
  1118. package/lib/animation/stepper.d.ts +1 -1
  1119. package/lib/callChildRef/callChildRef.d.ts +3 -3
  1120. package/lib/client.d.ts +16 -16
  1121. package/lib/createPropsGetter.d.ts +3 -3
  1122. package/lib/currentEnvironment.d.ts +3 -3
  1123. package/lib/date/InternalDate.d.ts +58 -58
  1124. package/lib/date/InternalDateCalculator.d.ts +6 -6
  1125. package/lib/date/InternalDateGetter.d.ts +15 -15
  1126. package/lib/date/InternalDateSetter.d.ts +6 -6
  1127. package/lib/date/InternalDateTransformer.d.ts +12 -12
  1128. package/lib/date/InternalDateValidator.d.ts +12 -12
  1129. package/lib/date/constants.d.ts +28 -28
  1130. package/lib/date/localeSets.d.ts +5 -5
  1131. package/lib/date/types.d.ts +94 -94
  1132. package/lib/dom/getDOMRect.d.ts +11 -11
  1133. package/lib/dom/getScrollWidth.d.ts +1 -1
  1134. package/lib/dom/tabbableHelpers.d.ts +16 -16
  1135. package/lib/events/MouseDrag.d.ts +58 -58
  1136. package/lib/events/fixClickFocusIE.d.ts +1 -1
  1137. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  1138. package/lib/events/keyListener.d.ts +7 -7
  1139. package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  1140. package/lib/events/keyboard/KeyboardMapKeys.d.ts +7 -7
  1141. package/lib/events/keyboard/extractCode.d.ts +3 -3
  1142. package/lib/events/keyboard/identifiers.d.ts +48 -48
  1143. package/lib/events/stopPropagation.d.ts +1 -1
  1144. package/lib/events/tabListener.d.ts +1 -1
  1145. package/lib/extractKeyboardAction.d.ts +13 -13
  1146. package/lib/filterProps.d.ts +12 -12
  1147. package/lib/forwardRefAndName.d.ts +5 -5
  1148. package/lib/getDisplayName.d.ts +3 -3
  1149. package/lib/listenFocusOutside.d.ts +8 -8
  1150. package/lib/locale/LocaleContext.d.ts +7 -7
  1151. package/lib/locale/LocaleHelper.d.ts +9 -9
  1152. package/lib/locale/constants.d.ts +2 -2
  1153. package/lib/locale/decorators.d.ts +36 -36
  1154. package/lib/locale/index.d.ts +3 -3
  1155. package/lib/locale/types.d.ts +21 -21
  1156. package/lib/locale/useLocaleForControl.d.ts +3 -3
  1157. package/lib/memo.d.ts +3 -3
  1158. package/lib/needsPolyfillPlaceholder.d.ts +6 -6
  1159. package/lib/net/fetch.d.ts +13 -13
  1160. package/lib/reactGetTextContent.d.ts +2 -2
  1161. package/lib/rootNode/getRootNode.d.ts +12 -12
  1162. package/lib/rootNode/index.d.ts +2 -2
  1163. package/lib/rootNode/rootNodeDecorator.d.ts +52 -52
  1164. package/lib/stringUtils.d.ts +1 -1
  1165. package/lib/styles/ColorFactory.d.ts +11 -11
  1166. package/lib/styles/ColorFunctions.d.ts +11 -11
  1167. package/lib/styles/ColorHelpers.d.ts +21 -21
  1168. package/lib/styles/ColorKeywords.d.ts +150 -150
  1169. package/lib/styles/ColorObject.d.ts +52 -52
  1170. package/lib/styles/DimensionFunctions.d.ts +1 -1
  1171. package/lib/styles/HoldSelectionColor.d.ts +1 -1
  1172. package/lib/styles/Mixins.d.ts +2 -2
  1173. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -1
  1174. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  1175. package/lib/theming/AnimationKeyframes.d.ts +7 -7
  1176. package/lib/theming/Emotion.d.ts +15 -15
  1177. package/lib/theming/Theme.d.ts +3 -3
  1178. package/lib/theming/ThemeContext.d.ts +2 -2
  1179. package/lib/theming/ThemeFactory/ThemeFactory.js +7 -1
  1180. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  1181. package/lib/theming/ThemeFactory.d.ts +7 -7
  1182. package/lib/theming/ThemeHelpers/ThemeHelpers.js +18 -4
  1183. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  1184. package/lib/theming/ThemeHelpers.d.ts +15 -6
  1185. package/lib/theming/themes/DarkTheme/DarkTheme.js +2 -2
  1186. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  1187. package/lib/theming/themes/DarkTheme.d.ts +1 -1
  1188. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  1189. package/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -1
  1190. package/lib/theming/themes/DefaultThemeMobile.d.ts +3 -3
  1191. package/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -1
  1192. package/lib/theming/themes/Theme2022.d.ts +1 -1
  1193. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +2 -1
  1194. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  1195. package/lib/theming/themes/Theme2022Dark.d.ts +1 -1
  1196. package/lib/theming/useTheme.d.ts +1 -1
  1197. package/lib/uidUtils.d.ts +1 -1
  1198. package/lib/utils.d.ts +80 -80
  1199. package/lib/withClassWrapper.d.ts +71 -71
  1200. package/package.json +2 -5
  1201. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  1202. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  1203. package/cjs/internal/DataTids/DataTids.js +0 -50
  1204. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  1205. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  1206. package/cjs/internal/DataTids/DataTids.styles.js +0 -41
  1207. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  1208. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  1209. package/cjs/internal/DataTids/componentsDataTids.js +0 -16
  1210. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  1211. package/internal/DataTids/DATATIDS.md +0 -12
  1212. package/internal/DataTids/DataTids/DataTids.js +0 -69
  1213. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  1214. package/internal/DataTids/DataTids/package.json +0 -6
  1215. package/internal/DataTids/DataTids.d.ts +0 -12
  1216. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -22
  1217. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  1218. package/internal/DataTids/DataTids.styles/package.json +0 -6
  1219. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  1220. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -14
  1221. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  1222. package/internal/DataTids/componentsDataTids/package.json +0 -6
  1223. package/internal/DataTids/componentsDataTids.d.ts +0 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["DateSelect.tsx"],"names":["React","PropTypes","isNonNullable","isKeyEscape","DatePickerLocaleHelper","locale","RenderLayer","DropdownContainer","LayoutEvents","ThemeContext","ArrowTriangleUpDownIcon","ArrowChevronDownIcon","ArrowChevronUpIcon","isMobile","cx","getDOMRect","createPropsGetter","styles","itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","DateSelect","getProps","defaultProps","state","botCapped","current","height","opened","top","topCapped","nodeTop","Infinity","root","itemsContainer","longClickTimer","setPositionRepeatTimer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","refRoot","element","setNodeTop","timeout","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","window","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","value","onValueChange","handleKey","e","handleUp","handleDown","componentDidUpdate","componentDidMount","listener","addListener","componentWillUnmount","remove","render","theme","renderMain","width","rootProps","className","Boolean","style","ref","getItem","arrow","arrowDisabled","renderMenu","disableItems","index","maxValue","minValue","from","to","Math","ceil","items","i","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","onClick","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","menu","menuUp","itemsHolder","menuDown","type","months","getMinPos","getMaxPos","calculatedPos","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","number","isRequired","oneOfType","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { 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';\n\nimport { 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} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: NodeJS.Timeout | undefined;\n private longClickTimer = 0;\n private setPositionRepeatTimer = 0;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n\n public componentDidUpdate() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n window.addEventListener('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n clearTimeout(this.setPositionRepeatTimer);\n }\n window.removeEventListener('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const width = this.getProps().width;\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 };\n return (\n <span {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()} onClick={this.open}>\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()}\n </span>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.timeout = setTimeout(() =>\n this.setState({\n nodeTop: getDOMRect(root).top,\n }),\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (isNonNullable(this.props.maxValue) && isNonNullable(this.props.minValue)) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.minValue)) {\n return value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.maxValue)) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(): 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 <div\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 </div>,\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 return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <div>\n <DropdownContainer getParent={this.getAnchor} offsetY={dropdownOffset} offsetX={-10}>\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>\n <ArrowChevronUpIcon />\n </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>\n <ArrowChevronDownIcon />\n </span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </div>\n </RenderLayer>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n clearTimeout(this.longClickTimer);\n clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = window.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return () => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.getProps().type === 'month') {\n return this.locale.months[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.getProps().type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n\n const calculatedPos = calculatePos(pos, minPos, maxPos);\n const topCapped = calculatedPos <= minPos;\n const botCapped = calculatedPos >= maxPos;\n\n this.setState({ pos: calculatedPos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return -this.props.value * itemHeight;\n } else if (type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
1
+ {"version":3,"sources":["DateSelect.tsx"],"names":["React","PropTypes","isNonNullable","isKeyEscape","DatePickerLocaleHelper","locale","RenderLayer","DropdownContainer","LayoutEvents","ThemeContext","ArrowTriangleUpDownIcon","ArrowChevronDownIcon","ArrowChevronUpIcon","isMobile","cx","getDOMRect","createPropsGetter","styles","itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelect","getProps","defaultProps","state","botCapped","current","height","opened","top","topCapped","nodeTop","Infinity","root","itemsContainer","longClickTimer","setPositionRepeatTimer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","refRoot","element","setNodeTop","timeout","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","window","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","value","onValueChange","handleKey","e","handleUp","handleDown","componentDidUpdate","componentDidMount","listener","addListener","componentWillUnmount","remove","render","theme","renderMain","width","rootProps","className","Boolean","style","ref","caption","getItem","arrow","arrowDisabled","renderMenu","disableItems","index","maxValue","minValue","from","to","Math","ceil","items","i","menuItem","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","onClick","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","menu","menuUp","itemsHolder","menuDown","type","months","getMinPos","getMaxPos","calculatedPos","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","number","isRequired","oneOfType","func"],"mappings":"iKAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,SAASC,aAAT,QAA8B,iBAA9B;AACA,SAASC,WAAT,QAA4B,uCAA5B;AACA,SAA2BC,sBAA3B,QAAyD,oCAAzD;AACA,SAASC,MAAT,QAAuB,6BAAvB;AACA,SAASC,WAAT,QAA4B,gBAA5B;AACA,SAASC,iBAAT,QAAkC,sBAAlC;AACA,OAAO,KAAKC,YAAZ,MAA8B,wBAA9B;;;AAGA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,uBAAT,EAAkCC,oBAAlC,EAAwDC,kBAAxD,QAAkF,eAAlF;AACA,SAASC,QAAT,QAAyB,kBAAzB;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,UAAT,QAA2B,0BAA3B;AACA,SAASC,iBAAT,QAAkC,6BAAlC;;AAEA,SAASC,MAAT,QAAuB,qBAAvB;;AAEA,IAAMC,UAAU,GAAG,EAAnB;AACA,IAAMC,iBAAiB,GAAG,EAA1B;AACA,IAAMC,gBAAgB,GAAG,CAAC,CAA1B;AACA,IAAMC,WAAW,GAAG,EAApB;AACA,IAAMC,cAAc,GAAG,IAAvB;AACA,IAAMC,cAAc,GAAG,IAAvB;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAcC,MAAd,EAA8BC,MAA9B,EAAiD;AACpE,MAAIA,MAAM,IAAIF,GAAd,EAAmB;AACjB,WAAOE,MAAP;AACD;;AAED,MAAID,MAAM,IAAID,GAAd,EAAmB;AACjB,WAAOC,MAAP;AACD;;AAED,SAAOD,GAAP;AACD,CAVD;;;;;AAeA,WAAaG,UAAb,WADCvB,MAAM,CAAC,YAAD,EAAeD,sBAAf,CACP;;;;;;;;;;;;;;;;;;;;;;;;AAwBUyB,IAAAA,QAxBV,GAwBqBb,iBAAiB,CAACY,UAAU,CAACE,YAAZ,CAxBtC;;AA0BSC,IAAAA,KA1BT,GA0BiB;AACbC,MAAAA,SAAS,EAAE,KADE;AAEbC,MAAAA,OAAO,EAAE,CAFI;AAGbC,MAAAA,MAAM,EAAE,CAHK;AAIbC,MAAAA,MAAM,EAAE,KAJK;AAKbV,MAAAA,GAAG,EAAE,CALQ;AAMbW,MAAAA,GAAG,EAAE,CANQ;AAObC,MAAAA,SAAS,EAAE,KAPE;AAQbC,MAAAA,OAAO,EAAEC,QARI,EA1BjB;;;;;AAuCUC,IAAAA,IAvCV,GAuCqC,IAvCrC;AAwCUC,IAAAA,cAxCV,GAwC+C,IAxC/C;;;AA2CUC,IAAAA,cA3CV,GA2C2B,CA3C3B;AA4CUC,IAAAA,sBA5CV,GA4CmC,CA5CnC;AA6CUC,IAAAA,QA7CV,GA6CqB,CA7CrB;AA8CUC,IAAAA,WA9CV,GA8C0C,IA9C1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6ESC,IAAAA,IA7ET,GA6EgB,YAAM;AAClB,UAAI,MAAKC,KAAL,CAAWC,QAAf,EAAyB;AACvB;AACD;;AAED,UAAI,MAAKjB,KAAL,CAAWI,MAAf,EAAuB;AACrB;AACD;;AAED,YAAKc,WAAL,CAAiB,CAAjB;AACA,YAAKC,QAAL,CAAc;AACZf,QAAAA,MAAM,EAAE,IADI;AAEZF,QAAAA,OAAO,EAAE,CAFG,EAAd;;AAID,KA3FH;;;;;AAgGSkB,IAAAA,KAhGT,GAgGiB,YAAM;AACnB,UAAI,CAAC,MAAKpB,KAAL,CAAWI,MAAhB,EAAwB;AACtB;AACD;;AAED,YAAKe,QAAL,CAAc,EAAEf,MAAM,EAAE,KAAV,EAAd;AACD,KAtGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgJUiB,IAAAA,OAhJV,GAgJoB,UAACC,OAAD,EAAiC;AACjD,YAAKb,IAAL,GAAYa,OAAZ;AACD,KAlJH;;AAoJUC,IAAAA,UApJV,GAoJuB,YAAM;AACzB,UAAMd,IAAI,GAAG,MAAKA,IAAlB;AACA,UAAI,CAACA,IAAL,EAAW;AACT;AACD;AACD,UAAI,MAAKe,OAAT,EAAkB;AAChBC,QAAAA,YAAY,CAAC,MAAKD,OAAN,CAAZ;AACD;AACD,YAAKA,OAAL,GAAeE,UAAU,CAAC;AACxB,gBAAKP,QAAL,CAAc;AACZZ,YAAAA,OAAO,EAAEvB,UAAU,CAACyB,IAAD,CAAV,CAAiBJ,GADd,EAAd,CADwB,GAAD,CAAzB;;;AAKD,KAjKH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmSUsB,IAAAA,iBAnSV,GAmS8B,UAACL,OAAD,EAAiC;AAC3D,UAAI,CAAC,MAAKZ,cAAN,IAAwBY,OAA5B,EAAqC;AACnCA,QAAAA,OAAO,CAACM,gBAAR,CAAyB,OAAzB,EAAkC,MAAKC,WAAvC,EAAoD,EAAEC,OAAO,EAAE,KAAX,EAApD;AACD;AACD,UAAI,MAAKpB,cAAL,IAAuB,CAACY,OAA5B,EAAqC;AACnC,cAAKZ,cAAL,CAAoBqB,mBAApB,CAAwC,OAAxC,EAAiD,MAAKF,WAAtD;AACD;;AAED,UAAI/C,QAAJ,EAAc;AACZ,YAAI,CAAC,MAAK4B,cAAN,IAAwBY,OAA5B,EAAqC;AACnCA,UAAAA,OAAO,CAACM,gBAAR,CAAyB,YAAzB,EAAuC,MAAKI,gBAA5C;AACAV,UAAAA,OAAO,CAACM,gBAAR,CAAyB,WAAzB,EAAsC,MAAKK,eAA3C;AACD;AACD,YAAI,MAAKvB,cAAL,IAAuB,CAACY,OAA5B,EAAqC;AACnC,gBAAKZ,cAAL,CAAoBqB,mBAApB,CAAwC,YAAxC,EAAsD,MAAKC,gBAA3D;AACA,gBAAKtB,cAAL,CAAoBqB,mBAApB,CAAwC,WAAxC,EAAqD,MAAKE,eAA1D;AACD;AACF;;AAED,YAAKvB,cAAL,GAAsBY,OAAtB;AACD,KAvTH;;AAyTUY,IAAAA,iBAzTV,GAyT8B,UAACC,KAAD,EAAgD;AAC1EA,MAAAA,KAAK,CAACC,cAAN;AACA,YAAKzB,cAAL,GAAsB0B,MAAM,CAACX,UAAP,CAAkB,YAAM;AAC5C,cAAKd,sBAAL,GAA8ByB,MAAM,CAACC,WAAP,CAAmB,oBAAM,MAAKpB,WAAL,CAAiB,MAAKlB,KAAL,CAAWN,GAAX,GAAiBP,UAAlC,CAAN,EAAnB,EAAwE,GAAxE,CAA9B;AACD,OAFqB,EAEnB,GAFmB,CAAtB;AAGD,KA9TH;;AAgUUoD,IAAAA,mBAhUV,GAgUgC,UAACJ,KAAD,EAAgD;AAC5EA,MAAAA,KAAK,CAACC,cAAN;AACA,YAAKzB,cAAL,GAAsB0B,MAAM,CAACX,UAAP,CAAkB,YAAM;AAC5C,cAAKd,sBAAL,GAA8ByB,MAAM,CAACC,WAAP,CAAmB,oBAAM,MAAKpB,WAAL,CAAiB,MAAKlB,KAAL,CAAWN,GAAX,GAAiBP,UAAlC,CAAN,EAAnB,EAAwE,GAAxE,CAA9B;AACD,OAFqB,EAEnB,GAFmB,CAAtB;AAGD,KArUH;;AAuUUqD,IAAAA,mBAvUV,GAuUgC,YAAM;AAClCf,MAAAA,YAAY,CAAC,MAAKd,cAAN,CAAZ;AACAc,MAAAA,YAAY,CAAC,MAAKb,sBAAN,CAAZ;AACD,KA1UH;;AA4UU6B,IAAAA,SA5UV,GA4UsB,oBAAM,MAAKhC,IAAX,EA5UtB;;AA8UUoB,IAAAA,WA9UV,GA8UwB,UAACM,KAAD,EAAkB;AACtC,UAAI,EAAEA,KAAK,YAAYO,UAAnB,CAAJ,EAAoC;AAClC;AACD;AACDP,MAAAA,KAAK,CAACC,cAAN;AACAD,MAAAA,KAAK,CAACQ,eAAN;;AAEA,UAAIC,MAAM,GAAGT,KAAK,CAACS,MAAnB;AACA,UAAIT,KAAK,CAACU,SAAN,KAAoB,CAAxB,EAA2B;AACzBD,QAAAA,MAAM,IAAIzD,UAAV;AACD,OAFD,MAEO,IAAIgD,KAAK,CAACU,SAAN,KAAoB,CAAxB,EAA2B;AAChCD,QAAAA,MAAM,IAAIzD,UAAU,GAAG,CAAvB;AACD;AACD,UAAMO,GAAG,GAAG,MAAKM,KAAL,CAAWN,GAAX,GAAiBkD,MAA7B;AACA,YAAK1B,WAAL,CAAiBxB,GAAjB;AACD,KA7VH;;AA+VUsC,IAAAA,gBA/VV,GA+V6B,UAACG,KAAD,EAAkB;AAC3C,UAAI,EAAEA,KAAK,YAAYW,UAAnB,CAAJ,EAAoC;AAClC;AACD;;AAED,YAAKhC,WAAL,GAAmBqB,KAAK,CAACY,aAAN,CAAoB,CAApB,EAAuBC,OAA1C;AACD,KArWH;;AAuWUf,IAAAA,eAvWV,GAuW4B,UAACE,KAAD,EAAkB;AAC1C,UAAI,EAAEA,KAAK,YAAYW,UAAnB,CAAJ,EAAoC;AAClC;AACD;;AAED,UAAQE,OAAR,GAAoBb,KAAK,CAACc,cAAN,CAAqB,CAArB,CAApB,CAAQD,OAAR;AACA,UAAME,UAAU,GAAGb,MAAM,CAACc,gBAA1B;;AAEA,UAAMP,MAAM,GAAG,CAAC,CAAC,MAAK9B,WAAL,IAAoB,CAArB,IAA0BkC,OAA3B,IAAsCE,UAArD;AACA,UAAMxD,GAAG,GAAG,MAAKM,KAAL,CAAWN,GAAX,GAAiBkD,MAAjB,GAA0BA,MAAM,GAAGzD,UAA/C;;AAEA,YAAK2B,WAAL,GAAmBkC,OAAnB;;AAEA,YAAK9B,WAAL,CAAiBxB,GAAjB;AACD,KArXH;;AAuXU0D,IAAAA,eAvXV,GAuX4B,UAACC,KAAD,EAAmB;AAC3C,aAAO,YAAM;AACX,YAAMC,KAAK,GAAG,MAAKtC,KAAL,CAAWsC,KAAX,GAAmBD,KAAjC;AACA,YAAI,MAAKrC,KAAL,CAAWuC,aAAf,EAA8B;AAC5B,gBAAKvC,KAAL,CAAWuC,aAAX,CAAyBD,KAAzB;AACD;AACD,cAAKnC,QAAL,CAAc,EAAEf,MAAM,EAAE,KAAV,EAAd;AACD,OAND;AAOD,KA/XH;;AAiYUoD,IAAAA,SAjYV,GAiYsB,UAACC,CAAD,EAAsB;AACxC,UAAI,MAAKzD,KAAL,CAAWI,MAAX,IAAqBhC,WAAW,CAACqF,CAAD,CAApC,EAAyC;AACvCA,QAAAA,CAAC,CAACrB,cAAF;AACA,cAAKhB,KAAL;AACAqC,QAAAA,CAAC,CAACd,eAAF;AACD;AACF,KAvYH;;AAyYUe,IAAAA,QAzYV,GAyYqB,UAACvB,KAAD,EAA6B;AAC9CA,MAAAA,KAAK,CAACC,cAAN;AACA,YAAKlB,WAAL,CAAiB,MAAKlB,KAAL,CAAWN,GAAX,GAAiBP,UAAU,GAAG,MAAK0B,QAApD;AACD,KA5YH;;AA8YU8C,IAAAA,UA9YV,GA8YuB,UAACxB,KAAD,EAA6B;AAChDA,MAAAA,KAAK,CAACC,cAAN;AACA,YAAKlB,WAAL,CAAiB,MAAKlB,KAAL,CAAWN,GAAX,GAAiBP,UAAU,GAAG,MAAK0B,QAApD;AACD,KAjZH,wDAgDS+C,kBAhDT,GAgDE,8BAA4B,CAC1B,KAAKrC,UAAL,GACD,CAlDH,QAoDSsC,iBApDT,GAoDE,6BAA2B,CACzB,KAAKC,QAAL,GAAgBrF,YAAY,CAACsF,WAAb,CAAyB,KAAKxC,UAA9B,CAAhB,CACA,KAAKA,UAAL,GACAc,MAAM,CAACT,gBAAP,CAAwB,SAAxB,EAAmC,KAAK4B,SAAxC,EACD,CAxDH,QA0DSQ,oBA1DT,GA0DE,gCAA8B,CAC5B,IAAI,KAAKF,QAAT,EAAmB,CACjB,KAAKA,QAAL,CAAcG,MAAd,GACD,CACD,IAAI,KAAKzC,OAAT,EAAkB,CAChBC,YAAY,CAAC,KAAKD,OAAN,CAAZ,CACD,CACD,IAAI,KAAKb,cAAT,EAAyB,CACvBc,YAAY,CAAC,KAAKd,cAAN,CAAZ,CACD,CACD,IAAI,KAAKC,sBAAT,EAAiC,CAC/Ba,YAAY,CAAC,KAAKb,sBAAN,CAAZ,CACD,CACDyB,MAAM,CAACN,mBAAP,CAA2B,SAA3B,EAAsC,KAAKyB,SAA3C,EACD,CAxEH,CA0EE;AACF;AACA,KA5EA,QAwGSU,MAxGT,GAwGE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACC,UAAL,EAAP,CACD,CAJH,CADF,CAQD,CAjHH,QAmHUA,UAnHV,GAmHE,sBAAqB,eACnB,IAAQnD,QAAR,GAAqB,KAAKD,KAA1B,CAAQC,QAAR,CACA,IAAMoD,KAAK,GAAG,KAAKvE,QAAL,GAAgBuE,KAA9B,CACA,IAAMC,SAAS,GAAG,EAChBC,SAAS,EAAExF,EAAE,gBACVG,MAAM,CAACuB,IAAP,CAAY,KAAK0D,KAAjB,CADU,IACgB,IADhB,MAEVjF,MAAM,CAAC+B,QAAP,EAFU,IAEUuD,OAAO,CAACvD,QAAD,CAFjB,OADG,EAKhBwD,KAAK,EAAE,EAAEJ,KAAK,EAALA,KAAF,EALS,EAMhBK,GAAG,EAAE,KAAKrD,OANM,EAAlB,CAQA,oBACE,4BAAUiD,SAAV,eACE,6BAAK,YAAS,qBAAd,EAAoC,SAAS,EAAEpF,MAAM,CAACyF,OAAP,EAA/C,EAAiE,OAAO,EAAE,KAAK5D,IAA/E,IACG,KAAK6D,OAAL,CAAa,CAAb,CADH,eAEE,6BACE,SAAS,EAAE7F,EAAE,kBACVG,MAAM,CAAC2F,KAAP,CAAa,KAAKV,KAAlB,CADU,IACiB,IADjB,OAEVjF,MAAM,CAAC4F,aAAP,EAFU,IAEeN,OAAO,CAACvD,QAAD,CAFtB,QADf,iBAME,oBAAC,uBAAD,IAAyB,IAAI,EAAE,EAA/B,GANF,CAFF,CADF,EAYG,KAAKjB,KAAL,CAAWI,MAAX,IAAqB,KAAK2E,UAAL,EAZxB,CADF,CAgBD,CA9IH,QAmKUC,YAnKV,GAmKE,sBAAqBC,KAArB,EAAoC,CAClC,IAAM3B,KAAK,GAAG,KAAKtC,KAAL,CAAWsC,KAAX,GAAmB2B,KAAjC,CACA,IAAI9G,aAAa,CAAC,KAAK6C,KAAL,CAAWkE,QAAZ,CAAb,IAAsC/G,aAAa,CAAC,KAAK6C,KAAL,CAAWmE,QAAZ,CAAvD,EAA8E,CAC5E,OAAO7B,KAAK,GAAG,KAAKtC,KAAL,CAAWkE,QAAnB,IAA+B5B,KAAK,GAAG,KAAKtC,KAAL,CAAWmE,QAAzD,CACD,CAED,IAAIhH,aAAa,CAAC,KAAK6C,KAAL,CAAWmE,QAAZ,CAAjB,EAAwC,CACtC,OAAO7B,KAAK,GAAG,KAAKtC,KAAL,CAAWmE,QAA1B,CACD,CAED,IAAIhH,aAAa,CAAC,KAAK6C,KAAL,CAAWkE,QAAZ,CAAjB,EAAwC,CACtC,OAAO5B,KAAK,GAAG,KAAKtC,KAAL,CAAWkE,QAA1B,CACD,CACF,CAhLH,QAkLUH,UAlLV,GAkLE,sBAAsC,wBACpC,kBAAiC,KAAK/E,KAAtC,CAAQK,GAAR,eAAQA,GAAR,CAAaF,MAAb,eAAaA,MAAb,CAAqBI,OAArB,eAAqBA,OAArB,CAEA,IAAI8C,KAAK,GAAG,KAAKrD,KAAL,CAAWN,GAAX,GAAiBP,UAA7B,CACA,IAAIkE,KAAK,GAAG,CAAZ,EAAe,CACbA,KAAK,IAAIlE,UAAT,CACD,CAED,IAAMiG,IAAI,GAAG,CAAC,KAAKpF,KAAL,CAAWN,GAAX,GAAiB2D,KAAjB,GAAyBhD,GAA1B,IAAiClB,UAA9C,CACA,IAAMkG,EAAE,GAAGD,IAAI,GAAGE,IAAI,CAACC,IAAL,CAAU,CAACpF,MAAM,GAAGkD,KAAV,IAAmBlE,UAA7B,CAAlB,CACA,IAAMqG,KAAK,GAAG,EAAd,CAVoC,2BAY3BC,CAZ2B,YAalC,IAAMT,YAAY,GAAG,MAAI,CAACA,YAAL,CAAkBS,CAAlB,KAAwB,KAA7C,CACA,IAAMlB,SAAS,GAAGxF,EAAE,kBACjBG,MAAM,CAACwG,QAAP,CAAgB,MAAI,CAACvB,KAArB,CADiB,IACa,IADb,OAEjBjF,MAAM,CAACyG,gBAAP,CAAwB,MAAI,CAACxB,KAA7B,CAFiB,IAEqBsB,CAAC,KAAK,CAF3B,OAGjBvG,MAAM,CAAC0G,cAAP,CAAsB,MAAI,CAACzB,KAA3B,CAHiB,IAGmBsB,CAAC,KAAK,MAAI,CAACzF,KAAL,CAAWE,OAHpC,OAIjBhB,MAAM,CAAC2G,gBAAP,CAAwB,MAAI,CAAC1B,KAA7B,CAJiB,IAIqBa,YAJrB,QAApB,CAMA,IAAMc,YAAY,GAAG,EACnBC,WAAW,EAAE3D,cADM,EAEnB4D,OAAO,EAAE,MAAI,CAAC5C,eAAL,CAAqBqC,CAArB,CAFU,EAArB,CAIAD,KAAK,CAACS,IAAN,eACE,sCACE,YAAS,sBADX,EAEE,sBAAoBjB,YAFtB,EAGE,GAAG,EAAES,CAHP,EAIE,SAAS,EAAElB,SAJb,EAKE,YAAY,EAAE,gCAAM,MAAI,CAACpD,QAAL,CAAc,EAAEjB,OAAO,EAAEuF,CAAX,EAAd,CAAN,EALhB,EAME,YAAY,EAAE,gCAAM,MAAI,CAACtE,QAAL,CAAc,EAAEjB,OAAO,EAAE,IAAX,EAAd,CAAN,EANhB,IAOM4F,YAPN,GASG,MAAI,CAAClB,OAAL,CAAaa,CAAb,CATH,CADF,EAxBkC,EAYpC,KAAK,IAAIA,CAAC,GAAGL,IAAb,EAAmBK,CAAC,GAAGJ,EAAvB,EAA2B,EAAEI,CAA7B,EAAgC,OAAvBA,CAAuB,EAyB/B,CACD,IAAMhB,KAKL,GAAG,EACFpE,GAAG,EAAEA,GAAG,GAAG,CADT,EAEF6F,IAAI,EAAE,CAFJ,EAGFC,KAAK,EAAE,CAHL,EALJ,CAWA,IAAMC,UAA+B,GAAG,EACtCC,QAAQ,EAAE,UAD4B,EAEtChG,GAAG,EAAE,CAACgD,KAFgC,EAAxC,CAKA,IAAMiD,WAAW,GAAGvH,EAAE,kBACnBG,MAAM,CAACqH,UAAP,CAAkB,KAAKpC,KAAvB,CADmB,IACa,IADb,OAEnBjF,MAAM,CAACsH,WAAP,EAFmB,IAEI,KAAKxG,KAAL,CAAWM,SAFf,OAGnBpB,MAAM,CAACuH,WAAP,EAHmB,IAGI,KAAKzG,KAAL,CAAWC,SAHf,QAAtB,CAMA,IAAIyG,cAAc,GAAG,CAACvH,UAAtB,CACA,IAAIoB,OAAO,GAAG,CAACF,GAAf,EAAoB,CAClB,IAAMsG,mBAAmB,GAAG,KAAK3G,KAAL,CAAWM,SAAX,GAAuB,CAAvB,GAA2B,EAAvD,CACAoG,cAAc,IAAInG,OAAO,GAAGF,GAAV,GAAgBsG,mBAAlC,CACD,CAED,oBACE,oBAAC,WAAD,IAAa,cAAc,EAAE,KAAKvF,KAAlC,EAAyC,cAAc,EAAE,KAAKA,KAA9D,EAAqE,MAAM,MAA3E,iBACE,8CACE,oBAAC,iBAAD,IAAmB,SAAS,EAAE,KAAKqB,SAAnC,EAA8C,OAAO,EAAEiE,cAAvD,EAAuE,OAAO,EAAE,CAAC,EAAjF,iBACE,6BAAK,SAAS,EAAEJ,WAAhB,EAA6B,KAAK,EAAE7B,KAApC,IACG,CAAC,KAAKzE,KAAL,CAAWM,SAAZ,iBACC,6BACE,SAAS,EAAEvB,EAAE,CAACG,MAAM,CAAC0H,IAAP,CAAY,KAAKzC,KAAjB,CAAD,EAA0BjF,MAAM,CAAC2H,MAAP,EAA1B,CADf,EAEE,OAAO,EAAE,KAAKnD,QAFhB,EAGE,WAAW,EAAE,KAAKxB,iBAHpB,EAIE,SAAS,EAAE,KAAKM,mBAJlB,EAKE,YAAY,EAAE,KAAKA,mBALrB,EAME,YAAY,EAAE,KAAKN,iBANrB,EAOE,UAAU,EAAE,KAAKM,mBAPnB,iBASE,+CACE,oBAAC,kBAAD,OADF,CATF,CAFJ,eAgBE,6BAAK,SAAS,EAAEtD,MAAM,CAAC4H,WAAP,EAAhB,EAAsC,KAAK,EAAE,EAAE3G,MAAM,EAANA,MAAF,EAA7C,iBACE,6BAAK,GAAG,EAAE,KAAKwB,iBAAf,EAAkC,KAAK,EAAEyE,UAAzC,IACGZ,KADH,CADF,CAhBF,EAqBG,CAAC,KAAKxF,KAAL,CAAWC,SAAZ,iBACC,6BACE,SAAS,EAAElB,EAAE,CAACG,MAAM,CAAC0H,IAAP,CAAY,KAAKzC,KAAjB,CAAD,EAA0BjF,MAAM,CAAC6H,QAAP,EAA1B,CADf,EAEE,OAAO,EAAE,KAAKpD,UAFhB,EAGE,WAAW,EAAE,KAAKpB,mBAHpB,EAIE,SAAS,EAAE,KAAKC,mBAJlB,EAKE,YAAY,EAAE,KAAKA,mBALrB,EAME,YAAY,EAAE,KAAKD,mBANrB,EAOE,UAAU,EAAE,KAAKC,mBAPnB,iBASE,+CACE,oBAAC,oBAAD,OADF,CATF,CAtBJ,CADF,CADF,CADF,CADF,CA6CD,CAjSH,QAmZUoC,OAnZV,GAmZE,iBAAgBK,KAAhB,EAA+B;AAC7B,QAAM3B,KAAK,GAAG,KAAKtC,KAAL,CAAWsC,KAAX,GAAmB2B,KAAjC;AACA,QAAI,KAAKnF,QAAL,GAAgBkH,IAAhB,KAAyB,OAA7B,EAAsC;AACpC,aAAO,KAAK1I,MAAL,CAAY2I,MAAZ,CAAmB3D,KAAnB,CAAP;AACD;AACD,WAAOA,KAAP;AACD,GAzZH;;AA2ZUpC,EAAAA,WA3ZV,GA2ZE,qBAAoBxB,GAApB,EAAiC;AAC/B,QAAIW,GAAG,GAAGhB,gBAAgB,GAAGF,UAA7B;AACA,QAAIgB,MAAM,GAAGf,iBAAiB,GAAGD,UAAjC;AACA,QAAI,KAAKW,QAAL,GAAgBkH,IAAhB,KAAyB,OAA7B,EAAsC;AACpC3G,MAAAA,GAAG,GAAG,CAAC,KAAKW,KAAL,CAAWsC,KAAZ,GAAoBnE,UAA1B;AACAgB,MAAAA,MAAM,GAAGb,WAAW,GAAGH,UAAvB;AACD;;AAED,QAAMQ,MAAM,GAAG,KAAKuH,SAAL,KAAmB7G,GAAlC;AACA,QAAMT,MAAM,GAAG,KAAKuH,SAAL,KAAmB9G,GAAnB,GAAyBF,MAAzB,GAAkChB,UAAjD;;AAEA,QAAMiI,aAAa,GAAG3H,YAAY,CAACC,GAAD,EAAMC,MAAN,EAAcC,MAAd,CAAlC;AACA,QAAMU,SAAS,GAAG8G,aAAa,IAAIzH,MAAnC;AACA,QAAMM,SAAS,GAAGmH,aAAa,IAAIxH,MAAnC;;AAEA,SAAKuB,QAAL,CAAc,EAAEzB,GAAG,EAAE0H,aAAP,EAAsB/G,GAAG,EAAHA,GAAtB,EAA2BF,MAAM,EAANA,MAA3B,EAAmCG,SAAS,EAATA,SAAnC,EAA8CL,SAAS,EAATA,SAA9C,EAAd;AACD,GA3aH;;AA6aUiH,EAAAA,SA7aV,GA6aE,qBAAoB;AAClB,QAAMF,IAAI,GAAG,KAAKlH,QAAL,GAAgBkH,IAA7B;AACA,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpB,aAAO,CAAC,KAAKhG,KAAL,CAAWsC,KAAZ,GAAoBnE,UAA3B;AACD,KAFD,MAEO,IAAI6H,IAAI,KAAK,MAAb,EAAqB;AAC1B,aAAO,CAAC,CAAC,KAAKhG,KAAL,CAAWmE,QAAX,IAAuB5F,cAAxB,IAA0C,KAAKyB,KAAL,CAAWsC,KAAtD,IAA+DnE,UAAtE;AACD;AACD,WAAO,CAACqB,QAAR,CAPkB,CAOA;AACnB,GArbH;;AAubU2G,EAAAA,SAvbV,GAubE,qBAAoB;AAClB,QAAMH,IAAI,GAAG,KAAKlH,QAAL,GAAgBkH,IAA7B;AACA,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpB,aAAO,CAAC5H,iBAAiB,GAAG,KAAK4B,KAAL,CAAWsC,KAAhC,IAAyCnE,UAAhD;AACD,KAFD,MAEO,IAAI6H,IAAI,KAAK,MAAb,EAAqB;AAC1B,aAAO,CAAC,CAAC,KAAKhG,KAAL,CAAWkE,QAAX,IAAuB1F,cAAxB,IAA0C,KAAKwB,KAAL,CAAWsC,KAAtD,IAA+DnE,UAAtE;AACD;AACD,WAAOqB,QAAP,CAPkB,CAOD;AAClB,GA/bH,qBAAgCvC,KAAK,CAACoJ,aAAtC,WACgBC,mBADhB,GACsC,YADtC,UAGgBC,SAHhB,GAG4B,EACxBtG,QAAQ,EAAE/C,SAAS,CAACsJ,IADI,EAGxBR,IAAI,EAAE9I,SAAS,CAACuJ,MAHQ,EAKxBnE,KAAK,EAAEpF,SAAS,CAACwJ,MAAV,CAAiBC,UALA,EAOxBtD,KAAK,EAAEnG,SAAS,CAAC0J,SAAV,CAAoB,CAAC1J,SAAS,CAACwJ,MAAX,EAAmBxJ,SAAS,CAACuJ,MAA7B,CAApB,CAPiB,EASxBlE,aAAa,EAAErF,SAAS,CAAC2J,IATD,EAWxB1C,QAAQ,EAAEjH,SAAS,CAACwJ,MAXI,EAaxBxC,QAAQ,EAAEhH,SAAS,CAACwJ,MAbI,EAH5B,UAmBgB3H,YAnBhB,GAmB6C,EACzCiH,IAAI,EAAE,MADmC,EAEzC3C,KAAK,EAAE,MAFkC,EAnB7C;;;AAkcA,SAASjC,cAAT,CAAwBqB,CAAxB,EAAiD;AAC/CA,EAAAA,CAAC,CAACrB,cAAF;AACD","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { 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';\n\nimport { 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\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: NodeJS.Timeout | undefined;\n private longClickTimer = 0;\n private setPositionRepeatTimer = 0;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n\n public componentDidUpdate() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n window.addEventListener('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n clearTimeout(this.setPositionRepeatTimer);\n }\n window.removeEventListener('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const width = this.getProps().width;\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 };\n return (\n <span {...rootProps}>\n <div data-tid=\"DateSelect__caption\" className={styles.caption()} onClick={this.open}>\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()}\n </span>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.timeout = setTimeout(() =>\n this.setState({\n nodeTop: getDOMRect(root).top,\n }),\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (isNonNullable(this.props.maxValue) && isNonNullable(this.props.minValue)) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.minValue)) {\n return value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.maxValue)) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(): 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 <div\n data-tid=\"DateSelect__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 </div>,\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 return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <div>\n <DropdownContainer getParent={this.getAnchor} offsetY={dropdownOffset} offsetX={-10}>\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>\n <ArrowChevronUpIcon />\n </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>\n <ArrowChevronDownIcon />\n </span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </div>\n </RenderLayer>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n clearTimeout(this.longClickTimer);\n clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = window.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return () => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.getProps().type === 'month') {\n return this.locale.months[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.getProps().type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n\n const calculatedPos = calculatePos(pos, minPos, maxPos);\n const topCapped = calculatedPos <= minPos;\n const botCapped = calculatedPos >= maxPos;\n\n this.setState({ pos: calculatedPos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return -this.props.value * itemHeight;\n } else if (type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
@@ -1,95 +1,91 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { Nullable } from '../../typings/utility-types';
4
- export interface DateSelectProps {
5
- disabled?: boolean | null;
6
- onValueChange: (value: number) => void;
7
- type?: 'month' | 'year';
8
- value: number;
9
- width?: number | string;
10
- minValue?: number;
11
- maxValue?: number;
12
- }
13
- export interface DateSelectState {
14
- botCapped: boolean;
15
- current: Nullable<number>;
16
- height: number;
17
- opened: boolean;
18
- pos: number;
19
- top: number;
20
- topCapped: boolean;
21
- nodeTop: number;
22
- }
23
- export declare const DateSelectDataTids: {
24
- readonly caption: "DateSelect__caption";
25
- readonly menuItem: "DateSelect__menuItem";
26
- };
27
- declare type DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;
28
- export declare class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {
29
- static __KONTUR_REACT_UI__: string;
30
- static propTypes: {
31
- disabled: PropTypes.Requireable<boolean>;
32
- type: PropTypes.Requireable<string>;
33
- value: PropTypes.Validator<number>;
34
- width: PropTypes.Requireable<string | number>;
35
- onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
36
- minValue: PropTypes.Requireable<number>;
37
- maxValue: PropTypes.Requireable<number>;
38
- };
39
- static defaultProps: DefaultProps;
40
- private getProps;
41
- state: {
42
- botCapped: boolean;
43
- current: number;
44
- height: number;
45
- opened: boolean;
46
- pos: number;
47
- top: number;
48
- topCapped: boolean;
49
- nodeTop: number;
50
- };
51
- private theme;
52
- private readonly locale;
53
- private root;
54
- private itemsContainer;
55
- private listener;
56
- private timeout;
57
- private longClickTimer;
58
- private setPositionRepeatTimer;
59
- private yearStep;
60
- private touchStartY;
61
- componentDidUpdate(): void;
62
- componentDidMount(): void;
63
- componentWillUnmount(): void;
64
- /**
65
- * @public
66
- */
67
- open: () => void;
68
- /**
69
- * @public
70
- */
71
- close: () => void;
72
- render(): JSX.Element;
73
- private renderMain;
74
- private refRoot;
75
- private setNodeTop;
76
- private disableItems;
77
- private renderMenu;
78
- private refItemsContainer;
79
- private handleLongClickUp;
80
- private handleLongClickDown;
81
- private handleLongClickStop;
82
- private getAnchor;
83
- private handleWheel;
84
- private handleTouchStart;
85
- private handleTouchMove;
86
- private handleItemClick;
87
- private handleKey;
88
- private handleUp;
89
- private handleDown;
90
- private getItem;
91
- private setPosition;
92
- private getMinPos;
93
- private getMaxPos;
94
- }
95
- export {};
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { Nullable } from '../../typings/utility-types';
4
+ export interface DateSelectProps {
5
+ disabled?: boolean | null;
6
+ onValueChange: (value: number) => void;
7
+ type?: 'month' | 'year';
8
+ value: number;
9
+ width?: number | string;
10
+ minValue?: number;
11
+ maxValue?: number;
12
+ }
13
+ export interface DateSelectState {
14
+ botCapped: boolean;
15
+ current: Nullable<number>;
16
+ height: number;
17
+ opened: boolean;
18
+ pos: number;
19
+ top: number;
20
+ topCapped: boolean;
21
+ nodeTop: number;
22
+ }
23
+ declare type DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;
24
+ export declare class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {
25
+ static __KONTUR_REACT_UI__: string;
26
+ static propTypes: {
27
+ disabled: PropTypes.Requireable<boolean>;
28
+ type: PropTypes.Requireable<string>;
29
+ value: PropTypes.Validator<number>;
30
+ width: PropTypes.Requireable<string | number>;
31
+ onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
32
+ minValue: PropTypes.Requireable<number>;
33
+ maxValue: PropTypes.Requireable<number>;
34
+ };
35
+ static defaultProps: DefaultProps;
36
+ private getProps;
37
+ state: {
38
+ botCapped: boolean;
39
+ current: number;
40
+ height: number;
41
+ opened: boolean;
42
+ pos: number;
43
+ top: number;
44
+ topCapped: boolean;
45
+ nodeTop: number;
46
+ };
47
+ private theme;
48
+ private readonly locale;
49
+ private root;
50
+ private itemsContainer;
51
+ private listener;
52
+ private timeout;
53
+ private longClickTimer;
54
+ private setPositionRepeatTimer;
55
+ private yearStep;
56
+ private touchStartY;
57
+ componentDidUpdate(): void;
58
+ componentDidMount(): void;
59
+ componentWillUnmount(): void;
60
+ /**
61
+ * @public
62
+ */
63
+ open: () => void;
64
+ /**
65
+ * @public
66
+ */
67
+ close: () => void;
68
+ render(): JSX.Element;
69
+ private renderMain;
70
+ private refRoot;
71
+ private setNodeTop;
72
+ private disableItems;
73
+ private renderMenu;
74
+ private refItemsContainer;
75
+ private handleLongClickUp;
76
+ private handleLongClickDown;
77
+ private handleLongClickStop;
78
+ private getAnchor;
79
+ private handleWheel;
80
+ private handleTouchStart;
81
+ private handleTouchMove;
82
+ private handleItemClick;
83
+ private handleKey;
84
+ private handleUp;
85
+ private handleDown;
86
+ private getItem;
87
+ private setPosition;
88
+ private getMinPos;
89
+ private getMaxPos;
90
+ }
91
+ export {};
@@ -1,19 +1,19 @@
1
- import { Theme } from '../../lib/theming/Theme';
2
- export declare const styles: {
3
- root(t: Theme): string;
4
- disabled(): string;
5
- caption(): string;
6
- arrow(t: Theme): string;
7
- arrowDisabled(): string;
8
- menuHolder(t: Theme): string;
9
- isTopCapped(): string;
10
- isBotCapped(): string;
11
- itemsHolder(): string;
12
- menuItem(t: Theme): string;
13
- menuItemSelected(t: Theme): string;
14
- menuItemActive(t: Theme): string;
15
- menuItemDisabled(t: Theme): string;
16
- menu(t: Theme): string;
17
- menuUp(): string;
18
- menuDown(): string;
19
- };
1
+ import { Theme } from '../../lib/theming/Theme';
2
+ export declare const styles: {
3
+ root(t: Theme): string;
4
+ disabled(): string;
5
+ caption(): string;
6
+ arrow(t: Theme): string;
7
+ arrowDisabled(): string;
8
+ menuHolder(t: Theme): string;
9
+ isTopCapped(): string;
10
+ isBotCapped(): string;
11
+ itemsHolder(): string;
12
+ menuItem(t: Theme): string;
13
+ menuItemSelected(t: Theme): string;
14
+ menuItemActive(t: Theme): string;
15
+ menuItemDisabled(t: Theme): string;
16
+ menu(t: Theme): string;
17
+ menuUp(): string;
18
+ menuDown(): string;
19
+ };
@@ -1 +1 @@
1
- export * from './DateSelect';
1
+ export * from './DateSelect';
@@ -9,6 +9,7 @@ import { cx } from "../../../lib/theming/Emotion";
9
9
  import { isIE11 } from "../../../lib/client";
10
10
  import { getDOMRect } from "../../../lib/dom/getDOMRect";
11
11
  import { styles } from "../DropdownContainer.styles";
12
+ import { getManualPosition, getTopAlignment } from "../getManualPosition";
12
13
  export var DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {
13
14
  _inheritsLoose(DropdownContainer, _React$PureComponent);
14
15
 
@@ -60,18 +61,30 @@ export var DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {
60
61
 
61
62
  var dropdownHeight = _this.getHeight();
62
63
 
64
+ var clientHeight = _this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;
65
+
63
66
  if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {
64
- var clientHeight = _this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;
65
67
  top = null;
66
- bottom = clientHeight + offsetY - scrollY - targetRect.top;
68
+ bottom = getTopAlignment({
69
+ clientHeight: clientHeight,
70
+ offsetY: offsetY,
71
+ scrollY: scrollY,
72
+ target: target
73
+ });
67
74
  }
68
75
 
69
- var position = {
76
+ var position = _extends({
70
77
  top: top,
71
78
  left: left,
72
79
  right: right,
73
80
  bottom: bottom
74
- };
81
+ }, getManualPosition({
82
+ menuPos: _this.props.menuPos,
83
+ target: target,
84
+ offsetY: offsetY,
85
+ clientHeight: clientHeight,
86
+ scrollY: scrollY
87
+ }));
75
88
 
76
89
  _this.setState({
77
90
  minWidth: _this.getMinWidth(),
@@ -1 +1 @@
1
- {"version":3,"sources":["DropdownContainer.tsx"],"names":["React","LayoutEvents","RenderContainer","ZIndex","createPropsGetter","cx","isIE11","getDOMRect","styles","DropdownContainer","props","getProps","defaultProps","ZIndexRef","element","dom","isElement","node","Element","position","target","getParent","targetRect","document","body","docEl","documentElement","Error","scrollX","window","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","state","isDocumentElementRoot","scrollHeight","setState","minWidth","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","getIsDocumentElementRoot","componentDidMount","layoutSub","addListener","componentWillUnmount","remove","render","style","undefined","maxWidth","hasFixedWidth","content","alignRight","PureComponent","__KONTUR_REACT_UI__","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { styles } from './DropdownContainer.styles';\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 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\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 priority={'DropdownContainer'}\n wrapperRef={this.ZIndexRef}\n style={style}\n className={cx({\n [styles.alignRight()]: this.getProps().align === 'right' && !isIE11,\n })}\n >\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ZIndexRef = (element: Nullable<HTMLDivElement>) => {\n this.dom = element;\n };\n\n private isElement = (node: Nullable<Element>): node is Element => {\n return node instanceof Element;\n };\n\n public position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (target && this.isElement(target) && dom) {\n const targetRect = getDOMRect(target);\n const { body, documentElement: docEl } = document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = window.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = window.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.getProps().align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const offsetY = this.getProps().offsetY || 0;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n\n top = null;\n bottom = clientHeight + offsetY - scrollY - targetRect.top;\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.getProps().disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!this.isElement(this.dom)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n return getDOMRect(child).height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n return getDOMRect(target).width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const offsetX = this.getProps().offsetX || 0;\n const offsetY = this.getProps().offsetY || 0;\n const { top, bottom, left, right } = position;\n if (target && this.isElement(target)) {\n const targetHeight = getDOMRect(target).height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n\nconst getIsDocumentElementRoot = () => {\n const { body, documentElement } = document;\n const htmlPosition = getComputedStyle(documentElement).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n return hasLimitedHeightRoot || hasStaticRoot;\n};\n"]}
1
+ {"version":3,"sources":["DropdownContainer.tsx"],"names":["React","LayoutEvents","RenderContainer","ZIndex","createPropsGetter","cx","isIE11","getDOMRect","styles","getManualPosition","getTopAlignment","DropdownContainer","props","getProps","defaultProps","ZIndexRef","element","dom","isElement","node","Element","position","target","getParent","targetRect","document","body","docEl","documentElement","Error","scrollX","window","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","state","isDocumentElementRoot","scrollHeight","menuPos","setState","minWidth","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","getIsDocumentElementRoot","componentDidMount","layoutSub","addListener","componentWillUnmount","remove","render","style","undefined","maxWidth","hasFixedWidth","content","alignRight","PureComponent","__KONTUR_REACT_UI__","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\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 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 priority={'DropdownContainer'}\n wrapperRef={this.ZIndexRef}\n style={style}\n className={cx({\n [styles.alignRight()]: this.getProps().align === 'right' && !isIE11,\n })}\n >\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ZIndexRef = (element: Nullable<HTMLDivElement>) => {\n this.dom = element;\n };\n\n private isElement = (node: Nullable<Element>): node is Element => {\n return node instanceof Element;\n };\n\n public position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (target && this.isElement(target) && dom) {\n const targetRect = getDOMRect(target);\n const { body, documentElement: docEl } = document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = window.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = window.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.getProps().align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const offsetY = this.getProps().offsetY || 0;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n top = null;\n bottom = getTopAlignment({ clientHeight, offsetY, scrollY, target });\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n ...getManualPosition({ menuPos: this.props.menuPos, target, offsetY, clientHeight, scrollY }),\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.getProps().disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!this.isElement(this.dom)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n return getDOMRect(child).height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n return getDOMRect(target).width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const offsetX = this.getProps().offsetX || 0;\n const offsetY = this.getProps().offsetY || 0;\n const { top, bottom, left, right } = position;\n if (target && this.isElement(target)) {\n const targetHeight = getDOMRect(target).height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n\nconst getIsDocumentElementRoot = () => {\n const { body, documentElement } = document;\n const htmlPosition = getComputedStyle(documentElement).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n return hasLimitedHeightRoot || hasStaticRoot;\n};\n"]}
@@ -1,41 +1,45 @@
1
- import React from 'react';
2
- import { Nullable } from '../../typings/utility-types';
3
- export interface DropdownContainerPosition {
4
- top: Nullable<number>;
5
- bottom: Nullable<number>;
6
- left: Nullable<number>;
7
- right: Nullable<number>;
8
- }
9
- export interface DropdownContainerProps {
10
- align?: 'left' | 'right';
11
- getParent: () => Nullable<Element>;
12
- children?: React.ReactNode;
13
- disablePortal?: boolean;
14
- offsetY?: number;
15
- offsetX?: number;
16
- hasFixedWidth?: boolean;
17
- }
18
- export interface DropdownContainerState {
19
- position: Nullable<DropdownContainerPosition>;
20
- minWidth: number;
21
- isDocumentElementRoot?: boolean;
22
- }
23
- declare type DefaultProps = Required<Pick<DropdownContainerProps, 'align' | 'disablePortal' | 'offsetY' | 'offsetX'>>;
24
- export declare class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {
25
- static __KONTUR_REACT_UI__: string;
26
- static defaultProps: DefaultProps;
27
- private getProps;
28
- private dom;
29
- private layoutSub;
30
- constructor(props: DropdownContainerProps);
31
- componentDidMount(): void;
32
- componentWillUnmount(): void;
33
- render(): JSX.Element;
34
- private ZIndexRef;
35
- private isElement;
36
- position: () => void;
37
- private getHeight;
38
- private getMinWidth;
39
- private convertToRelativePosition;
40
- }
41
- export {};
1
+ import React from 'react';
2
+ import { Nullable } from '../../typings/utility-types';
3
+ export interface DropdownContainerPosition {
4
+ top: Nullable<number>;
5
+ bottom: Nullable<number>;
6
+ left: Nullable<number>;
7
+ right: Nullable<number>;
8
+ }
9
+ export interface DropdownContainerProps {
10
+ align?: 'left' | 'right';
11
+ getParent: () => Nullable<Element>;
12
+ children?: React.ReactNode;
13
+ disablePortal?: boolean;
14
+ offsetY?: number;
15
+ offsetX?: number;
16
+ hasFixedWidth?: boolean;
17
+ /**
18
+ * Позволяет вручную задать текущую позицию выпадающего окна
19
+ */
20
+ menuPos?: 'top' | 'bottom';
21
+ }
22
+ export interface DropdownContainerState {
23
+ position: Nullable<DropdownContainerPosition>;
24
+ minWidth: number;
25
+ isDocumentElementRoot?: boolean;
26
+ }
27
+ declare type DefaultProps = Required<Pick<DropdownContainerProps, 'align' | 'disablePortal' | 'offsetY' | 'offsetX'>>;
28
+ export declare class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {
29
+ static __KONTUR_REACT_UI__: string;
30
+ static defaultProps: DefaultProps;
31
+ private getProps;
32
+ private dom;
33
+ private layoutSub;
34
+ constructor(props: DropdownContainerProps);
35
+ componentDidMount(): void;
36
+ componentWillUnmount(): void;
37
+ render(): JSX.Element;
38
+ private ZIndexRef;
39
+ private isElement;
40
+ position: () => void;
41
+ private getHeight;
42
+ private getMinWidth;
43
+ private convertToRelativePosition;
44
+ }
45
+ export {};
@@ -1,3 +1,3 @@
1
- export declare const styles: {
2
- alignRight(): string;
3
- };
1
+ export declare const styles: {
2
+ alignRight(): string;
3
+ };
@@ -0,0 +1,36 @@
1
+ import { getDOMRect } from "../../../lib/dom/getDOMRect";
2
+ export var getTopAlignment = function getTopAlignment(_ref) {
3
+ var clientHeight = _ref.clientHeight,
4
+ offsetY = _ref.offsetY,
5
+ scrollY = _ref.scrollY,
6
+ target = _ref.target;
7
+ return clientHeight + offsetY - scrollY - getDOMRect(target).top;
8
+ };
9
+ export var getManualPosition = function getManualPosition(_ref2) {
10
+ var menuPos = _ref2.menuPos,
11
+ target = _ref2.target,
12
+ offsetY = _ref2.offsetY,
13
+ clientHeight = _ref2.clientHeight;
14
+
15
+ if (!menuPos) {
16
+ return undefined;
17
+ }
18
+
19
+ if (menuPos === 'top') {
20
+ return {
21
+ top: null,
22
+ bottom: getTopAlignment({
23
+ clientHeight: clientHeight,
24
+ offsetY: offsetY,
25
+ scrollY: scrollY,
26
+ target: target
27
+ })
28
+ };
29
+ }
30
+
31
+ if (menuPos === 'bottom') {
32
+ return {
33
+ top: scrollY + getDOMRect(target).top + target.clientHeight + offsetY
34
+ };
35
+ }
36
+ };