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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1223) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +117 -119
  3. package/cjs/components/Autocomplete/Autocomplete.js +9 -11
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +4 -4
  6. package/cjs/components/Autocomplete/index.d.ts +1 -1
  7. package/cjs/components/Button/Button.d.ts +157 -160
  8. package/cjs/components/Button/Button.js +3 -7
  9. package/cjs/components/Button/Button.js.map +1 -1
  10. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  11. package/cjs/components/Button/Button.styles.d.ts +72 -72
  12. package/cjs/components/Button/index.d.ts +1 -1
  13. package/cjs/components/Center/Center.d.ts +26 -29
  14. package/cjs/components/Center/Center.js +2 -7
  15. package/cjs/components/Center/Center.js.map +1 -1
  16. package/cjs/components/Center/Center.styles.d.ts +7 -7
  17. package/cjs/components/Center/index.d.ts +1 -1
  18. package/cjs/components/Checkbox/Checkbox.d.ts +101 -104
  19. package/cjs/components/Checkbox/Checkbox.js +2 -8
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/Checkbox/Checkbox.styles.d.ts +24 -24
  22. package/cjs/components/Checkbox/index.d.ts +1 -1
  23. package/cjs/components/ComboBox/ComboBox.d.ts +195 -194
  24. package/cjs/components/ComboBox/ComboBox.js +1 -0
  25. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  26. package/cjs/components/ComboBox/index.d.ts +1 -1
  27. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  28. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +103 -106
  29. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -7
  30. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  31. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  32. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +20 -20
  33. package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
  34. package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  35. package/cjs/components/CurrencyInput/constants.d.ts +5 -5
  36. package/cjs/components/CurrencyInput/index.d.ts +1 -1
  37. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +20 -23
  38. package/cjs/components/CurrencyLabel/CurrencyLabel.js +2 -6
  39. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  40. package/cjs/components/CurrencyLabel/index.d.ts +1 -1
  41. package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
  42. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  43. package/cjs/components/DateInput/DateInput.d.ts +104 -104
  44. package/cjs/components/DateInput/DateInput.styles.d.ts +10 -10
  45. package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  46. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  47. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  48. package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  49. package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
  50. package/cjs/components/DateInput/index.d.ts +1 -1
  51. package/cjs/components/DatePicker/DatePicker.d.ts +129 -133
  52. package/cjs/components/DatePicker/DatePicker.js +3 -9
  53. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  54. package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
  55. package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  56. package/cjs/components/DatePicker/Picker.d.ts +33 -33
  57. package/cjs/components/DatePicker/Picker.js +2 -7
  58. package/cjs/components/DatePicker/Picker.js.map +1 -1
  59. package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
  60. package/cjs/components/DatePicker/index.d.ts +1 -1
  61. package/cjs/components/DatePicker/locale/index.d.ts +4 -4
  62. package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
  63. package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
  64. package/cjs/components/DatePicker/locale/types.d.ts +5 -5
  65. package/cjs/components/Dropdown/Dropdown.d.ts +125 -128
  66. package/cjs/components/Dropdown/Dropdown.js +2 -7
  67. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  68. package/cjs/components/Dropdown/index.d.ts +1 -1
  69. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +62 -62
  70. package/cjs/components/DropdownMenu/index.d.ts +1 -1
  71. package/cjs/components/FileUploader/FileUploader.d.ts +51 -56
  72. package/cjs/components/FileUploader/FileUploader.js +4 -15
  73. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  74. package/cjs/components/FileUploader/FileUploader.mixins.d.ts +1 -1
  75. package/cjs/components/FileUploader/FileUploader.styles.d.ts +33 -33
  76. package/cjs/components/FileUploader/index.d.ts +5 -5
  77. package/cjs/components/FileUploader/locale/index.d.ts +4 -4
  78. package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -2
  79. package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -2
  80. package/cjs/components/FileUploader/locale/types.d.ts +6 -6
  81. package/cjs/components/FxInput/FxInput.d.ts +50 -53
  82. package/cjs/components/FxInput/FxInput.js +2 -6
  83. package/cjs/components/FxInput/FxInput.js.map +1 -1
  84. package/cjs/components/FxInput/index.d.ts +1 -1
  85. package/cjs/components/Gapped/Gapped.d.ts +56 -60
  86. package/cjs/components/Gapped/Gapped.js +3 -8
  87. package/cjs/components/Gapped/Gapped.js.map +1 -1
  88. package/cjs/components/Gapped/index.d.ts +1 -1
  89. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +103 -106
  90. package/cjs/components/GlobalLoader/GlobalLoader.js +2 -6
  91. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  92. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +13 -13
  93. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.d.ts +16 -16
  94. package/cjs/components/GlobalLoader/index.d.ts +1 -1
  95. package/cjs/components/GlobalLoader/useParams.d.ts +22 -22
  96. package/cjs/components/Group/Group.d.ts +15 -18
  97. package/cjs/components/Group/Group.js +3 -7
  98. package/cjs/components/Group/Group.js.map +1 -1
  99. package/cjs/components/Group/Group.styles.d.ts +8 -8
  100. package/cjs/components/Group/index.d.ts +1 -1
  101. package/cjs/components/Hint/Hint.d.ts +85 -85
  102. package/cjs/components/Hint/Hint.styles.d.ts +6 -6
  103. package/cjs/components/Hint/index.d.ts +1 -1
  104. package/cjs/components/Input/Input.d.ts +154 -157
  105. package/cjs/components/Input/Input.js +2 -6
  106. package/cjs/components/Input/Input.js.map +1 -1
  107. package/cjs/components/Input/Input.styles.d.ts +43 -43
  108. package/cjs/components/Input/index.d.ts +1 -1
  109. package/cjs/components/Kebab/Kebab.d.ts +53 -53
  110. package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
  111. package/cjs/components/Kebab/index.d.ts +1 -1
  112. package/cjs/components/Link/Link.d.ts +70 -73
  113. package/cjs/components/Link/Link.js +2 -6
  114. package/cjs/components/Link/Link.js.map +1 -1
  115. package/cjs/components/Link/Link.mixins.d.ts +3 -3
  116. package/cjs/components/Link/Link.styles.d.ts +15 -15
  117. package/cjs/components/Link/index.d.ts +1 -1
  118. package/cjs/components/Loader/Loader.d.ts +113 -117
  119. package/cjs/components/Loader/Loader.js +2 -7
  120. package/cjs/components/Loader/Loader.js.map +1 -1
  121. package/cjs/components/Loader/Loader.styles.d.ts +8 -8
  122. package/cjs/components/Loader/index.d.ts +1 -1
  123. package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -23
  124. package/cjs/components/MenuHeader/MenuHeader.js +2 -7
  125. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  126. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  127. package/cjs/components/MenuHeader/index.d.ts +1 -1
  128. package/cjs/components/MenuItem/MenuItem.d.ts +107 -111
  129. package/cjs/components/MenuItem/MenuItem.js +4 -10
  130. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  131. package/cjs/components/MenuItem/MenuItem.styles.d.ts +15 -15
  132. package/cjs/components/MenuItem/index.d.ts +1 -1
  133. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -15
  134. package/cjs/components/MenuSeparator/MenuSeparator.js +3 -7
  135. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  136. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  137. package/cjs/components/MenuSeparator/index.d.ts +1 -1
  138. package/cjs/components/Modal/Modal.d.ts +89 -94
  139. package/cjs/components/Modal/Modal.js +2 -8
  140. package/cjs/components/Modal/Modal.js.map +1 -1
  141. package/cjs/components/Modal/Modal.styles.d.ts +40 -40
  142. package/cjs/components/Modal/Modal.styles.js +1 -1
  143. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  144. package/cjs/components/Modal/ModalBody.d.ts +23 -23
  145. package/cjs/components/Modal/ModalClose.d.ts +2 -2
  146. package/cjs/components/Modal/ModalClose.js +2 -3
  147. package/cjs/components/Modal/ModalClose.js.map +1 -1
  148. package/cjs/components/Modal/ModalContext.d.ts +16 -16
  149. package/cjs/components/Modal/ModalFooter.d.ts +35 -38
  150. package/cjs/components/Modal/ModalFooter.js +2 -7
  151. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  152. package/cjs/components/Modal/ModalHeader.d.ts +17 -20
  153. package/cjs/components/Modal/ModalHeader.js +2 -8
  154. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  155. package/cjs/components/Modal/index.d.ts +4 -4
  156. package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
  157. package/cjs/components/Paging/Paging.d.ts +97 -104
  158. package/cjs/components/Paging/Paging.js +7 -15
  159. package/cjs/components/Paging/Paging.js.map +1 -1
  160. package/cjs/components/Paging/Paging.styles.d.ts +20 -20
  161. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -9
  162. package/cjs/components/Paging/PagingHelper.d.ts +2 -2
  163. package/cjs/components/Paging/index.d.ts +1 -1
  164. package/cjs/components/Paging/locale/index.d.ts +4 -4
  165. package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
  166. package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
  167. package/cjs/components/Paging/locale/types.d.ts +3 -3
  168. package/cjs/components/PasswordInput/PasswordInput.d.ts +52 -57
  169. package/cjs/components/PasswordInput/PasswordInput.js +4 -12
  170. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  171. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  172. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -3
  173. package/cjs/components/PasswordInput/index.d.ts +1 -1
  174. package/cjs/components/Radio/Radio.d.ts +78 -81
  175. package/cjs/components/Radio/Radio.js +2 -6
  176. package/cjs/components/Radio/Radio.js.map +1 -1
  177. package/cjs/components/Radio/Radio.styles.d.ts +21 -21
  178. package/cjs/components/Radio/index.d.ts +1 -1
  179. package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
  180. package/cjs/components/RadioGroup/RadioGroup.d.ts +107 -110
  181. package/cjs/components/RadioGroup/RadioGroup.js +2 -6
  182. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  183. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  184. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -10
  185. package/cjs/components/RadioGroup/index.d.ts +1 -1
  186. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +12 -12
  187. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -11
  188. package/cjs/components/ResponsiveLayout/decorator.d.ts +33 -33
  189. package/cjs/components/ResponsiveLayout/index.d.ts +3 -3
  190. package/cjs/components/ResponsiveLayout/types.d.ts +11 -11
  191. package/cjs/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
  192. package/cjs/components/ScrollContainer/ScrollBar.d.ts +41 -41
  193. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  194. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +97 -101
  195. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  196. package/cjs/components/ScrollContainer/ScrollContainer.js +4 -14
  197. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  198. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +21 -21
  199. package/cjs/components/ScrollContainer/index.d.ts +1 -1
  200. package/cjs/components/Select/Item.d.ts +9 -9
  201. package/cjs/components/Select/Select.d.ts +160 -162
  202. package/cjs/components/Select/Select.js +4 -11
  203. package/cjs/components/Select/Select.js.map +1 -1
  204. package/cjs/components/Select/Select.styles.d.ts +18 -18
  205. package/cjs/components/Select/index.d.ts +1 -1
  206. package/cjs/components/Select/locale/index.d.ts +4 -4
  207. package/cjs/components/Select/locale/locales/en.d.ts +2 -2
  208. package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
  209. package/cjs/components/Select/locale/types.d.ts +4 -4
  210. package/cjs/components/Select/selectTheme.d.ts +3 -3
  211. package/cjs/components/SidePage/SidePage.d.ts +111 -115
  212. package/cjs/components/SidePage/SidePage.js +2 -7
  213. package/cjs/components/SidePage/SidePage.js.map +1 -1
  214. package/cjs/components/SidePage/SidePage.styles.d.ts +48 -48
  215. package/cjs/components/SidePage/SidePageBody.d.ts +20 -23
  216. package/cjs/components/SidePage/SidePageBody.js +3 -10
  217. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  218. package/cjs/components/SidePage/SidePageContainer.d.ts +16 -19
  219. package/cjs/components/SidePage/SidePageContainer.js +2 -7
  220. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  221. package/cjs/components/SidePage/SidePageContext.d.ts +17 -17
  222. package/cjs/components/SidePage/SidePageFooter.d.ts +49 -52
  223. package/cjs/components/SidePage/SidePageFooter.js +3 -11
  224. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  225. package/cjs/components/SidePage/SidePageHeader.d.ts +44 -48
  226. package/cjs/components/SidePage/SidePageHeader.js +4 -9
  227. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  228. package/cjs/components/SidePage/index.d.ts +5 -5
  229. package/cjs/components/Spinner/Spinner.d.ts +67 -70
  230. package/cjs/components/Spinner/Spinner.js +2 -6
  231. package/cjs/components/Spinner/Spinner.js.map +1 -1
  232. package/cjs/components/Spinner/Spinner.styles.d.ts +13 -13
  233. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  234. package/cjs/components/Spinner/index.d.ts +1 -1
  235. package/cjs/components/Spinner/locale/index.d.ts +4 -4
  236. package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
  237. package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
  238. package/cjs/components/Spinner/locale/types.d.ts +4 -4
  239. package/cjs/components/Sticky/Sticky.d.ts +60 -63
  240. package/cjs/components/Sticky/Sticky.js +3 -7
  241. package/cjs/components/Sticky/Sticky.js.map +1 -1
  242. package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
  243. package/cjs/components/Sticky/index.d.ts +1 -1
  244. package/cjs/components/Switcher/Switcher.d.ts +66 -69
  245. package/cjs/components/Switcher/Switcher.js +3 -7
  246. package/cjs/components/Switcher/Switcher.js.map +1 -1
  247. package/cjs/components/Switcher/Switcher.styles.d.ts +11 -11
  248. package/cjs/components/Switcher/helpers.d.ts +1 -1
  249. package/cjs/components/Switcher/index.d.ts +1 -1
  250. package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
  251. package/cjs/components/Tabs/Indicator.d.ts +28 -28
  252. package/cjs/components/Tabs/Indicator.js +2 -4
  253. package/cjs/components/Tabs/Indicator.js.map +1 -1
  254. package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
  255. package/cjs/components/Tabs/Tab.d.ts +113 -116
  256. package/cjs/components/Tabs/Tab.js +2 -7
  257. package/cjs/components/Tabs/Tab.js.map +1 -1
  258. package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
  259. package/cjs/components/Tabs/Tabs.d.ts +56 -60
  260. package/cjs/components/Tabs/Tabs.js +2 -11
  261. package/cjs/components/Tabs/Tabs.js.map +1 -1
  262. package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
  263. package/cjs/components/Tabs/TabsContext.d.ts +14 -14
  264. package/cjs/components/Tabs/index.d.ts +2 -2
  265. package/cjs/components/Textarea/Textarea.d.ts +183 -187
  266. package/cjs/components/Textarea/Textarea.js +2 -7
  267. package/cjs/components/Textarea/Textarea.js.map +1 -1
  268. package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
  269. package/cjs/components/Textarea/TextareaCounter.d.ts +12 -12
  270. package/cjs/components/Textarea/TextareaCounter.js +6 -6
  271. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  272. package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
  273. package/cjs/components/Textarea/index.d.ts +1 -1
  274. package/cjs/components/Toast/Toast.d.ts +58 -64
  275. package/cjs/components/Toast/Toast.js +2 -9
  276. package/cjs/components/Toast/Toast.js.map +1 -1
  277. package/cjs/components/Toast/Toast.styles.d.ts +6 -6
  278. package/cjs/components/Toast/ToastStatic.d.ts +8 -8
  279. package/cjs/components/Toast/ToastStatic.js +1 -1
  280. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  281. package/cjs/components/Toast/ToastView.d.ts +38 -38
  282. package/cjs/components/Toast/ToastView.js +4 -5
  283. package/cjs/components/Toast/ToastView.js.map +1 -1
  284. package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
  285. package/cjs/components/Toast/index.d.ts +1 -1
  286. package/cjs/components/Toggle/Toggle.d.ts +106 -109
  287. package/cjs/components/Toggle/Toggle.js +2 -6
  288. package/cjs/components/Toggle/Toggle.js.map +1 -1
  289. package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
  290. package/cjs/components/Toggle/index.d.ts +1 -1
  291. package/cjs/components/Token/Token.d.ts +36 -39
  292. package/cjs/components/Token/Token.js +3 -8
  293. package/cjs/components/Token/Token.js.map +1 -1
  294. package/cjs/components/Token/Token.styles.d.ts +29 -29
  295. package/cjs/components/Token/index.d.ts +1 -1
  296. package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
  297. package/cjs/components/TokenInput/TokenInput.d.ts +210 -214
  298. package/cjs/components/TokenInput/TokenInput.js +2 -7
  299. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  300. package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
  301. package/cjs/components/TokenInput/TokenInputMenu.d.ts +19 -19
  302. package/cjs/components/TokenInput/TokenInputMenu.js +3 -4
  303. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  304. package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
  305. package/cjs/components/TokenInput/index.d.ts +1 -1
  306. package/cjs/components/TokenInput/locale/index.d.ts +4 -4
  307. package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
  308. package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
  309. package/cjs/components/TokenInput/locale/types.d.ts +4 -4
  310. package/cjs/components/Tooltip/Tooltip.d.ts +160 -164
  311. package/cjs/components/Tooltip/Tooltip.js +3 -9
  312. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  313. package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
  314. package/cjs/components/Tooltip/index.d.ts +1 -1
  315. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +66 -69
  316. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -6
  317. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  318. package/cjs/components/TooltipMenu/index.d.ts +1 -1
  319. package/cjs/hooks/useDrop.d.ts +11 -11
  320. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -2
  321. package/cjs/hooks/useMemoObject.d.ts +2 -2
  322. package/cjs/index.d.ts +56 -56
  323. package/cjs/internal/BGRuler.d.ts +28 -28
  324. package/cjs/internal/Calendar/Calendar.d.ts +57 -63
  325. package/cjs/internal/Calendar/Calendar.js +2 -9
  326. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  327. package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
  328. package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
  329. package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  330. package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
  331. package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
  332. package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
  333. package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
  334. package/cjs/internal/Calendar/Month.d.ts +33 -33
  335. package/cjs/internal/Calendar/MonthView.d.ts +21 -21
  336. package/cjs/internal/Calendar/MonthView.js +4 -5
  337. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  338. package/cjs/internal/Calendar/MonthView.styles.d.ts +10 -10
  339. package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
  340. package/cjs/internal/Calendar/config.d.ts +2 -2
  341. package/cjs/internal/Calendar/index.d.ts +2 -2
  342. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +33 -33
  343. package/cjs/internal/CommonWrapper/index.d.ts +1 -1
  344. package/cjs/internal/ComponentCombinator.d.ts +23 -23
  345. package/cjs/internal/ComponentTable.d.ts +22 -22
  346. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +33 -40
  347. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +4 -22
  348. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  349. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +96 -95
  350. package/cjs/internal/CustomComboBox/ComboBoxView.js +4 -5
  351. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  352. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +139 -141
  353. package/cjs/internal/CustomComboBox/CustomComboBox.js +5 -7
  354. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  355. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  356. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  357. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  358. package/cjs/internal/CustomComboBox/index.d.ts +2 -2
  359. package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
  360. package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  361. package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  362. package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
  363. package/cjs/internal/DateSelect/DateSelect.d.ts +91 -95
  364. package/cjs/internal/DateSelect/DateSelect.js +3 -8
  365. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  366. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  367. package/cjs/internal/DateSelect/index.d.ts +1 -1
  368. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +45 -41
  369. package/cjs/internal/DropdownContainer/DropdownContainer.js +11 -6
  370. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  371. package/cjs/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -3
  372. package/cjs/internal/DropdownContainer/getManualPosition.d.ts +19 -0
  373. package/cjs/internal/DropdownContainer/getManualPosition.js +41 -0
  374. package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -0
  375. package/cjs/internal/DropdownContainer/index.d.ts +1 -1
  376. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +14 -14
  377. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -14
  378. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +15 -22
  379. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +6 -14
  380. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  381. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +18 -18
  382. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +12 -15
  383. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +2 -6
  384. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  385. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +8 -8
  386. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -7
  387. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +14 -14
  388. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -1
  389. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  390. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -3
  391. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -3
  392. package/cjs/internal/FocusTrap/FocusTrap.d.ts +17 -17
  393. package/cjs/internal/FocusTrap/index.d.ts +1 -1
  394. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  395. package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  396. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  397. package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
  398. package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
  399. package/cjs/internal/InputLikeText/InputLikeText.d.ts +74 -78
  400. package/cjs/internal/InputLikeText/InputLikeText.js +4 -10
  401. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  402. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  403. package/cjs/internal/InputLikeText/index.d.ts +1 -1
  404. package/cjs/internal/InternalMenu/InternalMenu.d.ts +63 -66
  405. package/cjs/internal/InternalMenu/InternalMenu.js +3 -8
  406. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  407. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +10 -10
  408. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -2
  409. package/cjs/internal/InternalMenu/index.d.ts +1 -1
  410. package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
  411. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  412. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  413. package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
  414. package/cjs/internal/MaskedInput/MaskedInput.d.ts +43 -46
  415. package/cjs/internal/MaskedInput/MaskedInput.js +3 -7
  416. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  417. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  418. package/cjs/internal/MaskedInput/index.d.ts +1 -1
  419. package/cjs/internal/Menu/Menu.d.ts +67 -70
  420. package/cjs/internal/Menu/Menu.js +3 -8
  421. package/cjs/internal/Menu/Menu.js.map +1 -1
  422. package/cjs/internal/Menu/Menu.styles.d.ts +9 -9
  423. package/cjs/internal/Menu/index.d.ts +1 -1
  424. package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
  425. package/cjs/internal/MobilePopup/MobilePopup.d.ts +34 -38
  426. package/cjs/internal/MobilePopup/MobilePopup.js +3 -10
  427. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  428. package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +10 -10
  429. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -15
  430. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -10
  431. package/cjs/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -1
  432. package/cjs/internal/MobilePopup/index.d.ts +1 -1
  433. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  434. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  435. package/cjs/internal/NativeDateInput/index.d.ts +1 -1
  436. package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
  437. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  438. package/cjs/internal/Popup/Popup.d.ts +166 -171
  439. package/cjs/internal/Popup/Popup.js +4 -10
  440. package/cjs/internal/Popup/Popup.js.map +1 -1
  441. package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
  442. package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
  443. package/cjs/internal/Popup/PopupPin.d.ts +56 -56
  444. package/cjs/internal/Popup/PopupPin.js +1 -2
  445. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  446. package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
  447. package/cjs/internal/Popup/index.d.ts +1 -1
  448. package/cjs/internal/Popup/types.d.ts +2 -2
  449. package/cjs/internal/PopupMenu/PopupMenu.d.ts +87 -91
  450. package/cjs/internal/PopupMenu/PopupMenu.js +4 -9
  451. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  452. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  453. package/cjs/internal/PopupMenu/index.d.ts +1 -1
  454. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  455. package/cjs/internal/RenderContainer/RenderContainer.d.ts +16 -16
  456. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +13 -13
  457. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +21 -21
  458. package/cjs/internal/RenderContainer/index.d.ts +1 -1
  459. package/cjs/internal/RenderLayer/RenderLayer.d.ts +31 -31
  460. package/cjs/internal/RenderLayer/index.d.ts +1 -1
  461. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +13 -13
  462. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +6 -6
  463. package/cjs/internal/ResizeDetector/index.d.ts +1 -1
  464. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -15
  465. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -4
  466. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +18 -18
  467. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  468. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  469. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +12 -12
  470. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +12 -12
  471. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  472. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  473. package/cjs/internal/ThemePlayground/Playground.d.ts +30 -30
  474. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  475. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  476. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +15 -15
  477. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  478. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -4
  479. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +16 -16
  480. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +53 -53
  481. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +36 -36
  482. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +4 -4
  483. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +9 -9
  484. package/cjs/internal/ThemePlayground/VariableValue.d.ts +43 -43
  485. package/cjs/internal/ThemePlayground/constants.d.ts +19 -19
  486. package/cjs/internal/ThemePlayground/darkTheme.d.ts +269 -269
  487. package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
  488. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  489. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +27 -27
  490. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  491. package/cjs/internal/ZIndex/ZIndex.d.ts +46 -46
  492. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +21 -21
  493. package/cjs/internal/ZIndex/index.d.ts +1 -1
  494. package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
  495. package/cjs/internal/icons/16px/index.d.ts +25 -25
  496. package/cjs/internal/icons/20px/Icon.d.ts +30 -30
  497. package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
  498. package/cjs/internal/icons/20px/index.d.ts +2 -2
  499. package/cjs/internal/icons/20px/svg.d.ts +14 -14
  500. package/cjs/internal/icons/CloudIcon.d.ts +1 -1
  501. package/cjs/internal/icons/CrossIcon.d.ts +1 -1
  502. package/cjs/internal/icons/SpinnerIcon.d.ts +27 -27
  503. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +6 -6
  504. package/cjs/internal/themes/DarkTheme.d.ts +138 -138
  505. package/cjs/internal/themes/DefaultTheme.d.ts +898 -898
  506. package/cjs/internal/themes/NotFlat.d.ts +133 -133
  507. package/cjs/internal/themes/OldColors.d.ts +116 -116
  508. package/cjs/internal/themes/Theme2022.d.ts +67 -67
  509. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -5
  510. package/cjs/lib/ConditionalHandler.d.ts +12 -12
  511. package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -5
  512. package/cjs/lib/LayoutEvents.d.ts +4 -4
  513. package/cjs/lib/ModalStack.d.ts +14 -14
  514. package/cjs/lib/SSRSafe.d.ts +7 -7
  515. package/cjs/lib/Supports.d.ts +1 -1
  516. package/cjs/lib/Upgrades.d.ts +6 -6
  517. package/cjs/lib/animation/index.d.ts +6 -6
  518. package/cjs/lib/animation/presets.d.ts +18 -18
  519. package/cjs/lib/animation/stepper.d.ts +1 -1
  520. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -3
  521. package/cjs/lib/client.d.ts +16 -16
  522. package/cjs/lib/createPropsGetter.d.ts +3 -3
  523. package/cjs/lib/currentEnvironment.d.ts +3 -3
  524. package/cjs/lib/date/InternalDate.d.ts +58 -58
  525. package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
  526. package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
  527. package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
  528. package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
  529. package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
  530. package/cjs/lib/date/constants.d.ts +28 -28
  531. package/cjs/lib/date/localeSets.d.ts +5 -5
  532. package/cjs/lib/date/types.d.ts +94 -94
  533. package/cjs/lib/dom/getDOMRect.d.ts +11 -11
  534. package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
  535. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
  536. package/cjs/lib/events/MouseDrag.d.ts +58 -58
  537. package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
  538. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  539. package/cjs/lib/events/keyListener.d.ts +7 -7
  540. package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  541. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +7 -7
  542. package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
  543. package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
  544. package/cjs/lib/events/stopPropagation.d.ts +1 -1
  545. package/cjs/lib/events/tabListener.d.ts +1 -1
  546. package/cjs/lib/extractKeyboardAction.d.ts +13 -13
  547. package/cjs/lib/filterProps.d.ts +12 -12
  548. package/cjs/lib/forwardRefAndName.d.ts +5 -5
  549. package/cjs/lib/getDisplayName.d.ts +3 -3
  550. package/cjs/lib/listenFocusOutside.d.ts +8 -8
  551. package/cjs/lib/locale/LocaleContext.d.ts +7 -7
  552. package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
  553. package/cjs/lib/locale/constants.d.ts +2 -2
  554. package/cjs/lib/locale/decorators.d.ts +36 -36
  555. package/cjs/lib/locale/index.d.ts +3 -3
  556. package/cjs/lib/locale/types.d.ts +21 -21
  557. package/cjs/lib/locale/useLocaleForControl.d.ts +3 -3
  558. package/cjs/lib/memo.d.ts +3 -3
  559. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -6
  560. package/cjs/lib/net/fetch.d.ts +13 -13
  561. package/cjs/lib/reactGetTextContent.d.ts +2 -2
  562. package/cjs/lib/rootNode/getRootNode.d.ts +12 -12
  563. package/cjs/lib/rootNode/index.d.ts +2 -2
  564. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +52 -52
  565. package/cjs/lib/stringUtils.d.ts +1 -1
  566. package/cjs/lib/styles/ColorFactory.d.ts +11 -11
  567. package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
  568. package/cjs/lib/styles/ColorHelpers.d.ts +21 -21
  569. package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
  570. package/cjs/lib/styles/ColorObject.d.ts +52 -52
  571. package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
  572. package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
  573. package/cjs/lib/styles/Mixins.d.ts +2 -2
  574. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -1
  575. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  576. package/cjs/lib/theming/AnimationKeyframes.d.ts +7 -7
  577. package/cjs/lib/theming/Emotion.d.ts +15 -15
  578. package/cjs/lib/theming/Theme.d.ts +3 -3
  579. package/cjs/lib/theming/ThemeContext.d.ts +2 -2
  580. package/cjs/lib/theming/ThemeFactory.d.ts +7 -7
  581. package/cjs/lib/theming/ThemeFactory.js +7 -0
  582. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  583. package/cjs/lib/theming/ThemeHelpers.d.ts +15 -6
  584. package/cjs/lib/theming/ThemeHelpers.js +24 -5
  585. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  586. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -1
  587. package/cjs/lib/theming/themes/DarkTheme.js +1 -1
  588. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  589. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  590. package/cjs/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -1
  591. package/cjs/lib/theming/themes/DefaultThemeMobile.d.ts +3 -3
  592. package/cjs/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -1
  593. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -1
  594. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -1
  595. package/cjs/lib/theming/themes/Theme2022Dark.js +4 -3
  596. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -1
  597. package/cjs/lib/theming/useTheme.d.ts +1 -1
  598. package/cjs/lib/uidUtils.d.ts +1 -1
  599. package/cjs/lib/utils.d.ts +80 -80
  600. package/cjs/lib/withClassWrapper.d.ts +71 -71
  601. package/components/Autocomplete/Autocomplete/Autocomplete.js +4 -6
  602. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  603. package/components/Autocomplete/Autocomplete.d.ts +117 -119
  604. package/components/Autocomplete/Autocomplete.styles.d.ts +4 -4
  605. package/components/Autocomplete/index.d.ts +1 -1
  606. package/components/Button/Button/Button.js +0 -4
  607. package/components/Button/Button/Button.js.map +1 -1
  608. package/components/Button/Button.d.ts +157 -160
  609. package/components/Button/Button.mixins.d.ts +6 -6
  610. package/components/Button/Button.styles.d.ts +72 -72
  611. package/components/Button/index.d.ts +1 -1
  612. package/components/Center/Center/Center.js +1 -6
  613. package/components/Center/Center/Center.js.map +1 -1
  614. package/components/Center/Center.d.ts +26 -29
  615. package/components/Center/Center.styles.d.ts +7 -7
  616. package/components/Center/index.d.ts +1 -1
  617. package/components/Checkbox/Checkbox/Checkbox.js +0 -4
  618. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  619. package/components/Checkbox/Checkbox.d.ts +101 -104
  620. package/components/Checkbox/Checkbox.styles.d.ts +24 -24
  621. package/components/Checkbox/index.d.ts +1 -1
  622. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  623. package/components/ComboBox/ComboBox.d.ts +195 -194
  624. package/components/ComboBox/index.d.ts +1 -1
  625. package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  626. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +1 -6
  627. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  628. package/components/CurrencyInput/CurrencyInput.d.ts +103 -106
  629. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  630. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +20 -20
  631. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  632. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  633. package/components/CurrencyInput/constants.d.ts +5 -5
  634. package/components/CurrencyInput/index.d.ts +1 -1
  635. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -6
  636. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  637. package/components/CurrencyLabel/CurrencyLabel.d.ts +20 -23
  638. package/components/CurrencyLabel/index.d.ts +1 -1
  639. package/components/DateInput/DateFragmentsView.d.ts +20 -20
  640. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  641. package/components/DateInput/DateInput.d.ts +104 -104
  642. package/components/DateInput/DateInput.styles.d.ts +10 -10
  643. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  644. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  645. package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  646. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  647. package/components/DateInput/helpers/inputNumber.d.ts +5 -5
  648. package/components/DateInput/index.d.ts +1 -1
  649. package/components/DatePicker/DatePicker/DatePicker.js +1 -6
  650. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  651. package/components/DatePicker/DatePicker.d.ts +129 -133
  652. package/components/DatePicker/DatePicker.styles.d.ts +3 -3
  653. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  654. package/components/DatePicker/Picker/Picker.js +1 -3
  655. package/components/DatePicker/Picker/Picker.js.map +1 -1
  656. package/components/DatePicker/Picker.d.ts +33 -33
  657. package/components/DatePicker/Picker.styles.d.ts +5 -5
  658. package/components/DatePicker/index.d.ts +1 -1
  659. package/components/DatePicker/locale/index.d.ts +4 -4
  660. package/components/DatePicker/locale/locales/en.d.ts +2 -2
  661. package/components/DatePicker/locale/locales/ru.d.ts +2 -2
  662. package/components/DatePicker/locale/types.d.ts +5 -5
  663. package/components/Dropdown/Dropdown/Dropdown.js +5 -9
  664. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  665. package/components/Dropdown/Dropdown.d.ts +125 -128
  666. package/components/Dropdown/index.d.ts +1 -1
  667. package/components/DropdownMenu/DropdownMenu.d.ts +62 -62
  668. package/components/DropdownMenu/index.d.ts +1 -1
  669. package/components/FileUploader/FileUploader/FileUploader.js +2 -9
  670. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  671. package/components/FileUploader/FileUploader.d.ts +51 -56
  672. package/components/FileUploader/FileUploader.mixins.d.ts +1 -1
  673. package/components/FileUploader/FileUploader.styles.d.ts +33 -33
  674. package/components/FileUploader/index.d.ts +5 -5
  675. package/components/FileUploader/locale/index.d.ts +4 -4
  676. package/components/FileUploader/locale/locales/en.d.ts +2 -2
  677. package/components/FileUploader/locale/locales/ru.d.ts +2 -2
  678. package/components/FileUploader/locale/types.d.ts +6 -6
  679. package/components/FxInput/FxInput/FxInput.js +0 -4
  680. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  681. package/components/FxInput/FxInput.d.ts +50 -53
  682. package/components/FxInput/index.d.ts +1 -1
  683. package/components/Gapped/Gapped/Gapped.js +1 -8
  684. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  685. package/components/Gapped/Gapped.d.ts +56 -60
  686. package/components/Gapped/index.d.ts +1 -1
  687. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +1 -4
  688. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  689. package/components/GlobalLoader/GlobalLoader.d.ts +103 -106
  690. package/components/GlobalLoader/GlobalLoaderView.d.ts +13 -13
  691. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +16 -16
  692. package/components/GlobalLoader/index.d.ts +1 -1
  693. package/components/GlobalLoader/useParams.d.ts +22 -22
  694. package/components/Group/Group/Group.js +0 -4
  695. package/components/Group/Group/Group.js.map +1 -1
  696. package/components/Group/Group.d.ts +15 -18
  697. package/components/Group/Group.styles.d.ts +8 -8
  698. package/components/Group/index.d.ts +1 -1
  699. package/components/Hint/Hint.d.ts +85 -85
  700. package/components/Hint/Hint.styles.d.ts +6 -6
  701. package/components/Hint/index.d.ts +1 -1
  702. package/components/Input/Input/Input.js +1 -6
  703. package/components/Input/Input/Input.js.map +1 -1
  704. package/components/Input/Input.d.ts +154 -157
  705. package/components/Input/Input.styles.d.ts +43 -43
  706. package/components/Input/index.d.ts +1 -1
  707. package/components/Kebab/Kebab.d.ts +53 -53
  708. package/components/Kebab/Kebab.styles.d.ts +12 -12
  709. package/components/Kebab/index.d.ts +1 -1
  710. package/components/Link/Link/Link.js +1 -6
  711. package/components/Link/Link/Link.js.map +1 -1
  712. package/components/Link/Link.d.ts +70 -73
  713. package/components/Link/Link.mixins.d.ts +3 -3
  714. package/components/Link/Link.styles.d.ts +15 -15
  715. package/components/Link/index.d.ts +1 -1
  716. package/components/Loader/Loader/Loader.js +2 -6
  717. package/components/Loader/Loader/Loader.js.map +1 -1
  718. package/components/Loader/Loader.d.ts +113 -117
  719. package/components/Loader/Loader.styles.d.ts +8 -8
  720. package/components/Loader/index.d.ts +1 -1
  721. package/components/MenuHeader/MenuHeader/MenuHeader.js +0 -4
  722. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  723. package/components/MenuHeader/MenuHeader.d.ts +20 -23
  724. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  725. package/components/MenuHeader/index.d.ts +1 -1
  726. package/components/MenuItem/MenuItem/MenuItem.js +9 -14
  727. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  728. package/components/MenuItem/MenuItem.d.ts +107 -111
  729. package/components/MenuItem/MenuItem.styles.d.ts +15 -15
  730. package/components/MenuItem/index.d.ts +1 -1
  731. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +0 -4
  732. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  733. package/components/MenuSeparator/MenuSeparator.d.ts +12 -15
  734. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  735. package/components/MenuSeparator/index.d.ts +1 -1
  736. package/components/Modal/Modal/Modal.js +2 -7
  737. package/components/Modal/Modal/Modal.js.map +1 -1
  738. package/components/Modal/Modal.d.ts +89 -94
  739. package/components/Modal/Modal.styles/Modal.styles.js +1 -1
  740. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  741. package/components/Modal/Modal.styles.d.ts +40 -40
  742. package/components/Modal/ModalBody.d.ts +23 -23
  743. package/components/Modal/ModalClose/ModalClose.js +1 -2
  744. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  745. package/components/Modal/ModalClose.d.ts +2 -2
  746. package/components/Modal/ModalContext.d.ts +16 -16
  747. package/components/Modal/ModalFooter/ModalFooter.js +0 -4
  748. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  749. package/components/Modal/ModalFooter.d.ts +35 -38
  750. package/components/Modal/ModalHeader/ModalHeader.js +0 -4
  751. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  752. package/components/Modal/ModalHeader.d.ts +17 -20
  753. package/components/Modal/index.d.ts +4 -4
  754. package/components/Paging/NavigationHelper.d.ts +7 -7
  755. package/components/Paging/Paging/Paging.js +5 -12
  756. package/components/Paging/Paging/Paging.js.map +1 -1
  757. package/components/Paging/Paging.d.ts +97 -104
  758. package/components/Paging/Paging.styles.d.ts +20 -20
  759. package/components/Paging/PagingDefaultComponent.d.ts +9 -9
  760. package/components/Paging/PagingHelper.d.ts +2 -2
  761. package/components/Paging/index.d.ts +1 -1
  762. package/components/Paging/locale/index.d.ts +4 -4
  763. package/components/Paging/locale/locales/en.d.ts +2 -2
  764. package/components/Paging/locale/locales/ru.d.ts +2 -2
  765. package/components/Paging/locale/types.d.ts +3 -3
  766. package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -8
  767. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  768. package/components/PasswordInput/PasswordInput.d.ts +52 -57
  769. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  770. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -3
  771. package/components/PasswordInput/index.d.ts +1 -1
  772. package/components/Radio/Radio/Radio.js +1 -6
  773. package/components/Radio/Radio/Radio.js.map +1 -1
  774. package/components/Radio/Radio.d.ts +78 -81
  775. package/components/Radio/Radio.styles.d.ts +21 -21
  776. package/components/Radio/index.d.ts +1 -1
  777. package/components/RadioGroup/Prevent.d.ts +8 -8
  778. package/components/RadioGroup/RadioGroup/RadioGroup.js +0 -4
  779. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  780. package/components/RadioGroup/RadioGroup.d.ts +107 -110
  781. package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  782. package/components/RadioGroup/RadioGroupContext.d.ts +10 -10
  783. package/components/RadioGroup/index.d.ts +1 -1
  784. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +12 -12
  785. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -11
  786. package/components/ResponsiveLayout/decorator.d.ts +33 -33
  787. package/components/ResponsiveLayout/index.d.ts +3 -3
  788. package/components/ResponsiveLayout/types.d.ts +11 -11
  789. package/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
  790. package/components/ScrollContainer/ScrollBar.d.ts +41 -41
  791. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -6
  792. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  793. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  794. package/components/ScrollContainer/ScrollContainer.d.ts +97 -101
  795. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  796. package/components/ScrollContainer/ScrollContainer.styles.d.ts +21 -21
  797. package/components/ScrollContainer/index.d.ts +1 -1
  798. package/components/Select/Item.d.ts +9 -9
  799. package/components/Select/Select/Select.js +2 -5
  800. package/components/Select/Select/Select.js.map +1 -1
  801. package/components/Select/Select.d.ts +160 -162
  802. package/components/Select/Select.styles.d.ts +18 -18
  803. package/components/Select/index.d.ts +1 -1
  804. package/components/Select/locale/index.d.ts +4 -4
  805. package/components/Select/locale/locales/en.d.ts +2 -2
  806. package/components/Select/locale/locales/ru.d.ts +2 -2
  807. package/components/Select/locale/types.d.ts +4 -4
  808. package/components/Select/selectTheme.d.ts +3 -3
  809. package/components/SidePage/SidePage/SidePage.js +2 -6
  810. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  811. package/components/SidePage/SidePage.d.ts +111 -115
  812. package/components/SidePage/SidePage.styles.d.ts +48 -48
  813. package/components/SidePage/SidePageBody/SidePageBody.js +6 -10
  814. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  815. package/components/SidePage/SidePageBody.d.ts +20 -23
  816. package/components/SidePage/SidePageContainer/SidePageContainer.js +6 -10
  817. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  818. package/components/SidePage/SidePageContainer.d.ts +16 -19
  819. package/components/SidePage/SidePageContext.d.ts +17 -17
  820. package/components/SidePage/SidePageFooter/SidePageFooter.js +6 -10
  821. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  822. package/components/SidePage/SidePageFooter.d.ts +49 -52
  823. package/components/SidePage/SidePageHeader/SidePageHeader.js +7 -12
  824. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  825. package/components/SidePage/SidePageHeader.d.ts +44 -48
  826. package/components/SidePage/index.d.ts +5 -5
  827. package/components/Spinner/Spinner/Spinner.js +0 -4
  828. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  829. package/components/Spinner/Spinner.d.ts +67 -70
  830. package/components/Spinner/Spinner.styles.d.ts +13 -13
  831. package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  832. package/components/Spinner/index.d.ts +1 -1
  833. package/components/Spinner/locale/index.d.ts +4 -4
  834. package/components/Spinner/locale/locales/en.d.ts +2 -2
  835. package/components/Spinner/locale/locales/ru.d.ts +2 -2
  836. package/components/Spinner/locale/types.d.ts +4 -4
  837. package/components/Sticky/Sticky/Sticky.js +0 -4
  838. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  839. package/components/Sticky/Sticky.d.ts +60 -63
  840. package/components/Sticky/Sticky.styles.d.ts +7 -7
  841. package/components/Sticky/index.d.ts +1 -1
  842. package/components/Switcher/Switcher/Switcher.js +0 -4
  843. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  844. package/components/Switcher/Switcher.d.ts +66 -69
  845. package/components/Switcher/Switcher.styles.d.ts +11 -11
  846. package/components/Switcher/helpers.d.ts +1 -1
  847. package/components/Switcher/index.d.ts +1 -1
  848. package/components/Switcher/switcherTheme.d.ts +2 -2
  849. package/components/Tabs/Indicator/Indicator.js +0 -2
  850. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  851. package/components/Tabs/Indicator.d.ts +28 -28
  852. package/components/Tabs/Indicator.styles.d.ts +8 -8
  853. package/components/Tabs/Tab/Tab.js +0 -4
  854. package/components/Tabs/Tab/Tab.js.map +1 -1
  855. package/components/Tabs/Tab.d.ts +113 -116
  856. package/components/Tabs/Tab.styles.d.ts +27 -27
  857. package/components/Tabs/Tabs/Tabs.js +0 -5
  858. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  859. package/components/Tabs/Tabs.d.ts +56 -60
  860. package/components/Tabs/Tabs.styles.d.ts +5 -5
  861. package/components/Tabs/TabsContext.d.ts +14 -14
  862. package/components/Tabs/index.d.ts +2 -2
  863. package/components/Textarea/Textarea/Textarea.js +1 -7
  864. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  865. package/components/Textarea/Textarea.d.ts +183 -187
  866. package/components/Textarea/Textarea.styles.d.ts +15 -15
  867. package/components/Textarea/TextareaCounter/TextareaCounter.js +0 -2
  868. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  869. package/components/Textarea/TextareaCounter.d.ts +12 -12
  870. package/components/Textarea/TextareaHelpers.d.ts +11 -11
  871. package/components/Textarea/index.d.ts +1 -1
  872. package/components/Toast/Toast/Toast.js +10 -16
  873. package/components/Toast/Toast/Toast.js.map +1 -1
  874. package/components/Toast/Toast.d.ts +58 -64
  875. package/components/Toast/Toast.styles.d.ts +6 -6
  876. package/components/Toast/ToastStatic/ToastStatic.js +2 -2
  877. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  878. package/components/Toast/ToastStatic.d.ts +8 -8
  879. package/components/Toast/ToastView/ToastView.js +3 -4
  880. package/components/Toast/ToastView/ToastView.js.map +1 -1
  881. package/components/Toast/ToastView.d.ts +38 -38
  882. package/components/Toast/ToastView.styles.d.ts +8 -8
  883. package/components/Toast/index.d.ts +1 -1
  884. package/components/Toggle/Toggle/Toggle.js +0 -4
  885. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  886. package/components/Toggle/Toggle.d.ts +106 -109
  887. package/components/Toggle/Toggle.styles.d.ts +30 -30
  888. package/components/Toggle/index.d.ts +1 -1
  889. package/components/Token/Token/Token.js +0 -4
  890. package/components/Token/Token/Token.js.map +1 -1
  891. package/components/Token/Token.d.ts +36 -39
  892. package/components/Token/Token.styles.d.ts +29 -29
  893. package/components/Token/index.d.ts +1 -1
  894. package/components/TokenInput/TextWidthHelper.d.ts +18 -18
  895. package/components/TokenInput/TokenInput/TokenInput.js +0 -5
  896. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  897. package/components/TokenInput/TokenInput.d.ts +210 -214
  898. package/components/TokenInput/TokenInput.styles.d.ts +15 -15
  899. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +0 -2
  900. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  901. package/components/TokenInput/TokenInputMenu.d.ts +19 -19
  902. package/components/TokenInput/TokenInputReducer.d.ts +25 -25
  903. package/components/TokenInput/index.d.ts +1 -1
  904. package/components/TokenInput/locale/index.d.ts +4 -4
  905. package/components/TokenInput/locale/locales/en.d.ts +2 -2
  906. package/components/TokenInput/locale/locales/ru.d.ts +2 -2
  907. package/components/TokenInput/locale/types.d.ts +4 -4
  908. package/components/Tooltip/Tooltip/Tooltip.js +1 -7
  909. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  910. package/components/Tooltip/Tooltip.d.ts +160 -164
  911. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  912. package/components/Tooltip/index.d.ts +1 -1
  913. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +0 -4
  914. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  915. package/components/TooltipMenu/TooltipMenu.d.ts +66 -69
  916. package/components/TooltipMenu/index.d.ts +1 -1
  917. package/hooks/useDrop.d.ts +11 -11
  918. package/hooks/useEffectWithoutInitCall.d.ts +2 -2
  919. package/hooks/useMemoObject.d.ts +2 -2
  920. package/index.d.ts +56 -56
  921. package/internal/BGRuler.d.ts +28 -28
  922. package/internal/Calendar/Calendar/Calendar.js +1 -7
  923. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  924. package/internal/Calendar/Calendar.d.ts +57 -63
  925. package/internal/Calendar/Calendar.styles.d.ts +5 -5
  926. package/internal/Calendar/CalendarDateShape.d.ts +14 -14
  927. package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  928. package/internal/Calendar/CalendarUtils.d.ts +19 -19
  929. package/internal/Calendar/DayCellView.d.ts +13 -13
  930. package/internal/Calendar/DayCellView.styles.d.ts +7 -7
  931. package/internal/Calendar/DayCellViewModel.d.ts +8 -8
  932. package/internal/Calendar/Month.d.ts +33 -33
  933. package/internal/Calendar/MonthView/MonthView.js +3 -4
  934. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  935. package/internal/Calendar/MonthView.d.ts +21 -21
  936. package/internal/Calendar/MonthView.styles.d.ts +10 -10
  937. package/internal/Calendar/MonthViewModel.d.ts +14 -14
  938. package/internal/Calendar/config.d.ts +2 -2
  939. package/internal/Calendar/index.d.ts +2 -2
  940. package/internal/CommonWrapper/CommonWrapper.d.ts +33 -33
  941. package/internal/CommonWrapper/index.d.ts +1 -1
  942. package/internal/ComponentCombinator.d.ts +23 -23
  943. package/internal/ComponentTable.d.ts +22 -22
  944. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -12
  945. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  946. package/internal/CustomComboBox/ComboBoxMenu.d.ts +33 -40
  947. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +3 -3
  948. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  949. package/internal/CustomComboBox/ComboBoxView.d.ts +96 -95
  950. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +1 -3
  951. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  952. package/internal/CustomComboBox/CustomComboBox.d.ts +139 -141
  953. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  954. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  955. package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  956. package/internal/CustomComboBox/index.d.ts +2 -2
  957. package/internal/CustomComboBox/locale/index.d.ts +4 -4
  958. package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  959. package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  960. package/internal/CustomComboBox/locale/types.d.ts +5 -5
  961. package/internal/DateSelect/DateSelect/DateSelect.js +2 -6
  962. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  963. package/internal/DateSelect/DateSelect.d.ts +91 -95
  964. package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  965. package/internal/DateSelect/index.d.ts +1 -1
  966. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +17 -4
  967. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  968. package/internal/DropdownContainer/DropdownContainer.d.ts +45 -41
  969. package/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -3
  970. package/internal/DropdownContainer/getManualPosition/getManualPosition.js +36 -0
  971. package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -0
  972. package/internal/DropdownContainer/getManualPosition/package.json +6 -0
  973. package/internal/DropdownContainer/getManualPosition.d.ts +19 -0
  974. package/internal/DropdownContainer/index.d.ts +1 -1
  975. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +14 -14
  976. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -14
  977. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +5 -12
  978. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  979. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +15 -22
  980. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +18 -18
  981. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +1 -4
  982. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  983. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +12 -15
  984. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +8 -8
  985. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -7
  986. package/internal/FileUploaderControl/fileUtils.d.ts +14 -14
  987. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -1
  988. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  989. package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -3
  990. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -3
  991. package/internal/FocusTrap/FocusTrap.d.ts +17 -17
  992. package/internal/FocusTrap/index.d.ts +1 -1
  993. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  994. package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  995. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  996. package/internal/IgnoreLayerClick/index.d.ts +1 -1
  997. package/internal/InputLikeText/HiddenInput.d.ts +13 -13
  998. package/internal/InputLikeText/InputLikeText/InputLikeText.js +2 -8
  999. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1000. package/internal/InputLikeText/InputLikeText.d.ts +74 -78
  1001. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  1002. package/internal/InputLikeText/index.d.ts +1 -1
  1003. package/internal/InternalMenu/InternalMenu/InternalMenu.js +0 -4
  1004. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1005. package/internal/InternalMenu/InternalMenu.d.ts +63 -66
  1006. package/internal/InternalMenu/InternalMenu.styles.d.ts +10 -10
  1007. package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -2
  1008. package/internal/InternalMenu/index.d.ts +1 -1
  1009. package/internal/InternalMenu/isActiveElement.d.ts +3 -3
  1010. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  1011. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  1012. package/internal/MaskCharLowLine/index.d.ts +1 -1
  1013. package/internal/MaskedInput/MaskedInput/MaskedInput.js +0 -4
  1014. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  1015. package/internal/MaskedInput/MaskedInput.d.ts +43 -46
  1016. package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  1017. package/internal/MaskedInput/index.d.ts +1 -1
  1018. package/internal/Menu/Menu/Menu.js +0 -4
  1019. package/internal/Menu/Menu/Menu.js.map +1 -1
  1020. package/internal/Menu/Menu.d.ts +67 -70
  1021. package/internal/Menu/Menu.styles.d.ts +9 -9
  1022. package/internal/Menu/index.d.ts +1 -1
  1023. package/internal/Menu/isActiveElement.d.ts +3 -3
  1024. package/internal/MobilePopup/MobilePopup/MobilePopup.js +0 -6
  1025. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  1026. package/internal/MobilePopup/MobilePopup.d.ts +34 -38
  1027. package/internal/MobilePopup/MobilePopup.styles.d.ts +10 -10
  1028. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -15
  1029. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -10
  1030. package/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -1
  1031. package/internal/MobilePopup/index.d.ts +1 -1
  1032. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  1033. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  1034. package/internal/NativeDateInput/index.d.ts +1 -1
  1035. package/internal/NativeDateInput/utils.d.ts +7 -7
  1036. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  1037. package/internal/Popup/Popup/Popup.js +2 -7
  1038. package/internal/Popup/Popup/Popup.js.map +1 -1
  1039. package/internal/Popup/Popup.d.ts +166 -171
  1040. package/internal/Popup/Popup.styles.d.ts +16 -16
  1041. package/internal/Popup/PopupHelper.d.ts +26 -26
  1042. package/internal/Popup/PopupPin/PopupPin.js +0 -2
  1043. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  1044. package/internal/Popup/PopupPin.d.ts +56 -56
  1045. package/internal/Popup/PopupPin.styles.d.ts +3 -3
  1046. package/internal/Popup/index.d.ts +1 -1
  1047. package/internal/Popup/types.d.ts +2 -2
  1048. package/internal/PopupMenu/PopupMenu/PopupMenu.js +2 -7
  1049. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1050. package/internal/PopupMenu/PopupMenu.d.ts +87 -91
  1051. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  1052. package/internal/PopupMenu/index.d.ts +1 -1
  1053. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  1054. package/internal/RenderContainer/RenderContainer.d.ts +16 -16
  1055. package/internal/RenderContainer/RenderContainerTypes.d.ts +13 -13
  1056. package/internal/RenderContainer/RenderInnerContainer.d.ts +21 -21
  1057. package/internal/RenderContainer/index.d.ts +1 -1
  1058. package/internal/RenderLayer/RenderLayer.d.ts +31 -31
  1059. package/internal/RenderLayer/index.d.ts +1 -1
  1060. package/internal/ResizeDetector/ResizeDetector.d.ts +13 -13
  1061. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +6 -6
  1062. package/internal/ResizeDetector/index.d.ts +1 -1
  1063. package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -15
  1064. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -4
  1065. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +18 -18
  1066. package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  1067. package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  1068. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +12 -12
  1069. package/internal/ThemePlayground/FxInputPlayground.d.ts +12 -12
  1070. package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  1071. package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  1072. package/internal/ThemePlayground/Playground.d.ts +30 -30
  1073. package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  1074. package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  1075. package/internal/ThemePlayground/SelectPlayground.d.ts +15 -15
  1076. package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  1077. package/internal/ThemePlayground/SizesGroup.d.ts +4 -4
  1078. package/internal/ThemePlayground/SwitcherPlayground.d.ts +16 -16
  1079. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +53 -53
  1080. package/internal/ThemePlayground/ThemeEditor.d.ts +36 -36
  1081. package/internal/ThemePlayground/TogglePlayground.d.ts +4 -4
  1082. package/internal/ThemePlayground/TokenInputPlayground.d.ts +9 -9
  1083. package/internal/ThemePlayground/VariableValue.d.ts +43 -43
  1084. package/internal/ThemePlayground/constants.d.ts +19 -19
  1085. package/internal/ThemePlayground/darkTheme.d.ts +269 -269
  1086. package/internal/ThemePlayground/helpers.d.ts +2 -2
  1087. package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  1088. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +27 -27
  1089. package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  1090. package/internal/ZIndex/ZIndex.d.ts +46 -46
  1091. package/internal/ZIndex/ZIndexStorage.d.ts +21 -21
  1092. package/internal/ZIndex/index.d.ts +1 -1
  1093. package/internal/icons/16px/icon.styles.d.ts +4 -4
  1094. package/internal/icons/16px/index.d.ts +25 -25
  1095. package/internal/icons/20px/Icon.d.ts +30 -30
  1096. package/internal/icons/20px/icon.styles.d.ts +4 -4
  1097. package/internal/icons/20px/index.d.ts +2 -2
  1098. package/internal/icons/20px/svg.d.ts +14 -14
  1099. package/internal/icons/CloudIcon.d.ts +1 -1
  1100. package/internal/icons/CrossIcon.d.ts +1 -1
  1101. package/internal/icons/SpinnerIcon.d.ts +27 -27
  1102. package/internal/icons/SpinnerIcon.styles.d.ts +6 -6
  1103. package/internal/themes/DarkTheme.d.ts +138 -138
  1104. package/internal/themes/DefaultTheme.d.ts +898 -898
  1105. package/internal/themes/NotFlat.d.ts +133 -133
  1106. package/internal/themes/OldColors.d.ts +116 -116
  1107. package/internal/themes/Theme2022.d.ts +67 -67
  1108. package/internal/themes/Theme2022Dark.d.ts +5 -5
  1109. package/lib/ConditionalHandler.d.ts +12 -12
  1110. package/lib/InstanceWithAnchorElement.d.ts +5 -5
  1111. package/lib/LayoutEvents.d.ts +4 -4
  1112. package/lib/ModalStack.d.ts +14 -14
  1113. package/lib/SSRSafe.d.ts +7 -7
  1114. package/lib/Supports.d.ts +1 -1
  1115. package/lib/Upgrades.d.ts +6 -6
  1116. package/lib/animation/index.d.ts +6 -6
  1117. package/lib/animation/presets.d.ts +18 -18
  1118. package/lib/animation/stepper.d.ts +1 -1
  1119. package/lib/callChildRef/callChildRef.d.ts +3 -3
  1120. package/lib/client.d.ts +16 -16
  1121. package/lib/createPropsGetter.d.ts +3 -3
  1122. package/lib/currentEnvironment.d.ts +3 -3
  1123. package/lib/date/InternalDate.d.ts +58 -58
  1124. package/lib/date/InternalDateCalculator.d.ts +6 -6
  1125. package/lib/date/InternalDateGetter.d.ts +15 -15
  1126. package/lib/date/InternalDateSetter.d.ts +6 -6
  1127. package/lib/date/InternalDateTransformer.d.ts +12 -12
  1128. package/lib/date/InternalDateValidator.d.ts +12 -12
  1129. package/lib/date/constants.d.ts +28 -28
  1130. package/lib/date/localeSets.d.ts +5 -5
  1131. package/lib/date/types.d.ts +94 -94
  1132. package/lib/dom/getDOMRect.d.ts +11 -11
  1133. package/lib/dom/getScrollWidth.d.ts +1 -1
  1134. package/lib/dom/tabbableHelpers.d.ts +16 -16
  1135. package/lib/events/MouseDrag.d.ts +58 -58
  1136. package/lib/events/fixClickFocusIE.d.ts +1 -1
  1137. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -2
  1138. package/lib/events/keyListener.d.ts +7 -7
  1139. package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  1140. package/lib/events/keyboard/KeyboardMapKeys.d.ts +7 -7
  1141. package/lib/events/keyboard/extractCode.d.ts +3 -3
  1142. package/lib/events/keyboard/identifiers.d.ts +48 -48
  1143. package/lib/events/stopPropagation.d.ts +1 -1
  1144. package/lib/events/tabListener.d.ts +1 -1
  1145. package/lib/extractKeyboardAction.d.ts +13 -13
  1146. package/lib/filterProps.d.ts +12 -12
  1147. package/lib/forwardRefAndName.d.ts +5 -5
  1148. package/lib/getDisplayName.d.ts +3 -3
  1149. package/lib/listenFocusOutside.d.ts +8 -8
  1150. package/lib/locale/LocaleContext.d.ts +7 -7
  1151. package/lib/locale/LocaleHelper.d.ts +9 -9
  1152. package/lib/locale/constants.d.ts +2 -2
  1153. package/lib/locale/decorators.d.ts +36 -36
  1154. package/lib/locale/index.d.ts +3 -3
  1155. package/lib/locale/types.d.ts +21 -21
  1156. package/lib/locale/useLocaleForControl.d.ts +3 -3
  1157. package/lib/memo.d.ts +3 -3
  1158. package/lib/needsPolyfillPlaceholder.d.ts +6 -6
  1159. package/lib/net/fetch.d.ts +13 -13
  1160. package/lib/reactGetTextContent.d.ts +2 -2
  1161. package/lib/rootNode/getRootNode.d.ts +12 -12
  1162. package/lib/rootNode/index.d.ts +2 -2
  1163. package/lib/rootNode/rootNodeDecorator.d.ts +52 -52
  1164. package/lib/stringUtils.d.ts +1 -1
  1165. package/lib/styles/ColorFactory.d.ts +11 -11
  1166. package/lib/styles/ColorFunctions.d.ts +11 -11
  1167. package/lib/styles/ColorHelpers.d.ts +21 -21
  1168. package/lib/styles/ColorKeywords.d.ts +150 -150
  1169. package/lib/styles/ColorObject.d.ts +52 -52
  1170. package/lib/styles/DimensionFunctions.d.ts +1 -1
  1171. package/lib/styles/HoldSelectionColor.d.ts +1 -1
  1172. package/lib/styles/Mixins.d.ts +2 -2
  1173. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -1
  1174. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  1175. package/lib/theming/AnimationKeyframes.d.ts +7 -7
  1176. package/lib/theming/Emotion.d.ts +15 -15
  1177. package/lib/theming/Theme.d.ts +3 -3
  1178. package/lib/theming/ThemeContext.d.ts +2 -2
  1179. package/lib/theming/ThemeFactory/ThemeFactory.js +7 -1
  1180. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  1181. package/lib/theming/ThemeFactory.d.ts +7 -7
  1182. package/lib/theming/ThemeHelpers/ThemeHelpers.js +18 -4
  1183. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  1184. package/lib/theming/ThemeHelpers.d.ts +15 -6
  1185. package/lib/theming/themes/DarkTheme/DarkTheme.js +2 -2
  1186. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  1187. package/lib/theming/themes/DarkTheme.d.ts +1 -1
  1188. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  1189. package/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -1
  1190. package/lib/theming/themes/DefaultThemeMobile.d.ts +3 -3
  1191. package/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -1
  1192. package/lib/theming/themes/Theme2022.d.ts +1 -1
  1193. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +2 -1
  1194. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  1195. package/lib/theming/themes/Theme2022Dark.d.ts +1 -1
  1196. package/lib/theming/useTheme.d.ts +1 -1
  1197. package/lib/uidUtils.d.ts +1 -1
  1198. package/lib/utils.d.ts +80 -80
  1199. package/lib/withClassWrapper.d.ts +71 -71
  1200. package/package.json +2 -5
  1201. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  1202. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  1203. package/cjs/internal/DataTids/DataTids.js +0 -50
  1204. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  1205. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  1206. package/cjs/internal/DataTids/DataTids.styles.js +0 -41
  1207. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  1208. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  1209. package/cjs/internal/DataTids/componentsDataTids.js +0 -16
  1210. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  1211. package/internal/DataTids/DATATIDS.md +0 -12
  1212. package/internal/DataTids/DataTids/DataTids.js +0 -69
  1213. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  1214. package/internal/DataTids/DataTids/package.json +0 -6
  1215. package/internal/DataTids/DataTids.d.ts +0 -12
  1216. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -22
  1217. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  1218. package/internal/DataTids/DataTids.styles/package.json +0 -6
  1219. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  1220. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -14
  1221. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  1222. package/internal/DataTids/componentsDataTids/package.json +0 -6
  1223. package/internal/DataTids/componentsDataTids.d.ts +0 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["ComboBoxMenu.tsx"],"names":["React","isFunction","isNullable","locale","Menu","isMenuItem","MenuItem","Spinner","MenuSeparator","createPropsGetter","ComboBoxRequestStatus","CustomComboBoxLocaleHelper","ComboBoxMenuDataTids","loading","failed","notFound","items","item","ComboBoxMenu","getProps","defaultProps","renderItem","index","props","onValueChange","itemWrapper","isValidElement","element","Object","assign","key","onClick","cloneElement","isMobile","state","render","opened","totalCount","refMenu","renderNotFound","renderTotalCount","maxMenuHeight","requestStatus","errorNetworkButton","errorNetworkMessage","renderAddButton","maxHeight","length","Failed","maxWidth","whiteSpace","repeatRequest","notFoundValue","total","renderedItems","map","menuItems","filter","countItems","fontSize","Component","__KONTUR_REACT_UI__","undefined","Unknown"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isFunction, isNullable } from '../../lib/utils';\nimport { locale } from '../../lib/locale/decorators';\nimport { Menu } from '../Menu';\nimport { isMenuItem, MenuItem, MenuItemState } from '../../components/MenuItem';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { ComboBoxLocale, CustomComboBoxLocaleHelper } from './locale';\n\nexport interface ComboBoxMenuProps<T> {\n opened?: boolean;\n items?: Nullable<T[]>;\n totalCount?: number;\n loading?: boolean;\n maxMenuHeight?: number | string;\n refMenu?: (menu: Nullable<Menu>) => void;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item?: T) => React.ComponentType<unknown>;\n onValueChange: (value: T) => any;\n renderAddButton?: () => React.ReactNode;\n caption?: React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n isMobile?: boolean;\n}\n\nexport const ComboBoxMenuDataTids = {\n loading: 'ComboBoxMenu__loading',\n failed: 'ComboBoxMenu__failed',\n notFound: 'ComboBoxMenu__notFound',\n items: 'ComboBoxMenu__items',\n item: 'ComboBoxMenu__item',\n} as const;\n\ntype DefaultProps<T> = Required<Pick<ComboBoxMenuProps<T>, 'repeatRequest' | 'requestStatus'>>;\n\n@locale('ComboBox', CustomComboBoxLocaleHelper)\nexport class ComboBoxMenu<T> extends React.Component<ComboBoxMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxMenu';\n\n public static defaultProps: DefaultProps<unknown> = {\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n };\n\n private getProps = createPropsGetter(ComboBoxMenu.defaultProps);\n\n private readonly locale!: ComboBoxLocale;\n\n public render() {\n const {\n opened,\n items,\n totalCount,\n loading,\n refMenu,\n renderNotFound = () => notFound,\n renderTotalCount,\n maxMenuHeight,\n isMobile,\n } = this.props;\n\n const requestStatus = this.getProps().requestStatus;\n\n const { notFound, errorNetworkButton, errorNetworkMessage } = this.locale;\n\n if (!opened) {\n return null;\n }\n\n let renderAddButton = null;\n if (this.props.renderAddButton) {\n renderAddButton = this.props.renderAddButton();\n }\n\n const maxHeight = isMobile ? 'auto' : maxMenuHeight;\n\n if (loading && (!items || !items.length)) {\n return (\n <Menu\n maxHeight={maxHeight}\n ref={refMenu}\n disableScrollContainer={isMobile}\n data-tid={ComboBoxMenuDataTids.loading}\n >\n <MenuItem disabled isMobile={isMobile}>\n <Spinner type=\"mini\" dimmed />\n </MenuItem>\n </Menu>\n );\n }\n\n if (items === null && requestStatus === ComboBoxRequestStatus.Failed) {\n return (\n <Menu\n ref={refMenu}\n maxHeight={maxHeight}\n disableScrollContainer={isMobile}\n data-tid={ComboBoxMenuDataTids.failed}\n >\n <MenuItem disabled key=\"message\" isMobile={isMobile}>\n <div style={{ maxWidth: 300, whiteSpace: 'normal' }}>{errorNetworkMessage}</div>\n </MenuItem>\n <MenuItem link onClick={this.getProps().repeatRequest} key=\"retry\" isMobile={isMobile}>\n {errorNetworkButton}\n </MenuItem>\n </Menu>\n );\n }\n\n if ((isNullable(items) || items.length === 0) && renderNotFound) {\n const notFoundValue = renderNotFound();\n if (renderAddButton) {\n return (\n <Menu maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n {renderAddButton}\n </Menu>\n );\n }\n\n if (notFoundValue) {\n return (\n <Menu maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n <MenuItem data-tid={ComboBoxMenuDataTids.notFound} disabled isMobile={isMobile}>\n {notFoundValue}\n </MenuItem>\n </Menu>\n );\n }\n\n return null;\n }\n\n let total = null;\n const renderedItems = items && items.map(this.renderItem);\n const menuItems = renderedItems?.filter((item) => {\n return isMenuItem(item);\n });\n const countItems = menuItems?.length;\n\n if (countItems && renderTotalCount && totalCount && countItems < totalCount) {\n total = (\n <MenuItem disabled key=\"total\" isMobile={isMobile}>\n <div style={{ fontSize: 12 }}>{renderTotalCount(countItems, totalCount)}</div>\n </MenuItem>\n );\n }\n\n return (\n <Menu data-tid={ComboBoxMenuDataTids.items} ref={refMenu} maxHeight={maxHeight} disableScrollContainer={isMobile}>\n {renderedItems}\n {total}\n {renderAddButton && [<MenuSeparator key=\"separator\" />, renderAddButton]}\n </Menu>\n );\n }\n\n private renderItem = (item: T, index: number): React.ReactNode => {\n // NOTE this is undesireable feature, better\n // to remove it from further versions\n const { renderItem, onValueChange, itemWrapper } = this.props;\n if (isFunction(item) || React.isValidElement(item)) {\n const element = isFunction(item) ? item() : item;\n const props = Object.assign(\n {\n key: index,\n onClick: () => onValueChange(element.props),\n },\n element.props,\n );\n return React.cloneElement(element, props);\n }\n\n return (\n <MenuItem\n component={itemWrapper?.(item)}\n data-tid={ComboBoxMenuDataTids.item}\n onClick={() => onValueChange(item)}\n key={index}\n isMobile={this.props.isMobile}\n >\n {(state) => renderItem(item, state)}\n </MenuItem>\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["ComboBoxMenu.tsx"],"names":["React","isFunction","isNullable","locale","Menu","isMenuItem","MenuItem","Spinner","MenuSeparator","createPropsGetter","ComboBoxRequestStatus","CustomComboBoxLocaleHelper","ComboBoxMenu","getProps","defaultProps","renderItem","item","index","props","onValueChange","itemWrapper","isValidElement","element","Object","assign","key","onClick","cloneElement","isMobile","state","render","opened","items","totalCount","loading","refMenu","renderNotFound","notFound","renderTotalCount","maxMenuHeight","requestStatus","errorNetworkButton","errorNetworkMessage","renderAddButton","maxHeight","length","Failed","maxWidth","whiteSpace","repeatRequest","notFoundValue","total","renderedItems","map","menuItems","filter","countItems","fontSize","Component","__KONTUR_REACT_UI__","undefined","Unknown"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isFunction, isNullable } from '../../lib/utils';\nimport { locale } from '../../lib/locale/decorators';\nimport { Menu } from '../Menu';\nimport { isMenuItem, MenuItem, MenuItemState } from '../../components/MenuItem';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { ComboBoxLocale, CustomComboBoxLocaleHelper } from './locale';\n\nexport interface ComboBoxMenuProps<T> {\n opened?: boolean;\n items?: Nullable<T[]>;\n totalCount?: number;\n loading?: boolean;\n maxMenuHeight?: number | string;\n refMenu?: (menu: Nullable<Menu>) => void;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item?: T) => React.ComponentType<unknown>;\n onValueChange: (value: T) => any;\n renderAddButton?: () => React.ReactNode;\n caption?: React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n isMobile?: boolean;\n}\n\ntype DefaultProps<T> = Required<Pick<ComboBoxMenuProps<T>, 'repeatRequest' | 'requestStatus'>>;\n\n@locale('ComboBox', CustomComboBoxLocaleHelper)\nexport class ComboBoxMenu<T> extends React.Component<ComboBoxMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxMenu';\n\n public static defaultProps: DefaultProps<unknown> = {\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n };\n\n private getProps = createPropsGetter(ComboBoxMenu.defaultProps);\n\n private readonly locale!: ComboBoxLocale;\n\n public render() {\n const {\n opened,\n items,\n totalCount,\n loading,\n refMenu,\n renderNotFound = () => notFound,\n renderTotalCount,\n maxMenuHeight,\n isMobile,\n } = this.props;\n\n const requestStatus = this.getProps().requestStatus;\n\n const { notFound, errorNetworkButton, errorNetworkMessage } = this.locale;\n\n if (!opened) {\n return null;\n }\n\n let renderAddButton = null;\n if (this.props.renderAddButton) {\n renderAddButton = this.props.renderAddButton();\n }\n\n const maxHeight = isMobile ? 'auto' : maxMenuHeight;\n\n if (loading && (!items || !items.length)) {\n return (\n <Menu maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile} data-tid=\"ComboBoxMenu__loading\">\n <MenuItem disabled isMobile={isMobile}>\n <Spinner type=\"mini\" dimmed />\n </MenuItem>\n </Menu>\n );\n }\n\n if (items === null && requestStatus === ComboBoxRequestStatus.Failed) {\n return (\n <Menu ref={refMenu} maxHeight={maxHeight} disableScrollContainer={isMobile} data-tid=\"ComboBoxMenu__failed\">\n <MenuItem disabled key=\"message\" isMobile={isMobile}>\n <div style={{ maxWidth: 300, whiteSpace: 'normal' }}>{errorNetworkMessage}</div>\n </MenuItem>\n <MenuItem link onClick={this.getProps().repeatRequest} key=\"retry\" isMobile={isMobile}>\n {errorNetworkButton}\n </MenuItem>\n </Menu>\n );\n }\n\n if ((isNullable(items) || items.length === 0) && renderNotFound) {\n const notFoundValue = renderNotFound();\n if (renderAddButton) {\n return (\n <Menu maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n {renderAddButton}\n </Menu>\n );\n }\n\n if (notFoundValue) {\n return (\n <Menu maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n <MenuItem data-tid=\"ComboBoxMenu__notFound\" disabled isMobile={isMobile}>\n {notFoundValue}\n </MenuItem>\n </Menu>\n );\n }\n\n return null;\n }\n\n let total = null;\n const renderedItems = items && items.map(this.renderItem);\n const menuItems = renderedItems?.filter((item) => {\n return isMenuItem(item);\n });\n const countItems = menuItems?.length;\n\n if (countItems && renderTotalCount && totalCount && countItems < totalCount) {\n total = (\n <MenuItem disabled key=\"total\" isMobile={isMobile}>\n <div style={{ fontSize: 12 }}>{renderTotalCount(countItems, totalCount)}</div>\n </MenuItem>\n );\n }\n\n return (\n <Menu data-tid=\"ComboBoxMenu__items\" ref={refMenu} maxHeight={maxHeight} disableScrollContainer={isMobile}>\n {renderedItems}\n {total}\n {renderAddButton && [<MenuSeparator key=\"separator\" />, renderAddButton]}\n </Menu>\n );\n }\n\n private renderItem = (item: T, index: number): React.ReactNode => {\n // NOTE this is undesireable feature, better\n // to remove it from further versions\n const { renderItem, onValueChange, itemWrapper } = this.props;\n if (isFunction(item) || React.isValidElement(item)) {\n const element = isFunction(item) ? item() : item;\n const props = Object.assign(\n {\n key: index,\n onClick: () => onValueChange(element.props),\n },\n element.props,\n );\n return React.cloneElement(element, props);\n }\n\n return (\n <MenuItem\n data-tid=\"ComboBoxMenu__item\"\n component={itemWrapper?.(item)}\n onClick={() => onValueChange(item)}\n key={index}\n isMobile={this.props.isMobile}\n >\n {(state) => renderItem(item, state)}\n </MenuItem>\n );\n };\n}\n"]}
@@ -1,40 +1,33 @@
1
- import React from 'react';
2
- import { Menu } from '../Menu';
3
- import { MenuItemState } from '../../components/MenuItem';
4
- import { Nullable } from '../../typings/utility-types';
5
- import { ComboBoxRequestStatus } from './CustomComboBoxTypes';
6
- export interface ComboBoxMenuProps<T> {
7
- opened?: boolean;
8
- items?: Nullable<T[]>;
9
- totalCount?: number;
10
- loading?: boolean;
11
- maxMenuHeight?: number | string;
12
- refMenu?: (menu: Nullable<Menu>) => void;
13
- renderNotFound?: () => React.ReactNode;
14
- renderTotalCount?: (found: number, total: number) => React.ReactNode;
15
- renderItem: (item: T, state: MenuItemState) => React.ReactNode;
16
- itemWrapper?: (item?: T) => React.ComponentType<unknown>;
17
- onValueChange: (value: T) => any;
18
- renderAddButton?: () => React.ReactNode;
19
- caption?: React.ReactNode;
20
- repeatRequest?: () => void;
21
- requestStatus?: ComboBoxRequestStatus;
22
- isMobile?: boolean;
23
- }
24
- export declare const ComboBoxMenuDataTids: {
25
- readonly loading: "ComboBoxMenu__loading";
26
- readonly failed: "ComboBoxMenu__failed";
27
- readonly notFound: "ComboBoxMenu__notFound";
28
- readonly items: "ComboBoxMenu__items";
29
- readonly item: "ComboBoxMenu__item";
30
- };
31
- declare type DefaultProps<T> = Required<Pick<ComboBoxMenuProps<T>, 'repeatRequest' | 'requestStatus'>>;
32
- export declare class ComboBoxMenu<T> extends React.Component<ComboBoxMenuProps<T>> {
33
- static __KONTUR_REACT_UI__: string;
34
- static defaultProps: DefaultProps<unknown>;
35
- private getProps;
36
- private readonly locale;
37
- render(): JSX.Element | null;
38
- private renderItem;
39
- }
40
- export {};
1
+ import React from 'react';
2
+ import { Menu } from '../Menu';
3
+ import { MenuItemState } from '../../components/MenuItem';
4
+ import { Nullable } from '../../typings/utility-types';
5
+ import { ComboBoxRequestStatus } from './CustomComboBoxTypes';
6
+ export interface ComboBoxMenuProps<T> {
7
+ opened?: boolean;
8
+ items?: Nullable<T[]>;
9
+ totalCount?: number;
10
+ loading?: boolean;
11
+ maxMenuHeight?: number | string;
12
+ refMenu?: (menu: Nullable<Menu>) => void;
13
+ renderNotFound?: () => React.ReactNode;
14
+ renderTotalCount?: (found: number, total: number) => React.ReactNode;
15
+ renderItem: (item: T, state: MenuItemState) => React.ReactNode;
16
+ itemWrapper?: (item?: T) => React.ComponentType<unknown>;
17
+ onValueChange: (value: T) => any;
18
+ renderAddButton?: () => React.ReactNode;
19
+ caption?: React.ReactNode;
20
+ repeatRequest?: () => void;
21
+ requestStatus?: ComboBoxRequestStatus;
22
+ isMobile?: boolean;
23
+ }
24
+ declare type DefaultProps<T> = Required<Pick<ComboBoxMenuProps<T>, 'repeatRequest' | 'requestStatus'>>;
25
+ export declare class ComboBoxMenu<T> extends React.Component<ComboBoxMenuProps<T>> {
26
+ static __KONTUR_REACT_UI__: string;
27
+ static defaultProps: DefaultProps<unknown>;
28
+ private getProps;
29
+ private readonly locale;
30
+ render(): JSX.Element | null;
31
+ private renderItem;
32
+ }
33
+ export {};
@@ -20,7 +20,6 @@ import { createPropsGetter } from "../../../lib/createPropsGetter";
20
20
  import { ComboBoxMenu } from "../ComboBoxMenu";
21
21
  import { ComboBoxRequestStatus } from "../CustomComboBoxTypes";
22
22
  import { styles } from "../CustomComboBox.styles";
23
- import { CustomComboBoxDataTids } from "../CustomComboBox";
24
23
  export var ComboBoxView = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
25
24
  _inheritsLoose(ComboBoxView, _React$Component);
26
25
 
@@ -78,8 +77,10 @@ export var ComboBoxView = responsiveLayout(_class = rootNode(_class = (_temp = _
78
77
  _this.renderMenu = function () {
79
78
  var _this$props2 = _this.props,
80
79
  menuAlign = _this$props2.menuAlign,
81
- opened = _this$props2.opened;
80
+ opened = _this$props2.opened,
81
+ menuPos = _this$props2.menuPos;
82
82
  return opened && /*#__PURE__*/React.createElement(DropdownContainer, {
83
+ menuPos: menuPos,
83
84
  align: menuAlign,
84
85
  getParent: _this.getParent,
85
86
  offsetY: 1,
@@ -240,7 +241,6 @@ export var ComboBoxView = responsiveLayout(_class = rootNode(_class = (_temp = _
240
241
  onFocusOutside: onFocusOutside,
241
242
  active: opened
242
243
  }, /*#__PURE__*/React.createElement("span", {
243
- "data-tid": CustomComboBoxDataTids.comboBoxView,
244
244
  style: {
245
245
  width: width
246
246
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["ComboBoxView.tsx"],"names":["React","isNonNullable","DropdownContainer","Input","InputLikeText","RenderLayer","Spinner","ArrowChevronDownIcon","CommonWrapper","MobilePopup","responsiveLayout","rootNode","getRootNode","createPropsGetter","ComboBoxMenu","ComboBoxRequestStatus","styles","CustomComboBoxDataTids","ComboBoxView","getProps","defaultProps","mobileInput","dropdownContainerRef","createRef","state","isMobileOpened","getComboBoxMenu","props","items","loading","opened","refMenu","maxMenuHeight","renderTotalCount","renderNotFound","totalCount","repeatRequest","requestStatus","renderItem","itemWrapper","handleItemSelect","renderAddButton","isMobileLayout","renderMenu","menuAlign","getParent","disablePortal","renderMobileMenu","rightIcon","length","renderSpinner","inputProps","autoFocus","width","onFocus","onValueChange","onInputValueChange","value","textValue","placeholder","refMobileInput","handleCloseMobile","setState","onInputBlur","handleFocusMobile","focus","item","refInput","input","spinnerWrapper","getRightIcon","drawArrow","rightIconWrapper","componentDidMount","current","position","componentDidUpdate","prevProps","editing","render","onMouseEnter","onMouseLeave","onMouseOver","onClickOutside","onFocusOutside","isMobile","renderInput","comboBoxView","root","setRootNode","align","borderless","disabled","error","onInputFocus","onInputClick","onInputKeyDown","warning","refInputLikeText","leftIcon","inputMode","renderValue","size","maxLength","undefined","Component","__KONTUR_REACT_UI__","Unknown"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { DropdownContainer } from '../DropdownContainer';\nimport { Input, InputIconType, InputProps } from '../../components/Input';\nimport { InputLikeText } from '../InputLikeText';\nimport { Menu } from '../Menu';\nimport { MenuItemState } from '../../components/MenuItem';\nimport { RenderLayer } from '../RenderLayer';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { ArrowChevronDownIcon } from '../icons/16px';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../MobilePopup';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, getRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { ComboBoxMenu } from './ComboBoxMenu';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { styles } from './CustomComboBox.styles';\nimport { CustomComboBoxDataTids } from './CustomComboBox';\n\ninterface ComboBoxViewProps<T> extends CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n editing?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n items?: Nullable<T[]>;\n loading?: boolean;\n menuAlign?: 'left' | 'right';\n opened?: boolean;\n drawArrow?: boolean;\n placeholder?: string;\n size?: 'small' | 'medium' | 'large';\n textValue?: string;\n totalCount?: number;\n value?: Nullable<T>;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxLength?: number;\n maxMenuHeight?: number | string;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n onValueChange?: (value: T) => void;\n onClickOutside?: (e: Event) => void;\n onFocus?: () => void;\n onFocusOutside?: () => void;\n onInputBlur?: () => void;\n onInputValueChange?: (value: string) => void;\n onInputFocus?: () => void;\n onInputClick?: () => void;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item?: T) => React.ComponentType<unknown>;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderValue?: (item: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n refInput?: (input: Nullable<Input>) => void;\n refMenu?: (menu: Nullable<Menu>) => void;\n refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;\n}\n\ninterface ComboBoxViewState {\n isMobileOpened: boolean;\n}\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxViewProps<T>,\n | 'renderItem'\n | 'renderValue'\n | 'renderAddButton'\n | 'repeatRequest'\n | 'requestStatus'\n | 'onClickOutside'\n | 'onFocusOutside'\n | 'size'\n | 'width'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>, ComboBoxViewState> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxView';\n\n public static defaultProps: DefaultProps<unknown> = {\n renderItem: (item: any) => item,\n renderValue: (item: any) => item,\n renderAddButton: () => null,\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n onClickOutside: () => {\n /**/\n },\n onFocusOutside: () => {\n /**/\n },\n size: 'small',\n width: 250,\n };\n\n private getProps = createPropsGetter(ComboBoxView.defaultProps);\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private mobileInput: Nullable<Input> = null;\n private isMobileLayout!: boolean;\n private dropdownContainerRef = React.createRef<DropdownContainer>();\n\n public componentDidMount() {\n if (this.props.autoFocus && this.props.onFocus) {\n this.props.onFocus();\n }\n this.props.opened && this.dropdownContainerRef.current?.position();\n }\n\n public state: ComboBoxViewState = {\n isMobileOpened: false,\n };\n\n public componentDidUpdate(prevProps: ComboBoxViewProps<T>) {\n const { input, props } = this;\n\n if (props.editing && !prevProps.editing && input) {\n input.focus();\n }\n }\n\n public render() {\n const { onMouseEnter, onMouseLeave, onMouseOver, opened } = this.props;\n const { onClickOutside, onFocusOutside, width } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n const input = this.renderInput();\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={onClickOutside} onFocusOutside={onFocusOutside} active={opened}>\n <span\n data-tid={CustomComboBoxDataTids.comboBoxView}\n style={{ width }}\n className={styles.root()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n ref={this.setRootNode}\n >\n {input}\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getComboBoxMenu = () => {\n const { items, loading, opened, refMenu, maxMenuHeight, renderTotalCount, renderNotFound, totalCount } = this.props;\n\n const { repeatRequest, requestStatus, renderItem, itemWrapper } = this.getProps();\n return (\n <ComboBoxMenu\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={this.handleItemSelect}\n opened={opened}\n refMenu={refMenu}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n itemWrapper={itemWrapper}\n renderAddButton={this.renderAddButton}\n repeatRequest={repeatRequest}\n requestStatus={requestStatus}\n totalCount={totalCount}\n isMobile={this.isMobileLayout}\n />\n );\n };\n\n private renderMenu = () => {\n const { menuAlign, opened } = this.props;\n\n return (\n opened && (\n <DropdownContainer\n align={menuAlign}\n getParent={this.getParent}\n offsetY={1}\n disablePortal={this.props.disablePortal}\n ref={this.dropdownContainerRef}\n >\n {this.getComboBoxMenu()}\n </DropdownContainer>\n )\n );\n };\n\n private renderMobileMenu = () => {\n let rightIcon = null;\n\n const { loading, items } = this.props;\n if (loading && items && !!items.length) {\n rightIcon = this.renderSpinner();\n }\n\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onFocus: this.props.onFocus,\n onValueChange: this.props.onInputValueChange,\n value: this.props.textValue,\n placeholder: this.props.placeholder,\n rightIcon,\n };\n\n return (\n <MobilePopup\n headerChildComponent={<Input ref={this.refMobileInput} {...inputProps} />}\n useFullHeight\n onCloseRequest={this.handleCloseMobile}\n opened={this.state.isMobileOpened}\n >\n {this.getComboBoxMenu()}\n </MobilePopup>\n );\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n if (this.props.onInputBlur) {\n this.props.onInputBlur();\n }\n };\n\n private getParent = () => {\n return getRootNode(this);\n };\n\n private renderAddButton = (): React.ReactNode => {\n return this.getProps().renderAddButton(this.props.textValue);\n };\n\n private renderInput(): React.ReactNode {\n const isMobile = this.isMobileLayout;\n\n const {\n align,\n borderless,\n disabled,\n editing,\n error,\n onFocus,\n onInputBlur,\n onInputValueChange,\n onInputFocus,\n onInputClick,\n onInputKeyDown,\n placeholder,\n textValue,\n value,\n warning,\n refInputLikeText,\n leftIcon,\n inputMode,\n } = this.props;\n\n const { renderValue, size } = this.getProps();\n\n const rightIcon = this.getRightIcon();\n\n if (editing) {\n return (\n <Input\n align={align}\n borderless={borderless}\n disabled={disabled}\n error={error}\n maxLength={this.props.maxLength}\n onBlur={isMobile ? undefined : onInputBlur}\n onValueChange={onInputValueChange}\n onFocus={isMobile ? this.handleFocusMobile : onInputFocus}\n onClick={isMobile ? this.handleFocusMobile : onInputClick}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n value={textValue || ''}\n onKeyDown={onInputKeyDown}\n placeholder={placeholder}\n width=\"100%\"\n size={size}\n ref={this.refInput}\n warning={warning}\n inputMode={inputMode}\n />\n );\n }\n\n return (\n <InputLikeText\n align={align}\n borderless={borderless}\n error={error}\n onFocus={onFocus}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n disabled={disabled}\n warning={warning}\n placeholder={placeholder}\n size={size}\n width=\"100%\"\n ref={refInputLikeText}\n >\n {isNonNullable(value) && renderValue ? renderValue(value) : null}\n </InputLikeText>\n );\n }\n\n private handleFocusMobile = () => {\n this.setState({\n isMobileOpened: true,\n });\n\n if (this.mobileInput) {\n this.mobileInput.focus();\n }\n };\n\n private handleItemSelect = (item: T) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(item);\n }\n\n if (this.isMobileLayout) {\n this.handleCloseMobile();\n }\n };\n\n private refInput = (input: Nullable<Input>) => {\n if (this.props.refInput) {\n this.props.refInput(input);\n }\n this.input = input;\n };\n\n private renderSpinner = () => (\n <span className={styles.spinnerWrapper()}>\n <Spinner type=\"mini\" caption=\"\" dimmed />\n </span>\n );\n\n private getRightIcon = () => {\n const { loading, items, drawArrow, rightIcon } = this.props;\n\n if (loading && items && !!items.length) {\n return this.renderSpinner();\n }\n\n if (rightIcon || drawArrow) {\n return <span className={styles.rightIconWrapper()}>{rightIcon ?? <ArrowChevronDownIcon />}</span>;\n }\n\n return null;\n };\n\n private refMobileInput = (input: Nullable<Input>) => {\n this.mobileInput = input;\n };\n}\n"]}
1
+ {"version":3,"sources":["ComboBoxView.tsx"],"names":["React","isNonNullable","DropdownContainer","Input","InputLikeText","RenderLayer","Spinner","ArrowChevronDownIcon","CommonWrapper","MobilePopup","responsiveLayout","rootNode","getRootNode","createPropsGetter","ComboBoxMenu","ComboBoxRequestStatus","styles","ComboBoxView","getProps","defaultProps","mobileInput","dropdownContainerRef","createRef","state","isMobileOpened","getComboBoxMenu","props","items","loading","opened","refMenu","maxMenuHeight","renderTotalCount","renderNotFound","totalCount","repeatRequest","requestStatus","renderItem","itemWrapper","handleItemSelect","renderAddButton","isMobileLayout","renderMenu","menuAlign","menuPos","getParent","disablePortal","renderMobileMenu","rightIcon","length","renderSpinner","inputProps","autoFocus","width","onFocus","onValueChange","onInputValueChange","value","textValue","placeholder","refMobileInput","handleCloseMobile","setState","onInputBlur","handleFocusMobile","focus","item","refInput","input","spinnerWrapper","getRightIcon","drawArrow","rightIconWrapper","componentDidMount","current","position","componentDidUpdate","prevProps","editing","render","onMouseEnter","onMouseLeave","onMouseOver","onClickOutside","onFocusOutside","isMobile","renderInput","root","setRootNode","align","borderless","disabled","error","onInputFocus","onInputClick","onInputKeyDown","warning","refInputLikeText","leftIcon","inputMode","renderValue","size","maxLength","undefined","Component","__KONTUR_REACT_UI__","Unknown"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { DropdownContainer, DropdownContainerProps } from '../DropdownContainer';\nimport { Input, InputIconType, InputProps } from '../../components/Input';\nimport { InputLikeText } from '../InputLikeText';\nimport { Menu } from '../Menu';\nimport { MenuItemState } from '../../components/MenuItem';\nimport { RenderLayer } from '../RenderLayer';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { ArrowChevronDownIcon } from '../icons/16px';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../MobilePopup';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, getRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { ComboBoxMenu } from './ComboBoxMenu';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { styles } from './CustomComboBox.styles';\n\ninterface ComboBoxViewProps<T> extends Pick<DropdownContainerProps, 'menuPos'>, CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n editing?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n items?: Nullable<T[]>;\n loading?: boolean;\n menuAlign?: 'left' | 'right';\n opened?: boolean;\n drawArrow?: boolean;\n placeholder?: string;\n size?: 'small' | 'medium' | 'large';\n textValue?: string;\n totalCount?: number;\n value?: Nullable<T>;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxLength?: number;\n maxMenuHeight?: number | string;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n onValueChange?: (value: T) => void;\n onClickOutside?: (e: Event) => void;\n onFocus?: () => void;\n onFocusOutside?: () => void;\n onInputBlur?: () => void;\n onInputValueChange?: (value: string) => void;\n onInputFocus?: () => void;\n onInputClick?: () => void;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item?: T) => React.ComponentType<unknown>;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderValue?: (item: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n refInput?: (input: Nullable<Input>) => void;\n refMenu?: (menu: Nullable<Menu>) => void;\n refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;\n}\n\ninterface ComboBoxViewState {\n isMobileOpened: boolean;\n}\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxViewProps<T>,\n | 'renderItem'\n | 'renderValue'\n | 'renderAddButton'\n | 'repeatRequest'\n | 'requestStatus'\n | 'onClickOutside'\n | 'onFocusOutside'\n | 'size'\n | 'width'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>, ComboBoxViewState> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxView';\n\n public static defaultProps: DefaultProps<unknown> = {\n renderItem: (item: any) => item,\n renderValue: (item: any) => item,\n renderAddButton: () => null,\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n onClickOutside: () => {\n /**/\n },\n onFocusOutside: () => {\n /**/\n },\n size: 'small',\n width: 250,\n };\n\n private getProps = createPropsGetter(ComboBoxView.defaultProps);\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private mobileInput: Nullable<Input> = null;\n private isMobileLayout!: boolean;\n private dropdownContainerRef = React.createRef<DropdownContainer>();\n\n public componentDidMount() {\n if (this.props.autoFocus && this.props.onFocus) {\n this.props.onFocus();\n }\n this.props.opened && this.dropdownContainerRef.current?.position();\n }\n\n public state: ComboBoxViewState = {\n isMobileOpened: false,\n };\n\n public componentDidUpdate(prevProps: ComboBoxViewProps<T>) {\n const { input, props } = this;\n\n if (props.editing && !prevProps.editing && input) {\n input.focus();\n }\n }\n\n public render() {\n const { onMouseEnter, onMouseLeave, onMouseOver, opened } = this.props;\n const { onClickOutside, onFocusOutside, width } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n const input = this.renderInput();\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={onClickOutside} onFocusOutside={onFocusOutside} active={opened}>\n <span\n style={{ width }}\n className={styles.root()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n ref={this.setRootNode}\n >\n {input}\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getComboBoxMenu = () => {\n const { items, loading, opened, refMenu, maxMenuHeight, renderTotalCount, renderNotFound, totalCount } = this.props;\n\n const { repeatRequest, requestStatus, renderItem, itemWrapper } = this.getProps();\n return (\n <ComboBoxMenu\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={this.handleItemSelect}\n opened={opened}\n refMenu={refMenu}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n itemWrapper={itemWrapper}\n renderAddButton={this.renderAddButton}\n repeatRequest={repeatRequest}\n requestStatus={requestStatus}\n totalCount={totalCount}\n isMobile={this.isMobileLayout}\n />\n );\n };\n\n private renderMenu = () => {\n const { menuAlign, opened, menuPos } = this.props;\n\n return (\n opened && (\n <DropdownContainer\n menuPos={menuPos}\n align={menuAlign}\n getParent={this.getParent}\n offsetY={1}\n disablePortal={this.props.disablePortal}\n ref={this.dropdownContainerRef}\n >\n {this.getComboBoxMenu()}\n </DropdownContainer>\n )\n );\n };\n\n private renderMobileMenu = () => {\n let rightIcon = null;\n\n const { loading, items } = this.props;\n if (loading && items && !!items.length) {\n rightIcon = this.renderSpinner();\n }\n\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onFocus: this.props.onFocus,\n onValueChange: this.props.onInputValueChange,\n value: this.props.textValue,\n placeholder: this.props.placeholder,\n rightIcon,\n };\n\n return (\n <MobilePopup\n headerChildComponent={<Input ref={this.refMobileInput} {...inputProps} />}\n useFullHeight\n onCloseRequest={this.handleCloseMobile}\n opened={this.state.isMobileOpened}\n >\n {this.getComboBoxMenu()}\n </MobilePopup>\n );\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n if (this.props.onInputBlur) {\n this.props.onInputBlur();\n }\n };\n\n private getParent = () => {\n return getRootNode(this);\n };\n\n private renderAddButton = (): React.ReactNode => {\n return this.getProps().renderAddButton(this.props.textValue);\n };\n\n private renderInput(): React.ReactNode {\n const isMobile = this.isMobileLayout;\n\n const {\n align,\n borderless,\n disabled,\n editing,\n error,\n onFocus,\n onInputBlur,\n onInputValueChange,\n onInputFocus,\n onInputClick,\n onInputKeyDown,\n placeholder,\n textValue,\n value,\n warning,\n refInputLikeText,\n leftIcon,\n inputMode,\n } = this.props;\n\n const { renderValue, size } = this.getProps();\n\n const rightIcon = this.getRightIcon();\n\n if (editing) {\n return (\n <Input\n align={align}\n borderless={borderless}\n disabled={disabled}\n error={error}\n maxLength={this.props.maxLength}\n onBlur={isMobile ? undefined : onInputBlur}\n onValueChange={onInputValueChange}\n onFocus={isMobile ? this.handleFocusMobile : onInputFocus}\n onClick={isMobile ? this.handleFocusMobile : onInputClick}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n value={textValue || ''}\n onKeyDown={onInputKeyDown}\n placeholder={placeholder}\n width=\"100%\"\n size={size}\n ref={this.refInput}\n warning={warning}\n inputMode={inputMode}\n />\n );\n }\n\n return (\n <InputLikeText\n align={align}\n borderless={borderless}\n error={error}\n onFocus={onFocus}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n disabled={disabled}\n warning={warning}\n placeholder={placeholder}\n size={size}\n width=\"100%\"\n ref={refInputLikeText}\n >\n {isNonNullable(value) && renderValue ? renderValue(value) : null}\n </InputLikeText>\n );\n }\n\n private handleFocusMobile = () => {\n this.setState({\n isMobileOpened: true,\n });\n\n if (this.mobileInput) {\n this.mobileInput.focus();\n }\n };\n\n private handleItemSelect = (item: T) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(item);\n }\n\n if (this.isMobileLayout) {\n this.handleCloseMobile();\n }\n };\n\n private refInput = (input: Nullable<Input>) => {\n if (this.props.refInput) {\n this.props.refInput(input);\n }\n this.input = input;\n };\n\n private renderSpinner = () => (\n <span className={styles.spinnerWrapper()}>\n <Spinner type=\"mini\" caption=\"\" dimmed />\n </span>\n );\n\n private getRightIcon = () => {\n const { loading, items, drawArrow, rightIcon } = this.props;\n\n if (loading && items && !!items.length) {\n return this.renderSpinner();\n }\n\n if (rightIcon || drawArrow) {\n return <span className={styles.rightIconWrapper()}>{rightIcon ?? <ArrowChevronDownIcon />}</span>;\n }\n\n return null;\n };\n\n private refMobileInput = (input: Nullable<Input>) => {\n this.mobileInput = input;\n };\n}\n"]}
@@ -1,95 +1,96 @@
1
- import React from 'react';
2
- import { Input, InputIconType } from '../../components/Input';
3
- import { InputLikeText } from '../InputLikeText';
4
- import { Menu } from '../Menu';
5
- import { MenuItemState } from '../../components/MenuItem';
6
- import { Nullable } from '../../typings/utility-types';
7
- import { CommonProps } from '../../internal/CommonWrapper';
8
- import { ComboBoxRequestStatus } from './CustomComboBoxTypes';
9
- interface ComboBoxViewProps<T> extends CommonProps {
10
- align?: 'left' | 'center' | 'right';
11
- autoFocus?: boolean;
12
- borderless?: boolean;
13
- disablePortal?: boolean;
14
- disabled?: boolean;
15
- editing?: boolean;
16
- /**
17
- * Cостояние валидации при ошибке.
18
- */
19
- error?: boolean;
20
- items?: Nullable<T[]>;
21
- loading?: boolean;
22
- menuAlign?: 'left' | 'right';
23
- opened?: boolean;
24
- drawArrow?: boolean;
25
- placeholder?: string;
26
- size?: 'small' | 'medium' | 'large';
27
- textValue?: string;
28
- totalCount?: number;
29
- value?: Nullable<T>;
30
- /**
31
- * Cостояние валидации при предупреждении.
32
- */
33
- warning?: boolean;
34
- width?: string | number;
35
- maxLength?: number;
36
- maxMenuHeight?: number | string;
37
- leftIcon?: InputIconType;
38
- rightIcon?: InputIconType;
39
- inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];
40
- onValueChange?: (value: T) => void;
41
- onClickOutside?: (e: Event) => void;
42
- onFocus?: () => void;
43
- onFocusOutside?: () => void;
44
- onInputBlur?: () => void;
45
- onInputValueChange?: (value: string) => void;
46
- onInputFocus?: () => void;
47
- onInputClick?: () => void;
48
- onInputKeyDown?: (e: React.KeyboardEvent) => void;
49
- onMouseEnter?: (e: React.MouseEvent) => void;
50
- onMouseOver?: (e: React.MouseEvent) => void;
51
- onMouseLeave?: (e: React.MouseEvent) => void;
52
- renderItem?: (item: T, state: MenuItemState) => React.ReactNode;
53
- itemWrapper?: (item?: T) => React.ComponentType<unknown>;
54
- renderNotFound?: () => React.ReactNode;
55
- renderTotalCount?: (found: number, total: number) => React.ReactNode;
56
- renderValue?: (item: T) => React.ReactNode;
57
- renderAddButton?: (query?: string) => React.ReactNode;
58
- repeatRequest?: () => void;
59
- requestStatus?: ComboBoxRequestStatus;
60
- refInput?: (input: Nullable<Input>) => void;
61
- refMenu?: (menu: Nullable<Menu>) => void;
62
- refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;
63
- }
64
- interface ComboBoxViewState {
65
- isMobileOpened: boolean;
66
- }
67
- declare type DefaultProps<T> = Required<Pick<ComboBoxViewProps<T>, 'renderItem' | 'renderValue' | 'renderAddButton' | 'repeatRequest' | 'requestStatus' | 'onClickOutside' | 'onFocusOutside' | 'size' | 'width'>>;
68
- export declare class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>, ComboBoxViewState> {
69
- static __KONTUR_REACT_UI__: string;
70
- static defaultProps: DefaultProps<unknown>;
71
- private getProps;
72
- private input;
73
- private setRootNode;
74
- private mobileInput;
75
- private isMobileLayout;
76
- private dropdownContainerRef;
77
- componentDidMount(): void;
78
- state: ComboBoxViewState;
79
- componentDidUpdate(prevProps: ComboBoxViewProps<T>): void;
80
- render(): JSX.Element;
81
- private getComboBoxMenu;
82
- private renderMenu;
83
- private renderMobileMenu;
84
- private handleCloseMobile;
85
- private getParent;
86
- private renderAddButton;
87
- private renderInput;
88
- private handleFocusMobile;
89
- private handleItemSelect;
90
- private refInput;
91
- private renderSpinner;
92
- private getRightIcon;
93
- private refMobileInput;
94
- }
95
- export {};
1
+ import React from 'react';
2
+ import { DropdownContainerProps } from '../DropdownContainer';
3
+ import { Input, InputIconType } from '../../components/Input';
4
+ import { InputLikeText } from '../InputLikeText';
5
+ import { Menu } from '../Menu';
6
+ import { MenuItemState } from '../../components/MenuItem';
7
+ import { Nullable } from '../../typings/utility-types';
8
+ import { CommonProps } from '../../internal/CommonWrapper';
9
+ import { ComboBoxRequestStatus } from './CustomComboBoxTypes';
10
+ interface ComboBoxViewProps<T> extends Pick<DropdownContainerProps, 'menuPos'>, CommonProps {
11
+ align?: 'left' | 'center' | 'right';
12
+ autoFocus?: boolean;
13
+ borderless?: boolean;
14
+ disablePortal?: boolean;
15
+ disabled?: boolean;
16
+ editing?: boolean;
17
+ /**
18
+ * Cостояние валидации при ошибке.
19
+ */
20
+ error?: boolean;
21
+ items?: Nullable<T[]>;
22
+ loading?: boolean;
23
+ menuAlign?: 'left' | 'right';
24
+ opened?: boolean;
25
+ drawArrow?: boolean;
26
+ placeholder?: string;
27
+ size?: 'small' | 'medium' | 'large';
28
+ textValue?: string;
29
+ totalCount?: number;
30
+ value?: Nullable<T>;
31
+ /**
32
+ * Cостояние валидации при предупреждении.
33
+ */
34
+ warning?: boolean;
35
+ width?: string | number;
36
+ maxLength?: number;
37
+ maxMenuHeight?: number | string;
38
+ leftIcon?: InputIconType;
39
+ rightIcon?: InputIconType;
40
+ inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];
41
+ onValueChange?: (value: T) => void;
42
+ onClickOutside?: (e: Event) => void;
43
+ onFocus?: () => void;
44
+ onFocusOutside?: () => void;
45
+ onInputBlur?: () => void;
46
+ onInputValueChange?: (value: string) => void;
47
+ onInputFocus?: () => void;
48
+ onInputClick?: () => void;
49
+ onInputKeyDown?: (e: React.KeyboardEvent) => void;
50
+ onMouseEnter?: (e: React.MouseEvent) => void;
51
+ onMouseOver?: (e: React.MouseEvent) => void;
52
+ onMouseLeave?: (e: React.MouseEvent) => void;
53
+ renderItem?: (item: T, state: MenuItemState) => React.ReactNode;
54
+ itemWrapper?: (item?: T) => React.ComponentType<unknown>;
55
+ renderNotFound?: () => React.ReactNode;
56
+ renderTotalCount?: (found: number, total: number) => React.ReactNode;
57
+ renderValue?: (item: T) => React.ReactNode;
58
+ renderAddButton?: (query?: string) => React.ReactNode;
59
+ repeatRequest?: () => void;
60
+ requestStatus?: ComboBoxRequestStatus;
61
+ refInput?: (input: Nullable<Input>) => void;
62
+ refMenu?: (menu: Nullable<Menu>) => void;
63
+ refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;
64
+ }
65
+ interface ComboBoxViewState {
66
+ isMobileOpened: boolean;
67
+ }
68
+ declare type DefaultProps<T> = Required<Pick<ComboBoxViewProps<T>, 'renderItem' | 'renderValue' | 'renderAddButton' | 'repeatRequest' | 'requestStatus' | 'onClickOutside' | 'onFocusOutside' | 'size' | 'width'>>;
69
+ export declare class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>, ComboBoxViewState> {
70
+ static __KONTUR_REACT_UI__: string;
71
+ static defaultProps: DefaultProps<unknown>;
72
+ private getProps;
73
+ private input;
74
+ private setRootNode;
75
+ private mobileInput;
76
+ private isMobileLayout;
77
+ private dropdownContainerRef;
78
+ componentDidMount(): void;
79
+ state: ComboBoxViewState;
80
+ componentDidUpdate(prevProps: ComboBoxViewProps<T>): void;
81
+ render(): JSX.Element;
82
+ private getComboBoxMenu;
83
+ private renderMenu;
84
+ private renderMobileMenu;
85
+ private handleCloseMobile;
86
+ private getParent;
87
+ private renderAddButton;
88
+ private renderInput;
89
+ private handleFocusMobile;
90
+ private handleItemSelect;
91
+ private refInput;
92
+ private renderSpinner;
93
+ private getRightIcon;
94
+ private refMobileInput;
95
+ }
96
+ export {};
@@ -30,9 +30,6 @@ export var DefaultState = {
30
30
  },
31
31
  requestStatus: ComboBoxRequestStatus.Unknown
32
32
  };
33
- export var CustomComboBoxDataTids = {
34
- comboBoxView: 'ComboBoxView__root'
35
- };
36
33
  export var CustomComboBox = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
37
34
  _inheritsLoose(CustomComboBox, _React$PureComponent);
38
35
 
@@ -350,6 +347,7 @@ export var CustomComboBox = responsiveLayout(_class = rootNode(_class = (_temp =
350
347
  menuAlign: this.props.menuAlign,
351
348
  opened: this.state.opened,
352
349
  drawArrow: this.props.drawArrow,
350
+ menuPos: this.props.menuPos,
353
351
  placeholder: this.props.placeholder,
354
352
  size: this.props.size,
355
353
  textValue: this.state.textValue,
@@ -1 +1 @@
1
- {"version":3,"sources":["CustomComboBox.tsx"],"names":["React","CancelationError","taskWithDelay","fixClickFocusIE","CommonWrapper","responsiveLayout","rootNode","ComboBoxRequestStatus","reducer","ComboBoxView","DELAY_BEFORE_SHOW_LOADER","LOADER_SHOW_TIME","DefaultState","inputChanged","editing","items","loading","opened","focused","textValue","repeatRequest","undefined","requestStatus","Unknown","CustomComboBoxDataTids","comboBoxView","CustomComboBox","state","requestId","cancelationToken","cancelLoaderDelay","focus","props","disabled","input","inputLikeText","selectInputText","selectAll","blur","handleBlur","dispatch","action","effects","nextState","setState","stateAndEffect","Array","forEach","handleEffect","effect","getState","getProps","handleValueChange","value","type","keepFocus","isMobileLayout","handleFocus","handleClickOutside","e","close","setTimeout","handleInputBlur","handleInputClick","search","query","getItems","cancelPromise","Promise","_","reject","expectingId","loaderShowDelay","resolve","cancelLoader","race","code","cancelSearch","open","render","viewProps","align","borderless","disablePortal","error","menuAlign","drawArrow","placeholder","size","totalCount","warning","width","maxLength","maxMenuHeight","leftIcon","rightIcon","inputMode","onValueChange","onClickOutside","onFocus","onFocusOutside","onInputBlur","onInputValueChange","onInputFocus","onInputClick","onInputKeyDown","event","persist","onMouseEnter","onMouseOver","onMouseLeave","renderItem","renderNotFound","itemWrapper","renderValue","renderTotalCount","renderAddButton","refInput","refMenu","menu","refInputLikeText","setRootNode","componentDidMount","autoFocus","componentDidUpdate","prevProps","prevState","reset","PureComponent","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { Input, InputIconType } from '../../components/Input';\nimport { Menu } from '../Menu';\nimport { InputLikeText } from '../InputLikeText';\nimport { MenuItemState } from '../../components/MenuItem';\nimport { CancelationError, taskWithDelay } from '../../lib/utils';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { CustomComboBoxAction, CustomComboBoxEffect, reducer } from './CustomComboBoxReducer';\nimport { ComboBoxView } from './ComboBoxView';\n\nexport interface CustomComboBoxProps<T> extends CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n maxLength?: number;\n menuAlign?: 'left' | 'right';\n drawArrow?: boolean;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n searchOnFocus?: boolean;\n onValueChange?: (value: T) => void;\n onInputValueChange?: (value: string) => Nullable<string> | void;\n onUnexpectedInput?: (value: string) => void | null | T;\n onFocus?: () => void;\n onBlur?: () => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n placeholder?: string;\n size?: 'small' | 'medium' | 'large';\n totalCount?: number;\n value?: Nullable<T>;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxMenuHeight?: number | string;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state?: MenuItemState) => React.ReactNode;\n itemWrapper?: (item?: T) => React.ComponentType<unknown>;\n renderValue: (value: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n valueToString: (value: T) => string;\n itemToValue: (item: T) => string | number;\n getItems: (query: string) => Promise<T[]>;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n}\n\nexport interface CustomComboBoxState<T> {\n editing: boolean;\n loading: boolean;\n opened: boolean;\n textValue: string;\n items: Nullable<T[]>;\n inputChanged: boolean;\n focused: boolean;\n repeatRequest: () => void;\n requestStatus: ComboBoxRequestStatus;\n}\n\nexport const DELAY_BEFORE_SHOW_LOADER = 300;\nexport const LOADER_SHOW_TIME = 1000;\n\nexport const DefaultState = {\n inputChanged: false,\n editing: false,\n items: null,\n loading: false,\n opened: false,\n focused: false,\n textValue: '',\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n};\n\nexport const CustomComboBoxDataTids = {\n comboBoxView: 'ComboBoxView__root',\n} as const;\n\n@responsiveLayout\n@rootNode\nexport class CustomComboBox<T> extends React.PureComponent<CustomComboBoxProps<T>, CustomComboBoxState<T>> {\n public static __KONTUR_REACT_UI__ = 'CustomComboBox';\n\n public state: CustomComboBoxState<T> = DefaultState;\n public input: Nullable<Input>;\n public menu: Nullable<Menu>;\n public inputLikeText: Nullable<InputLikeText>;\n public requestId = 0;\n public loaderShowDelay: Nullable<Promise<void>>;\n private focused = false;\n private cancelationToken: Nullable<(reason?: Error) => void> = null;\n private isMobileLayout!: boolean;\n\n private reducer = reducer;\n public cancelLoaderDelay: () => void = () => null;\n\n /**\n * @public\n */\n public focus = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.input) {\n this.input.focus();\n } else if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n };\n\n /**\n * @public\n */\n public selectInputText = () => {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.selectAll();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.handleBlur();\n };\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public async search(query: string = this.state.textValue) {\n const { getItems } = this.props;\n\n const cancelPromise: Promise<never> = new Promise((_, reject) => (this.cancelationToken = reject));\n this.requestId += 1;\n const expectingId = this.requestId;\n\n if (!this.loaderShowDelay) {\n this.loaderShowDelay = new Promise<void>((resolve) => {\n const cancelLoader = taskWithDelay(() => {\n this.dispatch({ type: 'RequestItems' });\n setTimeout(resolve, LOADER_SHOW_TIME);\n }, DELAY_BEFORE_SHOW_LOADER);\n\n cancelPromise.catch(() => cancelLoader());\n\n this.cancelLoaderDelay = () => {\n cancelLoader();\n resolve();\n };\n });\n }\n\n try {\n const items = await Promise.race([getItems(query), cancelPromise]);\n if (this.state.loading) {\n await Promise.race([this.loaderShowDelay, cancelPromise]);\n }\n if (expectingId === this.requestId) {\n this.dispatch({\n type: 'ReceiveItems',\n items,\n });\n }\n } catch (error) {\n if (error && error.code === 'CancelationError') {\n this.dispatch({ type: 'CancelRequest' });\n } else if (expectingId === this.requestId) {\n this.dispatch({\n type: 'RequestFailure',\n repeatRequest: () => {\n this.search(query);\n if (this.input) {\n this.input.focus();\n }\n },\n });\n }\n } finally {\n if (expectingId === this.requestId) {\n if (!this.state.loading) {\n this.cancelLoaderDelay();\n }\n this.cancelationToken = null;\n this.loaderShowDelay = null;\n }\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.cancelationToken) {\n this.cancelationToken(new CancelationError());\n }\n }\n\n /**\n * @public\n */\n public open() {\n this.dispatch({ type: 'Open' });\n }\n\n /**\n * @public\n */\n public close() {\n this.dispatch({ type: 'Close' });\n }\n\n public render() {\n const viewProps = {\n align: this.props.align,\n borderless: this.props.borderless,\n disabled: this.props.disabled,\n disablePortal: this.props.disablePortal,\n editing: this.state.editing,\n error: this.props.error,\n items: this.state.items,\n loading: this.state.loading,\n menuAlign: this.props.menuAlign,\n opened: this.state.opened,\n drawArrow: this.props.drawArrow,\n placeholder: this.props.placeholder,\n size: this.props.size,\n textValue: this.state.textValue,\n totalCount: this.props.totalCount,\n value: this.props.value,\n warning: this.props.warning,\n width: this.props.width,\n maxLength: this.props.maxLength,\n maxMenuHeight: this.props.maxMenuHeight,\n leftIcon: this.props.leftIcon,\n rightIcon: this.props.rightIcon,\n inputMode: this.props.inputMode,\n\n onValueChange: this.handleValueChange,\n onClickOutside: this.handleClickOutside,\n onFocus: this.handleFocus,\n onFocusOutside: this.handleBlur,\n onInputBlur: this.handleInputBlur,\n onInputValueChange: (value: string) => this.dispatch({ type: 'TextChange', value }),\n onInputFocus: this.handleFocus,\n onInputClick: this.handleInputClick,\n onInputKeyDown: (event: React.KeyboardEvent) => {\n event.persist();\n this.dispatch({ type: 'KeyPress', event });\n },\n onMouseEnter: this.props.onMouseEnter,\n onMouseOver: this.props.onMouseOver,\n onMouseLeave: this.props.onMouseLeave,\n renderItem: this.props.renderItem,\n renderNotFound: this.props.renderNotFound,\n itemWrapper: this.props.itemWrapper,\n renderValue: this.props.renderValue,\n renderTotalCount: this.props.renderTotalCount,\n renderAddButton: this.props.renderAddButton,\n repeatRequest: this.state.repeatRequest,\n requestStatus: this.state.requestStatus,\n\n refInput: (input: Nullable<Input>) => {\n this.input = input;\n },\n refMenu: (menu: Nullable<Menu>) => {\n this.menu = menu;\n },\n refInputLikeText: (inputLikeText: Nullable<InputLikeText>) => {\n this.inputLikeText = inputLikeText;\n },\n };\n\n return (\n <CommonWrapper {...this.props}>\n <ComboBoxView {...viewProps} ref={this.setRootNode} />\n </CommonWrapper>\n );\n }\n\n public componentDidMount() {\n this.dispatch({ type: 'Mount' });\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: CustomComboBoxProps<T>, prevState: CustomComboBoxState<T>) {\n if (prevState.editing && !this.state.editing) {\n this.handleBlur();\n }\n this.dispatch({ type: 'DidUpdate', prevProps, prevState });\n }\n\n /**\n * @public\n */\n public reset() {\n this.dispatch({ type: 'Reset' });\n }\n\n private dispatch = (action: CustomComboBoxAction<T>) => {\n let effects: Array<CustomComboBoxEffect<T>>;\n let nextState: Pick<CustomComboBoxState<T>, never>;\n\n this.setState(\n (state) => {\n const stateAndEffect = this.reducer(state, this.props, action);\n\n [nextState, effects] = stateAndEffect instanceof Array ? stateAndEffect : [stateAndEffect, []];\n\n return nextState;\n },\n () => {\n effects.forEach(this.handleEffect);\n },\n );\n };\n\n private handleEffect = (effect: CustomComboBoxEffect<T>) => {\n effect(this.dispatch, this.getState, this.getProps, () => this);\n };\n\n private getProps = () => this.props;\n\n private getState = () => this.state;\n\n private handleValueChange = (value: T) => {\n this.dispatch({\n type: 'ValueChange',\n value,\n keepFocus: !this.isMobileLayout,\n });\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n this.focused = true;\n this.dispatch({ type: 'Focus' });\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n if (this.state.opened) {\n this.close();\n }\n return;\n }\n\n this.focused = false;\n // workaround for the similar bug with focusout\n // in Firefox, Chrome and IE\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1363964\n setTimeout(() => {\n this.dispatch({ type: 'Blur' });\n });\n };\n\n private handleInputBlur = () => {\n // If menu opened, RenderLayer is active and\n // it would call handleFocusOutside\n // In that way handleBlur would be called\n\n // TODO: add check for mobile layout, to call `handleBlur`\n\n if (this.state.opened) {\n return;\n }\n this.handleBlur();\n };\n\n private handleInputClick = () => {\n if (!this.cancelationToken) {\n this.dispatch({ type: 'InputClick' });\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["CustomComboBox.tsx"],"names":["React","CancelationError","taskWithDelay","fixClickFocusIE","CommonWrapper","responsiveLayout","rootNode","ComboBoxRequestStatus","reducer","ComboBoxView","DELAY_BEFORE_SHOW_LOADER","LOADER_SHOW_TIME","DefaultState","inputChanged","editing","items","loading","opened","focused","textValue","repeatRequest","undefined","requestStatus","Unknown","CustomComboBox","state","requestId","cancelationToken","cancelLoaderDelay","focus","props","disabled","input","inputLikeText","selectInputText","selectAll","blur","handleBlur","dispatch","action","effects","nextState","setState","stateAndEffect","Array","forEach","handleEffect","effect","getState","getProps","handleValueChange","value","type","keepFocus","isMobileLayout","handleFocus","handleClickOutside","e","close","setTimeout","handleInputBlur","handleInputClick","search","query","getItems","cancelPromise","Promise","_","reject","expectingId","loaderShowDelay","resolve","cancelLoader","race","code","cancelSearch","open","render","viewProps","align","borderless","disablePortal","error","menuAlign","drawArrow","menuPos","placeholder","size","totalCount","warning","width","maxLength","maxMenuHeight","leftIcon","rightIcon","inputMode","onValueChange","onClickOutside","onFocus","onFocusOutside","onInputBlur","onInputValueChange","onInputFocus","onInputClick","onInputKeyDown","event","persist","onMouseEnter","onMouseOver","onMouseLeave","renderItem","renderNotFound","itemWrapper","renderValue","renderTotalCount","renderAddButton","refInput","refMenu","menu","refInputLikeText","setRootNode","componentDidMount","autoFocus","componentDidUpdate","prevProps","prevState","reset","PureComponent","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { Input, InputIconType } from '../../components/Input';\nimport { Menu } from '../Menu';\nimport { InputLikeText } from '../InputLikeText';\nimport { MenuItemState } from '../../components/MenuItem';\nimport { CancelationError, taskWithDelay } from '../../lib/utils';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { DropdownContainerProps } from '../DropdownContainer';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { CustomComboBoxAction, CustomComboBoxEffect, reducer } from './CustomComboBoxReducer';\nimport { ComboBoxView } from './ComboBoxView';\n\nexport interface CustomComboBoxProps<T> extends Pick<DropdownContainerProps, 'menuPos'>, CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n maxLength?: number;\n menuAlign?: 'left' | 'right';\n drawArrow?: boolean;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n searchOnFocus?: boolean;\n onValueChange?: (value: T) => void;\n onInputValueChange?: (value: string) => Nullable<string> | void;\n onUnexpectedInput?: (value: string) => void | null | T;\n onFocus?: () => void;\n onBlur?: () => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n placeholder?: string;\n size?: 'small' | 'medium' | 'large';\n totalCount?: number;\n value?: Nullable<T>;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxMenuHeight?: number | string;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state?: MenuItemState) => React.ReactNode;\n itemWrapper?: (item?: T) => React.ComponentType<unknown>;\n renderValue: (value: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n valueToString: (value: T) => string;\n itemToValue: (item: T) => string | number;\n getItems: (query: string) => Promise<T[]>;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n}\n\nexport interface CustomComboBoxState<T> {\n editing: boolean;\n loading: boolean;\n opened: boolean;\n textValue: string;\n items: Nullable<T[]>;\n inputChanged: boolean;\n focused: boolean;\n repeatRequest: () => void;\n requestStatus: ComboBoxRequestStatus;\n}\n\nexport const DELAY_BEFORE_SHOW_LOADER = 300;\nexport const LOADER_SHOW_TIME = 1000;\n\nexport const DefaultState = {\n inputChanged: false,\n editing: false,\n items: null,\n loading: false,\n opened: false,\n focused: false,\n textValue: '',\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n};\n\n@responsiveLayout\n@rootNode\nexport class CustomComboBox<T> extends React.PureComponent<CustomComboBoxProps<T>, CustomComboBoxState<T>> {\n public static __KONTUR_REACT_UI__ = 'CustomComboBox';\n\n public state: CustomComboBoxState<T> = DefaultState;\n public input: Nullable<Input>;\n public menu: Nullable<Menu>;\n public inputLikeText: Nullable<InputLikeText>;\n public requestId = 0;\n public loaderShowDelay: Nullable<Promise<void>>;\n private focused = false;\n private cancelationToken: Nullable<(reason?: Error) => void> = null;\n private isMobileLayout!: boolean;\n\n private reducer = reducer;\n public cancelLoaderDelay: () => void = () => null;\n\n /**\n * @public\n */\n public focus = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.input) {\n this.input.focus();\n } else if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n };\n\n /**\n * @public\n */\n public selectInputText = () => {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.selectAll();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.handleBlur();\n };\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public async search(query: string = this.state.textValue) {\n const { getItems } = this.props;\n\n const cancelPromise: Promise<never> = new Promise((_, reject) => (this.cancelationToken = reject));\n this.requestId += 1;\n const expectingId = this.requestId;\n\n if (!this.loaderShowDelay) {\n this.loaderShowDelay = new Promise<void>((resolve) => {\n const cancelLoader = taskWithDelay(() => {\n this.dispatch({ type: 'RequestItems' });\n setTimeout(resolve, LOADER_SHOW_TIME);\n }, DELAY_BEFORE_SHOW_LOADER);\n\n cancelPromise.catch(() => cancelLoader());\n\n this.cancelLoaderDelay = () => {\n cancelLoader();\n resolve();\n };\n });\n }\n\n try {\n const items = await Promise.race([getItems(query), cancelPromise]);\n if (this.state.loading) {\n await Promise.race([this.loaderShowDelay, cancelPromise]);\n }\n if (expectingId === this.requestId) {\n this.dispatch({\n type: 'ReceiveItems',\n items,\n });\n }\n } catch (error) {\n if (error && error.code === 'CancelationError') {\n this.dispatch({ type: 'CancelRequest' });\n } else if (expectingId === this.requestId) {\n this.dispatch({\n type: 'RequestFailure',\n repeatRequest: () => {\n this.search(query);\n if (this.input) {\n this.input.focus();\n }\n },\n });\n }\n } finally {\n if (expectingId === this.requestId) {\n if (!this.state.loading) {\n this.cancelLoaderDelay();\n }\n this.cancelationToken = null;\n this.loaderShowDelay = null;\n }\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.cancelationToken) {\n this.cancelationToken(new CancelationError());\n }\n }\n\n /**\n * @public\n */\n public open() {\n this.dispatch({ type: 'Open' });\n }\n\n /**\n * @public\n */\n public close() {\n this.dispatch({ type: 'Close' });\n }\n\n public render() {\n const viewProps = {\n align: this.props.align,\n borderless: this.props.borderless,\n disabled: this.props.disabled,\n disablePortal: this.props.disablePortal,\n editing: this.state.editing,\n error: this.props.error,\n items: this.state.items,\n loading: this.state.loading,\n menuAlign: this.props.menuAlign,\n opened: this.state.opened,\n drawArrow: this.props.drawArrow,\n menuPos: this.props.menuPos,\n placeholder: this.props.placeholder,\n size: this.props.size,\n textValue: this.state.textValue,\n totalCount: this.props.totalCount,\n value: this.props.value,\n warning: this.props.warning,\n width: this.props.width,\n maxLength: this.props.maxLength,\n maxMenuHeight: this.props.maxMenuHeight,\n leftIcon: this.props.leftIcon,\n rightIcon: this.props.rightIcon,\n inputMode: this.props.inputMode,\n\n onValueChange: this.handleValueChange,\n onClickOutside: this.handleClickOutside,\n onFocus: this.handleFocus,\n onFocusOutside: this.handleBlur,\n onInputBlur: this.handleInputBlur,\n onInputValueChange: (value: string) => this.dispatch({ type: 'TextChange', value }),\n onInputFocus: this.handleFocus,\n onInputClick: this.handleInputClick,\n onInputKeyDown: (event: React.KeyboardEvent) => {\n event.persist();\n this.dispatch({ type: 'KeyPress', event });\n },\n onMouseEnter: this.props.onMouseEnter,\n onMouseOver: this.props.onMouseOver,\n onMouseLeave: this.props.onMouseLeave,\n renderItem: this.props.renderItem,\n renderNotFound: this.props.renderNotFound,\n itemWrapper: this.props.itemWrapper,\n renderValue: this.props.renderValue,\n renderTotalCount: this.props.renderTotalCount,\n renderAddButton: this.props.renderAddButton,\n repeatRequest: this.state.repeatRequest,\n requestStatus: this.state.requestStatus,\n\n refInput: (input: Nullable<Input>) => {\n this.input = input;\n },\n refMenu: (menu: Nullable<Menu>) => {\n this.menu = menu;\n },\n refInputLikeText: (inputLikeText: Nullable<InputLikeText>) => {\n this.inputLikeText = inputLikeText;\n },\n };\n\n return (\n <CommonWrapper {...this.props}>\n <ComboBoxView {...viewProps} ref={this.setRootNode} />\n </CommonWrapper>\n );\n }\n\n public componentDidMount() {\n this.dispatch({ type: 'Mount' });\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: CustomComboBoxProps<T>, prevState: CustomComboBoxState<T>) {\n if (prevState.editing && !this.state.editing) {\n this.handleBlur();\n }\n this.dispatch({ type: 'DidUpdate', prevProps, prevState });\n }\n\n /**\n * @public\n */\n public reset() {\n this.dispatch({ type: 'Reset' });\n }\n\n private dispatch = (action: CustomComboBoxAction<T>) => {\n let effects: Array<CustomComboBoxEffect<T>>;\n let nextState: Pick<CustomComboBoxState<T>, never>;\n\n this.setState(\n (state) => {\n const stateAndEffect = this.reducer(state, this.props, action);\n\n [nextState, effects] = stateAndEffect instanceof Array ? stateAndEffect : [stateAndEffect, []];\n\n return nextState;\n },\n () => {\n effects.forEach(this.handleEffect);\n },\n );\n };\n\n private handleEffect = (effect: CustomComboBoxEffect<T>) => {\n effect(this.dispatch, this.getState, this.getProps, () => this);\n };\n\n private getProps = () => this.props;\n\n private getState = () => this.state;\n\n private handleValueChange = (value: T) => {\n this.dispatch({\n type: 'ValueChange',\n value,\n keepFocus: !this.isMobileLayout,\n });\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n this.focused = true;\n this.dispatch({ type: 'Focus' });\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n if (this.state.opened) {\n this.close();\n }\n return;\n }\n\n this.focused = false;\n // workaround for the similar bug with focusout\n // in Firefox, Chrome and IE\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1363964\n setTimeout(() => {\n this.dispatch({ type: 'Blur' });\n });\n };\n\n private handleInputBlur = () => {\n // If menu opened, RenderLayer is active and\n // it would call handleFocusOutside\n // In that way handleBlur would be called\n\n // TODO: add check for mobile layout, to call `handleBlur`\n\n if (this.state.opened) {\n return;\n }\n this.handleBlur();\n };\n\n private handleInputClick = () => {\n if (!this.cancelationToken) {\n this.dispatch({ type: 'InputClick' });\n }\n };\n}\n"]}