@skbkontur/react-ui 0.0.0-66a28a30fb → 0.0.0-68e286f9fe

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 (504) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/README.md +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +0 -22
  4. package/cjs/components/Autocomplete/Autocomplete.js +2 -40
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.styles.js +2 -1
  7. package/cjs/components/Button/Button.styles.js.map +1 -1
  8. package/cjs/components/Calendar/CalendarDay.js +18 -2
  9. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  10. package/cjs/components/Calendar/DayCellView.js +7 -15
  11. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  12. package/cjs/components/Checkbox/Checkbox.d.ts +0 -12
  13. package/cjs/components/Checkbox/Checkbox.js +1 -14
  14. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  15. package/cjs/components/ComboBox/ComboBox.d.ts +7 -1
  16. package/cjs/components/ComboBox/ComboBox.js +8 -1
  17. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  18. package/cjs/components/ComboBox/ComboBox.md +2 -2
  19. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -24
  20. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -29
  21. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  22. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -27
  23. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  24. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  25. package/cjs/components/DateInput/DateInput.js +37 -14
  26. package/cjs/components/DateInput/DateInput.js.map +1 -1
  27. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  28. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  29. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  30. package/cjs/components/DatePicker/DatePicker.d.ts +4 -33
  31. package/cjs/components/DatePicker/DatePicker.js +5 -60
  32. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  33. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  34. package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
  35. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  36. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  37. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
  38. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  39. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  40. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  41. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  42. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  43. package/cjs/components/Dropdown/Dropdown.d.ts +0 -47
  44. package/cjs/components/Dropdown/Dropdown.js +2 -83
  45. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  46. package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
  47. package/cjs/components/FileUploader/FileUploader.js +14 -2
  48. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  49. package/cjs/components/FxInput/FxInput.d.ts +1 -6
  50. package/cjs/components/FxInput/FxInput.js +1 -7
  51. package/cjs/components/FxInput/FxInput.js.map +1 -1
  52. package/cjs/components/Gapped/Gapped.d.ts +0 -15
  53. package/cjs/components/Gapped/Gapped.js +1 -25
  54. package/cjs/components/Gapped/Gapped.js.map +1 -1
  55. package/cjs/components/Group/Group.d.ts +3 -4
  56. package/cjs/components/Group/Group.js +90 -40
  57. package/cjs/components/Group/Group.js.map +1 -1
  58. package/cjs/components/Group/Group.md +4 -4
  59. package/cjs/components/Group/Group.styles.d.ts +1 -0
  60. package/cjs/components/Group/Group.styles.js +12 -6
  61. package/cjs/components/Group/Group.styles.js.map +1 -1
  62. package/cjs/components/Input/Input.md +4 -5
  63. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  64. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  65. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  66. package/cjs/components/Kebab/Kebab.d.ts +0 -1
  67. package/cjs/components/Kebab/Kebab.js +1 -26
  68. package/cjs/components/Kebab/Kebab.js.map +1 -1
  69. package/cjs/components/Kebab/Kebab.md +32 -32
  70. package/cjs/components/Link/Link.js +5 -0
  71. package/cjs/components/Link/Link.js.map +1 -1
  72. package/cjs/components/Link/Link.mixins.js +1 -2
  73. package/cjs/components/Link/Link.mixins.js.map +1 -1
  74. package/cjs/components/Link/Link.styles.js +3 -2
  75. package/cjs/components/Link/Link.styles.js.map +1 -1
  76. package/cjs/components/Loader/Loader.d.ts +4 -36
  77. package/cjs/components/Loader/Loader.js +3 -58
  78. package/cjs/components/Loader/Loader.js.map +1 -1
  79. package/cjs/components/MenuItem/MenuItem.d.ts +0 -12
  80. package/cjs/components/MenuItem/MenuItem.js +1 -22
  81. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  82. package/cjs/components/MenuItem/MenuItem.md +6 -6
  83. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  84. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  85. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  86. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  87. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  88. package/cjs/components/Modal/Modal.styles.d.ts +1 -1
  89. package/cjs/components/Modal/Modal.styles.js +6 -6
  90. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  91. package/cjs/components/Modal/ModalSeparator.js +1 -1
  92. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  93. package/cjs/components/Paging/Paging.d.ts +0 -1
  94. package/cjs/components/Paging/Paging.js +2 -28
  95. package/cjs/components/Paging/Paging.js.map +1 -1
  96. package/cjs/components/PasswordInput/PasswordInput.d.ts +0 -7
  97. package/cjs/components/PasswordInput/PasswordInput.js +1 -11
  98. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  99. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
  100. package/cjs/components/RadioGroup/RadioGroup.js +18 -1
  101. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  102. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  103. package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
  104. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  105. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +0 -9
  106. package/cjs/components/ScrollContainer/ScrollContainer.js +1 -11
  107. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  108. package/cjs/components/Select/Select.d.ts +3 -0
  109. package/cjs/components/Select/Select.js +4 -1
  110. package/cjs/components/Select/Select.js.map +1 -1
  111. package/cjs/components/Select/Select.md +3 -3
  112. package/cjs/components/SidePage/SidePage.js +1 -1
  113. package/cjs/components/SidePage/SidePage.js.map +1 -1
  114. package/cjs/components/SidePage/SidePageHeader.js +4 -1
  115. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  116. package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
  117. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  118. package/cjs/components/Spinner/Spinner.d.ts +0 -18
  119. package/cjs/components/Spinner/Spinner.js +1 -32
  120. package/cjs/components/Spinner/Spinner.js.map +1 -1
  121. package/cjs/components/Sticky/Sticky.d.ts +3 -13
  122. package/cjs/components/Sticky/Sticky.js +12 -19
  123. package/cjs/components/Sticky/Sticky.js.map +1 -1
  124. package/cjs/components/Switcher/Switcher.d.ts +4 -21
  125. package/cjs/components/Switcher/Switcher.js +11 -21
  126. package/cjs/components/Switcher/Switcher.js.map +1 -1
  127. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  128. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  129. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  130. package/cjs/components/Textarea/Textarea.d.ts +6 -45
  131. package/cjs/components/Textarea/Textarea.js +16 -58
  132. package/cjs/components/Textarea/Textarea.js.map +1 -1
  133. package/cjs/components/Textarea/Textarea.styles.js +2 -1
  134. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  135. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  136. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  137. package/cjs/components/Toast/Toast.d.ts +8 -6
  138. package/cjs/components/Toast/Toast.js +18 -4
  139. package/cjs/components/Toast/Toast.js.map +1 -1
  140. package/cjs/components/Toast/ToastStatic.d.ts +3 -2
  141. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  142. package/cjs/components/Toast/ToastView.d.ts +1 -15
  143. package/cjs/components/Toast/ToastView.js +3 -23
  144. package/cjs/components/Toast/ToastView.js.map +1 -1
  145. package/cjs/components/Toggle/Toggle.d.ts +0 -10
  146. package/cjs/components/Toggle/Toggle.js +1 -12
  147. package/cjs/components/Toggle/Toggle.js.map +1 -1
  148. package/cjs/components/Token/Token.md +0 -83
  149. package/cjs/components/TokenInput/TokenInput.d.ts +2 -2
  150. package/cjs/components/TokenInput/TokenInput.js +2 -1
  151. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  152. package/cjs/components/TokenInput/TokenInput.md +2 -33
  153. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  154. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  155. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  156. package/cjs/components/Tooltip/Tooltip.d.ts +2 -3
  157. package/cjs/components/Tooltip/Tooltip.js +7 -9
  158. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  159. package/cjs/components/Tooltip/Tooltip.md +8 -8
  160. package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
  161. package/cjs/index.d.ts +1 -0
  162. package/cjs/index.js.map +1 -1
  163. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  164. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  165. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  166. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  167. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  168. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  169. package/cjs/internal/ComponentTable.js +2 -3
  170. package/cjs/internal/ComponentTable.js.map +1 -1
  171. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
  172. package/cjs/internal/CustomComboBox/ComboBoxView.js +37 -2
  173. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  174. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  175. package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -1
  176. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  177. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  178. package/cjs/internal/DateSelect/DateSelect.js +12 -18
  179. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  180. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  181. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  182. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  183. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +36 -0
  184. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +233 -0
  185. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  186. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  187. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  188. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  189. package/cjs/internal/Popup/Popup.d.ts +41 -60
  190. package/cjs/internal/Popup/Popup.js +27 -78
  191. package/cjs/internal/Popup/Popup.js.map +1 -1
  192. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  193. package/cjs/internal/Popup/PopupPin.js +2 -35
  194. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  195. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  196. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  197. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  198. package/cjs/internal/RenderLayer/RenderLayer.d.ts +0 -3
  199. package/cjs/internal/RenderLayer/RenderLayer.js +2 -12
  200. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  201. package/cjs/internal/ThemePlayground/Playground.js +16 -16
  202. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  203. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  204. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  205. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
  206. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  207. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  208. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  209. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  210. package/cjs/internal/ZIndex/ZIndex.d.ts +1 -3
  211. package/cjs/internal/ZIndex/ZIndex.js +5 -2
  212. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  213. package/cjs/internal/themes/BasicTheme.d.ts +4 -0
  214. package/cjs/internal/themes/BasicTheme.js +6 -2
  215. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  216. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  217. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  218. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  219. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  220. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  221. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  222. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  223. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  224. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  225. package/cjs/lib/date/InternalDateGetter.js +8 -1
  226. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  227. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  228. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  229. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +11 -1
  230. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  231. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  232. package/cjs/lib/forwardRefAndName.js +0 -1
  233. package/cjs/lib/forwardRefAndName.js.map +1 -1
  234. package/cjs/lib/getMenuPositions.d.ts +21 -1
  235. package/cjs/lib/getMenuPositions.js +45 -8
  236. package/cjs/lib/getMenuPositions.js.map +1 -1
  237. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  238. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  239. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  240. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  241. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  242. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  243. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  244. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  245. package/cjs/lib/utils.d.ts +4 -0
  246. package/cjs/lib/utils.js +5 -1
  247. package/cjs/lib/utils.js.map +1 -1
  248. package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -23
  249. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  250. package/components/Autocomplete/Autocomplete.d.ts +0 -22
  251. package/components/Button/Button.styles/Button.styles.js +1 -1
  252. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  253. package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
  254. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  255. package/components/Calendar/DayCellView/DayCellView.js +6 -10
  256. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  257. package/components/Checkbox/Checkbox/Checkbox.js +0 -11
  258. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  259. package/components/Checkbox/Checkbox.d.ts +0 -12
  260. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  261. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  262. package/components/ComboBox/ComboBox.d.ts +7 -1
  263. package/components/ComboBox/ComboBox.md +2 -2
  264. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +9 -36
  265. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  266. package/components/CurrencyInput/CurrencyInput.d.ts +1 -24
  267. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  268. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  269. package/components/DateInput/DateInput/DateInput.js +25 -16
  270. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  271. package/components/DateInput/DateInput.d.ts +1 -0
  272. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  273. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  274. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  275. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  276. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  277. package/components/DatePicker/DatePicker.d.ts +4 -33
  278. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
  279. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  280. package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  281. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
  282. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
  283. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  284. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  285. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  286. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  287. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  288. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  289. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  290. package/components/Dropdown/Dropdown.d.ts +0 -47
  291. package/components/DropdownMenu/DropdownMenu.md +8 -8
  292. package/components/FileUploader/FileUploader/FileUploader.js +7 -2
  293. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  294. package/components/FxInput/FxInput/FxInput.js +1 -5
  295. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  296. package/components/FxInput/FxInput.d.ts +1 -6
  297. package/components/Gapped/Gapped/Gapped.js +1 -15
  298. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  299. package/components/Gapped/Gapped.d.ts +0 -15
  300. package/components/Group/Group/Group.js +64 -28
  301. package/components/Group/Group/Group.js.map +1 -1
  302. package/components/Group/Group.d.ts +3 -4
  303. package/components/Group/Group.md +4 -4
  304. package/components/Group/Group.styles/Group.styles.js +9 -6
  305. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  306. package/components/Group/Group.styles.d.ts +1 -0
  307. package/components/Input/Input.md +4 -5
  308. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  309. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  310. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  311. package/components/Kebab/Kebab/Kebab.js +2 -20
  312. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  313. package/components/Kebab/Kebab.d.ts +0 -1
  314. package/components/Kebab/Kebab.md +32 -32
  315. package/components/Link/Link/Link.js +4 -0
  316. package/components/Link/Link/Link.js.map +1 -1
  317. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  318. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  319. package/components/Link/Link.styles/Link.styles.js +1 -1
  320. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  321. package/components/Loader/Loader/Loader.js +0 -33
  322. package/components/Loader/Loader/Loader.js.map +1 -1
  323. package/components/Loader/Loader.d.ts +4 -36
  324. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  325. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  326. package/components/MenuItem/MenuItem.d.ts +0 -12
  327. package/components/MenuItem/MenuItem.md +6 -6
  328. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  329. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  330. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  331. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  332. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  333. package/components/Modal/Modal.styles/Modal.styles.js +3 -3
  334. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  335. package/components/Modal/Modal.styles.d.ts +1 -1
  336. package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
  337. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  338. package/components/Paging/Paging/Paging.js +1 -22
  339. package/components/Paging/Paging/Paging.js.map +1 -1
  340. package/components/Paging/Paging.d.ts +0 -1
  341. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
  342. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  343. package/components/PasswordInput/PasswordInput.d.ts +0 -7
  344. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
  345. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  346. package/components/RadioGroup/RadioGroup.d.ts +1 -0
  347. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
  348. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  349. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  350. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  351. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  352. package/components/ScrollContainer/ScrollContainer.d.ts +0 -9
  353. package/components/Select/Select/Select.js +3 -2
  354. package/components/Select/Select/Select.js.map +1 -1
  355. package/components/Select/Select.d.ts +3 -0
  356. package/components/Select/Select.md +3 -3
  357. package/components/SidePage/SidePage/SidePage.js +1 -1
  358. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  359. package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -1
  360. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  361. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  362. package/components/SingleToast/SingleToast.d.ts +3 -3
  363. package/components/Spinner/Spinner/Spinner.js +1 -18
  364. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  365. package/components/Spinner/Spinner.d.ts +0 -18
  366. package/components/Sticky/Sticky/Sticky.js +10 -14
  367. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  368. package/components/Sticky/Sticky.d.ts +3 -13
  369. package/components/Switcher/Switcher/Switcher.js +19 -16
  370. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  371. package/components/Switcher/Switcher.d.ts +4 -21
  372. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  373. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  374. package/components/Switcher/Switcher.styles.d.ts +1 -0
  375. package/components/Textarea/Textarea/Textarea.js +12 -46
  376. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  377. package/components/Textarea/Textarea.d.ts +6 -45
  378. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  379. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  380. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  381. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  382. package/components/Toast/Toast/Toast.js +8 -10
  383. package/components/Toast/Toast/Toast.js.map +1 -1
  384. package/components/Toast/Toast.d.ts +8 -6
  385. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  386. package/components/Toast/ToastStatic.d.ts +3 -2
  387. package/components/Toast/ToastView/ToastView.js +3 -17
  388. package/components/Toast/ToastView/ToastView.js.map +1 -1
  389. package/components/Toast/ToastView.d.ts +1 -15
  390. package/components/Toggle/Toggle/Toggle.js +1 -10
  391. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  392. package/components/Toggle/Toggle.d.ts +0 -10
  393. package/components/Token/Token.md +0 -83
  394. package/components/TokenInput/TokenInput/TokenInput.js +2 -1
  395. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  396. package/components/TokenInput/TokenInput.d.ts +2 -2
  397. package/components/TokenInput/TokenInput.md +2 -33
  398. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  399. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  400. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  401. package/components/Tooltip/Tooltip/Tooltip.js +8 -7
  402. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  403. package/components/Tooltip/Tooltip.d.ts +2 -3
  404. package/components/Tooltip/Tooltip.md +8 -8
  405. package/components/TooltipMenu/TooltipMenu.md +12 -12
  406. package/index.d.ts +1 -0
  407. package/index.js +1 -0
  408. package/index.js.map +1 -1
  409. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  410. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  411. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  412. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  413. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  414. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  415. package/internal/ComponentTable/ComponentTable.js +0 -2
  416. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  417. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +59 -27
  418. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  419. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
  420. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +2 -1
  421. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  422. package/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  423. package/internal/DateSelect/DateSelect/DateSelect.js +3 -10
  424. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  425. package/internal/DateSelect/DateSelect.d.ts +0 -10
  426. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  427. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  428. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  429. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +244 -0
  430. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  431. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  432. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +36 -0
  433. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  434. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  435. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  436. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  437. package/internal/Popup/Popup/Popup.js +13 -66
  438. package/internal/Popup/Popup/Popup.js.map +1 -1
  439. package/internal/Popup/Popup.d.ts +41 -60
  440. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  441. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  442. package/internal/Popup/PopupPin.d.ts +23 -33
  443. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  444. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  445. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  446. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  447. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  448. package/internal/RenderLayer/RenderLayer.d.ts +0 -3
  449. package/internal/ThemePlayground/Playground/Playground.js +13 -13
  450. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  451. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  452. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  453. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
  454. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  455. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  456. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  457. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  458. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  459. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  460. package/internal/ZIndex/ZIndex.d.ts +1 -3
  461. package/internal/themes/BasicTheme/BasicTheme.js +4 -0
  462. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  463. package/internal/themes/BasicTheme.d.ts +4 -0
  464. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  465. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  466. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  467. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  468. package/internal/themes/DarkTheme5_3/package.json +6 -0
  469. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  470. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  471. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  472. package/internal/themes/LightTheme5_3/package.json +6 -0
  473. package/internal/themes/LightTheme5_3.d.ts +1 -0
  474. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  475. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  476. package/lib/date/InternalDateGetter.d.ts +1 -1
  477. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  478. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -1
  479. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  480. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  481. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  482. package/lib/forwardRefAndName.d.ts +1 -1
  483. package/lib/getMenuPositions/getMenuPositions.js +33 -4
  484. package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
  485. package/lib/getMenuPositions.d.ts +21 -1
  486. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  487. package/lib/theming/ThemeVersions.d.ts +1 -1
  488. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  489. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  490. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  491. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  492. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  493. package/lib/theming/themes/LightTheme.d.ts +1 -0
  494. package/lib/utils/utils.js +2 -0
  495. package/lib/utils/utils.js.map +1 -1
  496. package/lib/utils.d.ts +4 -0
  497. package/package.json +7 -11
  498. package/cjs/lib/SSRSafe.d.ts +0 -2
  499. package/cjs/lib/SSRSafe.js +0 -5
  500. package/cjs/lib/SSRSafe.js.map +0 -1
  501. package/lib/SSRSafe/SSRSafe.js +0 -4
  502. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  503. package/lib/SSRSafe/package.json +0 -6
  504. package/lib/SSRSafe.d.ts +0 -2
@@ -20,6 +20,7 @@ var _rootNode = require("../../lib/rootNode");
20
20
 
21
21
  var _featureFlagsContext = require("../../lib/featureFlagsContext");
22
22
 
23
+
23
24
  var _CustomComboBoxTypes = require("./CustomComboBoxTypes");
24
25
 
25
26
  var _CustomComboBoxReducer = require("./CustomComboBoxReducer");
@@ -92,6 +93,7 @@ var _tids = require("./tids");Object.keys(_tids).forEach(function (key) {if (key
92
93
 
93
94
 
94
95
 
96
+
95
97
 
96
98
 
97
99
  var DELAY_BEFORE_SHOW_LOADER = exports.DELAY_BEFORE_SHOW_LOADER = 300;
@@ -368,6 +370,7 @@ CustomComboBox = exports.CustomComboBox = (0, _decorator.responsiveLayout)(_clas
368
370
 
369
371
 
370
372
 
373
+
371
374
 
372
375
 
373
376
  dispatch = function (action, sync) {if (sync === void 0) {sync = true;}
@@ -474,6 +477,6 @@ CustomComboBox = exports.CustomComboBox = (0, _decorator.responsiveLayout)(_clas
474
477
  * @public
475
478
  */;_proto.open = function open() {this.dispatch({ type: 'Open' });} /**
476
479
  * @public
477
- */;_proto.close = function close() {this.dispatch({ type: 'Close' });};_proto.render = function render() {var _this3 = this;var viewProps = { align: this.props.align, borderless: this.props.borderless, disabled: this.props.disabled, disablePortal: this.props.disablePortal, editing: this.state.editing, error: this.props.error, items: this.state.items, loading: this.state.loading, opened: this.state.opened, drawArrow: this.props.drawArrow, menuPos: this.props.menuPos, menuAlign: this.props.menuAlign, placeholder: this.props.placeholder, size: this.props.size, textValue: this.state.textValue, totalCount: this.props.totalCount, value: this.props.value, showClearIcon: this.props.showClearIcon, warning: this.props.warning, 'aria-describedby': this.props['aria-describedby'], 'aria-label': this.props['aria-label'], id: this.props.id, width: this.props.width, maxLength: this.props.maxLength, maxMenuHeight: this.props.maxMenuHeight, leftIcon: this.props.leftIcon, rightIcon: this.props.rightIcon, inputMode: this.props.inputMode, onValueChange: this.handleValueChange, onClickOutside: this.handleClickOutside, onFocus: this.handleFocus, onMobileClose: this.handleMobileClose, onFocusOutside: this.handleBlur, onInputBlur: this.handleInputBlur, onInputValueChange: function onInputValueChange(value) {return _this3.dispatch({ type: 'TextChange', value: value });}, onInputFocus: this.handleFocus, onInputClick: this.handleInputClick, onClearCrossClick: function onClearCrossClick() {return _this3.dispatch({ type: 'ClearCrossClick' });}, onInputKeyDown: function onInputKeyDown(event) {event.persist();_this3.dispatch({ type: 'KeyPress', event: event });}, onMouseEnter: this.props.onMouseEnter, onMouseOver: this.props.onMouseOver, onMouseLeave: this.props.onMouseLeave, renderItem: this.props.renderItem, renderNotFound: this.props.renderNotFound, itemWrapper: this.props.itemWrapper, renderValue: this.props.renderValue, renderTotalCount: this.props.renderTotalCount, renderAddButton: this.props.renderAddButton, repeatRequest: this.state.repeatRequest, requestStatus: this.state.requestStatus, refInput: function refInput(input) {_this3.input = input;}, refMenu: function refMenu(menu) {_this3.menu = menu;}, refInputLikeText: function refInputLikeText(inputLikeText) {_this3.inputLikeText = inputLikeText;} };return /*#__PURE__*/_react.default.createElement(_featureFlagsContext.ReactUIFeatureFlagsContext.Consumer, null, function (flags) {_this3.featureFlags = (0, _featureFlagsContext.getFullReactUIFlagsContext)(flags);return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, _this3.props, /*#__PURE__*/_react.default.createElement(_ComboBoxView.ComboBoxView, (0, _extends2.default)({}, viewProps, { size: _this3.props.size, ref: _this3.setRootNode })));});};_proto.componentDidMount = function componentDidMount() {this.dispatch({ type: 'Mount' }, false);if (this.props.autoFocus) {this.focus();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {if (prevState.editing && !this.state.editing) {this.handleBlur();}this.dispatch({ type: 'DidUpdate', prevProps: prevProps, prevState: prevState, fixValueChange: this.featureFlags.comboBoxAllowValueChangeInEditingState }, false);} /**
480
+ */;_proto.close = function close() {this.dispatch({ type: 'Close' });};_proto.render = function render() {var _this3 = this;var viewProps = { align: this.props.align, borderless: this.props.borderless, disabled: this.props.disabled, disablePortal: this.props.disablePortal, editing: this.state.editing, error: this.props.error, items: this.state.items, loading: this.state.loading, opened: this.state.opened, drawArrow: this.props.drawArrow, menuPos: this.props.menuPos, menuAlign: this.props.menuAlign, placeholder: this.props.placeholder, size: this.props.size, textValue: this.state.textValue, totalCount: this.props.totalCount, value: this.props.value, showClearIcon: this.props.showClearIcon, warning: this.props.warning, 'aria-describedby': this.props['aria-describedby'], 'aria-label': this.props['aria-label'], id: this.props.id, width: this.props.width, maxLength: this.props.maxLength, maxMenuHeight: this.props.maxMenuHeight, leftIcon: this.props.leftIcon, rightIcon: this.props.rightIcon, inputMode: this.props.inputMode, onValueChange: this.handleValueChange, onClickOutside: this.handleClickOutside, onFocus: this.handleFocus, onMobileClose: this.handleMobileClose, onFocusOutside: this.handleBlur, onInputBlur: this.handleInputBlur, onInputValueChange: function onInputValueChange(value) {return _this3.dispatch({ type: 'TextChange', value: value });}, onInputFocus: this.handleFocus, onInputClick: this.handleInputClick, onClearCrossClick: function onClearCrossClick() {return _this3.dispatch({ type: 'ClearCrossClick' });}, onInputKeyDown: function onInputKeyDown(event) {event.persist();_this3.dispatch({ type: 'KeyPress', event: event });}, onMouseEnter: this.props.onMouseEnter, onMouseOver: this.props.onMouseOver, onMouseLeave: this.props.onMouseLeave, renderItem: this.props.renderItem, renderNotFound: this.props.renderNotFound, itemWrapper: this.props.itemWrapper, renderValue: this.props.renderValue, renderTotalCount: this.props.renderTotalCount, renderAddButton: this.props.renderAddButton, repeatRequest: this.state.repeatRequest, requestStatus: this.state.requestStatus, refInput: function refInput(input) {_this3.input = input;}, refMenu: function refMenu(menu) {_this3.menu = menu;}, refInputLikeText: function refInputLikeText(inputLikeText) {_this3.inputLikeText = inputLikeText;}, viewMode: this.props.viewMode };return /*#__PURE__*/_react.default.createElement(_featureFlagsContext.ReactUIFeatureFlagsContext.Consumer, null, function (flags) {_this3.featureFlags = (0, _featureFlagsContext.getFullReactUIFlagsContext)(flags);return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, _this3.props, /*#__PURE__*/_react.default.createElement(_ComboBoxView.ComboBoxView, (0, _extends2.default)({}, viewProps, { size: _this3.props.size, ref: _this3.setRootNode })));});};_proto.componentDidMount = function componentDidMount() {this.dispatch({ type: 'Mount' }, false);if (this.props.autoFocus) {this.focus();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {if (prevState.editing && !this.state.editing) {this.handleBlur();}this.dispatch({ type: 'DidUpdate', prevProps: prevProps, prevState: prevState, fixValueChange: this.featureFlags.comboBoxAllowValueChangeInEditingState }, false);} /**
478
481
  * @public
479
482
  */;_proto.reset = function reset() {this.dispatch({ type: 'Reset' });};return CustomComboBox;}(_react.default.PureComponent), _CustomComboBox.__KONTUR_REACT_UI__ = 'CustomComboBox', _CustomComboBox.displayName = 'CustomComboBox', _CustomComboBox)) || _class) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_utils","_fixClickFocusIE","_CommonWrapper","_decorator","_rootNode","_featureFlagsContext","_CustomComboBoxTypes","_CustomComboBoxReducer","_ComboBoxView","_tids","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","_class","_CustomComboBox","DELAY_BEFORE_SHOW_LOADER","LOADER_SHOW_TIME","DefaultState","inputChanged","editing","items","loading","opened","focused","textValue","repeatRequest","undefined","requestStatus","ComboBoxRequestStatus","Unknown","size","CustomComboBox","responsiveLayout","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","apply","concat","state","requestId","cancelationToken","canOpenPopup","reducer","cancelLoaderDelay","focus","opts","props","disabled","withoutOpenDropdown","input","inputLikeText","selectInputText","selectAll","blur","handleBlur","dispatch","action","sync","updateState","effects","nextState","setState","stateAndEffect","_ref","handleEffect","React","version","search","ReactDOM","flushSync","effect","getState","getProps","handleValueChange","value","type","keepFocus","isMobileLayout","handleFocus","searchOnFocus","handleMobileClose","handleInputBlur","handleClickOutside","e","fixClickFocusIE","close","globalObject","setTimeout","handleInputClick","_inheritsLoose2","default","_proto","_search","_asyncToGenerator2","_regenerator","mark","_callee","query","_this2","getItems","cancelPromise","expectingId","wrap","_callee$","_context","prev","next","Promise","_","reject","loaderShowDelay","resolve","cancelLoader","taskWithDelay","catch","race","sent","t0","code","finish","stop","_x","cancelSearch","CancelationError","open","render","_this3","viewProps","align","borderless","disablePortal","error","drawArrow","menuPos","menuAlign","placeholder","totalCount","showClearIcon","warning","id","width","maxLength","maxMenuHeight","leftIcon","rightIcon","inputMode","onValueChange","onClickOutside","onFocus","onMobileClose","onFocusOutside","onInputBlur","onInputValueChange","onInputFocus","onInputClick","onClearCrossClick","onInputKeyDown","event","persist","onMouseEnter","onMouseOver","onMouseLeave","renderItem","renderNotFound","itemWrapper","renderValue","renderTotalCount","renderAddButton","refInput","refMenu","menu","refInputLikeText","createElement","ReactUIFeatureFlagsContext","Consumer","flags","featureFlags","getFullReactUIFlagsContext","CommonWrapper","ComboBoxView","_extends2","ref","setRootNode","componentDidMount","autoFocus","componentDidUpdate","prevProps","prevState","fixValueChange","comboBoxAllowValueChangeInEditingState","reset","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["CustomComboBox.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Nullable } from '../../typings/utility-types';\nimport type { InputIconType, Input, ShowClearIcon } from '../../components/Input';\nimport type { Menu } from '../Menu';\nimport type { InputLikeText } from '../InputLikeText';\nimport type { MenuItemState } from '../../components/MenuItem';\nimport { CancelationError, taskWithDelay } from '../../lib/utils';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { ReactUIFeatureFlagsContext, getFullReactUIFlagsContext } from '../../lib/featureFlagsContext';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport type { CustomComboBoxAction, CustomComboBoxEffect } from './CustomComboBoxReducer';\nimport { reducer } from './CustomComboBoxReducer';\nimport { ComboBoxView } from './ComboBoxView';\n\nexport * from './tids';\n\nexport interface CustomComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\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 /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\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 showClearIcon?: ShowClearIcon;\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;\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\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 private canOpenPopup = true;\n\n private reducer = reducer;\n public cancelLoaderDelay: () => void = () => null;\n\n /**\n * @public\n */\n public focus = (opts?: { withoutOpenDropdown?: boolean }) => {\n if (this.props.disabled) {\n return;\n }\n\n if (opts?.withoutOpenDropdown) {\n this.canOpenPopup = false;\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 opened: this.state.opened,\n drawArrow: this.props.drawArrow,\n menuPos: this.props.menuPos,\n menuAlign: this.props.menuAlign,\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 showClearIcon: this.props.showClearIcon,\n warning: this.props.warning,\n 'aria-describedby': this.props['aria-describedby'],\n 'aria-label': this.props['aria-label'],\n id: this.props.id,\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 onClearCrossClick: () => this.dispatch({ type: 'ClearCrossClick' }),\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\n this.focused = true;\n this.dispatch({ type: 'Focus', searchOnFocus: this.canOpenPopup && this.props.searchOnFocus });\n\n if (!this.canOpenPopup) {\n this.canOpenPopup = true;\n }\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"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;;;;;;;AAOA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;;AAEA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;;AAEA,IAAAO,SAAA,GAAAP,OAAA;;;;AAIA,IAAAQ,oBAAA,GAAAR,OAAA;;AAEA,IAAAS,oBAAA,GAAAT,OAAA;;AAEA,IAAAU,sBAAA,GAAAV,OAAA;AACA,IAAAW,aAAA,GAAAX,OAAA;;AAEA,IAAAY,KAAA,GAAAZ,OAAA,WAAAa,MAAA,CAAAC,IAAA,CAAAF,KAAA,EAAAG,OAAA,WAAAC,GAAA,OAAAA,GAAA,kBAAAA,GAAA,8BAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA,cAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,KAAA,CAAAI,GAAA,UAAAK,OAAA,CAAAL,GAAA,IAAAJ,KAAA,CAAAI,GAAA,KAAuB,IAAAM,MAAA,EAAAC,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEhB,IAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAG,GAAG;AACpC,IAAMC,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,GAAG,IAAI;;AAE7B,IAAMC,YAAY,GAAAL,OAAA,CAAAK,YAAA,GAAG;EAC1BC,YAAY,EAAE,KAAK;EACnBC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAE,IAAI;EACXC,OAAO,EAAE,KAAK;EACdC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAE,KAAK;EACdC,SAAS,EAAE,EAAE;EACbC,aAAa,EAAE,SAAAA,cAAA,UAAMC,SAAS;EAC9BC,aAAa,EAAEC,0CAAqB,CAACC,OAAO;EAC5CC,IAAI,EAAE;AACR,CAAC,CAAC;;;;AAIWC,cAAc,GAAAnB,OAAA,CAAAmB,cAAA,OAF1BC,2BAAgB,EAAAnB,MAAA,OAChBoB,kBAAQ,EAAApB,MAAA,IAAAC,eAAA,0BAAAoB,oBAAA,YAAAH,eAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,oBAAA,CAAAxB,IAAA,CAAAgC,KAAA,CAAAR,oBAAA,SAAAS,MAAA,CAAAJ,IAAA,WAAAJ,KAAA;;;;IAKAS,KAAK,GAA2B3B,YAAY,CAAAkB,KAAA;;;;IAI5CU,SAAS,GAAG,CAAC,CAAAV,KAAA;;IAEZZ,OAAO,GAAG,KAAK,CAAAY,KAAA;IACfW,gBAAgB,GAAuC,IAAI,CAAAX,KAAA;;;IAG3DY,YAAY,GAAG,IAAI,CAAAZ,KAAA;;IAEnBa,OAAO,GAAGA,8BAAO,CAAAb,KAAA;IAClBc,iBAAiB,GAAe,oBAAM,IAAI;;IAEjD;AACF;AACA,OAFEd,KAAA;IAGOe,KAAK,GAAG,UAACC,IAAwC,EAAK;MAC3D,IAAIhB,KAAA,CAAKiB,KAAK,CAACC,QAAQ,EAAE;QACvB;MACF;;MAEA,IAAIF,IAAI,YAAJA,IAAI,CAAEG,mBAAmB,EAAE;QAC7BnB,KAAA,CAAKY,YAAY,GAAG,KAAK;MAC3B;;MAEA,IAAIZ,KAAA,CAAKoB,KAAK,EAAE;QACdpB,KAAA,CAAKoB,KAAK,CAACL,KAAK,CAAC,CAAC;MACpB,CAAC,MAAM,IAAIf,KAAA,CAAKqB,aAAa,EAAE;QAC7BrB,KAAA,CAAKqB,aAAa,CAACN,KAAK,CAAC,CAAC;MAC5B;IACF,CAAC;;IAED;AACF;AACA,OAFEf,KAAA;IAGOsB,eAAe,GAAG,YAAM;MAC7B,IAAItB,KAAA,CAAKiB,KAAK,CAACC,QAAQ,EAAE;QACvB;MACF;MACA,IAAIlB,KAAA,CAAKoB,KAAK,EAAE;QACdpB,KAAA,CAAKoB,KAAK,CAACG,SAAS,CAAC,CAAC;MACxB;IACF,CAAC;;IAED;AACF;AACA,OAFEvB,KAAA;IAGOwB,IAAI,GAAG,YAAM;MAClB,IAAIxB,KAAA,CAAKiB,KAAK,CAACC,QAAQ,EAAE;QACvB;MACF;;MAEAlB,KAAA,CAAKyB,UAAU,CAAC,CAAC;IACnB,CAAC,CAAAzB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuMO0B,QAAQ,GAAG,UAACC,MAA+B,EAAEC,IAAI,EAAY,KAAhBA,IAAI,cAAJA,IAAI,GAAG,IAAI;MAC9D,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIF,MAA+B,EAAK;QACvD,IAAIG,OAAuC;QAC3C,IAAIC,SAA8C;;QAElD/B,KAAA,CAAKgC,QAAQ;UACX,UAACvB,KAAK,EAAK;YACT,IAAMwB,cAAc,GAAGjC,KAAA,CAAKa,OAAO,CAACJ,KAAK,EAAET,KAAA,CAAKiB,KAAK,EAAEU,MAAM,CAAC,CAAC,IAAAO,IAAA;YACxCD,cAAc,YAAY5B,KAAK,GAAG4B,cAAc,GAAG,CAACA,cAAc,EAAE,EAAE,CAAC,CAA7FF,SAAS,GAAAG,IAAA,IAAEJ,OAAO,GAAAI,IAAA;YACnB,OAAOH,SAAS;UAClB,CAAC;UACD,YAAM;YACJD,OAAO,CAAC3D,OAAO,CAAC6B,KAAA,CAAKmC,YAAY,CAAC;UACpC;QACF,CAAC;MACH,CAAC;;MAED;MACA;MACA,IAAIP,IAAI,IAAIQ,cAAK,CAACC,OAAO,CAACC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC5CC,iBAAQ,CAACC,SAAS,CAAC,oBAAMX,WAAW,CAACF,MAAM,CAAC,GAAC;MAC/C,CAAC,MAAM;QACLE,WAAW,CAACF,MAAM,CAAC;MACrB;IACF,CAAC,CAAA3B,KAAA;;IAEOmC,YAAY,GAAG,UAACM,MAA+B,EAAK;MAC1DA,MAAM,CAACzC,KAAA,CAAK0B,QAAQ,EAAE1B,KAAA,CAAK0C,QAAQ,EAAE1C,KAAA,CAAK2C,QAAQ,EAAE,oBAAA3C,KAAA,EAAU,CAAC;IACjE,CAAC,CAAAA,KAAA;;IAEO2C,QAAQ,GAAG,oBAAM3C,KAAA,CAAKiB,KAAK,GAAAjB,KAAA;;IAE3B0C,QAAQ,GAAG,oBAAM1C,KAAA,CAAKS,KAAK,GAAAT,KAAA;;IAE3B4C,iBAAiB,GAAG,UAACC,KAAQ,EAAK;MACxC7C,KAAA,CAAK0B,QAAQ,CAAC;QACZoB,IAAI,EAAE,aAAa;QACnBD,KAAK,EAALA,KAAK;QACLE,SAAS,EAAE,CAAC/C,KAAA,CAAKgD;MACnB,CAAC,CAAC;IACJ,CAAC,CAAAhD,KAAA;;IAEOiD,WAAW,GAAG,YAAM;MAC1B,IAAIjD,KAAA,CAAKZ,OAAO,EAAE;QAChB;MACF;;MAEAY,KAAA,CAAKZ,OAAO,GAAG,IAAI;MACnBY,KAAA,CAAK0B,QAAQ,CAAC,EAAEoB,IAAI,EAAE,OAAO,EAAEI,aAAa,EAAElD,KAAA,CAAKY,YAAY,IAAIZ,KAAA,CAAKiB,KAAK,CAACiC,aAAa,CAAC,CAAC,CAAC;;MAE9F,IAAI,CAAClD,KAAA,CAAKY,YAAY,EAAE;QACtBZ,KAAA,CAAKY,YAAY,GAAG,IAAI;MAC1B;IACF,CAAC,CAAAZ,KAAA;;IAEOmD,iBAAiB,GAAG,YAAM;MAChCnD,KAAA,CAAKoD,eAAe,CAAC,CAAC;IACxB,CAAC,CAAApD,KAAA;;IAEOqD,kBAAkB,GAAG,UAACC,CAAQ,EAAK;MACzC,IAAAC,gCAAe,EAACD,CAAC,CAAC;MAClBtD,KAAA,CAAKyB,UAAU,CAAC,CAAC;IACnB,CAAC,CAAAzB,KAAA;;IAEOyB,UAAU,GAAG,YAAM;MACzB,IAAI,CAACzB,KAAA,CAAKZ,OAAO,EAAE;QACjB,IAAIY,KAAA,CAAKS,KAAK,CAACtB,MAAM,EAAE;UACrBa,KAAA,CAAKwD,KAAK,CAAC,CAAC;QACd;QACA;MACF;;MAEAxD,KAAA,CAAKZ,OAAO,GAAG,KAAK;MACpB;MACA;MACA;MACAqE,0BAAY,CAACC,UAAU,CAAC,YAAM;QAC5B1D,KAAA,CAAK0B,QAAQ,CAAC,EAAEoB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;MACjC,CAAC,EAAE,CAAC,CAAC;IACP,CAAC,CAAA9C,KAAA;;IAEOoD,eAAe,GAAG,YAAM;MAC9B;MACA;MACA;;MAEA,IAAIpD,KAAA,CAAKS,KAAK,CAACtB,MAAM,IAAI,CAACa,KAAA,CAAKgD,cAAc,EAAE;QAC7C;MACF;MACAhD,KAAA,CAAKyB,UAAU,CAAC,CAAC;IACnB,CAAC,CAAAzB,KAAA;;IAEO2D,gBAAgB,GAAG,YAAM;MAC/B,IAAI,CAAC3D,KAAA,CAAKW,gBAAgB,EAAE;QAC1BX,KAAA,CAAK0B,QAAQ,CAAC,EAAEoB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;MACvC;IACF,CAAC,QAAA9C,KAAA,MAAA4D,eAAA,CAAAC,OAAA,EAAAjE,cAAA,EAAAG,oBAAA,MAAA+D,MAAA,GAAAlE,cAAA,CAAAvB,SAAA,EApSD;AACF;AACA,KAFEyF,MAAA,CAGaxB,MAAM,iCAAAyB,OAAA,OAAAC,kBAAA,CAAAH,OAAA,gBAAAI,YAAA,CAAAJ,OAAA,CAAAK,IAAA,CAAnB,SAAAC,QAAoBC,KAAa,OAAAC,MAAA,YAAAC,QAAA,EAAAC,aAAA,EAAAC,WAAA,EAAAvF,KAAA,QAAAgF,YAAA,CAAAJ,OAAA,CAAAY,IAAA,UAAAC,SAAAC,QAAA,qBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA,cAAbT,KAAa,cAAbA,KAAa,GAAG,IAAI,CAAC3D,KAAK,CAACpB,SAAS,EAC9CiF,QAAQ,GAAK,IAAI,CAACrD,KAAK,CAAvBqD,QAAQ,CAEVC,aAA6B,GAAG,IAAIO,OAAO,CAAC,UAACC,CAAC,EAAEC,MAAM,UAAMX,MAAI,CAAC1D,gBAAgB,GAAGqE,MAAM,EAAC,CAAC,CAClG,IAAI,CAACtE,SAAS,IAAI,CAAC,CACb8D,WAAW,GAAG,IAAI,CAAC9D,SAAS,CAElC,IAAI,CAAC,IAAI,CAACuE,eAAe,EAAE,CACzB,IAAI,CAACA,eAAe,GAAG,IAAIH,OAAO,CAAO,UAACI,OAAO,EAAK,CACpD,IAAMC,YAAY,GAAG,IAAAC,oBAAa,EAAC,YAAM,CACvCf,MAAI,CAAC3C,QAAQ,CAAC,EAAEoB,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CACvCW,0BAAY,CAACC,UAAU,CAACwB,OAAO,EAAErG,gBAAgB,CAAC,CACpD,CAAC,EAAED,wBAAwB,CAAC,CAE5B2F,aAAa,CAACc,KAAK,CAAC,oBAAMF,YAAY,CAAC,CAAC,GAAC,CAEzCd,MAAI,CAACvD,iBAAiB,GAAG,YAAM,CAC7BqE,YAAY,CAAC,CAAC,CACdD,OAAO,CAAC,CAAC,CACX,CAAC,CACH,CAAC,CAAC,CACJ,CAACP,QAAA,CAAAC,IAAA,KAAAD,QAAA,CAAAE,IAAA,YAGqBC,OAAO,CAACQ,IAAI,CAAC,CAAChB,QAAQ,CAACF,KAAK,CAAC,EAAEG,aAAa,CAAC,CAAC,QAA5DtF,KAAK,GAAA0F,QAAA,CAAAY,IAAA,MACP,IAAI,CAAC9E,KAAK,CAACvB,OAAO,GAAAyF,QAAA,CAAAE,IAAA,aAAAF,QAAA,CAAAE,IAAA,aACdC,OAAO,CAACQ,IAAI,CAAC,CAAC,IAAI,CAACL,eAAe,EAAEV,aAAa,CAAC,CAAC,SAE3D,IAAIC,WAAW,KAAK,IAAI,CAAC9D,SAAS,EAAE,CAClC,IAAI,CAACgB,QAAQ,CAAC,EACZoB,IAAI,EAAE,cAAc,EACpB7D,KAAK,EAALA,KAAK,CACP,CAAC,CAAC,CACJ,CAAC0F,QAAA,CAAAE,IAAA,oBAAAF,QAAA,CAAAC,IAAA,MAAAD,QAAA,CAAAa,EAAA,GAAAb,QAAA,aAED,IAAIA,QAAA,CAAAa,EAAA,IAASb,QAAA,CAAAa,EAAA,CAAMC,IAAI,KAAK,kBAAkB,EAAE,CAC9C,IAAI,CAAC/D,QAAQ,CAAC,EAAEoB,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAC1C,CAAC,MAAM,IAAI0B,WAAW,KAAK,IAAI,CAAC9D,SAAS,EAAE,CACzC,IAAI,CAACgB,QAAQ,CAAC,EACZoB,IAAI,EAAE,gBAAgB,EACtBxD,aAAa,EAAE,SAAAA,cAAA,EAAM,CACnB+E,MAAI,CAAC/B,MAAM,CAAC8B,KAAK,CAAC,CAClB,IAAIC,MAAI,CAACjD,KAAK,EAAE,CACdiD,MAAI,CAACjD,KAAK,CAACL,KAAK,CAAC,CAAC,CACpB,CACF,CAAC,CACH,CAAC,CAAC,CACJ,CAAC,QAAA4D,QAAA,CAAAC,IAAA,MAED,IAAIJ,WAAW,KAAK,IAAI,CAAC9D,SAAS,EAAE,CAClC,IAAI,CAAC,IAAI,CAACD,KAAK,CAACvB,OAAO,EAAE,CACvB,IAAI,CAAC4B,iBAAiB,CAAC,CAAC,CAC1B,CACA,IAAI,CAACH,gBAAgB,GAAG,IAAI,CAC5B,IAAI,CAACsE,eAAe,GAAG,IAAI,CAC7B,CAAC,OAAAN,QAAA,CAAAe,MAAA,+BAAAf,QAAA,CAAAgB,IAAA,OAAAxB,OAAA,4BAEJ,YAAA7B,OAAAsD,EAAA,UAAA7B,OAAA,CAAAxD,KAAA,OAAAL,SAAA,UAAAoC,MAAA,KAED;AACF;AACA,KAFE,CAAAwB,MAAA,CAGO+B,YAAY,GAAnB,SAAAA,aAAA,EAAsB,CACpB,IAAI,IAAI,CAAClF,gBAAgB,EAAE,CACzB,IAAI,CAACA,gBAAgB,CAAC,IAAImF,uBAAgB,CAAC,CAAC,CAAC,CAC/C,CACF,CAAC,CAED;AACF;AACA,KAFE,CAAAhC,MAAA,CAGOiC,IAAI,GAAX,SAAAA,KAAA,EAAc,CACZ,IAAI,CAACrE,QAAQ,CAAC,EAAEoB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CACjC,CAAC,CAED;AACF;AACA,KAFE,CAAAgB,MAAA,CAGON,KAAK,GAAZ,SAAAA,MAAA,EAAe,CACb,IAAI,CAAC9B,QAAQ,CAAC,EAAEoB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAClC,CAAC,CAAAgB,MAAA,CAEMkC,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,IAAMC,SAAS,GAAG,EAChBC,KAAK,EAAE,IAAI,CAAClF,KAAK,CAACkF,KAAK,EACvBC,UAAU,EAAE,IAAI,CAACnF,KAAK,CAACmF,UAAU,EACjClF,QAAQ,EAAE,IAAI,CAACD,KAAK,CAACC,QAAQ,EAC7BmF,aAAa,EAAE,IAAI,CAACpF,KAAK,CAACoF,aAAa,EACvCrH,OAAO,EAAE,IAAI,CAACyB,KAAK,CAACzB,OAAO,EAC3BsH,KAAK,EAAE,IAAI,CAACrF,KAAK,CAACqF,KAAK,EACvBrH,KAAK,EAAE,IAAI,CAACwB,KAAK,CAACxB,KAAK,EACvBC,OAAO,EAAE,IAAI,CAACuB,KAAK,CAACvB,OAAO,EAC3BC,MAAM,EAAE,IAAI,CAACsB,KAAK,CAACtB,MAAM,EACzBoH,SAAS,EAAE,IAAI,CAACtF,KAAK,CAACsF,SAAS,EAC/BC,OAAO,EAAE,IAAI,CAACvF,KAAK,CAACuF,OAAO,EAC3BC,SAAS,EAAE,IAAI,CAACxF,KAAK,CAACwF,SAAS,EAC/BC,WAAW,EAAE,IAAI,CAACzF,KAAK,CAACyF,WAAW,EACnC/G,IAAI,EAAE,IAAI,CAACsB,KAAK,CAACtB,IAAI,EACrBN,SAAS,EAAE,IAAI,CAACoB,KAAK,CAACpB,SAAS,EAC/BsH,UAAU,EAAE,IAAI,CAAC1F,KAAK,CAAC0F,UAAU,EACjC9D,KAAK,EAAE,IAAI,CAAC5B,KAAK,CAAC4B,KAAK,EACvB+D,aAAa,EAAE,IAAI,CAAC3F,KAAK,CAAC2F,aAAa,EACvCC,OAAO,EAAE,IAAI,CAAC5F,KAAK,CAAC4F,OAAO,EAC3B,kBAAkB,EAAE,IAAI,CAAC5F,KAAK,CAAC,kBAAkB,CAAC,EAClD,YAAY,EAAE,IAAI,CAACA,KAAK,CAAC,YAAY,CAAC,EACtC6F,EAAE,EAAE,IAAI,CAAC7F,KAAK,CAAC6F,EAAE,EACjBC,KAAK,EAAE,IAAI,CAAC9F,KAAK,CAAC8F,KAAK,EACvBC,SAAS,EAAE,IAAI,CAAC/F,KAAK,CAAC+F,SAAS,EAC/BC,aAAa,EAAE,IAAI,CAAChG,KAAK,CAACgG,aAAa,EACvCC,QAAQ,EAAE,IAAI,CAACjG,KAAK,CAACiG,QAAQ,EAC7BC,SAAS,EAAE,IAAI,CAAClG,KAAK,CAACkG,SAAS,EAC/BC,SAAS,EAAE,IAAI,CAACnG,KAAK,CAACmG,SAAS,EAE/BC,aAAa,EAAE,IAAI,CAACzE,iBAAiB,EACrC0E,cAAc,EAAE,IAAI,CAACjE,kBAAkB,EACvCkE,OAAO,EAAE,IAAI,CAACtE,WAAW,EACzBuE,aAAa,EAAE,IAAI,CAACrE,iBAAiB,EACrCsE,cAAc,EAAE,IAAI,CAAChG,UAAU,EAC/BiG,WAAW,EAAE,IAAI,CAACtE,eAAe,EACjCuE,kBAAkB,EAAE,SAAAA,mBAAC9E,KAAa,UAAKoD,MAAI,CAACvE,QAAQ,CAAC,EAAEoB,IAAI,EAAE,YAAY,EAAED,KAAK,EAALA,KAAK,CAAC,CAAC,CAAC,IACnF+E,YAAY,EAAE,IAAI,CAAC3E,WAAW,EAC9B4E,YAAY,EAAE,IAAI,CAAClE,gBAAgB,EACnCmE,iBAAiB,EAAE,SAAAA,kBAAA,UAAM7B,MAAI,CAACvE,QAAQ,CAAC,EAAEoB,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,IACnEiF,cAAc,EAAE,SAAAA,eAACC,KAA0B,EAAK,CAC9CA,KAAK,CAACC,OAAO,CAAC,CAAC,CACfhC,MAAI,CAACvE,QAAQ,CAAC,EAAEoB,IAAI,EAAE,UAAU,EAAEkF,KAAK,EAALA,KAAK,CAAC,CAAC,CAAC,CAC5C,CAAC,EACDE,YAAY,EAAE,IAAI,CAACjH,KAAK,CAACiH,YAAY,EACrCC,WAAW,EAAE,IAAI,CAAClH,KAAK,CAACkH,WAAW,EACnCC,YAAY,EAAE,IAAI,CAACnH,KAAK,CAACmH,YAAY,EACrCC,UAAU,EAAE,IAAI,CAACpH,KAAK,CAACoH,UAAU,EACjCC,cAAc,EAAE,IAAI,CAACrH,KAAK,CAACqH,cAAc,EACzCC,WAAW,EAAE,IAAI,CAACtH,KAAK,CAACsH,WAAW,EACnCC,WAAW,EAAE,IAAI,CAACvH,KAAK,CAACuH,WAAW,EACnCC,gBAAgB,EAAE,IAAI,CAACxH,KAAK,CAACwH,gBAAgB,EAC7CC,eAAe,EAAE,IAAI,CAACzH,KAAK,CAACyH,eAAe,EAC3CpJ,aAAa,EAAE,IAAI,CAACmB,KAAK,CAACnB,aAAa,EACvCE,aAAa,EAAE,IAAI,CAACiB,KAAK,CAACjB,aAAa,EAEvCmJ,QAAQ,EAAE,SAAAA,SAACvH,KAAsB,EAAK,CACpC6E,MAAI,CAAC7E,KAAK,GAAGA,KAAK,CACpB,CAAC,EACDwH,OAAO,EAAE,SAAAA,QAACC,IAAoB,EAAK,CACjC5C,MAAI,CAAC4C,IAAI,GAAGA,IAAI,CAClB,CAAC,EACDC,gBAAgB,EAAE,SAAAA,iBAACzH,aAAsC,EAAK,CAC5D4E,MAAI,CAAC5E,aAAa,GAAGA,aAAa,CACpC,CAAC,CACH,CAAC,CAED,oBACEnE,MAAA,CAAA2G,OAAA,CAAAkF,aAAA,CAACnL,oBAAA,CAAAoL,0BAA0B,CAACC,QAAQ,QACjC,UAACC,KAAK,EAAK,CACVjD,MAAI,CAACkD,YAAY,GAAG,IAAAC,+CAA0B,EAACF,KAAK,CAAC,CACrD,oBACEhM,MAAA,CAAA2G,OAAA,CAAAkF,aAAA,CAACtL,cAAA,CAAA4L,aAAa,EAAKpD,MAAI,CAAChF,KAAK,eAC3B/D,MAAA,CAAA2G,OAAA,CAAAkF,aAAA,CAAChL,aAAA,CAAAuL,YAAY,MAAAC,SAAA,CAAA1F,OAAA,MAAKqC,SAAS,IAAEvG,IAAI,EAAEsG,MAAI,CAAChF,KAAK,CAACtB,IAAK,EAAC6J,GAAG,EAAEvD,MAAI,CAACwD,WAAY,GAAE,CAC/D,CAAC,CAEpB,CACmC,CAAC,CAE1C,CAAC,CAAA3F,MAAA,CAEM4F,iBAAiB,GAAxB,SAAAA,kBAAA,EAA2B,CACzB,IAAI,CAAChI,QAAQ,CAAC,EAAEoB,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CACvC,IAAI,IAAI,CAAC7B,KAAK,CAAC0I,SAAS,EAAE,CACxB,IAAI,CAAC5I,KAAK,CAAC,CAAC,CACd,CACF,CAAC,CAAA+C,MAAA,CAEM8F,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAAiC,EAAEC,SAAiC,EAAE,CAC9F,IAAIA,SAAS,CAAC9K,OAAO,IAAI,CAAC,IAAI,CAACyB,KAAK,CAACzB,OAAO,EAAE,CAC5C,IAAI,CAACyC,UAAU,CAAC,CAAC,CACnB,CACA,IAAI,CAACC,QAAQ,CACX,EACEoB,IAAI,EAAE,WAAW,EACjB+G,SAAS,EAATA,SAAS,EACTC,SAAS,EAATA,SAAS,EACTC,cAAc,EAAE,IAAI,CAACZ,YAAY,CAACa,sCAAsC,CAC1E,CAAC,EACD,KACF,CAAC,CACH,CAAC,CAED;AACF;AACA,KAFE,CAAAlG,MAAA,CAGOmG,KAAK,GAAZ,SAAAA,MAAA,EAAe,CACb,IAAI,CAACvI,QAAQ,CAAC,EAAEoB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAClC,CAAC,QAAAlD,cAAA,GAhQoCwC,cAAK,CAAC8H,aAAa,GAAAvL,eAAA,CAC1CwL,mBAAmB,GAAG,gBAAgB,EAAAxL,eAAA,CACtCyL,WAAW,GAAG,gBAAgB,EAAAzL,eAAA,MAAAD,MAAA,KAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_utils","_fixClickFocusIE","_CommonWrapper","_decorator","_rootNode","_featureFlagsContext","_CustomComboBoxTypes","_CustomComboBoxReducer","_ComboBoxView","_tids","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","_class","_CustomComboBox","DELAY_BEFORE_SHOW_LOADER","LOADER_SHOW_TIME","DefaultState","inputChanged","editing","items","loading","opened","focused","textValue","repeatRequest","undefined","requestStatus","ComboBoxRequestStatus","Unknown","size","CustomComboBox","responsiveLayout","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","apply","concat","state","requestId","cancelationToken","canOpenPopup","reducer","cancelLoaderDelay","focus","opts","props","disabled","withoutOpenDropdown","input","inputLikeText","selectInputText","selectAll","blur","handleBlur","dispatch","action","sync","updateState","effects","nextState","setState","stateAndEffect","_ref","handleEffect","React","version","search","ReactDOM","flushSync","effect","getState","getProps","handleValueChange","value","type","keepFocus","isMobileLayout","handleFocus","searchOnFocus","handleMobileClose","handleInputBlur","handleClickOutside","e","fixClickFocusIE","close","globalObject","setTimeout","handleInputClick","_inheritsLoose2","default","_proto","_search","_asyncToGenerator2","_regenerator","mark","_callee","query","_this2","getItems","cancelPromise","expectingId","wrap","_callee$","_context","prev","next","Promise","_","reject","loaderShowDelay","resolve","cancelLoader","taskWithDelay","catch","race","sent","t0","code","finish","stop","_x","cancelSearch","CancelationError","open","render","_this3","viewProps","align","borderless","disablePortal","error","drawArrow","menuPos","menuAlign","placeholder","totalCount","showClearIcon","warning","id","width","maxLength","maxMenuHeight","leftIcon","rightIcon","inputMode","onValueChange","onClickOutside","onFocus","onMobileClose","onFocusOutside","onInputBlur","onInputValueChange","onInputFocus","onInputClick","onClearCrossClick","onInputKeyDown","event","persist","onMouseEnter","onMouseOver","onMouseLeave","renderItem","renderNotFound","itemWrapper","renderValue","renderTotalCount","renderAddButton","refInput","refMenu","menu","refInputLikeText","viewMode","createElement","ReactUIFeatureFlagsContext","Consumer","flags","featureFlags","getFullReactUIFlagsContext","CommonWrapper","ComboBoxView","_extends2","ref","setRootNode","componentDidMount","autoFocus","componentDidUpdate","prevProps","prevState","fixValueChange","comboBoxAllowValueChangeInEditingState","reset","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["CustomComboBox.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Nullable } from '../../typings/utility-types';\nimport type { InputIconType, Input, ShowClearIcon } from '../../components/Input';\nimport type { Menu } from '../Menu';\nimport type { InputLikeText } from '../InputLikeText';\nimport type { MenuItemState } from '../../components/MenuItem';\nimport { CancelationError, taskWithDelay } from '../../lib/utils';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { ComboBoxExtendedItem, ComboBoxViewMode } from '../../components/ComboBox';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { ReactUIFeatureFlagsContext, getFullReactUIFlagsContext } from '../../lib/featureFlagsContext';\nimport type { InternalTextareaWithLayout } from '../InternalTextareaWithLayout/InternalTextareaWithLayout';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport type { CustomComboBoxAction, CustomComboBoxEffect } from './CustomComboBoxReducer';\nimport { reducer } from './CustomComboBoxReducer';\nimport { ComboBoxView } from './ComboBoxView';\n\nexport * from './tids';\n\nexport interface CustomComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\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 /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\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 showClearIcon?: ShowClearIcon;\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;\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 viewMode?: ComboBoxViewMode;\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\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 | InternalTextareaWithLayout>;\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 private canOpenPopup = true;\n\n private reducer = reducer;\n public cancelLoaderDelay: () => void = () => null;\n\n /**\n * @public\n */\n public focus = (opts?: { withoutOpenDropdown?: boolean }) => {\n if (this.props.disabled) {\n return;\n }\n\n if (opts?.withoutOpenDropdown) {\n this.canOpenPopup = false;\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 opened: this.state.opened,\n drawArrow: this.props.drawArrow,\n menuPos: this.props.menuPos,\n menuAlign: this.props.menuAlign,\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 showClearIcon: this.props.showClearIcon,\n warning: this.props.warning,\n 'aria-describedby': this.props['aria-describedby'],\n 'aria-label': this.props['aria-label'],\n id: this.props.id,\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 onClearCrossClick: () => this.dispatch({ type: 'ClearCrossClick' }),\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 | InternalTextareaWithLayout>) => {\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 viewMode: this.props.viewMode,\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\n this.focused = true;\n this.dispatch({ type: 'Focus', searchOnFocus: this.canOpenPopup && this.props.searchOnFocus });\n\n if (!this.canOpenPopup) {\n this.canOpenPopup = true;\n }\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"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  export interface DateSelectProps {
4
3
  disabled?: boolean;
5
4
  onValueChange: (value: number) => void;
@@ -18,15 +17,6 @@ type DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;
18
17
  export declare class DateSelect extends React.PureComponent<DateSelectProps> {
19
18
  static __KONTUR_REACT_UI__: string;
20
19
  static displayName: string;
21
- static propTypes: {
22
- disabled: PropTypes.Requireable<boolean>;
23
- type: PropTypes.Requireable<string>;
24
- value: PropTypes.Validator<number>;
25
- width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
26
- onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
27
- minValue: PropTypes.Requireable<number>;
28
- maxValue: PropTypes.Requireable<number>;
29
- };
30
20
  static defaultProps: DefaultProps;
31
21
  private getProps;
32
22
  private get isYearType();
@@ -1,5 +1,4 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.DateSelectDataTids = exports.DateSelect = void 0;var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireWildcard(require("react"));
2
- var _propTypes = _interopRequireDefault(require("prop-types"));
3
2
 
4
3
  var _decorator = require("../../components/ResponsiveLayout/decorator");
5
4
  var _utils = require("../../lib/utils");
@@ -15,6 +14,7 @@ var _Select = require("../../components/Select");
15
14
  var _MenuItem = require("../../components/MenuItem");
16
15
  var _ArrowCollapseCVOpenIcon16Regular = require("../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular");
17
16
 
17
+
18
18
  var _DateSelect2 = require("./DateSelect.styles");var _dec, _class, _DateSelect;
19
19
 
20
20
  var defaultMinMonth = 0;
@@ -44,29 +44,22 @@ var DateSelectDataTids = exports.DateSelectDataTids = {
44
44
  caption: 'DateSelect__caption',
45
45
  menuItem: 'DateSelect__menuItem',
46
46
  menu: 'DateSelect__menu'
47
- };var
48
-
49
-
50
-
51
-
52
-
53
- DateSelect = exports.DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocaleHelper), (0, _decorator.responsiveLayout)(_class = _dec(_class = (_DateSelect = /*#__PURE__*/function (_React$PureComponent) {function DateSelect() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
47
+ };
63
48
 
64
49
 
65
50
 
51
+ var DATE_SELECT_POSITIONS = [
52
+ 'middle left',
53
+ 'middle right',
54
+ 'bottom left',
55
+ 'top left',
56
+ 'bottom right',
57
+ 'top right'];var
66
58
 
67
59
 
68
60
 
69
61
 
62
+ DateSelect = exports.DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocaleHelper), (0, _decorator.responsiveLayout)(_class = _dec(_class = (_DateSelect = /*#__PURE__*/function (_React$PureComponent) {function DateSelect() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
70
63
 
71
64
 
72
65
 
@@ -172,6 +165,7 @@ DateSelect = exports.DateSelect = (_dec = (0, _decorators.locale)('Calendar', _l
172
165
 
173
166
 
174
167
 
168
+
175
169
 
176
170
 
177
171
  getItems = function () {
@@ -205,4 +199,4 @@ DateSelect = exports.DateSelect = (_dec = (0, _decorators.locale)('Calendar', _l
205
199
  }
206
200
 
207
201
  return (_this$locale$months = _this.locale.months) == null ? void 0 : _this$locale$months[value];
208
- };return _this;}(0, _inheritsLoose2.default)(DateSelect, _React$PureComponent);var _proto = DateSelect.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.close = function close() {var _this$selectRef$curre;(_this$selectRef$curre = this.selectRef.current) == null || _this$selectRef$curre.close();};_proto.renderMain = function renderMain() {var _this$getProps2 = this.getProps(),value = _this$getProps2.value,disabled = _this$getProps2.disabled,onValueChange = _this$getProps2.onValueChange;var theme = { btnBorderRadiusSmall: this.theme.menuItemBorderRadius };return /*#__PURE__*/_react.default.createElement(_Select.Select, { use: "text", value: value, ref: this.selectRef, theme: theme, disabled: disabled, _renderButton: this.renderButton, menuPos: "middle", renderValue: this.getItem, items: this.getItems(), menuOffset: parseInt(this.theme.menuPaddingX) + parseInt(this.theme.menuItemPaddingXSmall), onValueChange: onValueChange, "aria-label": this.locale.selectChosenAriaLabel + " " + (this.isYearType ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(value) });};_proto.isOptionDisabled = function isOptionDisabled(option) {var _this$getProps3 = this.getProps(),minValue = _this$getProps3.minValue,maxValue = _this$getProps3.maxValue;if ((0, _utils.isNonNullable)(maxValue) && (0, _utils.isNonNullable)(minValue)) {return option > maxValue || option < minValue;}if ((0, _utils.isNonNullable)(minValue)) {return option < minValue;}if ((0, _utils.isNonNullable)(maxValue)) {return option > maxValue;}};return (0, _createClass2.default)(DateSelect, [{ key: "isYearType", get: function get() {return this.getProps().type === 'year';} }]);}(_react.default.PureComponent), _DateSelect.__KONTUR_REACT_UI__ = 'DateSelect', _DateSelect.displayName = 'DateSelect', _DateSelect.propTypes = { disabled: _propTypes.default.bool, type: _propTypes.default.string, value: _propTypes.default.number.isRequired, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onValueChange: _propTypes.default.func, minValue: _propTypes.default.number, maxValue: _propTypes.default.number }, _DateSelect.defaultProps = { type: 'year', width: 'auto' }, _DateSelect)) || _class) || _class);
202
+ };return _this;}(0, _inheritsLoose2.default)(DateSelect, _React$PureComponent);var _proto = DateSelect.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.close = function close() {var _this$selectRef$curre;(_this$selectRef$curre = this.selectRef.current) == null || _this$selectRef$curre.close();};_proto.renderMain = function renderMain() {var _this$getProps2 = this.getProps(),value = _this$getProps2.value,disabled = _this$getProps2.disabled,onValueChange = _this$getProps2.onValueChange;var theme = { btnBorderRadiusSmall: this.theme.menuItemBorderRadius };return /*#__PURE__*/_react.default.createElement(_Select.Select, { use: "text", value: value, ref: this.selectRef, theme: theme, disabled: disabled, _renderButton: this.renderButton, menuPos: "middle", positions: DATE_SELECT_POSITIONS, renderValue: this.getItem, items: this.getItems(), menuOffset: parseInt(this.theme.menuPaddingX) + parseInt(this.theme.menuItemPaddingXSmall), onValueChange: onValueChange, "aria-label": this.locale.selectChosenAriaLabel + " " + (this.isYearType ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(value) });};_proto.isOptionDisabled = function isOptionDisabled(option) {var _this$getProps3 = this.getProps(),minValue = _this$getProps3.minValue,maxValue = _this$getProps3.maxValue;if ((0, _utils.isNonNullable)(maxValue) && (0, _utils.isNonNullable)(minValue)) {return option > maxValue || option < minValue;}if ((0, _utils.isNonNullable)(minValue)) {return option < minValue;}if ((0, _utils.isNonNullable)(maxValue)) {return option > maxValue;}};return (0, _createClass2.default)(DateSelect, [{ key: "isYearType", get: function get() {return this.getProps().type === 'year';} }]);}(_react.default.PureComponent), _DateSelect.__KONTUR_REACT_UI__ = 'DateSelect', _DateSelect.displayName = 'DateSelect', _DateSelect.defaultProps = { type: 'year', width: 'auto' }, _DateSelect)) || _class) || _class);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_decorator","_utils","_locale","_decorators","_ThemeContext","_Emotion","_createPropsGetter","_Select","_MenuItem","_ArrowCollapseCVOpenIcon16Regular","_DateSelect2","_dec","_class","_DateSelect","defaultMinMonth","defaultMaxMonth","defaultMinYear","defaultMaxYear","months","range","years","start","end","Array","fill","map","_","index","DateSelectDataTids","exports","caption","menuItem","menu","DateSelect","locale","DatePickerLocaleHelper","responsiveLayout","_React$PureComponent","_this","_len","arguments","length","args","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","selectRef","createRef","menuId","getRandomID","renderButton","params","_this$props","props","value","disabled","width","isInteractiveElement","Tag","rootProps","className","cx","styles","root","theme","style","onClick","undefined","opened","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","default","createElement","ArrowCollapseCVOpenIcon16Regular","globalClasses","arrow","color","getItems","_this$getProps","onValueChange","options","isYearType","option","isSelected","isOptionDisabled","MenuItem","scrollIntoView","state","key","_this$locale$months","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","renderMain","close","_this$selectRef$curre","current","_this$getProps2","btnBorderRadiusSmall","menuItemBorderRadius","Select","use","ref","_renderButton","menuPos","renderValue","items","menuOffset","parseInt","menuPaddingX","menuItemPaddingXSmall","_this$getProps3","minValue","maxValue","isNonNullable","_createClass2","get","React","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","string","number","isRequired","oneOfType","func"],"sources":["DateSelect.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport type { DatePickerLocale } from '../../components/DatePicker/locale';\nimport { DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { ButtonParams } from '../../components/Select';\nimport { Select } from '../../components/Select';\nimport { MenuItem } from '../../components/MenuItem';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular';\n\nimport { globalClasses, styles } from './DateSelect.styles';\n\nconst defaultMinMonth = 0;\nconst defaultMaxMonth = 11;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2099;\nconst months = range(defaultMinMonth, defaultMaxMonth);\nconst years = range(defaultMinYear, defaultMaxYear);\n\nfunction range(start: number, end: number) {\n return Array(end - start + 1)\n .fill(null)\n .map((_, index) => start + index);\n}\n\nexport interface DateSelectProps {\n disabled?: boolean;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\n@responsiveLayout\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n public static displayName = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n private get isYearType() {\n return this.getProps().type === 'year';\n }\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private readonly selectRef = createRef<Select<number, number>>();\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderButton = (params: ButtonParams) => {\n const { value, disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx(styles.root(this.theme), disabled && styles.disabled()),\n style: { width },\n onClick: disabled ? undefined : params.onClick,\n 'aria-expanded': isInteractiveElement ? params.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(value)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(value)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n </Tag>\n );\n };\n\n public close() {\n this.selectRef.current?.close();\n }\n\n private renderMain() {\n const { value, disabled, onValueChange } = this.getProps();\n const theme = {\n btnBorderRadiusSmall: this.theme.menuItemBorderRadius,\n };\n\n return (\n <Select\n use=\"text\"\n value={value}\n ref={this.selectRef}\n theme={theme}\n disabled={disabled}\n _renderButton={this.renderButton}\n menuPos=\"middle\"\n renderValue={this.getItem}\n items={this.getItems()}\n menuOffset={parseInt(this.theme.menuPaddingX) + parseInt(this.theme.menuItemPaddingXSmall)}\n onValueChange={onValueChange}\n aria-label={`${this.locale.selectChosenAriaLabel} ${\n this.isYearType ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(value)}`}\n />\n );\n }\n\n private isOptionDisabled(option: number) {\n const { minValue, maxValue } = this.getProps();\n\n if (isNonNullable(maxValue) && isNonNullable(minValue)) {\n return option > maxValue || option < minValue;\n }\n\n if (isNonNullable(minValue)) {\n return option < minValue;\n }\n\n if (isNonNullable(maxValue)) {\n return option > maxValue;\n }\n }\n\n private getItems = () => {\n const { value, onValueChange } = this.getProps();\n const options = this.isYearType ? years : months;\n\n return options.map((option) => {\n const isSelected = option === value;\n const isOptionDisabled = this.isOptionDisabled(option);\n\n return (\n <MenuItem\n scrollIntoView={isSelected}\n disabled={isOptionDisabled}\n state={isSelected ? 'selected' : null}\n onClick={() => onValueChange(option)}\n aria-label={`Выбрать ${this.isYearType ? 'год' : 'месяц'} ${this.getItem(option)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-prop-disabled={isOptionDisabled}\n key={option}\n >\n {this.getItem(option)}\n </MenuItem>\n );\n });\n };\n\n private getItem = (value: number) => {\n if (this.isYearType) {\n return value;\n }\n\n return this.locale.months?.[value];\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_decorator","_utils","_locale","_decorators","_ThemeContext","_Emotion","_createPropsGetter","_Select","_MenuItem","_ArrowCollapseCVOpenIcon16Regular","_DateSelect2","_dec","_class","_DateSelect","defaultMinMonth","defaultMaxMonth","defaultMinYear","defaultMaxYear","months","range","years","start","end","Array","fill","map","_","index","DateSelectDataTids","exports","caption","menuItem","menu","DATE_SELECT_POSITIONS","DateSelect","locale","DatePickerLocaleHelper","responsiveLayout","_React$PureComponent","_this","_len","arguments","length","args","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","selectRef","createRef","menuId","getRandomID","renderButton","params","_this$props","props","value","disabled","width","isInteractiveElement","Tag","rootProps","className","cx","styles","root","theme","style","onClick","undefined","opened","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","default","createElement","ArrowCollapseCVOpenIcon16Regular","globalClasses","arrow","color","getItems","_this$getProps","onValueChange","options","isYearType","option","isSelected","isOptionDisabled","MenuItem","scrollIntoView","state","key","_this$locale$months","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","renderMain","close","_this$selectRef$curre","current","_this$getProps2","btnBorderRadiusSmall","menuItemBorderRadius","Select","use","ref","_renderButton","menuPos","positions","renderValue","items","menuOffset","parseInt","menuPaddingX","menuItemPaddingXSmall","_this$getProps3","minValue","maxValue","isNonNullable","_createClass2","get","React","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["DateSelect.tsx"],"sourcesContent":["import React, { createRef } from 'react';\n\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport type { DatePickerLocale } from '../../components/DatePicker/locale';\nimport { DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { ButtonParams } from '../../components/Select';\nimport { Select } from '../../components/Select';\nimport { MenuItem } from '../../components/MenuItem';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular';\nimport type { PopupPositionsType } from '../../internal/Popup/types';\n\nimport { globalClasses, styles } from './DateSelect.styles';\n\nconst defaultMinMonth = 0;\nconst defaultMaxMonth = 11;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2099;\nconst months = range(defaultMinMonth, defaultMaxMonth);\nconst years = range(defaultMinYear, defaultMaxYear);\n\nfunction range(start: number, end: number) {\n return Array(end - start + 1)\n .fill(null)\n .map((_, index) => start + index);\n}\n\nexport interface DateSelectProps {\n disabled?: boolean;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\nconst DATE_SELECT_POSITIONS: PopupPositionsType[] = [\n 'middle left',\n 'middle right',\n 'bottom left',\n 'top left',\n 'bottom right',\n 'top right',\n];\n\n@responsiveLayout\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n public static displayName = 'DateSelect';\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n private get isYearType() {\n return this.getProps().type === 'year';\n }\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private readonly selectRef = createRef<Select<number, number>>();\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderButton = (params: ButtonParams) => {\n const { value, disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx(styles.root(this.theme), disabled && styles.disabled()),\n style: { width },\n onClick: disabled ? undefined : params.onClick,\n 'aria-expanded': isInteractiveElement ? params.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(value)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(value)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n </Tag>\n );\n };\n\n public close() {\n this.selectRef.current?.close();\n }\n\n private renderMain() {\n const { value, disabled, onValueChange } = this.getProps();\n const theme = {\n btnBorderRadiusSmall: this.theme.menuItemBorderRadius,\n };\n\n return (\n <Select\n use=\"text\"\n value={value}\n ref={this.selectRef}\n theme={theme}\n disabled={disabled}\n _renderButton={this.renderButton}\n menuPos=\"middle\"\n positions={DATE_SELECT_POSITIONS}\n renderValue={this.getItem}\n items={this.getItems()}\n menuOffset={parseInt(this.theme.menuPaddingX) + parseInt(this.theme.menuItemPaddingXSmall)}\n onValueChange={onValueChange}\n aria-label={`${this.locale.selectChosenAriaLabel} ${\n this.isYearType ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(value)}`}\n />\n );\n }\n\n private isOptionDisabled(option: number) {\n const { minValue, maxValue } = this.getProps();\n\n if (isNonNullable(maxValue) && isNonNullable(minValue)) {\n return option > maxValue || option < minValue;\n }\n\n if (isNonNullable(minValue)) {\n return option < minValue;\n }\n\n if (isNonNullable(maxValue)) {\n return option > maxValue;\n }\n }\n\n private getItems = () => {\n const { value, onValueChange } = this.getProps();\n const options = this.isYearType ? years : months;\n\n return options.map((option) => {\n const isSelected = option === value;\n const isOptionDisabled = this.isOptionDisabled(option);\n\n return (\n <MenuItem\n scrollIntoView={isSelected}\n disabled={isOptionDisabled}\n state={isSelected ? 'selected' : null}\n onClick={() => onValueChange(option)}\n aria-label={`Выбрать ${this.isYearType ? 'год' : 'месяц'} ${this.getItem(option)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-prop-disabled={isOptionDisabled}\n key={option}\n >\n {this.getItem(option)}\n </MenuItem>\n );\n });\n };\n\n private getItem = (value: number) => {\n if (this.isYearType) {\n return value;\n }\n\n return this.locale.months?.[value];\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  export declare const styles: {
2
2
  root(): string;
3
3
  absolute(): string;
4
+ wrapperMultiline(): string;
4
5
  userSelectContain(): string;
5
6
  userSelectNone(): string;
6
7
  rightSide(): string;
@@ -1,4 +1,4 @@
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, _templateObject4, _templateObject5;
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, _templateObject4, _templateObject5, _templateObject6;
2
2
 
3
3
  var styles = exports.styles = (0, _Emotion.memoizeStyle)({
4
4
  root: function root() {
@@ -12,23 +12,31 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
12
12
 
13
13
 
14
14
 
15
+ },
16
+
17
+ wrapperMultiline: function wrapperMultiline() {
18
+ return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n overflow-wrap: anywhere;\n white-space: normal;\n overflow: visible;\n "])));
19
+
20
+
21
+
22
+
15
23
  },
16
24
 
17
25
  userSelectContain: function userSelectContain() {
18
- return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n user-select: text;\n -ms-user-select: element;\n "])));
26
+ return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n user-select: text;\n -ms-user-select: element;\n "])));
19
27
 
20
28
 
21
29
 
22
30
  },
23
31
 
24
32
  userSelectNone: function userSelectNone() {
25
- return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n user-select: none;\n "])));
33
+ return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n user-select: none;\n "])));
26
34
 
27
35
 
28
36
  },
29
37
 
30
38
  rightSide: function rightSide() {
31
- return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-left: 0;\n visibility: visible;\n "])));
39
+ return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-left: 0;\n visibility: visible;\n "])));
32
40
 
33
41
 
34
42
 
@@ -1 +1 @@
1
- {"version":3,"names":["_Emotion","require","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","styles","exports","memoizeStyle","root","css","_taggedTemplateLiteralLoose2","default","absolute","userSelectContain","userSelectNone","rightSide"],"sources":["InputLikeText.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n padding-right: 10px;\n `;\n },\n\n absolute() {\n return css`\n position: absolute;\n top: 0;\n `;\n },\n\n userSelectContain() {\n return css`\n user-select: text;\n -ms-user-select: element;\n `;\n },\n\n userSelectNone() {\n return css`\n user-select: none;\n `;\n },\n\n rightSide() {\n return css`\n padding-left: 0;\n visibility: visible;\n `;\n },\n});\n"],"mappings":"oRAAA,IAAAA,QAAA,GAAAC,OAAA,8BAA8D,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;;AAEvD,IAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,qBAAY,EAAC;EACjCC,IAAI,WAAAA,KAAA,EAAG;IACL,WAAOC,YAAG,EAAAT,eAAA,KAAAA,eAAA,OAAAU,4BAAA,CAAAC,OAAA;;;EAGZ,CAAC;;EAEDC,QAAQ,WAAAA,SAAA,EAAG;IACT,WAAOH,YAAG,EAAAR,gBAAA,KAAAA,gBAAA,OAAAS,4BAAA,CAAAC,OAAA;;;;EAIZ,CAAC;;EAEDE,iBAAiB,WAAAA,kBAAA,EAAG;IAClB,WAAOJ,YAAG,EAAAP,gBAAA,KAAAA,gBAAA,OAAAQ,4BAAA,CAAAC,OAAA;;;;EAIZ,CAAC;;EAEDG,cAAc,WAAAA,eAAA,EAAG;IACf,WAAOL,YAAG,EAAAN,gBAAA,KAAAA,gBAAA,OAAAO,4BAAA,CAAAC,OAAA;;;EAGZ,CAAC;;EAEDI,SAAS,WAAAA,UAAA,EAAG;IACV,WAAON,YAAG,EAAAL,gBAAA,KAAAA,gBAAA,OAAAM,4BAAA,CAAAC,OAAA;;;;EAIZ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_Emotion","require","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","styles","exports","memoizeStyle","root","css","_taggedTemplateLiteralLoose2","default","absolute","wrapperMultiline","userSelectContain","userSelectNone","rightSide"],"sources":["InputLikeText.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n padding-right: 10px;\n `;\n },\n\n absolute() {\n return css`\n position: absolute;\n top: 0;\n `;\n },\n\n wrapperMultiline() {\n return css`\n overflow-wrap: anywhere;\n white-space: normal;\n overflow: visible;\n `;\n },\n\n userSelectContain() {\n return css`\n user-select: text;\n -ms-user-select: element;\n `;\n },\n\n userSelectNone() {\n return css`\n user-select: none;\n `;\n },\n\n rightSide() {\n return css`\n padding-left: 0;\n visibility: visible;\n `;\n },\n});\n"],"mappings":"oRAAA,IAAAA,QAAA,GAAAC,OAAA,8BAA8D,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;;AAEvD,IAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,qBAAY,EAAC;EACjCC,IAAI,WAAAA,KAAA,EAAG;IACL,WAAOC,YAAG,EAAAV,eAAA,KAAAA,eAAA,OAAAW,4BAAA,CAAAC,OAAA;;;EAGZ,CAAC;;EAEDC,QAAQ,WAAAA,SAAA,EAAG;IACT,WAAOH,YAAG,EAAAT,gBAAA,KAAAA,gBAAA,OAAAU,4BAAA,CAAAC,OAAA;;;;EAIZ,CAAC;;EAEDE,gBAAgB,WAAAA,iBAAA,EAAG;IACjB,WAAOJ,YAAG,EAAAR,gBAAA,KAAAA,gBAAA,OAAAS,4BAAA,CAAAC,OAAA;;;;;EAKZ,CAAC;;EAEDG,iBAAiB,WAAAA,kBAAA,EAAG;IAClB,WAAOL,YAAG,EAAAP,gBAAA,KAAAA,gBAAA,OAAAQ,4BAAA,CAAAC,OAAA;;;;EAIZ,CAAC;;EAEDI,cAAc,WAAAA,eAAA,EAAG;IACf,WAAON,YAAG,EAAAN,gBAAA,KAAAA,gBAAA,OAAAO,4BAAA,CAAAC,OAAA;;;EAGZ,CAAC;;EAEDK,SAAS,WAAAA,UAAA,EAAG;IACV,WAAOP,YAAG,EAAAL,gBAAA,KAAAA,gBAAA,OAAAM,4BAAA,CAAAC,OAAA;;;;EAIZ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import type { InputProps } from '../../components/Input';
3
+ import type { TextareaProps } from '../../components/Textarea';
4
+ interface InternalTextareaWithLayoutProps extends TextareaProps, Pick<InputProps, 'leftIcon' | 'rightIcon' | 'align' | 'borderless' | 'showClearIcon'> {
5
+ }
6
+ interface InternalTextareaWithLayoutState {
7
+ focused: boolean;
8
+ hovered: boolean;
9
+ clearCrossShowed: boolean;
10
+ }
11
+ export declare class InternalTextareaWithLayout extends React.Component<InternalTextareaWithLayoutProps, InternalTextareaWithLayoutState> {
12
+ static __KONTUR_REACT_UI__: string;
13
+ private wrappedComponentRef;
14
+ private theme;
15
+ private getProps;
16
+ componentDidUpdate(prevProps: Readonly<InternalTextareaWithLayoutProps>): void;
17
+ private getClearCrossShowed;
18
+ state: InternalTextareaWithLayoutState;
19
+ focus(): void;
20
+ blur(): void;
21
+ setSelectionRange(start: number, end: number): void;
22
+ selectAll(): void;
23
+ render(): React.JSX.Element;
24
+ private getTextareaSizeClassName;
25
+ private getRootSizeClassName;
26
+ private handleClearInput;
27
+ private getRightIcon;
28
+ private handleMouseEnter;
29
+ private handleMouseOut;
30
+ private renderLayout;
31
+ private renderTextarea;
32
+ private handleLayoutClick;
33
+ private handleBlur;
34
+ private handleFocus;
35
+ }
36
+ export {};