@skbkontur/react-ui 3.9.3 → 3.10.0-beta.1

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 (1049) hide show
  1. package/README.md +57 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +113 -112
  3. package/cjs/components/Autocomplete/Autocomplete.js +11 -5
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/index.d.ts +1 -1
  6. package/cjs/components/Button/Button.d.ts +161 -160
  7. package/cjs/components/Button/Button.js +7 -3
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  10. package/cjs/components/Button/Button.styles.d.ts +67 -67
  11. package/cjs/components/Button/Corners.d.ts +6 -6
  12. package/cjs/components/Button/index.d.ts +1 -1
  13. package/cjs/components/Center/Center.d.ts +25 -24
  14. package/cjs/components/Center/Center.js +10 -3
  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 +96 -95
  19. package/cjs/components/Checkbox/Checkbox.js +11 -4
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/Checkbox/Checkbox.styles.d.ts +22 -22
  22. package/cjs/components/Checkbox/index.d.ts +1 -1
  23. package/cjs/components/ComboBox/ComboBox.d.ts +184 -182
  24. package/cjs/components/ComboBox/ComboBox.js +100 -70
  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 +106 -106
  29. package/cjs/components/CurrencyInput/CurrencyInput.js +7 -4
  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 +18 -18
  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 +2 -2
  36. package/cjs/components/CurrencyInput/index.d.ts +1 -1
  37. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  38. package/cjs/components/CurrencyLabel/index.d.ts +1 -1
  39. package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
  40. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  41. package/cjs/components/DateInput/DateInput.d.ts +107 -106
  42. package/cjs/components/DateInput/DateInput.js +6 -3
  43. package/cjs/components/DateInput/DateInput.js.map +1 -1
  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 +134 -132
  52. package/cjs/components/DatePicker/DatePicker.js +17 -7
  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.styles.d.ts +5 -5
  58. package/cjs/components/DatePicker/index.d.ts +1 -1
  59. package/cjs/components/DatePicker/locale/index.d.ts +4 -4
  60. package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
  61. package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
  62. package/cjs/components/DatePicker/locale/types.d.ts +5 -5
  63. package/cjs/components/Dropdown/Dropdown.d.ts +124 -123
  64. package/cjs/components/Dropdown/Dropdown.js +11 -4
  65. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  66. package/cjs/components/Dropdown/index.d.ts +1 -1
  67. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +65 -64
  68. package/cjs/components/DropdownMenu/DropdownMenu.js +7 -4
  69. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  70. package/cjs/components/DropdownMenu/index.d.ts +1 -1
  71. package/cjs/components/FxInput/FxInput.d.ts +50 -49
  72. package/cjs/components/FxInput/FxInput.js +9 -2
  73. package/cjs/components/FxInput/FxInput.js.map +1 -1
  74. package/cjs/components/FxInput/index.d.ts +1 -1
  75. package/cjs/components/Gapped/Gapped.d.ts +58 -56
  76. package/cjs/components/Gapped/Gapped.js +22 -14
  77. package/cjs/components/Gapped/Gapped.js.map +1 -1
  78. package/cjs/components/Gapped/index.d.ts +1 -1
  79. package/cjs/components/Group/Group.d.ts +14 -13
  80. package/cjs/components/Group/Group.js +10 -7
  81. package/cjs/components/Group/Group.js.map +1 -1
  82. package/cjs/components/Group/Group.styles.d.ts +8 -8
  83. package/cjs/components/Group/index.d.ts +1 -1
  84. package/cjs/components/Hint/Hint.d.ts +80 -79
  85. package/cjs/components/Hint/Hint.js +7 -4
  86. package/cjs/components/Hint/Hint.js.map +1 -1
  87. package/cjs/components/Hint/Hint.styles.d.ts +5 -5
  88. package/cjs/components/Hint/index.d.ts +1 -1
  89. package/cjs/components/Input/Input.d.ts +157 -154
  90. package/cjs/components/Input/Input.js +13 -5
  91. package/cjs/components/Input/Input.js.map +1 -1
  92. package/cjs/components/Input/Input.styles.d.ts +42 -42
  93. package/cjs/components/Input/index.d.ts +1 -1
  94. package/cjs/components/Kebab/Kebab.d.ts +71 -70
  95. package/cjs/components/Kebab/Kebab.js +8 -5
  96. package/cjs/components/Kebab/Kebab.js.map +1 -1
  97. package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
  98. package/cjs/components/Kebab/index.d.ts +1 -1
  99. package/cjs/components/Link/Link.d.ts +72 -71
  100. package/cjs/components/Link/Link.js +11 -3
  101. package/cjs/components/Link/Link.js.map +1 -1
  102. package/cjs/components/Link/Link.mixins.d.ts +3 -3
  103. package/cjs/components/Link/Link.styles.d.ts +15 -15
  104. package/cjs/components/Link/index.d.ts +1 -1
  105. package/cjs/components/Loader/Loader.d.ts +100 -99
  106. package/cjs/components/Loader/Loader.js +11 -7
  107. package/cjs/components/Loader/Loader.js.map +1 -1
  108. package/cjs/components/Loader/Loader.styles.d.ts +8 -8
  109. package/cjs/components/Loader/index.d.ts +1 -1
  110. package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -20
  111. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  112. package/cjs/components/MenuHeader/index.d.ts +1 -1
  113. package/cjs/components/MenuItem/MenuItem.d.ts +94 -93
  114. package/cjs/components/MenuItem/MenuItem.js +13 -7
  115. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  116. package/cjs/components/MenuItem/MenuItem.styles.d.ts +13 -13
  117. package/cjs/components/MenuItem/index.d.ts +1 -1
  118. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  119. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  120. package/cjs/components/MenuSeparator/index.d.ts +1 -1
  121. package/cjs/components/Modal/Modal.d.ts +87 -87
  122. package/cjs/components/Modal/Modal.styles.d.ts +26 -26
  123. package/cjs/components/Modal/ModalBody.d.ts +21 -20
  124. package/cjs/components/Modal/ModalBody.js +9 -6
  125. package/cjs/components/Modal/ModalBody.js.map +1 -1
  126. package/cjs/components/Modal/ModalClose.d.ts +2 -2
  127. package/cjs/components/Modal/ModalContext.d.ts +15 -15
  128. package/cjs/components/Modal/ModalFooter.d.ts +21 -21
  129. package/cjs/components/Modal/ModalHeader.d.ts +17 -17
  130. package/cjs/components/Modal/index.d.ts +4 -4
  131. package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
  132. package/cjs/components/Paging/Paging.d.ts +90 -90
  133. package/cjs/components/Paging/Paging.js +6 -5
  134. package/cjs/components/Paging/Paging.js.map +1 -1
  135. package/cjs/components/Paging/Paging.styles.d.ts +16 -16
  136. package/cjs/components/Paging/PagingHelper.d.ts +2 -2
  137. package/cjs/components/Paging/index.d.ts +1 -1
  138. package/cjs/components/Paging/locale/index.d.ts +4 -4
  139. package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
  140. package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
  141. package/cjs/components/Paging/locale/types.d.ts +3 -3
  142. package/cjs/components/PasswordInput/PasswordInput.d.ts +49 -48
  143. package/cjs/components/PasswordInput/PasswordInput.js +13 -6
  144. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  145. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  146. package/cjs/components/PasswordInput/index.d.ts +1 -1
  147. package/cjs/components/Radio/Radio.d.ts +77 -82
  148. package/cjs/components/Radio/Radio.js +11 -10
  149. package/cjs/components/Radio/Radio.js.map +1 -1
  150. package/cjs/components/Radio/Radio.styles.d.ts +19 -19
  151. package/cjs/components/Radio/index.d.ts +1 -1
  152. package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
  153. package/cjs/components/RadioGroup/RadioGroup.d.ts +117 -132
  154. package/cjs/components/RadioGroup/RadioGroup.js +25 -29
  155. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  156. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  157. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  158. package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
  159. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
  160. package/cjs/components/RadioGroup/index.d.ts +1 -1
  161. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -37
  162. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  163. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +84 -83
  164. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  165. package/cjs/components/ScrollContainer/ScrollContainer.js +8 -5
  166. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  167. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  168. package/cjs/components/ScrollContainer/index.d.ts +1 -1
  169. package/cjs/components/Select/Item.d.ts +7 -7
  170. package/cjs/components/Select/Select.d.ts +179 -178
  171. package/cjs/components/Select/Select.js +6 -4
  172. package/cjs/components/Select/Select.js.map +1 -1
  173. package/cjs/components/Select/Select.styles.d.ts +17 -17
  174. package/cjs/components/Select/index.d.ts +1 -1
  175. package/cjs/components/Select/locale/index.d.ts +4 -4
  176. package/cjs/components/Select/locale/locales/en.d.ts +2 -2
  177. package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
  178. package/cjs/components/Select/locale/types.d.ts +4 -4
  179. package/cjs/components/Select/selectTheme.d.ts +3 -3
  180. package/cjs/components/SidePage/SidePage.d.ts +104 -104
  181. package/cjs/components/SidePage/SidePage.styles.d.ts +37 -37
  182. package/cjs/components/SidePage/SidePageBody.d.ts +19 -18
  183. package/cjs/components/SidePage/SidePageBody.js +9 -6
  184. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  185. package/cjs/components/SidePage/SidePageContainer.d.ts +15 -14
  186. package/cjs/components/SidePage/SidePageContainer.js +9 -6
  187. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  188. package/cjs/components/SidePage/SidePageContext.d.ts +15 -15
  189. package/cjs/components/SidePage/SidePageFooter.d.ts +36 -37
  190. package/cjs/components/SidePage/SidePageFooter.js +11 -12
  191. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  192. package/cjs/components/SidePage/SidePageHeader.d.ts +41 -40
  193. package/cjs/components/SidePage/SidePageHeader.js +6 -3
  194. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  195. package/cjs/components/SidePage/index.d.ts +5 -5
  196. package/cjs/components/Spinner/Spinner.d.ts +48 -47
  197. package/cjs/components/Spinner/Spinner.js +8 -5
  198. package/cjs/components/Spinner/Spinner.js.map +1 -1
  199. package/cjs/components/Spinner/Spinner.styles.d.ts +11 -11
  200. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  201. package/cjs/components/Spinner/index.d.ts +1 -1
  202. package/cjs/components/Spinner/locale/index.d.ts +4 -4
  203. package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
  204. package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
  205. package/cjs/components/Spinner/locale/types.d.ts +4 -4
  206. package/cjs/components/Sticky/Sticky.d.ts +54 -53
  207. package/cjs/components/Sticky/Sticky.js +8 -5
  208. package/cjs/components/Sticky/Sticky.js.map +1 -1
  209. package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
  210. package/cjs/components/Sticky/index.d.ts +1 -1
  211. package/cjs/components/Switcher/Switcher.d.ts +56 -55
  212. package/cjs/components/Switcher/Switcher.js +6 -3
  213. package/cjs/components/Switcher/Switcher.js.map +1 -1
  214. package/cjs/components/Switcher/Switcher.styles.d.ts +10 -10
  215. package/cjs/components/Switcher/index.d.ts +1 -1
  216. package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
  217. package/cjs/components/Tabs/Indicator.d.ts +28 -27
  218. package/cjs/components/Tabs/Indicator.js +16 -15
  219. package/cjs/components/Tabs/Indicator.js.map +1 -1
  220. package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
  221. package/cjs/components/Tabs/Tab.d.ts +121 -120
  222. package/cjs/components/Tabs/Tab.js +13 -9
  223. package/cjs/components/Tabs/Tab.js.map +1 -1
  224. package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
  225. package/cjs/components/Tabs/Tabs.d.ts +62 -61
  226. package/cjs/components/Tabs/Tabs.js +9 -9
  227. package/cjs/components/Tabs/Tabs.js.map +1 -1
  228. package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
  229. package/cjs/components/Tabs/TabsContext.d.ts +14 -14
  230. package/cjs/components/Tabs/index.d.ts +2 -2
  231. package/cjs/components/Textarea/Textarea.d.ts +185 -184
  232. package/cjs/components/Textarea/Textarea.js +12 -5
  233. package/cjs/components/Textarea/Textarea.js.map +1 -1
  234. package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
  235. package/cjs/components/Textarea/TextareaCounter.d.ts +13 -13
  236. package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
  237. package/cjs/components/Textarea/index.d.ts +1 -1
  238. package/cjs/components/Toast/Toast.d.ts +56 -55
  239. package/cjs/components/Toast/Toast.js +7 -4
  240. package/cjs/components/Toast/Toast.js.map +1 -1
  241. package/cjs/components/Toast/Toast.styles.d.ts +6 -6
  242. package/cjs/components/Toast/ToastStatic.d.ts +8 -8
  243. package/cjs/components/Toast/ToastView.d.ts +38 -37
  244. package/cjs/components/Toast/ToastView.js +8 -5
  245. package/cjs/components/Toast/ToastView.js.map +1 -1
  246. package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
  247. package/cjs/components/Toast/index.d.ts +1 -1
  248. package/cjs/components/Toggle/Toggle.d.ts +107 -106
  249. package/cjs/components/Toggle/Toggle.js +9 -6
  250. package/cjs/components/Toggle/Toggle.js.map +1 -1
  251. package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
  252. package/cjs/components/Toggle/index.d.ts +1 -1
  253. package/cjs/components/Token/Token.d.ts +36 -35
  254. package/cjs/components/Token/Token.js +7 -4
  255. package/cjs/components/Token/Token.js.map +1 -1
  256. package/cjs/components/Token/Token.styles.d.ts +29 -29
  257. package/cjs/components/Token/index.d.ts +1 -1
  258. package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
  259. package/cjs/components/TokenInput/TokenInput.d.ts +194 -193
  260. package/cjs/components/TokenInput/TokenInput.js +9 -7
  261. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  262. package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
  263. package/cjs/components/TokenInput/TokenInputMenu.d.ts +18 -18
  264. package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
  265. package/cjs/components/TokenInput/index.d.ts +1 -1
  266. package/cjs/components/TokenInput/locale/index.d.ts +4 -4
  267. package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
  268. package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
  269. package/cjs/components/TokenInput/locale/types.d.ts +4 -4
  270. package/cjs/components/Tooltip/Tooltip.d.ts +173 -171
  271. package/cjs/components/Tooltip/Tooltip.js +16 -5
  272. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  273. package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
  274. package/cjs/components/Tooltip/index.d.ts +1 -1
  275. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +65 -64
  276. package/cjs/components/TooltipMenu/TooltipMenu.js +8 -5
  277. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  278. package/cjs/components/TooltipMenu/index.d.ts +1 -1
  279. package/cjs/index.d.ts +48 -48
  280. package/cjs/internal/BGRuler.d.ts +30 -30
  281. package/cjs/internal/Calendar/Calendar.d.ts +66 -66
  282. package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
  283. package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
  284. package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  285. package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
  286. package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
  287. package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
  288. package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
  289. package/cjs/internal/Calendar/Month.d.ts +33 -33
  290. package/cjs/internal/Calendar/MonthView.d.ts +21 -21
  291. package/cjs/internal/Calendar/MonthView.styles.d.ts +9 -9
  292. package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
  293. package/cjs/internal/Calendar/config.d.ts +9 -9
  294. package/cjs/internal/Calendar/index.d.ts +2 -2
  295. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +30 -23
  296. package/cjs/internal/CommonWrapper/CommonWrapper.js +40 -15
  297. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  298. package/cjs/internal/CommonWrapper/index.d.ts +1 -1
  299. package/cjs/internal/ComponentCombinator.d.ts +25 -25
  300. package/cjs/internal/ComponentTable.d.ts +21 -21
  301. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  302. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -2
  303. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  304. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +90 -87
  305. package/cjs/internal/CustomComboBox/ComboBoxView.js +15 -5
  306. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  307. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +136 -135
  308. package/cjs/internal/CustomComboBox/CustomComboBox.js +8 -5
  309. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  310. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  311. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  312. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  313. package/cjs/internal/CustomComboBox/index.d.ts +2 -2
  314. package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
  315. package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  316. package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  317. package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
  318. package/cjs/internal/DateSelect/DateSelect.d.ts +93 -93
  319. package/cjs/internal/DateSelect/DateSelect.js +3 -3
  320. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  321. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  322. package/cjs/internal/DateSelect/index.d.ts +1 -1
  323. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +43 -46
  324. package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -13
  325. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  326. package/cjs/internal/DropdownContainer/index.d.ts +1 -1
  327. package/cjs/internal/FocusTrap/FocusTrap.d.ts +17 -16
  328. package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
  329. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  330. package/cjs/internal/FocusTrap/index.d.ts +1 -1
  331. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  332. package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  333. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  334. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
  335. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  336. package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
  337. package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
  338. package/cjs/internal/InputLikeText/InputLikeText.d.ts +73 -72
  339. package/cjs/internal/InputLikeText/InputLikeText.js +10 -3
  340. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  341. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  342. package/cjs/internal/InputLikeText/index.d.ts +1 -1
  343. package/cjs/internal/InternalMenu/InternalMenu.d.ts +63 -64
  344. package/cjs/internal/InternalMenu/InternalMenu.js +16 -22
  345. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  346. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  347. package/cjs/internal/InternalMenu/index.d.ts +1 -1
  348. package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
  349. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  350. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  351. package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
  352. package/cjs/internal/MaskedInput/MaskedInput.d.ts +40 -40
  353. package/cjs/internal/MaskedInput/MaskedInput.js +3 -3
  354. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  355. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  356. package/cjs/internal/MaskedInput/index.d.ts +1 -1
  357. package/cjs/internal/Menu/Menu.d.ts +63 -62
  358. package/cjs/internal/Menu/Menu.js +9 -6
  359. package/cjs/internal/Menu/Menu.js.map +1 -1
  360. package/cjs/internal/Menu/Menu.styles.d.ts +6 -6
  361. package/cjs/internal/Menu/index.d.ts +1 -1
  362. package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
  363. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  364. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  365. package/cjs/internal/NativeDateInput/index.d.ts +1 -1
  366. package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
  367. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  368. package/cjs/internal/Popup/Popup.d.ts +161 -161
  369. package/cjs/internal/Popup/Popup.js +23 -22
  370. package/cjs/internal/Popup/Popup.js.map +1 -1
  371. package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
  372. package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
  373. package/cjs/internal/Popup/PopupPin.d.ts +56 -56
  374. package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
  375. package/cjs/internal/Popup/index.d.ts +1 -1
  376. package/cjs/internal/PopupMenu/PopupMenu.d.ts +85 -84
  377. package/cjs/internal/PopupMenu/PopupMenu.js +7 -4
  378. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  379. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  380. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +2 -2
  381. package/cjs/internal/PopupMenu/index.d.ts +1 -1
  382. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  383. package/cjs/internal/RenderContainer/RenderContainer.d.ts +17 -16
  384. package/cjs/internal/RenderContainer/RenderContainer.js +17 -6
  385. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  386. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  387. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +14 -13
  388. package/cjs/internal/RenderContainer/RenderInnerContainer.js +9 -4
  389. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  390. package/cjs/internal/RenderContainer/index.d.ts +1 -1
  391. package/cjs/internal/RenderLayer/RenderLayer.d.ts +29 -27
  392. package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
  393. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  394. package/cjs/internal/RenderLayer/index.d.ts +1 -1
  395. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  396. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  397. package/cjs/internal/ResizeDetector/index.d.ts +1 -1
  398. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  399. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  400. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  401. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  402. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  403. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  404. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  405. package/cjs/internal/ThemePlayground/Playground.d.ts +31 -31
  406. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  407. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  408. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  409. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  410. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  411. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  412. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  413. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  414. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  415. package/cjs/internal/ThemePlayground/VariableValue.d.ts +45 -45
  416. package/cjs/internal/ThemePlayground/constants.d.ts +18 -18
  417. package/cjs/internal/ThemePlayground/darkTheme.d.ts +255 -255
  418. package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
  419. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  420. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +20 -19
  421. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  422. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  423. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  424. package/cjs/internal/ZIndex/ZIndex.d.ts +34 -34
  425. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  426. package/cjs/internal/ZIndex/index.d.ts +1 -1
  427. package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
  428. package/cjs/internal/icons/16px/index.d.ts +22 -21
  429. package/cjs/internal/icons/16px/index.js +108 -51
  430. package/cjs/internal/icons/16px/index.js.map +1 -1
  431. package/cjs/internal/icons/20px/Icon.d.ts +30 -30
  432. package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
  433. package/cjs/internal/icons/20px/index.d.ts +2 -2
  434. package/cjs/internal/icons/20px/svg.d.ts +14 -14
  435. package/cjs/internal/icons/CloudIcon.d.ts +1 -1
  436. package/cjs/internal/icons/CrossIcon.d.ts +1 -1
  437. package/cjs/internal/icons/SpinnerIcon.d.ts +23 -23
  438. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  439. package/cjs/internal/themes/DefaultTheme.d.ts +766 -766
  440. package/cjs/internal/themes/FlatTheme.d.ts +132 -132
  441. package/cjs/internal/themes/Theme8px.d.ts +271 -271
  442. package/cjs/lib/ConditionalHandler.d.ts +11 -11
  443. package/cjs/lib/LayoutEvents.d.ts +4 -4
  444. package/cjs/lib/ModalStack.d.ts +14 -14
  445. package/cjs/lib/SSRSafe.d.ts +4 -4
  446. package/cjs/lib/Supports.d.ts +1 -1
  447. package/cjs/lib/Upgrades.d.ts +6 -6
  448. package/cjs/lib/animation/index.d.ts +6 -6
  449. package/cjs/lib/animation/presets.d.ts +18 -18
  450. package/cjs/lib/animation/stepper.d.ts +1 -1
  451. package/cjs/lib/client.d.ts +16 -16
  452. package/cjs/lib/createPropsGetter.d.ts +2 -2
  453. package/cjs/lib/currentEnvironment.d.ts +3 -3
  454. package/cjs/lib/date/InternalDate.d.ts +58 -58
  455. package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
  456. package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
  457. package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
  458. package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
  459. package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
  460. package/cjs/lib/date/constants.d.ts +28 -28
  461. package/cjs/lib/date/localeSets.d.ts +5 -5
  462. package/cjs/lib/date/types.d.ts +90 -90
  463. package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
  464. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
  465. package/cjs/lib/events/MouseDrag.d.ts +58 -58
  466. package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
  467. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  468. package/cjs/lib/events/keyListener.d.ts +7 -7
  469. package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  470. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  471. package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
  472. package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
  473. package/cjs/lib/events/stopPropagation.d.ts +1 -1
  474. package/cjs/lib/events/tabListener.d.ts +1 -1
  475. package/cjs/lib/extractKeyboardAction.d.ts +13 -13
  476. package/cjs/lib/filterProps.d.ts +12 -12
  477. package/cjs/lib/forwardRefAndName.d.ts +5 -5
  478. package/cjs/lib/getDisplayName.d.ts +3 -3
  479. package/cjs/lib/listenFocusOutside.d.ts +8 -8
  480. package/cjs/lib/locale/LocaleContext.d.ts +7 -7
  481. package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
  482. package/cjs/lib/locale/constants.d.ts +2 -2
  483. package/cjs/lib/locale/decorators.d.ts +36 -36
  484. package/cjs/lib/locale/index.d.ts +3 -3
  485. package/cjs/lib/locale/types.d.ts +19 -19
  486. package/cjs/lib/memo.d.ts +1 -1
  487. package/cjs/lib/net/fetch.d.ts +13 -13
  488. package/cjs/lib/polyfillPlaceholder.d.ts +1 -1
  489. package/cjs/lib/reactGetTextContent.d.ts +2 -2
  490. package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
  491. package/cjs/lib/rootNode/getRootNode.js +22 -0
  492. package/cjs/lib/rootNode/getRootNode.js.map +1 -0
  493. package/cjs/lib/rootNode/index.d.ts +2 -0
  494. package/cjs/lib/rootNode/index.js +2 -0
  495. package/cjs/lib/rootNode/index.js.map +1 -0
  496. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  497. package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
  498. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
  499. package/cjs/lib/styles/ColorFactory.d.ts +11 -11
  500. package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
  501. package/cjs/lib/styles/ColorHelpers.d.ts +20 -20
  502. package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
  503. package/cjs/lib/styles/ColorObject.d.ts +52 -52
  504. package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
  505. package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
  506. package/cjs/lib/styles/Mixins.d.ts +2 -2
  507. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  508. package/cjs/lib/theming/AnimationKeyframes.d.ts +9 -9
  509. package/cjs/lib/theming/Emotion.d.ts +15 -15
  510. package/cjs/lib/theming/Emotion.js +1 -0
  511. package/cjs/lib/theming/Emotion.js.map +1 -1
  512. package/cjs/lib/theming/Theme.d.ts +3 -3
  513. package/cjs/lib/theming/ThemeContext.d.ts +2 -2
  514. package/cjs/lib/theming/ThemeFactory.d.ts +8 -8
  515. package/cjs/lib/theming/ThemeHelpers.d.ts +11 -11
  516. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  517. package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  518. package/cjs/lib/theming/themes/FlatTheme.d.ts +1 -1
  519. package/cjs/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  520. package/cjs/lib/utils.d.ts +28 -28
  521. package/cjs/lib/withClassWrapper.d.ts +71 -68
  522. package/cjs/lib/withClassWrapper.js.map +1 -1
  523. package/components/Autocomplete/Autocomplete/Autocomplete.js +19 -16
  524. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  525. package/components/Autocomplete/Autocomplete.d.ts +113 -112
  526. package/components/Autocomplete/index.d.ts +1 -1
  527. package/components/Button/Button/Button.js +15 -12
  528. package/components/Button/Button/Button.js.map +1 -1
  529. package/components/Button/Button.d.ts +161 -160
  530. package/components/Button/Button.mixins.d.ts +6 -6
  531. package/components/Button/Button.styles.d.ts +67 -67
  532. package/components/Button/Corners.d.ts +6 -6
  533. package/components/Button/index.d.ts +1 -1
  534. package/components/Center/Center/Center.js +14 -9
  535. package/components/Center/Center/Center.js.map +1 -1
  536. package/components/Center/Center.d.ts +25 -24
  537. package/components/Center/Center.styles.d.ts +7 -7
  538. package/components/Center/index.d.ts +1 -1
  539. package/components/Checkbox/Checkbox/Checkbox.js +16 -10
  540. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  541. package/components/Checkbox/Checkbox.d.ts +96 -95
  542. package/components/Checkbox/Checkbox.styles.d.ts +22 -22
  543. package/components/Checkbox/index.d.ts +1 -1
  544. package/components/ComboBox/ComboBox/ComboBox.js +38 -32
  545. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  546. package/components/ComboBox/ComboBox.d.ts +184 -182
  547. package/components/ComboBox/index.d.ts +1 -1
  548. package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  549. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +29 -27
  550. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  551. package/components/CurrencyInput/CurrencyInput.d.ts +106 -106
  552. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  553. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  554. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  555. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  556. package/components/CurrencyInput/constants.d.ts +2 -2
  557. package/components/CurrencyInput/index.d.ts +1 -1
  558. package/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  559. package/components/CurrencyLabel/index.d.ts +1 -1
  560. package/components/DateInput/DateFragmentsView.d.ts +20 -20
  561. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  562. package/components/DateInput/DateInput/DateInput.js +7 -3
  563. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  564. package/components/DateInput/DateInput.d.ts +107 -106
  565. package/components/DateInput/DateInput.styles.d.ts +10 -10
  566. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  567. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  568. package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  569. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  570. package/components/DateInput/helpers/inputNumber.d.ts +5 -5
  571. package/components/DateInput/index.d.ts +1 -1
  572. package/components/DatePicker/DatePicker/DatePicker.js +29 -22
  573. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  574. package/components/DatePicker/DatePicker.d.ts +134 -132
  575. package/components/DatePicker/DatePicker.styles.d.ts +3 -3
  576. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  577. package/components/DatePicker/Picker.d.ts +33 -33
  578. package/components/DatePicker/Picker.styles.d.ts +5 -5
  579. package/components/DatePicker/index.d.ts +1 -1
  580. package/components/DatePicker/locale/index.d.ts +4 -4
  581. package/components/DatePicker/locale/locales/en.d.ts +2 -2
  582. package/components/DatePicker/locale/locales/ru.d.ts +2 -2
  583. package/components/DatePicker/locale/types.d.ts +5 -5
  584. package/components/Dropdown/Dropdown/Dropdown.js +15 -13
  585. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  586. package/components/Dropdown/Dropdown.d.ts +124 -123
  587. package/components/Dropdown/index.d.ts +1 -1
  588. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +15 -9
  589. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  590. package/components/DropdownMenu/DropdownMenu.d.ts +65 -64
  591. package/components/DropdownMenu/index.d.ts +1 -1
  592. package/components/FxInput/FxInput/FxInput.js +13 -9
  593. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  594. package/components/FxInput/FxInput.d.ts +50 -49
  595. package/components/FxInput/index.d.ts +1 -1
  596. package/components/Gapped/Gapped/Gapped.js +24 -21
  597. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  598. package/components/Gapped/Gapped.d.ts +58 -56
  599. package/components/Gapped/index.d.ts +1 -1
  600. package/components/Group/Group/Group.js +22 -9
  601. package/components/Group/Group/Group.js.map +1 -1
  602. package/components/Group/Group.d.ts +14 -13
  603. package/components/Group/Group.styles.d.ts +8 -8
  604. package/components/Group/index.d.ts +1 -1
  605. package/components/Hint/Hint/Hint.js +18 -12
  606. package/components/Hint/Hint/Hint.js.map +1 -1
  607. package/components/Hint/Hint.d.ts +80 -79
  608. package/components/Hint/Hint.styles.d.ts +5 -5
  609. package/components/Hint/index.d.ts +1 -1
  610. package/components/Input/Input/Input.js +21 -14
  611. package/components/Input/Input/Input.js.map +1 -1
  612. package/components/Input/Input.d.ts +157 -154
  613. package/components/Input/Input.styles.d.ts +42 -42
  614. package/components/Input/index.d.ts +1 -1
  615. package/components/Kebab/Kebab/Kebab.js +12 -7
  616. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  617. package/components/Kebab/Kebab.d.ts +71 -70
  618. package/components/Kebab/Kebab.styles.d.ts +12 -12
  619. package/components/Kebab/index.d.ts +1 -1
  620. package/components/Link/Link/Link.js +15 -11
  621. package/components/Link/Link/Link.js.map +1 -1
  622. package/components/Link/Link.d.ts +72 -71
  623. package/components/Link/Link.mixins.d.ts +3 -3
  624. package/components/Link/Link.styles.d.ts +15 -15
  625. package/components/Link/index.d.ts +1 -1
  626. package/components/Loader/Loader/Loader.js +19 -13
  627. package/components/Loader/Loader/Loader.js.map +1 -1
  628. package/components/Loader/Loader.d.ts +100 -99
  629. package/components/Loader/Loader.styles.d.ts +8 -8
  630. package/components/Loader/index.d.ts +1 -1
  631. package/components/MenuHeader/MenuHeader.d.ts +20 -20
  632. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  633. package/components/MenuHeader/index.d.ts +1 -1
  634. package/components/MenuItem/MenuItem/MenuItem.js +21 -14
  635. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  636. package/components/MenuItem/MenuItem.d.ts +94 -93
  637. package/components/MenuItem/MenuItem.styles.d.ts +13 -13
  638. package/components/MenuItem/index.d.ts +1 -1
  639. package/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  640. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  641. package/components/MenuSeparator/index.d.ts +1 -1
  642. package/components/Modal/Modal.d.ts +87 -87
  643. package/components/Modal/Modal.styles.d.ts +26 -26
  644. package/components/Modal/ModalBody/ModalBody.js +16 -10
  645. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  646. package/components/Modal/ModalBody.d.ts +21 -20
  647. package/components/Modal/ModalClose.d.ts +2 -2
  648. package/components/Modal/ModalContext.d.ts +15 -15
  649. package/components/Modal/ModalFooter.d.ts +21 -21
  650. package/components/Modal/ModalHeader.d.ts +17 -17
  651. package/components/Modal/index.d.ts +4 -4
  652. package/components/Paging/NavigationHelper.d.ts +7 -7
  653. package/components/Paging/Paging/Paging.js +17 -14
  654. package/components/Paging/Paging/Paging.js.map +1 -1
  655. package/components/Paging/Paging.d.ts +90 -90
  656. package/components/Paging/Paging.styles.d.ts +16 -16
  657. package/components/Paging/PagingHelper.d.ts +2 -2
  658. package/components/Paging/index.d.ts +1 -1
  659. package/components/Paging/locale/index.d.ts +4 -4
  660. package/components/Paging/locale/locales/en.d.ts +2 -2
  661. package/components/Paging/locale/locales/ru.d.ts +2 -2
  662. package/components/Paging/locale/types.d.ts +3 -3
  663. package/components/PasswordInput/PasswordInput/PasswordInput.js +18 -14
  664. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  665. package/components/PasswordInput/PasswordInput.d.ts +49 -48
  666. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  667. package/components/PasswordInput/index.d.ts +1 -1
  668. package/components/Radio/Radio/Radio.js +17 -19
  669. package/components/Radio/Radio/Radio.js.map +1 -1
  670. package/components/Radio/Radio.d.ts +77 -82
  671. package/components/Radio/Radio.styles.d.ts +19 -19
  672. package/components/Radio/index.d.ts +1 -1
  673. package/components/RadioGroup/Prevent.d.ts +8 -8
  674. package/components/RadioGroup/RadioGroup/RadioGroup.js +36 -29
  675. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  676. package/components/RadioGroup/RadioGroup.d.ts +117 -132
  677. package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  678. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
  679. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
  680. package/components/RadioGroup/RadioGroupContext/package.json +6 -0
  681. package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  682. package/components/RadioGroup/index.d.ts +1 -1
  683. package/components/ScrollContainer/ScrollBar.d.ts +37 -37
  684. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +13 -8
  685. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  686. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  687. package/components/ScrollContainer/ScrollContainer.d.ts +84 -83
  688. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  689. package/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  690. package/components/ScrollContainer/index.d.ts +1 -1
  691. package/components/Select/Item.d.ts +7 -7
  692. package/components/Select/Select/Select.js +8 -5
  693. package/components/Select/Select/Select.js.map +1 -1
  694. package/components/Select/Select.d.ts +179 -178
  695. package/components/Select/Select.styles.d.ts +17 -17
  696. package/components/Select/index.d.ts +1 -1
  697. package/components/Select/locale/index.d.ts +4 -4
  698. package/components/Select/locale/locales/en.d.ts +2 -2
  699. package/components/Select/locale/locales/ru.d.ts +2 -2
  700. package/components/Select/locale/types.d.ts +4 -4
  701. package/components/Select/selectTheme.d.ts +3 -3
  702. package/components/SidePage/SidePage.d.ts +104 -104
  703. package/components/SidePage/SidePage.styles.d.ts +37 -37
  704. package/components/SidePage/SidePageBody/SidePageBody.js +16 -10
  705. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  706. package/components/SidePage/SidePageBody.d.ts +19 -18
  707. package/components/SidePage/SidePageContainer/SidePageContainer.js +16 -9
  708. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  709. package/components/SidePage/SidePageContainer.d.ts +15 -14
  710. package/components/SidePage/SidePageContext.d.ts +15 -15
  711. package/components/SidePage/SidePageFooter/SidePageFooter.js +22 -19
  712. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  713. package/components/SidePage/SidePageFooter.d.ts +36 -37
  714. package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
  715. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  716. package/components/SidePage/SidePageHeader.d.ts +41 -40
  717. package/components/SidePage/index.d.ts +5 -5
  718. package/components/Spinner/Spinner/Spinner.js +8 -3
  719. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  720. package/components/Spinner/Spinner.d.ts +48 -47
  721. package/components/Spinner/Spinner.styles.d.ts +11 -11
  722. package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  723. package/components/Spinner/index.d.ts +1 -1
  724. package/components/Spinner/locale/index.d.ts +4 -4
  725. package/components/Spinner/locale/locales/en.d.ts +2 -2
  726. package/components/Spinner/locale/locales/ru.d.ts +2 -2
  727. package/components/Spinner/locale/types.d.ts +4 -4
  728. package/components/Sticky/Sticky/Sticky.js +13 -8
  729. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  730. package/components/Sticky/Sticky.d.ts +54 -53
  731. package/components/Sticky/Sticky.styles.d.ts +7 -7
  732. package/components/Sticky/index.d.ts +1 -1
  733. package/components/Switcher/Switcher/Switcher.js +11 -6
  734. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  735. package/components/Switcher/Switcher.d.ts +56 -55
  736. package/components/Switcher/Switcher.styles.d.ts +10 -10
  737. package/components/Switcher/index.d.ts +1 -1
  738. package/components/Switcher/switcherTheme.d.ts +2 -2
  739. package/components/Tabs/Indicator/Indicator.js +16 -14
  740. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  741. package/components/Tabs/Indicator.d.ts +28 -27
  742. package/components/Tabs/Indicator.styles.d.ts +8 -8
  743. package/components/Tabs/Tab/Tab.js +31 -34
  744. package/components/Tabs/Tab/Tab.js.map +1 -1
  745. package/components/Tabs/Tab.d.ts +121 -120
  746. package/components/Tabs/Tab.styles.d.ts +27 -27
  747. package/components/Tabs/Tabs/Tabs.js +20 -20
  748. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  749. package/components/Tabs/Tabs.d.ts +62 -61
  750. package/components/Tabs/Tabs.styles.d.ts +5 -5
  751. package/components/Tabs/TabsContext.d.ts +14 -14
  752. package/components/Tabs/index.d.ts +2 -2
  753. package/components/Textarea/Textarea/Textarea.js +21 -17
  754. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  755. package/components/Textarea/Textarea.d.ts +185 -184
  756. package/components/Textarea/Textarea.styles.d.ts +15 -15
  757. package/components/Textarea/TextareaCounter.d.ts +13 -13
  758. package/components/Textarea/TextareaHelpers.d.ts +11 -11
  759. package/components/Textarea/index.d.ts +1 -1
  760. package/components/Toast/Toast/Toast.js +19 -13
  761. package/components/Toast/Toast/Toast.js.map +1 -1
  762. package/components/Toast/Toast.d.ts +56 -55
  763. package/components/Toast/Toast.styles.d.ts +6 -6
  764. package/components/Toast/ToastStatic.d.ts +8 -8
  765. package/components/Toast/ToastView/ToastView.js +10 -5
  766. package/components/Toast/ToastView/ToastView.js.map +1 -1
  767. package/components/Toast/ToastView.d.ts +38 -37
  768. package/components/Toast/ToastView.styles.d.ts +8 -8
  769. package/components/Toast/index.d.ts +1 -1
  770. package/components/Toggle/Toggle/Toggle.js +16 -11
  771. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  772. package/components/Toggle/Toggle.d.ts +107 -106
  773. package/components/Toggle/Toggle.styles.d.ts +30 -30
  774. package/components/Toggle/index.d.ts +1 -1
  775. package/components/Token/Token/Token.js +11 -4
  776. package/components/Token/Token/Token.js.map +1 -1
  777. package/components/Token/Token.d.ts +36 -35
  778. package/components/Token/Token.styles.d.ts +29 -29
  779. package/components/Token/index.d.ts +1 -1
  780. package/components/TokenInput/TextWidthHelper.d.ts +18 -18
  781. package/components/TokenInput/TokenInput/TokenInput.js +11 -5
  782. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  783. package/components/TokenInput/TokenInput.d.ts +194 -193
  784. package/components/TokenInput/TokenInput.styles.d.ts +15 -15
  785. package/components/TokenInput/TokenInputMenu.d.ts +18 -18
  786. package/components/TokenInput/TokenInputReducer.d.ts +25 -25
  787. package/components/TokenInput/index.d.ts +1 -1
  788. package/components/TokenInput/locale/index.d.ts +4 -4
  789. package/components/TokenInput/locale/locales/en.d.ts +2 -2
  790. package/components/TokenInput/locale/locales/ru.d.ts +2 -2
  791. package/components/TokenInput/locale/types.d.ts +4 -4
  792. package/components/Tooltip/Tooltip/Tooltip.js +24 -15
  793. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  794. package/components/Tooltip/Tooltip.d.ts +173 -171
  795. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  796. package/components/Tooltip/index.d.ts +1 -1
  797. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +23 -17
  798. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  799. package/components/TooltipMenu/TooltipMenu.d.ts +65 -64
  800. package/components/TooltipMenu/index.d.ts +1 -1
  801. package/index.d.ts +48 -48
  802. package/internal/BGRuler.d.ts +30 -30
  803. package/internal/Calendar/Calendar.d.ts +66 -66
  804. package/internal/Calendar/Calendar.styles.d.ts +5 -5
  805. package/internal/Calendar/CalendarDateShape.d.ts +14 -14
  806. package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  807. package/internal/Calendar/CalendarUtils.d.ts +19 -19
  808. package/internal/Calendar/DayCellView.d.ts +13 -13
  809. package/internal/Calendar/DayCellView.styles.d.ts +7 -7
  810. package/internal/Calendar/DayCellViewModel.d.ts +8 -8
  811. package/internal/Calendar/Month.d.ts +33 -33
  812. package/internal/Calendar/MonthView.d.ts +21 -21
  813. package/internal/Calendar/MonthView.styles.d.ts +9 -9
  814. package/internal/Calendar/MonthViewModel.d.ts +14 -14
  815. package/internal/Calendar/config.d.ts +9 -9
  816. package/internal/Calendar/index.d.ts +2 -2
  817. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +36 -7
  818. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  819. package/internal/CommonWrapper/CommonWrapper.d.ts +30 -23
  820. package/internal/CommonWrapper/index.d.ts +1 -1
  821. package/internal/ComponentCombinator.d.ts +25 -25
  822. package/internal/ComponentTable.d.ts +21 -21
  823. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -3
  824. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  825. package/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  826. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +23 -13
  827. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  828. package/internal/CustomComboBox/ComboBoxView.d.ts +90 -87
  829. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -4
  830. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  831. package/internal/CustomComboBox/CustomComboBox.d.ts +136 -135
  832. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  833. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  834. package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  835. package/internal/CustomComboBox/index.d.ts +2 -2
  836. package/internal/CustomComboBox/locale/index.d.ts +4 -4
  837. package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  838. package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  839. package/internal/CustomComboBox/locale/types.d.ts +5 -5
  840. package/internal/DateSelect/DateSelect/DateSelect.js +5 -5
  841. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  842. package/internal/DateSelect/DateSelect.d.ts +93 -93
  843. package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  844. package/internal/DateSelect/index.d.ts +1 -1
  845. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +11 -15
  846. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  847. package/internal/DropdownContainer/DropdownContainer.d.ts +43 -46
  848. package/internal/DropdownContainer/index.d.ts +1 -1
  849. package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
  850. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  851. package/internal/FocusTrap/FocusTrap.d.ts +17 -16
  852. package/internal/FocusTrap/index.d.ts +1 -1
  853. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  854. package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  855. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
  856. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  857. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  858. package/internal/IgnoreLayerClick/index.d.ts +1 -1
  859. package/internal/InputLikeText/HiddenInput.d.ts +13 -13
  860. package/internal/InputLikeText/InputLikeText/InputLikeText.js +11 -6
  861. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  862. package/internal/InputLikeText/InputLikeText.d.ts +73 -72
  863. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  864. package/internal/InputLikeText/index.d.ts +1 -1
  865. package/internal/InternalMenu/InternalMenu/InternalMenu.js +24 -25
  866. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  867. package/internal/InternalMenu/InternalMenu.d.ts +63 -64
  868. package/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  869. package/internal/InternalMenu/index.d.ts +1 -1
  870. package/internal/InternalMenu/isActiveElement.d.ts +3 -3
  871. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  872. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  873. package/internal/MaskCharLowLine/index.d.ts +1 -1
  874. package/internal/MaskedInput/MaskedInput/MaskedInput.js +7 -7
  875. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  876. package/internal/MaskedInput/MaskedInput.d.ts +40 -40
  877. package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  878. package/internal/MaskedInput/index.d.ts +1 -1
  879. package/internal/Menu/Menu/Menu.js +11 -8
  880. package/internal/Menu/Menu/Menu.js.map +1 -1
  881. package/internal/Menu/Menu.d.ts +63 -62
  882. package/internal/Menu/Menu.styles.d.ts +6 -6
  883. package/internal/Menu/index.d.ts +1 -1
  884. package/internal/Menu/isActiveElement.d.ts +3 -3
  885. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  886. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  887. package/internal/NativeDateInput/index.d.ts +1 -1
  888. package/internal/NativeDateInput/utils.d.ts +7 -7
  889. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  890. package/internal/Popup/Popup/Popup.js +61 -61
  891. package/internal/Popup/Popup/Popup.js.map +1 -1
  892. package/internal/Popup/Popup.d.ts +161 -161
  893. package/internal/Popup/Popup.styles.d.ts +16 -16
  894. package/internal/Popup/PopupHelper.d.ts +26 -26
  895. package/internal/Popup/PopupPin.d.ts +56 -56
  896. package/internal/Popup/PopupPin.styles.d.ts +3 -3
  897. package/internal/Popup/index.d.ts +1 -1
  898. package/internal/PopupMenu/PopupMenu/PopupMenu.js +12 -7
  899. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  900. package/internal/PopupMenu/PopupMenu.d.ts +85 -84
  901. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  902. package/internal/PopupMenu/PopupMenuPositions.d.ts +2 -2
  903. package/internal/PopupMenu/index.d.ts +1 -1
  904. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  905. package/internal/RenderContainer/RenderContainer/RenderContainer.js +13 -8
  906. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  907. package/internal/RenderContainer/RenderContainer.d.ts +17 -16
  908. package/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  909. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +20 -6
  910. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  911. package/internal/RenderContainer/RenderInnerContainer.d.ts +14 -13
  912. package/internal/RenderContainer/index.d.ts +1 -1
  913. package/internal/RenderLayer/RenderLayer/RenderLayer.js +20 -18
  914. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  915. package/internal/RenderLayer/RenderLayer.d.ts +29 -27
  916. package/internal/RenderLayer/index.d.ts +1 -1
  917. package/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  918. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  919. package/internal/ResizeDetector/index.d.ts +1 -1
  920. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  921. package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  922. package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  923. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  924. package/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  925. package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  926. package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  927. package/internal/ThemePlayground/Playground.d.ts +31 -31
  928. package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  929. package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  930. package/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  931. package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  932. package/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  933. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  934. package/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  935. package/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  936. package/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  937. package/internal/ThemePlayground/VariableValue.d.ts +45 -45
  938. package/internal/ThemePlayground/constants.d.ts +18 -18
  939. package/internal/ThemePlayground/darkTheme.d.ts +255 -255
  940. package/internal/ThemePlayground/helpers.d.ts +2 -2
  941. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +35 -43
  942. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  943. package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  944. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  945. package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  946. package/internal/ZIndex/ZIndex.d.ts +34 -34
  947. package/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  948. package/internal/ZIndex/index.d.ts +1 -1
  949. package/internal/icons/16px/icon.styles.d.ts +4 -4
  950. package/internal/icons/16px/index/index.js +83 -51
  951. package/internal/icons/16px/index/index.js.map +1 -1
  952. package/internal/icons/16px/index.d.ts +22 -21
  953. package/internal/icons/20px/Icon.d.ts +30 -30
  954. package/internal/icons/20px/icon.styles.d.ts +4 -4
  955. package/internal/icons/20px/index.d.ts +2 -2
  956. package/internal/icons/20px/svg.d.ts +14 -14
  957. package/internal/icons/CloudIcon.d.ts +1 -1
  958. package/internal/icons/CrossIcon.d.ts +1 -1
  959. package/internal/icons/SpinnerIcon.d.ts +23 -23
  960. package/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  961. package/internal/themes/DefaultTheme.d.ts +766 -766
  962. package/internal/themes/FlatTheme.d.ts +132 -132
  963. package/internal/themes/Theme8px.d.ts +271 -271
  964. package/lib/ConditionalHandler.d.ts +11 -11
  965. package/lib/LayoutEvents.d.ts +4 -4
  966. package/lib/ModalStack.d.ts +14 -14
  967. package/lib/SSRSafe.d.ts +4 -4
  968. package/lib/Supports.d.ts +1 -1
  969. package/lib/Upgrades.d.ts +6 -6
  970. package/lib/animation/index.d.ts +6 -6
  971. package/lib/animation/presets.d.ts +18 -18
  972. package/lib/animation/stepper.d.ts +1 -1
  973. package/lib/client.d.ts +16 -16
  974. package/lib/createPropsGetter.d.ts +2 -2
  975. package/lib/currentEnvironment.d.ts +3 -3
  976. package/lib/date/InternalDate.d.ts +58 -58
  977. package/lib/date/InternalDateCalculator.d.ts +6 -6
  978. package/lib/date/InternalDateGetter.d.ts +15 -15
  979. package/lib/date/InternalDateSetter.d.ts +6 -6
  980. package/lib/date/InternalDateTransformer.d.ts +12 -12
  981. package/lib/date/InternalDateValidator.d.ts +12 -12
  982. package/lib/date/constants.d.ts +28 -28
  983. package/lib/date/localeSets.d.ts +5 -5
  984. package/lib/date/types.d.ts +90 -90
  985. package/lib/dom/getScrollWidth.d.ts +1 -1
  986. package/lib/dom/tabbableHelpers.d.ts +16 -16
  987. package/lib/events/MouseDrag.d.ts +58 -58
  988. package/lib/events/fixClickFocusIE.d.ts +1 -1
  989. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  990. package/lib/events/keyListener.d.ts +7 -7
  991. package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  992. package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  993. package/lib/events/keyboard/extractCode.d.ts +3 -3
  994. package/lib/events/keyboard/identifiers.d.ts +48 -48
  995. package/lib/events/stopPropagation.d.ts +1 -1
  996. package/lib/events/tabListener.d.ts +1 -1
  997. package/lib/extractKeyboardAction.d.ts +13 -13
  998. package/lib/filterProps.d.ts +12 -12
  999. package/lib/forwardRefAndName.d.ts +5 -5
  1000. package/lib/getDisplayName.d.ts +3 -3
  1001. package/lib/listenFocusOutside.d.ts +8 -8
  1002. package/lib/locale/LocaleContext.d.ts +7 -7
  1003. package/lib/locale/LocaleHelper.d.ts +9 -9
  1004. package/lib/locale/constants.d.ts +2 -2
  1005. package/lib/locale/decorators.d.ts +36 -36
  1006. package/lib/locale/index.d.ts +3 -3
  1007. package/lib/locale/types.d.ts +19 -19
  1008. package/lib/memo.d.ts +1 -1
  1009. package/lib/net/fetch.d.ts +13 -13
  1010. package/lib/polyfillPlaceholder.d.ts +1 -1
  1011. package/lib/reactGetTextContent.d.ts +2 -2
  1012. package/lib/rootNode/getRootNode/getRootNode.js +20 -0
  1013. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
  1014. package/lib/rootNode/getRootNode/package.json +6 -0
  1015. package/lib/rootNode/getRootNode.d.ts +3 -0
  1016. package/lib/rootNode/index/index.js +2 -0
  1017. package/lib/rootNode/index/index.js.map +1 -0
  1018. package/lib/rootNode/index/package.json +6 -0
  1019. package/lib/rootNode/index.d.ts +2 -0
  1020. package/lib/rootNode/package.json +6 -0
  1021. package/lib/rootNode/rootNodeDecorator/package.json +6 -0
  1022. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +37 -0
  1023. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
  1024. package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  1025. package/lib/styles/ColorFactory.d.ts +11 -11
  1026. package/lib/styles/ColorFunctions.d.ts +11 -11
  1027. package/lib/styles/ColorHelpers.d.ts +20 -20
  1028. package/lib/styles/ColorKeywords.d.ts +150 -150
  1029. package/lib/styles/ColorObject.d.ts +52 -52
  1030. package/lib/styles/DimensionFunctions.d.ts +1 -1
  1031. package/lib/styles/HoldSelectionColor.d.ts +1 -1
  1032. package/lib/styles/Mixins.d.ts +2 -2
  1033. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  1034. package/lib/theming/AnimationKeyframes.d.ts +9 -9
  1035. package/lib/theming/Emotion/Emotion.js +1 -0
  1036. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1037. package/lib/theming/Emotion.d.ts +15 -15
  1038. package/lib/theming/Theme.d.ts +3 -3
  1039. package/lib/theming/ThemeContext.d.ts +2 -2
  1040. package/lib/theming/ThemeFactory.d.ts +8 -8
  1041. package/lib/theming/ThemeHelpers.d.ts +11 -11
  1042. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  1043. package/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  1044. package/lib/theming/themes/FlatTheme.d.ts +1 -1
  1045. package/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  1046. package/lib/utils.d.ts +28 -28
  1047. package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
  1048. package/lib/withClassWrapper.d.ts +71 -68
  1049. package/package.json +2 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["DateSelect.tsx"],"names":["React","PropTypes","isKeyEscape","DatePickerLocaleHelper","locale","RenderLayer","DropdownContainer","LayoutEvents","ThemeContext","ArrowTriangleUpDownIcon","ArrowChevronDownIcon","ArrowChevronUpIcon","isMobile","cx","styles","itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","DateSelect","state","botCapped","current","height","opened","pos","top","topCapped","nodeTop","Infinity","theme","root","itemsContainer","listener","timeout","longClickTimer","setPositionRepeatTimer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","refRoot","element","setNodeTop","clearTimeout","setTimeout","getBoundingClientRect","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","e","value","onValueChange","handleKey","handleUp","handleDown","UNSAFE_componentWillReceiveProps","componentDidMount","addListener","componentWillUnmount","remove","render","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","minPos","getMinPos","maxPos","getMaxPos","Component","__KONTUR_REACT_UI__","propTypes","bool","string","number","isRequired","oneOfType","func","defaultProps","minMonth","maxMonth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\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';\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\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateSelect extends React.Component<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 = {\n type: 'year',\n minMonth: 0,\n maxMonth: 11,\n width: 'auto',\n };\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 UNSAFE_componentWillReceiveProps() {\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 { width, disabled } = this.props;\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: root.getBoundingClientRect().top,\n }),\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (this.props.maxValue != null && this.props.minValue != null) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n if (this.props.minValue != null) {\n return value < this.props.minValue;\n }\n if (this.props.maxValue != null) {\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 (e: React.MouseEvent<HTMLElement>) => {\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.props.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.props.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 if (minPos >= pos) {\n pos = minPos;\n }\n if (maxPos <= pos) {\n pos = maxPos;\n }\n const topCapped = pos <= minPos;\n const botCapped = pos >= maxPos;\n\n this.setState({ pos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n if (this.props.type === 'month') {\n return -this.props.value * itemHeight;\n } else if (this.props.type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n if (this.props.type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (this.props.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","isKeyEscape","DatePickerLocaleHelper","locale","RenderLayer","DropdownContainer","LayoutEvents","ThemeContext","ArrowTriangleUpDownIcon","ArrowChevronDownIcon","ArrowChevronUpIcon","isMobile","cx","styles","itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","DateSelect","state","botCapped","current","height","opened","pos","top","topCapped","nodeTop","Infinity","theme","root","itemsContainer","listener","timeout","longClickTimer","setPositionRepeatTimer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","refRoot","element","setNodeTop","clearTimeout","setTimeout","getBoundingClientRect","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","e","value","onValueChange","handleKey","handleUp","handleDown","componentDidUpdate","componentDidMount","addListener","componentWillUnmount","remove","render","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","minPos","getMinPos","maxPos","getMaxPos","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","number","isRequired","oneOfType","func","defaultProps","minMonth","maxMonth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\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';\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\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 = {\n type: 'year',\n minMonth: 0,\n maxMonth: 11,\n width: 'auto',\n };\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 { width, disabled } = this.props;\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: root.getBoundingClientRect().top,\n }),\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (this.props.maxValue != null && this.props.minValue != null) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n if (this.props.minValue != null) {\n return value < this.props.minValue;\n }\n if (this.props.maxValue != null) {\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 (e: React.MouseEvent<HTMLElement>) => {\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.props.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.props.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 if (minPos >= pos) {\n pos = minPos;\n }\n if (maxPos <= pos) {\n pos = maxPos;\n }\n const topCapped = pos <= minPos;\n const botCapped = pos >= maxPos;\n\n this.setState({ pos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n if (this.props.type === 'month') {\n return -this.props.value * itemHeight;\n } else if (this.props.type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n if (this.props.type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (this.props.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,93 +1,93 @@
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 class DateSelect extends React.Component<DateSelectProps, DateSelectState> {
24
- static __KONTUR_REACT_UI__: string;
25
- static propTypes: {
26
- disabled: PropTypes.Requireable<boolean>;
27
- type: PropTypes.Requireable<string>;
28
- value: PropTypes.Validator<number>;
29
- width: PropTypes.Requireable<string | number>;
30
- onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
31
- minValue: PropTypes.Requireable<number>;
32
- maxValue: PropTypes.Requireable<number>;
33
- };
34
- static defaultProps: {
35
- type: string;
36
- minMonth: number;
37
- maxMonth: number;
38
- width: string;
39
- };
40
- state: {
41
- botCapped: boolean;
42
- current: number;
43
- height: number;
44
- opened: boolean;
45
- pos: number;
46
- top: number;
47
- topCapped: boolean;
48
- nodeTop: number;
49
- };
50
- private theme;
51
- private readonly locale;
52
- private root;
53
- private itemsContainer;
54
- private listener;
55
- private timeout;
56
- private longClickTimer;
57
- private setPositionRepeatTimer;
58
- private yearStep;
59
- private touchStartY;
60
- UNSAFE_componentWillReceiveProps(): void;
61
- componentDidMount(): void;
62
- componentWillUnmount(): void;
63
- /**
64
- * @public
65
- */
66
- open: () => void;
67
- /**
68
- * @public
69
- */
70
- close: () => void;
71
- render(): JSX.Element;
72
- private renderMain;
73
- private refRoot;
74
- private setNodeTop;
75
- private disableItems;
76
- private renderMenu;
77
- private refItemsContainer;
78
- private handleLongClickUp;
79
- private handleLongClickDown;
80
- private handleLongClickStop;
81
- private getAnchor;
82
- private handleWheel;
83
- private handleTouchStart;
84
- private handleTouchMove;
85
- private handleItemClick;
86
- private handleKey;
87
- private handleUp;
88
- private handleDown;
89
- private getItem;
90
- private setPosition;
91
- private getMinPos;
92
- private getMaxPos;
93
- }
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 class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {
24
+ static __KONTUR_REACT_UI__: string;
25
+ static propTypes: {
26
+ disabled: PropTypes.Requireable<boolean>;
27
+ type: PropTypes.Requireable<string>;
28
+ value: PropTypes.Validator<number>;
29
+ width: PropTypes.Requireable<string | number>;
30
+ onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
31
+ minValue: PropTypes.Requireable<number>;
32
+ maxValue: PropTypes.Requireable<number>;
33
+ };
34
+ static defaultProps: {
35
+ type: string;
36
+ minMonth: number;
37
+ maxMonth: number;
38
+ width: string;
39
+ };
40
+ state: {
41
+ botCapped: boolean;
42
+ current: number;
43
+ height: number;
44
+ opened: boolean;
45
+ pos: number;
46
+ top: number;
47
+ topCapped: boolean;
48
+ nodeTop: number;
49
+ };
50
+ private theme;
51
+ private readonly locale;
52
+ private root;
53
+ private itemsContainer;
54
+ private listener;
55
+ private timeout;
56
+ private longClickTimer;
57
+ private setPositionRepeatTimer;
58
+ private yearStep;
59
+ private touchStartY;
60
+ componentDidUpdate(): void;
61
+ componentDidMount(): void;
62
+ componentWillUnmount(): void;
63
+ /**
64
+ * @public
65
+ */
66
+ open: () => void;
67
+ /**
68
+ * @public
69
+ */
70
+ close: () => void;
71
+ render(): JSX.Element;
72
+ private renderMain;
73
+ private refRoot;
74
+ private setNodeTop;
75
+ private disableItems;
76
+ private renderMenu;
77
+ private refItemsContainer;
78
+ private handleLongClickUp;
79
+ private handleLongClickDown;
80
+ private handleLongClickStop;
81
+ private getAnchor;
82
+ private handleWheel;
83
+ private handleTouchStart;
84
+ private handleTouchMove;
85
+ private handleItemClick;
86
+ private handleKey;
87
+ private handleUp;
88
+ private handleDown;
89
+ private getItem;
90
+ private setPosition;
91
+ private getMinPos;
92
+ private getMaxPos;
93
+ }
@@ -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';
@@ -1,13 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
3
3
  import React from 'react';
4
- import { findDOMNode } from 'react-dom';
5
4
  import * as LayoutEvents from "../../../lib/LayoutEvents";
6
5
  import { RenderContainer } from "../../RenderContainer";
7
6
  import { ZIndex } from "../../ZIndex";
8
7
  import { createPropsGetter } from "../../../lib/createPropsGetter";
9
- export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
10
- _inheritsLoose(DropdownContainer, _React$Component);
8
+ export var DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {
9
+ _inheritsLoose(DropdownContainer, _React$PureComponent);
11
10
 
12
11
  function DropdownContainer() {
13
12
  var _this;
@@ -16,18 +15,18 @@ export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
16
15
  args[_key] = arguments[_key];
17
16
  }
18
17
 
19
- _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
18
+ _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
20
19
  _this.state = {
21
20
  position: null,
22
21
  minWidth: 0,
23
22
  isDocumentElementRoot: true
24
23
  };
25
24
  _this.getProps = createPropsGetter(DropdownContainer.defaultProps);
26
- _this.dom = null;
25
+ _this.dom = void 0;
27
26
  _this.layoutSub = void 0;
28
27
 
29
- _this.ref = function (e) {
30
- _this.dom = e && findDOMNode(e);
28
+ _this.ZIndexRef = function (element) {
29
+ _this.dom = element;
31
30
  };
32
31
 
33
32
  _this.isElement = function (node) {
@@ -39,7 +38,7 @@ export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
39
38
 
40
39
  var dom = _this.dom;
41
40
 
42
- if (_this.isElement(target) && dom) {
41
+ if (target && _this.isElement(target) && dom) {
43
42
  var targetRect = target.getBoundingClientRect();
44
43
  var _document = document,
45
44
  body = _document.body,
@@ -106,7 +105,7 @@ export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
106
105
  _this.getMinWidth = function () {
107
106
  var target = _this.props.getParent();
108
107
 
109
- if (!_this.isElement(target)) {
108
+ if (!target || !_this.isElement(target)) {
110
109
  return 0;
111
110
  }
112
111
 
@@ -126,7 +125,7 @@ export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
126
125
  left = position.left,
127
126
  right = position.right;
128
127
 
129
- if (_this.isElement(target)) {
128
+ if (target && _this.isElement(target)) {
130
129
  var targetHeight = target.getBoundingClientRect().height;
131
130
  return {
132
131
  top: top !== null ? targetHeight + offsetY : null,
@@ -152,9 +151,6 @@ export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
152
151
  _proto.componentDidMount = function componentDidMount() {
153
152
  this.position();
154
153
  this.layoutSub = LayoutEvents.addListener(this.position);
155
- };
156
-
157
- _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {
158
154
  var _document2 = document,
159
155
  body = _document2.body,
160
156
  docEl = _document2.documentElement;
@@ -196,14 +192,14 @@ export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
196
192
 
197
193
  var content = /*#__PURE__*/React.createElement(ZIndex, {
198
194
  priority: 'DropdownContainer',
199
- ref: this.ref,
195
+ wrapperRef: this.ZIndexRef,
200
196
  style: style
201
197
  }, this.props.children);
202
198
  return this.props.disablePortal ? content : /*#__PURE__*/React.createElement(RenderContainer, null, content);
203
199
  };
204
200
 
205
201
  return DropdownContainer;
206
- }(React.Component);
202
+ }(React.PureComponent);
207
203
  DropdownContainer.__KONTUR_REACT_UI__ = 'DropdownContainer';
208
204
  DropdownContainer.defaultProps = {
209
205
  align: 'left',
@@ -1 +1 @@
1
- {"version":3,"sources":["DropdownContainer.tsx"],"names":["React","findDOMNode","LayoutEvents","RenderContainer","ZIndex","createPropsGetter","DropdownContainer","state","position","minWidth","isDocumentElementRoot","getProps","defaultProps","dom","layoutSub","ref","e","isElement","node","Element","target","props","getParent","targetRect","getBoundingClientRect","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","scrollHeight","setState","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","componentDidMount","addListener","UNSAFE_componentWillMount","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot","componentWillUnmount","remove","render","style","undefined","content","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\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';\n\ntype DOMNode = Element | Text | null;\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: () => DOMNode;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\nexport class DropdownContainer extends React.Component<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n public state: DropdownContainerState = {\n position: null,\n minWidth: 0,\n isDocumentElementRoot: true,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: DOMNode = null;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n }\n\n public UNSAFE_componentWillMount() {\n const { body, documentElement: docEl } = document;\n const htmlPosition = getComputedStyle(docEl).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n\n this.setState({ isDocumentElementRoot: hasLimitedHeightRoot || hasStaticRoot });\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 };\n }\n\n const content = (\n <ZIndex priority={'DropdownContainer'} ref={this.ref} style={style}>\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ref = (e: ZIndex | null) => {\n this.dom = e && findDOMNode(e);\n };\n\n private isElement = (node: DOMNode): node is Element => {\n return node instanceof Element;\n };\n\n private position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (this.isElement(target) && dom) {\n const targetRect = target.getBoundingClientRect();\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.props.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 = 0 } = this.props;\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.props.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 if (!child) {\n return 0;\n }\n return child.getBoundingClientRect().height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n if (!this.isElement(target)) {\n return 0;\n }\n return target.getBoundingClientRect().width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const { offsetX = 0, offsetY = 0 } = this.props;\n const { top, bottom, left, right } = position;\n if (this.isElement(target)) {\n const targetHeight = target.getBoundingClientRect().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"]}
1
+ {"version":3,"sources":["DropdownContainer.tsx"],"names":["React","LayoutEvents","RenderContainer","ZIndex","createPropsGetter","DropdownContainer","state","position","minWidth","isDocumentElementRoot","getProps","defaultProps","dom","layoutSub","ZIndexRef","element","isElement","node","Element","target","props","getParent","targetRect","getBoundingClientRect","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","scrollHeight","setState","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","componentDidMount","addListener","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot","componentWillUnmount","remove","render","style","undefined","content","PureComponent","__KONTUR_REACT_UI__"],"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';\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<HTMLElement>;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\nexport class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n public state: DropdownContainerState = {\n position: null,\n minWidth: 0,\n isDocumentElementRoot: true,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: Nullable<HTMLDivElement>;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n\n const { body, documentElement: docEl } = document;\n const htmlPosition = getComputedStyle(docEl).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n\n this.setState({ isDocumentElementRoot: hasLimitedHeightRoot || hasStaticRoot });\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 };\n }\n\n const content = (\n <ZIndex priority={'DropdownContainer'} wrapperRef={this.ZIndexRef} style={style}>\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 = target.getBoundingClientRect();\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.props.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 = 0 } = this.props;\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.props.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 if (!child) {\n return 0;\n }\n return child.getBoundingClientRect().height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n if (!target || !this.isElement(target)) {\n return 0;\n }\n return target.getBoundingClientRect().width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const { offsetX = 0, offsetY = 0 } = this.props;\n const { top, bottom, left, right } = position;\n if (target && this.isElement(target)) {\n const targetHeight = target.getBoundingClientRect().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"]}
@@ -1,46 +1,43 @@
1
- import React from 'react';
2
- import { Nullable } from '../../typings/utility-types';
3
- declare type DOMNode = Element | Text | null;
4
- export interface DropdownContainerPosition {
5
- top: Nullable<number>;
6
- bottom: Nullable<number>;
7
- left: Nullable<number>;
8
- right: Nullable<number>;
9
- }
10
- export interface DropdownContainerProps {
11
- align?: 'left' | 'right';
12
- getParent: () => DOMNode;
13
- children?: React.ReactNode;
14
- disablePortal?: boolean;
15
- offsetY?: number;
16
- offsetX?: number;
17
- }
18
- export interface DropdownContainerState {
19
- position: Nullable<DropdownContainerPosition>;
20
- minWidth: number;
21
- isDocumentElementRoot?: boolean;
22
- }
23
- export declare class DropdownContainer extends React.Component<DropdownContainerProps, DropdownContainerState> {
24
- static __KONTUR_REACT_UI__: string;
25
- static defaultProps: {
26
- align: string;
27
- disablePortal: boolean;
28
- offsetX: number;
29
- offsetY: number;
30
- };
31
- state: DropdownContainerState;
32
- private getProps;
33
- private dom;
34
- private layoutSub;
35
- componentDidMount(): void;
36
- UNSAFE_componentWillMount(): void;
37
- componentWillUnmount(): void;
38
- render(): JSX.Element;
39
- private ref;
40
- private isElement;
41
- private position;
42
- private getHeight;
43
- private getMinWidth;
44
- private convertToRelativePosition;
45
- }
46
- 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<HTMLElement>;
12
+ children?: React.ReactNode;
13
+ disablePortal?: boolean;
14
+ offsetY?: number;
15
+ offsetX?: number;
16
+ }
17
+ export interface DropdownContainerState {
18
+ position: Nullable<DropdownContainerPosition>;
19
+ minWidth: number;
20
+ isDocumentElementRoot?: boolean;
21
+ }
22
+ export declare class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {
23
+ static __KONTUR_REACT_UI__: string;
24
+ static defaultProps: {
25
+ align: string;
26
+ disablePortal: boolean;
27
+ offsetX: number;
28
+ offsetY: number;
29
+ };
30
+ state: DropdownContainerState;
31
+ private getProps;
32
+ private dom;
33
+ private layoutSub;
34
+ componentDidMount(): void;
35
+ componentWillUnmount(): void;
36
+ render(): JSX.Element;
37
+ private ZIndexRef;
38
+ private isElement;
39
+ position: () => void;
40
+ private getHeight;
41
+ private getMinWidth;
42
+ private convertToRelativePosition;
43
+ }
@@ -1 +1 @@
1
- export * from './DropdownContainer';
1
+ export * from './DropdownContainer';