@skbkontur/react-ui 4.22.0 → 4.22.2

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 (738) hide show
  1. package/CHANGELOG.md +40 -1
  2. package/cjs/components/Autocomplete/Autocomplete.js +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.styles.js +1 -1
  4. package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  5. package/cjs/components/Button/ArrowLeftIcon.js +1 -1
  6. package/cjs/components/Button/ArrowRightIcon.js +1 -1
  7. package/cjs/components/Button/Button.d.ts +1 -0
  8. package/cjs/components/Button/Button.js +5 -3
  9. package/cjs/components/Button/Button.js.map +1 -1
  10. package/cjs/components/Button/Button.mixins.js +1 -1
  11. package/cjs/components/Button/Button.mixins.js.map +1 -1
  12. package/cjs/components/Button/Button.styles.d.ts +1 -0
  13. package/cjs/components/Button/Button.styles.js +18 -12
  14. package/cjs/components/Button/Button.styles.js.map +1 -1
  15. package/cjs/components/Button/ButtonArrow.js +2 -2
  16. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  17. package/cjs/components/Button/ButtonIcon.js +2 -2
  18. package/cjs/components/Button/ButtonIcon.js.map +1 -1
  19. package/cjs/components/Button/ButtonIcon.styles.js +1 -1
  20. package/cjs/components/Button/ButtonIcon.styles.js.map +1 -1
  21. package/cjs/components/Button/LoadingButtonIcon.js +2 -2
  22. package/cjs/components/Button/LoadingButtonIcon.js.map +1 -1
  23. package/cjs/components/Calendar/Calendar.js +2 -2
  24. package/cjs/components/Calendar/Calendar.js.map +1 -1
  25. package/cjs/components/Calendar/Calendar.styles.js +1 -1
  26. package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
  27. package/cjs/components/Calendar/CalendarScrollEvents.js +1 -1
  28. package/cjs/components/Calendar/CalendarScrollEvents.js.map +1 -1
  29. package/cjs/components/Calendar/DayCellView.js +2 -2
  30. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  31. package/cjs/components/Calendar/DayCellView.styles.js +1 -1
  32. package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
  33. package/cjs/components/Calendar/Month.js +2 -2
  34. package/cjs/components/Calendar/Month.js.map +1 -1
  35. package/cjs/components/Calendar/MonthView.js +2 -2
  36. package/cjs/components/Calendar/MonthView.js.map +1 -1
  37. package/cjs/components/Calendar/MonthView.styles.js +1 -1
  38. package/cjs/components/Calendar/MonthView.styles.js.map +1 -1
  39. package/cjs/components/Center/Center.js +1 -1
  40. package/cjs/components/Center/Center.js.map +1 -1
  41. package/cjs/components/Center/Center.styles.js +1 -1
  42. package/cjs/components/Center/Center.styles.js.map +1 -1
  43. package/cjs/components/Checkbox/Checkbox.js +1 -1
  44. package/cjs/components/Checkbox/Checkbox.mixins.js +1 -1
  45. package/cjs/components/Checkbox/Checkbox.mixins.js.map +1 -1
  46. package/cjs/components/Checkbox/Checkbox.styles.js +1 -1
  47. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  48. package/cjs/components/Checkbox/CheckedIcon.js +1 -1
  49. package/cjs/components/Checkbox/IndeterminateIcon.js +1 -1
  50. package/cjs/components/ComboBox/ComboBox.js +1 -1
  51. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  52. package/cjs/components/CurrencyInput/CurrencyHelper.js +1 -1
  53. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  54. package/cjs/components/CurrencyInput/CurrencyInput.js +1 -1
  55. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js +2 -2
  56. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  57. package/cjs/components/CurrencyInput/CursorHelper.js +2 -2
  58. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  59. package/cjs/components/CurrencyLabel/CurrencyLabel.js +1 -1
  60. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  61. package/cjs/components/DateInput/CalendarIcon.js +1 -1
  62. package/cjs/components/DateInput/DateFragmentsView.js +1 -1
  63. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  64. package/cjs/components/DateInput/DateFragmentsView.styles.js +1 -1
  65. package/cjs/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  66. package/cjs/components/DateInput/DateInput.js +1 -1
  67. package/cjs/components/DateInput/DateInput.js.map +1 -1
  68. package/cjs/components/DateInput/DateInput.styles.js +1 -1
  69. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  70. package/cjs/components/DateInput/ViewDateInputValidateChecks.js +1 -1
  71. package/cjs/components/DateInput/ViewDateInputValidateChecks.js.map +1 -1
  72. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +2 -2
  73. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  74. package/cjs/components/DatePicker/DatePicker.js +1 -1
  75. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  76. package/cjs/components/DatePicker/DatePicker.styles.js +1 -1
  77. package/cjs/components/DatePicker/Picker.js +1 -1
  78. package/cjs/components/DatePicker/Picker.js.map +1 -1
  79. package/cjs/components/DatePicker/locale/locales/en.js +1 -1
  80. package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
  81. package/cjs/components/DatePicker/locale/locales/ru.js +1 -1
  82. package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
  83. package/cjs/components/Dropdown/Dropdown.js +1 -1
  84. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  85. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
  86. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  87. package/cjs/components/FileUploader/FileUploader.js +2 -2
  88. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  89. package/cjs/components/FileUploader/FileUploader.mixins.js +1 -1
  90. package/cjs/components/FileUploader/FileUploader.mixins.js.map +1 -1
  91. package/cjs/components/FileUploader/FileUploader.styles.js +2 -2
  92. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  93. package/cjs/components/FileUploader/UploadIcon.js +1 -1
  94. package/cjs/components/FxInput/FxInput.js +1 -1
  95. package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -2
  96. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  97. package/cjs/components/FxInput/MathFunctionIcon.js +1 -1
  98. package/cjs/components/FxInput/UndoIcon.js +1 -1
  99. package/cjs/components/Gapped/Gapped.js +1 -1
  100. package/cjs/components/Gapped/Gapped.js.map +1 -1
  101. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -1
  102. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  103. package/cjs/components/GlobalLoader/GlobalLoaderView.js +2 -2
  104. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  105. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +1 -1
  106. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
  107. package/cjs/components/Group/Group.js +1 -1
  108. package/cjs/components/Group/Group.js.map +1 -1
  109. package/cjs/components/Group/Group.styles.js +1 -1
  110. package/cjs/components/Group/Group.styles.js.map +1 -1
  111. package/cjs/components/Hint/Hint.js +1 -1
  112. package/cjs/components/Hint/Hint.js.map +1 -1
  113. package/cjs/components/Hint/Hint.styles.js +1 -1
  114. package/cjs/components/Input/Input.js +1 -1
  115. package/cjs/components/Input/Input.styles.js +1 -1
  116. package/cjs/components/Input/Input.styles.js.map +1 -1
  117. package/cjs/components/Input/InputLayout/InputLayout.js +1 -1
  118. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  119. package/cjs/components/Input/InputLayout/InputLayout.styles.js +1 -1
  120. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  121. package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -1
  122. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  123. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
  124. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  125. package/cjs/components/Input/InputLayout/InputLayoutAsideText.js +1 -1
  126. package/cjs/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  127. package/cjs/components/Input/InputLayout/InputLayoutContext.js +1 -1
  128. package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
  129. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js +1 -1
  130. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js.map +1 -1
  131. package/cjs/components/Kebab/Kebab.js +2 -2
  132. package/cjs/components/Kebab/Kebab.js.map +1 -1
  133. package/cjs/components/Kebab/Kebab.styles.js +1 -1
  134. package/cjs/components/Kebab/Kebab.styles.js.map +1 -1
  135. package/cjs/components/Kebab/KebabIcon.js +1 -1
  136. package/cjs/components/Link/Link.js +1 -1
  137. package/cjs/components/Link/Link.js.map +1 -1
  138. package/cjs/components/Link/Link.styles.js +1 -1
  139. package/cjs/components/Link/Link.styles.js.map +1 -1
  140. package/cjs/components/Link/LinkIcon.js +2 -2
  141. package/cjs/components/Link/LinkIcon.js.map +1 -1
  142. package/cjs/components/Loader/Loader.js +2 -2
  143. package/cjs/components/Loader/Loader.js.map +1 -1
  144. package/cjs/components/Loader/Loader.styles.js +1 -1
  145. package/cjs/components/Loader/Loader.styles.js.map +1 -1
  146. package/cjs/components/Loader/__stories__/LoaderAndButton.js +1 -1
  147. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  148. package/cjs/components/MaskedInput/MaskedInput.js +2 -2
  149. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  150. package/cjs/components/MenuFooter/MenuFooter.js +2 -2
  151. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  152. package/cjs/components/MenuFooter/MenuFooter.mixins.js +1 -1
  153. package/cjs/components/MenuFooter/MenuFooter.mixins.js.map +1 -1
  154. package/cjs/components/MenuFooter/MenuFooter.styles.js +1 -1
  155. package/cjs/components/MenuFooter/MenuFooter.styles.js.map +1 -1
  156. package/cjs/components/MenuHeader/MenuHeader.js +2 -2
  157. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  158. package/cjs/components/MenuHeader/MenuHeader.mixins.js +1 -1
  159. package/cjs/components/MenuHeader/MenuHeader.mixins.js.map +1 -1
  160. package/cjs/components/MenuHeader/MenuHeader.styles.js +1 -1
  161. package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  162. package/cjs/components/MenuItem/MenuItem.js +1 -1
  163. package/cjs/components/MenuItem/MenuItem.mixins.js +1 -1
  164. package/cjs/components/MenuItem/MenuItem.mixins.js.map +1 -1
  165. package/cjs/components/MenuItem/MenuItem.styles.js +1 -1
  166. package/cjs/components/MenuSeparator/MenuSeparator.js +2 -2
  167. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  168. package/cjs/components/MenuSeparator/MenuSeparator.styles.js +1 -1
  169. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  170. package/cjs/components/MiniModal/MiniModal.js +2 -2
  171. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  172. package/cjs/components/MiniModal/MiniModal.styles.js +1 -1
  173. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  174. package/cjs/components/MiniModal/MiniModalBody.js +1 -1
  175. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  176. package/cjs/components/MiniModal/MiniModalFooter.js +2 -2
  177. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -1
  178. package/cjs/components/MiniModal/MiniModalHeader.js +2 -2
  179. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -1
  180. package/cjs/components/MiniModal/MiniModalIndent.js +2 -2
  181. package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -1
  182. package/cjs/components/Modal/Modal.js +2 -2
  183. package/cjs/components/Modal/Modal.js.map +1 -1
  184. package/cjs/components/Modal/Modal.styles.js +1 -1
  185. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  186. package/cjs/components/Modal/ModalBody.js +2 -2
  187. package/cjs/components/Modal/ModalBody.js.map +1 -1
  188. package/cjs/components/Modal/ModalClose.js +2 -2
  189. package/cjs/components/Modal/ModalClose.js.map +1 -1
  190. package/cjs/components/Modal/ModalContext.js +1 -1
  191. package/cjs/components/Modal/ModalContext.js.map +1 -1
  192. package/cjs/components/Modal/ModalFooter.js +2 -2
  193. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  194. package/cjs/components/Modal/ModalHeader.js +2 -2
  195. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  196. package/cjs/components/Modal/ModalSeparator.js +2 -2
  197. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  198. package/cjs/components/Paging/ForwardIcon.js +1 -1
  199. package/cjs/components/Paging/Paging.js +2 -2
  200. package/cjs/components/Paging/Paging.js.map +1 -1
  201. package/cjs/components/Paging/Paging.styles.js +1 -1
  202. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  203. package/cjs/components/Paging/PagingDefaultComponent.js +1 -1
  204. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
  205. package/cjs/components/PasswordInput/ClosedIcon.js +1 -1
  206. package/cjs/components/PasswordInput/OpenedIcon.js +1 -1
  207. package/cjs/components/PasswordInput/PasswordInput.js +1 -1
  208. package/cjs/components/PasswordInput/PasswordInput.styles.js +1 -1
  209. package/cjs/components/PasswordInput/PasswordInputIcon.js +1 -1
  210. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  211. package/cjs/components/Radio/Radio.js +1 -1
  212. package/cjs/components/Radio/Radio.mixins.js +1 -1
  213. package/cjs/components/Radio/Radio.mixins.js.map +1 -1
  214. package/cjs/components/Radio/Radio.styles.js +1 -1
  215. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  216. package/cjs/components/RadioGroup/Prevent.js +1 -1
  217. package/cjs/components/RadioGroup/Prevent.js.map +1 -1
  218. package/cjs/components/RadioGroup/RadioGroup.js +3 -3
  219. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  220. package/cjs/components/RadioGroup/RadioGroup.styles.js +1 -1
  221. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  222. package/cjs/components/RadioGroup/RadioGroupContext.js +1 -1
  223. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -1
  224. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +2 -2
  225. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  226. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +1 -1
  227. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  228. package/cjs/components/ResponsiveLayout/decorator.js +1 -1
  229. package/cjs/components/ResponsiveLayout/decorator.js.map +1 -1
  230. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js +1 -1
  231. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
  232. package/cjs/components/ScrollContainer/ScrollBar.js +1 -1
  233. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  234. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -2
  235. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  236. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +1 -1
  237. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  238. package/cjs/components/Select/ArrowDownIcon.js +1 -1
  239. package/cjs/components/Select/Item.js +1 -1
  240. package/cjs/components/Select/Item.js.map +1 -1
  241. package/cjs/components/Select/Select.js +3 -3
  242. package/cjs/components/Select/Select.js.map +1 -1
  243. package/cjs/components/Select/Select.styles.js +1 -1
  244. package/cjs/components/Select/Select.styles.js.map +1 -1
  245. package/cjs/components/SidePage/SidePage.js +2 -2
  246. package/cjs/components/SidePage/SidePage.js.map +1 -1
  247. package/cjs/components/SidePage/SidePage.styles.js +1 -1
  248. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  249. package/cjs/components/SidePage/SidePageBody.js +1 -1
  250. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  251. package/cjs/components/SidePage/SidePageCloseButton.js +2 -2
  252. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  253. package/cjs/components/SidePage/SidePageContainer.js +1 -1
  254. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  255. package/cjs/components/SidePage/SidePageContext.js +1 -1
  256. package/cjs/components/SidePage/SidePageContext.js.map +1 -1
  257. package/cjs/components/SidePage/SidePageFooter.js +2 -2
  258. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  259. package/cjs/components/SidePage/SidePageHeader.js +1 -1
  260. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  261. package/cjs/components/SingleToast/SingleToast.js +1 -1
  262. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  263. package/cjs/components/Spinner/Spinner.js +1 -1
  264. package/cjs/components/Spinner/Spinner.js.map +1 -1
  265. package/cjs/components/Spinner/Spinner.styles.js +1 -1
  266. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  267. package/cjs/components/Sticky/Sticky.js +2 -2
  268. package/cjs/components/Sticky/Sticky.js.map +1 -1
  269. package/cjs/components/Sticky/Sticky.styles.js +1 -1
  270. package/cjs/components/Sticky/Sticky.styles.js.map +1 -1
  271. package/cjs/components/Switcher/Switcher.js +1 -1
  272. package/cjs/components/Switcher/Switcher.js.map +1 -1
  273. package/cjs/components/Switcher/Switcher.styles.js +1 -1
  274. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  275. package/cjs/components/Tabs/Indicator.js +2 -2
  276. package/cjs/components/Tabs/Indicator.js.map +1 -1
  277. package/cjs/components/Tabs/Indicator.styles.js +1 -1
  278. package/cjs/components/Tabs/Indicator.styles.js.map +1 -1
  279. package/cjs/components/Tabs/Tab.js +1 -1
  280. package/cjs/components/Tabs/Tab.js.map +1 -1
  281. package/cjs/components/Tabs/Tab.styles.js +2 -2
  282. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  283. package/cjs/components/Tabs/Tabs.js +1 -1
  284. package/cjs/components/Tabs/Tabs.js.map +1 -1
  285. package/cjs/components/Tabs/Tabs.styles.js +1 -1
  286. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  287. package/cjs/components/Tabs/TabsContext.js +1 -1
  288. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  289. package/cjs/components/Textarea/Textarea.js +2 -2
  290. package/cjs/components/Textarea/Textarea.mixins.js +1 -1
  291. package/cjs/components/Textarea/Textarea.mixins.js.map +1 -1
  292. package/cjs/components/Textarea/Textarea.styles.js +1 -1
  293. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  294. package/cjs/components/Textarea/TextareaCounter.js +2 -2
  295. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  296. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js +1 -1
  297. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -1
  298. package/cjs/components/Toast/Toast.js +1 -1
  299. package/cjs/components/Toast/Toast.js.map +1 -1
  300. package/cjs/components/Toast/Toast.styles.js +1 -1
  301. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  302. package/cjs/components/Toast/ToastStatic.js +1 -1
  303. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  304. package/cjs/components/Toast/ToastView.js +1 -1
  305. package/cjs/components/Toast/ToastView.js.map +1 -1
  306. package/cjs/components/Toast/ToastView.styles.js +1 -1
  307. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  308. package/cjs/components/Toggle/Toggle.js +1 -1
  309. package/cjs/components/Toggle/Toggle.js.map +1 -1
  310. package/cjs/components/Toggle/Toggle.mixins.js +1 -1
  311. package/cjs/components/Toggle/Toggle.mixins.js.map +1 -1
  312. package/cjs/components/Toggle/Toggle.styles.js +1 -1
  313. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  314. package/cjs/components/Token/Token.js +3 -2
  315. package/cjs/components/Token/Token.js.map +1 -1
  316. package/cjs/components/Token/Token.mixins.js +1 -1
  317. package/cjs/components/Token/Token.mixins.js.map +1 -1
  318. package/cjs/components/Token/Token.styles.js +2 -2
  319. package/cjs/components/Token/Token.styles.js.map +1 -1
  320. package/cjs/components/Token/TokenView.js +2 -2
  321. package/cjs/components/Token/TokenView.js.map +1 -1
  322. package/cjs/components/TokenInput/TextWidthHelper.js +1 -1
  323. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  324. package/cjs/components/TokenInput/TokenInput.js +2 -2
  325. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  326. package/cjs/components/TokenInput/TokenInput.mixins.js +1 -1
  327. package/cjs/components/TokenInput/TokenInput.mixins.js.map +1 -1
  328. package/cjs/components/TokenInput/TokenInput.styles.js +1 -1
  329. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  330. package/cjs/components/TokenInput/TokenInputMenu.js +1 -1
  331. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  332. package/cjs/components/Tooltip/Tooltip.js +1 -1
  333. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  334. package/cjs/components/Tooltip/Tooltip.styles.js +1 -1
  335. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  336. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -1
  337. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  338. package/cjs/index.js +2 -2
  339. package/cjs/index.js.map +1 -1
  340. package/cjs/internal/BGRuler.js +1 -1
  341. package/cjs/internal/BGRuler.js.map +1 -1
  342. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +1 -1
  343. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  344. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js +1 -1
  345. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  346. package/cjs/internal/CloseButtonIcon/CrossIcon.js +1 -1
  347. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -1
  348. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  349. package/cjs/internal/ComponentCombinator.js +1 -1
  350. package/cjs/internal/ComponentCombinator.js.map +1 -1
  351. package/cjs/internal/ComponentTable.js +1 -1
  352. package/cjs/internal/ComponentTable.js.map +1 -1
  353. package/cjs/internal/CustomComboBox/ArrowDownIcon.js +1 -1
  354. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +1 -1
  355. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  356. package/cjs/internal/CustomComboBox/ComboBoxView.js +1 -1
  357. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  358. package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -1
  359. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  360. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js +1 -1
  361. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  362. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +2 -2
  363. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  364. package/cjs/internal/DataTids/DataTids.js +1 -1
  365. package/cjs/internal/DataTids/DataTids.js.map +1 -1
  366. package/cjs/internal/DataTids/DataTids.styles.js +1 -1
  367. package/cjs/internal/DataTids/DataTids.styles.js.map +1 -1
  368. package/cjs/internal/DataTids/componentsDataTids.js +1 -1
  369. package/cjs/internal/DataTids/componentsDataTids.js.map +1 -1
  370. package/cjs/internal/DateSelect/DateSelect.js +2 -2
  371. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  372. package/cjs/internal/DateSelect/DateSelect.styles.js +1 -1
  373. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  374. package/cjs/internal/DropdownContainer/DropdownContainer.js +2 -2
  375. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  376. package/cjs/internal/DropdownContainer/DropdownContainer.styles.js +1 -1
  377. package/cjs/internal/DropdownContainer/DropdownContainer.styles.js.map +1 -1
  378. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +1 -1
  379. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -1
  380. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +2 -2
  381. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  382. package/cjs/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.js +1 -1
  383. package/cjs/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.js +1 -1
  384. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +2 -2
  385. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  386. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +1 -1
  387. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -1
  388. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +2 -2
  389. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -1
  390. package/cjs/internal/FileUploaderControl/FileUploaderFile/OkIcon.js +1 -1
  391. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +2 -2
  392. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  393. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +1 -1
  394. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -1
  395. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +1 -1
  396. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +1 -1
  397. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +1 -1
  398. package/cjs/internal/FocusTrap/FocusTrap.js +1 -1
  399. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  400. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +1 -1
  401. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  402. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -1
  403. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  404. package/cjs/internal/InputLikeText/HiddenInput.js +1 -1
  405. package/cjs/internal/InputLikeText/HiddenInput.js.map +1 -1
  406. package/cjs/internal/InputLikeText/InputLikeText.js +1 -1
  407. package/cjs/internal/InputLikeText/InputLikeText.styles.js +1 -1
  408. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  409. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +1 -1
  410. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js +1 -1
  411. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +1 -1
  412. package/cjs/internal/InternalMenu/InternalMenu.js +1 -1
  413. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  414. package/cjs/internal/InternalMenu/InternalMenu.styles.js +1 -1
  415. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  416. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js +1 -1
  417. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js.map +1 -1
  418. package/cjs/internal/InternalMenu/isIconPaddingEnabled.js +1 -1
  419. package/cjs/internal/InternalMenu/isIconPaddingEnabled.js.map +1 -1
  420. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js +1 -1
  421. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  422. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js +1 -1
  423. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  424. package/cjs/internal/MaskedInputElement/MaskedInputElement.js +2 -2
  425. package/cjs/internal/MaskedInputElement/MaskedInputElement.js.map +1 -1
  426. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js +1 -1
  427. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js.map +1 -1
  428. package/cjs/internal/Menu/Menu.js +1 -1
  429. package/cjs/internal/Menu/Menu.js.map +1 -1
  430. package/cjs/internal/Menu/Menu.styles.js +1 -1
  431. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  432. package/cjs/internal/Menu/MenuContext.js +1 -1
  433. package/cjs/internal/Menu/MenuContext.js.map +1 -1
  434. package/cjs/internal/MenuMessage/MenuMessage.js +2 -2
  435. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
  436. package/cjs/internal/MenuMessage/MenuMessage.styles.js +1 -1
  437. package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
  438. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  439. package/cjs/internal/MobilePopup/MobilePopup.styles.js +1 -1
  440. package/cjs/internal/MobilePopup/MobilePopup.styles.js.map +1 -1
  441. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  442. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  443. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +1 -1
  444. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -1
  445. package/cjs/internal/NativeDateInput/NativeDateInput.js +1 -1
  446. package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  447. package/cjs/internal/NativeDateInput/NativeDateInput.styles.js +1 -1
  448. package/cjs/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -1
  449. package/cjs/internal/NativeDateInput/utils.js +1 -1
  450. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js +1 -1
  451. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  452. package/cjs/internal/Popup/Popup.js +3 -3
  453. package/cjs/internal/Popup/Popup.js.map +1 -1
  454. package/cjs/internal/Popup/Popup.styles.js +1 -1
  455. package/cjs/internal/Popup/Popup.styles.js.map +1 -1
  456. package/cjs/internal/Popup/PopupPin.js +1 -1
  457. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  458. package/cjs/internal/Popup/PopupPin.styles.js +1 -1
  459. package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
  460. package/cjs/internal/PopupMenu/PopupMenu.js +1 -1
  461. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  462. package/cjs/internal/PopupMenu/PopupMenu.styles.js +1 -1
  463. package/cjs/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  464. package/cjs/internal/RenderContainer/RenderContainer.js +1 -1
  465. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  466. package/cjs/internal/RenderContainer/RenderInnerContainer.js +1 -1
  467. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  468. package/cjs/internal/RenderLayer/RenderLayer.js +1 -1
  469. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  470. package/cjs/internal/ResizeDetector/ResizeDetector.js +1 -1
  471. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  472. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js +1 -1
  473. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  474. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +1 -1
  475. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  476. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +1 -1
  477. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -1
  478. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js +1 -1
  479. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  480. package/cjs/internal/ThemePlayground/CheckboxPlayground.js +1 -1
  481. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  482. package/cjs/internal/ThemePlayground/ComponentsGroup.js +1 -1
  483. package/cjs/internal/ThemePlayground/ComponentsGroup.js.map +1 -1
  484. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js +1 -1
  485. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  486. package/cjs/internal/ThemePlayground/FxInputPlayground.js +1 -1
  487. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  488. package/cjs/internal/ThemePlayground/HintPlayground.js +1 -1
  489. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  490. package/cjs/internal/ThemePlayground/PagingPlayground.js +1 -1
  491. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  492. package/cjs/internal/ThemePlayground/Playground.js +1 -1
  493. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  494. package/cjs/internal/ThemePlayground/Playground.styles.js +1 -1
  495. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  496. package/cjs/internal/ThemePlayground/RadioPlayground.js +1 -1
  497. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  498. package/cjs/internal/ThemePlayground/SelectPlayground.js +1 -1
  499. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  500. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +1 -1
  501. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  502. package/cjs/internal/ThemePlayground/SizesGroup.js +1 -1
  503. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  504. package/cjs/internal/ThemePlayground/SwitcherPlayground.js +1 -1
  505. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  506. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +2 -2
  507. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  508. package/cjs/internal/ThemePlayground/ThemeEditor.js +4 -4
  509. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  510. package/cjs/internal/ThemePlayground/TogglePlayground.js +1 -1
  511. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  512. package/cjs/internal/ThemePlayground/TokenInputPlayground.js +1 -1
  513. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  514. package/cjs/internal/ThemePlayground/VariableValue.js +1 -1
  515. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  516. package/cjs/internal/ThemePlayground/helpers.js +1 -1
  517. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  518. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +2 -2
  519. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  520. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js +1 -1
  521. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
  522. package/cjs/internal/ZIndex/ZIndex.js +1 -1
  523. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  524. package/cjs/internal/icons/16px/icon.styles.js +1 -1
  525. package/cjs/internal/icons/16px/icon.styles.js.map +1 -1
  526. package/cjs/internal/icons/16px/index.js +1 -1
  527. package/cjs/internal/icons/16px/index.js.map +1 -1
  528. package/cjs/internal/icons/20px/Icon.js +1 -1
  529. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  530. package/cjs/internal/icons/20px/icon.styles.js +1 -1
  531. package/cjs/internal/icons/20px/icon.styles.js.map +1 -1
  532. package/cjs/internal/icons/20px/svg.js +1 -1
  533. package/cjs/internal/icons/20px/svg.js.map +1 -1
  534. package/cjs/internal/icons/CloudIcon.js +1 -1
  535. package/cjs/internal/icons/CloudIcon.js.map +1 -1
  536. package/cjs/internal/icons/CrossIcon.js +1 -1
  537. package/cjs/internal/icons/CrossIcon.js.map +1 -1
  538. package/cjs/internal/icons/SpinnerIcon.js +1 -1
  539. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  540. package/cjs/internal/icons/SpinnerIcon.styles.js +1 -1
  541. package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
  542. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.js +1 -1
  543. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.js.map +1 -1
  544. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.js +1 -1
  545. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.js.map +1 -1
  546. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.js +1 -1
  547. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.js.map +1 -1
  548. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.js +1 -1
  549. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.js.map +1 -1
  550. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.js +1 -1
  551. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.js.map +1 -1
  552. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.js +1 -1
  553. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.js.map +1 -1
  554. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js +1 -1
  555. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js.map +1 -1
  556. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.js +1 -1
  557. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.js.map +1 -1
  558. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.js +1 -1
  559. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.js.map +1 -1
  560. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.js +1 -1
  561. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.js.map +1 -1
  562. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.js +1 -1
  563. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.js.map +1 -1
  564. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.js +1 -1
  565. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.js.map +1 -1
  566. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.js +1 -1
  567. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.js.map +1 -1
  568. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.js +1 -1
  569. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.js.map +1 -1
  570. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js +1 -1
  571. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js.map +1 -1
  572. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js +1 -1
  573. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js.map +1 -1
  574. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js +1 -1
  575. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js.map +1 -1
  576. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js +1 -1
  577. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js.map +1 -1
  578. package/cjs/internal/icons2022/BaseIcon.js +1 -1
  579. package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
  580. package/cjs/internal/icons2022/BaseIcon.styles.js +1 -1
  581. package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -1
  582. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.js +1 -1
  583. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.js.map +1 -1
  584. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.js +1 -1
  585. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.js.map +1 -1
  586. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.js +1 -1
  587. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.js.map +1 -1
  588. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.js +1 -1
  589. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.js.map +1 -1
  590. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.js +1 -1
  591. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.js.map +1 -1
  592. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.js +1 -1
  593. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.js.map +1 -1
  594. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.js +1 -1
  595. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.js.map +1 -1
  596. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.js +1 -1
  597. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.js.map +1 -1
  598. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.js +1 -1
  599. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.js.map +1 -1
  600. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.js +1 -1
  601. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.js.map +1 -1
  602. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.js +1 -1
  603. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.js.map +1 -1
  604. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.js +1 -1
  605. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.js.map +1 -1
  606. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.js +1 -1
  607. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.js.map +1 -1
  608. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.js +1 -1
  609. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.js.map +1 -1
  610. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.js +1 -1
  611. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.js.map +1 -1
  612. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +1 -1
  613. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -1
  614. package/cjs/internal/icons2022/LoadingIcon.js +1 -1
  615. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js +1 -1
  616. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js.map +1 -1
  617. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js +1 -1
  618. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js.map +1 -1
  619. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js +1 -1
  620. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js.map +1 -1
  621. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.js +1 -1
  622. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.js.map +1 -1
  623. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.js +1 -1
  624. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.js.map +1 -1
  625. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.js +1 -1
  626. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.js.map +1 -1
  627. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.js +1 -1
  628. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.js.map +1 -1
  629. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.js +1 -1
  630. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.js.map +1 -1
  631. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.js +1 -1
  632. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.js.map +1 -1
  633. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.js +1 -1
  634. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.js.map +1 -1
  635. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js +1 -1
  636. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js.map +1 -1
  637. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.js +1 -1
  638. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.js.map +1 -1
  639. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.js +1 -1
  640. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.js.map +1 -1
  641. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.js +1 -1
  642. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.js.map +1 -1
  643. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.js +1 -1
  644. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.js.map +1 -1
  645. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.js +1 -1
  646. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.js.map +1 -1
  647. package/cjs/internal/icons2022/XIcon/XIcon16Light.js +1 -1
  648. package/cjs/internal/icons2022/XIcon/XIcon16Light.js.map +1 -1
  649. package/cjs/internal/icons2022/XIcon/XIcon16Regular.js +1 -1
  650. package/cjs/internal/icons2022/XIcon/XIcon16Regular.js.map +1 -1
  651. package/cjs/internal/icons2022/XIcon/XIcon20Light.js +1 -1
  652. package/cjs/internal/icons2022/XIcon/XIcon20Light.js.map +1 -1
  653. package/cjs/internal/icons2022/XIcon/XIcon20Regular.js +1 -1
  654. package/cjs/internal/icons2022/XIcon/XIcon20Regular.js.map +1 -1
  655. package/cjs/internal/icons2022/XIcon/XIcon24Regular.js +1 -1
  656. package/cjs/internal/icons2022/XIcon/XIcon24Regular.js.map +1 -1
  657. package/cjs/internal/icons2022/iconSizer.js +1 -1
  658. package/cjs/internal/icons2022/iconSizer.js.map +1 -1
  659. package/cjs/internal/themes/DarkTheme.js +1 -1
  660. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  661. package/cjs/internal/themes/DefaultTheme.js +2 -2
  662. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  663. package/cjs/internal/themes/NotFlat.js +1 -1
  664. package/cjs/internal/themes/NotFlat.js.map +1 -1
  665. package/cjs/internal/themes/OldColors.js +1 -1
  666. package/cjs/internal/themes/OldColors.js.map +1 -1
  667. package/cjs/internal/themes/Theme2022.js +2 -2
  668. package/cjs/internal/themes/Theme2022.js.map +1 -1
  669. package/cjs/internal/themes/Theme2022Dark.js +1 -1
  670. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  671. package/cjs/lib/LayoutEvents.js +1 -1
  672. package/cjs/lib/LayoutEvents.js.map +1 -1
  673. package/cjs/lib/ModalStack.js +1 -1
  674. package/cjs/lib/SSRSafe.js +1 -1
  675. package/cjs/lib/SSRSafe.js.map +1 -1
  676. package/cjs/lib/Upgrades.js +1 -1
  677. package/cjs/lib/Upgrades.js.map +1 -1
  678. package/cjs/lib/date/InternalDate.js +1 -1
  679. package/cjs/lib/date/InternalDate.js.map +1 -1
  680. package/cjs/lib/date/InternalDateTransformer.js +1 -1
  681. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  682. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +1 -1
  683. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -1
  684. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +1 -1
  685. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  686. package/cjs/lib/listenFocusOutside.js +1 -1
  687. package/cjs/lib/listenFocusOutside.js.map +1 -1
  688. package/cjs/lib/locale/LocaleContext.js +1 -1
  689. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  690. package/cjs/lib/locale/decorators.js +1 -1
  691. package/cjs/lib/reactGetTextContent.js +1 -1
  692. package/cjs/lib/reactGetTextContent.js.map +1 -1
  693. package/cjs/lib/rootNode/getRootNode.js +1 -1
  694. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -1
  695. package/cjs/lib/styles/ColorFactory.js +1 -1
  696. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  697. package/cjs/lib/styles/ColorObject.js +1 -1
  698. package/cjs/lib/styles/ColorObject.js.map +1 -1
  699. package/cjs/lib/styles/HoldSelectionColor.js +1 -1
  700. package/cjs/lib/styles/HoldSelectionColor.js.map +1 -1
  701. package/cjs/lib/styles/Mixins.js +1 -1
  702. package/cjs/lib/styles/Mixins.js.map +1 -1
  703. package/cjs/lib/taskWithDelayAndMinimalDuration.js +1 -1
  704. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  705. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  706. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  707. package/cjs/lib/theming/Emotion.js +1 -1
  708. package/cjs/lib/theming/Emotion.js.map +1 -1
  709. package/cjs/lib/theming/ThemeContext.js +1 -1
  710. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  711. package/cjs/lib/utils.d.ts +0 -7
  712. package/cjs/lib/utils.js +2 -25
  713. package/cjs/lib/utils.js.map +1 -1
  714. package/cjs/lib/withClassWrapper.js +1 -1
  715. package/cjs/lib/withClassWrapper.js.map +1 -1
  716. package/components/Button/Button/Button.js +5 -2
  717. package/components/Button/Button/Button.js.map +1 -1
  718. package/components/Button/Button.d.ts +1 -0
  719. package/components/Button/Button.styles/Button.styles.js +14 -11
  720. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  721. package/components/Button/Button.styles.d.ts +1 -0
  722. package/components/CurrencyInput/CursorHelper/CursorHelper.js +1 -39
  723. package/components/RadioGroup/RadioGroup/RadioGroup.js +1 -40
  724. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  725. package/components/Select/Select/Select.js +1 -40
  726. package/components/Select/Select/Select.js.map +1 -1
  727. package/components/Token/Token/Token.js +3 -2
  728. package/components/Token/Token/Token.js.map +1 -1
  729. package/internal/Popup/Popup/Popup.js +1 -40
  730. package/internal/Popup/Popup/Popup.js.map +1 -1
  731. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +1 -41
  732. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  733. package/internal/themes/Theme2022/Theme2022.js +2 -2
  734. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  735. package/lib/utils/utils.js +0 -26
  736. package/lib/utils/utils.js.map +1 -1
  737. package/lib/utils.d.ts +0 -7
  738. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["ComponentCombinator.tsx"],"names":["ComponentCombinator","getProps","defaultProps","state","page","prevPage","setState","nextPage","render","props","combinations","Component","presetProps","presetState","pages","row","sizes","map","c","length","flatCombinations","concat","j","push","offsetX","offsetY","pageOffsets","marginBottom","slice","React"],"mappings":"+PAAA;;;AAGA;;AAEA,kD;;;;;;;;;;;AAWaA,mB;;;;;;;;;;;;;AAaHC,IAAAA,Q,GAAW,0CAAkBD,mBAAmB,CAACE,YAAtC,C;;AAEZC,IAAAA,K,GAAQ;AACbC,MAAAA,IAAI,EAAE,CADO,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDPC,IAAAA,Q,GAAW,YAAM;AACvB,YAAKC,QAAL,CAAc,qBAAGF,IAAH,QAAGA,IAAH,QAAe;AAC3BA,UAAAA,IAAI,EAAEA,IAAI,GAAG,CADc,EAAf,EAAd;;AAGD,K;;AAEOG,IAAAA,Q,GAAW,YAAM;AACvB,YAAKD,QAAL,CAAc,sBAAGF,IAAH,SAAGA,IAAH,QAAe;AAC3BA,UAAAA,IAAI,EAAEA,IAAI,GAAG,CADc,EAAf,EAAd;;AAGD,K,iEAtDMI,M,GAAP,kBAAgB,WACd,IAAQJ,IAAR,GAAiB,KAAKD,KAAtB,CAAQC,IAAR,CACA,kBAAoC,KAAKK,KAAzC,CAAQC,YAAR,eAAQA,YAAR,CAAsBC,SAAtB,eAAsBA,SAAtB,CACA,qBAAqC,KAAKV,QAAL,EAArC,CAAQW,WAAR,kBAAQA,WAAR,CAAqBC,WAArB,kBAAqBA,WAArB,CACA,IAAMC,KAAK,GAAG,EAAd,CACA,IAAIC,GAAG,GAAG,CAAV,CACA,IAAMC,KAAK,GAAGN,YAAY,CAACO,GAAb,CAAiB,UAACC,CAAD,UAAOA,CAAC,CAACC,MAAT,EAAjB,CAAd,CACA,IAAMC,gBAAgB,GAAG,SAAC,EAAD,EAA+BC,MAA/B,cAAyCX,YAAzC,CAAzB,CAEA,KAAK,IAAIY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,KAAK,CAACG,MAAN,GAAe,CAAnC,EAAsCG,CAAC,EAAvC,EAA2C,CACzCR,KAAK,CAACS,IAAN,CAAW,EACTC,OAAO,EAAET,GADA,EAETU,OAAO,EAAGV,GAAG,IAAIC,KAAK,CAACM,CAAD,CAFb,EAAX,EAID,CAED,IAAMI,WAAW,GAAGZ,KAAK,CAACV,IAAD,CAAzB,CACA,oBACE,uDACE,sCAAK,EAAE,EAAC,WAAR,EAAoB,KAAK,EAAE,EAAEuB,YAAY,EAAE,CAAhB,EAA3B,iBACE,yCAAQ,QAAQ,EAAEvB,IAAI,KAAK,CAA3B,EAA8B,EAAE,EAAC,WAAjC,EAA6C,OAAO,EAAE,KAAKC,QAA3D,WADF,EAGY,GAHZ,eAIE,4CAAWD,IAAI,GAAG,CAAlB,WAAyBU,KAAK,CAACK,MAA/B,CAJF,EAImD,GAJnD,eAKE,yCAAQ,QAAQ,EAAEf,IAAI,GAAG,CAAP,IAAYU,KAAK,CAACK,MAApC,EAA4C,EAAE,EAAC,WAA/C,EAA2D,OAAO,EAAE,KAAKZ,QAAzE,WALF,CADF,eAUE,0CACGmB,WAAW,iBACV,6BAAC,8BAAD,IACE,GAAG,EAAEtB,IADP,EAEE,SAAS,EAAEO,SAFb,EAGE,WAAW,EAAEC,WAHf,EAIE,WAAW,EAAEC,WAJf,EAKE,IAAI,EAAEO,gBAAgB,CAACQ,KAAjB,CAAuBF,WAAW,CAACD,OAAnC,EAA4CL,gBAAgB,CAACD,MAA7D,CALR,EAME,IAAI,EAAEC,gBAAgB,CAACQ,KAAjB,CAAuBF,WAAW,CAACF,OAAnC,EAA4CE,WAAW,CAACD,OAAxD,CANR,GAFJ,CAVF,CADF,CAyBD,C,8BAzDOI,eAAMlB,S,oDAJHX,mB,CAQGE,Y,GAAwD,EACpEU,WAAW,EAAE,EADuD,EAEpEC,WAAW,EAAE,EAFuD,E","sourcesContent":["import React from 'react';\n\nimport { DefaultizeProps } from '../lib/utils';\nimport { createPropsGetter } from '../lib/createPropsGetter';\n\nimport { ComponentTable, StatePropsCombinations, StateType } from './ComponentTable';\n\nexport interface ComponentCombinatorProps<C, P, S> {\n combinations: Array<StatePropsCombinations<P, S>>;\n Component: C;\n presetProps?: DefaultizeProps<C, P>;\n presetState?: Partial<S>;\n}\n\ntype DefaultProps<T, C, P> = Required<Pick<ComponentCombinatorProps<T, C, P>, 'presetProps' | 'presetState'>>;\n\nexport class ComponentCombinator<\n T extends React.Component<any, any, any>,\n C extends React.ComponentType<any>,\n P extends React.ComponentProps<C>,\n> extends React.Component<\n ComponentCombinatorProps<C extends React.ComponentClass<P, any> ? React.ClassType<P, T, C> : C, P, StateType<C>>,\n { page: number }\n> {\n public static defaultProps: DefaultProps<unknown, unknown, unknown> = {\n presetProps: {},\n presetState: {},\n };\n\n private getProps = createPropsGetter(ComponentCombinator.defaultProps);\n\n public state = {\n page: 0,\n };\n\n public render() {\n const { page } = this.state;\n const { combinations, Component } = this.props;\n const { presetProps, presetState } = this.getProps();\n const pages = [];\n let row = 0;\n const sizes = combinations.map((c) => c.length);\n const flatCombinations = ([] as typeof combinations[0]).concat(...combinations);\n\n for (let j = 0; j < sizes.length - 1; j++) {\n pages.push({\n offsetX: row,\n offsetY: (row += sizes[j]),\n });\n }\n\n const pageOffsets = pages[page];\n return (\n <div>\n <div id=\"paginator\" style={{ marginBottom: 5 }}>\n <button disabled={page === 0} id=\"prev-page\" onClick={this.prevPage}>\n Prev\n </button>{' '}\n <small>{`${page + 1} / ${pages.length}`}</small>{' '}\n <button disabled={page + 1 >= pages.length} id=\"next-page\" onClick={this.nextPage}>\n Next\n </button>\n </div>\n <div>\n {pageOffsets && (\n <ComponentTable\n key={page}\n Component={Component}\n presetProps={presetProps as DefaultizeProps<C, P>}\n presetState={presetState}\n rows={flatCombinations.slice(pageOffsets.offsetY, flatCombinations.length)}\n cols={flatCombinations.slice(pageOffsets.offsetX, pageOffsets.offsetY)}\n />\n )}\n </div>\n </div>\n );\n }\n\n private prevPage = () => {\n this.setState(({ page }) => ({\n page: page - 1,\n }));\n };\n\n private nextPage = () => {\n this.setState(({ page }) => ({\n page: page + 1,\n }));\n };\n}\n"]}
1
+ {"version":3,"sources":["ComponentCombinator.tsx"],"names":["ComponentCombinator","getProps","defaultProps","state","page","prevPage","setState","nextPage","render","props","combinations","Component","presetProps","presetState","pages","row","sizes","map","c","length","flatCombinations","concat","j","push","offsetX","offsetY","pageOffsets","marginBottom","slice","React"],"mappings":"uQAAA;;;AAGA;;AAEA,kD;;;;;;;;;;;AAWaA,mB;;;;;;;;;;;;;AAaHC,IAAAA,Q,GAAW,0CAAkBD,mBAAmB,CAACE,YAAtC,C;;AAEZC,IAAAA,K,GAAQ;AACbC,MAAAA,IAAI,EAAE,CADO,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDPC,IAAAA,Q,GAAW,YAAM;AACvB,YAAKC,QAAL,CAAc,qBAAGF,IAAH,QAAGA,IAAH,QAAe;AAC3BA,UAAAA,IAAI,EAAEA,IAAI,GAAG,CADc,EAAf,EAAd;;AAGD,K;;AAEOG,IAAAA,Q,GAAW,YAAM;AACvB,YAAKD,QAAL,CAAc,sBAAGF,IAAH,SAAGA,IAAH,QAAe;AAC3BA,UAAAA,IAAI,EAAEA,IAAI,GAAG,CADc,EAAf,EAAd;;AAGD,K,iEAtDMI,M,GAAP,kBAAgB,WACd,IAAQJ,IAAR,GAAiB,KAAKD,KAAtB,CAAQC,IAAR,CACA,kBAAoC,KAAKK,KAAzC,CAAQC,YAAR,eAAQA,YAAR,CAAsBC,SAAtB,eAAsBA,SAAtB,CACA,qBAAqC,KAAKV,QAAL,EAArC,CAAQW,WAAR,kBAAQA,WAAR,CAAqBC,WAArB,kBAAqBA,WAArB,CACA,IAAMC,KAAK,GAAG,EAAd,CACA,IAAIC,GAAG,GAAG,CAAV,CACA,IAAMC,KAAK,GAAGN,YAAY,CAACO,GAAb,CAAiB,UAACC,CAAD,UAAOA,CAAC,CAACC,MAAT,EAAjB,CAAd,CACA,IAAMC,gBAAgB,GAAG,SAAC,EAAD,EAA+BC,MAA/B,cAAyCX,YAAzC,CAAzB,CAEA,KAAK,IAAIY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,KAAK,CAACG,MAAN,GAAe,CAAnC,EAAsCG,CAAC,EAAvC,EAA2C,CACzCR,KAAK,CAACS,IAAN,CAAW,EACTC,OAAO,EAAET,GADA,EAETU,OAAO,EAAGV,GAAG,IAAIC,KAAK,CAACM,CAAD,CAFb,EAAX,EAID,CAED,IAAMI,WAAW,GAAGZ,KAAK,CAACV,IAAD,CAAzB,CACA,oBACE,uDACE,sCAAK,EAAE,EAAC,WAAR,EAAoB,KAAK,EAAE,EAAEuB,YAAY,EAAE,CAAhB,EAA3B,iBACE,yCAAQ,QAAQ,EAAEvB,IAAI,KAAK,CAA3B,EAA8B,EAAE,EAAC,WAAjC,EAA6C,OAAO,EAAE,KAAKC,QAA3D,WADF,EAGY,GAHZ,eAIE,4CAAWD,IAAI,GAAG,CAAlB,WAAyBU,KAAK,CAACK,MAA/B,CAJF,EAImD,GAJnD,eAKE,yCAAQ,QAAQ,EAAEf,IAAI,GAAG,CAAP,IAAYU,KAAK,CAACK,MAApC,EAA4C,EAAE,EAAC,WAA/C,EAA2D,OAAO,EAAE,KAAKZ,QAAzE,WALF,CADF,eAUE,0CACGmB,WAAW,iBACV,6BAAC,8BAAD,IACE,GAAG,EAAEtB,IADP,EAEE,SAAS,EAAEO,SAFb,EAGE,WAAW,EAAEC,WAHf,EAIE,WAAW,EAAEC,WAJf,EAKE,IAAI,EAAEO,gBAAgB,CAACQ,KAAjB,CAAuBF,WAAW,CAACD,OAAnC,EAA4CL,gBAAgB,CAACD,MAA7D,CALR,EAME,IAAI,EAAEC,gBAAgB,CAACQ,KAAjB,CAAuBF,WAAW,CAACF,OAAnC,EAA4CE,WAAW,CAACD,OAAxD,CANR,GAFJ,CAVF,CADF,CAyBD,C,8BAzDOI,eAAMlB,S,oDAJHX,mB,CAQGE,Y,GAAwD,EACpEU,WAAW,EAAE,EADuD,EAEpEC,WAAW,EAAE,EAFuD,E","sourcesContent":["import React from 'react';\n\nimport { DefaultizeProps } from '../lib/utils';\nimport { createPropsGetter } from '../lib/createPropsGetter';\n\nimport { ComponentTable, StatePropsCombinations, StateType } from './ComponentTable';\n\nexport interface ComponentCombinatorProps<C, P, S> {\n combinations: Array<StatePropsCombinations<P, S>>;\n Component: C;\n presetProps?: DefaultizeProps<C, P>;\n presetState?: Partial<S>;\n}\n\ntype DefaultProps<T, C, P> = Required<Pick<ComponentCombinatorProps<T, C, P>, 'presetProps' | 'presetState'>>;\n\nexport class ComponentCombinator<\n T extends React.Component<any, any, any>,\n C extends React.ComponentType<any>,\n P extends React.ComponentProps<C>,\n> extends React.Component<\n ComponentCombinatorProps<C extends React.ComponentClass<P, any> ? React.ClassType<P, T, C> : C, P, StateType<C>>,\n { page: number }\n> {\n public static defaultProps: DefaultProps<unknown, unknown, unknown> = {\n presetProps: {},\n presetState: {},\n };\n\n private getProps = createPropsGetter(ComponentCombinator.defaultProps);\n\n public state = {\n page: 0,\n };\n\n public render() {\n const { page } = this.state;\n const { combinations, Component } = this.props;\n const { presetProps, presetState } = this.getProps();\n const pages = [];\n let row = 0;\n const sizes = combinations.map((c) => c.length);\n const flatCombinations = ([] as typeof combinations[0]).concat(...combinations);\n\n for (let j = 0; j < sizes.length - 1; j++) {\n pages.push({\n offsetX: row,\n offsetY: (row += sizes[j]),\n });\n }\n\n const pageOffsets = pages[page];\n return (\n <div>\n <div id=\"paginator\" style={{ marginBottom: 5 }}>\n <button disabled={page === 0} id=\"prev-page\" onClick={this.prevPage}>\n Prev\n </button>{' '}\n <small>{`${page + 1} / ${pages.length}`}</small>{' '}\n <button disabled={page + 1 >= pages.length} id=\"next-page\" onClick={this.nextPage}>\n Next\n </button>\n </div>\n <div>\n {pageOffsets && (\n <ComponentTable\n key={page}\n Component={Component}\n presetProps={presetProps as DefaultizeProps<C, P>}\n presetState={presetState}\n rows={flatCombinations.slice(pageOffsets.offsetY, flatCombinations.length)}\n cols={flatCombinations.slice(pageOffsets.offsetX, pageOffsets.offsetY)}\n />\n )}\n </div>\n </div>\n );\n }\n\n private prevPage = () => {\n this.setState(({ page }) => ({\n page: page - 1,\n }));\n };\n\n private nextPage = () => {\n this.setState(({ page }) => ({\n page: page + 1,\n }));\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.ComponentTable = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.ComponentTable = 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
 
3
3
  var _utils = require("../lib/utils");
4
4
  var _createPropsGetter = require("../lib/createPropsGetter");
@@ -1 +1 @@
1
- {"version":3,"sources":["ComponentTable.tsx"],"names":["renderPropsDesc","props","Object","keys","map","key","value","React","isValidElement","createElement","JSON","stringify","node","index","nodes","length","ComponentTable","getProps","defaultProps","render","rows","cols","Component","presetProps","presetState","borderSpacing","marginBottom","captionSide","i","colProps","whiteSpace","rowIndex","rowProps","state","rowState","colIndex","colState","undefined","el","setState"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isFunctionalComponent, DefaultizeProps } from '../lib/utils';\nimport { createPropsGetter } from '../lib/createPropsGetter';\n\n// TODO We should output state too\nconst renderPropsDesc = <P extends Record<string, any>>(props: P): React.ReactNode => {\n return Object.keys(props)\n .map((key) => {\n const value = props[key];\n switch (typeof value) {\n case 'boolean':\n return value ? key : `${key}: false`;\n case 'string':\n return `${key}: \"${value}\"`;\n case 'object':\n if (React.isValidElement(value)) {\n return React.createElement('span', {}, [`${key}: `, value]);\n }\n return `${key}: ${JSON.stringify(value)}`;\n default:\n return `${key}: ${value}`;\n }\n })\n .map((node, index, nodes) => (\n <span key={index}>\n {node} {index + 1 < nodes.length ? ', ' : null}\n </span>\n ));\n};\n\ninterface StatePropsObject<P, S> {\n props?: Partial<P>;\n state?: Partial<S>;\n}\nexport type StatePropsCombinations<P, S> = Array<StatePropsObject<P, S>>;\n\nexport type StateType<C> = C extends React.Component<any, infer S> | React.ComponentClass<any, infer S> ? S : never;\n\nexport interface ComponentTableProps<C, P, S> {\n rows?: StatePropsCombinations<P, S>;\n cols?: StatePropsCombinations<P, S>;\n presetProps?: DefaultizeProps<C, P>;\n presetState?: Partial<S>;\n Component: C;\n}\n\ntype DefaultProps<C, P, S> = Required<Pick<ComponentTableProps<C, P, S>, 'presetProps' | 'presetState'>>;\n\n// Known limitation: Don't work when component have `propTypes` static field\nexport class ComponentTable<\n T extends React.Component<any, any, any>,\n C extends React.ComponentType<any>,\n P extends React.ComponentProps<C>,\n> extends React.Component<\n ComponentTableProps<C extends React.ComponentClass<P, any> ? React.ClassType<P, T, C> : C, P, StateType<C>>\n> {\n public static defaultProps: DefaultProps<unknown, Record<string | number | symbol, unknown>, unknown> = {\n presetProps: {},\n presetState: {},\n };\n\n private getProps = createPropsGetter(ComponentTable.defaultProps);\n\n public render() {\n const { rows = [], cols = [], Component } = this.props;\n const { presetProps, presetState } = this.getProps();\n return (\n <table style={{ borderSpacing: 10, marginBottom: 20 }}>\n <caption style={{ captionSide: 'bottom' }}>{renderPropsDesc(presetProps)}</caption>\n <thead>\n <tr>\n <th />\n {cols.map(({ props: colProps = {} }, i) => (\n <th style={{ whiteSpace: 'nowrap' }} key={i}>\n {renderPropsDesc(colProps)}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {rows.map(({ props: rowProps = {}, state: rowState = {} }, rowIndex) => (\n <tr key={rowIndex}>\n <td style={{ whiteSpace: 'nowrap' }}>{renderPropsDesc(rowProps)}</td>\n {cols.map(({ props: colProps = {}, state: colState = {} }, colIndex) => (\n <td key={colIndex}>\n {/* @ts-expect-error: Defaultized props incompatible with JSX.LibraryManagedAttributes so just ignore it */}\n <Component\n {...presetProps}\n {...rowProps}\n {...colProps}\n ref={\n // NOTE Call setState from outside is bad practice, but here it needed for test state combinations\n isFunctionalComponent(Component)\n ? undefined\n : (el: React.Component<P, StateType<C>>) =>\n el &&\n el.setState((state: StateType<C>) => ({\n ...state,\n ...presetState,\n ...rowState,\n ...colState,\n }))\n }\n />\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["ComponentTable.tsx"],"names":["renderPropsDesc","props","Object","keys","map","key","value","React","isValidElement","createElement","JSON","stringify","node","index","nodes","length","ComponentTable","getProps","defaultProps","render","rows","cols","Component","presetProps","presetState","borderSpacing","marginBottom","captionSide","i","colProps","whiteSpace","rowIndex","rowProps","state","rowState","colIndex","colState","undefined","el","setState"],"mappings":"oVAAA;;AAEA;AACA;;AAEA;AACA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAAgCC,KAAhC,EAA8D;AACpF,SAAOC,MAAM,CAACC,IAAP,CAAYF,KAAZ;AACJG,EAAAA,GADI,CACA,UAACC,GAAD,EAAS;AACZ,QAAMC,KAAK,GAAGL,KAAK,CAACI,GAAD,CAAnB;AACA,YAAQ,OAAOC,KAAf;AACE,WAAK,SAAL;AACE,eAAOA,KAAK,GAAGD,GAAH,GAAYA,GAAZ,YAAZ;AACF,WAAK,QAAL;AACE,eAAUA,GAAV,YAAmBC,KAAnB;AACF,WAAK,QAAL;AACE,0BAAIC,eAAMC,cAAN,CAAqBF,KAArB,CAAJ,EAAiC;AAC/B,8BAAOC,eAAME,aAAN,CAAoB,MAApB,EAA4B,EAA5B,EAAgC,CAAIJ,GAAJ,SAAaC,KAAb,CAAhC,CAAP;AACD;AACD,eAAUD,GAAV,UAAkBK,IAAI,CAACC,SAAL,CAAeL,KAAf,CAAlB;AACF;AACE,eAAUD,GAAV,UAAkBC,KAAlB,CAXJ;;AAaD,GAhBI;AAiBJF,EAAAA,GAjBI,CAiBA,UAACQ,IAAD,EAAOC,KAAP,EAAcC,KAAd;AACH,6CAAM,GAAG,EAAED,KAAX;AACGD,MAAAA,IADH,OACUC,KAAK,GAAG,CAAR,GAAYC,KAAK,CAACC,MAAlB,GAA2B,IAA3B,GAAkC,IAD5C,CADG,GAjBA,CAAP;;;AAsBD,CAvBD;;;;;;;;;;;;;;;;;;;;AA2CA;IACaC,c;;;;;;;;;;;;AAYHC,IAAAA,Q,GAAW,0CAAkBD,cAAc,CAACE,YAAjC,C;;AAEZC,EAAAA,M,GAAP,kBAAgB;AACd,sBAA4C,KAAKlB,KAAjD,gCAAQmB,IAAR,CAAQA,IAAR,iCAAe,EAAf,mDAAmBC,IAAnB,CAAmBA,IAAnB,iCAA0B,EAA1B,oBAA8BC,SAA9B,eAA8BA,SAA9B;AACA,yBAAqC,KAAKL,QAAL,EAArC,CAAQM,WAAR,kBAAQA,WAAR,CAAqBC,WAArB,kBAAqBA,WAArB;AACA;AACE,8CAAO,KAAK,EAAE,EAAEC,aAAa,EAAE,EAAjB,EAAqBC,YAAY,EAAE,EAAnC,EAAd;AACE,gDAAS,KAAK,EAAE,EAAEC,WAAW,EAAE,QAAf,EAAhB,IAA4C3B,eAAe,CAACuB,WAAD,CAA3D,CADF;AAEE;AACE;AACE,8CADF;AAEGF,MAAAA,IAAI,CAACjB,GAAL,CAAS,gBAA2BwB,CAA3B,yBAAG3B,KAAH,CAAU4B,QAAV,2BAAqB,EAArB;AACR,+CAAI,KAAK,EAAE,EAAEC,UAAU,EAAE,QAAd,EAAX,EAAqC,GAAG,EAAEF,CAA1C;AACG5B,UAAAA,eAAe,CAAC6B,QAAD,CADlB,CADQ,GAAT,CAFH,CADF,CAFF;;;;;AAYE;AACGT,MAAAA,IAAI,CAAChB,GAAL,CAAS,iBAAiD2B,QAAjD,2BAAG9B,KAAH,CAAU+B,QAAV,4BAAqB,EAArB,mCAAyBC,KAAzB,CAAgCC,QAAhC,4BAA2C,EAA3C;AACR,+CAAI,GAAG,EAAEH,QAAT;AACE,+CAAI,KAAK,EAAE,EAAED,UAAU,EAAE,QAAd,EAAX,IAAsC9B,eAAe,CAACgC,QAAD,CAArD,CADF;AAEGX,UAAAA,IAAI,CAACjB,GAAL,CAAS,iBAAiD+B,QAAjD,2BAAGlC,KAAH,CAAU4B,QAAV,4BAAqB,EAArB,mCAAyBI,KAAzB,CAAgCG,QAAhC,4BAA2C,EAA3C;AACR,mDAAI,GAAG,EAAED,QAAT;;AAEE,2CAAC,SAAD;AACMZ,cAAAA,WADN;AAEMS,cAAAA,QAFN;AAGMH,cAAAA,QAHN;AAIE,gBAAA,GAAG;AACD;AACA,kDAAsBP,SAAtB;AACIe,gBAAAA,SADJ;AAEI,0BAACC,EAAD;AACEA,oBAAAA,EAAE;AACFA,oBAAAA,EAAE,CAACC,QAAH,CAAY,UAACN,KAAD;AACPA,sBAAAA,KADO;AAEPT,sBAAAA,WAFO;AAGPU,sBAAAA,QAHO;AAIPE,sBAAAA,QAJO,GAAZ,CAFF,GARR,IAFF,CADQ,GAAT,CAFH,CADQ,GAAT,CADH,CAZF,CADF;;;;;;;;;;;AA6CD,G,yBA1DO7B,eAAMe,S,0CAJHN,c,CAOGE,Y,GAA0F,EACtGK,WAAW,EAAE,EADyF,EAEtGC,WAAW,EAAE,EAFyF,E","sourcesContent":["import React from 'react';\n\nimport { isFunctionalComponent, DefaultizeProps } from '../lib/utils';\nimport { createPropsGetter } from '../lib/createPropsGetter';\n\n// TODO We should output state too\nconst renderPropsDesc = <P extends Record<string, any>>(props: P): React.ReactNode => {\n return Object.keys(props)\n .map((key) => {\n const value = props[key];\n switch (typeof value) {\n case 'boolean':\n return value ? key : `${key}: false`;\n case 'string':\n return `${key}: \"${value}\"`;\n case 'object':\n if (React.isValidElement(value)) {\n return React.createElement('span', {}, [`${key}: `, value]);\n }\n return `${key}: ${JSON.stringify(value)}`;\n default:\n return `${key}: ${value}`;\n }\n })\n .map((node, index, nodes) => (\n <span key={index}>\n {node} {index + 1 < nodes.length ? ', ' : null}\n </span>\n ));\n};\n\ninterface StatePropsObject<P, S> {\n props?: Partial<P>;\n state?: Partial<S>;\n}\nexport type StatePropsCombinations<P, S> = Array<StatePropsObject<P, S>>;\n\nexport type StateType<C> = C extends React.Component<any, infer S> | React.ComponentClass<any, infer S> ? S : never;\n\nexport interface ComponentTableProps<C, P, S> {\n rows?: StatePropsCombinations<P, S>;\n cols?: StatePropsCombinations<P, S>;\n presetProps?: DefaultizeProps<C, P>;\n presetState?: Partial<S>;\n Component: C;\n}\n\ntype DefaultProps<C, P, S> = Required<Pick<ComponentTableProps<C, P, S>, 'presetProps' | 'presetState'>>;\n\n// Known limitation: Don't work when component have `propTypes` static field\nexport class ComponentTable<\n T extends React.Component<any, any, any>,\n C extends React.ComponentType<any>,\n P extends React.ComponentProps<C>,\n> extends React.Component<\n ComponentTableProps<C extends React.ComponentClass<P, any> ? React.ClassType<P, T, C> : C, P, StateType<C>>\n> {\n public static defaultProps: DefaultProps<unknown, Record<string | number | symbol, unknown>, unknown> = {\n presetProps: {},\n presetState: {},\n };\n\n private getProps = createPropsGetter(ComponentTable.defaultProps);\n\n public render() {\n const { rows = [], cols = [], Component } = this.props;\n const { presetProps, presetState } = this.getProps();\n return (\n <table style={{ borderSpacing: 10, marginBottom: 20 }}>\n <caption style={{ captionSide: 'bottom' }}>{renderPropsDesc(presetProps)}</caption>\n <thead>\n <tr>\n <th />\n {cols.map(({ props: colProps = {} }, i) => (\n <th style={{ whiteSpace: 'nowrap' }} key={i}>\n {renderPropsDesc(colProps)}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {rows.map(({ props: rowProps = {}, state: rowState = {} }, rowIndex) => (\n <tr key={rowIndex}>\n <td style={{ whiteSpace: 'nowrap' }}>{renderPropsDesc(rowProps)}</td>\n {cols.map(({ props: colProps = {}, state: colState = {} }, colIndex) => (\n <td key={colIndex}>\n {/* @ts-expect-error: Defaultized props incompatible with JSX.LibraryManagedAttributes so just ignore it */}\n <Component\n {...presetProps}\n {...rowProps}\n {...colProps}\n ref={\n // NOTE Call setState from outside is bad practice, but here it needed for test state combinations\n isFunctionalComponent(Component)\n ? undefined\n : (el: React.Component<P, StateType<C>>) =>\n el &&\n el.setState((state: StateType<C>) => ({\n ...state,\n ...presetState,\n ...rowState,\n ...colState,\n }))\n }\n />\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.ArrowDownIcon = void 0;
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.ArrowDownIcon = void 0;
2
2
  var _react = _interopRequireDefault(require("react"));
3
3
 
4
4
  var _ArrowCDownIcon16Regular = require("../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular");
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.ComboBoxMenuDataTids = exports.ComboBoxMenu = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.ComboBoxMenuDataTids = exports.ComboBoxMenu = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
 
3
3
  var _utils = require("../../lib/utils");
4
4
  var _decorators = require("../../lib/locale/decorators");
@@ -1 +1 @@
1
- {"version":3,"sources":["ComboBoxMenu.tsx"],"names":["ComboBoxMenuDataTids","loading","failed","notFound","items","item","ComboBoxMenu","CustomComboBoxLocaleHelper","getProps","defaultProps","renderItem","index","props","onValueChange","itemWrapper","isSimpleItem","element","Object","assign","key","onClick","React","cloneElement","size","isMobile","state","render","theme","renderMain","opened","totalCount","refMenu","renderNotFound","renderTotalCount","maxMenuHeight","requestStatus","locale","errorNetworkButton","errorNetworkMessage","renderAddButton","maxHeight","length","menuId","ComboBoxRequestStatus","Failed","maxWidth","whiteSpace","repeatRequest","notFoundValue","total","renderedItems","map","menuItems","filter","countItems","Component","__KONTUR_REACT_UI__","displayName","undefined","Unknown","isValidElement"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isFunction, isNullable } from '../../lib/utils';\nimport { locale } from '../../lib/locale/decorators';\nimport { Menu } from '../Menu';\nimport { isMenuItem, MenuItem, MenuItemState } from '../../components/MenuItem';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { MenuMessage } from '../MenuMessage';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { MenuFooter } from '../../components/MenuFooter';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { ComboBoxLocale, CustomComboBoxLocaleHelper } from './locale';\n\nexport interface ComboBoxMenuProps<T> {\n opened?: boolean;\n items?: Nullable<Array<ComboBoxExtendedItem<T>>>;\n totalCount?: number;\n loading?: boolean;\n maxMenuHeight?: number | string;\n refMenu?: (menu: Nullable<Menu>) => void;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType<unknown>;\n onValueChange: (value: T) => any;\n renderAddButton?: () => React.ReactNode;\n caption?: React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n isMobile?: boolean;\n menuId?: string;\n size?: SizeProp;\n}\n\nexport const ComboBoxMenuDataTids = {\n loading: 'ComboBoxMenu__loading',\n failed: 'ComboBoxMenu__failed',\n notFound: 'ComboBoxMenu__notFound',\n items: 'ComboBoxMenu__items',\n item: 'ComboBoxMenu__item',\n} as const;\n\ntype DefaultProps<T> = Required<Pick<ComboBoxMenuProps<T>, 'repeatRequest' | 'requestStatus'>>;\n\n@locale('ComboBox', CustomComboBoxLocaleHelper)\nexport class ComboBoxMenu<T> extends React.Component<ComboBoxMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxMenu';\n public static displayName = 'ComboBoxMenu';\n\n public static defaultProps: DefaultProps<unknown> = {\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n };\n\n private getProps = createPropsGetter(ComboBoxMenu.defaultProps);\n\n private readonly locale!: ComboBoxLocale;\n\n private theme!: Theme;\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const {\n opened,\n items,\n totalCount,\n loading,\n refMenu,\n renderNotFound = () => notFound,\n renderTotalCount,\n maxMenuHeight,\n isMobile,\n } = this.props;\n\n const requestStatus = this.getProps().requestStatus;\n\n const { notFound, errorNetworkButton, errorNetworkMessage } = this.locale;\n\n if (!opened) {\n return null;\n }\n\n let renderAddButton = null;\n if (this.props.renderAddButton) {\n renderAddButton = this.props.renderAddButton();\n }\n\n const maxHeight = isMobile ? 'auto' : maxMenuHeight;\n\n if (loading && (!items || !items.length)) {\n return (\n <Menu\n maxHeight={maxHeight}\n ref={refMenu}\n disableScrollContainer={isMobile}\n id={this.props.menuId}\n data-tid={ComboBoxMenuDataTids.loading}\n >\n <MenuMessage size={this.props.size} as=\"div\">\n <Spinner type=\"mini\" dimmed />\n </MenuMessage>\n </Menu>\n );\n }\n\n if (items === null && requestStatus === ComboBoxRequestStatus.Failed) {\n return (\n <Menu\n ref={refMenu}\n maxHeight={maxHeight}\n disableScrollContainer={isMobile}\n id={this.props.menuId}\n data-tid={ComboBoxMenuDataTids.failed}\n >\n <MenuMessage size={this.props.size} key=\"message\">\n <div style={{ maxWidth: 300, whiteSpace: 'normal' }}>{errorNetworkMessage}</div>\n </MenuMessage>\n <MenuItem link onClick={this.getProps().repeatRequest} size={this.props.size} key=\"retry\" isMobile={isMobile}>\n {errorNetworkButton}\n </MenuItem>\n </Menu>\n );\n }\n\n if ((isNullable(items) || items.length === 0) && renderNotFound) {\n const notFoundValue = renderNotFound();\n if (renderAddButton) {\n return (\n <Menu id={this.props.menuId} maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n {renderAddButton}\n </Menu>\n );\n }\n\n if (notFoundValue) {\n return (\n <Menu id={this.props.menuId} maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n <MenuMessage size={this.props.size} data-tid={ComboBoxMenuDataTids.notFound}>\n {notFoundValue}\n </MenuMessage>\n </Menu>\n );\n }\n\n return null;\n }\n\n let total = null;\n const renderedItems = items && items.map(this.renderItem);\n const menuItems = renderedItems?.filter((item) => {\n return isMenuItem(item);\n });\n const countItems = menuItems?.length;\n if (countItems && renderTotalCount && totalCount && countItems < totalCount) {\n total = (\n <MenuFooter size={this.props.size} key=\"total\">\n <div>{renderTotalCount(countItems, totalCount)}</div>\n </MenuFooter>\n );\n }\n\n return (\n <Menu\n id={this.props.menuId}\n data-tid={ComboBoxMenuDataTids.items}\n ref={refMenu}\n maxHeight={maxHeight}\n disableScrollContainer={isMobile}\n >\n {renderedItems}\n {total}\n {renderAddButton && [<MenuSeparator key=\"separator\" />, renderAddButton]}\n </Menu>\n );\n }\n\n private renderItem = (item: ComboBoxExtendedItem<T>, index: number): React.ReactNode => {\n // NOTE this is undesireable feature, better\n // to remove it from further versions\n const { renderItem, onValueChange, itemWrapper } = this.props;\n\n if (!isSimpleItem<T>(item)) {\n const element = isFunction(item) ? item() : item;\n const props = Object.assign(\n {\n key: index,\n onClick: () => onValueChange(element.props),\n },\n element.props,\n );\n return React.cloneElement(element, props);\n }\n\n return (\n <MenuItem\n component={itemWrapper?.(item)}\n data-tid={ComboBoxMenuDataTids.item}\n onClick={() => onValueChange(item)}\n key={index}\n size={this.props.size}\n isMobile={this.props.isMobile}\n >\n {(state) => renderItem(item, state)}\n </MenuItem>\n );\n };\n}\n\nfunction isSimpleItem<T>(item: ComboBoxExtendedItem<T>): item is T {\n return !isFunction(item) && !React.isValidElement(item);\n}\n"]}
1
+ {"version":3,"sources":["ComboBoxMenu.tsx"],"names":["ComboBoxMenuDataTids","loading","failed","notFound","items","item","ComboBoxMenu","CustomComboBoxLocaleHelper","getProps","defaultProps","renderItem","index","props","onValueChange","itemWrapper","isSimpleItem","element","Object","assign","key","onClick","React","cloneElement","size","isMobile","state","render","theme","renderMain","opened","totalCount","refMenu","renderNotFound","renderTotalCount","maxMenuHeight","requestStatus","locale","errorNetworkButton","errorNetworkMessage","renderAddButton","maxHeight","length","menuId","ComboBoxRequestStatus","Failed","maxWidth","whiteSpace","repeatRequest","notFoundValue","total","renderedItems","map","menuItems","filter","countItems","Component","__KONTUR_REACT_UI__","displayName","undefined","Unknown","isValidElement"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isFunction, isNullable } from '../../lib/utils';\nimport { locale } from '../../lib/locale/decorators';\nimport { Menu } from '../Menu';\nimport { isMenuItem, MenuItem, MenuItemState } from '../../components/MenuItem';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { MenuMessage } from '../MenuMessage';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { MenuFooter } from '../../components/MenuFooter';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { ComboBoxLocale, CustomComboBoxLocaleHelper } from './locale';\n\nexport interface ComboBoxMenuProps<T> {\n opened?: boolean;\n items?: Nullable<Array<ComboBoxExtendedItem<T>>>;\n totalCount?: number;\n loading?: boolean;\n maxMenuHeight?: number | string;\n refMenu?: (menu: Nullable<Menu>) => void;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType<unknown>;\n onValueChange: (value: T) => any;\n renderAddButton?: () => React.ReactNode;\n caption?: React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n isMobile?: boolean;\n menuId?: string;\n size?: SizeProp;\n}\n\nexport const ComboBoxMenuDataTids = {\n loading: 'ComboBoxMenu__loading',\n failed: 'ComboBoxMenu__failed',\n notFound: 'ComboBoxMenu__notFound',\n items: 'ComboBoxMenu__items',\n item: 'ComboBoxMenu__item',\n} as const;\n\ntype DefaultProps<T> = Required<Pick<ComboBoxMenuProps<T>, 'repeatRequest' | 'requestStatus'>>;\n\n@locale('ComboBox', CustomComboBoxLocaleHelper)\nexport class ComboBoxMenu<T> extends React.Component<ComboBoxMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxMenu';\n public static displayName = 'ComboBoxMenu';\n\n public static defaultProps: DefaultProps<unknown> = {\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n };\n\n private getProps = createPropsGetter(ComboBoxMenu.defaultProps);\n\n private readonly locale!: ComboBoxLocale;\n\n private theme!: Theme;\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const {\n opened,\n items,\n totalCount,\n loading,\n refMenu,\n renderNotFound = () => notFound,\n renderTotalCount,\n maxMenuHeight,\n isMobile,\n } = this.props;\n\n const requestStatus = this.getProps().requestStatus;\n\n const { notFound, errorNetworkButton, errorNetworkMessage } = this.locale;\n\n if (!opened) {\n return null;\n }\n\n let renderAddButton = null;\n if (this.props.renderAddButton) {\n renderAddButton = this.props.renderAddButton();\n }\n\n const maxHeight = isMobile ? 'auto' : maxMenuHeight;\n\n if (loading && (!items || !items.length)) {\n return (\n <Menu\n maxHeight={maxHeight}\n ref={refMenu}\n disableScrollContainer={isMobile}\n id={this.props.menuId}\n data-tid={ComboBoxMenuDataTids.loading}\n >\n <MenuMessage size={this.props.size} as=\"div\">\n <Spinner type=\"mini\" dimmed />\n </MenuMessage>\n </Menu>\n );\n }\n\n if (items === null && requestStatus === ComboBoxRequestStatus.Failed) {\n return (\n <Menu\n ref={refMenu}\n maxHeight={maxHeight}\n disableScrollContainer={isMobile}\n id={this.props.menuId}\n data-tid={ComboBoxMenuDataTids.failed}\n >\n <MenuMessage size={this.props.size} key=\"message\">\n <div style={{ maxWidth: 300, whiteSpace: 'normal' }}>{errorNetworkMessage}</div>\n </MenuMessage>\n <MenuItem link onClick={this.getProps().repeatRequest} size={this.props.size} key=\"retry\" isMobile={isMobile}>\n {errorNetworkButton}\n </MenuItem>\n </Menu>\n );\n }\n\n if ((isNullable(items) || items.length === 0) && renderNotFound) {\n const notFoundValue = renderNotFound();\n if (renderAddButton) {\n return (\n <Menu id={this.props.menuId} maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n {renderAddButton}\n </Menu>\n );\n }\n\n if (notFoundValue) {\n return (\n <Menu id={this.props.menuId} maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n <MenuMessage size={this.props.size} data-tid={ComboBoxMenuDataTids.notFound}>\n {notFoundValue}\n </MenuMessage>\n </Menu>\n );\n }\n\n return null;\n }\n\n let total = null;\n const renderedItems = items && items.map(this.renderItem);\n const menuItems = renderedItems?.filter((item) => {\n return isMenuItem(item);\n });\n const countItems = menuItems?.length;\n if (countItems && renderTotalCount && totalCount && countItems < totalCount) {\n total = (\n <MenuFooter size={this.props.size} key=\"total\">\n <div>{renderTotalCount(countItems, totalCount)}</div>\n </MenuFooter>\n );\n }\n\n return (\n <Menu\n id={this.props.menuId}\n data-tid={ComboBoxMenuDataTids.items}\n ref={refMenu}\n maxHeight={maxHeight}\n disableScrollContainer={isMobile}\n >\n {renderedItems}\n {total}\n {renderAddButton && [<MenuSeparator key=\"separator\" />, renderAddButton]}\n </Menu>\n );\n }\n\n private renderItem = (item: ComboBoxExtendedItem<T>, index: number): React.ReactNode => {\n // NOTE this is undesireable feature, better\n // to remove it from further versions\n const { renderItem, onValueChange, itemWrapper } = this.props;\n\n if (!isSimpleItem<T>(item)) {\n const element = isFunction(item) ? item() : item;\n const props = Object.assign(\n {\n key: index,\n onClick: () => onValueChange(element.props),\n },\n element.props,\n );\n return React.cloneElement(element, props);\n }\n\n return (\n <MenuItem\n component={itemWrapper?.(item)}\n data-tid={ComboBoxMenuDataTids.item}\n onClick={() => onValueChange(item)}\n key={index}\n size={this.props.size}\n isMobile={this.props.isMobile}\n >\n {(state) => renderItem(item, state)}\n </MenuItem>\n );\n };\n}\n\nfunction isSimpleItem<T>(item: ComboBoxExtendedItem<T>): item is T {\n return !isFunction(item) && !React.isValidElement(item);\n}\n"]}
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.ComboBoxViewIds = exports.ComboBoxView = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.ComboBoxViewIds = exports.ComboBoxView = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
 
3
3
  var _utils = require("../../lib/utils");
4
4
  var _DropdownContainer = require("../DropdownContainer");
@@ -1 +1 @@
1
- {"version":3,"sources":["ComboBoxView.tsx"],"names":["ComboBoxViewIds","menu","ComboBoxView","responsiveLayout","rootNode","getProps","defaultProps","mobileInput","dropdownContainerRef","React","createRef","menuId","getComboBoxMenu","props","items","loading","opened","refMenu","maxMenuHeight","renderTotalCount","renderNotFound","totalCount","size","repeatRequest","requestStatus","renderItem","itemWrapper","handleItemSelect","renderAddButton","isMobileLayout","renderMenu","menuAlign","menuPos","getParent","disablePortal","renderMobileMenu","rightIcon","onFocus","onInputValueChange","placeholder","textValue","length","renderSpinner","inputProps","autoFocus","width","onValueChange","value","refMobileInput","onMobileClose","handleMobileFocus","onInputClick","focus","item","refInput","input","styles","spinnerWrapper","getRightIcon","drawArrow","theme","rightIconWrapper","componentDidMount","current","position","componentDidUpdate","prevProps","editing","render","renderMain","onMouseEnter","onMouseLeave","onMouseOver","onClickOutside","onFocusOutside","isMobile","renderInput","CustomComboBoxDataTids","comboBoxView","root","setRootNode","align","borderless","disabled","error","onInputBlur","onInputFocus","onInputKeyDown","warning","refInputLikeText","leftIcon","inputMode","ariaDescribedby","ariaLabel","renderValue","maxLength","undefined","Component","__KONTUR_REACT_UI__","displayName","ComboBoxRequestStatus","Unknown"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { DropdownContainer, DropdownContainerProps } from '../DropdownContainer';\nimport { Input, InputIconType, InputProps } from '../../components/Input';\nimport { InputLikeText } from '../InputLikeText';\nimport { Menu } from '../Menu';\nimport { MenuItemState } from '../../components/MenuItem';\nimport { RenderLayer } from '../RenderLayer';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { ArrowChevronDownIcon } from '../icons/16px';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { MobilePopup } from '../MobilePopup';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, getRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { LoadingIcon } from '../icons2022/LoadingIcon';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { ArrowDownIcon } from './ArrowDownIcon';\nimport { ComboBoxMenu } from './ComboBoxMenu';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { styles } from './CustomComboBox.styles';\nimport { CustomComboBoxDataTids } from './CustomComboBox';\nimport { getComboBoxTheme } from './getComboBoxTheme';\n\ninterface ComboBoxViewProps<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 editing?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n items?: Nullable<Array<ComboBoxExtendedItem<T>>>;\n loading?: boolean;\n menuAlign?: 'left' | 'right';\n opened?: boolean;\n drawArrow?: boolean;\n placeholder?: string;\n size?: SizeProp;\n textValue?: string;\n totalCount?: number;\n value?: Nullable<T>;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxLength?: number;\n maxMenuHeight?: number | string;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n onValueChange?: (value: T) => void;\n onClickOutside?: (e: Event) => void;\n onFocus?: () => void;\n onMobileClose?: () => void;\n onFocusOutside?: () => void;\n onInputBlur?: () => void;\n onInputValueChange?: (value: string) => void;\n onInputFocus?: () => void;\n onInputClick?: () => void;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType<unknown>;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderValue?: (item: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n refInput?: (input: Nullable<Input>) => void;\n refMenu?: (menu: Nullable<Menu>) => void;\n refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;\n}\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxViewProps<T>,\n | 'renderItem'\n | 'renderValue'\n | 'renderAddButton'\n | 'repeatRequest'\n | 'requestStatus'\n | 'onClickOutside'\n | 'onFocusOutside'\n | 'size'\n | 'width'\n >\n>;\n\nexport const ComboBoxViewIds = {\n menu: 'ComboBoxView__menu',\n};\n\n@responsiveLayout\n@rootNode\nexport class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxView';\n public static displayName = 'ComboBoxView';\n\n public static defaultProps: DefaultProps<unknown> = {\n renderItem: (item: any) => item,\n renderValue: (item: any) => item,\n renderAddButton: () => null,\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n onClickOutside: () => {\n /**/\n },\n onFocusOutside: () => {\n /**/\n },\n size: 'small',\n width: 250,\n };\n\n private getProps = createPropsGetter(ComboBoxView.defaultProps);\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private mobileInput: Nullable<Input> = null;\n private isMobileLayout!: boolean;\n private dropdownContainerRef = React.createRef<DropdownContainer>();\n private theme!: Theme;\n private menuId = ComboBoxViewIds.menu + getRandomID();\n\n public componentDidMount() {\n if (this.props.autoFocus && this.props.onFocus) {\n this.props.onFocus();\n }\n this.props.opened && this.dropdownContainerRef.current?.position();\n }\n\n public componentDidUpdate(prevProps: ComboBoxViewProps<T>) {\n const { input, props } = this;\n\n if (props.editing && !prevProps.editing && input) {\n input.focus();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getComboBoxTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { onMouseEnter, onMouseLeave, onMouseOver, opened } = this.props;\n const { onClickOutside, onFocusOutside, width } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n const input = this.renderInput();\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={onClickOutside} onFocusOutside={onFocusOutside} active={opened}>\n <span\n data-tid={CustomComboBoxDataTids.comboBoxView}\n style={{ width }}\n className={styles.root()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n ref={this.setRootNode}\n >\n {input}\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getComboBoxMenu = () => {\n const { items, loading, opened, refMenu, maxMenuHeight, renderTotalCount, renderNotFound, totalCount, size } =\n this.props;\n\n const { repeatRequest, requestStatus, renderItem, itemWrapper } = this.getProps();\n return (\n <ComboBoxMenu\n menuId={this.menuId}\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={this.handleItemSelect}\n opened={opened}\n refMenu={refMenu}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n itemWrapper={itemWrapper}\n renderAddButton={this.renderAddButton}\n repeatRequest={repeatRequest}\n requestStatus={requestStatus}\n totalCount={totalCount}\n isMobile={this.isMobileLayout}\n size={size}\n />\n );\n };\n\n private renderMenu = () => {\n const { menuAlign, opened, menuPos } = this.props;\n\n return (\n opened && (\n <DropdownContainer\n menuPos={menuPos}\n align={menuAlign}\n getParent={this.getParent}\n disablePortal={this.props.disablePortal}\n ref={this.dropdownContainerRef}\n >\n {this.getComboBoxMenu()}\n </DropdownContainer>\n )\n );\n };\n\n private renderMobileMenu = () => {\n let rightIcon = null;\n\n const { loading, items, opened, onFocus, onInputValueChange, placeholder, textValue } = this.props;\n if (loading && items && !!items.length) {\n rightIcon = this.renderSpinner();\n }\n\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onFocus,\n onValueChange: onInputValueChange,\n value: textValue,\n placeholder,\n rightIcon,\n };\n\n return (\n opened && (\n <MobilePopup\n headerChildComponent={<Input ref={this.refMobileInput} {...inputProps} />}\n onCloseRequest={this.props.onMobileClose}\n opened\n >\n {this.getComboBoxMenu()}\n </MobilePopup>\n )\n );\n };\n\n private getParent = () => {\n return getRootNode(this);\n };\n\n private renderAddButton = (): React.ReactNode => {\n return this.getProps().renderAddButton(this.props.textValue);\n };\n\n private renderInput(): React.ReactNode {\n const isMobile = this.isMobileLayout;\n\n const {\n align,\n borderless,\n disabled,\n editing,\n error,\n onFocus,\n onInputBlur,\n onInputValueChange,\n onInputFocus,\n onInputClick,\n onInputKeyDown,\n placeholder,\n textValue,\n value,\n warning,\n refInputLikeText,\n leftIcon,\n inputMode,\n size,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n\n const { renderValue } = this.getProps();\n\n const rightIcon = this.getRightIcon();\n\n if (editing) {\n return (\n <Input\n align={align}\n borderless={borderless}\n disabled={disabled}\n error={error}\n maxLength={this.props.maxLength}\n onBlur={isMobile ? undefined : onInputBlur}\n onValueChange={onInputValueChange}\n onFocus={onInputFocus}\n onClick={isMobile ? this.handleMobileFocus : onInputClick}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n value={textValue || ''}\n onKeyDown={onInputKeyDown}\n placeholder={placeholder}\n width=\"100%\"\n size={size}\n ref={this.refInput}\n warning={warning}\n inputMode={inputMode}\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n aria-label={ariaLabel}\n />\n );\n }\n\n return (\n <InputLikeText\n align={align}\n borderless={borderless}\n error={error}\n onFocus={onFocus}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n disabled={disabled}\n warning={warning}\n placeholder={placeholder}\n size={size}\n width=\"100%\"\n ref={refInputLikeText}\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n >\n {isNonNullable(value) && renderValue ? renderValue(value) : null}\n </InputLikeText>\n );\n }\n\n private handleMobileFocus = () => {\n this.props.onInputClick?.();\n\n this.mobileInput?.focus();\n };\n\n private handleItemSelect = (item: T) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(item);\n }\n\n if (this.isMobileLayout) {\n this.props.onMobileClose?.();\n }\n };\n\n private refInput = (input: Nullable<Input>) => {\n if (this.props.refInput) {\n this.props.refInput(input);\n }\n this.input = input;\n };\n\n private renderSpinner = () => (\n <span className={styles.spinnerWrapper()}>\n <Spinner type=\"mini\" caption=\"\" dimmed />\n </span>\n );\n\n private getRightIcon = () => {\n const { loading, items, drawArrow, rightIcon, size } = this.props;\n\n if (loading && items && !!items.length) {\n if (isTheme2022(this.theme)) {\n return <LoadingIcon size={size} />;\n }\n return this.renderSpinner();\n }\n\n if (rightIcon || drawArrow) {\n if (isTheme2022(this.theme)) {\n return rightIcon || <ArrowDownIcon size={size} />;\n }\n return <span className={styles.rightIconWrapper()}>{rightIcon ?? <ArrowChevronDownIcon />}</span>;\n }\n\n return null;\n };\n\n private refMobileInput = (input: Nullable<Input>) => {\n this.mobileInput = input;\n };\n}\n"]}
1
+ {"version":3,"sources":["ComboBoxView.tsx"],"names":["ComboBoxViewIds","menu","ComboBoxView","responsiveLayout","rootNode","getProps","defaultProps","mobileInput","dropdownContainerRef","React","createRef","menuId","getComboBoxMenu","props","items","loading","opened","refMenu","maxMenuHeight","renderTotalCount","renderNotFound","totalCount","size","repeatRequest","requestStatus","renderItem","itemWrapper","handleItemSelect","renderAddButton","isMobileLayout","renderMenu","menuAlign","menuPos","getParent","disablePortal","renderMobileMenu","rightIcon","onFocus","onInputValueChange","placeholder","textValue","length","renderSpinner","inputProps","autoFocus","width","onValueChange","value","refMobileInput","onMobileClose","handleMobileFocus","onInputClick","focus","item","refInput","input","styles","spinnerWrapper","getRightIcon","drawArrow","theme","rightIconWrapper","componentDidMount","current","position","componentDidUpdate","prevProps","editing","render","renderMain","onMouseEnter","onMouseLeave","onMouseOver","onClickOutside","onFocusOutside","isMobile","renderInput","CustomComboBoxDataTids","comboBoxView","root","setRootNode","align","borderless","disabled","error","onInputBlur","onInputFocus","onInputKeyDown","warning","refInputLikeText","leftIcon","inputMode","ariaDescribedby","ariaLabel","renderValue","maxLength","undefined","Component","__KONTUR_REACT_UI__","displayName","ComboBoxRequestStatus","Unknown"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { DropdownContainer, DropdownContainerProps } from '../DropdownContainer';\nimport { Input, InputIconType, InputProps } from '../../components/Input';\nimport { InputLikeText } from '../InputLikeText';\nimport { Menu } from '../Menu';\nimport { MenuItemState } from '../../components/MenuItem';\nimport { RenderLayer } from '../RenderLayer';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { ArrowChevronDownIcon } from '../icons/16px';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { MobilePopup } from '../MobilePopup';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, getRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { LoadingIcon } from '../icons2022/LoadingIcon';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { ArrowDownIcon } from './ArrowDownIcon';\nimport { ComboBoxMenu } from './ComboBoxMenu';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { styles } from './CustomComboBox.styles';\nimport { CustomComboBoxDataTids } from './CustomComboBox';\nimport { getComboBoxTheme } from './getComboBoxTheme';\n\ninterface ComboBoxViewProps<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 editing?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n items?: Nullable<Array<ComboBoxExtendedItem<T>>>;\n loading?: boolean;\n menuAlign?: 'left' | 'right';\n opened?: boolean;\n drawArrow?: boolean;\n placeholder?: string;\n size?: SizeProp;\n textValue?: string;\n totalCount?: number;\n value?: Nullable<T>;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxLength?: number;\n maxMenuHeight?: number | string;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n onValueChange?: (value: T) => void;\n onClickOutside?: (e: Event) => void;\n onFocus?: () => void;\n onMobileClose?: () => void;\n onFocusOutside?: () => void;\n onInputBlur?: () => void;\n onInputValueChange?: (value: string) => void;\n onInputFocus?: () => void;\n onInputClick?: () => void;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType<unknown>;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderValue?: (item: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n refInput?: (input: Nullable<Input>) => void;\n refMenu?: (menu: Nullable<Menu>) => void;\n refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;\n}\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxViewProps<T>,\n | 'renderItem'\n | 'renderValue'\n | 'renderAddButton'\n | 'repeatRequest'\n | 'requestStatus'\n | 'onClickOutside'\n | 'onFocusOutside'\n | 'size'\n | 'width'\n >\n>;\n\nexport const ComboBoxViewIds = {\n menu: 'ComboBoxView__menu',\n};\n\n@responsiveLayout\n@rootNode\nexport class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxView';\n public static displayName = 'ComboBoxView';\n\n public static defaultProps: DefaultProps<unknown> = {\n renderItem: (item: any) => item,\n renderValue: (item: any) => item,\n renderAddButton: () => null,\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n onClickOutside: () => {\n /**/\n },\n onFocusOutside: () => {\n /**/\n },\n size: 'small',\n width: 250,\n };\n\n private getProps = createPropsGetter(ComboBoxView.defaultProps);\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private mobileInput: Nullable<Input> = null;\n private isMobileLayout!: boolean;\n private dropdownContainerRef = React.createRef<DropdownContainer>();\n private theme!: Theme;\n private menuId = ComboBoxViewIds.menu + getRandomID();\n\n public componentDidMount() {\n if (this.props.autoFocus && this.props.onFocus) {\n this.props.onFocus();\n }\n this.props.opened && this.dropdownContainerRef.current?.position();\n }\n\n public componentDidUpdate(prevProps: ComboBoxViewProps<T>) {\n const { input, props } = this;\n\n if (props.editing && !prevProps.editing && input) {\n input.focus();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getComboBoxTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { onMouseEnter, onMouseLeave, onMouseOver, opened } = this.props;\n const { onClickOutside, onFocusOutside, width } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n const input = this.renderInput();\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={onClickOutside} onFocusOutside={onFocusOutside} active={opened}>\n <span\n data-tid={CustomComboBoxDataTids.comboBoxView}\n style={{ width }}\n className={styles.root()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n ref={this.setRootNode}\n >\n {input}\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getComboBoxMenu = () => {\n const { items, loading, opened, refMenu, maxMenuHeight, renderTotalCount, renderNotFound, totalCount, size } =\n this.props;\n\n const { repeatRequest, requestStatus, renderItem, itemWrapper } = this.getProps();\n return (\n <ComboBoxMenu\n menuId={this.menuId}\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={this.handleItemSelect}\n opened={opened}\n refMenu={refMenu}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n itemWrapper={itemWrapper}\n renderAddButton={this.renderAddButton}\n repeatRequest={repeatRequest}\n requestStatus={requestStatus}\n totalCount={totalCount}\n isMobile={this.isMobileLayout}\n size={size}\n />\n );\n };\n\n private renderMenu = () => {\n const { menuAlign, opened, menuPos } = this.props;\n\n return (\n opened && (\n <DropdownContainer\n menuPos={menuPos}\n align={menuAlign}\n getParent={this.getParent}\n disablePortal={this.props.disablePortal}\n ref={this.dropdownContainerRef}\n >\n {this.getComboBoxMenu()}\n </DropdownContainer>\n )\n );\n };\n\n private renderMobileMenu = () => {\n let rightIcon = null;\n\n const { loading, items, opened, onFocus, onInputValueChange, placeholder, textValue } = this.props;\n if (loading && items && !!items.length) {\n rightIcon = this.renderSpinner();\n }\n\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onFocus,\n onValueChange: onInputValueChange,\n value: textValue,\n placeholder,\n rightIcon,\n };\n\n return (\n opened && (\n <MobilePopup\n headerChildComponent={<Input ref={this.refMobileInput} {...inputProps} />}\n onCloseRequest={this.props.onMobileClose}\n opened\n >\n {this.getComboBoxMenu()}\n </MobilePopup>\n )\n );\n };\n\n private getParent = () => {\n return getRootNode(this);\n };\n\n private renderAddButton = (): React.ReactNode => {\n return this.getProps().renderAddButton(this.props.textValue);\n };\n\n private renderInput(): React.ReactNode {\n const isMobile = this.isMobileLayout;\n\n const {\n align,\n borderless,\n disabled,\n editing,\n error,\n onFocus,\n onInputBlur,\n onInputValueChange,\n onInputFocus,\n onInputClick,\n onInputKeyDown,\n placeholder,\n textValue,\n value,\n warning,\n refInputLikeText,\n leftIcon,\n inputMode,\n size,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n\n const { renderValue } = this.getProps();\n\n const rightIcon = this.getRightIcon();\n\n if (editing) {\n return (\n <Input\n align={align}\n borderless={borderless}\n disabled={disabled}\n error={error}\n maxLength={this.props.maxLength}\n onBlur={isMobile ? undefined : onInputBlur}\n onValueChange={onInputValueChange}\n onFocus={onInputFocus}\n onClick={isMobile ? this.handleMobileFocus : onInputClick}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n value={textValue || ''}\n onKeyDown={onInputKeyDown}\n placeholder={placeholder}\n width=\"100%\"\n size={size}\n ref={this.refInput}\n warning={warning}\n inputMode={inputMode}\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n aria-label={ariaLabel}\n />\n );\n }\n\n return (\n <InputLikeText\n align={align}\n borderless={borderless}\n error={error}\n onFocus={onFocus}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n disabled={disabled}\n warning={warning}\n placeholder={placeholder}\n size={size}\n width=\"100%\"\n ref={refInputLikeText}\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n >\n {isNonNullable(value) && renderValue ? renderValue(value) : null}\n </InputLikeText>\n );\n }\n\n private handleMobileFocus = () => {\n this.props.onInputClick?.();\n\n this.mobileInput?.focus();\n };\n\n private handleItemSelect = (item: T) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(item);\n }\n\n if (this.isMobileLayout) {\n this.props.onMobileClose?.();\n }\n };\n\n private refInput = (input: Nullable<Input>) => {\n if (this.props.refInput) {\n this.props.refInput(input);\n }\n this.input = input;\n };\n\n private renderSpinner = () => (\n <span className={styles.spinnerWrapper()}>\n <Spinner type=\"mini\" caption=\"\" dimmed />\n </span>\n );\n\n private getRightIcon = () => {\n const { loading, items, drawArrow, rightIcon, size } = this.props;\n\n if (loading && items && !!items.length) {\n if (isTheme2022(this.theme)) {\n return <LoadingIcon size={size} />;\n }\n return this.renderSpinner();\n }\n\n if (rightIcon || drawArrow) {\n if (isTheme2022(this.theme)) {\n return rightIcon || <ArrowDownIcon size={size} />;\n }\n return <span className={styles.rightIconWrapper()}>{rightIcon ?? <ArrowChevronDownIcon />}</span>;\n }\n\n return null;\n };\n\n private refMobileInput = (input: Nullable<Input>) => {\n this.mobileInput = input;\n };\n}\n"]}
@@ -1,4 +1,4 @@
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"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;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
3
  var _globalObject = require("@skbkontur/global-object");
4
4
 
@@ -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","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","flags","featureFlags","setRootNode","componentDidMount","autoFocus","componentDidUpdate","prevProps","prevState","fixValueChange","comboBoxAllowValueChangeInEditingState","reset","PureComponent","__KONTUR_REACT_UI__","displayName"],"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';\nimport {\n ReactUIFeatureFlags,\n ReactUIFeatureFlagsContext,\n getFullReactUIFlagsContext,\n} from '../../lib/featureFlagsContext';\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 public static displayName = '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 private featureFlags!: ReactUIFeatureFlags;\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 <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <CommonWrapper {...this.props}>\n <ComboBoxView {...viewProps} size={this.props.size} ref={this.setRootNode} />\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\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(\n {\n type: 'DidUpdate',\n prevProps,\n prevState,\n fixValueChange: this.featureFlags.comboBoxAllowValueChangeInEditingState,\n },\n false,\n );\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
+ {"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","flags","featureFlags","setRootNode","componentDidMount","autoFocus","componentDidUpdate","prevProps","prevState","fixValueChange","comboBoxAllowValueChangeInEditingState","reset","PureComponent","__KONTUR_REACT_UI__","displayName"],"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';\nimport {\n ReactUIFeatureFlags,\n ReactUIFeatureFlagsContext,\n getFullReactUIFlagsContext,\n} from '../../lib/featureFlagsContext';\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 public static displayName = '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 private featureFlags!: ReactUIFeatureFlags;\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 <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <CommonWrapper {...this.props}>\n <ComboBoxView {...viewProps} size={this.props.size} ref={this.setRootNode} />\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\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(\n {\n type: 'DidUpdate',\n prevProps,\n prevState,\n fixValueChange: this.featureFlags.comboBoxAllowValueChangeInEditingState,\n },\n false,\n );\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,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3;
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3;
2
2
 
3
3
  var styles = (0, _Emotion.memoizeStyle)({
4
4
  root: function root() {
@@ -1 +1 @@
1
- {"version":3,"sources":["CustomComboBox.styles.ts"],"names":["styles","root","css","spinnerWrapper","rightIconWrapper"],"mappings":"4QAAA,oD;;AAEO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,kBAC1B;AACL,eAAOC,YAAP;;;;;AAKD,GAPgC;;AASjCC,EAAAA,cATiC,4BAShB;AACf,eAAOD,YAAP;;;;AAID,GAdgC;;AAgBjCE,EAAAA,gBAhBiC,8BAgBd;AACjB,eAAOF,YAAP;;;;AAID,GArBgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n display: inline-block;\n position: relative;\n line-height: normal;\n `;\n },\n\n spinnerWrapper() {\n return css`\n display: inline-block;\n margin-right: -5px;\n `;\n },\n\n rightIconWrapper() {\n return css`\n display: inline-block;\n margin-right: -3px;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["CustomComboBox.styles.ts"],"names":["styles","root","css","spinnerWrapper","rightIconWrapper"],"mappings":"oRAAA,oD;;AAEO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,kBAC1B;AACL,eAAOC,YAAP;;;;;AAKD,GAPgC;;AASjCC,EAAAA,cATiC,4BAShB;AACf,eAAOD,YAAP;;;;AAID,GAdgC;;AAgBjCE,EAAAA,gBAhBiC,8BAgBd;AACjB,eAAOF,YAAP;;;;AAID,GArBgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n display: inline-block;\n position: relative;\n line-height: normal;\n `;\n },\n\n spinnerWrapper() {\n return css`\n display: inline-block;\n margin-right: -5px;\n `;\n },\n\n rightIconWrapper() {\n return css`\n display: inline-block;\n margin-right: -3px;\n `;\n },\n});\n"]}
@@ -1,4 +1,4 @@
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"));
1
+ "use strict";var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;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
4
  var _globalObject = require("@skbkontur/global-object");
@@ -10,7 +10,7 @@ var LayoutEvents = _interopRequireWildcard(require("../../lib/LayoutEvents"));
10
10
 
11
11
 
12
12
  var _CustomComboBox = require("./CustomComboBox");
13
- var _CustomComboBoxTypes = require("./CustomComboBoxTypes");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;}
13
+ var _CustomComboBoxTypes = require("./CustomComboBoxTypes");
14
14
 
15
15
 
16
16