@skbkontur/react-ui 3.9.4 → 3.10.0-fileuploader.3

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 (1329) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +57 -0
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +113 -112
  4. package/cjs/components/Autocomplete/Autocomplete.js +11 -5
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Autocomplete/index.d.ts +1 -1
  7. package/cjs/components/Button/Button.d.ts +161 -160
  8. package/cjs/components/Button/Button.js +9 -4
  9. package/cjs/components/Button/Button.js.map +1 -1
  10. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  11. package/cjs/components/Button/Button.styles.d.ts +68 -67
  12. package/cjs/components/Button/Button.styles.js +38 -28
  13. package/cjs/components/Button/Button.styles.js.map +1 -1
  14. package/cjs/components/Button/Corners.d.ts +6 -6
  15. package/cjs/components/Button/index.d.ts +1 -1
  16. package/cjs/components/Center/Center.d.ts +25 -24
  17. package/cjs/components/Center/Center.js +10 -3
  18. package/cjs/components/Center/Center.js.map +1 -1
  19. package/cjs/components/Center/Center.styles.d.ts +7 -7
  20. package/cjs/components/Center/index.d.ts +1 -1
  21. package/cjs/components/Checkbox/Checkbox.d.ts +96 -95
  22. package/cjs/components/Checkbox/Checkbox.js +10 -4
  23. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  24. package/cjs/components/Checkbox/Checkbox.styles.d.ts +22 -22
  25. package/cjs/components/Checkbox/index.d.ts +1 -1
  26. package/cjs/components/ComboBox/ComboBox.d.ts +184 -182
  27. package/cjs/components/ComboBox/ComboBox.js +100 -70
  28. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  29. package/cjs/components/ComboBox/index.d.ts +1 -1
  30. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  31. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +106 -106
  32. package/cjs/components/CurrencyInput/CurrencyInput.js +7 -4
  33. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  34. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  35. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  36. package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
  37. package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  38. package/cjs/components/CurrencyInput/constants.d.ts +2 -2
  39. package/cjs/components/CurrencyInput/index.d.ts +1 -1
  40. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  41. package/cjs/components/CurrencyLabel/index.d.ts +1 -1
  42. package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
  43. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  44. package/cjs/components/DateInput/DateInput.d.ts +107 -106
  45. package/cjs/components/DateInput/DateInput.js +6 -3
  46. package/cjs/components/DateInput/DateInput.js.map +1 -1
  47. package/cjs/components/DateInput/DateInput.styles.d.ts +10 -10
  48. package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  49. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  50. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  51. package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  52. package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
  53. package/cjs/components/DateInput/index.d.ts +1 -1
  54. package/cjs/components/DatePicker/DatePicker.d.ts +134 -132
  55. package/cjs/components/DatePicker/DatePicker.js +17 -7
  56. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  57. package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
  58. package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  59. package/cjs/components/DatePicker/Picker.d.ts +33 -33
  60. package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
  61. package/cjs/components/DatePicker/index.d.ts +1 -1
  62. package/cjs/components/DatePicker/locale/index.d.ts +4 -4
  63. package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
  64. package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
  65. package/cjs/components/DatePicker/locale/types.d.ts +5 -5
  66. package/cjs/components/Dropdown/Dropdown.d.ts +124 -123
  67. package/cjs/components/Dropdown/Dropdown.js +11 -4
  68. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  69. package/cjs/components/Dropdown/index.d.ts +1 -1
  70. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +65 -64
  71. package/cjs/components/DropdownMenu/DropdownMenu.js +7 -4
  72. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  73. package/cjs/components/DropdownMenu/index.d.ts +1 -1
  74. package/cjs/components/FileUploader/FileUploader.d.ts +42 -0
  75. package/cjs/components/FileUploader/FileUploader.js +283 -0
  76. package/cjs/components/FileUploader/FileUploader.js.map +1 -0
  77. package/cjs/components/FileUploader/FileUploader.md +67 -0
  78. package/cjs/components/FileUploader/FileUploader.styles.d.ts +21 -0
  79. package/cjs/components/FileUploader/FileUploader.styles.js +167 -0
  80. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -0
  81. package/cjs/components/FileUploader/index.d.ts +4 -0
  82. package/cjs/components/FileUploader/index.js +4 -0
  83. package/cjs/components/FileUploader/index.js.map +1 -0
  84. package/cjs/components/FileUploader/locale/index.d.ts +4 -0
  85. package/cjs/components/FileUploader/locale/index.js +11 -0
  86. package/cjs/components/FileUploader/locale/index.js.map +1 -0
  87. package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -0
  88. package/cjs/components/FileUploader/locale/locales/en.js +7 -0
  89. package/cjs/components/FileUploader/locale/locales/en.js.map +1 -0
  90. package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -0
  91. package/cjs/components/FileUploader/locale/locales/ru.js +7 -0
  92. package/cjs/components/FileUploader/locale/locales/ru.js.map +1 -0
  93. package/cjs/components/FileUploader/locale/types.d.ts +6 -0
  94. package/cjs/components/FileUploader/locale/types.js +1 -0
  95. package/cjs/components/FileUploader/locale/types.js.map +1 -0
  96. package/cjs/components/FxInput/FxInput.d.ts +50 -49
  97. package/cjs/components/FxInput/FxInput.js +9 -2
  98. package/cjs/components/FxInput/FxInput.js.map +1 -1
  99. package/cjs/components/FxInput/index.d.ts +1 -1
  100. package/cjs/components/Gapped/Gapped.d.ts +58 -57
  101. package/cjs/components/Gapped/Gapped.js +8 -5
  102. package/cjs/components/Gapped/Gapped.js.map +1 -1
  103. package/cjs/components/Gapped/index.d.ts +1 -1
  104. package/cjs/components/Group/Group.d.ts +14 -13
  105. package/cjs/components/Group/Group.js +10 -7
  106. package/cjs/components/Group/Group.js.map +1 -1
  107. package/cjs/components/Group/Group.styles.d.ts +8 -8
  108. package/cjs/components/Group/index.d.ts +1 -1
  109. package/cjs/components/Hint/Hint.d.ts +81 -79
  110. package/cjs/components/Hint/Hint.js +7 -20
  111. package/cjs/components/Hint/Hint.js.map +1 -1
  112. package/cjs/components/Hint/Hint.styles.d.ts +5 -5
  113. package/cjs/components/Hint/index.d.ts +1 -1
  114. package/cjs/components/Input/Input.d.ts +157 -154
  115. package/cjs/components/Input/Input.js +13 -5
  116. package/cjs/components/Input/Input.js.map +1 -1
  117. package/cjs/components/Input/Input.styles.d.ts +42 -42
  118. package/cjs/components/Input/index.d.ts +1 -1
  119. package/cjs/components/Kebab/Kebab.d.ts +71 -70
  120. package/cjs/components/Kebab/Kebab.js +8 -5
  121. package/cjs/components/Kebab/Kebab.js.map +1 -1
  122. package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
  123. package/cjs/components/Kebab/index.d.ts +1 -1
  124. package/cjs/components/Link/Link.d.ts +72 -71
  125. package/cjs/components/Link/Link.js +11 -3
  126. package/cjs/components/Link/Link.js.map +1 -1
  127. package/cjs/components/Link/Link.mixins.d.ts +3 -3
  128. package/cjs/components/Link/Link.styles.d.ts +15 -15
  129. package/cjs/components/Link/index.d.ts +1 -1
  130. package/cjs/components/Loader/Loader.d.ts +100 -99
  131. package/cjs/components/Loader/Loader.js +9 -6
  132. package/cjs/components/Loader/Loader.js.map +1 -1
  133. package/cjs/components/Loader/Loader.styles.d.ts +8 -8
  134. package/cjs/components/Loader/index.d.ts +1 -1
  135. package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -20
  136. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  137. package/cjs/components/MenuHeader/index.d.ts +1 -1
  138. package/cjs/components/MenuItem/MenuItem.d.ts +94 -93
  139. package/cjs/components/MenuItem/MenuItem.js +11 -8
  140. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  141. package/cjs/components/MenuItem/MenuItem.styles.d.ts +13 -13
  142. package/cjs/components/MenuItem/index.d.ts +1 -1
  143. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  144. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  145. package/cjs/components/MenuSeparator/index.d.ts +1 -1
  146. package/cjs/components/Modal/Modal.d.ts +87 -87
  147. package/cjs/components/Modal/Modal.js +1 -1
  148. package/cjs/components/Modal/Modal.js.map +1 -1
  149. package/cjs/components/Modal/Modal.styles.d.ts +26 -26
  150. package/cjs/components/Modal/ModalBody.d.ts +21 -20
  151. package/cjs/components/Modal/ModalBody.js +9 -6
  152. package/cjs/components/Modal/ModalBody.js.map +1 -1
  153. package/cjs/components/Modal/ModalClose.d.ts +2 -2
  154. package/cjs/components/Modal/ModalContext.d.ts +15 -15
  155. package/cjs/components/Modal/ModalFooter.d.ts +21 -21
  156. package/cjs/components/Modal/ModalHeader.d.ts +17 -17
  157. package/cjs/components/Modal/index.d.ts +4 -4
  158. package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
  159. package/cjs/components/Paging/Paging.d.ts +90 -90
  160. package/cjs/components/Paging/Paging.js +6 -5
  161. package/cjs/components/Paging/Paging.js.map +1 -1
  162. package/cjs/components/Paging/Paging.styles.d.ts +16 -16
  163. package/cjs/components/Paging/PagingHelper.d.ts +2 -2
  164. package/cjs/components/Paging/index.d.ts +1 -1
  165. package/cjs/components/Paging/locale/index.d.ts +4 -4
  166. package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
  167. package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
  168. package/cjs/components/Paging/locale/types.d.ts +3 -3
  169. package/cjs/components/PasswordInput/PasswordInput.d.ts +49 -48
  170. package/cjs/components/PasswordInput/PasswordInput.js +13 -6
  171. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  172. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  173. package/cjs/components/PasswordInput/index.d.ts +1 -1
  174. package/cjs/components/Radio/Radio.d.ts +77 -82
  175. package/cjs/components/Radio/Radio.js +11 -10
  176. package/cjs/components/Radio/Radio.js.map +1 -1
  177. package/cjs/components/Radio/Radio.styles.d.ts +19 -19
  178. package/cjs/components/Radio/index.d.ts +1 -1
  179. package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
  180. package/cjs/components/RadioGroup/RadioGroup.d.ts +117 -131
  181. package/cjs/components/RadioGroup/RadioGroup.js +16 -19
  182. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  183. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  184. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  185. package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
  186. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
  187. package/cjs/components/RadioGroup/index.d.ts +1 -1
  188. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -37
  189. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  190. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +84 -83
  191. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  192. package/cjs/components/ScrollContainer/ScrollContainer.js +8 -5
  193. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  194. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  195. package/cjs/components/ScrollContainer/index.d.ts +1 -1
  196. package/cjs/components/Select/Item.d.ts +7 -7
  197. package/cjs/components/Select/Select.d.ts +179 -178
  198. package/cjs/components/Select/Select.js +6 -4
  199. package/cjs/components/Select/Select.js.map +1 -1
  200. package/cjs/components/Select/Select.styles.d.ts +17 -17
  201. package/cjs/components/Select/index.d.ts +1 -1
  202. package/cjs/components/Select/locale/index.d.ts +4 -4
  203. package/cjs/components/Select/locale/locales/en.d.ts +2 -2
  204. package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
  205. package/cjs/components/Select/locale/types.d.ts +4 -4
  206. package/cjs/components/Select/selectTheme.d.ts +3 -3
  207. package/cjs/components/SidePage/SidePage.d.ts +105 -104
  208. package/cjs/components/SidePage/SidePage.js +4 -1
  209. package/cjs/components/SidePage/SidePage.js.map +1 -1
  210. package/cjs/components/SidePage/SidePage.styles.d.ts +37 -37
  211. package/cjs/components/SidePage/SidePageBody.d.ts +19 -18
  212. package/cjs/components/SidePage/SidePageBody.js +9 -6
  213. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  214. package/cjs/components/SidePage/SidePageContainer.d.ts +15 -14
  215. package/cjs/components/SidePage/SidePageContainer.js +9 -6
  216. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  217. package/cjs/components/SidePage/SidePageContext.d.ts +15 -15
  218. package/cjs/components/SidePage/SidePageFooter.d.ts +36 -37
  219. package/cjs/components/SidePage/SidePageFooter.js +11 -12
  220. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  221. package/cjs/components/SidePage/SidePageHeader.d.ts +41 -40
  222. package/cjs/components/SidePage/SidePageHeader.js +6 -3
  223. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  224. package/cjs/components/SidePage/index.d.ts +5 -5
  225. package/cjs/components/Spinner/Spinner.d.ts +56 -47
  226. package/cjs/components/Spinner/Spinner.js +29 -8
  227. package/cjs/components/Spinner/Spinner.js.map +1 -1
  228. package/cjs/components/Spinner/Spinner.md +1 -0
  229. package/cjs/components/Spinner/Spinner.styles.d.ts +12 -11
  230. package/cjs/components/Spinner/Spinner.styles.js +13 -10
  231. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  232. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  233. package/cjs/components/Spinner/index.d.ts +1 -1
  234. package/cjs/components/Spinner/locale/index.d.ts +4 -4
  235. package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
  236. package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
  237. package/cjs/components/Spinner/locale/types.d.ts +4 -4
  238. package/cjs/components/Sticky/Sticky.d.ts +54 -53
  239. package/cjs/components/Sticky/Sticky.js +8 -5
  240. package/cjs/components/Sticky/Sticky.js.map +1 -1
  241. package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
  242. package/cjs/components/Sticky/index.d.ts +1 -1
  243. package/cjs/components/Switcher/Switcher.d.ts +56 -55
  244. package/cjs/components/Switcher/Switcher.js +6 -3
  245. package/cjs/components/Switcher/Switcher.js.map +1 -1
  246. package/cjs/components/Switcher/Switcher.styles.d.ts +10 -10
  247. package/cjs/components/Switcher/Switcher.styles.js +4 -2
  248. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  249. package/cjs/components/Switcher/index.d.ts +1 -1
  250. package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
  251. package/cjs/components/Tabs/Indicator.d.ts +28 -27
  252. package/cjs/components/Tabs/Indicator.js +16 -15
  253. package/cjs/components/Tabs/Indicator.js.map +1 -1
  254. package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
  255. package/cjs/components/Tabs/Tab.d.ts +121 -120
  256. package/cjs/components/Tabs/Tab.js +13 -9
  257. package/cjs/components/Tabs/Tab.js.map +1 -1
  258. package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
  259. package/cjs/components/Tabs/Tabs.d.ts +62 -61
  260. package/cjs/components/Tabs/Tabs.js +9 -9
  261. package/cjs/components/Tabs/Tabs.js.map +1 -1
  262. package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
  263. package/cjs/components/Tabs/TabsContext.d.ts +14 -14
  264. package/cjs/components/Tabs/index.d.ts +2 -2
  265. package/cjs/components/Textarea/Textarea.d.ts +185 -184
  266. package/cjs/components/Textarea/Textarea.js +12 -5
  267. package/cjs/components/Textarea/Textarea.js.map +1 -1
  268. package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
  269. package/cjs/components/Textarea/TextareaCounter.d.ts +13 -13
  270. package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
  271. package/cjs/components/Textarea/index.d.ts +1 -1
  272. package/cjs/components/Toast/Toast.d.ts +58 -55
  273. package/cjs/components/Toast/Toast.js +15 -4
  274. package/cjs/components/Toast/Toast.js.map +1 -1
  275. package/cjs/components/Toast/Toast.styles.d.ts +6 -6
  276. package/cjs/components/Toast/ToastStatic.d.ts +8 -8
  277. package/cjs/components/Toast/ToastView.d.ts +38 -37
  278. package/cjs/components/Toast/ToastView.js +8 -5
  279. package/cjs/components/Toast/ToastView.js.map +1 -1
  280. package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
  281. package/cjs/components/Toast/index.d.ts +1 -1
  282. package/cjs/components/Toggle/Toggle.d.ts +107 -106
  283. package/cjs/components/Toggle/Toggle.js +9 -6
  284. package/cjs/components/Toggle/Toggle.js.map +1 -1
  285. package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
  286. package/cjs/components/Toggle/index.d.ts +1 -1
  287. package/cjs/components/Token/Token.d.ts +36 -35
  288. package/cjs/components/Token/Token.js +7 -4
  289. package/cjs/components/Token/Token.js.map +1 -1
  290. package/cjs/components/Token/Token.styles.d.ts +29 -29
  291. package/cjs/components/Token/index.d.ts +1 -1
  292. package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
  293. package/cjs/components/TokenInput/TokenInput.d.ts +194 -193
  294. package/cjs/components/TokenInput/TokenInput.js +11 -8
  295. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  296. package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
  297. package/cjs/components/TokenInput/TokenInputMenu.d.ts +18 -18
  298. package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
  299. package/cjs/components/TokenInput/index.d.ts +1 -1
  300. package/cjs/components/TokenInput/locale/index.d.ts +4 -4
  301. package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
  302. package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
  303. package/cjs/components/TokenInput/locale/types.d.ts +4 -4
  304. package/cjs/components/Tooltip/Tooltip.d.ts +160 -171
  305. package/cjs/components/Tooltip/Tooltip.js +28 -30
  306. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  307. package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
  308. package/cjs/components/Tooltip/index.d.ts +1 -1
  309. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +65 -64
  310. package/cjs/components/TooltipMenu/TooltipMenu.js +8 -5
  311. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  312. package/cjs/components/TooltipMenu/index.d.ts +1 -1
  313. package/cjs/hooks/useDrop.d.ts +11 -0
  314. package/cjs/hooks/useDrop.js +75 -0
  315. package/cjs/hooks/useDrop.js.map +1 -0
  316. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -0
  317. package/cjs/hooks/useEffectWithoutInitCall.js +13 -0
  318. package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -0
  319. package/cjs/hooks/useMemoObject.d.ts +1 -0
  320. package/cjs/hooks/useMemoObject.js +5 -0
  321. package/cjs/hooks/useMemoObject.js.map +1 -0
  322. package/cjs/index.d.ts +50 -48
  323. package/cjs/index.js +3 -1
  324. package/cjs/index.js.map +1 -1
  325. package/cjs/internal/BGRuler.d.ts +30 -30
  326. package/cjs/internal/Calendar/Calendar.d.ts +66 -66
  327. package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
  328. package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
  329. package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  330. package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
  331. package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
  332. package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
  333. package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
  334. package/cjs/internal/Calendar/Month.d.ts +33 -33
  335. package/cjs/internal/Calendar/MonthView.d.ts +21 -21
  336. package/cjs/internal/Calendar/MonthView.styles.d.ts +9 -9
  337. package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
  338. package/cjs/internal/Calendar/config.d.ts +9 -9
  339. package/cjs/internal/Calendar/index.d.ts +2 -2
  340. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +31 -23
  341. package/cjs/internal/CommonWrapper/CommonWrapper.js +38 -15
  342. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  343. package/cjs/internal/CommonWrapper/index.d.ts +1 -1
  344. package/cjs/internal/ComponentCombinator.d.ts +25 -25
  345. package/cjs/internal/ComponentTable.d.ts +21 -21
  346. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  347. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -2
  348. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  349. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +90 -87
  350. package/cjs/internal/CustomComboBox/ComboBoxView.js +15 -5
  351. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  352. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +136 -135
  353. package/cjs/internal/CustomComboBox/CustomComboBox.js +8 -5
  354. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  355. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  356. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  357. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  358. package/cjs/internal/CustomComboBox/index.d.ts +2 -2
  359. package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
  360. package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  361. package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  362. package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
  363. package/cjs/internal/DateSelect/DateSelect.d.ts +93 -93
  364. package/cjs/internal/DateSelect/DateSelect.js +3 -3
  365. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  366. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  367. package/cjs/internal/DateSelect/index.d.ts +1 -1
  368. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +43 -46
  369. package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -13
  370. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  371. package/cjs/internal/DropdownContainer/index.d.ts +1 -1
  372. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
  373. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +16 -0
  374. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -0
  375. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  376. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +106 -0
  377. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -0
  378. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +12 -0
  379. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +188 -0
  380. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -0
  381. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  382. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +68 -0
  383. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -0
  384. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +10 -0
  385. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +30 -0
  386. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  387. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +5 -0
  388. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +22 -0
  389. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
  390. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  391. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +16 -0
  392. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +1 -0
  393. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +14 -0
  394. package/cjs/internal/FileUploaderControl/fileUtils.js +26 -0
  395. package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -0
  396. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  397. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +4 -0
  398. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +1 -0
  399. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  400. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +51 -0
  401. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +1 -0
  402. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  403. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +19 -0
  404. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -0
  405. package/cjs/internal/FocusTrap/FocusTrap.d.ts +17 -16
  406. package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
  407. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  408. package/cjs/internal/FocusTrap/index.d.ts +1 -1
  409. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  410. package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  411. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  412. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
  413. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  414. package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
  415. package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
  416. package/cjs/internal/InputLikeText/InputLikeText.d.ts +73 -72
  417. package/cjs/internal/InputLikeText/InputLikeText.js +10 -3
  418. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  419. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  420. package/cjs/internal/InputLikeText/index.d.ts +1 -1
  421. package/cjs/internal/InternalMenu/InternalMenu.d.ts +63 -64
  422. package/cjs/internal/InternalMenu/InternalMenu.js +16 -22
  423. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  424. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  425. package/cjs/internal/InternalMenu/index.d.ts +1 -1
  426. package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
  427. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  428. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  429. package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
  430. package/cjs/internal/MaskedInput/MaskedInput.d.ts +40 -40
  431. package/cjs/internal/MaskedInput/MaskedInput.js +3 -3
  432. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  433. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  434. package/cjs/internal/MaskedInput/index.d.ts +1 -1
  435. package/cjs/internal/Menu/Menu.d.ts +63 -62
  436. package/cjs/internal/Menu/Menu.js +9 -6
  437. package/cjs/internal/Menu/Menu.js.map +1 -1
  438. package/cjs/internal/Menu/Menu.styles.d.ts +6 -6
  439. package/cjs/internal/Menu/index.d.ts +1 -1
  440. package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
  441. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  442. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  443. package/cjs/internal/NativeDateInput/index.d.ts +1 -1
  444. package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
  445. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  446. package/cjs/internal/Popup/Popup.d.ts +162 -161
  447. package/cjs/internal/Popup/Popup.js +61 -49
  448. package/cjs/internal/Popup/Popup.js.map +1 -1
  449. package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
  450. package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
  451. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  452. package/cjs/internal/Popup/PopupPin.d.ts +56 -56
  453. package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
  454. package/cjs/internal/Popup/index.d.ts +1 -1
  455. package/cjs/internal/Popup/types.d.ts +1 -0
  456. package/cjs/internal/Popup/types.js +1 -0
  457. package/cjs/internal/Popup/types.js.map +1 -0
  458. package/cjs/internal/PopupMenu/PopupMenu.d.ts +85 -84
  459. package/cjs/internal/PopupMenu/PopupMenu.js +23 -6
  460. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  461. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  462. package/cjs/internal/PopupMenu/index.d.ts +1 -1
  463. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  464. package/cjs/internal/PopupMenu/validatePositions.js +2 -4
  465. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  466. package/cjs/internal/RenderContainer/RenderContainer.d.ts +16 -16
  467. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  468. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  469. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  470. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  471. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -3
  472. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  473. package/cjs/internal/RenderContainer/index.d.ts +1 -1
  474. package/cjs/internal/RenderLayer/RenderLayer.d.ts +29 -27
  475. package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
  476. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  477. package/cjs/internal/RenderLayer/index.d.ts +1 -1
  478. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  479. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  480. package/cjs/internal/ResizeDetector/index.d.ts +1 -1
  481. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  482. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +34 -0
  483. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -0
  484. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  485. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +23 -0
  486. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
  487. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  488. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  489. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  490. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  491. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  492. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  493. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  494. package/cjs/internal/ThemePlayground/Playground.d.ts +32 -31
  495. package/cjs/internal/ThemePlayground/Playground.js +11 -1
  496. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  497. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  498. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  499. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  500. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  501. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  502. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  503. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  504. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  505. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  506. package/cjs/internal/ThemePlayground/VariableValue.d.ts +45 -45
  507. package/cjs/internal/ThemePlayground/constants.d.ts +18 -18
  508. package/cjs/internal/ThemePlayground/darkTheme.d.ts +270 -255
  509. package/cjs/internal/ThemePlayground/darkTheme.js +25 -1
  510. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  511. package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
  512. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  513. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +20 -19
  514. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  515. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  516. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  517. package/cjs/internal/ZIndex/ZIndex.d.ts +36 -34
  518. package/cjs/internal/ZIndex/ZIndex.js +45 -34
  519. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  520. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  521. package/cjs/internal/ZIndex/index.d.ts +1 -1
  522. package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
  523. package/cjs/internal/icons/16px/index.d.ts +25 -21
  524. package/cjs/internal/icons/16px/index.js +151 -52
  525. package/cjs/internal/icons/16px/index.js.map +1 -1
  526. package/cjs/internal/icons/20px/Icon.d.ts +30 -30
  527. package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
  528. package/cjs/internal/icons/20px/index.d.ts +2 -2
  529. package/cjs/internal/icons/20px/svg.d.ts +14 -14
  530. package/cjs/internal/icons/CloudIcon.d.ts +1 -1
  531. package/cjs/internal/icons/CrossIcon.d.ts +1 -1
  532. package/cjs/internal/icons/SpinnerIcon.d.ts +26 -23
  533. package/cjs/internal/icons/SpinnerIcon.js +5 -2
  534. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  535. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  536. package/cjs/internal/themes/DefaultTheme.d.ts +789 -766
  537. package/cjs/internal/themes/DefaultTheme.js +64 -1
  538. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  539. package/cjs/internal/themes/FlatTheme.d.ts +132 -132
  540. package/cjs/internal/themes/Theme8px.d.ts +271 -271
  541. package/cjs/lib/ConditionalHandler.d.ts +11 -11
  542. package/cjs/lib/LayoutEvents.d.ts +4 -4
  543. package/cjs/lib/ModalStack.d.ts +14 -14
  544. package/cjs/lib/ModalStack.js +16 -17
  545. package/cjs/lib/ModalStack.js.map +1 -1
  546. package/cjs/lib/SSRSafe.d.ts +4 -4
  547. package/cjs/lib/Supports.d.ts +1 -1
  548. package/cjs/lib/Upgrades.d.ts +6 -6
  549. package/cjs/lib/animation/index.d.ts +6 -6
  550. package/cjs/lib/animation/presets.d.ts +18 -18
  551. package/cjs/lib/animation/stepper.d.ts +1 -1
  552. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -0
  553. package/cjs/lib/callChildRef/callChildRef.js +19 -0
  554. package/cjs/lib/callChildRef/callChildRef.js.map +1 -0
  555. package/cjs/lib/client.d.ts +16 -16
  556. package/cjs/lib/createPropsGetter.d.ts +2 -2
  557. package/cjs/lib/currentEnvironment.d.ts +3 -3
  558. package/cjs/lib/date/InternalDate.d.ts +58 -58
  559. package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
  560. package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
  561. package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
  562. package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
  563. package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
  564. package/cjs/lib/date/constants.d.ts +28 -28
  565. package/cjs/lib/date/localeSets.d.ts +5 -5
  566. package/cjs/lib/date/types.d.ts +90 -90
  567. package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
  568. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
  569. package/cjs/lib/events/MouseDrag.d.ts +58 -58
  570. package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
  571. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  572. package/cjs/lib/events/keyListener.d.ts +7 -7
  573. package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  574. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  575. package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
  576. package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
  577. package/cjs/lib/events/stopPropagation.d.ts +1 -1
  578. package/cjs/lib/events/tabListener.d.ts +1 -1
  579. package/cjs/lib/extractKeyboardAction.d.ts +13 -13
  580. package/cjs/lib/filterProps.d.ts +12 -12
  581. package/cjs/lib/forwardRefAndName.d.ts +5 -5
  582. package/cjs/lib/getDisplayName.d.ts +3 -3
  583. package/cjs/lib/listenFocusOutside.d.ts +8 -8
  584. package/cjs/lib/locale/LocaleContext.d.ts +7 -7
  585. package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
  586. package/cjs/lib/locale/constants.d.ts +2 -2
  587. package/cjs/lib/locale/decorators.d.ts +36 -36
  588. package/cjs/lib/locale/index.d.ts +3 -3
  589. package/cjs/lib/locale/types.d.ts +21 -19
  590. package/cjs/lib/locale/types.js +2 -0
  591. package/cjs/lib/locale/types.js.map +1 -1
  592. package/cjs/lib/locale/useLocaleForControl.d.ts +3 -0
  593. package/cjs/lib/locale/useLocaleForControl.js +14 -0
  594. package/cjs/lib/locale/useLocaleForControl.js.map +1 -0
  595. package/cjs/lib/memo.d.ts +1 -1
  596. package/cjs/lib/net/fetch.d.ts +13 -13
  597. package/cjs/lib/polyfillPlaceholder.d.ts +1 -1
  598. package/cjs/lib/reactGetTextContent.d.ts +2 -2
  599. package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
  600. package/cjs/lib/rootNode/getRootNode.js +27 -0
  601. package/cjs/lib/rootNode/getRootNode.js.map +1 -0
  602. package/cjs/lib/rootNode/index.d.ts +2 -0
  603. package/cjs/lib/rootNode/index.js +2 -0
  604. package/cjs/lib/rootNode/index.js.map +1 -0
  605. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  606. package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
  607. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
  608. package/cjs/lib/stringUtils.d.ts +1 -0
  609. package/cjs/lib/stringUtils.js +13 -0
  610. package/cjs/lib/stringUtils.js.map +1 -0
  611. package/cjs/lib/styles/ColorFactory.d.ts +11 -11
  612. package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
  613. package/cjs/lib/styles/ColorHelpers.d.ts +20 -20
  614. package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
  615. package/cjs/lib/styles/ColorObject.d.ts +52 -52
  616. package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
  617. package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
  618. package/cjs/lib/styles/Mixins.d.ts +2 -2
  619. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  620. package/cjs/lib/theming/AnimationKeyframes.d.ts +9 -9
  621. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  622. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  623. package/cjs/lib/theming/Emotion.d.ts +15 -15
  624. package/cjs/lib/theming/Emotion.js +1 -0
  625. package/cjs/lib/theming/Emotion.js.map +1 -1
  626. package/cjs/lib/theming/Theme.d.ts +3 -3
  627. package/cjs/lib/theming/ThemeContext.d.ts +2 -2
  628. package/cjs/lib/theming/ThemeFactory.d.ts +8 -8
  629. package/cjs/lib/theming/ThemeHelpers.d.ts +11 -11
  630. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  631. package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  632. package/cjs/lib/theming/themes/FlatTheme.d.ts +1 -1
  633. package/cjs/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  634. package/cjs/lib/theming/useTheme.d.ts +1 -0
  635. package/cjs/lib/theming/useTheme.js +7 -0
  636. package/cjs/lib/theming/useTheme.js.map +1 -0
  637. package/cjs/lib/uidUtils.d.ts +1 -0
  638. package/cjs/lib/uidUtils.js +5 -0
  639. package/cjs/lib/uidUtils.js.map +1 -0
  640. package/cjs/lib/utils.d.ts +64 -28
  641. package/cjs/lib/utils.js +95 -4
  642. package/cjs/lib/utils.js.map +1 -1
  643. package/cjs/lib/withClassWrapper.d.ts +71 -71
  644. package/cjs/typings/html-props.d.ts +123 -0
  645. package/components/Autocomplete/Autocomplete/Autocomplete.js +19 -16
  646. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  647. package/components/Autocomplete/Autocomplete.d.ts +113 -112
  648. package/components/Autocomplete/index.d.ts +1 -1
  649. package/components/Button/Button/Button.js +14 -15
  650. package/components/Button/Button/Button.js.map +1 -1
  651. package/components/Button/Button.d.ts +161 -160
  652. package/components/Button/Button.mixins.d.ts +6 -6
  653. package/components/Button/Button.styles/Button.styles.js +31 -28
  654. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  655. package/components/Button/Button.styles.d.ts +68 -67
  656. package/components/Button/Corners.d.ts +6 -6
  657. package/components/Button/index.d.ts +1 -1
  658. package/components/Center/Center/Center.js +14 -9
  659. package/components/Center/Center/Center.js.map +1 -1
  660. package/components/Center/Center.d.ts +25 -24
  661. package/components/Center/Center.styles.d.ts +7 -7
  662. package/components/Center/index.d.ts +1 -1
  663. package/components/Checkbox/Checkbox/Checkbox.js +16 -10
  664. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  665. package/components/Checkbox/Checkbox.d.ts +96 -95
  666. package/components/Checkbox/Checkbox.styles.d.ts +22 -22
  667. package/components/Checkbox/index.d.ts +1 -1
  668. package/components/ComboBox/ComboBox/ComboBox.js +38 -32
  669. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  670. package/components/ComboBox/ComboBox.d.ts +184 -182
  671. package/components/ComboBox/index.d.ts +1 -1
  672. package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  673. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +29 -27
  674. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  675. package/components/CurrencyInput/CurrencyInput.d.ts +106 -106
  676. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  677. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  678. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  679. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  680. package/components/CurrencyInput/constants.d.ts +2 -2
  681. package/components/CurrencyInput/index.d.ts +1 -1
  682. package/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  683. package/components/CurrencyLabel/index.d.ts +1 -1
  684. package/components/DateInput/DateFragmentsView.d.ts +20 -20
  685. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  686. package/components/DateInput/DateInput/DateInput.js +7 -3
  687. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  688. package/components/DateInput/DateInput.d.ts +107 -106
  689. package/components/DateInput/DateInput.styles.d.ts +10 -10
  690. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  691. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  692. package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  693. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  694. package/components/DateInput/helpers/inputNumber.d.ts +5 -5
  695. package/components/DateInput/index.d.ts +1 -1
  696. package/components/DatePicker/DatePicker/DatePicker.js +29 -22
  697. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  698. package/components/DatePicker/DatePicker.d.ts +134 -132
  699. package/components/DatePicker/DatePicker.styles.d.ts +3 -3
  700. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  701. package/components/DatePicker/Picker.d.ts +33 -33
  702. package/components/DatePicker/Picker.styles.d.ts +5 -5
  703. package/components/DatePicker/index.d.ts +1 -1
  704. package/components/DatePicker/locale/index.d.ts +4 -4
  705. package/components/DatePicker/locale/locales/en.d.ts +2 -2
  706. package/components/DatePicker/locale/locales/ru.d.ts +2 -2
  707. package/components/DatePicker/locale/types.d.ts +5 -5
  708. package/components/Dropdown/Dropdown/Dropdown.js +15 -13
  709. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  710. package/components/Dropdown/Dropdown.d.ts +124 -123
  711. package/components/Dropdown/index.d.ts +1 -1
  712. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +15 -9
  713. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  714. package/components/DropdownMenu/DropdownMenu.d.ts +65 -64
  715. package/components/DropdownMenu/index.d.ts +1 -1
  716. package/components/FileUploader/FileUploader/FileUploader.js +270 -0
  717. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -0
  718. package/components/FileUploader/FileUploader/package.json +6 -0
  719. package/components/FileUploader/FileUploader.d.ts +42 -0
  720. package/components/FileUploader/FileUploader.md +67 -0
  721. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +62 -0
  722. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -0
  723. package/components/FileUploader/FileUploader.styles/package.json +6 -0
  724. package/components/FileUploader/FileUploader.styles.d.ts +21 -0
  725. package/components/FileUploader/index/index.js +3 -0
  726. package/components/FileUploader/index/index.js.map +1 -0
  727. package/components/FileUploader/index/package.json +6 -0
  728. package/components/FileUploader/index.d.ts +4 -0
  729. package/components/FileUploader/locale/index/index.js +8 -0
  730. package/components/FileUploader/locale/index/index.js.map +1 -0
  731. package/components/FileUploader/locale/index/package.json +6 -0
  732. package/components/FileUploader/locale/index.d.ts +4 -0
  733. package/components/FileUploader/locale/locales/en/en.js +6 -0
  734. package/components/FileUploader/locale/locales/en/en.js.map +1 -0
  735. package/components/FileUploader/locale/locales/en/package.json +6 -0
  736. package/components/FileUploader/locale/locales/en.d.ts +2 -0
  737. package/components/FileUploader/locale/locales/ru/package.json +6 -0
  738. package/components/FileUploader/locale/locales/ru/ru.js +6 -0
  739. package/components/FileUploader/locale/locales/ru/ru.js.map +1 -0
  740. package/components/FileUploader/locale/locales/ru.d.ts +2 -0
  741. package/components/FileUploader/locale/package.json +6 -0
  742. package/components/FileUploader/locale/types/package.json +6 -0
  743. package/components/FileUploader/locale/types/types.js +0 -0
  744. package/components/FileUploader/locale/types/types.js.map +1 -0
  745. package/components/FileUploader/locale/types.d.ts +6 -0
  746. package/components/FileUploader/package.json +6 -0
  747. package/components/FxInput/FxInput/FxInput.js +13 -9
  748. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  749. package/components/FxInput/FxInput.d.ts +50 -49
  750. package/components/FxInput/index.d.ts +1 -1
  751. package/components/Gapped/Gapped/Gapped.js +15 -11
  752. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  753. package/components/Gapped/Gapped.d.ts +58 -57
  754. package/components/Gapped/index.d.ts +1 -1
  755. package/components/Group/Group/Group.js +22 -9
  756. package/components/Group/Group/Group.js.map +1 -1
  757. package/components/Group/Group.d.ts +14 -13
  758. package/components/Group/Group.styles.d.ts +8 -8
  759. package/components/Group/index.d.ts +1 -1
  760. package/components/Hint/Hint/Hint.js +18 -12
  761. package/components/Hint/Hint/Hint.js.map +1 -1
  762. package/components/Hint/Hint.d.ts +81 -79
  763. package/components/Hint/Hint.styles.d.ts +5 -5
  764. package/components/Hint/index.d.ts +1 -1
  765. package/components/Input/Input/Input.js +21 -14
  766. package/components/Input/Input/Input.js.map +1 -1
  767. package/components/Input/Input.d.ts +157 -154
  768. package/components/Input/Input.styles.d.ts +42 -42
  769. package/components/Input/index.d.ts +1 -1
  770. package/components/Kebab/Kebab/Kebab.js +12 -7
  771. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  772. package/components/Kebab/Kebab.d.ts +71 -70
  773. package/components/Kebab/Kebab.styles.d.ts +12 -12
  774. package/components/Kebab/index.d.ts +1 -1
  775. package/components/Link/Link/Link.js +15 -11
  776. package/components/Link/Link/Link.js.map +1 -1
  777. package/components/Link/Link.d.ts +72 -71
  778. package/components/Link/Link.mixins.d.ts +3 -3
  779. package/components/Link/Link.styles.d.ts +15 -15
  780. package/components/Link/index.d.ts +1 -1
  781. package/components/Loader/Loader/Loader.js +16 -11
  782. package/components/Loader/Loader/Loader.js.map +1 -1
  783. package/components/Loader/Loader.d.ts +100 -99
  784. package/components/Loader/Loader.styles.d.ts +8 -8
  785. package/components/Loader/index.d.ts +1 -1
  786. package/components/MenuHeader/MenuHeader.d.ts +20 -20
  787. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  788. package/components/MenuHeader/index.d.ts +1 -1
  789. package/components/MenuItem/MenuItem/MenuItem.js +19 -17
  790. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  791. package/components/MenuItem/MenuItem.d.ts +94 -93
  792. package/components/MenuItem/MenuItem.styles.d.ts +13 -13
  793. package/components/MenuItem/index.d.ts +1 -1
  794. package/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  795. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  796. package/components/MenuSeparator/index.d.ts +1 -1
  797. package/components/Modal/Modal/Modal.js +1 -1
  798. package/components/Modal/Modal/Modal.js.map +1 -1
  799. package/components/Modal/Modal.d.ts +87 -87
  800. package/components/Modal/Modal.styles.d.ts +26 -26
  801. package/components/Modal/ModalBody/ModalBody.js +16 -10
  802. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  803. package/components/Modal/ModalBody.d.ts +21 -20
  804. package/components/Modal/ModalClose.d.ts +2 -2
  805. package/components/Modal/ModalContext.d.ts +15 -15
  806. package/components/Modal/ModalFooter.d.ts +21 -21
  807. package/components/Modal/ModalHeader.d.ts +17 -17
  808. package/components/Modal/index.d.ts +4 -4
  809. package/components/Paging/NavigationHelper.d.ts +7 -7
  810. package/components/Paging/Paging/Paging.js +17 -14
  811. package/components/Paging/Paging/Paging.js.map +1 -1
  812. package/components/Paging/Paging.d.ts +90 -90
  813. package/components/Paging/Paging.styles.d.ts +16 -16
  814. package/components/Paging/PagingHelper.d.ts +2 -2
  815. package/components/Paging/index.d.ts +1 -1
  816. package/components/Paging/locale/index.d.ts +4 -4
  817. package/components/Paging/locale/locales/en.d.ts +2 -2
  818. package/components/Paging/locale/locales/ru.d.ts +2 -2
  819. package/components/Paging/locale/types.d.ts +3 -3
  820. package/components/PasswordInput/PasswordInput/PasswordInput.js +18 -14
  821. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  822. package/components/PasswordInput/PasswordInput.d.ts +49 -48
  823. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  824. package/components/PasswordInput/index.d.ts +1 -1
  825. package/components/Radio/Radio/Radio.js +17 -19
  826. package/components/Radio/Radio/Radio.js.map +1 -1
  827. package/components/Radio/Radio.d.ts +77 -82
  828. package/components/Radio/Radio.styles.d.ts +19 -19
  829. package/components/Radio/index.d.ts +1 -1
  830. package/components/RadioGroup/Prevent.d.ts +8 -8
  831. package/components/RadioGroup/RadioGroup/RadioGroup.js +35 -38
  832. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  833. package/components/RadioGroup/RadioGroup.d.ts +117 -131
  834. package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  835. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
  836. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
  837. package/components/RadioGroup/RadioGroupContext/package.json +6 -0
  838. package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  839. package/components/RadioGroup/index.d.ts +1 -1
  840. package/components/ScrollContainer/ScrollBar.d.ts +37 -37
  841. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +13 -8
  842. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  843. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  844. package/components/ScrollContainer/ScrollContainer.d.ts +84 -83
  845. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  846. package/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  847. package/components/ScrollContainer/index.d.ts +1 -1
  848. package/components/Select/Item.d.ts +7 -7
  849. package/components/Select/Select/Select.js +8 -5
  850. package/components/Select/Select/Select.js.map +1 -1
  851. package/components/Select/Select.d.ts +179 -178
  852. package/components/Select/Select.styles.d.ts +17 -17
  853. package/components/Select/index.d.ts +1 -1
  854. package/components/Select/locale/index.d.ts +4 -4
  855. package/components/Select/locale/locales/en.d.ts +2 -2
  856. package/components/Select/locale/locales/ru.d.ts +2 -2
  857. package/components/Select/locale/types.d.ts +4 -4
  858. package/components/Select/selectTheme.d.ts +3 -3
  859. package/components/SidePage/SidePage/SidePage.js +6 -3
  860. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  861. package/components/SidePage/SidePage.d.ts +105 -104
  862. package/components/SidePage/SidePage.styles.d.ts +37 -37
  863. package/components/SidePage/SidePageBody/SidePageBody.js +16 -10
  864. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  865. package/components/SidePage/SidePageBody.d.ts +19 -18
  866. package/components/SidePage/SidePageContainer/SidePageContainer.js +16 -9
  867. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  868. package/components/SidePage/SidePageContainer.d.ts +15 -14
  869. package/components/SidePage/SidePageContext.d.ts +15 -15
  870. package/components/SidePage/SidePageFooter/SidePageFooter.js +22 -19
  871. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  872. package/components/SidePage/SidePageFooter.d.ts +36 -37
  873. package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
  874. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  875. package/components/SidePage/SidePageHeader.d.ts +41 -40
  876. package/components/SidePage/index.d.ts +5 -5
  877. package/components/Spinner/Spinner/Spinner.js +14 -6
  878. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  879. package/components/Spinner/Spinner.d.ts +56 -47
  880. package/components/Spinner/Spinner.md +1 -0
  881. package/components/Spinner/Spinner.styles/Spinner.styles.js +12 -9
  882. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  883. package/components/Spinner/Spinner.styles.d.ts +12 -11
  884. package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  885. package/components/Spinner/index.d.ts +1 -1
  886. package/components/Spinner/locale/index.d.ts +4 -4
  887. package/components/Spinner/locale/locales/en.d.ts +2 -2
  888. package/components/Spinner/locale/locales/ru.d.ts +2 -2
  889. package/components/Spinner/locale/types.d.ts +4 -4
  890. package/components/Sticky/Sticky/Sticky.js +13 -8
  891. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  892. package/components/Sticky/Sticky.d.ts +54 -53
  893. package/components/Sticky/Sticky.styles.d.ts +7 -7
  894. package/components/Sticky/index.d.ts +1 -1
  895. package/components/Switcher/Switcher/Switcher.js +11 -6
  896. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  897. package/components/Switcher/Switcher.d.ts +56 -55
  898. package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
  899. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  900. package/components/Switcher/Switcher.styles.d.ts +10 -10
  901. package/components/Switcher/index.d.ts +1 -1
  902. package/components/Switcher/switcherTheme.d.ts +2 -2
  903. package/components/Tabs/Indicator/Indicator.js +16 -14
  904. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  905. package/components/Tabs/Indicator.d.ts +28 -27
  906. package/components/Tabs/Indicator.styles.d.ts +8 -8
  907. package/components/Tabs/Tab/Tab.js +31 -34
  908. package/components/Tabs/Tab/Tab.js.map +1 -1
  909. package/components/Tabs/Tab.d.ts +121 -120
  910. package/components/Tabs/Tab.styles.d.ts +27 -27
  911. package/components/Tabs/Tabs/Tabs.js +20 -20
  912. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  913. package/components/Tabs/Tabs.d.ts +62 -61
  914. package/components/Tabs/Tabs.styles.d.ts +5 -5
  915. package/components/Tabs/TabsContext.d.ts +14 -14
  916. package/components/Tabs/index.d.ts +2 -2
  917. package/components/Textarea/Textarea/Textarea.js +21 -17
  918. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  919. package/components/Textarea/Textarea.d.ts +185 -184
  920. package/components/Textarea/Textarea.styles.d.ts +15 -15
  921. package/components/Textarea/TextareaCounter.d.ts +13 -13
  922. package/components/Textarea/TextareaHelpers.d.ts +11 -11
  923. package/components/Textarea/index.d.ts +1 -1
  924. package/components/Toast/Toast/Toast.js +29 -14
  925. package/components/Toast/Toast/Toast.js.map +1 -1
  926. package/components/Toast/Toast.d.ts +58 -55
  927. package/components/Toast/Toast.styles.d.ts +6 -6
  928. package/components/Toast/ToastStatic.d.ts +8 -8
  929. package/components/Toast/ToastView/ToastView.js +10 -5
  930. package/components/Toast/ToastView/ToastView.js.map +1 -1
  931. package/components/Toast/ToastView.d.ts +38 -37
  932. package/components/Toast/ToastView.styles.d.ts +8 -8
  933. package/components/Toast/index.d.ts +1 -1
  934. package/components/Toggle/Toggle/Toggle.js +16 -11
  935. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  936. package/components/Toggle/Toggle.d.ts +107 -106
  937. package/components/Toggle/Toggle.styles.d.ts +30 -30
  938. package/components/Toggle/index.d.ts +1 -1
  939. package/components/Token/Token/Token.js +11 -4
  940. package/components/Token/Token/Token.js.map +1 -1
  941. package/components/Token/Token.d.ts +36 -35
  942. package/components/Token/Token.styles.d.ts +29 -29
  943. package/components/Token/index.d.ts +1 -1
  944. package/components/TokenInput/TextWidthHelper.d.ts +18 -18
  945. package/components/TokenInput/TokenInput/TokenInput.js +12 -6
  946. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  947. package/components/TokenInput/TokenInput.d.ts +194 -193
  948. package/components/TokenInput/TokenInput.styles.d.ts +15 -15
  949. package/components/TokenInput/TokenInputMenu.d.ts +18 -18
  950. package/components/TokenInput/TokenInputReducer.d.ts +25 -25
  951. package/components/TokenInput/index.d.ts +1 -1
  952. package/components/TokenInput/locale/index.d.ts +4 -4
  953. package/components/TokenInput/locale/locales/en.d.ts +2 -2
  954. package/components/TokenInput/locale/locales/ru.d.ts +2 -2
  955. package/components/TokenInput/locale/types.d.ts +4 -4
  956. package/components/Tooltip/Tooltip/Tooltip.js +26 -17
  957. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  958. package/components/Tooltip/Tooltip.d.ts +160 -171
  959. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  960. package/components/Tooltip/index.d.ts +1 -1
  961. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +23 -17
  962. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  963. package/components/TooltipMenu/TooltipMenu.d.ts +65 -64
  964. package/components/TooltipMenu/index.d.ts +1 -1
  965. package/hooks/useDrop/package.json +6 -0
  966. package/hooks/useDrop/useDrop.js +57 -0
  967. package/hooks/useDrop/useDrop.js.map +1 -0
  968. package/hooks/useDrop.d.ts +11 -0
  969. package/hooks/useEffectWithoutInitCall/package.json +6 -0
  970. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +11 -0
  971. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -0
  972. package/hooks/useEffectWithoutInitCall.d.ts +2 -0
  973. package/hooks/useMemoObject/package.json +6 -0
  974. package/hooks/useMemoObject/useMemoObject.js +6 -0
  975. package/hooks/useMemoObject/useMemoObject.js.map +1 -0
  976. package/hooks/useMemoObject.d.ts +1 -0
  977. package/index.d.ts +50 -48
  978. package/index.js +3 -1
  979. package/index.js.map +1 -1
  980. package/internal/BGRuler.d.ts +30 -30
  981. package/internal/Calendar/Calendar.d.ts +66 -66
  982. package/internal/Calendar/Calendar.styles.d.ts +5 -5
  983. package/internal/Calendar/CalendarDateShape.d.ts +14 -14
  984. package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  985. package/internal/Calendar/CalendarUtils.d.ts +19 -19
  986. package/internal/Calendar/DayCellView.d.ts +13 -13
  987. package/internal/Calendar/DayCellView.styles.d.ts +7 -7
  988. package/internal/Calendar/DayCellViewModel.d.ts +8 -8
  989. package/internal/Calendar/Month.d.ts +33 -33
  990. package/internal/Calendar/MonthView.d.ts +21 -21
  991. package/internal/Calendar/MonthView.styles.d.ts +9 -9
  992. package/internal/Calendar/MonthViewModel.d.ts +14 -14
  993. package/internal/Calendar/config.d.ts +9 -9
  994. package/internal/Calendar/index.d.ts +2 -2
  995. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +37 -10
  996. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  997. package/internal/CommonWrapper/CommonWrapper.d.ts +31 -23
  998. package/internal/CommonWrapper/index.d.ts +1 -1
  999. package/internal/ComponentCombinator.d.ts +25 -25
  1000. package/internal/ComponentTable.d.ts +21 -21
  1001. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -3
  1002. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  1003. package/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  1004. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +23 -13
  1005. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  1006. package/internal/CustomComboBox/ComboBoxView.d.ts +90 -87
  1007. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -4
  1008. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  1009. package/internal/CustomComboBox/CustomComboBox.d.ts +136 -135
  1010. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  1011. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  1012. package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  1013. package/internal/CustomComboBox/index.d.ts +2 -2
  1014. package/internal/CustomComboBox/locale/index.d.ts +4 -4
  1015. package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  1016. package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  1017. package/internal/CustomComboBox/locale/types.d.ts +5 -5
  1018. package/internal/DateSelect/DateSelect/DateSelect.js +5 -5
  1019. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  1020. package/internal/DateSelect/DateSelect.d.ts +93 -93
  1021. package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  1022. package/internal/DateSelect/index.d.ts +1 -1
  1023. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +11 -15
  1024. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  1025. package/internal/DropdownContainer/DropdownContainer.d.ts +43 -46
  1026. package/internal/DropdownContainer/index.d.ts +1 -1
  1027. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +2 -0
  1028. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -0
  1029. package/internal/FileUploaderControl/FileUploaderControlContext/package.json +6 -0
  1030. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
  1031. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +85 -0
  1032. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -0
  1033. package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +6 -0
  1034. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  1035. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +179 -0
  1036. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -0
  1037. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +6 -0
  1038. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +12 -0
  1039. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +32 -0
  1040. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -0
  1041. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +6 -0
  1042. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  1043. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +27 -0
  1044. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  1045. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +6 -0
  1046. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +10 -0
  1047. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +14 -0
  1048. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -0
  1049. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +6 -0
  1050. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +5 -0
  1051. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +18 -0
  1052. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +1 -0
  1053. package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +6 -0
  1054. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  1055. package/internal/FileUploaderControl/fileUtils/fileUtils.js +19 -0
  1056. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -0
  1057. package/internal/FileUploaderControl/fileUtils/package.json +6 -0
  1058. package/internal/FileUploaderControl/fileUtils.d.ts +14 -0
  1059. package/internal/FileUploaderControl/hooks/useControlLocale/package.json +6 -0
  1060. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +5 -0
  1061. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +1 -0
  1062. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  1063. package/internal/FileUploaderControl/hooks/useUpload/package.json +6 -0
  1064. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +56 -0
  1065. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +1 -0
  1066. package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  1067. package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +6 -0
  1068. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +16 -0
  1069. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -0
  1070. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  1071. package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
  1072. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  1073. package/internal/FocusTrap/FocusTrap.d.ts +17 -16
  1074. package/internal/FocusTrap/index.d.ts +1 -1
  1075. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  1076. package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  1077. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
  1078. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  1079. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  1080. package/internal/IgnoreLayerClick/index.d.ts +1 -1
  1081. package/internal/InputLikeText/HiddenInput.d.ts +13 -13
  1082. package/internal/InputLikeText/InputLikeText/InputLikeText.js +11 -6
  1083. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1084. package/internal/InputLikeText/InputLikeText.d.ts +73 -72
  1085. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  1086. package/internal/InputLikeText/index.d.ts +1 -1
  1087. package/internal/InternalMenu/InternalMenu/InternalMenu.js +24 -25
  1088. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1089. package/internal/InternalMenu/InternalMenu.d.ts +63 -64
  1090. package/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  1091. package/internal/InternalMenu/index.d.ts +1 -1
  1092. package/internal/InternalMenu/isActiveElement.d.ts +3 -3
  1093. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  1094. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  1095. package/internal/MaskCharLowLine/index.d.ts +1 -1
  1096. package/internal/MaskedInput/MaskedInput/MaskedInput.js +7 -7
  1097. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  1098. package/internal/MaskedInput/MaskedInput.d.ts +40 -40
  1099. package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  1100. package/internal/MaskedInput/index.d.ts +1 -1
  1101. package/internal/Menu/Menu/Menu.js +11 -8
  1102. package/internal/Menu/Menu/Menu.js.map +1 -1
  1103. package/internal/Menu/Menu.d.ts +63 -62
  1104. package/internal/Menu/Menu.styles.d.ts +6 -6
  1105. package/internal/Menu/index.d.ts +1 -1
  1106. package/internal/Menu/isActiveElement.d.ts +3 -3
  1107. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  1108. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  1109. package/internal/NativeDateInput/index.d.ts +1 -1
  1110. package/internal/NativeDateInput/utils.d.ts +7 -7
  1111. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  1112. package/internal/Popup/Popup/Popup.js +82 -70
  1113. package/internal/Popup/Popup/Popup.js.map +1 -1
  1114. package/internal/Popup/Popup.d.ts +162 -161
  1115. package/internal/Popup/Popup.styles.d.ts +16 -16
  1116. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  1117. package/internal/Popup/PopupHelper.d.ts +26 -26
  1118. package/internal/Popup/PopupPin.d.ts +56 -56
  1119. package/internal/Popup/PopupPin.styles.d.ts +3 -3
  1120. package/internal/Popup/index.d.ts +1 -1
  1121. package/internal/Popup/types/package.json +6 -0
  1122. package/internal/Popup/types/types.js +0 -0
  1123. package/internal/Popup/types/types.js.map +1 -0
  1124. package/internal/Popup/types.d.ts +1 -0
  1125. package/internal/PopupMenu/PopupMenu/PopupMenu.js +15 -10
  1126. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1127. package/internal/PopupMenu/PopupMenu.d.ts +85 -84
  1128. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  1129. package/internal/PopupMenu/index.d.ts +1 -1
  1130. package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
  1131. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  1132. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  1133. package/internal/RenderContainer/RenderContainer/RenderContainer.js +3 -1
  1134. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  1135. package/internal/RenderContainer/RenderContainer.d.ts +16 -16
  1136. package/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  1137. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  1138. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  1139. package/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  1140. package/internal/RenderContainer/index.d.ts +1 -1
  1141. package/internal/RenderLayer/RenderLayer/RenderLayer.js +20 -18
  1142. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  1143. package/internal/RenderLayer/RenderLayer.d.ts +29 -27
  1144. package/internal/RenderLayer/index.d.ts +1 -1
  1145. package/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  1146. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  1147. package/internal/ResizeDetector/index.d.ts +1 -1
  1148. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +51 -0
  1149. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -0
  1150. package/internal/TextWidthHelper/TextWidthHelper/package.json +6 -0
  1151. package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  1152. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +14 -0
  1153. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +1 -0
  1154. package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +6 -0
  1155. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  1156. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  1157. package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  1158. package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  1159. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  1160. package/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  1161. package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  1162. package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  1163. package/internal/ThemePlayground/Playground/Playground.js +11 -1
  1164. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  1165. package/internal/ThemePlayground/Playground.d.ts +32 -31
  1166. package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  1167. package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  1168. package/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  1169. package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  1170. package/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  1171. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  1172. package/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  1173. package/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  1174. package/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  1175. package/internal/ThemePlayground/VariableValue.d.ts +45 -45
  1176. package/internal/ThemePlayground/constants.d.ts +18 -18
  1177. package/internal/ThemePlayground/darkTheme/darkTheme.js +26 -1
  1178. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  1179. package/internal/ThemePlayground/darkTheme.d.ts +270 -255
  1180. package/internal/ThemePlayground/helpers.d.ts +2 -2
  1181. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +35 -43
  1182. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  1183. package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  1184. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  1185. package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  1186. package/internal/ZIndex/ZIndex/ZIndex.js +20 -8
  1187. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1188. package/internal/ZIndex/ZIndex.d.ts +36 -34
  1189. package/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  1190. package/internal/ZIndex/index.d.ts +1 -1
  1191. package/internal/icons/16px/icon.styles.d.ts +4 -4
  1192. package/internal/icons/16px/index/index.js +125 -51
  1193. package/internal/icons/16px/index/index.js.map +1 -1
  1194. package/internal/icons/16px/index.d.ts +25 -21
  1195. package/internal/icons/20px/Icon.d.ts +30 -30
  1196. package/internal/icons/20px/icon.styles.d.ts +4 -4
  1197. package/internal/icons/20px/index.d.ts +2 -2
  1198. package/internal/icons/20px/svg.d.ts +14 -14
  1199. package/internal/icons/CloudIcon.d.ts +1 -1
  1200. package/internal/icons/CrossIcon.d.ts +1 -1
  1201. package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
  1202. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  1203. package/internal/icons/SpinnerIcon.d.ts +26 -23
  1204. package/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  1205. package/internal/themes/DefaultTheme/DefaultTheme.js +67 -0
  1206. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1207. package/internal/themes/DefaultTheme.d.ts +789 -766
  1208. package/internal/themes/FlatTheme.d.ts +132 -132
  1209. package/internal/themes/Theme8px.d.ts +271 -271
  1210. package/lib/ConditionalHandler.d.ts +11 -11
  1211. package/lib/LayoutEvents.d.ts +4 -4
  1212. package/lib/ModalStack/ModalStack.js +9 -13
  1213. package/lib/ModalStack/ModalStack.js.map +1 -1
  1214. package/lib/ModalStack.d.ts +14 -14
  1215. package/lib/SSRSafe.d.ts +4 -4
  1216. package/lib/Supports.d.ts +1 -1
  1217. package/lib/Upgrades.d.ts +6 -6
  1218. package/lib/animation/index.d.ts +6 -6
  1219. package/lib/animation/presets.d.ts +18 -18
  1220. package/lib/animation/stepper.d.ts +1 -1
  1221. package/lib/callChildRef/callChildRef/callChildRef.js +14 -0
  1222. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -0
  1223. package/lib/callChildRef/callChildRef/package.json +6 -0
  1224. package/lib/callChildRef/callChildRef.d.ts +3 -0
  1225. package/lib/client.d.ts +16 -16
  1226. package/lib/createPropsGetter.d.ts +2 -2
  1227. package/lib/currentEnvironment.d.ts +3 -3
  1228. package/lib/date/InternalDate.d.ts +58 -58
  1229. package/lib/date/InternalDateCalculator.d.ts +6 -6
  1230. package/lib/date/InternalDateGetter.d.ts +15 -15
  1231. package/lib/date/InternalDateSetter.d.ts +6 -6
  1232. package/lib/date/InternalDateTransformer.d.ts +12 -12
  1233. package/lib/date/InternalDateValidator.d.ts +12 -12
  1234. package/lib/date/constants.d.ts +28 -28
  1235. package/lib/date/localeSets.d.ts +5 -5
  1236. package/lib/date/types.d.ts +90 -90
  1237. package/lib/dom/getScrollWidth.d.ts +1 -1
  1238. package/lib/dom/tabbableHelpers.d.ts +16 -16
  1239. package/lib/events/MouseDrag.d.ts +58 -58
  1240. package/lib/events/fixClickFocusIE.d.ts +1 -1
  1241. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  1242. package/lib/events/keyListener.d.ts +7 -7
  1243. package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  1244. package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  1245. package/lib/events/keyboard/extractCode.d.ts +3 -3
  1246. package/lib/events/keyboard/identifiers.d.ts +48 -48
  1247. package/lib/events/stopPropagation.d.ts +1 -1
  1248. package/lib/events/tabListener.d.ts +1 -1
  1249. package/lib/extractKeyboardAction.d.ts +13 -13
  1250. package/lib/filterProps.d.ts +12 -12
  1251. package/lib/forwardRefAndName.d.ts +5 -5
  1252. package/lib/getDisplayName.d.ts +3 -3
  1253. package/lib/listenFocusOutside.d.ts +8 -8
  1254. package/lib/locale/LocaleContext.d.ts +7 -7
  1255. package/lib/locale/LocaleHelper.d.ts +9 -9
  1256. package/lib/locale/constants.d.ts +2 -2
  1257. package/lib/locale/decorators.d.ts +36 -36
  1258. package/lib/locale/index.d.ts +3 -3
  1259. package/lib/locale/types/types.js.map +1 -1
  1260. package/lib/locale/types.d.ts +21 -19
  1261. package/lib/locale/useLocaleForControl/package.json +6 -0
  1262. package/lib/locale/useLocaleForControl/useLocaleForControl.js +12 -0
  1263. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -0
  1264. package/lib/locale/useLocaleForControl.d.ts +3 -0
  1265. package/lib/memo.d.ts +1 -1
  1266. package/lib/net/fetch.d.ts +13 -13
  1267. package/lib/polyfillPlaceholder.d.ts +1 -1
  1268. package/lib/reactGetTextContent.d.ts +2 -2
  1269. package/lib/rootNode/getRootNode/getRootNode.js +25 -0
  1270. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
  1271. package/lib/rootNode/getRootNode/package.json +6 -0
  1272. package/lib/rootNode/getRootNode.d.ts +3 -0
  1273. package/lib/rootNode/index/index.js +2 -0
  1274. package/lib/rootNode/index/index.js.map +1 -0
  1275. package/lib/rootNode/index/package.json +6 -0
  1276. package/lib/rootNode/index.d.ts +2 -0
  1277. package/lib/rootNode/package.json +6 -0
  1278. package/lib/rootNode/rootNodeDecorator/package.json +6 -0
  1279. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +37 -0
  1280. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
  1281. package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  1282. package/lib/stringUtils/package.json +6 -0
  1283. package/lib/stringUtils/stringUtils.js +12 -0
  1284. package/lib/stringUtils/stringUtils.js.map +1 -0
  1285. package/lib/stringUtils.d.ts +1 -0
  1286. package/lib/styles/ColorFactory.d.ts +11 -11
  1287. package/lib/styles/ColorFunctions.d.ts +11 -11
  1288. package/lib/styles/ColorHelpers.d.ts +20 -20
  1289. package/lib/styles/ColorKeywords.d.ts +150 -150
  1290. package/lib/styles/ColorObject.d.ts +52 -52
  1291. package/lib/styles/DimensionFunctions.d.ts +1 -1
  1292. package/lib/styles/HoldSelectionColor.d.ts +1 -1
  1293. package/lib/styles/Mixins.d.ts +2 -2
  1294. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  1295. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
  1296. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  1297. package/lib/theming/AnimationKeyframes.d.ts +9 -9
  1298. package/lib/theming/Emotion/Emotion.js +1 -0
  1299. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1300. package/lib/theming/Emotion.d.ts +15 -15
  1301. package/lib/theming/Theme.d.ts +3 -3
  1302. package/lib/theming/ThemeContext.d.ts +2 -2
  1303. package/lib/theming/ThemeFactory.d.ts +8 -8
  1304. package/lib/theming/ThemeHelpers.d.ts +11 -11
  1305. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  1306. package/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  1307. package/lib/theming/themes/FlatTheme.d.ts +1 -1
  1308. package/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  1309. package/lib/theming/useTheme/package.json +6 -0
  1310. package/lib/theming/useTheme/useTheme.js +5 -0
  1311. package/lib/theming/useTheme/useTheme.js.map +1 -0
  1312. package/lib/theming/useTheme.d.ts +1 -0
  1313. package/lib/uidUtils/package.json +6 -0
  1314. package/lib/uidUtils/uidUtils.js +4 -0
  1315. package/lib/uidUtils/uidUtils.js.map +1 -0
  1316. package/lib/uidUtils.d.ts +1 -0
  1317. package/lib/utils/utils.js +95 -1
  1318. package/lib/utils/utils.js.map +1 -1
  1319. package/lib/utils.d.ts +64 -28
  1320. package/lib/withClassWrapper.d.ts +71 -71
  1321. package/package.json +11 -5
  1322. package/typings/html-props.d.ts +123 -0
  1323. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  1324. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  1325. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  1326. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  1327. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  1328. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  1329. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLikeText.tsx"],"names":["React","isNonNullable","isKeyTab","isShortcutPaste","MouseDrag","isEdge","isIE11","isMobile","removeAllSelections","selectNodeContents","styles","jsInputStyles","ThemeContext","CommonWrapper","cx","findRenderContainer","HiddenInput","InputLikeText","state","blinking","focused","theme","node","hiddenInput","lastSelectedInnerNode","frozen","frozenBlur","dragging","focusTimeout","blinkTimeout","selectInnerNode","start","end","document","body","setTimeout","clearInterval","window","focus","renderMain","props","innerRef","tabIndex","placeholder","align","borderless","width","size","error","warning","onValueChange","disabled","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","rest","leftSide","renderLeftSide","rightSide","renderRightSide","className","root","getSizeClassName","blink","focusFallback","warningFallback","errorFallback","hideBlinkingCursor","wrapperClass","wrapper","userSelectContain","textAlign","undefined","handleFocus","handleBlur","handleKeyDown","handleMouseDown","input","absolute","inputFocus","inputDisabled","children","renderPlaceholder","hiddenInputRef","renderLeftIcon","renderIcon","getIconClassname","renderRightIcon","icon","iconNode","Function","useDefaultColor","iconDisabled","renderPrefix","prefixDisabled","renderSuffix","suffixDisabled","sideContainer","rightContainer","hasValue","placeholderDisabled","placeholderFocus","handleDocumentMouseDown","e","target","Node","contains","defrost","handleDocumentKeyDown","onKeyDown","handleMouseDragStart","documentElement","classList","add","userSelectNone","handleMouseDragEnd","remove","setAttribute","setState","onFocus","removeAttribute","stopPropagation","onBlur","el","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","blur","getNode","componentDidMount","listen","addEventListener","componentWillUnmount","clearTimeout","stop","removeEventListener","render","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyTab, isShortcutPaste } from '../../lib/events/keyboard/identifiers';\nimport { MouseDrag, MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { isEdge, isIE11, isMobile } from '../../lib/client';\nimport { Nullable } from '../../typings/utility-types';\nimport { removeAllSelections, selectNodeContents } from '../../components/DateInput/helpers/SelectionHelpers';\nimport { InputProps, InputIconType, InputState } from '../../components/Input';\nimport { styles as jsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { findRenderContainer } from '../../lib/listenFocusOutside';\n\nimport { styles } from './InputLikeText.styles';\nimport { HiddenInput } from './HiddenInput';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'polyfillPlaceholder'>;\n\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n\n public static defaultProps = { size: 'small' };\n\n public state = { blinking: false, focused: false };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private hiddenInput: HTMLInputElement | null = null;\n private lastSelectedInnerNode: [HTMLElement, number, number] | null = null;\n private frozen = false;\n private frozenBlur = false;\n private dragging = false;\n private focusTimeout: Nullable<number>;\n private blinkTimeout: Nullable<number>;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(() => this.setState({ blinking: false }), 150);\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n if (isIE11 && findRenderContainer(node, document.body)) {\n // Code below causes Popup to close after triggering the focus event on the body in IE11\n return;\n }\n this.frozen = true;\n this.frozenBlur = true;\n\n this.lastSelectedInnerNode = [node, start, end];\n setTimeout(() => selectNodeContents(node, start, end), 0);\n if (this.focusTimeout) {\n clearInterval(this.focusTimeout);\n }\n this.focusTimeout = window.setTimeout(() => (isIE11 || isEdge) && this.node && this.node.focus(), 0);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n MouseDrag.stop(this.node);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n size,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n ...rest\n } = props;\n\n const { focused, blinking } = this.state;\n\n const leftSide = this.renderLeftSide();\n const rightSide = this.renderRightSide();\n\n const className = cx(styles.root(), jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [jsInputStyles.disabled(this.theme)]: !!disabled,\n [jsInputStyles.borderless()]: !!borderless,\n [jsInputStyles.focus(this.theme)]: focused,\n [jsInputStyles.blink(this.theme)]: blinking,\n [jsInputStyles.warning(this.theme)]: !!warning,\n [jsInputStyles.error(this.theme)]: !!error,\n [jsInputStyles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [jsInputStyles.warningFallback(this.theme)]: !!warning && (isIE11 || isEdge),\n [jsInputStyles.errorFallback(this.theme)]: !!error && (isIE11 || isEdge),\n [jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = cx(jsInputStyles.wrapper(), {\n [styles.userSelectContain()]: focused,\n });\n\n return (\n <span\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? undefined : 0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n >\n <input type=\"hidden\" value={value} />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid=\"InputLikeText__input\"\n className={cx(jsInputStyles.input(this.theme), {\n [styles.absolute()]: !takeContentWidth,\n [jsInputStyles.inputFocus(this.theme)]: focused,\n [jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n {isIE11 && focused && <HiddenInput nodeRef={this.hiddenInputRef} />}\n </span>\n );\n };\n\n private getIconClassname(right = false) {\n switch (this.props.size) {\n case 'large':\n return right ? jsInputStyles.rightIconLarge(this.theme) : jsInputStyles.leftIconLarge(this.theme);\n case 'medium':\n return right ? jsInputStyles.rightIconMedium(this.theme) : jsInputStyles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? jsInputStyles.rightIconSmall(this.theme) : jsInputStyles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon = () => {\n return this.renderIcon(this.props.leftIcon, this.getIconClassname());\n };\n\n private renderRightIcon = () => {\n return this.renderIcon(this.props.rightIcon, this.getIconClassname(true));\n };\n\n private renderIcon = (icon: InputIconType, className: string): JSX.Element | null => {\n if (!icon) {\n return null;\n }\n\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(jsInputStyles.icon(), className, jsInputStyles.useDefaultColor(this.theme), {\n [jsInputStyles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n };\n\n private renderPrefix = (): JSX.Element | null => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.prefix(this.theme), { [jsInputStyles.prefixDisabled(this.theme)]: disabled })}>\n {prefix}\n </span>\n );\n };\n\n private renderSuffix = (): JSX.Element | null => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.suffix(this.theme), { [jsInputStyles.suffixDisabled(this.theme)]: disabled })}>\n {suffix}\n </span>\n );\n };\n\n private renderLeftSide = (): JSX.Element | null => {\n const leftIcon = this.renderLeftIcon();\n const prefix = this.renderPrefix();\n\n if (!leftIcon && !prefix) {\n return null;\n }\n\n return (\n <span className={jsInputStyles.sideContainer()}>\n {leftIcon}\n {prefix}\n </span>\n );\n };\n\n private renderRightSide = (): JSX.Element | null => {\n const rightIcon = this.renderRightIcon();\n const suffix = this.renderSuffix();\n\n if (!rightIcon && !suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.sideContainer(), jsInputStyles.rightContainer())}>\n {rightIcon}\n {suffix}\n </span>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={cx(jsInputStyles.placeholder(this.theme), {\n [jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleDocumentMouseDown = (e: MouseEvent) => {\n if (this.state.focused && this.node && e.target instanceof Node && !this.node.contains(e.target)) {\n this.defrost();\n }\n };\n\n private handleDocumentKeyDown = (e: KeyboardEvent) => {\n if (this.state.focused && isKeyTab(e)) {\n this.defrost();\n }\n };\n\n private handleMouseDown = (e: React.MouseEvent<HTMLElement>) => {\n this.frozen = true;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (isIE11 && isShortcutPaste(e) && this.hiddenInput) {\n this.frozen = true;\n setTimeout(() => {\n if (this.lastSelectedInnerNode) {\n this.selectInnerNode(...this.lastSelectedInnerNode);\n }\n if (this.node) {\n this.node.focus();\n }\n }, 0);\n\n this.hiddenInput.focus();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n document.documentElement.classList.add(styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n document.documentElement.classList.remove(styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n if (isIE11) {\n selectNodeContents(document.body, 0, 0);\n }\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozen) {\n this.frozen = false;\n if (this.state.focused) {\n return;\n }\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n return;\n }\n if ((isIE11 || isEdge) && this.frozen) {\n return;\n }\n\n removeAllSelections();\n\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n };\n\n private hiddenInputRef = (el: HTMLInputElement | null) => {\n this.hiddenInput = el;\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private defrost = (): void => {\n this.frozen = false;\n this.frozenBlur = false;\n };\n\n private getSizeClassName = () => {\n switch (this.props.size) {\n case 'large':\n return cx({\n [jsInputStyles.sizeLarge(this.theme)]: true,\n [jsInputStyles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [jsInputStyles.sizeMedium(this.theme)]: true,\n [jsInputStyles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [jsInputStyles.sizeSmall(this.theme)]: true,\n [jsInputStyles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["InputLikeText.tsx"],"names":["React","isNonNullable","isKeyTab","isShortcutPaste","MouseDrag","isEdge","isIE11","isMobile","removeAllSelections","selectNodeContents","styles","jsInputStyles","ThemeContext","CommonWrapper","cx","findRenderContainer","rootNode","HiddenInput","InputLikeText","state","blinking","focused","theme","node","hiddenInput","lastSelectedInnerNode","frozen","frozenBlur","dragging","focusTimeout","blinkTimeout","setRootNode","selectInnerNode","start","end","document","body","setTimeout","clearInterval","window","focus","renderMain","props","innerRef","tabIndex","placeholder","align","borderless","width","size","error","warning","onValueChange","disabled","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","rest","leftSide","renderLeftSide","rightSide","renderRightSide","className","root","getSizeClassName","blink","focusFallback","warningFallback","errorFallback","hideBlinkingCursor","wrapperClass","wrapper","userSelectContain","textAlign","undefined","handleFocus","handleBlur","handleKeyDown","handleMouseDown","input","absolute","inputFocus","inputDisabled","children","renderPlaceholder","hiddenInputRef","renderLeftIcon","renderIcon","getIconClassname","renderRightIcon","icon","iconNode","Function","useDefaultColor","iconDisabled","renderPrefix","prefixDisabled","renderSuffix","suffixDisabled","sideContainer","rightContainer","hasValue","placeholderDisabled","placeholderFocus","handleDocumentMouseDown","e","target","Node","contains","defrost","handleDocumentKeyDown","onKeyDown","handleMouseDragStart","documentElement","classList","add","userSelectNone","handleMouseDragEnd","remove","setAttribute","setState","onFocus","removeAttribute","stopPropagation","onBlur","el","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","blur","getNode","componentDidMount","listen","addEventListener","componentWillUnmount","clearTimeout","stop","removeEventListener","render","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyTab, isShortcutPaste } from '../../lib/events/keyboard/identifiers';\nimport { MouseDrag, MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { isEdge, isIE11, isMobile } from '../../lib/client';\nimport { Nullable } from '../../typings/utility-types';\nimport { removeAllSelections, selectNodeContents } from '../../components/DateInput/helpers/SelectionHelpers';\nimport { InputProps, InputIconType, InputState } from '../../components/Input';\nimport { styles as jsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { findRenderContainer } from '../../lib/listenFocusOutside';\nimport { TSetRootNode, rootNode } from '../../lib/rootNode';\n\nimport { styles } from './InputLikeText.styles';\nimport { HiddenInput } from './HiddenInput';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'polyfillPlaceholder'>;\n\n@rootNode\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n\n public static defaultProps = { size: 'small' };\n\n public state = { blinking: false, focused: false };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private hiddenInput: HTMLInputElement | null = null;\n private lastSelectedInnerNode: [HTMLElement, number, number] | null = null;\n private frozen = false;\n private frozenBlur = false;\n private dragging = false;\n private focusTimeout: Nullable<number>;\n private blinkTimeout: Nullable<number>;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(() => this.setState({ blinking: false }), 150);\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n if (isIE11 && findRenderContainer(node, document.body)) {\n // Code below causes Popup to close after triggering the focus event on the body in IE11\n return;\n }\n this.frozen = true;\n this.frozenBlur = true;\n\n this.lastSelectedInnerNode = [node, start, end];\n setTimeout(() => selectNodeContents(node, start, end), 0);\n if (this.focusTimeout) {\n clearInterval(this.focusTimeout);\n }\n this.focusTimeout = window.setTimeout(() => (isIE11 || isEdge) && this.node && this.node.focus(), 0);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n MouseDrag.stop(this.node);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n size,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n ...rest\n } = props;\n\n const { focused, blinking } = this.state;\n\n const leftSide = this.renderLeftSide();\n const rightSide = this.renderRightSide();\n\n const className = cx(styles.root(), jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [jsInputStyles.disabled(this.theme)]: !!disabled,\n [jsInputStyles.borderless()]: !!borderless,\n [jsInputStyles.focus(this.theme)]: focused,\n [jsInputStyles.blink(this.theme)]: blinking,\n [jsInputStyles.warning(this.theme)]: !!warning,\n [jsInputStyles.error(this.theme)]: !!error,\n [jsInputStyles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [jsInputStyles.warningFallback(this.theme)]: !!warning && (isIE11 || isEdge),\n [jsInputStyles.errorFallback(this.theme)]: !!error && (isIE11 || isEdge),\n [jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = cx(jsInputStyles.wrapper(), {\n [styles.userSelectContain()]: focused,\n });\n\n return (\n <span\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? undefined : 0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n >\n <input type=\"hidden\" value={value} />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid=\"InputLikeText__input\"\n className={cx(jsInputStyles.input(this.theme), {\n [styles.absolute()]: !takeContentWidth,\n [jsInputStyles.inputFocus(this.theme)]: focused,\n [jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n {isIE11 && focused && <HiddenInput nodeRef={this.hiddenInputRef} />}\n </span>\n );\n };\n\n private getIconClassname(right = false) {\n switch (this.props.size) {\n case 'large':\n return right ? jsInputStyles.rightIconLarge(this.theme) : jsInputStyles.leftIconLarge(this.theme);\n case 'medium':\n return right ? jsInputStyles.rightIconMedium(this.theme) : jsInputStyles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? jsInputStyles.rightIconSmall(this.theme) : jsInputStyles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon = () => {\n return this.renderIcon(this.props.leftIcon, this.getIconClassname());\n };\n\n private renderRightIcon = () => {\n return this.renderIcon(this.props.rightIcon, this.getIconClassname(true));\n };\n\n private renderIcon = (icon: InputIconType, className: string): JSX.Element | null => {\n if (!icon) {\n return null;\n }\n\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(jsInputStyles.icon(), className, jsInputStyles.useDefaultColor(this.theme), {\n [jsInputStyles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n };\n\n private renderPrefix = (): JSX.Element | null => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.prefix(this.theme), { [jsInputStyles.prefixDisabled(this.theme)]: disabled })}>\n {prefix}\n </span>\n );\n };\n\n private renderSuffix = (): JSX.Element | null => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.suffix(this.theme), { [jsInputStyles.suffixDisabled(this.theme)]: disabled })}>\n {suffix}\n </span>\n );\n };\n\n private renderLeftSide = (): JSX.Element | null => {\n const leftIcon = this.renderLeftIcon();\n const prefix = this.renderPrefix();\n\n if (!leftIcon && !prefix) {\n return null;\n }\n\n return (\n <span className={jsInputStyles.sideContainer()}>\n {leftIcon}\n {prefix}\n </span>\n );\n };\n\n private renderRightSide = (): JSX.Element | null => {\n const rightIcon = this.renderRightIcon();\n const suffix = this.renderSuffix();\n\n if (!rightIcon && !suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.sideContainer(), jsInputStyles.rightContainer())}>\n {rightIcon}\n {suffix}\n </span>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={cx(jsInputStyles.placeholder(this.theme), {\n [jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleDocumentMouseDown = (e: MouseEvent) => {\n if (this.state.focused && this.node && e.target instanceof Node && !this.node.contains(e.target)) {\n this.defrost();\n }\n };\n\n private handleDocumentKeyDown = (e: KeyboardEvent) => {\n if (this.state.focused && isKeyTab(e)) {\n this.defrost();\n }\n };\n\n private handleMouseDown = (e: React.MouseEvent<HTMLElement>) => {\n this.frozen = true;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (isIE11 && isShortcutPaste(e) && this.hiddenInput) {\n this.frozen = true;\n setTimeout(() => {\n if (this.lastSelectedInnerNode) {\n this.selectInnerNode(...this.lastSelectedInnerNode);\n }\n if (this.node) {\n this.node.focus();\n }\n }, 0);\n\n this.hiddenInput.focus();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n document.documentElement.classList.add(styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n document.documentElement.classList.remove(styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n if (isIE11) {\n selectNodeContents(document.body, 0, 0);\n }\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozen) {\n this.frozen = false;\n if (this.state.focused) {\n return;\n }\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n return;\n }\n if ((isIE11 || isEdge) && this.frozen) {\n return;\n }\n\n removeAllSelections();\n\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n };\n\n private hiddenInputRef = (el: HTMLInputElement | null) => {\n this.hiddenInput = el;\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private defrost = (): void => {\n this.frozen = false;\n this.frozenBlur = false;\n };\n\n private getSizeClassName = () => {\n switch (this.props.size) {\n case 'large':\n return cx({\n [jsInputStyles.sizeLarge(this.theme)]: true,\n [jsInputStyles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [jsInputStyles.sizeMedium(this.theme)]: true,\n [jsInputStyles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [jsInputStyles.sizeSmall(this.theme)]: true,\n [jsInputStyles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n };\n}\n"]}
@@ -1,72 +1,73 @@
1
- import React from 'react';
2
- import { MouseDragEventHandler } from '../../lib/events/MouseDrag';
3
- import { InputProps, InputState } from '../../components/Input';
4
- import { CommonProps } from '../CommonWrapper';
5
- export interface InputLikeTextProps extends CommonProps, InputProps {
6
- children?: React.ReactNode;
7
- innerRef?: (el: HTMLElement | null) => void;
8
- onFocus?: React.FocusEventHandler<HTMLElement>;
9
- onBlur?: React.FocusEventHandler<HTMLElement>;
10
- onMouseDragStart?: MouseDragEventHandler;
11
- onMouseDragEnd?: MouseDragEventHandler;
12
- takeContentWidth?: boolean;
13
- }
14
- export declare type InputLikeTextState = Omit<InputState, 'polyfillPlaceholder'>;
15
- export declare class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {
16
- static __KONTUR_REACT_UI__: string;
17
- static defaultProps: {
18
- size: string;
19
- };
20
- state: {
21
- blinking: boolean;
22
- focused: boolean;
23
- };
24
- private theme;
25
- private node;
26
- private hiddenInput;
27
- private lastSelectedInnerNode;
28
- private frozen;
29
- private frozenBlur;
30
- private dragging;
31
- private focusTimeout;
32
- private blinkTimeout;
33
- /**
34
- * @public
35
- */
36
- focus(): void;
37
- /**
38
- * @public
39
- */
40
- blur(): void;
41
- /**
42
- * @public
43
- */
44
- blink(): void;
45
- getNode(): HTMLElement | null;
46
- selectInnerNode: (node: HTMLElement | null, start?: number, end?: number) => void;
47
- componentDidMount(): void;
48
- componentWillUnmount(): void;
49
- render(): JSX.Element;
50
- private renderMain;
51
- private getIconClassname;
52
- private renderLeftIcon;
53
- private renderRightIcon;
54
- private renderIcon;
55
- private renderPrefix;
56
- private renderSuffix;
57
- private renderLeftSide;
58
- private renderRightSide;
59
- private renderPlaceholder;
60
- private handleDocumentMouseDown;
61
- private handleDocumentKeyDown;
62
- private handleMouseDown;
63
- private handleKeyDown;
64
- private handleMouseDragStart;
65
- private handleMouseDragEnd;
66
- private handleFocus;
67
- private handleBlur;
68
- private hiddenInputRef;
69
- private innerRef;
70
- private defrost;
71
- private getSizeClassName;
72
- }
1
+ import React from 'react';
2
+ import { MouseDragEventHandler } from '../../lib/events/MouseDrag';
3
+ import { InputProps, InputState } from '../../components/Input';
4
+ import { CommonProps } from '../CommonWrapper';
5
+ export interface InputLikeTextProps extends CommonProps, InputProps {
6
+ children?: React.ReactNode;
7
+ innerRef?: (el: HTMLElement | null) => void;
8
+ onFocus?: React.FocusEventHandler<HTMLElement>;
9
+ onBlur?: React.FocusEventHandler<HTMLElement>;
10
+ onMouseDragStart?: MouseDragEventHandler;
11
+ onMouseDragEnd?: MouseDragEventHandler;
12
+ takeContentWidth?: boolean;
13
+ }
14
+ export declare type InputLikeTextState = Omit<InputState, 'polyfillPlaceholder'>;
15
+ export declare class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {
16
+ static __KONTUR_REACT_UI__: string;
17
+ static defaultProps: {
18
+ size: string;
19
+ };
20
+ state: {
21
+ blinking: boolean;
22
+ focused: boolean;
23
+ };
24
+ private theme;
25
+ private node;
26
+ private hiddenInput;
27
+ private lastSelectedInnerNode;
28
+ private frozen;
29
+ private frozenBlur;
30
+ private dragging;
31
+ private focusTimeout;
32
+ private blinkTimeout;
33
+ private setRootNode;
34
+ /**
35
+ * @public
36
+ */
37
+ focus(): void;
38
+ /**
39
+ * @public
40
+ */
41
+ blur(): void;
42
+ /**
43
+ * @public
44
+ */
45
+ blink(): void;
46
+ getNode(): HTMLElement | null;
47
+ selectInnerNode: (node: HTMLElement | null, start?: number, end?: number) => void;
48
+ componentDidMount(): void;
49
+ componentWillUnmount(): void;
50
+ render(): JSX.Element;
51
+ private renderMain;
52
+ private getIconClassname;
53
+ private renderLeftIcon;
54
+ private renderRightIcon;
55
+ private renderIcon;
56
+ private renderPrefix;
57
+ private renderSuffix;
58
+ private renderLeftSide;
59
+ private renderRightSide;
60
+ private renderPlaceholder;
61
+ private handleDocumentMouseDown;
62
+ private handleDocumentKeyDown;
63
+ private handleMouseDown;
64
+ private handleKeyDown;
65
+ private handleMouseDragStart;
66
+ private handleMouseDragEnd;
67
+ private handleFocus;
68
+ private handleBlur;
69
+ private hiddenInputRef;
70
+ private innerRef;
71
+ private defrost;
72
+ private getSizeClassName;
73
+ }
@@ -1,7 +1,7 @@
1
- export declare const styles: {
2
- root(): string;
3
- absolute(): string;
4
- userSelectContain(): string;
5
- userSelectNone(): string;
6
- rightSide(): string;
7
- };
1
+ export declare const styles: {
2
+ root(): string;
3
+ absolute(): string;
4
+ userSelectContain(): string;
5
+ userSelectNone(): string;
6
+ rightSide(): string;
7
+ };
@@ -1 +1 @@
1
- export * from './InputLikeText';
1
+ export * from './InputLikeText';
@@ -1,6 +1,9 @@
1
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
1
2
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
3
+
4
+ var _class, _class2, _temp;
5
+
2
6
  import React from 'react';
3
- import ReactDOM from 'react-dom';
4
7
  import { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from "../../../lib/events/keyboard/identifiers";
5
8
  import { ScrollContainer } from "../../../components/ScrollContainer";
6
9
  import { isMenuItem } from "../../../components/MenuItem";
@@ -8,10 +11,11 @@ import { isMenuHeader } from "../../../components/MenuHeader";
8
11
  import { createPropsGetter } from "../../../lib/createPropsGetter";
9
12
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
10
13
  import { cx } from "../../../lib/theming/Emotion";
14
+ import { getRootNode, rootNode } from "../../../lib/rootNode";
11
15
  import { styles } from "../InternalMenu.styles";
12
16
  import { isActiveElement } from "../isActiveElement";
13
- export var InternalMenu = /*#__PURE__*/function (_React$Component) {
14
- _inheritsLoose(InternalMenu, _React$Component);
17
+ export var InternalMenu = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
18
+ _inheritsLoose(InternalMenu, _React$PureComponent);
15
19
 
16
20
  function InternalMenu() {
17
21
  var _this;
@@ -20,7 +24,7 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
20
24
  args[_key] = arguments[_key];
21
25
  }
22
26
 
23
- _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
27
+ _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
24
28
  _this.state = {
25
29
  highlightedIndex: -1,
26
30
  maxHeight: _this.props.maxHeight || 'none',
@@ -29,7 +33,7 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
29
33
  _this.theme = void 0;
30
34
  _this.scrollContainer = void 0;
31
35
  _this.highlighted = void 0;
32
- _this.rootElement = void 0;
36
+ _this.setRootNode = void 0;
33
37
  _this.header = void 0;
34
38
  _this.footer = void 0;
35
39
  _this.getProps = createPropsGetter(InternalMenu.defaultProps);
@@ -57,9 +61,9 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
57
61
  };
58
62
 
59
63
  _this.focusOnRootElement = function () {
60
- if (_this.rootElement) {
61
- _this.rootElement.focus();
62
- }
64
+ var _getRootNode;
65
+
66
+ (_getRootNode = getRootNode(_assertThisInitialized(_this))) == null ? void 0 : _getRootNode.focus();
63
67
  };
64
68
 
65
69
  _this.shouldRecalculateMaxHeight = function (prevProps) {
@@ -78,9 +82,10 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
78
82
  _this.calculateMaxHeight = function () {
79
83
  var maxHeight = _this.props.maxHeight;
80
84
  var parsedMaxHeight = maxHeight;
85
+ var rootNode = getRootNode(_assertThisInitialized(_this));
81
86
 
82
- if (typeof maxHeight === 'string' && typeof window !== 'undefined' && _this.rootElement) {
83
- var rootElementMaxHeight = window.getComputedStyle(_this.rootElement).maxHeight;
87
+ if (typeof maxHeight === 'string' && typeof window !== 'undefined' && rootNode) {
88
+ var rootElementMaxHeight = window.getComputedStyle(rootNode).maxHeight;
84
89
 
85
90
  if (rootElementMaxHeight) {
86
91
  parsedMaxHeight = parseFloat(rootElementMaxHeight);
@@ -106,18 +111,18 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
106
111
 
107
112
  _this.scrollToSelected = function () {
108
113
  if (_this.scrollContainer && _this.highlighted) {
109
- _this.scrollContainer.scrollTo(ReactDOM.findDOMNode(_this.highlighted));
114
+ _this.scrollContainer.scrollTo(getRootNode(_this.highlighted));
110
115
  }
111
116
  };
112
117
 
113
118
  _this.highlightItem = function (index) {
119
+ var _getRootNode2;
120
+
114
121
  _this.setState({
115
122
  highlightedIndex: index
116
123
  });
117
124
 
118
- if (_this.rootElement) {
119
- _this.rootElement.focus();
120
- }
125
+ (_getRootNode2 = getRootNode(_assertThisInitialized(_this))) == null ? void 0 : _getRootNode2.focus();
121
126
  };
122
127
 
123
128
  _this.unhighlight = function () {
@@ -180,12 +185,10 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
180
185
  if (this.shouldRecalculateMaxHeight(prevProps)) {
181
186
  this.calculateMaxHeight();
182
187
  }
183
- };
184
188
 
185
- _proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) {
186
- if (nextProps.maxHeight !== this.props.maxHeight) {
189
+ if (prevProps.maxHeight !== this.props.maxHeight) {
187
190
  this.setState({
188
- maxHeight: nextProps.maxHeight || 'none'
191
+ maxHeight: this.props.maxHeight || 'none'
189
192
  });
190
193
  }
191
194
  };
@@ -222,9 +225,7 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
222
225
  maxHeight: this.state.maxHeight
223
226
  },
224
227
  onKeyDown: this.handleKeyDown,
225
- ref: function ref(element) {
226
- _this3.rootElement = element;
227
- },
228
+ ref: this.setRootNode,
228
229
  tabIndex: 0
229
230
  }, this.props.header ? this.renderHeader() : null, /*#__PURE__*/React.createElement(ScrollContainer, {
230
231
  ref: this.refScrollContainer,
@@ -365,16 +366,14 @@ export var InternalMenu = /*#__PURE__*/function (_React$Component) {
365
366
  };
366
367
 
367
368
  return InternalMenu;
368
- }(React.Component);
369
- InternalMenu.__KONTUR_REACT_UI__ = 'InternalMenu';
370
- InternalMenu.defaultProps = {
369
+ }(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'InternalMenu', _class2.defaultProps = {
371
370
  width: 'auto',
372
371
  maxHeight: 300,
373
372
  hasShadow: true,
374
373
  preventWindowScroll: true,
375
374
  cyclicSelection: true,
376
375
  initialSelectedItemIndex: -1
377
- };
376
+ }, _temp)) || _class;
378
377
 
379
378
  function isExist(value) {
380
379
  return value !== null && value !== undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalMenu.tsx"],"names":["React","ReactDOM","isKeyArrowDown","isKeyArrowUp","isKeyEnter","ScrollContainer","isMenuItem","isMenuHeader","createPropsGetter","ThemeContext","cx","styles","isActiveElement","InternalMenu","state","highlightedIndex","maxHeight","props","scrollState","theme","scrollContainer","highlighted","rootElement","header","footer","getProps","defaultProps","renderHeader","el","fixedHeader","renderFooter","fixedFooter","focusOnRootElement","focus","shouldRecalculateMaxHeight","prevProps","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","window","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","getBoundingClientRect","height","setState","setInitialSelection","i","initialSelectedItemIndex","moveDown","refScrollContainer","scrollToSelected","scrollTo","findDOMNode","highlightItem","index","unhighlight","moveUp","move","handleKeyDown","e","onKeyDown","defaultPrevented","preventDefault","onClick","handleScrollStateChange","componentDidMount","componentDidUpdate","prevState","UNSAFE_componentWillReceiveProps","nextProps","render","renderMain","enableIconPadding","toArray","some","x","isValidElement","icon","isEmpty","root","shadow","hasShadow","width","element","preventWindowScroll","map","child","type","cloneElement","_enableIconPadding","highlight","ref","originalRef","menuItem","refHighlighted","select","bind","onMouseEnter","event","onMouseLeave","current","shouldHandleHref","item","childrenToArray","href","target","open","location","onItemClick","step","cyclicSelection","length","filter","isExist","Component","__KONTUR_REACT_UI__","value","undefined","ret","forEach","push"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { isMenuItem, MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { isMenuHeader } from '../../components/MenuHeader';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './InternalMenu.styles';\nimport { isActiveElement } from './isActiveElement';\n\ninterface MenuProps {\n children?: React.ReactNode;\n hasShadow?: boolean;\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Циклический перебор айтемов меню (по-дефолтну включен)\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\ninterface MenuState {\n highlightedIndex: number;\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n}\n\nexport class InternalMenu extends React.Component<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'InternalMenu';\n\n public static defaultProps = {\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.props.maxHeight || 'none',\n scrollState: 'top',\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private rootElement: Nullable<HTMLDivElement>;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private getProps = createPropsGetter(InternalMenu.defaultProps);\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n }\n\n public componentDidUpdate(prevProps: MenuProps, prevState: MenuState) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: MenuProps) {\n if (nextProps.maxHeight !== this.props.maxHeight) {\n this.setState({\n maxHeight: nextProps.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\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 enableIconPadding = React.Children.toArray(this.props.children).some(\n (x) => React.isValidElement(x) && x.props.icon,\n );\n\n if (this.isEmpty()) {\n return null;\n }\n\n return (\n <div\n className={cx({\n [styles.root(this.theme)]: true,\n [styles.shadow(this.theme)]: this.props.hasShadow,\n })}\n style={{\n width: this.props.width,\n maxHeight: this.state.maxHeight,\n }}\n onKeyDown={this.handleKeyDown}\n ref={(element) => {\n this.rootElement = element;\n }}\n tabIndex={0}\n >\n {this.props.header ? this.renderHeader() : null}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={this.props.maxHeight}\n preventWindowScroll={this.props.preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n >\n {React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || child == null) {\n return child;\n }\n if (React.isValidElement(child) && typeof child.type === 'string') {\n return child;\n }\n\n if (enableIconPadding && (isMenuItem(child) || isMenuHeader(child))) {\n child = React.cloneElement(child, {\n _enableIconPadding: true,\n });\n }\n\n if (isActiveElement(child)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = child.ref;\n const originalRef = ref;\n if (highlight) {\n ref = (menuItem) => this.refHighlighted(originalRef, menuItem);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(child, {\n ref,\n state: highlight ? 'hover' : child.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: (event) => {\n this.highlightItem(index);\n if (isMenuItem(child) && child.props.onMouseEnter) {\n child.props.onMouseEnter(event);\n }\n },\n onMouseLeave: (event) => {\n this.unhighlight();\n if (isMenuItem(child) && child.props.onMouseLeave) {\n child.props.onMouseLeave(event);\n }\n },\n });\n }\n\n return child;\n })}\n </ScrollContainer>\n {this.props.footer ? this.renderFooter() : null}\n </div>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n ref={(el) => (this.header = el)}\n className={cx({\n [styles.header()]: true,\n [styles.fixedHeader()]: this.state.scrollState !== 'top',\n })}\n >\n {this.props.header}\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n ref={(el) => (this.footer = el)}\n className={cx({\n [styles.footer()]: true,\n [styles.fixedFooter()]: this.state.scrollState !== 'bottom',\n })}\n >\n {this.props.footer}\n </div>\n );\n };\n\n private focusOnRootElement = (): void => {\n if (this.rootElement) {\n this.rootElement.focus();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { maxHeight, header, footer, children } = this.props;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const { maxHeight } = this.props;\n let parsedMaxHeight = maxHeight;\n\n if (typeof maxHeight === 'string' && typeof window !== 'undefined' && this.rootElement) {\n const rootElementMaxHeight = window.getComputedStyle(this.rootElement).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && this.header.getBoundingClientRect().height) || 0) +\n ((this.footer && this.footer.getBoundingClientRect().height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.moveDown();\n }\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: string | ((instance: MenuItem | null) => void) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (!originalRef || typeof originalRef === 'string') {\n return;\n }\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n } else if (typeof originalRef === 'object') {\n // @ts-ignore see issue https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065\n originalRef.current = menuItem;\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n this.scrollContainer.scrollTo(ReactDOM.findDOMNode(this.highlighted) as HTMLElement);\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event as React.MouseEvent<HTMLElement>);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlightItem = (index: number): void => {\n this.setState({ highlightedIndex: index });\n if (this.rootElement) {\n this.rootElement.focus();\n }\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n this.setState((state, props) => {\n const children = childrenToArray(props.children);\n if (!children.some(isActiveElement)) {\n return null;\n }\n let index = state.highlightedIndex;\n do {\n index += step;\n if (!props.cyclicSelection && (index < 0 || index > children.length)) {\n return null;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n return { highlightedIndex: index };\n }\n } while (index !== state.highlightedIndex);\n return null;\n }, this.scrollToSelected);\n }\n\n private moveUp = () => {\n this.move(-1);\n };\n\n private moveDown = () => {\n this.move(1);\n };\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isExist).length;\n }\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(e);\n }\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(e)) {\n e.preventDefault();\n this.moveUp();\n } else if (isKeyArrowDown(e)) {\n e.preventDefault();\n this.moveDown();\n } else if (isKeyEnter(e)) {\n if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(e);\n }\n }\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n}\n\nfunction isExist(value: any): value is any {\n return value !== null && value !== undefined;\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n"]}
1
+ {"version":3,"sources":["InternalMenu.tsx"],"names":["React","isKeyArrowDown","isKeyArrowUp","isKeyEnter","ScrollContainer","isMenuItem","isMenuHeader","createPropsGetter","ThemeContext","cx","getRootNode","rootNode","styles","isActiveElement","InternalMenu","state","highlightedIndex","maxHeight","props","scrollState","theme","scrollContainer","highlighted","setRootNode","header","footer","getProps","defaultProps","renderHeader","el","fixedHeader","renderFooter","fixedFooter","focusOnRootElement","focus","shouldRecalculateMaxHeight","prevProps","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","window","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","getBoundingClientRect","height","setState","setInitialSelection","i","initialSelectedItemIndex","moveDown","refScrollContainer","scrollToSelected","scrollTo","highlightItem","index","unhighlight","moveUp","move","handleKeyDown","e","onKeyDown","defaultPrevented","preventDefault","onClick","handleScrollStateChange","componentDidMount","componentDidUpdate","prevState","render","renderMain","enableIconPadding","toArray","some","x","isValidElement","icon","isEmpty","root","shadow","hasShadow","width","preventWindowScroll","map","child","type","cloneElement","_enableIconPadding","highlight","ref","originalRef","menuItem","refHighlighted","select","bind","onMouseEnter","event","onMouseLeave","current","shouldHandleHref","item","childrenToArray","href","target","open","location","onItemClick","step","cyclicSelection","length","filter","isExist","PureComponent","__KONTUR_REACT_UI__","value","undefined","ret","forEach","push"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { isMenuItem, MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { isMenuHeader } from '../../components/MenuHeader';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './InternalMenu.styles';\nimport { isActiveElement } from './isActiveElement';\n\ninterface MenuProps {\n children?: React.ReactNode;\n hasShadow?: boolean;\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Циклический перебор айтемов меню (по-дефолтну включен)\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\ninterface MenuState {\n highlightedIndex: number;\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n}\n\n@rootNode\nexport class InternalMenu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'InternalMenu';\n\n public static defaultProps = {\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.props.maxHeight || 'none',\n scrollState: 'top',\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private getProps = createPropsGetter(InternalMenu.defaultProps);\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n }\n\n public componentDidUpdate(prevProps: MenuProps, prevState: MenuState) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.props.maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\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 enableIconPadding = React.Children.toArray(this.props.children).some(\n (x) => React.isValidElement(x) && x.props.icon,\n );\n\n if (this.isEmpty()) {\n return null;\n }\n\n return (\n <div\n className={cx({\n [styles.root(this.theme)]: true,\n [styles.shadow(this.theme)]: this.props.hasShadow,\n })}\n style={{\n width: this.props.width,\n maxHeight: this.state.maxHeight,\n }}\n onKeyDown={this.handleKeyDown}\n ref={this.setRootNode}\n tabIndex={0}\n >\n {this.props.header ? this.renderHeader() : null}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={this.props.maxHeight}\n preventWindowScroll={this.props.preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n >\n {React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || child == null) {\n return child;\n }\n if (React.isValidElement(child) && typeof child.type === 'string') {\n return child;\n }\n\n if (enableIconPadding && (isMenuItem(child) || isMenuHeader(child))) {\n child = React.cloneElement(child, {\n _enableIconPadding: true,\n });\n }\n\n if (isActiveElement(child)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = child.ref;\n const originalRef = ref;\n if (highlight) {\n ref = (menuItem) => this.refHighlighted(originalRef, menuItem);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(child, {\n ref,\n state: highlight ? 'hover' : child.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: (event) => {\n this.highlightItem(index);\n if (isMenuItem(child) && child.props.onMouseEnter) {\n child.props.onMouseEnter(event);\n }\n },\n onMouseLeave: (event) => {\n this.unhighlight();\n if (isMenuItem(child) && child.props.onMouseLeave) {\n child.props.onMouseLeave(event);\n }\n },\n });\n }\n\n return child;\n })}\n </ScrollContainer>\n {this.props.footer ? this.renderFooter() : null}\n </div>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n ref={(el) => (this.header = el)}\n className={cx({\n [styles.header()]: true,\n [styles.fixedHeader()]: this.state.scrollState !== 'top',\n })}\n >\n {this.props.header}\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n ref={(el) => (this.footer = el)}\n className={cx({\n [styles.footer()]: true,\n [styles.fixedFooter()]: this.state.scrollState !== 'bottom',\n })}\n >\n {this.props.footer}\n </div>\n );\n };\n\n private focusOnRootElement = (): void => {\n getRootNode(this)?.focus();\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { maxHeight, header, footer, children } = this.props;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const { maxHeight } = this.props;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && typeof window !== 'undefined' && rootNode) {\n const rootElementMaxHeight = window.getComputedStyle(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && this.header.getBoundingClientRect().height) || 0) +\n ((this.footer && this.footer.getBoundingClientRect().height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.moveDown();\n }\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: string | ((instance: MenuItem | null) => void) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (!originalRef || typeof originalRef === 'string') {\n return;\n }\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n } else if (typeof originalRef === 'object') {\n // @ts-ignore see issue https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065\n originalRef.current = menuItem;\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n this.scrollContainer.scrollTo(getRootNode(this.highlighted));\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event as React.MouseEvent<HTMLElement>);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlightItem = (index: number): void => {\n this.setState({ highlightedIndex: index });\n getRootNode(this)?.focus();\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n this.setState((state, props) => {\n const children = childrenToArray(props.children);\n if (!children.some(isActiveElement)) {\n return null;\n }\n let index = state.highlightedIndex;\n do {\n index += step;\n if (!props.cyclicSelection && (index < 0 || index > children.length)) {\n return null;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n return { highlightedIndex: index };\n }\n } while (index !== state.highlightedIndex);\n return null;\n }, this.scrollToSelected);\n }\n\n private moveUp = () => {\n this.move(-1);\n };\n\n private moveDown = () => {\n this.move(1);\n };\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isExist).length;\n }\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(e);\n }\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(e)) {\n e.preventDefault();\n this.moveUp();\n } else if (isKeyArrowDown(e)) {\n e.preventDefault();\n this.moveDown();\n } else if (isKeyEnter(e)) {\n if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(e);\n }\n }\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n}\n\nfunction isExist(value: any): value is any {\n return value !== null && value !== undefined;\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n"]}