@skbkontur/react-ui 0.0.0-a25347e958 → 0.0.0-a2ba583fb2

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 (1264) hide show
  1. package/CHANGELOG.md +199 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +2 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js +1 -0
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +7 -2
  6. package/cjs/components/Button/Button.js +22 -6
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.md +68 -0
  9. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  10. package/cjs/components/Button/Button.mixins.js +54 -53
  11. package/cjs/components/Button/Button.mixins.js.map +1 -1
  12. package/cjs/components/Button/Button.styles.d.ts +2 -1
  13. package/cjs/components/Button/Button.styles.js +200 -161
  14. package/cjs/components/Button/Button.styles.js.map +1 -1
  15. package/cjs/components/Button/ButtonArrow.js +1 -1
  16. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  17. package/cjs/components/Button/ButtonIcon.d.ts +3 -2
  18. package/cjs/components/Button/ButtonIcon.js +2 -4
  19. package/cjs/components/Button/ButtonIcon.js.map +1 -1
  20. package/cjs/components/Button/getInnerLinkTheme.js +1 -0
  21. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  22. package/cjs/components/Calendar/Calendar.js +8 -6
  23. package/cjs/components/Calendar/Calendar.js.map +1 -1
  24. package/cjs/components/Checkbox/Checkbox.d.ts +6 -2
  25. package/cjs/components/Checkbox/Checkbox.js +12 -7
  26. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  27. package/cjs/components/Clickable/ArrowLeftIcon.d.ts +3 -0
  28. package/cjs/components/Clickable/ArrowLeftIcon.js +15 -0
  29. package/cjs/components/Clickable/ArrowLeftIcon.js.map +1 -0
  30. package/cjs/components/Clickable/ArrowRightIcon.d.ts +3 -0
  31. package/cjs/components/Clickable/ArrowRightIcon.js +15 -0
  32. package/cjs/components/Clickable/ArrowRightIcon.js.map +1 -0
  33. package/cjs/components/Clickable/Clickable.d.ts +97 -0
  34. package/cjs/components/Clickable/Clickable.js +249 -0
  35. package/cjs/components/Clickable/Clickable.js.map +1 -0
  36. package/cjs/components/Clickable/Clickable.md +173 -0
  37. package/cjs/components/Clickable/Clickable.styles.d.ts +11 -0
  38. package/cjs/components/Clickable/Clickable.styles.js +31 -0
  39. package/cjs/components/Clickable/Clickable.styles.js.map +1 -0
  40. package/cjs/components/Clickable/ClickableButton.d.ts +5 -0
  41. package/cjs/components/Clickable/ClickableButton.js +43 -0
  42. package/cjs/components/Clickable/ClickableButton.js.map +1 -0
  43. package/cjs/components/Clickable/ClickableButton.mixins.d.ts +30 -0
  44. package/cjs/components/Clickable/ClickableButton.mixins.js +134 -0
  45. package/cjs/components/Clickable/ClickableButton.mixins.js.map +1 -0
  46. package/cjs/components/Clickable/ClickableButton.styles.d.ts +63 -0
  47. package/cjs/components/Clickable/ClickableButton.styles.js +604 -0
  48. package/cjs/components/Clickable/ClickableButton.styles.js.map +1 -0
  49. package/cjs/components/Clickable/ClickableButtonArrow.d.ts +4 -0
  50. package/cjs/components/Clickable/ClickableButtonArrow.js +32 -0
  51. package/cjs/components/Clickable/ClickableButtonArrow.js.map +1 -0
  52. package/cjs/components/Clickable/ClickableButtonArrow.styles.d.ts +8 -0
  53. package/cjs/components/Clickable/ClickableButtonArrow.styles.js +40 -0
  54. package/cjs/components/Clickable/ClickableButtonArrow.styles.js.map +1 -0
  55. package/cjs/components/Clickable/ClickableButtonCaption.d.ts +2 -0
  56. package/cjs/components/Clickable/ClickableButtonCaption.js +57 -0
  57. package/cjs/components/Clickable/ClickableButtonCaption.js.map +1 -0
  58. package/cjs/components/Clickable/ClickableButtonCaption.styles.d.ts +5 -0
  59. package/cjs/components/Clickable/ClickableButtonCaption.styles.js +23 -0
  60. package/cjs/components/Clickable/ClickableButtonCaption.styles.js.map +1 -0
  61. package/cjs/components/Clickable/ClickableButtonIcon.d.ts +7 -0
  62. package/cjs/components/Clickable/ClickableButtonIcon.js +64 -0
  63. package/cjs/components/Clickable/ClickableButtonIcon.js.map +1 -0
  64. package/cjs/components/Clickable/ClickableButtonIcon.styles.d.ts +19 -0
  65. package/cjs/components/Clickable/ClickableButtonIcon.styles.js +108 -0
  66. package/cjs/components/Clickable/ClickableButtonIcon.styles.js.map +1 -0
  67. package/cjs/components/Clickable/ClickableButtonLoadingIcon.d.ts +6 -0
  68. package/cjs/components/Clickable/ClickableButtonLoadingIcon.js +19 -0
  69. package/cjs/components/Clickable/ClickableButtonLoadingIcon.js.map +1 -0
  70. package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.d.ts +3 -0
  71. package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.js +17 -0
  72. package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.js.map +1 -0
  73. package/cjs/components/Clickable/ClickableButtonOutline.d.ts +4 -0
  74. package/cjs/components/Clickable/ClickableButtonOutline.js +36 -0
  75. package/cjs/components/Clickable/ClickableButtonOutline.js.map +1 -0
  76. package/cjs/components/Clickable/ClickableButtonOutline.styles.d.ts +6 -0
  77. package/cjs/components/Clickable/ClickableButtonOutline.styles.js +25 -0
  78. package/cjs/components/Clickable/ClickableButtonOutline.styles.js.map +1 -0
  79. package/cjs/components/Clickable/ClickableButtonWrapper.d.ts +3 -0
  80. package/cjs/components/Clickable/ClickableButtonWrapper.js +27 -0
  81. package/cjs/components/Clickable/ClickableButtonWrapper.js.map +1 -0
  82. package/cjs/components/Clickable/ClickableButtonWrapper.styles.d.ts +7 -0
  83. package/cjs/components/Clickable/ClickableButtonWrapper.styles.js +27 -0
  84. package/cjs/components/Clickable/ClickableButtonWrapper.styles.js.map +1 -0
  85. package/cjs/components/Clickable/ClickableLink.d.ts +5 -0
  86. package/cjs/components/Clickable/ClickableLink.js +28 -0
  87. package/cjs/components/Clickable/ClickableLink.js.map +1 -0
  88. package/cjs/components/Clickable/ClickableLink.styles.d.ts +21 -0
  89. package/cjs/components/Clickable/ClickableLink.styles.js +134 -0
  90. package/cjs/components/Clickable/ClickableLink.styles.js.map +1 -0
  91. package/cjs/components/Clickable/ClickableLinkChild.d.ts +7 -0
  92. package/cjs/components/Clickable/ClickableLinkChild.js +40 -0
  93. package/cjs/components/Clickable/ClickableLinkChild.js.map +1 -0
  94. package/cjs/components/Clickable/ClickableLinkChild.styles.d.ts +7 -0
  95. package/cjs/components/Clickable/ClickableLinkChild.styles.js +42 -0
  96. package/cjs/components/Clickable/ClickableLinkChild.styles.js.map +1 -0
  97. package/cjs/components/Clickable/ClickableLinkIcon.d.ts +7 -0
  98. package/cjs/components/Clickable/ClickableLinkIcon.js +30 -0
  99. package/cjs/components/Clickable/ClickableLinkIcon.js.map +1 -0
  100. package/cjs/components/Clickable/ClickableLinkIcon.styles.d.ts +6 -0
  101. package/cjs/components/Clickable/ClickableLinkIcon.styles.js +20 -0
  102. package/cjs/components/Clickable/ClickableLinkIcon.styles.js.map +1 -0
  103. package/cjs/components/Clickable/index.d.ts +1 -0
  104. package/cjs/components/Clickable/index.js +1 -0
  105. package/cjs/components/Clickable/index.js.map +1 -0
  106. package/cjs/components/Clickable/utils.d.ts +6 -0
  107. package/cjs/components/Clickable/utils.js +47 -0
  108. package/cjs/components/Clickable/utils.js.map +1 -0
  109. package/cjs/components/ComboBox/ComboBox.d.ts +2 -1
  110. package/cjs/components/ComboBox/ComboBox.js +1 -0
  111. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  112. package/cjs/components/CurrencyInput/CurrencyInput.js +3 -1
  113. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  114. package/cjs/components/DateInput/DateFragmentsView.js +2 -1
  115. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  116. package/cjs/components/DateInput/DateInput.d.ts +2 -1
  117. package/cjs/components/DateInput/DateInput.js +3 -1
  118. package/cjs/components/DateInput/DateInput.js.map +1 -1
  119. package/cjs/components/DateInput/helpers/SelectionHelpers.js +11 -10
  120. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  121. package/cjs/components/DatePicker/DatePicker.d.ts +2 -1
  122. package/cjs/components/DatePicker/DatePicker.js +1 -0
  123. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  124. package/cjs/components/Dropdown/Dropdown.d.ts +3 -2
  125. package/cjs/components/Dropdown/Dropdown.js +1 -0
  126. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  127. package/cjs/components/Dropdown/getDropdownTheme.js +21 -22
  128. package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
  129. package/cjs/components/FileUploader/FileUploader.d.ts +6 -2
  130. package/cjs/components/FileUploader/FileUploader.js +9 -5
  131. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  132. package/cjs/components/FileUploader/FileUploader.styles.d.ts +1 -1
  133. package/cjs/components/FileUploader/FileUploader.styles.js +10 -2
  134. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  135. package/cjs/components/FxInput/FxInput.js +1 -0
  136. package/cjs/components/FxInput/FxInput.js.map +1 -1
  137. package/cjs/components/FxInput/FxInputRestoreBtn.js +1 -0
  138. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  139. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -2
  140. package/cjs/components/GlobalLoader/GlobalLoader.js +11 -16
  141. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  142. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  143. package/cjs/components/GlobalLoader/GlobalLoaderView.js +3 -5
  144. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  145. package/cjs/components/Group/Group.js +7 -5
  146. package/cjs/components/Group/Group.js.map +1 -1
  147. package/cjs/components/Group/Group.md +24 -0
  148. package/cjs/components/Hint/Hint.js +5 -4
  149. package/cjs/components/Hint/Hint.js.map +1 -1
  150. package/cjs/components/Input/Input.d.ts +28 -7
  151. package/cjs/components/Input/Input.js +48 -23
  152. package/cjs/components/Input/Input.js.map +1 -1
  153. package/cjs/components/Input/Input.typings.d.ts +7 -0
  154. package/cjs/components/Input/Input.typings.js +1 -0
  155. package/cjs/components/Input/Input.typings.js.map +1 -0
  156. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -1
  157. package/cjs/components/Input/InputLayout/InputLayout.styles.js +7 -2
  158. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  159. package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -7
  160. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  161. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -0
  162. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  163. package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  164. package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
  165. package/cjs/components/Input/index.d.ts +1 -0
  166. package/cjs/components/Input/index.js +2 -1
  167. package/cjs/components/Input/index.js.map +1 -1
  168. package/cjs/components/Kebab/Kebab.d.ts +2 -1
  169. package/cjs/components/Kebab/Kebab.js +2 -1
  170. package/cjs/components/Kebab/Kebab.js.map +1 -1
  171. package/cjs/components/Link/Link.js +11 -7
  172. package/cjs/components/Link/Link.js.map +1 -1
  173. package/cjs/components/Link/Link.md +69 -0
  174. package/cjs/components/Link/Link.styles.d.ts +1 -0
  175. package/cjs/components/Link/Link.styles.js +30 -22
  176. package/cjs/components/Link/Link.styles.js.map +1 -1
  177. package/cjs/components/Loader/Loader.js +8 -7
  178. package/cjs/components/Loader/Loader.js.map +1 -1
  179. package/cjs/components/MaskedInput/MaskedInput.d.ts +24 -0
  180. package/cjs/components/MaskedInput/MaskedInput.js +78 -0
  181. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -0
  182. package/cjs/components/MaskedInput/MaskedInput.md +21 -0
  183. package/cjs/components/MaskedInput/index.js.map +1 -0
  184. package/cjs/components/MenuFooter/MenuFooter.d.ts +6 -2
  185. package/cjs/components/MenuFooter/MenuFooter.js +4 -0
  186. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  187. package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -2
  188. package/cjs/components/MenuHeader/MenuHeader.js +7 -1
  189. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  190. package/cjs/components/MenuItem/MenuItem.d.ts +27 -2
  191. package/cjs/components/MenuItem/MenuItem.js +117 -15
  192. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  193. package/cjs/components/MenuItem/MenuItem.md +20 -6
  194. package/cjs/components/MiniModal/MiniModal.d.ts +18 -0
  195. package/cjs/components/MiniModal/MiniModal.js +47 -0
  196. package/cjs/components/MiniModal/MiniModal.js.map +1 -0
  197. package/cjs/components/MiniModal/MiniModal.md +233 -0
  198. package/cjs/components/MiniModal/MiniModal.styles.d.ts +14 -0
  199. package/cjs/components/MiniModal/MiniModal.styles.js +87 -0
  200. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -0
  201. package/cjs/components/MiniModal/MiniModalBody.d.ts +7 -0
  202. package/cjs/components/MiniModal/MiniModalBody.js +24 -0
  203. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -0
  204. package/cjs/components/MiniModal/MiniModalFooter.d.ts +18 -0
  205. package/cjs/components/MiniModal/MiniModalFooter.js +60 -0
  206. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -0
  207. package/cjs/components/MiniModal/MiniModalHeader.d.ts +17 -0
  208. package/cjs/components/MiniModal/MiniModalHeader.js +47 -0
  209. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -0
  210. package/cjs/components/MiniModal/MiniModalIndent.d.ts +6 -0
  211. package/cjs/components/MiniModal/MiniModalIndent.js +29 -0
  212. package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -0
  213. package/cjs/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  214. package/cjs/components/MiniModal/getMiniModalTheme.js +24 -0
  215. package/cjs/components/MiniModal/getMiniModalTheme.js.map +1 -0
  216. package/cjs/components/MiniModal/index.d.ts +5 -0
  217. package/cjs/components/MiniModal/index.js +5 -0
  218. package/cjs/components/MiniModal/index.js.map +1 -0
  219. package/cjs/components/Modal/Modal.d.ts +6 -0
  220. package/cjs/components/Modal/Modal.js +15 -1
  221. package/cjs/components/Modal/Modal.js.map +1 -1
  222. package/cjs/components/Modal/Modal.styles.d.ts +5 -0
  223. package/cjs/components/Modal/Modal.styles.js +56 -39
  224. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  225. package/cjs/components/Modal/ModalClose.js +2 -1
  226. package/cjs/components/Modal/ModalClose.js.map +1 -1
  227. package/cjs/components/Modal/ModalHeader.js +1 -1
  228. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  229. package/cjs/components/Modal/ModalSeparator.d.ts +5 -0
  230. package/cjs/components/Modal/ModalSeparator.js +5 -0
  231. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  232. package/cjs/components/Modal/getModalTheme.d.ts +2 -2
  233. package/cjs/components/Modal/getModalTheme.js +6 -2
  234. package/cjs/components/Modal/getModalTheme.js.map +1 -1
  235. package/cjs/components/Paging/NavigationHelper.js +2 -1
  236. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  237. package/cjs/components/Paging/Paging.js +17 -15
  238. package/cjs/components/Paging/Paging.js.map +1 -1
  239. package/cjs/components/Paging/Paging.styles.d.ts +0 -1
  240. package/cjs/components/Paging/Paging.styles.js +5 -10
  241. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  242. package/cjs/components/PasswordInput/PasswordInput.js +4 -2
  243. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  244. package/cjs/components/Radio/Radio.d.ts +6 -2
  245. package/cjs/components/Radio/Radio.js +6 -1
  246. package/cjs/components/Radio/Radio.js.map +1 -1
  247. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +5 -6
  248. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  249. package/cjs/components/ScrollContainer/ScrollBar.d.ts +4 -7
  250. package/cjs/components/ScrollContainer/ScrollBar.js +15 -45
  251. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  252. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +1 -2
  253. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
  254. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +18 -3
  255. package/cjs/components/ScrollContainer/ScrollContainer.js +102 -21
  256. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  257. package/cjs/components/ScrollContainer/ScrollContainer.md +29 -2
  258. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  259. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +8 -30
  260. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  261. package/cjs/components/Select/Item.d.ts +1 -0
  262. package/cjs/components/Select/Item.js +2 -1
  263. package/cjs/components/Select/Item.js.map +1 -1
  264. package/cjs/components/Select/Select.d.ts +6 -3
  265. package/cjs/components/Select/Select.js +26 -8
  266. package/cjs/components/Select/Select.js.map +1 -1
  267. package/cjs/components/Select/Select.md +12 -0
  268. package/cjs/components/SidePage/SidePage.d.ts +3 -1
  269. package/cjs/components/SidePage/SidePage.js +40 -5
  270. package/cjs/components/SidePage/SidePage.js.map +1 -1
  271. package/cjs/components/SidePage/SidePageCloseButton.js +2 -1
  272. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  273. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  274. package/cjs/components/SidePage/SidePageHeader.js +8 -6
  275. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  276. package/cjs/components/SingleToast/SingleToast.d.ts +11 -0
  277. package/cjs/components/SingleToast/SingleToast.js +20 -0
  278. package/cjs/components/SingleToast/SingleToast.js.map +1 -0
  279. package/cjs/components/SingleToast/SingleToast.md +35 -0
  280. package/cjs/components/SingleToast/index.d.ts +1 -0
  281. package/cjs/components/SingleToast/index.js +1 -0
  282. package/cjs/components/SingleToast/index.js.map +1 -0
  283. package/cjs/components/Spinner/Spinner.d.ts +1 -0
  284. package/cjs/components/Spinner/Spinner.js +16 -1
  285. package/cjs/components/Spinner/Spinner.js.map +1 -1
  286. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +6 -2
  287. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  288. package/cjs/components/Sticky/Sticky.js +8 -9
  289. package/cjs/components/Sticky/Sticky.js.map +1 -1
  290. package/cjs/components/Switcher/Switcher.d.ts +8 -4
  291. package/cjs/components/Switcher/Switcher.js +4 -0
  292. package/cjs/components/Switcher/Switcher.js.map +1 -1
  293. package/cjs/components/Tabs/Indicator.js +3 -1
  294. package/cjs/components/Tabs/Indicator.js.map +1 -1
  295. package/cjs/components/Tabs/Tab.d.ts +16 -32
  296. package/cjs/components/Tabs/Tab.js +8 -25
  297. package/cjs/components/Tabs/Tab.js.map +1 -1
  298. package/cjs/components/Tabs/Tab.md +71 -0
  299. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  300. package/cjs/components/Tabs/Tabs.d.ts +13 -18
  301. package/cjs/components/Tabs/Tabs.js +5 -9
  302. package/cjs/components/Tabs/Tabs.js.map +1 -1
  303. package/cjs/components/Tabs/Tabs.md +7 -22
  304. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  305. package/cjs/components/Tabs/TabsContext.d.ts +3 -2
  306. package/cjs/components/Tabs/TabsContext.js +1 -0
  307. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  308. package/cjs/components/Tabs/helpers.d.ts +5 -5
  309. package/cjs/components/Tabs/helpers.js +3 -2
  310. package/cjs/components/Tabs/helpers.js.map +1 -1
  311. package/cjs/components/Textarea/Textarea.d.ts +7 -2
  312. package/cjs/components/Textarea/Textarea.js +42 -11
  313. package/cjs/components/Textarea/Textarea.js.map +1 -1
  314. package/cjs/components/Textarea/TextareaCounter.d.ts +4 -3
  315. package/cjs/components/Textarea/TextareaCounter.js +3 -1
  316. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  317. package/cjs/components/Textarea/TextareaHelpers.d.ts +1 -1
  318. package/cjs/components/Textarea/TextareaHelpers.js +7 -2
  319. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  320. package/cjs/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
  321. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js +20 -0
  322. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -0
  323. package/cjs/components/Toast/Toast.d.ts +10 -3
  324. package/cjs/components/Toast/Toast.js +26 -8
  325. package/cjs/components/Toast/Toast.js.map +1 -1
  326. package/cjs/components/Toast/Toast.md +0 -105
  327. package/cjs/components/Toast/ToastStatic.js +4 -3
  328. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  329. package/cjs/components/Toggle/Toggle.d.ts +6 -2
  330. package/cjs/components/Toggle/Toggle.js +4 -0
  331. package/cjs/components/Toggle/Toggle.js.map +1 -1
  332. package/cjs/components/Token/Token.js +1 -6
  333. package/cjs/components/Token/Token.js.map +1 -1
  334. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  335. package/cjs/components/TokenInput/TokenInput.js +42 -9
  336. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  337. package/cjs/components/TokenInput/TokenInput.md +71 -0
  338. package/cjs/components/Tooltip/Tooltip.d.ts +6 -1
  339. package/cjs/components/Tooltip/Tooltip.js +15 -5
  340. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  341. package/cjs/components/Tooltip/Tooltip.md +24 -0
  342. package/cjs/hooks/useDrop.js +3 -2
  343. package/cjs/hooks/useDrop.js.map +1 -1
  344. package/cjs/index.d.ts +6 -0
  345. package/cjs/index.js +6 -0
  346. package/cjs/index.js.map +1 -1
  347. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +2 -1
  348. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  349. package/cjs/internal/ComponentCombinator.d.ts +7 -8
  350. package/cjs/internal/ComponentCombinator.js +2 -5
  351. package/cjs/internal/ComponentCombinator.js.map +1 -1
  352. package/cjs/internal/ComponentTable.d.ts +7 -19
  353. package/cjs/internal/ComponentTable.js +50 -77
  354. package/cjs/internal/ComponentTable.js.map +1 -1
  355. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -1
  356. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +1 -0
  357. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  358. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -9
  359. package/cjs/internal/CustomComboBox/ComboBoxView.js +16 -34
  360. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  361. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  362. package/cjs/internal/CustomComboBox/CustomComboBox.js +13 -8
  363. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  364. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +6 -2
  365. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  366. package/cjs/internal/DateSelect/DateSelect.js +20 -16
  367. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  368. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
  369. package/cjs/internal/DropdownContainer/DropdownContainer.js +14 -13
  370. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  371. package/cjs/internal/DropdownContainer/getManualPosition.js +6 -4
  372. package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -1
  373. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
  374. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -3
  375. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  376. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  377. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +1 -1
  378. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -1
  379. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
  380. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +1 -1
  381. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  382. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  383. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -1
  384. package/cjs/internal/FocusTrap/FocusTrap.js +8 -6
  385. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  386. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +19 -20
  387. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  388. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +3 -1
  389. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  390. package/cjs/internal/InputLikeText/InputLikeText.js +17 -16
  391. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  392. package/cjs/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +8 -5
  393. package/cjs/internal/{MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput.js} +11 -8
  394. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
  395. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +1 -0
  396. package/cjs/internal/InternalMaskedInput/index.d.ts +1 -0
  397. package/cjs/internal/InternalMaskedInput/index.js +1 -0
  398. package/cjs/internal/InternalMaskedInput/index.js.map +1 -0
  399. package/cjs/internal/InternalMenu/InternalMenu.js +8 -7
  400. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  401. package/cjs/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
  402. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
  403. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js +52 -0
  404. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js.map +1 -0
  405. package/cjs/internal/MaskedInputElement/MaskedInputElement.js +196 -0
  406. package/cjs/internal/MaskedInputElement/MaskedInputElement.js.map +1 -0
  407. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js +29 -0
  408. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js.map +1 -0
  409. package/cjs/internal/MaskedInputElement/index.d.ts +1 -0
  410. package/cjs/internal/MaskedInputElement/index.js +1 -0
  411. package/cjs/internal/MaskedInputElement/index.js.map +1 -0
  412. package/cjs/internal/Menu/Menu.d.ts +6 -0
  413. package/cjs/internal/Menu/Menu.js +84 -16
  414. package/cjs/internal/Menu/Menu.js.map +1 -1
  415. package/cjs/internal/Menu/MenuContext.d.ts +10 -0
  416. package/cjs/internal/Menu/MenuContext.js +16 -0
  417. package/cjs/internal/Menu/MenuContext.js.map +1 -0
  418. package/cjs/internal/Menu/MenuNavigation.d.ts +26 -0
  419. package/cjs/internal/Menu/MenuNavigation.js +107 -0
  420. package/cjs/internal/Menu/MenuNavigation.js.map +1 -0
  421. package/cjs/internal/Menu/isActiveElement.js +1 -1
  422. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  423. package/cjs/internal/MenuMessage/MenuMessage.d.ts +3 -3
  424. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
  425. package/cjs/internal/Popup/Popup.js +12 -8
  426. package/cjs/internal/Popup/Popup.js.map +1 -1
  427. package/cjs/internal/Popup/PopupHelper.js +9 -7
  428. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  429. package/cjs/internal/PopupMenu/PopupMenu.js +3 -2
  430. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  431. package/cjs/internal/RenderContainer/RenderContainer.d.ts +0 -1
  432. package/cjs/internal/RenderContainer/RenderContainer.js +18 -22
  433. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  434. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
  435. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  436. package/cjs/internal/RenderLayer/RenderLayer.js +5 -3
  437. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  438. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  439. package/cjs/internal/ThemePlayground/SizesGroup.js +1 -0
  440. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  441. package/cjs/internal/ThemePlayground/VariableValue.js +1 -0
  442. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  443. package/cjs/internal/ThemePlayground/constants.js +1 -0
  444. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  445. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  446. package/cjs/internal/ThemeShowcase/VariablesCollector.js +6 -4
  447. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  448. package/cjs/internal/ZIndex/ZIndex.js +2 -2
  449. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  450. package/cjs/internal/ZIndex/ZIndexStorage.js +2 -2
  451. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  452. package/cjs/internal/icons/16px/index.d.ts +19 -19
  453. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  454. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  455. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  456. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  457. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  458. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  459. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  460. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  461. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  462. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  463. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  464. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  465. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  466. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  467. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  468. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  469. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  470. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  471. package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
  472. package/cjs/internal/icons2022/BaseIcon.js +3 -7
  473. package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
  474. package/cjs/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  475. package/cjs/internal/icons2022/BaseIcon.styles.js +14 -0
  476. package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -0
  477. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  478. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  479. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  480. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  481. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  482. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  483. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  484. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  485. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  486. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  487. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  488. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  489. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  490. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  491. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  492. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  493. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +20 -0
  494. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -0
  495. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  496. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  497. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  498. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  499. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  500. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  501. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  502. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  503. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  504. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  505. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  506. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  507. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  508. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  509. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  510. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  511. package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  512. package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  513. package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  514. package/cjs/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  515. package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  516. package/cjs/internal/themes/DefaultTheme.d.ts +67 -2
  517. package/cjs/internal/themes/DefaultTheme.js +134 -7
  518. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  519. package/cjs/internal/themes/Theme2022.d.ts +21 -2
  520. package/cjs/internal/themes/Theme2022.js +44 -5
  521. package/cjs/internal/themes/Theme2022.js.map +1 -1
  522. package/cjs/internal/themes/Theme2022Dark.d.ts +4 -4
  523. package/cjs/internal/themes/Theme2022Dark.js +9 -5
  524. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  525. package/cjs/lib/LayoutEvents.js +5 -4
  526. package/cjs/lib/LayoutEvents.js.map +1 -1
  527. package/cjs/lib/ModalStack.js +2 -3
  528. package/cjs/lib/ModalStack.js.map +1 -1
  529. package/cjs/lib/SSRSafe.d.ts +1 -6
  530. package/cjs/lib/SSRSafe.js +4 -48
  531. package/cjs/lib/SSRSafe.js.map +1 -1
  532. package/cjs/lib/Upgrades.d.ts +1 -0
  533. package/cjs/lib/Upgrades.js +3 -1
  534. package/cjs/lib/Upgrades.js.map +1 -1
  535. package/cjs/lib/animation/index.js +6 -4
  536. package/cjs/lib/animation/index.js.map +1 -1
  537. package/cjs/lib/chars.d.ts +1 -1
  538. package/cjs/lib/chars.js +2 -2
  539. package/cjs/lib/chars.js.map +1 -1
  540. package/cjs/lib/client.d.ts +2 -7
  541. package/cjs/lib/client.js +9 -7
  542. package/cjs/lib/client.js.map +1 -1
  543. package/cjs/lib/dom/getScrollWidth.js +4 -4
  544. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  545. package/cjs/lib/dom/tabbableHelpers.d.ts +2 -1
  546. package/cjs/lib/dom/tabbableHelpers.js +8 -2
  547. package/cjs/lib/dom/tabbableHelpers.js.map +1 -1
  548. package/cjs/lib/events/MouseDrag.js +11 -11
  549. package/cjs/lib/events/MouseDrag.js.map +1 -1
  550. package/cjs/lib/events/fixClickFocusIE.js +6 -3
  551. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  552. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +5 -2
  553. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  554. package/cjs/lib/events/keyListener.js +9 -11
  555. package/cjs/lib/events/keyListener.js.map +1 -1
  556. package/cjs/lib/events/keyboard/identifiers.js +5 -2
  557. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  558. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +185 -0
  559. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +8 -0
  560. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +5 -0
  561. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -0
  562. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +10 -0
  563. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +20 -0
  564. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  565. package/cjs/lib/featureFlagsContext/index.d.ts +2 -0
  566. package/cjs/lib/featureFlagsContext/index.js +3 -0
  567. package/cjs/lib/featureFlagsContext/index.js.map +1 -0
  568. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  569. package/cjs/lib/forwardRefAndName.js +4 -1
  570. package/cjs/lib/forwardRefAndName.js.map +1 -1
  571. package/cjs/lib/isInstanceOf.d.ts +1 -0
  572. package/cjs/lib/isInstanceOf.js +6 -0
  573. package/cjs/lib/isInstanceOf.js.map +1 -0
  574. package/cjs/lib/listenFocusOutside.js +15 -15
  575. package/cjs/lib/listenFocusOutside.js.map +1 -1
  576. package/cjs/lib/needsPolyfillPlaceholder.js +5 -3
  577. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
  578. package/cjs/lib/net/fetch.js +24 -18
  579. package/cjs/lib/net/fetch.js.map +1 -1
  580. package/cjs/lib/rootNode/getRootNode.js +6 -6
  581. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  582. package/cjs/lib/styles/ColorFactory.js +13 -11
  583. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  584. package/cjs/lib/styles/ColorHelpers.d.ts +1 -1
  585. package/cjs/lib/styles/ColorHelpers.js +3 -7
  586. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  587. package/cjs/lib/taskWithDelayAndMinimalDuration.js +5 -5
  588. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  589. package/cjs/lib/theming/Emotion.js +4 -2
  590. package/cjs/lib/theming/Emotion.js.map +1 -1
  591. package/cjs/lib/types/props.d.ts +1 -0
  592. package/cjs/lib/types/props.js +1 -0
  593. package/cjs/lib/types/props.js.map +1 -0
  594. package/cjs/lib/utils.d.ts +7 -0
  595. package/cjs/lib/utils.js +29 -7
  596. package/cjs/lib/utils.js.map +1 -1
  597. package/cjs/typings/global.d.ts +3 -4
  598. package/cjs/typings/react-ref.d.ts +29 -0
  599. package/cjs/typings/utility-types.d.ts +2 -0
  600. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  601. package/components/Autocomplete/Autocomplete.d.ts +2 -1
  602. package/components/Button/Button/Button.js +20 -3
  603. package/components/Button/Button/Button.js.map +1 -1
  604. package/components/Button/Button.d.ts +7 -2
  605. package/components/Button/Button.md +68 -0
  606. package/components/Button/Button.mixins/Button.mixins.js +58 -13
  607. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  608. package/components/Button/Button.mixins.d.ts +6 -6
  609. package/components/Button/Button.styles/Button.styles.js +210 -24
  610. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  611. package/components/Button/Button.styles.d.ts +2 -1
  612. package/components/Button/ButtonArrow/ButtonArrow.js +1 -1
  613. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  614. package/components/Button/ButtonIcon/ButtonIcon.js +2 -4
  615. package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
  616. package/components/Button/ButtonIcon.d.ts +3 -2
  617. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
  618. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  619. package/components/Calendar/Calendar/Calendar.js +8 -6
  620. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  621. package/components/Checkbox/Checkbox/Checkbox.js +14 -5
  622. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  623. package/components/Checkbox/Checkbox.d.ts +6 -2
  624. package/components/Clickable/ArrowLeftIcon/ArrowLeftIcon.js +17 -0
  625. package/components/Clickable/ArrowLeftIcon/ArrowLeftIcon.js.map +1 -0
  626. package/components/Clickable/ArrowLeftIcon/package.json +6 -0
  627. package/components/Clickable/ArrowLeftIcon.d.ts +3 -0
  628. package/components/Clickable/ArrowRightIcon/ArrowRightIcon.js +17 -0
  629. package/components/Clickable/ArrowRightIcon/ArrowRightIcon.js.map +1 -0
  630. package/components/Clickable/ArrowRightIcon/package.json +6 -0
  631. package/components/Clickable/ArrowRightIcon.d.ts +3 -0
  632. package/components/Clickable/Clickable/Clickable.js +165 -0
  633. package/components/Clickable/Clickable/Clickable.js.map +1 -0
  634. package/components/Clickable/Clickable/package.json +6 -0
  635. package/components/Clickable/Clickable.d.ts +97 -0
  636. package/components/Clickable/Clickable.md +173 -0
  637. package/components/Clickable/Clickable.styles/Clickable.styles.js +13 -0
  638. package/components/Clickable/Clickable.styles/Clickable.styles.js.map +1 -0
  639. package/components/Clickable/Clickable.styles/package.json +6 -0
  640. package/components/Clickable/Clickable.styles.d.ts +11 -0
  641. package/components/Clickable/ClickableButton/ClickableButton.js +31 -0
  642. package/components/Clickable/ClickableButton/ClickableButton.js.map +1 -0
  643. package/components/Clickable/ClickableButton/package.json +6 -0
  644. package/components/Clickable/ClickableButton.d.ts +5 -0
  645. package/components/Clickable/ClickableButton.mixins/ClickableButton.mixins.js +81 -0
  646. package/components/Clickable/ClickableButton.mixins/ClickableButton.mixins.js.map +1 -0
  647. package/components/Clickable/ClickableButton.mixins/package.json +6 -0
  648. package/components/Clickable/ClickableButton.mixins.d.ts +30 -0
  649. package/components/Clickable/ClickableButton.styles/ClickableButton.styles.js +313 -0
  650. package/components/Clickable/ClickableButton.styles/ClickableButton.styles.js.map +1 -0
  651. package/components/Clickable/ClickableButton.styles/package.json +6 -0
  652. package/components/Clickable/ClickableButton.styles.d.ts +63 -0
  653. package/components/Clickable/ClickableButtonArrow/ClickableButtonArrow.js +21 -0
  654. package/components/Clickable/ClickableButtonArrow/ClickableButtonArrow.js.map +1 -0
  655. package/components/Clickable/ClickableButtonArrow/package.json +6 -0
  656. package/components/Clickable/ClickableButtonArrow.d.ts +4 -0
  657. package/components/Clickable/ClickableButtonArrow.styles/ClickableButtonArrow.styles.js +22 -0
  658. package/components/Clickable/ClickableButtonArrow.styles/ClickableButtonArrow.styles.js.map +1 -0
  659. package/components/Clickable/ClickableButtonArrow.styles/package.json +6 -0
  660. package/components/Clickable/ClickableButtonArrow.styles.d.ts +8 -0
  661. package/components/Clickable/ClickableButtonCaption/ClickableButtonCaption.js +37 -0
  662. package/components/Clickable/ClickableButtonCaption/ClickableButtonCaption.js.map +1 -0
  663. package/components/Clickable/ClickableButtonCaption/package.json +6 -0
  664. package/components/Clickable/ClickableButtonCaption.d.ts +2 -0
  665. package/components/Clickable/ClickableButtonCaption.styles/ClickableButtonCaption.styles.js +16 -0
  666. package/components/Clickable/ClickableButtonCaption.styles/ClickableButtonCaption.styles.js.map +1 -0
  667. package/components/Clickable/ClickableButtonCaption.styles/package.json +6 -0
  668. package/components/Clickable/ClickableButtonCaption.styles.d.ts +5 -0
  669. package/components/Clickable/ClickableButtonIcon/ClickableButtonIcon.js +51 -0
  670. package/components/Clickable/ClickableButtonIcon/ClickableButtonIcon.js.map +1 -0
  671. package/components/Clickable/ClickableButtonIcon/package.json +6 -0
  672. package/components/Clickable/ClickableButtonIcon.d.ts +7 -0
  673. package/components/Clickable/ClickableButtonIcon.styles/ClickableButtonIcon.styles.js +58 -0
  674. package/components/Clickable/ClickableButtonIcon.styles/ClickableButtonIcon.styles.js.map +1 -0
  675. package/components/Clickable/ClickableButtonIcon.styles/package.json +6 -0
  676. package/components/Clickable/ClickableButtonIcon.styles.d.ts +19 -0
  677. package/components/Clickable/ClickableButtonLoadingIcon/ClickableButtonLoadingIcon.js +18 -0
  678. package/components/Clickable/ClickableButtonLoadingIcon/ClickableButtonLoadingIcon.js.map +1 -0
  679. package/components/Clickable/ClickableButtonLoadingIcon/package.json +6 -0
  680. package/components/Clickable/ClickableButtonLoadingIcon.d.ts +6 -0
  681. package/components/Clickable/ClickableButtonLoadingIcon.styles/ClickableButtonLoadingIcon.styles.js +10 -0
  682. package/components/Clickable/ClickableButtonLoadingIcon.styles/ClickableButtonLoadingIcon.styles.js.map +1 -0
  683. package/components/Clickable/ClickableButtonLoadingIcon.styles/package.json +6 -0
  684. package/components/Clickable/ClickableButtonLoadingIcon.styles.d.ts +3 -0
  685. package/components/Clickable/ClickableButtonOutline/ClickableButtonOutline.js +22 -0
  686. package/components/Clickable/ClickableButtonOutline/ClickableButtonOutline.js.map +1 -0
  687. package/components/Clickable/ClickableButtonOutline/package.json +6 -0
  688. package/components/Clickable/ClickableButtonOutline.d.ts +4 -0
  689. package/components/Clickable/ClickableButtonOutline.styles/ClickableButtonOutline.styles.js +16 -0
  690. package/components/Clickable/ClickableButtonOutline.styles/ClickableButtonOutline.styles.js.map +1 -0
  691. package/components/Clickable/ClickableButtonOutline.styles/package.json +6 -0
  692. package/components/Clickable/ClickableButtonOutline.styles.d.ts +6 -0
  693. package/components/Clickable/ClickableButtonWrapper/ClickableButtonWrapper.js +18 -0
  694. package/components/Clickable/ClickableButtonWrapper/ClickableButtonWrapper.js.map +1 -0
  695. package/components/Clickable/ClickableButtonWrapper/package.json +6 -0
  696. package/components/Clickable/ClickableButtonWrapper.d.ts +3 -0
  697. package/components/Clickable/ClickableButtonWrapper.styles/ClickableButtonWrapper.styles.js +19 -0
  698. package/components/Clickable/ClickableButtonWrapper.styles/ClickableButtonWrapper.styles.js.map +1 -0
  699. package/components/Clickable/ClickableButtonWrapper.styles/package.json +6 -0
  700. package/components/Clickable/ClickableButtonWrapper.styles.d.ts +7 -0
  701. package/components/Clickable/ClickableLink/ClickableLink.js +24 -0
  702. package/components/Clickable/ClickableLink/ClickableLink.js.map +1 -0
  703. package/components/Clickable/ClickableLink/package.json +6 -0
  704. package/components/Clickable/ClickableLink.d.ts +5 -0
  705. package/components/Clickable/ClickableLink.styles/ClickableLink.styles.js +52 -0
  706. package/components/Clickable/ClickableLink.styles/ClickableLink.styles.js.map +1 -0
  707. package/components/Clickable/ClickableLink.styles/package.json +6 -0
  708. package/components/Clickable/ClickableLink.styles.d.ts +21 -0
  709. package/components/Clickable/ClickableLinkChild/ClickableLinkChild.js +20 -0
  710. package/components/Clickable/ClickableLinkChild/ClickableLinkChild.js.map +1 -0
  711. package/components/Clickable/ClickableLinkChild/package.json +6 -0
  712. package/components/Clickable/ClickableLinkChild.d.ts +7 -0
  713. package/components/Clickable/ClickableLinkChild.styles/ClickableLinkChild.styles.js +24 -0
  714. package/components/Clickable/ClickableLinkChild.styles/ClickableLinkChild.styles.js.map +1 -0
  715. package/components/Clickable/ClickableLinkChild.styles/package.json +6 -0
  716. package/components/Clickable/ClickableLinkChild.styles.d.ts +7 -0
  717. package/components/Clickable/ClickableLinkIcon/ClickableLinkIcon.js +21 -0
  718. package/components/Clickable/ClickableLinkIcon/ClickableLinkIcon.js.map +1 -0
  719. package/components/Clickable/ClickableLinkIcon/package.json +6 -0
  720. package/components/Clickable/ClickableLinkIcon.d.ts +7 -0
  721. package/components/Clickable/ClickableLinkIcon.styles/ClickableLinkIcon.styles.js +16 -0
  722. package/components/Clickable/ClickableLinkIcon.styles/ClickableLinkIcon.styles.js.map +1 -0
  723. package/components/Clickable/ClickableLinkIcon.styles/package.json +6 -0
  724. package/components/Clickable/ClickableLinkIcon.styles.d.ts +6 -0
  725. package/components/Clickable/index/index.js +1 -0
  726. package/components/Clickable/index/index.js.map +1 -0
  727. package/{internal/MaskedInput → components/Clickable}/index/package.json +1 -1
  728. package/components/Clickable/index.d.ts +1 -0
  729. package/{internal/MaskedInput → components/Clickable}/package.json +1 -1
  730. package/components/Clickable/utils/package.json +6 -0
  731. package/components/Clickable/utils/utils.js +44 -0
  732. package/components/Clickable/utils/utils.js.map +1 -0
  733. package/components/Clickable/utils.d.ts +6 -0
  734. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  735. package/components/ComboBox/ComboBox.d.ts +2 -1
  736. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +3 -1
  737. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  738. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +4 -1
  739. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  740. package/components/DateInput/DateInput/DateInput.js +2 -1
  741. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  742. package/components/DateInput/DateInput.d.ts +2 -1
  743. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
  744. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  745. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  746. package/components/DatePicker/DatePicker.d.ts +2 -1
  747. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  748. package/components/Dropdown/Dropdown.d.ts +3 -2
  749. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
  750. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
  751. package/components/FileUploader/FileUploader/FileUploader.js +9 -5
  752. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  753. package/components/FileUploader/FileUploader.d.ts +6 -2
  754. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +2 -2
  755. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  756. package/components/FileUploader/FileUploader.styles.d.ts +1 -1
  757. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  758. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  759. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +30 -34
  760. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  761. package/components/GlobalLoader/GlobalLoader.d.ts +1 -2
  762. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +2 -3
  763. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  764. package/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  765. package/components/Group/Group/Group.js +9 -10
  766. package/components/Group/Group/Group.js.map +1 -1
  767. package/components/Group/Group.md +24 -0
  768. package/components/Hint/Hint/Hint.js +5 -5
  769. package/components/Hint/Hint/Hint.js.map +1 -1
  770. package/components/Input/Input/Input.js +32 -16
  771. package/components/Input/Input/Input.js.map +1 -1
  772. package/components/Input/Input.d.ts +28 -7
  773. package/components/Input/Input.typings/Input.typings.js +1 -0
  774. package/components/Input/Input.typings/Input.typings.js.map +1 -0
  775. package/components/Input/Input.typings/package.json +6 -0
  776. package/components/Input/Input.typings.d.ts +7 -0
  777. package/components/Input/InputLayout/InputLayout.d.ts +1 -1
  778. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -1
  779. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  780. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
  781. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
  782. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  783. package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +1 -1
  784. package/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  785. package/components/Input/index/index.js +2 -1
  786. package/components/Input/index/index.js.map +1 -1
  787. package/components/Input/index.d.ts +1 -0
  788. package/components/Kebab/Kebab/Kebab.js +2 -1
  789. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  790. package/components/Kebab/Kebab.d.ts +2 -1
  791. package/components/Link/Link/Link.js +5 -4
  792. package/components/Link/Link/Link.js.map +1 -1
  793. package/components/Link/Link.md +69 -0
  794. package/components/Link/Link.styles/Link.styles.js +25 -22
  795. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  796. package/components/Link/Link.styles.d.ts +1 -0
  797. package/components/Loader/Loader/Loader.js +9 -6
  798. package/components/Loader/Loader/Loader.js.map +1 -1
  799. package/components/MaskedInput/MaskedInput/MaskedInput.js +62 -0
  800. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -0
  801. package/{internal → components}/MaskedInput/MaskedInput/package.json +1 -1
  802. package/components/MaskedInput/MaskedInput.d.ts +24 -0
  803. package/components/MaskedInput/MaskedInput.md +21 -0
  804. package/components/MaskedInput/index/index.js.map +1 -0
  805. package/components/MaskedInput/index/package.json +6 -0
  806. package/components/MaskedInput/package.json +6 -0
  807. package/components/MenuFooter/MenuFooter/MenuFooter.js +4 -0
  808. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  809. package/components/MenuFooter/MenuFooter.d.ts +6 -2
  810. package/components/MenuHeader/MenuHeader/MenuHeader.js +7 -1
  811. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  812. package/components/MenuHeader/MenuHeader.d.ts +6 -2
  813. package/components/MenuItem/MenuItem/MenuItem.js +133 -19
  814. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  815. package/components/MenuItem/MenuItem.d.ts +27 -2
  816. package/components/MenuItem/MenuItem.md +20 -6
  817. package/components/MiniModal/MiniModal/MiniModal.js +38 -0
  818. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -0
  819. package/components/MiniModal/MiniModal/package.json +6 -0
  820. package/components/MiniModal/MiniModal.d.ts +18 -0
  821. package/components/MiniModal/MiniModal.md +233 -0
  822. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +41 -0
  823. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -0
  824. package/components/MiniModal/MiniModal.styles/package.json +6 -0
  825. package/components/MiniModal/MiniModal.styles.d.ts +14 -0
  826. package/components/MiniModal/MiniModalBody/MiniModalBody.js +23 -0
  827. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -0
  828. package/components/MiniModal/MiniModalBody/package.json +6 -0
  829. package/components/MiniModal/MiniModalBody.d.ts +7 -0
  830. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +35 -0
  831. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -0
  832. package/components/MiniModal/MiniModalFooter/package.json +6 -0
  833. package/components/MiniModal/MiniModalFooter.d.ts +18 -0
  834. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js +33 -0
  835. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -0
  836. package/components/MiniModal/MiniModalHeader/package.json +6 -0
  837. package/components/MiniModal/MiniModalHeader.d.ts +17 -0
  838. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +27 -0
  839. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -0
  840. package/components/MiniModal/MiniModalIndent/package.json +6 -0
  841. package/components/MiniModal/MiniModalIndent.d.ts +6 -0
  842. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js +23 -0
  843. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js.map +1 -0
  844. package/components/MiniModal/getMiniModalTheme/package.json +6 -0
  845. package/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  846. package/components/MiniModal/index/index.js +5 -0
  847. package/components/MiniModal/index/index.js.map +1 -0
  848. package/components/MiniModal/index/package.json +6 -0
  849. package/components/MiniModal/index.d.ts +5 -0
  850. package/components/MiniModal/package.json +6 -0
  851. package/components/Modal/Modal/Modal.js +18 -14
  852. package/components/Modal/Modal/Modal.js.map +1 -1
  853. package/components/Modal/Modal.d.ts +6 -0
  854. package/components/Modal/Modal.styles/Modal.styles.js +44 -37
  855. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  856. package/components/Modal/Modal.styles.d.ts +5 -0
  857. package/components/Modal/ModalClose/ModalClose.js +2 -1
  858. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  859. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  860. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  861. package/components/Modal/ModalSeparator/ModalSeparator.js +6 -0
  862. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  863. package/components/Modal/ModalSeparator.d.ts +5 -0
  864. package/components/Modal/getModalTheme/getModalTheme.js +8 -3
  865. package/components/Modal/getModalTheme/getModalTheme.js.map +1 -1
  866. package/components/Modal/getModalTheme.d.ts +2 -2
  867. package/components/Paging/NavigationHelper/NavigationHelper.js +2 -1
  868. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  869. package/components/Paging/Paging/Paging.js +17 -11
  870. package/components/Paging/Paging/Paging.js.map +1 -1
  871. package/components/Paging/Paging.styles/Paging.styles.js +3 -6
  872. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  873. package/components/Paging/Paging.styles.d.ts +0 -1
  874. package/components/PasswordInput/PasswordInput/PasswordInput.js +4 -2
  875. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  876. package/components/Radio/Radio/Radio.js +6 -1
  877. package/components/Radio/Radio/Radio.js.map +1 -1
  878. package/components/Radio/Radio.d.ts +6 -2
  879. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
  880. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  881. package/components/ScrollContainer/ScrollBar/ScrollBar.js +17 -50
  882. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  883. package/components/ScrollContainer/ScrollBar.d.ts +4 -7
  884. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +109 -22
  885. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  886. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +1 -2
  887. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
  888. package/components/ScrollContainer/ScrollContainer.d.ts +18 -3
  889. package/components/ScrollContainer/ScrollContainer.md +29 -2
  890. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +6 -18
  891. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  892. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  893. package/components/Select/Item/Item.js +3 -1
  894. package/components/Select/Item/Item.js.map +1 -1
  895. package/components/Select/Item.d.ts +1 -0
  896. package/components/Select/Select/Select.js +23 -16
  897. package/components/Select/Select/Select.js.map +1 -1
  898. package/components/Select/Select.d.ts +6 -3
  899. package/components/Select/Select.md +12 -0
  900. package/components/SidePage/SidePage/SidePage.js +38 -13
  901. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  902. package/components/SidePage/SidePage.d.ts +3 -1
  903. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +2 -1
  904. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  905. package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -4
  906. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  907. package/components/SidePage/SidePageHeader.d.ts +1 -0
  908. package/components/SingleToast/SingleToast/SingleToast.js +53 -0
  909. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -0
  910. package/components/SingleToast/SingleToast/package.json +6 -0
  911. package/components/SingleToast/SingleToast.d.ts +11 -0
  912. package/components/SingleToast/SingleToast.md +35 -0
  913. package/components/SingleToast/index/index.js +1 -0
  914. package/components/SingleToast/index/index.js.map +1 -0
  915. package/components/SingleToast/index/package.json +6 -0
  916. package/components/SingleToast/index.d.ts +1 -0
  917. package/components/SingleToast/package.json +6 -0
  918. package/components/Spinner/Spinner/Spinner.js +10 -4
  919. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  920. package/components/Spinner/Spinner.d.ts +1 -0
  921. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
  922. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  923. package/components/Sticky/Sticky/Sticky.js +12 -8
  924. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  925. package/components/Switcher/Switcher/Switcher.js +4 -0
  926. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  927. package/components/Switcher/Switcher.d.ts +8 -4
  928. package/components/Tabs/Indicator/Indicator.js +3 -1
  929. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  930. package/components/Tabs/Tab/Tab.js +7 -14
  931. package/components/Tabs/Tab/Tab.js.map +1 -1
  932. package/components/Tabs/Tab.d.ts +16 -32
  933. package/components/Tabs/Tab.md +71 -0
  934. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  935. package/components/Tabs/Tabs/Tabs.js +4 -4
  936. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  937. package/components/Tabs/Tabs.d.ts +13 -18
  938. package/components/Tabs/Tabs.md +7 -22
  939. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  940. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  941. package/components/Tabs/TabsContext.d.ts +3 -2
  942. package/components/Tabs/helpers/helpers.js +3 -0
  943. package/components/Tabs/helpers/helpers.js.map +1 -1
  944. package/components/Tabs/helpers.d.ts +5 -5
  945. package/components/Textarea/Textarea/Textarea.js +37 -19
  946. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  947. package/components/Textarea/Textarea.d.ts +7 -2
  948. package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
  949. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  950. package/components/Textarea/TextareaCounter.d.ts +4 -3
  951. package/components/Textarea/TextareaHelpers/TextareaHelpers.js +6 -1
  952. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  953. package/components/Textarea/TextareaHelpers.d.ts +1 -1
  954. package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js +21 -0
  955. package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js.map +1 -0
  956. package/components/Textarea/TextareaWithSafari17Workaround/package.json +6 -0
  957. package/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
  958. package/components/Toast/Toast/Toast.js +16 -7
  959. package/components/Toast/Toast/Toast.js.map +1 -1
  960. package/components/Toast/Toast.d.ts +10 -3
  961. package/components/Toast/Toast.md +0 -105
  962. package/components/Toast/ToastStatic/ToastStatic.js +4 -4
  963. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  964. package/components/Toggle/Toggle/Toggle.js +4 -0
  965. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  966. package/components/Toggle/Toggle.d.ts +6 -2
  967. package/components/Token/Token/Token.js +4 -3
  968. package/components/Token/Token/Token.js.map +1 -1
  969. package/components/TokenInput/TokenInput/TokenInput.js +51 -11
  970. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  971. package/components/TokenInput/TokenInput.d.ts +2 -0
  972. package/components/TokenInput/TokenInput.md +71 -0
  973. package/components/Tooltip/Tooltip/Tooltip.js +10 -7
  974. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  975. package/components/Tooltip/Tooltip.d.ts +6 -1
  976. package/components/Tooltip/Tooltip.md +24 -0
  977. package/hooks/useDrop/useDrop.js +3 -2
  978. package/hooks/useDrop/useDrop.js.map +1 -1
  979. package/index.d.ts +6 -0
  980. package/index.js +6 -0
  981. package/index.js.map +1 -1
  982. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +2 -1
  983. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  984. package/internal/ComponentCombinator/ComponentCombinator.js +4 -8
  985. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  986. package/internal/ComponentCombinator.d.ts +7 -8
  987. package/internal/ComponentTable/ComponentTable.js +66 -103
  988. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  989. package/internal/ComponentTable.d.ts +7 -19
  990. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  991. package/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -1
  992. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +21 -32
  993. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  994. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -9
  995. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +11 -6
  996. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  997. package/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  998. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +7 -2
  999. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  1000. package/internal/DateSelect/DateSelect/DateSelect.js +20 -20
  1001. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  1002. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +19 -17
  1003. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  1004. package/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
  1005. package/internal/DropdownContainer/getManualPosition/getManualPosition.js +4 -3
  1006. package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -1
  1007. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +3 -2
  1008. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  1009. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
  1010. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +1 -1
  1011. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  1012. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  1013. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
  1014. package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -1
  1015. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  1016. package/internal/FocusTrap/FocusTrap/FocusTrap.js +9 -3
  1017. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  1018. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +25 -26
  1019. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  1020. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +3 -1
  1021. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  1022. package/internal/InputLikeText/InputLikeText/InputLikeText.js +29 -19
  1023. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1024. package/internal/{MaskedInput/MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js} +13 -9
  1025. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
  1026. package/internal/InternalMaskedInput/InternalMaskedInput/package.json +6 -0
  1027. package/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +8 -5
  1028. package/{cjs/internal/MaskedInput/MaskedInput.styles.js.map → internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map} +1 -1
  1029. package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +6 -0
  1030. package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +6 -0
  1031. package/internal/InternalMaskedInput/index/index.js +1 -0
  1032. package/internal/InternalMaskedInput/index/index.js.map +1 -0
  1033. package/internal/InternalMaskedInput/index/package.json +6 -0
  1034. package/internal/InternalMaskedInput/index.d.ts +1 -0
  1035. package/internal/InternalMaskedInput/package.json +6 -0
  1036. package/internal/InternalMenu/InternalMenu/InternalMenu.js +10 -9
  1037. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1038. package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js +206 -0
  1039. package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js.map +1 -0
  1040. package/internal/MaskedInputElement/MaskedInputElement/package.json +6 -0
  1041. package/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
  1042. package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js +43 -0
  1043. package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js.map +1 -0
  1044. package/internal/MaskedInputElement/MaskedInputElement.helpers/package.json +6 -0
  1045. package/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
  1046. package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js +16 -0
  1047. package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js.map +1 -0
  1048. package/internal/MaskedInputElement/MaskedInputElement.styles/package.json +6 -0
  1049. package/internal/MaskedInputElement/MaskedInputElement.styles.d.ts +6 -0
  1050. package/internal/MaskedInputElement/index/index.js +1 -0
  1051. package/internal/MaskedInputElement/index/index.js.map +1 -0
  1052. package/internal/MaskedInputElement/index/package.json +6 -0
  1053. package/internal/MaskedInputElement/index.d.ts +1 -0
  1054. package/internal/MaskedInputElement/package.json +6 -0
  1055. package/internal/Menu/Menu/Menu.js +144 -62
  1056. package/internal/Menu/Menu/Menu.js.map +1 -1
  1057. package/internal/Menu/Menu.d.ts +6 -0
  1058. package/internal/Menu/MenuContext/MenuContext.js +5 -0
  1059. package/internal/Menu/MenuContext/MenuContext.js.map +1 -0
  1060. package/internal/Menu/MenuContext/package.json +6 -0
  1061. package/internal/Menu/MenuContext.d.ts +10 -0
  1062. package/internal/Menu/MenuNavigation/MenuNavigation.js +123 -0
  1063. package/internal/Menu/MenuNavigation/MenuNavigation.js.map +1 -0
  1064. package/internal/Menu/MenuNavigation/package.json +6 -0
  1065. package/internal/Menu/MenuNavigation.d.ts +26 -0
  1066. package/internal/Menu/isActiveElement/isActiveElement.js +1 -1
  1067. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  1068. package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
  1069. package/internal/MenuMessage/MenuMessage.d.ts +3 -3
  1070. package/internal/Popup/Popup/Popup.js +12 -13
  1071. package/internal/Popup/Popup/Popup.js.map +1 -1
  1072. package/internal/Popup/PopupHelper/PopupHelper.js +8 -5
  1073. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  1074. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -2
  1075. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1076. package/internal/RenderContainer/RenderContainer/RenderContainer.js +26 -16
  1077. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  1078. package/internal/RenderContainer/RenderContainer.d.ts +0 -1
  1079. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  1080. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  1081. package/internal/RenderLayer/RenderLayer/RenderLayer.js +11 -5
  1082. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  1083. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  1084. package/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  1085. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  1086. package/internal/ThemePlayground/constants/constants.js +3 -0
  1087. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  1088. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +5 -2
  1089. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1090. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  1091. package/internal/ZIndex/ZIndex/ZIndex.js +2 -2
  1092. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1093. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -2
  1094. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1095. package/internal/icons/16px/index.d.ts +19 -19
  1096. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  1097. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  1098. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  1099. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  1100. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  1101. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  1102. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  1103. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  1104. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  1105. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  1106. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  1107. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  1108. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  1109. package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  1110. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  1111. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  1112. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  1113. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  1114. package/internal/icons2022/BaseIcon/BaseIcon.js +3 -6
  1115. package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
  1116. package/internal/icons2022/BaseIcon.d.ts +1 -1
  1117. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js +11 -0
  1118. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js.map +1 -0
  1119. package/internal/icons2022/BaseIcon.styles/package.json +6 -0
  1120. package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  1121. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  1122. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  1123. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  1124. package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  1125. package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  1126. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  1127. package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  1128. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  1129. package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  1130. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  1131. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  1132. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  1133. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  1134. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  1135. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  1136. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js +18 -0
  1137. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js.map +1 -0
  1138. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/package.json +6 -0
  1139. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  1140. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  1141. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  1142. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  1143. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  1144. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  1145. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  1146. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  1147. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  1148. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  1149. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  1150. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  1151. package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  1152. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  1153. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  1154. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  1155. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  1156. package/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  1157. package/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  1158. package/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  1159. package/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  1160. package/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  1161. package/internal/themes/DefaultTheme/DefaultTheme.js +178 -6
  1162. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1163. package/internal/themes/DefaultTheme.d.ts +67 -2
  1164. package/internal/themes/Theme2022/Theme2022.js +58 -3
  1165. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  1166. package/internal/themes/Theme2022.d.ts +21 -2
  1167. package/internal/themes/Theme2022Dark/Theme2022Dark.js +13 -4
  1168. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  1169. package/internal/themes/Theme2022Dark.d.ts +4 -4
  1170. package/lib/LayoutEvents/LayoutEvents.js +5 -4
  1171. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1172. package/lib/ModalStack/ModalStack.js +2 -2
  1173. package/lib/ModalStack/ModalStack.js.map +1 -1
  1174. package/lib/SSRSafe/SSRSafe.js +3 -35
  1175. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1176. package/lib/SSRSafe.d.ts +1 -6
  1177. package/lib/Upgrades/Upgrades.js +3 -1
  1178. package/lib/Upgrades/Upgrades.js.map +1 -1
  1179. package/lib/Upgrades.d.ts +1 -0
  1180. package/lib/animation/index/index.js +6 -3
  1181. package/lib/animation/index/index.js.map +1 -1
  1182. package/lib/chars/chars.js +1 -1
  1183. package/lib/chars/chars.js.map +1 -1
  1184. package/lib/chars.d.ts +1 -1
  1185. package/lib/client/client.js +9 -7
  1186. package/lib/client/client.js.map +1 -1
  1187. package/lib/client.d.ts +2 -7
  1188. package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
  1189. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1190. package/lib/dom/tabbableHelpers/tabbableHelpers.js +4 -2
  1191. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -1
  1192. package/lib/dom/tabbableHelpers.d.ts +2 -1
  1193. package/lib/events/MouseDrag/MouseDrag.js +15 -11
  1194. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1195. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +4 -2
  1196. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  1197. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +7 -2
  1198. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  1199. package/lib/events/keyListener/keyListener.js +9 -12
  1200. package/lib/events/keyListener/keyListener.js.map +1 -1
  1201. package/lib/events/keyboard/identifiers/identifiers.js +3 -1
  1202. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1203. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +185 -0
  1204. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js +5 -0
  1205. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js.map +1 -0
  1206. package/lib/featureFlagsContext/FeatureFlagsHelpers/package.json +6 -0
  1207. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +8 -0
  1208. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +10 -0
  1209. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  1210. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
  1211. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +10 -0
  1212. package/lib/featureFlagsContext/index/index.js +2 -0
  1213. package/lib/featureFlagsContext/index/index.js.map +1 -0
  1214. package/lib/featureFlagsContext/index/package.json +6 -0
  1215. package/lib/featureFlagsContext/index.d.ts +2 -0
  1216. package/lib/featureFlagsContext/package.json +6 -0
  1217. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  1218. package/lib/forwardRefAndName.d.ts +1 -1
  1219. package/lib/isInstanceOf/isInstanceOf.js +3 -0
  1220. package/lib/isInstanceOf/isInstanceOf.js.map +1 -0
  1221. package/lib/isInstanceOf/package.json +6 -0
  1222. package/lib/isInstanceOf.d.ts +1 -0
  1223. package/lib/listenFocusOutside/listenFocusOutside.js +19 -10
  1224. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1225. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +4 -3
  1226. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
  1227. package/lib/net/fetch/fetch.js +29 -21
  1228. package/lib/net/fetch/fetch.js.map +1 -1
  1229. package/lib/rootNode/getRootNode/getRootNode.js +6 -6
  1230. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  1231. package/lib/styles/ColorFactory/ColorFactory.js +13 -9
  1232. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1233. package/lib/styles/ColorHelpers/ColorHelpers.js +3 -7
  1234. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1235. package/lib/styles/ColorHelpers.d.ts +1 -1
  1236. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +5 -4
  1237. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  1238. package/lib/theming/Emotion/Emotion.js +6 -1
  1239. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1240. package/lib/types/props/package.json +6 -0
  1241. package/lib/types/props/props.js +1 -0
  1242. package/lib/types/props/props.js.map +1 -0
  1243. package/lib/types/props.d.ts +1 -0
  1244. package/lib/utils/utils.js +31 -6
  1245. package/lib/utils/utils.js.map +1 -1
  1246. package/lib/utils.d.ts +7 -0
  1247. package/package.json +4 -4
  1248. package/typings/global.d.ts +3 -4
  1249. package/typings/react-ref.d.ts +29 -0
  1250. package/typings/utility-types.d.ts +2 -0
  1251. package/cjs/internal/MaskedInput/MaskedInput.js.map +0 -1
  1252. package/cjs/internal/MaskedInput/index.js.map +0 -1
  1253. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +0 -1
  1254. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +0 -1
  1255. package/internal/MaskedInput/MaskedInput.styles/package.json +0 -6
  1256. package/internal/MaskedInput/index/index.js.map +0 -1
  1257. /package/cjs/{internal → components}/MaskedInput/index.d.ts +0 -0
  1258. /package/cjs/{internal → components}/MaskedInput/index.js +0 -0
  1259. /package/cjs/internal/{MaskedInput/MaskedInput.styles.d.ts → InternalMaskedInput/InternalMaskedInput.styles.d.ts} +0 -0
  1260. /package/cjs/internal/{MaskedInput/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles.js} +0 -0
  1261. /package/{internal/MaskedInput/MaskedInput.styles.d.ts → cjs/internal/MaskedInputElement/MaskedInputElement.styles.d.ts} +0 -0
  1262. /package/{internal → components}/MaskedInput/index/index.js +0 -0
  1263. /package/{internal → components}/MaskedInput/index.d.ts +0 -0
  1264. /package/internal/{MaskedInput/MaskedInput.styles/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js} +0 -0
@@ -4,9 +4,10 @@ import { Input, InputIconType } from '../../components/Input';
4
4
  import { Menu } from '../Menu';
5
5
  import { InputLikeText } from '../InputLikeText';
6
6
  import { MenuItemState } from '../../components/MenuItem';
7
- import { CommonProps } from '../../internal/CommonWrapper';
7
+ import { CommonProps } from '../CommonWrapper';
8
8
  import { DropdownContainerProps } from '../DropdownContainer';
9
9
  import { ComboBoxExtendedItem } from '../../components/ComboBox';
10
+ import { SizeProp } from '../../lib/types/props';
10
11
  import { ComboBoxRequestStatus } from './CustomComboBoxTypes';
11
12
  export interface CustomComboBoxProps<T> extends Pick<DropdownContainerProps, 'menuPos'>, Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, CommonProps {
12
13
  align?: 'left' | 'center' | 'right';
@@ -34,7 +35,7 @@ export interface CustomComboBoxProps<T> extends Pick<DropdownContainerProps, 'me
34
35
  onMouseLeave?: (e: React.MouseEvent) => void;
35
36
  onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
36
37
  placeholder?: string;
37
- size?: 'small' | 'medium' | 'large';
38
+ size?: SizeProp;
38
39
  totalCount?: number;
39
40
  value?: Nullable<T>;
40
41
  /**
@@ -137,6 +138,7 @@ export declare class CustomComboBox<T> extends React.PureComponent<CustomComboBo
137
138
  private getState;
138
139
  private handleValueChange;
139
140
  private handleFocus;
141
+ private handleMobileClose;
140
142
  private handleClickOutside;
141
143
  private handleBlur;
142
144
  private handleInputBlur;
@@ -1,5 +1,6 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.LOADER_SHOW_TIME = exports.DefaultState = exports.DELAY_BEFORE_SHOW_LOADER = exports.CustomComboBoxDataTids = exports.CustomComboBox = void 0;var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
  var _reactDom = _interopRequireDefault(require("react-dom"));
3
+ var _globalObject = require("@skbkontur/global-object");
3
4
 
4
5
 
5
6
 
@@ -8,12 +9,13 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
8
9
 
9
10
  var _utils = require("../../lib/utils");
10
11
  var _fixClickFocusIE = require("../../lib/events/fixClickFocusIE");
11
- var _CommonWrapper = require("../../internal/CommonWrapper");
12
+ var _CommonWrapper = require("../CommonWrapper");
12
13
  var _decorator = require("../../components/ResponsiveLayout/decorator");
13
14
  var _rootNode = require("../../lib/rootNode");
14
15
 
15
16
 
16
17
 
18
+
17
19
  var _CustomComboBoxTypes = require("./CustomComboBoxTypes");
18
20
  var _CustomComboBoxReducer = require("./CustomComboBoxReducer");
19
21
  var _ComboBoxView = require("./ComboBoxView");var _class, _class2, _temp;
@@ -332,6 +334,7 @@ CustomComboBox = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNod
332
334
 
333
335
 
334
336
 
337
+
335
338
 
336
339
 
337
340
  dispatch = function (action, sync) {if (sync === void 0) {sync = true;}
@@ -384,6 +387,10 @@ CustomComboBox = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNod
384
387
  _this.dispatch({ type: 'Focus' });
385
388
  };_this.
386
389
 
390
+ handleMobileClose = function () {
391
+ _this.handleInputBlur();
392
+ };_this.
393
+
387
394
  handleClickOutside = function (e) {
388
395
  (0, _fixClickFocusIE.fixClickFocusIE)(e);
389
396
  _this.handleBlur();
@@ -401,9 +408,9 @@ CustomComboBox = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNod
401
408
  // workaround for the similar bug with focusout
402
409
  // in Firefox, Chrome and IE
403
410
  // https://bugzilla.mozilla.org/show_bug.cgi?id=1363964
404
- setTimeout(function () {
411
+ _globalObject.globalObject.setTimeout(function () {
405
412
  _this.dispatch({ type: 'Blur' });
406
- });
413
+ }, 0);
407
414
  };_this.
408
415
 
409
416
  handleInputBlur = function () {
@@ -411,9 +418,7 @@ CustomComboBox = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNod
411
418
  // it would call handleFocusOutside
412
419
  // In that way handleBlur would be called
413
420
 
414
- // TODO: add check for mobile layout, to call `handleBlur`
415
-
416
- if (_this.state.opened) {
421
+ if (_this.state.opened && !_this.isMobileLayout) {
417
422
  return;
418
423
  }
419
424
  _this.handleBlur();
@@ -425,12 +430,12 @@ CustomComboBox = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNod
425
430
  }
426
431
  };return _this;}var _proto = CustomComboBox.prototype; /**
427
432
  * @public
428
- */_proto.search = /*#__PURE__*/function () {var _search = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(query) {var _this2 = this;var getItems, cancelPromise, expectingId, items;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:if (query === void 0) {query = this.state.textValue;}getItems = this.props.getItems;cancelPromise = new Promise(function (_, reject) {return _this2.cancelationToken = reject;});this.requestId += 1;expectingId = this.requestId;if (!this.loaderShowDelay) {this.loaderShowDelay = new Promise(function (resolve) {var cancelLoader = (0, _utils.taskWithDelay)(function () {_this2.dispatch({ type: 'RequestItems' });setTimeout(resolve, LOADER_SHOW_TIME);}, DELAY_BEFORE_SHOW_LOADER);cancelPromise.catch(function () {return cancelLoader();});_this2.cancelLoaderDelay = function () {cancelLoader();resolve();};});}_context.prev = 6;_context.next = 9;return Promise.race([getItems(query), cancelPromise]);case 9:items = _context.sent;if (!this.state.loading) {_context.next = 13;break;}_context.next = 13;return Promise.race([this.loaderShowDelay, cancelPromise]);case 13:if (expectingId === this.requestId) {this.dispatch({ type: 'ReceiveItems', items: items });}_context.next = 19;break;case 16:_context.prev = 16;_context.t0 = _context["catch"](6);if (_context.t0 && _context.t0.code === 'CancelationError') {this.dispatch({ type: 'CancelRequest' });} else if (expectingId === this.requestId) {this.dispatch({ type: 'RequestFailure', repeatRequest: function repeatRequest() {_this2.search(query);if (_this2.input) {_this2.input.focus();}} });}case 19:_context.prev = 19;if (expectingId === this.requestId) {if (!this.state.loading) {this.cancelLoaderDelay();}this.cancelationToken = null;this.loaderShowDelay = null;}return _context.finish(19);case 22:case "end":return _context.stop();}}}, _callee, this, [[6, 16, 19, 22]]);}));function search(_x) {return _search.apply(this, arguments);}return search;}() /**
433
+ */_proto.search = /*#__PURE__*/function () {var _search = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(query) {var _this2 = this;var getItems, cancelPromise, expectingId, items;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:if (query === void 0) {query = this.state.textValue;}getItems = this.props.getItems;cancelPromise = new Promise(function (_, reject) {return _this2.cancelationToken = reject;});this.requestId += 1;expectingId = this.requestId;if (!this.loaderShowDelay) {this.loaderShowDelay = new Promise(function (resolve) {var cancelLoader = (0, _utils.taskWithDelay)(function () {_this2.dispatch({ type: 'RequestItems' });_globalObject.globalObject.setTimeout(resolve, LOADER_SHOW_TIME);}, DELAY_BEFORE_SHOW_LOADER);cancelPromise.catch(function () {return cancelLoader();});_this2.cancelLoaderDelay = function () {cancelLoader();resolve();};});}_context.prev = 6;_context.next = 9;return Promise.race([getItems(query), cancelPromise]);case 9:items = _context.sent;if (!this.state.loading) {_context.next = 13;break;}_context.next = 13;return Promise.race([this.loaderShowDelay, cancelPromise]);case 13:if (expectingId === this.requestId) {this.dispatch({ type: 'ReceiveItems', items: items });}_context.next = 19;break;case 16:_context.prev = 16;_context.t0 = _context["catch"](6);if (_context.t0 && _context.t0.code === 'CancelationError') {this.dispatch({ type: 'CancelRequest' });} else if (expectingId === this.requestId) {this.dispatch({ type: 'RequestFailure', repeatRequest: function repeatRequest() {_this2.search(query);if (_this2.input) {_this2.input.focus();}} });}case 19:_context.prev = 19;if (expectingId === this.requestId) {if (!this.state.loading) {this.cancelLoaderDelay();}this.cancelationToken = null;this.loaderShowDelay = null;}return _context.finish(19);case 22:case "end":return _context.stop();}}}, _callee, this, [[6, 16, 19, 22]]);}));function search(_x) {return _search.apply(this, arguments);}return search;}() /**
429
434
  * @public
430
435
  */;_proto.cancelSearch = function cancelSearch() {if (this.cancelationToken) {this.cancelationToken(new _utils.CancelationError());}} /**
431
436
  * @public
432
437
  */;_proto.open = function open() {this.dispatch({ type: 'Open' });} /**
433
438
  * @public
434
- */;_proto.close = function close() {this.dispatch({ type: 'Close' });};_proto.render = function render() {var _this3 = this;var viewProps = { align: this.props.align, borderless: this.props.borderless, disabled: this.props.disabled, disablePortal: this.props.disablePortal, editing: this.state.editing, error: this.props.error, items: this.state.items, loading: this.state.loading, menuAlign: this.props.menuAlign, opened: this.state.opened, drawArrow: this.props.drawArrow, menuPos: this.props.menuPos, placeholder: this.props.placeholder, size: this.props.size, textValue: this.state.textValue, totalCount: this.props.totalCount, value: this.props.value, warning: this.props.warning, 'aria-describedby': this.props['aria-describedby'], 'aria-label': this.props['aria-label'], width: this.props.width, maxLength: this.props.maxLength, maxMenuHeight: this.props.maxMenuHeight, leftIcon: this.props.leftIcon, rightIcon: this.props.rightIcon, inputMode: this.props.inputMode, onValueChange: this.handleValueChange, onClickOutside: this.handleClickOutside, onFocus: this.handleFocus, onFocusOutside: this.handleBlur, onInputBlur: this.handleInputBlur, onInputValueChange: function onInputValueChange(value) {return _this3.dispatch({ type: 'TextChange', value: value });}, onInputFocus: this.handleFocus, onInputClick: this.handleInputClick, onInputKeyDown: function onInputKeyDown(event) {event.persist();_this3.dispatch({ type: 'KeyPress', event: event });}, onMouseEnter: this.props.onMouseEnter, onMouseOver: this.props.onMouseOver, onMouseLeave: this.props.onMouseLeave, renderItem: this.props.renderItem, renderNotFound: this.props.renderNotFound, itemWrapper: this.props.itemWrapper, renderValue: this.props.renderValue, renderTotalCount: this.props.renderTotalCount, renderAddButton: this.props.renderAddButton, repeatRequest: this.state.repeatRequest, requestStatus: this.state.requestStatus, refInput: function refInput(input) {_this3.input = input;}, refMenu: function refMenu(menu) {_this3.menu = menu;}, refInputLikeText: function refInputLikeText(inputLikeText) {_this3.inputLikeText = inputLikeText;} };return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_ComboBoxView.ComboBoxView, (0, _extends2.default)({}, viewProps, { size: this.props.size, ref: this.setRootNode })));};_proto.componentDidMount = function componentDidMount() {this.dispatch({ type: 'Mount' }, false);if (this.props.autoFocus) {this.focus();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {if (prevState.editing && !this.state.editing) {this.handleBlur();}this.dispatch({ type: 'DidUpdate', prevProps: prevProps, prevState: prevState }, false);} /**
439
+ */;_proto.close = function close() {this.dispatch({ type: 'Close' });};_proto.render = function render() {var _this3 = this;var viewProps = { align: this.props.align, borderless: this.props.borderless, disabled: this.props.disabled, disablePortal: this.props.disablePortal, editing: this.state.editing, error: this.props.error, items: this.state.items, loading: this.state.loading, menuAlign: this.props.menuAlign, opened: this.state.opened, drawArrow: this.props.drawArrow, menuPos: this.props.menuPos, placeholder: this.props.placeholder, size: this.props.size, textValue: this.state.textValue, totalCount: this.props.totalCount, value: this.props.value, warning: this.props.warning, 'aria-describedby': this.props['aria-describedby'], 'aria-label': this.props['aria-label'], width: this.props.width, maxLength: this.props.maxLength, maxMenuHeight: this.props.maxMenuHeight, leftIcon: this.props.leftIcon, rightIcon: this.props.rightIcon, inputMode: this.props.inputMode, onValueChange: this.handleValueChange, onClickOutside: this.handleClickOutside, onFocus: this.handleFocus, onMobileClose: this.handleMobileClose, onFocusOutside: this.handleBlur, onInputBlur: this.handleInputBlur, onInputValueChange: function onInputValueChange(value) {return _this3.dispatch({ type: 'TextChange', value: value });}, onInputFocus: this.handleFocus, onInputClick: this.handleInputClick, onInputKeyDown: function onInputKeyDown(event) {event.persist();_this3.dispatch({ type: 'KeyPress', event: event });}, onMouseEnter: this.props.onMouseEnter, onMouseOver: this.props.onMouseOver, onMouseLeave: this.props.onMouseLeave, renderItem: this.props.renderItem, renderNotFound: this.props.renderNotFound, itemWrapper: this.props.itemWrapper, renderValue: this.props.renderValue, renderTotalCount: this.props.renderTotalCount, renderAddButton: this.props.renderAddButton, repeatRequest: this.state.repeatRequest, requestStatus: this.state.requestStatus, refInput: function refInput(input) {_this3.input = input;}, refMenu: function refMenu(menu) {_this3.menu = menu;}, refInputLikeText: function refInputLikeText(inputLikeText) {_this3.inputLikeText = inputLikeText;} };return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_ComboBoxView.ComboBoxView, (0, _extends2.default)({}, viewProps, { size: this.props.size, ref: this.setRootNode })));};_proto.componentDidMount = function componentDidMount() {this.dispatch({ type: 'Mount' }, false);if (this.props.autoFocus) {this.focus();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {if (prevState.editing && !this.state.editing) {this.handleBlur();}this.dispatch({ type: 'DidUpdate', prevProps: prevProps, prevState: prevState }, false);} /**
435
440
  * @public
436
441
  */;_proto.reset = function reset() {this.dispatch({ type: 'Reset' });};return CustomComboBox;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'CustomComboBox', _temp)) || _class) || _class;exports.CustomComboBox = CustomComboBox;
@@ -1 +1 @@
1
- {"version":3,"sources":["CustomComboBox.tsx"],"names":["DELAY_BEFORE_SHOW_LOADER","LOADER_SHOW_TIME","DefaultState","inputChanged","editing","items","loading","opened","focused","textValue","repeatRequest","undefined","requestStatus","ComboBoxRequestStatus","Unknown","size","CustomComboBoxDataTids","comboBoxView","CustomComboBox","responsiveLayout","rootNode","state","requestId","cancelationToken","reducer","cancelLoaderDelay","focus","props","disabled","input","inputLikeText","selectInputText","selectAll","blur","handleBlur","dispatch","action","sync","updateState","effects","nextState","setState","stateAndEffect","Array","forEach","handleEffect","React","version","search","ReactDOM","flushSync","effect","getState","getProps","handleValueChange","value","type","keepFocus","isMobileLayout","handleFocus","handleClickOutside","e","close","setTimeout","handleInputBlur","handleInputClick","query","getItems","cancelPromise","Promise","_","reject","expectingId","loaderShowDelay","resolve","cancelLoader","catch","race","code","cancelSearch","CancelationError","open","render","viewProps","align","borderless","disablePortal","error","menuAlign","drawArrow","menuPos","placeholder","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, { AriaAttributes } from 'react';\nimport ReactDOM from 'react-dom';\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';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { CustomComboBoxAction, CustomComboBoxEffect, reducer } from './CustomComboBoxReducer';\nimport { ComboBoxView } from './ComboBoxView';\n\nexport interface CustomComboBoxProps<T>\n extends Pick<DropdownContainerProps, 'menuPos'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n 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<Array<ComboBoxExtendedItem<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<Array<ComboBoxExtendedItem<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 size: 'small',\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 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 'aria-describedby': this.props['aria-describedby'],\n 'aria-label': this.props['aria-label'],\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} size={this.props.size} ref={this.setRootNode} />\n </CommonWrapper>\n );\n }\n\n public componentDidMount() {\n this.dispatch({ type: 'Mount' }, false);\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 }, false);\n }\n\n /**\n * @public\n */\n public reset() {\n this.dispatch({ type: 'Reset' });\n }\n\n private dispatch = (action: CustomComboBoxAction<T>, sync = true) => {\n const updateState = (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 [nextState, effects] = stateAndEffect instanceof Array ? stateAndEffect : [stateAndEffect, []];\n return nextState;\n },\n () => {\n effects.forEach(this.handleEffect);\n },\n );\n };\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(() => updateState(action));\n } else {\n updateState(action);\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":["DELAY_BEFORE_SHOW_LOADER","LOADER_SHOW_TIME","DefaultState","inputChanged","editing","items","loading","opened","focused","textValue","repeatRequest","undefined","requestStatus","ComboBoxRequestStatus","Unknown","size","CustomComboBoxDataTids","comboBoxView","CustomComboBox","responsiveLayout","rootNode","state","requestId","cancelationToken","reducer","cancelLoaderDelay","focus","props","disabled","input","inputLikeText","selectInputText","selectAll","blur","handleBlur","dispatch","action","sync","updateState","effects","nextState","setState","stateAndEffect","Array","forEach","handleEffect","React","version","search","ReactDOM","flushSync","effect","getState","getProps","handleValueChange","value","type","keepFocus","isMobileLayout","handleFocus","handleMobileClose","handleInputBlur","handleClickOutside","e","close","globalObject","setTimeout","handleInputClick","query","getItems","cancelPromise","Promise","_","reject","expectingId","loaderShowDelay","resolve","cancelLoader","catch","race","code","cancelSearch","CancelationError","open","render","viewProps","align","borderless","disablePortal","error","menuAlign","drawArrow","menuPos","placeholder","totalCount","warning","width","maxLength","maxMenuHeight","leftIcon","rightIcon","inputMode","onValueChange","onClickOutside","onFocus","onMobileClose","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, { AriaAttributes } from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\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 '../CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { DropdownContainerProps } from '../DropdownContainer';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { CustomComboBoxAction, CustomComboBoxEffect, reducer } from './CustomComboBoxReducer';\nimport { ComboBoxView } from './ComboBoxView';\n\nexport interface CustomComboBoxProps<T>\n extends Pick<DropdownContainerProps, 'menuPos'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n 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?: SizeProp;\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<Array<ComboBoxExtendedItem<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<Array<ComboBoxExtendedItem<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 size: 'small',\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 globalObject.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 'aria-describedby': this.props['aria-describedby'],\n 'aria-label': this.props['aria-label'],\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 onMobileClose: this.handleMobileClose,\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} size={this.props.size} ref={this.setRootNode} />\n </CommonWrapper>\n );\n }\n\n public componentDidMount() {\n this.dispatch({ type: 'Mount' }, false);\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 }, false);\n }\n\n /**\n * @public\n */\n public reset() {\n this.dispatch({ type: 'Reset' });\n }\n\n private dispatch = (action: CustomComboBoxAction<T>, sync = true) => {\n const updateState = (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 [nextState, effects] = stateAndEffect instanceof Array ? stateAndEffect : [stateAndEffect, []];\n return nextState;\n },\n () => {\n effects.forEach(this.handleEffect);\n },\n );\n };\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(() => updateState(action));\n } else {\n updateState(action);\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 handleMobileClose = () => {\n this.handleInputBlur();\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 globalObject.setTimeout(() => {\n this.dispatch({ type: 'Blur' });\n }, 0);\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 if (this.state.opened && !this.isMobileLayout) {\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,6 +1,7 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Effect = void 0;exports.reducer = reducer;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
2
2
  var _lodash = _interopRequireDefault(require("lodash.debounce"));
3
3
  var _lodash2 = _interopRequireDefault(require("lodash.isequal"));
4
+ var _globalObject = require("@skbkontur/global-object");
4
5
 
5
6
  var _utils = require("../../lib/utils");
6
7
  var _identifiers = require("../../lib/events/keyboard/identifiers");
@@ -162,12 +163,12 @@ var Effect = {
162
163
 
163
164
  if (index >= 0) {
164
165
  // @ts-expect-error: Use of private property.
165
- requestAnimationFrame(function () {return menu && menu.scrollToSelected();});
166
+ _globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(function () {return menu && menu.scrollToSelected();});
166
167
  return;
167
168
  }
168
169
 
169
170
  if (textValue !== valueString || requestStatus === _CustomComboBoxTypes.ComboBoxRequestStatus.Failed) {
170
- requestAnimationFrame(function () {return menu && menu.down();});
171
+ _globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(function () {return menu && menu.down();});
171
172
  }
172
173
  },
173
174
  selectMenuItem: function selectMenuItem(event) {return function (dispatch, getState, getProps, getInstance) {
@@ -262,6 +263,9 @@ action)
262
263
 
263
264
  switch (true) {
264
265
  case (0, _identifiers.isKeyEnter)(e):
266
+ if (!state.opened) {
267
+ break;
268
+ }
265
269
  e.preventDefault();
266
270
  effects.push(Effect.selectMenuItem(e));
267
271
  break;
@@ -1 +1 @@
1
- {"version":3,"sources":["CustomComboBoxReducer.tsx"],"names":["DEBOUNCE_DELAY","getValueString","value","valueToString","Effect","search","query","dispatch","getState","getProps","getInstance","debouncedSearch","searchEffect","textValue","cancelRequest","cancel","cancelSearch","blur","onBlur","focus","onFocus","valueChange","onValueChange","unexpectedInput","items","onUnexpectedInput","Array","isArray","length","singleItem","valueContent","type","keepFocus","undefined","inputChange","onInputValueChange","returnedValue","inputFocus","input","highlightMenuItem","itemToValue","focused","requestStatus","menu","valueString","index","findIndex","x","highlightItem","requestAnimationFrame","scrollToSelected","ComboBoxRequestStatus","Failed","down","selectMenuItem","event","enter","moveMenuHighlight","direction","resetHighlightedMenuItem","combobox","hasHighlightedItem","reset","reflow","LayoutEvents","emit","selectInputText","inputKeyDown","onInputKeyDown","never","reducer","state","props","action","opened","inputChanged","editing","newState","searchOnFocus","e","effects","nextState","preventDefault","push","prevProps","DefaultState","loading","Pending","shouldResetMenuHighlight","Success","repeatRequest","Unknown"],"mappings":";AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA,4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDA,IAAMA,cAAc,GAAG,GAAvB;;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAAaC,aAAb,EAA0E;AAC/F,SAAO,0BAAcD,KAAd,IAAuBC,aAAa,CAACD,KAAD,CAApC,GAA8C,EAArD;AACD,CAFD;;AAIO,IAAME,MAAqB,GAAG;AACnCC,EAAAA,MAAM,EAAE,gBAACC,KAAD,UAAW,UAACC,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAA+BC,WAA/B,EAA+C;AAChEA,MAAAA,WAAW,GAAGL,MAAd,CAAqBC,KAArB;AACD,KAFO,EAD2B;AAInCK,EAAAA,eAAe,EAAE,qBAAS,UAACJ,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAA+BC,WAA/B,EAA+C;AACvE,QAAME,YAAY,GAAGR,MAAM,CAACC,MAAP,CAAcG,QAAQ,GAAGK,SAAzB,CAArB;AACAD,IAAAA,YAAY,CAACL,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAA+BC,WAA/B,CAAZ;AACD,GAHgB,EAGdV,cAHc,CAJkB;AAQnCc,EAAAA,aAAa,EAAE,uBAACP,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAA+BC,WAA/B,EAA+C;AAC5DN,IAAAA,MAAM,CAACO,eAAP,CAAuBI,MAAvB;AACAL,IAAAA,WAAW,GAAGM,YAAd;AACD,GAXkC;AAYnCC,EAAAA,IAAI,EAAE,cAACV,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAAkC;AACtC,oBAAmBA,QAAQ,EAA3B,CAAQS,MAAR,aAAQA,MAAR;AACA,QAAIA,MAAJ,EAAY;AACVA,MAAAA,MAAM;AACP;AACF,GAjBkC;AAkBnCC,EAAAA,KAAK,EAAE,eAACZ,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAAkC;AACvC,qBAAoBA,QAAQ,EAA5B,CAAQW,OAAR,cAAQA,OAAR;AACA,QAAIA,OAAJ,EAAa;AACXA,MAAAA,OAAO;AACR;AACF,GAvBkC;AAwBnCC,EAAAA,WAAW,EAAE,qBAACnB,KAAD,UAAW,UAACK,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAAkC;AACxD,uBAA0BA,QAAQ,EAAlC,CAAQa,aAAR,cAAQA,aAAR;AACA,UAAIA,aAAJ,EAAmB;AACjBA,QAAAA,aAAa,CAACpB,KAAD,CAAb;AACD;AACF,KALY,EAxBsB;AA8BnCqB,EAAAA,eAAe,EAAE,yBAACV,SAAD,EAAYW,KAAZ,UAAsB,UAACjB,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAAkC;AACvE,uBAA6CA,QAAQ,EAArD,CAAQgB,iBAAR,cAAQA,iBAAR,CAA2BtB,aAA3B,cAA2BA,aAA3B;;AAEA,UAAIuB,KAAK,CAACC,OAAN,CAAcH,KAAd,KAAwBA,KAAK,CAACI,MAAN,KAAiB,CAA7C,EAAgD;AAC9C,YAAMC,UAAU,GAAGL,KAAK,CAAC,CAAD,CAAxB;AACA,YAAMM,YAAY,GAAG7B,cAAc,CAAC4B,UAAD,EAAa1B,aAAb,CAAnC;;AAEA,YAAI2B,YAAY,KAAKjB,SAArB,EAAgC;AAC9BN,UAAAA,QAAQ,CAAC,EAAEwB,IAAI,EAAE,aAAR,EAAuB7B,KAAK,EAAE2B,UAA9B,EAA0CG,SAAS,EAAE,KAArD,EAAD,CAAR;AACA;AACD;AACF;;AAED,UAAIP,iBAAJ,EAAuB;AACrB,YAAMvB,MAAK,GAAGuB,iBAAiB,CAACZ,SAAD,CAA/B;AACA,YAAIX,MAAK,KAAK+B,SAAd,EAAyB;AACvB1B,UAAAA,QAAQ,CAAC,EAAEwB,IAAI,EAAE,aAAR,EAAuB7B,KAAK,EAALA,MAAvB,EAA8B8B,SAAS,EAAE,KAAzC,EAAD,CAAR;AACD;AACF;AACF,KAnBgB,EA9BkB;AAkDnCE,EAAAA,WAAW,EAAE,qBAAC3B,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAAkC;AAC7C,qBAA+BA,QAAQ,EAAvC,CAAQ0B,kBAAR,cAAQA,kBAAR;AACA,oBAAsB3B,QAAQ,EAA9B,CAAQK,SAAR,aAAQA,SAAR;AACA,QAAIsB,kBAAJ,EAAwB;AACtB,UAAMC,aAAa,GAAGD,kBAAkB,CAACtB,SAAD,CAAxC;AACA,UAAI,OAAOuB,aAAP,KAAyB,QAAzB,IAAqCA,aAAa,KAAKvB,SAA3D,EAAsE;AACpEN,QAAAA,QAAQ,CAAC,EAAEwB,IAAI,EAAE,YAAR,EAAsB7B,KAAK,EAAEkC,aAA7B,EAAD,CAAR;AACD;AACF;AACF,GA3DkC;AA4DnCC,EAAAA,UAAU,EAAE,oBAAC9B,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAA+BC,WAA/B,EAA+C;AACzD,uBAAkBA,WAAW,EAA7B,CAAQ4B,KAAR,gBAAQA,KAAR;;AAEA,QAAI,CAACA,KAAL,EAAY;AACV;AACD;;AAEDA,IAAAA,KAAK,CAACnB,KAAN;AACD,GApEkC;AAqEnCoB,EAAAA,iBAAiB,EAAE,2BAAChC,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAA+BC,WAA/B,EAA+C;AAChE,qBAA8CD,QAAQ,EAAtD,CAAQP,KAAR,cAAQA,KAAR,CAAesC,WAAf,cAAeA,WAAf,CAA4BrC,aAA5B,cAA4BA,aAA5B;AACA,qBAAqDK,QAAQ,EAA7D,CAAQgB,KAAR,cAAQA,KAAR,CAAeiB,OAAf,cAAeA,OAAf,CAAwB5B,SAAxB,cAAwBA,SAAxB,CAAmC6B,aAAnC,cAAmCA,aAAnC;AACA,wBAAiBhC,WAAW,EAA5B,CAAQiC,IAAR,iBAAQA,IAAR;AACA,QAAMC,WAAW,GAAG3C,cAAc,CAACC,KAAD,EAAQC,aAAR,CAAlC;;AAEA,QAAI,CAACwC,IAAL,EAAW;AACT;AACD;;AAED,QAAI,CAACF,OAAL,EAAc;AACZ;AACD;;AAED,QAAII,KAAK,GAAG,CAAC,CAAb;AACA,QAAIrB,KAAK,IAAIA,KAAK,CAACI,MAAf,IAAyB,0BAAc1B,KAAd,CAA7B,EAAmD;AACjD2C,MAAAA,KAAK,GAAGrB,KAAK,CAACsB,SAAN,CAAgB,UAACC,CAAD,UAAOP,WAAW,CAACO,CAAD,CAAX,KAAmBP,WAAW,CAACtC,KAAD,CAArC,EAAhB,CAAR;AACD;AACDyC,IAAAA,IAAI,CAACK,aAAL,CAAmBH,KAAnB;;AAEA,QAAIA,KAAK,IAAI,CAAb,EAAgB;AACd;AACAI,MAAAA,qBAAqB,CAAC,oBAAMN,IAAI,IAAIA,IAAI,CAACO,gBAAL,EAAd,EAAD,CAArB;AACA;AACD;;AAED,QAAIrC,SAAS,KAAK+B,WAAd,IAA6BF,aAAa,KAAKS,2CAAsBC,MAAzE,EAAiF;AAC/EH,MAAAA,qBAAqB,CAAC,oBAAMN,IAAI,IAAIA,IAAI,CAACU,IAAL,EAAd,EAAD,CAArB;AACD;AACF,GAlGkC;AAmGnCC,EAAAA,cAAc,EAAE,wBAACC,KAAD,UAAW,UAAChD,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAA+BC,WAA/B,EAA+C;AACxE,0BAAiBA,WAAW,EAA5B,CAAQiC,IAAR,iBAAQA,IAAR;AACA,UAAIA,IAAJ,EAAU;AACRA,QAAAA,IAAI,CAACa,KAAL,CAAWD,KAAX;AACD;AACF,KALe,EAnGmB;AAyGnCE,EAAAA,iBAAiB,EAAE,2BAACC,SAAD,UAAe,UAACnD,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAA+BC,WAA/B,EAA+C;AAC/E,0BAAiBA,WAAW,EAA5B,CAAQiC,IAAR,iBAAQA,IAAR;AACA,UAAIA,IAAJ,EAAU;AACRA,QAAAA,IAAI,CAACe,SAAD,CAAJ;AACD;AACF,KALkB,EAzGgB;AA+GnCC,EAAAA,wBAAwB,EAAE,kCAACpD,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAA+BC,WAA/B,EAA+C;AACvE,QAAMkD,QAAQ,GAAGlD,WAAW,EAA5B;;AAEA,QAAIkD,QAAQ,CAACjB,IAAT,IAAiBiB,QAAQ,CAACjB,IAAT,CAAckB,kBAAd,EAArB,EAAyD;AACvDD,MAAAA,QAAQ,CAACjB,IAAT,CAAcmB,KAAd;AACD;AACF,GArHkC;AAsHnCC,EAAAA,MAAM,EAAE,kBAAM;AACZC,IAAAA,YAAY,CAACC,IAAb;AACD,GAxHkC;AAyHnCC,EAAAA,eAAe,EAAE,yBAAC3D,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAA+BC,WAA/B,EAA+C;AAC9D,QAAMkD,QAAQ,GAAGlD,WAAW,EAA5B;AACAkD,IAAAA,QAAQ,CAACM,eAAT;AACD,GA5HkC;AA6HnCC,EAAAA,YAAY,EAAE,sBAACZ,KAAD,UAAW,UAAChD,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAAkC;AACzD,uBAA2BA,QAAQ,EAAnC,CAAQ2D,cAAR,cAAQA,cAAR;AACA,UAAIA,cAAJ,EAAoB;AAClBA,QAAAA,cAAc,CAACb,KAAD,CAAd;AACD;AACF,KALa,EA7HqB,EAA9B,C;;;AAqIP,IAAMc,KAAK,GAAG,SAARA,KAAQ,WAAM,IAAN,EAAd;;AAEO,SAASC,OAAT;AACLC,KADK;AAELC,KAFK;AAGLC,MAHK;AAIwG;AAC7G,UAAQA,MAAM,CAAC1C,IAAf;AACE,SAAK,aAAL,CAAoB;AAClB,YAAQ7B,OAAR,GAA6BuE,MAA7B,CAAQvE,KAAR,CAAe8B,SAAf,GAA6ByC,MAA7B,CAAezC,SAAf;AACA,YAAMnB,UAAS,GAAGZ,cAAc,CAACC,OAAD,EAAQsE,KAAK,CAACrE,aAAd,CAAhC;AACA,YAAI6B,SAAJ,EAAe;AACb,iBAAO;AACL;AACE0C,YAAAA,MAAM,EAAE,KADV;AAEEC,YAAAA,YAAY,EAAE,KAFhB;AAGEC,YAAAA,OAAO,EAAE,IAHX;AAIEpD,YAAAA,KAAK,EAAE,IAJT;AAKEX,YAAAA,SAAS,EAATA,UALF,EADK;;AAQL,WAACT,MAAM,CAACiB,WAAP,CAAmBnB,OAAnB,CAAD,EAA4BE,MAAM,CAACU,aAAnC,EAAkDV,MAAM,CAACiC,UAAzD,CARK,CAAP;;AAUD;AACD,eAAO;AACL;AACEqC,UAAAA,MAAM,EAAE,KADV;AAEEC,UAAAA,YAAY,EAAE,KAFhB;AAGEC,UAAAA,OAAO,EAAE,KAHX;AAIEpD,UAAAA,KAAK,EAAE,IAJT;AAKEX,UAAAA,SAAS,EAATA,UALF,EADK;;AAQL,SAACT,MAAM,CAACiB,WAAP,CAAmBnB,OAAnB,CAAD,EAA4BE,MAAM,CAACU,aAAnC,CARK,CAAP;;AAUD;AACD,SAAK,YAAL,CAAmB;AACjB,YAAM+D,QAAQ,GAAG;AACfF,UAAAA,YAAY,EAAE,IADC;AAEf9D,UAAAA,SAAS,EAAE4D,MAAM,CAACvE,KAFH,EAAjB;;AAIA,YAAI,CAACuE,MAAM,CAACvE,KAAR,IAAiB,CAACsE,KAAK,CAACM,aAA5B,EAA2C;AACzC,iBAAO;;AAEAD,UAAAA,QAFA;AAGHH,YAAAA,MAAM,EAAE,KAHL;AAIHlD,YAAAA,KAAK,EAAE,IAJJ;;AAML,WAACpB,MAAM,CAAC8B,WAAR,CANK,CAAP;;AAQD;AACD,eAAO,CAAC2C,QAAD,EAAW,CAACzE,MAAM,CAACO,eAAR,EAAyBP,MAAM,CAAC8B,WAAhC,CAAX,CAAP;AACD;AACD,SAAK,UAAL,CAAiB;AACf,YAAM6C,CAAC,GAAGN,MAAM,CAAClB,KAAjB;AACA,YAAMyB,OAAO,GAAG,EAAhB;AACA,YAAIC,SAAS,GAAGV,KAAhB;;AAEA,gBAAQ,IAAR;AACE,eAAK,6BAAWQ,CAAX,CAAL;AACEA,YAAAA,CAAC,CAACG,cAAF;AACAF,YAAAA,OAAO,CAACG,IAAR,CAAa/E,MAAM,CAACkD,cAAP,CAAsByB,CAAtB,CAAb;AACA;AACF,eAAK,qCAAmBA,CAAnB,CAAL;AACEA,YAAAA,CAAC,CAACG,cAAF;AACAF,YAAAA,OAAO,CAACG,IAAR,CAAa/E,MAAM,CAACqD,iBAAP,CAAyB,+BAAasB,CAAb,IAAkB,IAAlB,GAAyB,MAAlD,CAAb;AACA,gBAAI,CAACR,KAAK,CAACG,MAAX,EAAmB;AACjBM,cAAAA,OAAO,CAACG,IAAR,CAAa/E,MAAM,CAACC,MAAP,CAAckE,KAAK,CAAC1D,SAApB,CAAb;AACD;AACD;AACF,eAAK,8BAAYkE,CAAZ,CAAL;AACEE,YAAAA,SAAS;AACJV,YAAAA,KADI;AAEP/C,cAAAA,KAAK,EAAE,IAFA;AAGPkD,cAAAA,MAAM,EAAE,KAHD,GAAT;;AAKA,kBAlBJ;;AAoBA,eAAO,CAACO,SAAD,YAAgBD,OAAhB,GAAyB5E,MAAM,CAAC+D,YAAP,CAAoBY,CAApB,CAAzB,GAAP;AACD;AACD,SAAK,WAAL,CAAkB;AAChB,YAAI,sBAAQP,KAAK,CAACtE,KAAd,EAAqBuE,MAAM,CAACW,SAAP,CAAiBlF,KAAtC,CAAJ,EAAkD;AAChD,iBAAOqE,KAAP;AACD;;AAED,eAAO;AACLG,UAAAA,MAAM,EAAE,KADH;AAEL7D,UAAAA,SAAS,EAAE0D,KAAK,CAACK,OAAN,GAAgBL,KAAK,CAAC1D,SAAtB,GAAkCZ,cAAc,CAACuE,KAAK,CAACtE,KAAP,EAAcsE,KAAK,CAACrE,aAApB,CAFtD,EAAP;;AAID;AACD,SAAK,OAAL,CAAc;AACZ,eAAO;AACLU,UAAAA,SAAS,EAAEZ,cAAc,CAACuE,KAAK,CAACtE,KAAP,EAAcsE,KAAK,CAACrE,aAApB,CADpB,EAAP;;AAGD;AACD,SAAK,OAAL,CAAc;AACZ,YAAM0E,SAAQ,GAAG;AACfpC,UAAAA,OAAO,EAAE,IADM;AAEfmC,UAAAA,OAAO,EAAE,IAFM,EAAjB;;AAIA,YAAI,CAACJ,KAAK,CAACM,aAAX,EAA0B;AACxB,iBAAO,CAACD,SAAD,EAAW,CAACzE,MAAM,CAACe,KAAR,CAAX,CAAP;AACD;AACD,YAAIoD,KAAK,CAACK,OAAV,EAAmB;AACjB,iBAAO,CAACC,SAAD,EAAW,CAACzE,MAAM,CAACC,MAAP,CAAckE,KAAK,CAAC1D,SAApB,CAAD,EAAiCT,MAAM,CAACe,KAAxC,CAAX,CAAP;AACD;AACD,eAAO,CAAC0D,SAAD,EAAW,CAACzE,MAAM,CAACC,MAAP,CAAc,EAAd,CAAD,EAAoBD,MAAM,CAACe,KAA3B,EAAkCf,MAAM,CAAC8D,eAAzC,CAAX,CAAP;AACD;AACD,SAAK,YAAL,CAAmB;AACjB,YAAMW,UAAQ,GAAG;AACfF,UAAAA,YAAY,EAAE,KADC,EAAjB;;AAGA,YAAI,CAACJ,KAAK,CAACG,MAAP,IAAiBF,KAAK,CAACM,aAA3B,EAA0C;AACxC,iBAAO,CAACD,UAAD,EAAW,CAACzE,MAAM,CAACC,MAAP,CAAc,EAAd,CAAD,CAAX,CAAP;AACD;AACD,eAAOkE,KAAP;AACD;AACD,SAAK,MAAL,CAAa;AACX,YAAQI,YAAR,GAAgCJ,KAAhC,CAAQI,YAAR,CAAsBnD,MAAtB,GAAgC+C,KAAhC,CAAsB/C,KAAtB;AACA,YAAI,CAACmD,YAAL,EAAmB;AACjB,iBAAO;AACL;AACElC,YAAAA,OAAO,EAAE,KADX;AAEEiC,YAAAA,MAAM,EAAE,KAFV;AAGElD,YAAAA,KAAK,EAAE,IAHT;AAIEoD,YAAAA,OAAO,EAAE,KAJX,EADK;;AAOL,WAACxE,MAAM,CAACa,IAAR,EAAcb,MAAM,CAACU,aAArB,CAPK,CAAP;;AASD;;AAED,eAAO;AACL;AACE2B,UAAAA,OAAO,EAAE,KADX;AAEEiC,UAAAA,MAAM,EAAE,KAFV;AAGElD,UAAAA,KAAK,EAAE,IAHT,EADK;;AAML,SAACpB,MAAM,CAACa,IAAR,EAAcb,MAAM,CAACU,aAArB,EAAoCV,MAAM,CAACmB,eAAP,CAAuBgD,KAAK,CAAC1D,SAA7B,EAAwCW,MAAxC,CAApC,CANK,CAAP;;AAQD;AACD,SAAK,OAAL,CAAc;AACZ,eAAO6D,4BAAP;AACD;AACD,SAAK,MAAL,CAAa;AACX,eAAO,EAAEX,MAAM,EAAE,IAAV,EAAP;AACD;AACD,SAAK,OAAL,CAAc;AACZ,eAAO,EAAEA,MAAM,EAAE,KAAV,EAAiBlD,KAAK,EAAE,IAAxB,EAAP;AACD;AACD,SAAK,QAAL,CAAe;AACb,eAAO,CAAC+C,KAAD,EAAQ,CAACnE,MAAM,CAACC,MAAP,CAAcoE,MAAM,CAACnE,KAArB,CAAD,CAAR,CAAP;AACD;AACD,SAAK,cAAL,CAAqB;AACnB,eAAO;AACLgF,UAAAA,OAAO,EAAE,IADJ;AAELZ,UAAAA,MAAM,EAAE,IAFH;AAGLhC,UAAAA,aAAa,EAAES,2CAAsBoC,OAHhC,EAAP;;AAKD;AACD,SAAK,cAAL,CAAqB;AACnB,YAAMC,wBAAwB,GAAGjB,KAAK,CAAC1D,SAAN,KAAoB,EAArD;AACA,eAAO;AACL;AACEyE,UAAAA,OAAO,EAAE,KADX;AAEEZ,UAAAA,MAAM,EAAE,IAFV;AAGElD,UAAAA,KAAK,EAAEiD,MAAM,CAACjD,KAHhB;AAIEkB,UAAAA,aAAa,EAAES,2CAAsBsC,OAJvC,EADK;;AAOL,SAACD,wBAAwB,GAAGpF,MAAM,CAACuD,wBAAV,GAAqCvD,MAAM,CAACmC,iBAArE,EAAwFnC,MAAM,CAAC2D,MAA/F,CAPK,CAAP;;AASD;AACD,SAAK,gBAAL,CAAuB;AACrB,eAAO;AACL;AACEuB,UAAAA,OAAO,EAAE,KADX;AAEEZ,UAAAA,MAAM,EAAE,IAFV;AAGElD,UAAAA,KAAK,EAAE,IAHT;AAIEkB,UAAAA,aAAa,EAAES,2CAAsBC,MAJvC;AAKEsC,UAAAA,aAAa,EAAEjB,MAAM,CAACiB,aALxB,EADK;;AAQL,SAACtF,MAAM,CAACmC,iBAAR,CARK,CAAP;;AAUD;AACD,SAAK,eAAL,CAAsB;AACpB,eAAO;AACL+C,UAAAA,OAAO,EAAE,KADJ;AAEL5C,UAAAA,aAAa,EAAES,2CAAsBwC,OAFhC,EAAP;;AAID;AACD,YAAS;AACPtB,QAAAA,KAAK;AACN,OAtLH;;AAwLA,SAAOE,KAAP;AACD","sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\nimport isEqual from 'lodash.isequal';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyArrowUp, isKeyArrowVertical, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\n\nimport { CustomComboBox, CustomComboBoxProps, CustomComboBoxState, DefaultState } from './CustomComboBox';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\n\nexport type CustomComboBoxAction<T> =\n | { type: 'ValueChange'; value: T; keepFocus: boolean }\n | { type: 'TextChange'; value: string }\n | { type: 'KeyPress'; event: React.KeyboardEvent }\n | {\n type: 'DidUpdate';\n prevProps: CustomComboBoxProps<T>;\n prevState: CustomComboBoxState<T>;\n }\n | { type: 'Mount' }\n | { type: 'Focus' }\n | { type: 'InputClick' }\n | { type: 'Blur' }\n | { type: 'Reset' }\n | { type: 'Open' }\n | { type: 'Close' }\n | { type: 'Search'; query: string }\n | { type: 'RequestItems' }\n | { type: 'ReceiveItems'; items: Array<ComboBoxExtendedItem<T>> }\n | { type: 'RequestFailure'; repeatRequest: () => void }\n | { type: 'CancelRequest' };\n\nexport type CustomComboBoxEffect<T> = (\n dispatch: (action: CustomComboBoxAction<T>) => void,\n getState: () => CustomComboBoxState<T>,\n getProps: () => CustomComboBoxProps<T>,\n getInstance: () => CustomComboBox<T>,\n) => void;\n\ntype Effect = CustomComboBoxEffect<any>;\n\ninterface EffectFactory {\n search: (query: string) => Effect;\n debouncedSearch: Effect & {\n cancel(): void;\n flush(): void;\n };\n cancelRequest: Effect;\n blur: Effect;\n focus: Effect;\n\n valueChange: (value: any) => Effect;\n unexpectedInput: (textValue: string, items: Nullable<any[]>) => Effect;\n inputChange: Effect;\n inputFocus: Effect;\n highlightMenuItem: Effect;\n selectMenuItem: (event: React.KeyboardEvent<HTMLElement>) => Effect;\n inputKeyDown: (event: React.KeyboardEvent<HTMLElement>) => Effect;\n moveMenuHighlight: (direction: 'up' | 'down') => Effect;\n resetHighlightedMenuItem: Effect;\n reflow: Effect;\n selectInputText: Effect;\n}\n\nconst DEBOUNCE_DELAY = 300;\n\nconst getValueString = (value: any, valueToString: CustomComboBoxProps<any>['valueToString']) => {\n return isNonNullable(value) ? valueToString(value) : '';\n};\n\nexport const Effect: EffectFactory = {\n search: (query) => (dispatch, getState, getProps, getInstance) => {\n getInstance().search(query);\n },\n debouncedSearch: debounce((dispatch, getState, getProps, getInstance) => {\n const searchEffect = Effect.search(getState().textValue);\n searchEffect(dispatch, getState, getProps, getInstance);\n }, DEBOUNCE_DELAY),\n cancelRequest: (dispatch, getState, getProps, getInstance) => {\n Effect.debouncedSearch.cancel();\n getInstance().cancelSearch();\n },\n blur: (dispatch, getState, getProps) => {\n const { onBlur } = getProps();\n if (onBlur) {\n onBlur();\n }\n },\n focus: (dispatch, getState, getProps) => {\n const { onFocus } = getProps();\n if (onFocus) {\n onFocus();\n }\n },\n valueChange: (value) => (dispatch, getState, getProps) => {\n const { onValueChange } = getProps();\n if (onValueChange) {\n onValueChange(value);\n }\n },\n unexpectedInput: (textValue, items) => (dispatch, getState, getProps) => {\n const { onUnexpectedInput, valueToString } = getProps();\n\n if (Array.isArray(items) && items.length === 1) {\n const singleItem = items[0];\n const valueContent = getValueString(singleItem, valueToString);\n\n if (valueContent === textValue) {\n dispatch({ type: 'ValueChange', value: singleItem, keepFocus: false });\n return;\n }\n }\n\n if (onUnexpectedInput) {\n const value = onUnexpectedInput(textValue);\n if (value !== undefined) {\n dispatch({ type: 'ValueChange', value, keepFocus: false });\n }\n }\n },\n inputChange: (dispatch, getState, getProps) => {\n const { onInputValueChange } = getProps();\n const { textValue } = getState();\n if (onInputValueChange) {\n const returnedValue = onInputValueChange(textValue);\n if (typeof returnedValue === 'string' && returnedValue !== textValue) {\n dispatch({ type: 'TextChange', value: returnedValue });\n }\n }\n },\n inputFocus: (dispatch, getState, getProps, getInstance) => {\n const { input } = getInstance();\n\n if (!input) {\n return;\n }\n\n input.focus();\n },\n highlightMenuItem: (dispatch, getState, getProps, getInstance) => {\n const { value, itemToValue, valueToString } = getProps();\n const { items, focused, textValue, requestStatus } = getState();\n const { menu } = getInstance();\n const valueString = getValueString(value, valueToString);\n\n if (!menu) {\n return;\n }\n\n if (!focused) {\n return;\n }\n\n let index = -1;\n if (items && items.length && isNonNullable(value)) {\n index = items.findIndex((x) => itemToValue(x) === itemToValue(value));\n }\n menu.highlightItem(index);\n\n if (index >= 0) {\n // @ts-expect-error: Use of private property.\n requestAnimationFrame(() => menu && menu.scrollToSelected());\n return;\n }\n\n if (textValue !== valueString || requestStatus === ComboBoxRequestStatus.Failed) {\n requestAnimationFrame(() => menu && menu.down());\n }\n },\n selectMenuItem: (event) => (dispatch, getState, getProps, getInstance) => {\n const { menu } = getInstance();\n if (menu) {\n menu.enter(event);\n }\n },\n moveMenuHighlight: (direction) => (dispatch, getState, getProps, getInstance) => {\n const { menu } = getInstance();\n if (menu) {\n menu[direction]();\n }\n },\n resetHighlightedMenuItem: (dispatch, getState, getProps, getInstance) => {\n const combobox = getInstance();\n\n if (combobox.menu && combobox.menu.hasHighlightedItem()) {\n combobox.menu.reset();\n }\n },\n reflow: () => {\n LayoutEvents.emit();\n },\n selectInputText: (dispatch, getState, getProps, getInstance) => {\n const combobox = getInstance();\n combobox.selectInputText();\n },\n inputKeyDown: (event) => (dispatch, getState, getProps) => {\n const { onInputKeyDown } = getProps();\n if (onInputKeyDown) {\n onInputKeyDown(event);\n }\n },\n};\n\nconst never = () => null;\n\nexport function reducer<T>(\n state: CustomComboBoxState<T>,\n props: CustomComboBoxProps<T>,\n action: CustomComboBoxAction<T>,\n): Pick<CustomComboBoxState<T>, never> | [Pick<CustomComboBoxState<T>, never>, Array<CustomComboBoxEffect<T>>] {\n switch (action.type) {\n case 'ValueChange': {\n const { value, keepFocus } = action;\n const textValue = getValueString(value, props.valueToString);\n if (keepFocus) {\n return [\n {\n opened: false,\n inputChanged: false,\n editing: true,\n items: null,\n textValue,\n },\n [Effect.valueChange(value), Effect.cancelRequest, Effect.inputFocus],\n ];\n }\n return [\n {\n opened: false,\n inputChanged: false,\n editing: false,\n items: null,\n textValue,\n },\n [Effect.valueChange(value), Effect.cancelRequest],\n ];\n }\n case 'TextChange': {\n const newState = {\n inputChanged: true,\n textValue: action.value,\n };\n if (!action.value && !props.searchOnFocus) {\n return [\n {\n ...newState,\n opened: false,\n items: null,\n },\n [Effect.inputChange],\n ];\n }\n return [newState, [Effect.debouncedSearch, Effect.inputChange]];\n }\n case 'KeyPress': {\n const e = action.event as React.KeyboardEvent<HTMLElement>;\n const effects = [];\n let nextState = state;\n\n switch (true) {\n case isKeyEnter(e):\n e.preventDefault();\n effects.push(Effect.selectMenuItem(e));\n break;\n case isKeyArrowVertical(e):\n e.preventDefault();\n effects.push(Effect.moveMenuHighlight(isKeyArrowUp(e) ? 'up' : 'down'));\n if (!state.opened) {\n effects.push(Effect.search(state.textValue));\n }\n break;\n case isKeyEscape(e):\n nextState = {\n ...state,\n items: null,\n opened: false,\n };\n break;\n }\n return [nextState, [...effects, Effect.inputKeyDown(e)]];\n }\n case 'DidUpdate': {\n if (isEqual(props.value, action.prevProps.value)) {\n return state;\n }\n\n return {\n opened: false,\n textValue: state.editing ? state.textValue : getValueString(props.value, props.valueToString),\n };\n }\n case 'Mount': {\n return {\n textValue: getValueString(props.value, props.valueToString),\n };\n }\n case 'Focus': {\n const newState = {\n focused: true,\n editing: true,\n };\n if (!props.searchOnFocus) {\n return [newState, [Effect.focus]];\n }\n if (state.editing) {\n return [newState, [Effect.search(state.textValue), Effect.focus]];\n }\n return [newState, [Effect.search(''), Effect.focus, Effect.selectInputText]];\n }\n case 'InputClick': {\n const newState = {\n inputChanged: false,\n };\n if (!state.opened && props.searchOnFocus) {\n return [newState, [Effect.search('')]];\n }\n return state;\n }\n case 'Blur': {\n const { inputChanged, items } = state;\n if (!inputChanged) {\n return [\n {\n focused: false,\n opened: false,\n items: null,\n editing: false,\n },\n [Effect.blur, Effect.cancelRequest],\n ];\n }\n\n return [\n {\n focused: false,\n opened: false,\n items: null,\n },\n [Effect.blur, Effect.cancelRequest, Effect.unexpectedInput(state.textValue, items)],\n ];\n }\n case 'Reset': {\n return DefaultState;\n }\n case 'Open': {\n return { opened: true };\n }\n case 'Close': {\n return { opened: false, items: null };\n }\n case 'Search': {\n return [state, [Effect.search(action.query)]];\n }\n case 'RequestItems': {\n return {\n loading: true,\n opened: true,\n requestStatus: ComboBoxRequestStatus.Pending,\n };\n }\n case 'ReceiveItems': {\n const shouldResetMenuHighlight = state.textValue === '';\n return [\n {\n loading: false,\n opened: true,\n items: action.items,\n requestStatus: ComboBoxRequestStatus.Success,\n },\n [shouldResetMenuHighlight ? Effect.resetHighlightedMenuItem : Effect.highlightMenuItem, Effect.reflow],\n ];\n }\n case 'RequestFailure': {\n return [\n {\n loading: false,\n opened: true,\n items: null,\n requestStatus: ComboBoxRequestStatus.Failed,\n repeatRequest: action.repeatRequest,\n },\n [Effect.highlightMenuItem],\n ];\n }\n case 'CancelRequest': {\n return {\n loading: false,\n requestStatus: ComboBoxRequestStatus.Unknown,\n };\n }\n default: {\n never();\n }\n }\n return state;\n}\n"]}
1
+ {"version":3,"sources":["CustomComboBoxReducer.tsx"],"names":["DEBOUNCE_DELAY","getValueString","value","valueToString","Effect","search","query","dispatch","getState","getProps","getInstance","debouncedSearch","searchEffect","textValue","cancelRequest","cancel","cancelSearch","blur","onBlur","focus","onFocus","valueChange","onValueChange","unexpectedInput","items","onUnexpectedInput","Array","isArray","length","singleItem","valueContent","type","keepFocus","undefined","inputChange","onInputValueChange","returnedValue","inputFocus","input","highlightMenuItem","itemToValue","focused","requestStatus","menu","valueString","index","findIndex","x","highlightItem","globalObject","requestAnimationFrame","scrollToSelected","ComboBoxRequestStatus","Failed","down","selectMenuItem","event","enter","moveMenuHighlight","direction","resetHighlightedMenuItem","combobox","hasHighlightedItem","reset","reflow","LayoutEvents","emit","selectInputText","inputKeyDown","onInputKeyDown","never","reducer","state","props","action","opened","inputChanged","editing","newState","searchOnFocus","e","effects","nextState","preventDefault","push","prevProps","DefaultState","loading","Pending","shouldResetMenuHighlight","Success","repeatRequest","Unknown"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\nimport isEqual from 'lodash.isequal';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyArrowUp, isKeyArrowVertical, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\n\nimport { CustomComboBox, CustomComboBoxProps, CustomComboBoxState, DefaultState } from './CustomComboBox';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\n\nexport type CustomComboBoxAction<T> =\n | { type: 'ValueChange'; value: T; keepFocus: boolean }\n | { type: 'TextChange'; value: string }\n | { type: 'KeyPress'; event: React.KeyboardEvent }\n | {\n type: 'DidUpdate';\n prevProps: CustomComboBoxProps<T>;\n prevState: CustomComboBoxState<T>;\n }\n | { type: 'Mount' }\n | { type: 'Focus' }\n | { type: 'InputClick' }\n | { type: 'Blur' }\n | { type: 'Reset' }\n | { type: 'Open' }\n | { type: 'Close' }\n | { type: 'Search'; query: string }\n | { type: 'RequestItems' }\n | { type: 'ReceiveItems'; items: Array<ComboBoxExtendedItem<T>> }\n | { type: 'RequestFailure'; repeatRequest: () => void }\n | { type: 'CancelRequest' };\n\nexport type CustomComboBoxEffect<T> = (\n dispatch: (action: CustomComboBoxAction<T>) => void,\n getState: () => CustomComboBoxState<T>,\n getProps: () => CustomComboBoxProps<T>,\n getInstance: () => CustomComboBox<T>,\n) => void;\n\ntype Effect = CustomComboBoxEffect<any>;\n\ninterface EffectFactory {\n search: (query: string) => Effect;\n debouncedSearch: Effect & {\n cancel(): void;\n flush(): void;\n };\n cancelRequest: Effect;\n blur: Effect;\n focus: Effect;\n\n valueChange: (value: any) => Effect;\n unexpectedInput: (textValue: string, items: Nullable<any[]>) => Effect;\n inputChange: Effect;\n inputFocus: Effect;\n highlightMenuItem: Effect;\n selectMenuItem: (event: React.KeyboardEvent<HTMLElement>) => Effect;\n inputKeyDown: (event: React.KeyboardEvent<HTMLElement>) => Effect;\n moveMenuHighlight: (direction: 'up' | 'down') => Effect;\n resetHighlightedMenuItem: Effect;\n reflow: Effect;\n selectInputText: Effect;\n}\n\nconst DEBOUNCE_DELAY = 300;\n\nconst getValueString = (value: any, valueToString: CustomComboBoxProps<any>['valueToString']) => {\n return isNonNullable(value) ? valueToString(value) : '';\n};\n\nexport const Effect: EffectFactory = {\n search: (query) => (dispatch, getState, getProps, getInstance) => {\n getInstance().search(query);\n },\n debouncedSearch: debounce((dispatch, getState, getProps, getInstance) => {\n const searchEffect = Effect.search(getState().textValue);\n searchEffect(dispatch, getState, getProps, getInstance);\n }, DEBOUNCE_DELAY),\n cancelRequest: (dispatch, getState, getProps, getInstance) => {\n Effect.debouncedSearch.cancel();\n getInstance().cancelSearch();\n },\n blur: (dispatch, getState, getProps) => {\n const { onBlur } = getProps();\n if (onBlur) {\n onBlur();\n }\n },\n focus: (dispatch, getState, getProps) => {\n const { onFocus } = getProps();\n if (onFocus) {\n onFocus();\n }\n },\n valueChange: (value) => (dispatch, getState, getProps) => {\n const { onValueChange } = getProps();\n if (onValueChange) {\n onValueChange(value);\n }\n },\n unexpectedInput: (textValue, items) => (dispatch, getState, getProps) => {\n const { onUnexpectedInput, valueToString } = getProps();\n\n if (Array.isArray(items) && items.length === 1) {\n const singleItem = items[0];\n const valueContent = getValueString(singleItem, valueToString);\n\n if (valueContent === textValue) {\n dispatch({ type: 'ValueChange', value: singleItem, keepFocus: false });\n return;\n }\n }\n\n if (onUnexpectedInput) {\n const value = onUnexpectedInput(textValue);\n if (value !== undefined) {\n dispatch({ type: 'ValueChange', value, keepFocus: false });\n }\n }\n },\n inputChange: (dispatch, getState, getProps) => {\n const { onInputValueChange } = getProps();\n const { textValue } = getState();\n if (onInputValueChange) {\n const returnedValue = onInputValueChange(textValue);\n if (typeof returnedValue === 'string' && returnedValue !== textValue) {\n dispatch({ type: 'TextChange', value: returnedValue });\n }\n }\n },\n inputFocus: (dispatch, getState, getProps, getInstance) => {\n const { input } = getInstance();\n\n if (!input) {\n return;\n }\n\n input.focus();\n },\n highlightMenuItem: (dispatch, getState, getProps, getInstance) => {\n const { value, itemToValue, valueToString } = getProps();\n const { items, focused, textValue, requestStatus } = getState();\n const { menu } = getInstance();\n const valueString = getValueString(value, valueToString);\n\n if (!menu) {\n return;\n }\n\n if (!focused) {\n return;\n }\n\n let index = -1;\n if (items && items.length && isNonNullable(value)) {\n index = items.findIndex((x) => itemToValue(x) === itemToValue(value));\n }\n menu.highlightItem(index);\n\n if (index >= 0) {\n // @ts-expect-error: Use of private property.\n globalObject.requestAnimationFrame?.(() => menu && menu.scrollToSelected());\n return;\n }\n\n if (textValue !== valueString || requestStatus === ComboBoxRequestStatus.Failed) {\n globalObject.requestAnimationFrame?.(() => menu && menu.down());\n }\n },\n selectMenuItem: (event) => (dispatch, getState, getProps, getInstance) => {\n const { menu } = getInstance();\n if (menu) {\n menu.enter(event);\n }\n },\n moveMenuHighlight: (direction) => (dispatch, getState, getProps, getInstance) => {\n const { menu } = getInstance();\n if (menu) {\n menu[direction]();\n }\n },\n resetHighlightedMenuItem: (dispatch, getState, getProps, getInstance) => {\n const combobox = getInstance();\n\n if (combobox.menu && combobox.menu.hasHighlightedItem()) {\n combobox.menu.reset();\n }\n },\n reflow: () => {\n LayoutEvents.emit();\n },\n selectInputText: (dispatch, getState, getProps, getInstance) => {\n const combobox = getInstance();\n combobox.selectInputText();\n },\n inputKeyDown: (event) => (dispatch, getState, getProps) => {\n const { onInputKeyDown } = getProps();\n if (onInputKeyDown) {\n onInputKeyDown(event);\n }\n },\n};\n\nconst never = () => null;\n\nexport function reducer<T>(\n state: CustomComboBoxState<T>,\n props: CustomComboBoxProps<T>,\n action: CustomComboBoxAction<T>,\n): Pick<CustomComboBoxState<T>, never> | [Pick<CustomComboBoxState<T>, never>, Array<CustomComboBoxEffect<T>>] {\n switch (action.type) {\n case 'ValueChange': {\n const { value, keepFocus } = action;\n const textValue = getValueString(value, props.valueToString);\n if (keepFocus) {\n return [\n {\n opened: false,\n inputChanged: false,\n editing: true,\n items: null,\n textValue,\n },\n [Effect.valueChange(value), Effect.cancelRequest, Effect.inputFocus],\n ];\n }\n return [\n {\n opened: false,\n inputChanged: false,\n editing: false,\n items: null,\n textValue,\n },\n [Effect.valueChange(value), Effect.cancelRequest],\n ];\n }\n case 'TextChange': {\n const newState = {\n inputChanged: true,\n textValue: action.value,\n };\n if (!action.value && !props.searchOnFocus) {\n return [\n {\n ...newState,\n opened: false,\n items: null,\n },\n [Effect.inputChange],\n ];\n }\n return [newState, [Effect.debouncedSearch, Effect.inputChange]];\n }\n case 'KeyPress': {\n const e = action.event as React.KeyboardEvent<HTMLElement>;\n const effects = [];\n let nextState = state;\n\n switch (true) {\n case isKeyEnter(e):\n if (!state.opened) {\n break;\n }\n e.preventDefault();\n effects.push(Effect.selectMenuItem(e));\n break;\n case isKeyArrowVertical(e):\n e.preventDefault();\n effects.push(Effect.moveMenuHighlight(isKeyArrowUp(e) ? 'up' : 'down'));\n if (!state.opened) {\n effects.push(Effect.search(state.textValue));\n }\n break;\n case isKeyEscape(e):\n nextState = {\n ...state,\n items: null,\n opened: false,\n };\n break;\n }\n return [nextState, [...effects, Effect.inputKeyDown(e)]];\n }\n case 'DidUpdate': {\n if (isEqual(props.value, action.prevProps.value)) {\n return state;\n }\n\n return {\n opened: false,\n textValue: state.editing ? state.textValue : getValueString(props.value, props.valueToString),\n };\n }\n case 'Mount': {\n return {\n textValue: getValueString(props.value, props.valueToString),\n };\n }\n case 'Focus': {\n const newState = {\n focused: true,\n editing: true,\n };\n if (!props.searchOnFocus) {\n return [newState, [Effect.focus]];\n }\n if (state.editing) {\n return [newState, [Effect.search(state.textValue), Effect.focus]];\n }\n return [newState, [Effect.search(''), Effect.focus, Effect.selectInputText]];\n }\n case 'InputClick': {\n const newState = {\n inputChanged: false,\n };\n if (!state.opened && props.searchOnFocus) {\n return [newState, [Effect.search('')]];\n }\n return state;\n }\n case 'Blur': {\n const { inputChanged, items } = state;\n if (!inputChanged) {\n return [\n {\n focused: false,\n opened: false,\n items: null,\n editing: false,\n },\n [Effect.blur, Effect.cancelRequest],\n ];\n }\n\n return [\n {\n focused: false,\n opened: false,\n items: null,\n },\n [Effect.blur, Effect.cancelRequest, Effect.unexpectedInput(state.textValue, items)],\n ];\n }\n case 'Reset': {\n return DefaultState;\n }\n case 'Open': {\n return { opened: true };\n }\n case 'Close': {\n return { opened: false, items: null };\n }\n case 'Search': {\n return [state, [Effect.search(action.query)]];\n }\n case 'RequestItems': {\n return {\n loading: true,\n opened: true,\n requestStatus: ComboBoxRequestStatus.Pending,\n };\n }\n case 'ReceiveItems': {\n const shouldResetMenuHighlight = state.textValue === '';\n return [\n {\n loading: false,\n opened: true,\n items: action.items,\n requestStatus: ComboBoxRequestStatus.Success,\n },\n [shouldResetMenuHighlight ? Effect.resetHighlightedMenuItem : Effect.highlightMenuItem, Effect.reflow],\n ];\n }\n case 'RequestFailure': {\n return [\n {\n loading: false,\n opened: true,\n items: null,\n requestStatus: ComboBoxRequestStatus.Failed,\n repeatRequest: action.repeatRequest,\n },\n [Effect.highlightMenuItem],\n ];\n }\n case 'CancelRequest': {\n return {\n loading: false,\n requestStatus: ComboBoxRequestStatus.Unknown,\n };\n }\n default: {\n never();\n }\n }\n return state;\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.DateSelectDataTids = exports.DateSelect = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
  var _propTypes = _interopRequireDefault(require("prop-types"));
3
+ var _globalObject = require("@skbkontur/global-object");
3
4
 
4
5
  var _utils = require("../../lib/utils");
5
6
  var _identifiers = require("../../lib/events/keyboard/identifiers");
@@ -20,6 +21,7 @@ var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
20
21
  var _ArrowCollapseCVOpenIcon16Regular = require("../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular");
21
22
  var _ArrowCUpIcon16Regular = require("../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular");
22
23
  var _ArrowCDownIcon16Regular = require("../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular");
24
+ var _isInstanceOf = require("../../lib/isInstanceOf");
23
25
 
24
26
  var _DateSelect = require("./DateSelect.styles");var _dec, _class, _class2, _temp;function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
25
27
 
@@ -115,8 +117,8 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
115
117
  itemsContainer = null;_this.
116
118
 
117
119
 
118
- longClickTimer = 0;_this.
119
- setPositionRepeatTimer = 0;_this.
120
+
121
+
120
122
  yearStep = 3;_this.
121
123
  touchStartY = null;_this.
122
124
 
@@ -274,12 +276,14 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
274
276
  return;
275
277
  }
276
278
  if (_this.timeout) {
277
- clearTimeout(_this.timeout);
279
+ _globalObject.globalObject.clearTimeout(_this.timeout);
278
280
  }
279
- _this.timeout = setTimeout(function () {return (
281
+ _this.timeout = _globalObject.globalObject.setTimeout(
282
+ function () {return (
280
283
  _this.setState({
281
- nodeTop: (0, _getDOMRect.getDOMRect)(root).top }));});
284
+ nodeTop: (0, _getDOMRect.getDOMRect)(root).top }));},
282
285
 
286
+ 0);
283
287
 
284
288
  };_this.
285
289
 
@@ -439,27 +443,27 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
439
443
 
440
444
  handleLongClickUp = function (event) {
441
445
  event.preventDefault();
442
- _this.longClickTimer = window.setTimeout(function () {
443
- _this.setPositionRepeatTimer = window.setInterval(function () {return _this.setPosition(_this.state.pos - itemHeight);}, 100);
446
+ _this.longClickTimer = _globalObject.globalObject.setTimeout(function () {
447
+ _this.setPositionRepeatTimer = _globalObject.globalObject.setInterval(function () {return _this.setPosition(_this.state.pos - itemHeight);}, 100);
444
448
  }, 200);
445
449
  };_this.
446
450
 
447
451
  handleLongClickDown = function (event) {
448
452
  event.preventDefault();
449
- _this.longClickTimer = window.setTimeout(function () {
450
- _this.setPositionRepeatTimer = window.setInterval(function () {return _this.setPosition(_this.state.pos + itemHeight);}, 100);
453
+ _this.longClickTimer = _globalObject.globalObject.setTimeout(function () {
454
+ _this.setPositionRepeatTimer = _globalObject.globalObject.setInterval(function () {return _this.setPosition(_this.state.pos + itemHeight);}, 100);
451
455
  }, 200);
452
456
  };_this.
453
457
 
454
458
  handleLongClickStop = function () {
455
- clearTimeout(_this.longClickTimer);
456
- clearTimeout(_this.setPositionRepeatTimer);
459
+ _globalObject.globalObject.clearTimeout(_this.longClickTimer);
460
+ _globalObject.globalObject.clearTimeout(_this.setPositionRepeatTimer);
457
461
  };_this.
458
462
 
459
463
  getAnchor = function () {return _this.root;};_this.
460
464
 
461
465
  handleWheel = function (event) {
462
- if (!(event instanceof WheelEvent)) {
466
+ if (!(0, _isInstanceOf.isInstanceOf)(event, _globalObject.globalObject.WheelEvent)) {
463
467
  return;
464
468
  }
465
469
  event.preventDefault();
@@ -476,7 +480,7 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
476
480
  };_this.
477
481
 
478
482
  handleTouchStart = function (event) {
479
- if (!(event instanceof TouchEvent)) {
483
+ if (!(0, _isInstanceOf.isInstanceOf)(event, _globalObject.globalObject.TouchEvent)) {
480
484
  return;
481
485
  }
482
486
 
@@ -484,12 +488,12 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
484
488
  };_this.
485
489
 
486
490
  handleTouchMove = function (event) {
487
- if (!(event instanceof TouchEvent)) {
491
+ if (!(0, _isInstanceOf.isInstanceOf)(event, _globalObject.globalObject.TouchEvent) || !(0, _globalObject.isBrowser)(_globalObject.globalObject)) {
488
492
  return;
489
493
  }
490
494
 
491
495
  var clientY = event.changedTouches[0].clientY;
492
- var pixelRatio = window.devicePixelRatio;
496
+ var pixelRatio = _globalObject.globalObject.devicePixelRatio;
493
497
 
494
498
  var deltaY = ((_this.touchStartY || 0) - clientY) / pixelRatio;
495
499
  var pos = _this.state.pos + deltaY + deltaY / itemHeight;
@@ -525,7 +529,7 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
525
529
  handleDown = function (event) {
526
530
  event.preventDefault();
527
531
  _this.setPosition(_this.state.pos + itemHeight * _this.yearStep);
528
- };return _this;}var _proto = DateSelect.prototype;_proto.componentDidUpdate = function componentDidUpdate() {this.setNodeTop();};_proto.componentDidMount = function componentDidMount() {this.listener = LayoutEvents.addListener(this.setNodeTop);this.setNodeTop();window.addEventListener('keydown', this.handleKey);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.listener) {this.listener.remove();}if (this.timeout) {clearTimeout(this.timeout);}if (this.longClickTimer) {clearTimeout(this.longClickTimer);}if (this.setPositionRepeatTimer) {clearTimeout(this.setPositionRepeatTimer);}window.removeEventListener('keydown', this.handleKey);} /**
532
+ };return _this;}var _proto = DateSelect.prototype;_proto.componentDidUpdate = function componentDidUpdate() {this.setNodeTop();};_proto.componentDidMount = function componentDidMount() {this.listener = LayoutEvents.addListener(this.setNodeTop);this.setNodeTop();_globalObject.globalObject.addEventListener == null ? void 0 : _globalObject.globalObject.addEventListener('keydown', this.handleKey);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.listener) {this.listener.remove();}if (this.timeout) {_globalObject.globalObject.clearTimeout(this.timeout);}if (this.longClickTimer) {_globalObject.globalObject.clearTimeout(this.longClickTimer);}if (this.setPositionRepeatTimer) {_globalObject.globalObject.clearTimeout(this.setPositionRepeatTimer);}_globalObject.globalObject.removeEventListener == null ? void 0 : _globalObject.globalObject.removeEventListener('keydown', this.handleKey);} /**
529
533
  * @public
530
534
  */;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx, _cx2;if ((0, _ThemeHelpers.isTheme2022)(this.theme)) {return this.renderMain2022();}var disabled = this.props.disabled;var width = this.getProps().width;var isInteractiveElement = !disabled;var Tag = isInteractiveElement ? 'button' : 'span';var rootProps = { className: (0, _Emotion.cx)((_cx = {}, _cx[_DateSelect.styles.root(this.theme)] = true, _cx[_DateSelect.styles.disabled()] = Boolean(disabled), _cx)), style: { width: width }, ref: this.refRoot, onClick: this.open, 'aria-expanded': isInteractiveElement ? this.state.opened : undefined, 'aria-controls': !disabled ? this.menuId : undefined, 'aria-label': isInteractiveElement ? this.locale.selectChosenAriaLabel + " " + (this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(0) : undefined };return /*#__PURE__*/_react.default.createElement(Tag, rootProps, /*#__PURE__*/_react.default.createElement("div", { "data-tid": DateSelectDataTids.caption, className: _DateSelect.styles.caption() }, this.getItem(0), /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_DateSelect.styles.arrow(this.theme)] = true, _cx2[_DateSelect.styles.arrowDisabled()] = Boolean(disabled), _cx2)) }, /*#__PURE__*/_react.default.createElement(_px.ArrowTriangleUpDownIcon, { size: 12 }))), this.state.opened && this.renderMenu(this.menuId));};_proto.renderMain2022 = function renderMain2022() {var disabled = this.props.disabled;var width = this.getProps().width;var isInteractiveElement = !disabled;var Tag = isInteractiveElement ? 'button' : 'span';var rootProps = { className: (0, _Emotion.cx)(_DateSelect.styles.root(this.theme), _DateSelect.styles.root2022(), disabled && _DateSelect.styles.disabled()), style: { width: width }, ref: this.refRoot, onClick: this.open, 'aria-expanded': isInteractiveElement ? this.state.opened : undefined, 'aria-label': isInteractiveElement ? this.locale.selectChosenAriaLabel + " " + (this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(0) : undefined };return /*#__PURE__*/_react.default.createElement(Tag, rootProps, /*#__PURE__*/_react.default.createElement("div", { "data-tid": DateSelectDataTids.caption, className: _DateSelect.styles.caption() }, this.getItem(0)), isInteractiveElement && /*#__PURE__*/_react.default.createElement(_ArrowCollapseCVOpenIcon16Regular.ArrowCollapseCVOpenIcon16Regular, { className: (0, _Emotion.cx)(_DateSelect.globalClasses.arrow), color: "#ADADAD" }), this.state.opened && this.renderMenu(this.menuId));};_proto.disableItems = function disableItems(index) {var value = this.props.value + index;if ((0, _utils.isNonNullable)(this.props.maxValue) && (0, _utils.isNonNullable)(this.props.minValue)) {return value > this.props.maxValue || value < this.props.minValue;}if ((0, _utils.isNonNullable)(this.props.minValue)) {return value < this.props.minValue;}if ((0, _utils.isNonNullable)(this.props.maxValue)) {return value > this.props.maxValue;}};_proto.renderMenu = function renderMenu(id) {var _this3 = this,_cx3;var _this$state = this.state,top = _this$state.top,height = _this$state.height,nodeTop = _this$state.nodeTop;var shift = this.state.pos % itemHeight;if (shift < 0) {shift += itemHeight;}var from = (this.state.pos - shift + top) / itemHeight;var to = from + Math.ceil((height + shift) / itemHeight);var items = [];var _loop = function _loop(i) {var _cx4;var disableItems = _this3.disableItems(i) || false;var className = (0, _Emotion.cx)((_cx4 = {}, _cx4[_DateSelect.styles.menuItem(_this3.theme)] = true, _cx4[_DateSelect.styles.menuItemSelected(_this3.theme)] = i === 0, _cx4[_DateSelect.styles.menuItemActive(_this3.theme)] = i === _this3.state.current, _cx4[_DateSelect.styles.menuItemDisabled(_this3.theme)] = disableItems, _cx4));var clickHandler = { onMouseDown: preventDefault, onClick: _this3.handleItemClick(i) };items.push( /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({ "aria-label": "\u0412\u044B\u0431\u0440\u0430\u0442\u044C " + (_this3.getProps().type === 'year' ? 'год' : 'месяц') + " " + _this3.getItem(i), "data-tid": DateSelectDataTids.menuItem, "data-prop-disabled": disableItems, key: i, className: className, onMouseEnter: function onMouseEnter() {return _this3.setState({ current: i });}, onMouseLeave: function onMouseLeave() {return _this3.setState({ current: null });} }, clickHandler), _this3.getItem(i)));};for (var i = from; i < to; ++i) {_loop(i);}var style = { top: top - 5, left: 0, right: 0 };var shiftStyle = { position: 'relative', top: -shift };var holderClass = (0, _Emotion.cx)((_cx3 = {}, _cx3[_DateSelect.styles.menuHolder(this.theme)] = true, _cx3[_DateSelect.styles.isTopCapped()] = this.state.topCapped, _cx3[_DateSelect.styles.isBotCapped()] = this.state.botCapped, _cx3));var dropdownOffset = -itemHeight;if (nodeTop < -top) {var overflowOffsetDelta = this.state.topCapped ? 6 : 17;dropdownOffset -= nodeTop + top - overflowOffsetDelta;}var iconUp = (0, _ThemeHelpers.isTheme2022)(this.theme) ? /*#__PURE__*/_react.default.createElement(_ArrowCUpIcon16Regular.ArrowCUpIcon16Regular, { color: "#ADADAD" }) : /*#__PURE__*/_react.default.createElement(_px.ArrowChevronUpIcon, null);var iconDown = (0, _ThemeHelpers.isTheme2022)(this.theme) ? /*#__PURE__*/_react.default.createElement(_ArrowCDownIcon16Regular.ArrowCDownIcon16Regular, { color: "#ADADAD" }) : /*#__PURE__*/_react.default.createElement(_px.ArrowChevronDownIcon, null);return /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.close, onFocusOutside: this.close, active: true }, /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { "data-tid": DateSelectDataTids.menu, id: id, getParent: this.getAnchor, offsetY: dropdownOffset, offsetX: -10 }, /*#__PURE__*/_react.default.createElement("div", { className: holderClass, style: style }, !this.state.topCapped && /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_DateSelect.styles.menu(this.theme), _DateSelect.styles.menuUp()), onClick: this.handleUp, onMouseDown: this.handleLongClickUp, onMouseUp: this.handleLongClickStop, onMouseLeave: this.handleLongClickStop, onTouchStart: this.handleLongClickUp, onTouchEnd: this.handleLongClickStop }, /*#__PURE__*/_react.default.createElement("span", null, iconUp)), /*#__PURE__*/_react.default.createElement("div", { className: _DateSelect.styles.itemsHolder(), style: { height: height } }, /*#__PURE__*/_react.default.createElement("div", { ref: this.refItemsContainer, style: shiftStyle }, items)), !this.state.botCapped && /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_DateSelect.styles.menu(this.theme), _DateSelect.styles.menuDown()), onClick: this.handleDown, onMouseDown: this.handleLongClickDown, onMouseUp: this.handleLongClickStop, onMouseLeave: this.handleLongClickStop, onTouchStart: this.handleLongClickDown, onTouchEnd: this.handleLongClickStop }, /*#__PURE__*/_react.default.createElement("span", null, iconDown)))));};_proto.getItem = function getItem(index) {
531
535
  var value = this.props.value + index;