@skbkontur/react-ui 0.0.0-dad43298ae → 0.0.0-db9f11da2a

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 (952) hide show
  1. package/CHANGELOG.md +280 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +18 -26
  4. package/cjs/components/Autocomplete/Autocomplete.js +64 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +4 -1
  7. package/cjs/components/Button/Button.js +47 -17
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +6 -0
  10. package/cjs/components/Button/Button.styles.js +109 -76
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Button/ButtonArrow.js +13 -14
  13. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  14. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  15. package/cjs/components/Calendar/Calendar.js +1 -0
  16. package/cjs/components/Calendar/Calendar.js.map +1 -1
  17. package/cjs/components/Calendar/CalendarDay.js +18 -2
  18. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  19. package/cjs/components/Calendar/DayCellView.js +7 -15
  20. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  21. package/cjs/components/Center/Center.d.ts +2 -0
  22. package/cjs/components/Center/Center.js +1 -0
  23. package/cjs/components/Center/Center.js.map +1 -1
  24. package/cjs/components/Checkbox/Checkbox.d.ts +4 -16
  25. package/cjs/components/Checkbox/Checkbox.js +16 -32
  26. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  27. package/cjs/components/ComboBox/ComboBox.d.ts +22 -3
  28. package/cjs/components/ComboBox/ComboBox.js +26 -1
  29. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  30. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  31. package/cjs/components/CurrencyInput/CurrencyInput.js +6 -25
  32. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  33. package/cjs/components/CurrencyInput/constants.js +1 -2
  34. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  35. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  36. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  37. package/cjs/components/DateInput/DateInput.d.ts +6 -1
  38. package/cjs/components/DateInput/DateInput.js +45 -17
  39. package/cjs/components/DateInput/DateInput.js.map +1 -1
  40. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  41. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  42. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  43. package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
  44. package/cjs/components/DatePicker/DatePicker.js +6 -60
  45. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  46. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  47. package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
  48. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  49. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  50. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
  51. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  52. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  53. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  54. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  55. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  56. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  57. package/cjs/components/Dropdown/Dropdown.js +2 -82
  58. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  59. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  60. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  61. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  62. package/cjs/components/FileUploader/FileUploader.js +15 -2
  63. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  64. package/cjs/components/FxInput/FxInput.d.ts +13 -8
  65. package/cjs/components/FxInput/FxInput.js +137 -60
  66. package/cjs/components/FxInput/FxInput.js.map +1 -1
  67. package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
  68. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  69. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  70. package/cjs/components/Gapped/Gapped.js +1 -24
  71. package/cjs/components/Gapped/Gapped.js.map +1 -1
  72. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  73. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  74. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  75. package/cjs/components/Group/Group.d.ts +5 -4
  76. package/cjs/components/Group/Group.js +91 -40
  77. package/cjs/components/Group/Group.js.map +1 -1
  78. package/cjs/components/Group/Group.styles.d.ts +1 -0
  79. package/cjs/components/Group/Group.styles.js +12 -6
  80. package/cjs/components/Group/Group.styles.js.map +1 -1
  81. package/cjs/components/Hint/Hint.d.ts +2 -0
  82. package/cjs/components/Hint/Hint.js +1 -0
  83. package/cjs/components/Hint/Hint.js.map +1 -1
  84. package/cjs/components/Input/Input.d.ts +6 -5
  85. package/cjs/components/Input/Input.js +17 -47
  86. package/cjs/components/Input/Input.js.map +1 -1
  87. package/cjs/components/Input/Input.styles.d.ts +0 -1
  88. package/cjs/components/Input/Input.styles.js +8 -19
  89. package/cjs/components/Input/Input.styles.js.map +1 -1
  90. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  91. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  92. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  93. package/cjs/components/Kebab/Kebab.d.ts +4 -2
  94. package/cjs/components/Kebab/Kebab.js +9 -29
  95. package/cjs/components/Kebab/Kebab.js.map +1 -1
  96. package/cjs/components/Link/Link.d.ts +2 -0
  97. package/cjs/components/Link/Link.js +15 -1
  98. package/cjs/components/Link/Link.js.map +1 -1
  99. package/cjs/components/Link/Link.mixins.js +1 -2
  100. package/cjs/components/Link/Link.mixins.js.map +1 -1
  101. package/cjs/components/Link/Link.styles.js +3 -2
  102. package/cjs/components/Link/Link.styles.js.map +1 -1
  103. package/cjs/components/Loader/Loader.d.ts +7 -36
  104. package/cjs/components/Loader/Loader.js +6 -56
  105. package/cjs/components/Loader/Loader.js.map +1 -1
  106. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  107. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
  108. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  109. package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
  110. package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  111. package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
  112. package/cjs/components/MaskedInput/MaskedInput.js +43 -4
  113. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  114. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  115. package/cjs/components/MenuItem/MenuItem.js +2 -22
  116. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  117. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  118. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  119. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  120. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  121. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  122. package/cjs/components/Modal/Modal.styles.d.ts +2 -1
  123. package/cjs/components/Modal/Modal.styles.js +40 -32
  124. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  125. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  126. package/cjs/components/Modal/ModalBody.js +1 -0
  127. package/cjs/components/Modal/ModalBody.js.map +1 -1
  128. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  129. package/cjs/components/Modal/ModalHeader.js +8 -1
  130. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  131. package/cjs/components/Modal/ModalSeparator.js +1 -1
  132. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  133. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  134. package/cjs/components/Paging/DotsIcon.js +13 -0
  135. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  136. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  137. package/cjs/components/Paging/ForwardIcon.js +13 -1
  138. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  139. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  140. package/cjs/components/Paging/NavigationHelper.js +8 -6
  141. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  142. package/cjs/components/Paging/Paging.d.ts +13 -2
  143. package/cjs/components/Paging/Paging.js +120 -50
  144. package/cjs/components/Paging/Paging.js.map +1 -1
  145. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  146. package/cjs/components/Paging/Paging.styles.js +151 -22
  147. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  148. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  149. package/cjs/components/Paging/PagingHelper.js +18 -11
  150. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  151. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -12
  152. package/cjs/components/PasswordInput/PasswordInput.js +21 -32
  153. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  154. package/cjs/components/Radio/Radio.d.ts +4 -1
  155. package/cjs/components/Radio/Radio.js +7 -4
  156. package/cjs/components/Radio/Radio.js.map +1 -1
  157. package/cjs/components/RadioGroup/RadioGroup.d.ts +3 -0
  158. package/cjs/components/RadioGroup/RadioGroup.js +19 -1
  159. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  160. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  161. package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
  162. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  163. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  164. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  165. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  166. package/cjs/components/Select/Select.d.ts +7 -1
  167. package/cjs/components/Select/Select.js +13 -6
  168. package/cjs/components/Select/Select.js.map +1 -1
  169. package/cjs/components/SidePage/SidePage.js +4 -2
  170. package/cjs/components/SidePage/SidePage.js.map +1 -1
  171. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  172. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  173. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  174. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  175. package/cjs/components/SidePage/SidePageBody.js +1 -0
  176. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  177. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  178. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  179. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  180. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  181. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  182. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  183. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  184. package/cjs/components/SidePage/SidePageHeader.js +63 -19
  185. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  186. package/cjs/components/SingleToast/SingleToast.d.ts +33 -3
  187. package/cjs/components/SingleToast/SingleToast.js +58 -3
  188. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  189. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  190. package/cjs/components/Spinner/Spinner.js +2 -32
  191. package/cjs/components/Spinner/Spinner.js.map +1 -1
  192. package/cjs/components/Sticky/Sticky.d.ts +5 -13
  193. package/cjs/components/Sticky/Sticky.js +12 -18
  194. package/cjs/components/Sticky/Sticky.js.map +1 -1
  195. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  196. package/cjs/components/Switcher/Switcher.js +11 -20
  197. package/cjs/components/Switcher/Switcher.js.map +1 -1
  198. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  199. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  200. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  201. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  202. package/cjs/components/Tabs/Indicator.js +1 -0
  203. package/cjs/components/Tabs/Indicator.js.map +1 -1
  204. package/cjs/components/Tabs/Tab.d.ts +2 -0
  205. package/cjs/components/Tabs/Tab.js +1 -0
  206. package/cjs/components/Tabs/Tab.js.map +1 -1
  207. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  208. package/cjs/components/Tabs/Tabs.js +1 -0
  209. package/cjs/components/Tabs/Tabs.js.map +1 -1
  210. package/cjs/components/Textarea/Textarea.d.ts +10 -46
  211. package/cjs/components/Textarea/Textarea.js +23 -60
  212. package/cjs/components/Textarea/Textarea.js.map +1 -1
  213. package/cjs/components/Textarea/Textarea.styles.js +3 -2
  214. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  215. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  216. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  217. package/cjs/components/Toast/Toast.d.ts +62 -13
  218. package/cjs/components/Toast/Toast.js +119 -12
  219. package/cjs/components/Toast/Toast.js.map +1 -1
  220. package/cjs/components/Toast/ToastStatic.d.ts +3 -2
  221. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  222. package/cjs/components/Toast/ToastView.d.ts +8 -16
  223. package/cjs/components/Toast/ToastView.js +19 -22
  224. package/cjs/components/Toast/ToastView.js.map +1 -1
  225. package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
  226. package/cjs/components/Toast/ToastView.styles.js +43 -9
  227. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  228. package/cjs/components/Toggle/Toggle.d.ts +4 -11
  229. package/cjs/components/Toggle/Toggle.js +4 -14
  230. package/cjs/components/Toggle/Toggle.js.map +1 -1
  231. package/cjs/components/Token/Token.d.ts +2 -0
  232. package/cjs/components/Token/Token.js +1 -0
  233. package/cjs/components/Token/Token.js.map +1 -1
  234. package/cjs/components/TokenInput/TokenInput.d.ts +8 -3
  235. package/cjs/components/TokenInput/TokenInput.js +44 -30
  236. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  237. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  238. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  239. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  240. package/cjs/components/Tooltip/Tooltip.d.ts +14 -8
  241. package/cjs/components/Tooltip/Tooltip.js +102 -17
  242. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  243. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  244. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  245. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  246. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  247. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  248. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  249. package/cjs/index.d.ts +2 -0
  250. package/cjs/index.js +1 -0
  251. package/cjs/index.js.map +1 -1
  252. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  253. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  254. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  255. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  256. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  257. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  258. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  259. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  260. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  261. package/cjs/internal/ComponentTable.js +2 -3
  262. package/cjs/internal/ComponentTable.js.map +1 -1
  263. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  264. package/cjs/internal/CustomComboBox/ComboBoxView.js +50 -7
  265. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  266. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
  267. package/cjs/internal/CustomComboBox/CustomComboBox.js +20 -5
  268. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  269. package/cjs/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  270. package/cjs/internal/CustomComboBox/getComboBoxTheme.js +10 -7
  271. package/cjs/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  272. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  273. package/cjs/internal/DateSelect/DateSelect.js +13 -19
  274. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  275. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  276. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  277. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  278. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  279. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  280. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
  281. package/cjs/internal/InputLikeText/InputLikeText.js +13 -14
  282. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  283. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  284. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  285. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  286. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  287. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
  288. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  289. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  290. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  291. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  292. package/cjs/internal/Menu/Menu.d.ts +2 -0
  293. package/cjs/internal/Menu/Menu.js +1 -0
  294. package/cjs/internal/Menu/Menu.js.map +1 -1
  295. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  296. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  297. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  298. package/cjs/internal/Popup/Popup.d.ts +43 -60
  299. package/cjs/internal/Popup/Popup.js +41 -81
  300. package/cjs/internal/Popup/Popup.js.map +1 -1
  301. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  302. package/cjs/internal/Popup/PopupPin.js +2 -35
  303. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  304. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  305. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  306. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  307. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  308. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  309. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  310. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  311. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  312. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  313. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  314. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  315. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  316. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  317. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  318. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  319. package/cjs/internal/ThemePlayground/Playground.js +20 -16
  320. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  321. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  322. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  323. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  324. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  325. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  326. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  327. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
  328. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  329. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  330. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  331. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  332. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  333. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  334. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  335. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  336. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  337. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  338. package/cjs/internal/themes/BasicTheme.d.ts +125 -20
  339. package/cjs/internal/themes/BasicTheme.js +172 -25
  340. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  341. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  342. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  343. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  344. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  345. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  346. package/cjs/internal/themes/DarkTheme5_4.d.ts +1 -0
  347. package/cjs/internal/themes/DarkTheme5_4.js +18 -0
  348. package/cjs/internal/themes/DarkTheme5_4.js.map +1 -0
  349. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  350. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  351. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  352. package/cjs/internal/themes/LightTheme5_4.d.ts +1 -0
  353. package/cjs/internal/themes/LightTheme5_4.js +18 -0
  354. package/cjs/internal/themes/LightTheme5_4.js.map +1 -0
  355. package/cjs/internal/themes/consts.d.ts +8 -0
  356. package/cjs/internal/themes/consts.js +8 -0
  357. package/cjs/internal/themes/consts.js.map +1 -0
  358. package/cjs/lib/__stories__/Blink.creevey.mts +90 -0
  359. package/cjs/lib/blink.d.ts +15 -0
  360. package/cjs/lib/blink.js +65 -0
  361. package/cjs/lib/blink.js.map +1 -0
  362. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  363. package/cjs/lib/date/InternalDateGetter.js +8 -1
  364. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  365. package/cjs/lib/delay.mts +3 -0
  366. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
  367. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  368. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +23 -1
  369. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  370. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  371. package/cjs/lib/forwardRefAndName.js +0 -1
  372. package/cjs/lib/forwardRefAndName.js.map +1 -1
  373. package/cjs/lib/getMenuPositions.d.ts +21 -1
  374. package/cjs/lib/getMenuPositions.js +45 -8
  375. package/cjs/lib/getMenuPositions.js.map +1 -1
  376. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  377. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  378. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  379. package/cjs/lib/size/SizeControlContext.d.ts +6 -0
  380. package/cjs/lib/size/SizeControlContext.js +16 -0
  381. package/cjs/lib/size/SizeControlContext.js.map +1 -0
  382. package/cjs/lib/size/SizeDecorator.d.ts +33 -0
  383. package/cjs/lib/size/SizeDecorator.js +41 -0
  384. package/cjs/lib/size/SizeDecorator.js.map +1 -0
  385. package/cjs/lib/size/constants.d.ts +2 -0
  386. package/cjs/lib/size/constants.js +3 -0
  387. package/cjs/lib/size/constants.js.map +1 -0
  388. package/cjs/lib/size/index.d.ts +1 -0
  389. package/cjs/lib/size/index.js +1 -0
  390. package/cjs/lib/size/index.js.map +1 -0
  391. package/cjs/lib/size/useSizeControl.d.ts +2 -0
  392. package/cjs/lib/size/useSizeControl.js +10 -0
  393. package/cjs/lib/size/useSizeControl.js.map +1 -0
  394. package/cjs/lib/theming/ThemeHelpers.d.ts +1 -1
  395. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  396. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  397. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  398. package/cjs/lib/theming/themes/DarkTheme.d.ts +2 -0
  399. package/cjs/lib/theming/themes/DarkTheme.js +6 -2
  400. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  401. package/cjs/lib/theming/themes/LightTheme.d.ts +2 -0
  402. package/cjs/lib/theming/themes/LightTheme.js +6 -2
  403. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  404. package/cjs/lib/utils.d.ts +18 -1
  405. package/cjs/lib/utils.js +40 -4
  406. package/cjs/lib/utils.js.map +1 -1
  407. package/cjs/test-setup.d.ts +1 -0
  408. package/cjs/vitest.config.d.ts +2 -0
  409. package/components/Autocomplete/Autocomplete/Autocomplete.js +63 -51
  410. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  411. package/components/Autocomplete/Autocomplete.d.ts +18 -26
  412. package/components/Button/Button/Button.js +45 -24
  413. package/components/Button/Button/Button.js.map +1 -1
  414. package/components/Button/Button.d.ts +4 -1
  415. package/components/Button/Button.styles/Button.styles.js +79 -61
  416. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  417. package/components/Button/Button.styles.d.ts +6 -0
  418. package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
  419. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  420. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  421. package/components/Calendar/Calendar.d.ts +2 -0
  422. package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
  423. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  424. package/components/Calendar/DayCellView/DayCellView.js +6 -10
  425. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  426. package/components/Center/Center/Center.js.map +1 -1
  427. package/components/Center/Center.d.ts +2 -0
  428. package/components/Checkbox/Checkbox/Checkbox.js +12 -24
  429. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  430. package/components/Checkbox/Checkbox.d.ts +4 -16
  431. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  432. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  433. package/components/ComboBox/ComboBox.d.ts +22 -3
  434. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +13 -36
  435. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  436. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  437. package/components/CurrencyInput/constants/constants.js +0 -1
  438. package/components/CurrencyInput/constants/constants.js.map +1 -1
  439. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  440. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  441. package/components/DateInput/DateInput/DateInput.js +34 -24
  442. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  443. package/components/DateInput/DateInput.d.ts +6 -1
  444. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  445. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  446. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  447. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  448. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  449. package/components/DatePicker/DatePicker.d.ts +6 -33
  450. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
  451. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  452. package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  453. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
  454. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
  455. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  456. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  457. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  458. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  459. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  460. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  461. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  462. package/components/Dropdown/Dropdown.d.ts +2 -47
  463. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  464. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  465. package/components/FileUploader/FileUploader/FileUploader.js +8 -2
  466. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  467. package/components/FxInput/FxInput/FxInput.js +122 -70
  468. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  469. package/components/FxInput/FxInput.d.ts +13 -8
  470. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
  471. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  472. package/components/Gapped/Gapped/Gapped.js +1 -15
  473. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  474. package/components/Gapped/Gapped.d.ts +2 -15
  475. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  476. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  477. package/components/Group/Group/Group.js +64 -28
  478. package/components/Group/Group/Group.js.map +1 -1
  479. package/components/Group/Group.d.ts +5 -4
  480. package/components/Group/Group.styles/Group.styles.js +9 -6
  481. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  482. package/components/Group/Group.styles.d.ts +1 -0
  483. package/components/Hint/Hint/Hint.js.map +1 -1
  484. package/components/Hint/Hint.d.ts +2 -0
  485. package/components/Input/Input/Input.js +23 -52
  486. package/components/Input/Input/Input.js.map +1 -1
  487. package/components/Input/Input.d.ts +6 -5
  488. package/components/Input/Input.styles/Input.styles.js +9 -13
  489. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  490. package/components/Input/Input.styles.d.ts +0 -1
  491. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  492. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  493. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  494. package/components/Kebab/Kebab/Kebab.js +8 -26
  495. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  496. package/components/Kebab/Kebab.d.ts +4 -2
  497. package/components/Link/Link/Link.js +8 -1
  498. package/components/Link/Link/Link.js.map +1 -1
  499. package/components/Link/Link.d.ts +2 -0
  500. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  501. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  502. package/components/Link/Link.styles/Link.styles.js +1 -1
  503. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  504. package/components/Loader/Loader/Loader.js +2 -34
  505. package/components/Loader/Loader/Loader.js.map +1 -1
  506. package/components/Loader/Loader.d.ts +7 -36
  507. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
  508. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  509. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  510. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
  511. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
  512. package/components/MaskedInput/MaskedInput/MaskedInput.js +28 -2
  513. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  514. package/components/MaskedInput/MaskedInput.d.ts +9 -0
  515. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  516. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  517. package/components/MenuItem/MenuItem.d.ts +2 -12
  518. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  519. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  520. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  521. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  522. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  523. package/components/Modal/Modal.styles/Modal.styles.js +32 -29
  524. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  525. package/components/Modal/Modal.styles.d.ts +2 -1
  526. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  527. package/components/Modal/ModalBody.d.ts +2 -0
  528. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  529. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  530. package/components/Modal/ModalHeader.d.ts +5 -0
  531. package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
  532. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  533. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  534. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  535. package/components/Paging/DotsIcon/package.json +6 -0
  536. package/components/Paging/DotsIcon.d.ts +3 -0
  537. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  538. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  539. package/components/Paging/ForwardIcon.d.ts +3 -0
  540. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  541. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  542. package/components/Paging/NavigationHelper.d.ts +3 -2
  543. package/components/Paging/Paging/Paging.js +96 -47
  544. package/components/Paging/Paging/Paging.js.map +1 -1
  545. package/components/Paging/Paging.d.ts +13 -2
  546. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  547. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  548. package/components/Paging/Paging.styles.d.ts +24 -1
  549. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  550. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  551. package/components/Paging/PagingHelper.d.ts +1 -1
  552. package/components/PasswordInput/PasswordInput/PasswordInput.js +13 -25
  553. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  554. package/components/PasswordInput/PasswordInput.d.ts +5 -12
  555. package/components/Radio/Radio/Radio.js +7 -7
  556. package/components/Radio/Radio/Radio.js.map +1 -1
  557. package/components/Radio/Radio.d.ts +4 -1
  558. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
  559. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  560. package/components/RadioGroup/RadioGroup.d.ts +3 -0
  561. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
  562. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  563. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  564. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  565. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  566. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  567. package/components/Select/Select/Select.js +17 -15
  568. package/components/Select/Select/Select.js.map +1 -1
  569. package/components/Select/Select.d.ts +7 -1
  570. package/components/SidePage/SidePage/SidePage.js +3 -3
  571. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  572. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  573. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  574. package/components/SidePage/SidePage.styles.d.ts +3 -1
  575. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  576. package/components/SidePage/SidePageBody.d.ts +2 -0
  577. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  578. package/components/SidePage/SidePageContainer.d.ts +2 -0
  579. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  580. package/components/SidePage/SidePageFooter.d.ts +2 -0
  581. package/components/SidePage/SidePageHeader/SidePageHeader.js +62 -35
  582. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  583. package/components/SidePage/SidePageHeader.d.ts +12 -2
  584. package/components/SingleToast/SingleToast/SingleToast.js +37 -12
  585. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  586. package/components/SingleToast/SingleToast.d.ts +33 -3
  587. package/components/Spinner/Spinner/Spinner.js +1 -18
  588. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  589. package/components/Spinner/Spinner.d.ts +2 -18
  590. package/components/Sticky/Sticky/Sticky.js +10 -14
  591. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  592. package/components/Sticky/Sticky.d.ts +5 -13
  593. package/components/Switcher/Switcher/Switcher.js +19 -16
  594. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  595. package/components/Switcher/Switcher.d.ts +6 -21
  596. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  597. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  598. package/components/Switcher/Switcher.styles.d.ts +1 -0
  599. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  600. package/components/Tabs/Indicator.d.ts +2 -0
  601. package/components/Tabs/Tab/Tab.js.map +1 -1
  602. package/components/Tabs/Tab.d.ts +2 -0
  603. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  604. package/components/Tabs/Tabs.d.ts +2 -0
  605. package/components/Textarea/Textarea/Textarea.js +19 -52
  606. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  607. package/components/Textarea/Textarea.d.ts +10 -46
  608. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  609. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  610. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  611. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  612. package/components/Toast/Toast/Toast.js +93 -32
  613. package/components/Toast/Toast/Toast.js.map +1 -1
  614. package/components/Toast/Toast.d.ts +62 -13
  615. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  616. package/components/Toast/ToastStatic.d.ts +3 -2
  617. package/components/Toast/ToastView/ToastView.js +20 -22
  618. package/components/Toast/ToastView/ToastView.js.map +1 -1
  619. package/components/Toast/ToastView.d.ts +8 -16
  620. package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
  621. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  622. package/components/Toast/ToastView.styles.d.ts +4 -0
  623. package/components/Toggle/Toggle/Toggle.js +11 -20
  624. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  625. package/components/Toggle/Toggle.d.ts +4 -11
  626. package/components/Token/Token/Token.js.map +1 -1
  627. package/components/Token/Token.d.ts +2 -0
  628. package/components/TokenInput/TokenInput/TokenInput.js +49 -43
  629. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  630. package/components/TokenInput/TokenInput.d.ts +8 -3
  631. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  632. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  633. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  634. package/components/Tooltip/Tooltip/Tooltip.js +77 -26
  635. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  636. package/components/Tooltip/Tooltip.d.ts +14 -8
  637. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  638. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  639. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  640. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  641. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  642. package/index.d.ts +2 -0
  643. package/index.js +2 -0
  644. package/index.js.map +1 -1
  645. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  646. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  647. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  648. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  649. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  650. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  651. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  652. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  653. package/internal/ComponentTable/ComponentTable.js +0 -2
  654. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  655. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +72 -41
  656. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  657. package/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  658. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +13 -7
  659. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  660. package/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
  661. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js +5 -3
  662. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js.map +1 -1
  663. package/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  664. package/internal/DateSelect/DateSelect/DateSelect.js +4 -11
  665. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  666. package/internal/DateSelect/DateSelect.d.ts +0 -10
  667. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  668. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  669. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  670. package/internal/InputLikeText/InputLikeText/InputLikeText.js +17 -28
  671. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  672. package/internal/InputLikeText/InputLikeText.d.ts +4 -3
  673. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  674. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  675. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  676. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
  677. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  678. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  679. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  680. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  681. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  682. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  683. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  684. package/internal/Menu/Menu/Menu.js.map +1 -1
  685. package/internal/Menu/Menu.d.ts +2 -0
  686. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  687. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  688. package/internal/Popup/Popup/Popup.js +23 -69
  689. package/internal/Popup/Popup/Popup.js.map +1 -1
  690. package/internal/Popup/Popup.d.ts +43 -60
  691. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  692. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  693. package/internal/Popup/PopupPin.d.ts +23 -33
  694. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  695. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  696. package/internal/Popup/PopupPinNew/package.json +6 -0
  697. package/internal/Popup/PopupPinNew.d.ts +31 -0
  698. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  699. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  700. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  701. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  702. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  703. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  704. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  705. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  706. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  707. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  708. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  709. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  710. package/internal/ThemePlayground/Playground/Playground.js +21 -18
  711. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  712. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  713. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  714. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  715. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  716. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  717. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  718. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
  719. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  720. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  721. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  722. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  723. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  724. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  725. package/internal/ZIndex/ZIndex.d.ts +3 -3
  726. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  727. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  728. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  729. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  730. package/internal/themes/BasicTheme/BasicTheme.js +185 -30
  731. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  732. package/internal/themes/BasicTheme.d.ts +125 -20
  733. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  734. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  735. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  736. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  737. package/internal/themes/DarkTheme5_3/package.json +6 -0
  738. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  739. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +17 -0
  740. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -0
  741. package/internal/themes/DarkTheme5_4/package.json +6 -0
  742. package/internal/themes/DarkTheme5_4.d.ts +1 -0
  743. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  744. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  745. package/internal/themes/LightTheme5_3/package.json +6 -0
  746. package/internal/themes/LightTheme5_3.d.ts +1 -0
  747. package/internal/themes/LightTheme5_4/LightTheme5_4.js +17 -0
  748. package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -0
  749. package/internal/themes/LightTheme5_4/package.json +6 -0
  750. package/internal/themes/LightTheme5_4.d.ts +1 -0
  751. package/internal/themes/consts/consts.js +9 -0
  752. package/internal/themes/consts/consts.js.map +1 -0
  753. package/internal/themes/consts/package.json +6 -0
  754. package/internal/themes/consts.d.ts +8 -0
  755. package/lib/__stories__/Blink.creevey.mts +90 -0
  756. package/lib/blink/blink.js +63 -0
  757. package/lib/blink/blink.js.map +1 -0
  758. package/lib/blink/package.json +6 -0
  759. package/lib/blink.d.ts +15 -0
  760. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  761. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  762. package/lib/date/InternalDateGetter.d.ts +1 -1
  763. package/lib/delay.d.mts +1 -0
  764. package/lib/delay.mts +3 -0
  765. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
  766. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +12 -1
  767. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  768. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  769. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  770. package/lib/forwardRefAndName.d.ts +1 -1
  771. package/lib/getMenuPositions/getMenuPositions.js +33 -4
  772. package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
  773. package/lib/getMenuPositions.d.ts +21 -1
  774. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  775. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  776. package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
  777. package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
  778. package/lib/size/SizeControlContext/package.json +6 -0
  779. package/lib/size/SizeControlContext.d.ts +6 -0
  780. package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
  781. package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
  782. package/lib/size/SizeDecorator/package.json +6 -0
  783. package/lib/size/SizeDecorator.d.ts +33 -0
  784. package/lib/size/constants/constants.js +1 -0
  785. package/lib/size/constants/constants.js.map +1 -0
  786. package/lib/size/constants/package.json +6 -0
  787. package/lib/size/constants.d.ts +2 -0
  788. package/lib/size/index/index.js +1 -0
  789. package/lib/size/index/index.js.map +1 -0
  790. package/lib/size/index/package.json +6 -0
  791. package/lib/size/index.d.ts +1 -0
  792. package/lib/size/package.json +6 -0
  793. package/lib/size/useSizeControl/package.json +6 -0
  794. package/lib/size/useSizeControl/useSizeControl.js +7 -0
  795. package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
  796. package/lib/size/useSizeControl.d.ts +2 -0
  797. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  798. package/lib/theming/ThemeHelpers.d.ts +1 -1
  799. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  800. package/lib/theming/ThemeVersions.d.ts +1 -1
  801. package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -1
  802. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  803. package/lib/theming/themes/DarkTheme.d.ts +2 -0
  804. package/lib/theming/themes/LightTheme/LightTheme.js +5 -1
  805. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  806. package/lib/theming/themes/LightTheme.d.ts +2 -0
  807. package/lib/utils/utils.js +33 -2
  808. package/lib/utils/utils.js.map +1 -1
  809. package/lib/utils.d.ts +18 -1
  810. package/package.json +19 -36
  811. package/test-setup.d.ts +1 -0
  812. package/vitest.config.d.ts +2 -0
  813. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  814. package/cjs/components/Button/Button.md +0 -261
  815. package/cjs/components/Calendar/Calendar.md +0 -276
  816. package/cjs/components/Calendar/CalendarDay.md +0 -70
  817. package/cjs/components/Center/Center.md +0 -26
  818. package/cjs/components/Checkbox/Checkbox.md +0 -171
  819. package/cjs/components/ComboBox/ComboBox.md +0 -574
  820. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  821. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  822. package/cjs/components/DateInput/DateInput.md +0 -111
  823. package/cjs/components/DatePicker/DatePicker.md +0 -368
  824. package/cjs/components/Dropdown/Dropdown.md +0 -45
  825. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  826. package/cjs/components/FileUploader/FileUploader.md +0 -131
  827. package/cjs/components/FxInput/FxInput.md +0 -31
  828. package/cjs/components/Gapped/Gapped.md +0 -44
  829. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  830. package/cjs/components/Group/Group.md +0 -19
  831. package/cjs/components/Hint/Hint.md +0 -86
  832. package/cjs/components/Input/Input.md +0 -87
  833. package/cjs/components/Kebab/Kebab.md +0 -306
  834. package/cjs/components/Link/Link.md +0 -182
  835. package/cjs/components/Loader/Loader.md +0 -33
  836. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  837. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  838. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  839. package/cjs/components/MenuItem/MenuItem.md +0 -139
  840. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  841. package/cjs/components/MiniModal/MiniModal.md +0 -231
  842. package/cjs/components/Modal/Modal.md +0 -56
  843. package/cjs/components/Paging/Paging.md +0 -57
  844. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  845. package/cjs/components/Radio/Radio.md +0 -57
  846. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  847. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  848. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  849. package/cjs/components/Select/Select.md +0 -113
  850. package/cjs/components/SidePage/SidePage.md +0 -65
  851. package/cjs/components/SingleToast/SingleToast.md +0 -36
  852. package/cjs/components/Spinner/Spinner.md +0 -36
  853. package/cjs/components/Sticky/Sticky.md +0 -28
  854. package/cjs/components/Switcher/Switcher.md +0 -111
  855. package/cjs/components/Tabs/Tab.md +0 -73
  856. package/cjs/components/Tabs/Tabs.md +0 -54
  857. package/cjs/components/Textarea/Textarea.md +0 -58
  858. package/cjs/components/Toast/Toast.md +0 -69
  859. package/cjs/components/Toggle/Toggle.md +0 -110
  860. package/cjs/components/Token/Token.md +0 -131
  861. package/cjs/components/TokenInput/TokenInput.md +0 -308
  862. package/cjs/components/Tooltip/Tooltip.md +0 -322
  863. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  864. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  865. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  866. package/cjs/internal/DataTids/DataTids.js +0 -50
  867. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  868. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  869. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  870. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  871. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  872. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  873. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  874. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  875. package/cjs/lib/SSRSafe.d.ts +0 -2
  876. package/cjs/lib/SSRSafe.js +0 -5
  877. package/cjs/lib/SSRSafe.js.map +0 -1
  878. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  879. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  880. package/cjs/lib/theming/ThemeContext.md +0 -265
  881. package/components/Autocomplete/Autocomplete.md +0 -113
  882. package/components/Button/Button.md +0 -261
  883. package/components/Calendar/Calendar.md +0 -276
  884. package/components/Calendar/CalendarDay.md +0 -70
  885. package/components/Center/Center.md +0 -26
  886. package/components/Checkbox/Checkbox.md +0 -171
  887. package/components/ComboBox/ComboBox.md +0 -574
  888. package/components/CurrencyInput/CurrencyInput.md +0 -39
  889. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  890. package/components/DateInput/DateInput.md +0 -111
  891. package/components/DatePicker/DatePicker.md +0 -368
  892. package/components/Dropdown/Dropdown.md +0 -45
  893. package/components/DropdownMenu/DropdownMenu.md +0 -290
  894. package/components/FileUploader/FileUploader.md +0 -131
  895. package/components/FxInput/FxInput.md +0 -31
  896. package/components/Gapped/Gapped.md +0 -44
  897. package/components/GlobalLoader/GlobalLoader.md +0 -97
  898. package/components/Group/Group.md +0 -19
  899. package/components/Hint/Hint.md +0 -86
  900. package/components/Input/Input.md +0 -87
  901. package/components/Kebab/Kebab.md +0 -306
  902. package/components/Link/Link.md +0 -182
  903. package/components/Loader/Loader.md +0 -33
  904. package/components/MaskedInput/MaskedInput.md +0 -114
  905. package/components/MenuFooter/MenuFooter.md +0 -27
  906. package/components/MenuHeader/MenuHeader.md +0 -35
  907. package/components/MenuItem/MenuItem.md +0 -139
  908. package/components/MenuSeparator/MenuSeparator.md +0 -14
  909. package/components/MiniModal/MiniModal.md +0 -231
  910. package/components/Modal/Modal.md +0 -56
  911. package/components/Paging/Paging.md +0 -57
  912. package/components/PasswordInput/PasswordInput.md +0 -29
  913. package/components/Radio/Radio.md +0 -57
  914. package/components/RadioGroup/RadioGroup.md +0 -44
  915. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  916. package/components/ScrollContainer/ScrollContainer.md +0 -224
  917. package/components/Select/Select.md +0 -113
  918. package/components/SidePage/SidePage.md +0 -65
  919. package/components/SingleToast/SingleToast.md +0 -36
  920. package/components/Spinner/Spinner.md +0 -36
  921. package/components/Sticky/Sticky.md +0 -28
  922. package/components/Switcher/Switcher.md +0 -111
  923. package/components/Tabs/Tab.md +0 -73
  924. package/components/Tabs/Tabs.md +0 -54
  925. package/components/Textarea/Textarea.md +0 -58
  926. package/components/Toast/Toast.md +0 -69
  927. package/components/Toggle/Toggle.md +0 -110
  928. package/components/Token/Token.md +0 -131
  929. package/components/TokenInput/TokenInput.md +0 -308
  930. package/components/Tooltip/Tooltip.md +0 -322
  931. package/components/TooltipMenu/TooltipMenu.md +0 -241
  932. package/internal/DataTids/DATATIDS.md +0 -12
  933. package/internal/DataTids/DataTids/DataTids.js +0 -69
  934. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  935. package/internal/DataTids/DataTids/package.json +0 -6
  936. package/internal/DataTids/DataTids.d.ts +0 -12
  937. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  938. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  939. package/internal/DataTids/DataTids.styles/package.json +0 -6
  940. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  941. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  942. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  943. package/internal/DataTids/componentsDataTids/package.json +0 -6
  944. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  945. package/internal/ThemePlayground/Playground.md +0 -7
  946. package/lib/SSRSafe/SSRSafe.js +0 -4
  947. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  948. package/lib/SSRSafe/package.json +0 -6
  949. package/lib/SSRSafe.d.ts +0 -2
  950. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  951. package/lib/locale/LOCALECONTEXT.md +0 -222
  952. package/lib/theming/ThemeContext.md +0 -265
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactIs","_globalObject","_delay","exports","delay","emptyHandler","CancelationError","_Error","_this","_len","arguments","length","args","Array","_key","call","apply","concat","code","_inheritsLoose2","default","_wrapNativeSuper2","Error","taskWithDelay","task","ms","cancelationToken","Promise","resolve","reject","globalObject","setTimeout","then","catch","isFunction","x","isFunctionalComponent","Component","Boolean","prototype","isReactComponent","isClassComponent","isIntrinsicElement","element","type","isRefableElement","isForwardRef","escapeRegExpSpecChars","s","replace","getRandomID","Math","random","toString","slice","isExternalLink","link","isBrowser","RegExp","location","host","test","isReactUINode","componentName","node","isValidElement","Object","hasOwnProperty","__KONTUR_REACT_UI__","KB","UNITS","calculateDecimals","decimals","formatBytes","bytes","calculatedDecimals","i","floor","log2","formattedBytes","parseFloat","pow","toFixed","isNonNullable","value","undefined","isNullable","isReactUIComponent","name","child","_child$type","mergeRefs","refs","forEach","ref","current","extractDataProps","props","dataProps","restWithoutDataProps","entries","map","_ref","startsWith","startsWithOneOf","searchKeys","inputString","keyIndex","findIndex","key","isButton","isInput","isFxInput","isAutocomplete","isPasswordInput","isCurrencyInput","isSelect","isDropdown","isDropdownMenu","isKonturIcon","icon","clickOutside","event","document","createEvent","initEvent","body","dispatchEvent","isElement","el","nodeType","Node","ELEMENT_NODE"],"sources":["utils.ts"],"sourcesContent":["import type React from 'react';\nimport { isValidElement } from 'react';\nimport { isForwardRef } from 'react-is';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport type { CurrencyInputProps } from '../components/CurrencyInput';\nimport type { PasswordInputProps } from '../components/PasswordInput';\nimport type { InputProps } from '../components/Input';\nimport type { AutocompleteProps } from '../components/Autocomplete';\nimport type { FxInputProps } from '../components/FxInput';\nimport type { SelectProps } from '../components/Select';\nimport type { DropdownProps } from '../components/Dropdown';\nimport type { DropdownMenuProps } from '../components/DropdownMenu';\nimport type { ButtonProps } from '../components/Button';\n\nexport { delay } from './delay';\n\n// NOTE: Copy-paste from @types/react\nexport type Defaultize<P, D> = P extends any\n ? string extends keyof P\n ? P\n : Pick<P, Exclude<keyof P, keyof D>> &\n Partial<Pick<P, Extract<keyof P, keyof D>>> &\n Partial<Pick<D, Exclude<keyof D, keyof P>>>\n : never;\n\nexport type DefaultizeProps<C, P> = C extends { defaultProps: infer D } ? Defaultize<P, D> : P;\n\nexport type AnyObject = Record<string, unknown>;\n\nexport type NoInfer<T> = T extends infer U ? U : never;\n\nexport const emptyHandler = () => {\n /* noop */\n};\n\nexport class CancelationError extends Error {\n public code = 'CancelationError';\n}\n\nexport function taskWithDelay(task: () => void, ms: number) {\n let cancelationToken: () => void = () => null;\n\n new Promise((resolve, reject) => {\n cancelationToken = reject;\n globalObject.setTimeout(resolve, ms);\n })\n .then(task)\n .catch(() => null);\n\n return cancelationToken;\n}\n\nexport type FunctionWithParams<R = any> = (...args: any[]) => R;\n\nexport function isFunction<T>(x: T | FunctionWithParams): x is FunctionWithParams {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent));\n}\n\nexport function isClassComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent);\n}\n\nexport function isIntrinsicElement(element: React.ReactElement): boolean {\n return typeof element.type === 'string';\n}\n\nexport function isRefableElement(element: React.ReactElement): boolean {\n return Boolean(isIntrinsicElement(element) || isClassComponent(element.type) || isForwardRef(element));\n}\n\nexport function escapeRegExpSpecChars(s: string): string {\n return s.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport const getRandomID = (): string => Math.random().toString(16).slice(2);\n\nexport const isExternalLink = (link: string): boolean => {\n return isBrowser(globalObject) && new RegExp(`^(https?:)?//(?!${globalObject.location.host})\\\\S+`, 'gi').test(link);\n};\n\n/**\n * Check if the given ReactNode is an element of the specified ReactUI component\n */\nexport const isReactUINode = (componentName: string, node: React.ReactNode): boolean => {\n if (isValidElement(node)) {\n return (\n Object.prototype.hasOwnProperty.call(node.type, '__KONTUR_REACT_UI__') &&\n // @ts-expect-error: React doesn't know about existence of __KONTUR_REACT_UI__.\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n\nconst KB = 1024;\nconst UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nconst calculateDecimals = (decimals: number) => {\n if (decimals < 0) {\n return 0;\n }\n\n return 0;\n};\n\nexport const formatBytes = (bytes: number, decimals = 2): string | null => {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n if (!bytes) {\n return null;\n }\n\n const calculatedDecimals = calculateDecimals(decimals);\n\n const i = Math.floor(Math.log2(bytes) / Math.log2(KB));\n const formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(calculatedDecimals));\n\n return `${formattedBytes} ${UNITS[i]}`;\n};\n\n/**\n * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента\n *\n * @param value Значение, которое нужно проверить и исключить из него типы\n * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false\n */\nexport const isNonNullable = <T>(value: T): value is NonNullable<T> => {\n return value !== null && value !== undefined;\n};\n\n/**\n * Checks if the value `null` or `undefined`.\n *\n * @param value Value to check for `null` and `undefined`.\n * @returns Returns `true` if `value` is `null` or `undefined`, else `false`.\n */\nexport const isNullable = (value: unknown): value is null | undefined => {\n return value === null || value === undefined;\n};\n\n/**\n * Creates a function that checks if the given `child`\n * is an instance of some component specified by `name`.\n *\n * @param name Component name for which function will be created.\n * @returns A function that checks if the given `child` is an instance of the component specified by `name`.\n */\nexport const isReactUIComponent = <P = any>(name: string) => {\n return (child: React.ReactNode): child is React.ReactElement<P> => {\n // @ts-expect-error: Property `type` doesn't exist on type `React.ReactNode`, but exists on type `React.ReactElement` meanwhile `React.ReactElement` is not compatible with `React` `children` type.\n return child?.type?.__KONTUR_REACT_UI__ === name;\n };\n};\n\n/** @deprecated Переехал в `lib/mergeRefs.ts`. Со следующей мажорной версии от сюда будет удален*/\nexport function mergeRefs<T = any>(refs: Array<React.MutableRefObject<T> | React.LegacyRef<T>>): React.RefCallback<T> {\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (isNonNullable(ref)) {\n return ((ref as React.MutableRefObject<T | null>).current = value);\n }\n });\n };\n}\n\n/**\n * Extracts all data attributes from props and returns them as well as props.\n *\n * @param props Props object to extract data attributes from.\n * @returns Separated data attributes and all other props.\n */\nexport const extractDataProps = <T extends Record<string, any>>(props: T) => {\n const dataProps: Record<string, any> = {};\n const restWithoutDataProps: Record<string, any> = {};\n\n Object.entries(props).map(([name, value]) => {\n if (name.startsWith('data-')) {\n return (dataProps[name] = value);\n }\n\n return (restWithoutDataProps[name] = value);\n });\n\n return { dataProps, restWithoutDataProps };\n};\n\n/**\n * Basically `.startsWith` for arrays.\n *\n * @param searchKeys Array of strings to test against `inputString`.\n * @param inputString String on which search will be performed.\n * @returns `true` if `inputString` starts with one of keys, else `false`.\n */\nexport const startsWithOneOf = (searchKeys: string[], inputString: string) => {\n const keyIndex = searchKeys.findIndex((key) => {\n return inputString.startsWith(key);\n });\n\n return keyIndex >= 0;\n};\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\nexport const isInput = isReactUIComponent<InputProps>('Input');\nexport const isFxInput = isReactUIComponent<FxInputProps>('FxInput');\nexport const isAutocomplete = isReactUIComponent<AutocompleteProps>('Autocomplete');\nexport const isPasswordInput = isReactUIComponent<PasswordInputProps>('PasswordInput');\nexport const isCurrencyInput = isReactUIComponent<CurrencyInputProps>('CurrencyInput');\nexport const isSelect = isReactUIComponent<SelectProps<unknown, unknown>>('Select');\nexport const isDropdown = isReactUIComponent<DropdownProps>('Dropdown');\nexport const isDropdownMenu = isReactUIComponent<DropdownMenuProps>('DropdownMenu');\n\nexport const isKonturIcon = (icon: React.ReactElement) => {\n return Object.prototype.hasOwnProperty.call(icon?.type, '__KONTUR_ICON__');\n};\n\nexport function clickOutside() {\n const event = document.createEvent('HTMLEvents');\n event.initEvent('mousedown', true, true);\n\n document.body.dispatchEvent(event);\n}\n\nexport function isElement(el: unknown): el is Element {\n return !!el && typeof el === 'object' && 'nodeType' in el && el.nodeType === Node.ELEMENT_NODE;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactIs","_globalObject","_delay","exports","delay","emptyHandler","CancelationError","_Error","_this","_len","arguments","length","args","Array","_key","call","apply","concat","code","_inheritsLoose2","default","_wrapNativeSuper2","Error","taskWithDelay","task","ms","cancelationToken","Promise","resolve","reject","globalObject","setTimeout","then","catch","isFunction","x","isFunctionalComponent","Component","Boolean","prototype","isReactComponent","isClassComponent","isIntrinsicElement","element","type","isRefableElement","isForwardRef","escapeRegExpSpecChars","s","replace","getRandomID","Math","random","toString","slice","isExternalLink","link","isBrowser","RegExp","location","host","test","isReactUINode","componentName","node","isValidElement","Object","hasOwnProperty","__KONTUR_REACT_UI__","KB","UNITS","calculateDecimals","decimals","formatBytes","bytes","calculatedDecimals","i","floor","log2","formattedBytes","parseFloat","pow","toFixed","isNonNullable","value","undefined","isNullable","isReactUIComponent","name","child","_child$type","isReactUIInstance","instance","constructor","mergeRefs","refs","forEach","ref","current","extractDataProps","props","dataProps","restWithoutDataProps","entries","map","_ref","startsWith","startsWithOneOf","searchKeys","inputString","keyIndex","findIndex","key","isButton","isInput","isFxInput","isAutocomplete","isPasswordInput","isCurrencyInput","isSelect","isDropdown","isDropdownMenu","isHint","isTooltip","isKonturIcon","icon","clickOutside","eventType","event","document","createEvent","initEvent","body","dispatchEvent","isElement","el","nodeType","Node","ELEMENT_NODE","isDocument","DOCUMENT_NODE","isWindow","window","tryGetDocument","ownerDocument","tryGetWindow","doc","defaultView"],"sources":["utils.ts"],"sourcesContent":["import type React from 'react';\nimport { isValidElement } from 'react';\nimport { isForwardRef } from 'react-is';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport type { CurrencyInputProps } from '../components/CurrencyInput';\nimport type { PasswordInputProps } from '../components/PasswordInput';\nimport type { InputProps } from '../components/Input';\nimport type { AutocompleteProps } from '../components/Autocomplete';\nimport type { FxInputProps } from '../components/FxInput';\nimport type { SelectProps } from '../components/Select';\nimport type { DropdownProps } from '../components/Dropdown';\nimport type { DropdownMenuProps } from '../components/DropdownMenu';\nimport type { ButtonProps } from '../components/Button';\nimport type { TooltipProps } from '../components/Tooltip';\nimport type { HintProps } from '../components/Hint';\n\nexport { delay } from './delay';\n\n// NOTE: Copy-paste from @types/react\nexport type Defaultize<P, D> = P extends any\n ? string extends keyof P\n ? P\n : Pick<P, Exclude<keyof P, keyof D>> &\n Partial<Pick<P, Extract<keyof P, keyof D>>> &\n Partial<Pick<D, Exclude<keyof D, keyof P>>>\n : never;\n\nexport type DefaultizeProps<C, P> = C extends { defaultProps: infer D } ? Defaultize<P, D> : P;\n\nexport type AnyObject = Record<string, unknown>;\n\nexport type NoInfer<T> = T extends infer U ? U : never;\n\nexport const emptyHandler = () => {\n /* noop */\n};\n\nexport class CancelationError extends Error {\n public code = 'CancelationError';\n}\n\nexport function taskWithDelay(task: () => void, ms: number) {\n let cancelationToken: () => void = () => null;\n\n new Promise((resolve, reject) => {\n cancelationToken = reject;\n globalObject.setTimeout(resolve, ms);\n })\n .then(task)\n .catch(() => null);\n\n return cancelationToken;\n}\n\nexport type FunctionWithParams<R = any> = (...args: any[]) => R;\n\nexport function isFunction<T>(x: T | FunctionWithParams): x is FunctionWithParams {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent));\n}\n\nexport function isClassComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent);\n}\n\nexport function isIntrinsicElement(element: React.ReactElement): boolean {\n return typeof element.type === 'string';\n}\n\nexport function isRefableElement(element: React.ReactElement): boolean {\n return Boolean(isIntrinsicElement(element) || isClassComponent(element.type) || isForwardRef(element));\n}\n\nexport function escapeRegExpSpecChars(s: string): string {\n return s.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport const getRandomID = (): string => Math.random().toString(16).slice(2);\n\nexport const isExternalLink = (link: string): boolean => {\n return isBrowser(globalObject) && new RegExp(`^(https?:)?//(?!${globalObject.location.host})\\\\S+`, 'gi').test(link);\n};\n\n/**\n * Check if the given ReactNode is an element of the specified ReactUI component\n */\nexport const isReactUINode = (componentName: string, node: React.ReactNode): boolean => {\n if (isValidElement(node)) {\n return (\n Object.prototype.hasOwnProperty.call(node.type, '__KONTUR_REACT_UI__') &&\n // @ts-expect-error: React doesn't know about existence of __KONTUR_REACT_UI__.\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n\nconst KB = 1024;\nconst UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nconst calculateDecimals = (decimals: number) => {\n if (decimals < 0) {\n return 0;\n }\n\n return 0;\n};\n\nexport const formatBytes = (bytes: number, decimals = 2): string | null => {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n if (!bytes) {\n return null;\n }\n\n const calculatedDecimals = calculateDecimals(decimals);\n\n const i = Math.floor(Math.log2(bytes) / Math.log2(KB));\n const formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(calculatedDecimals));\n\n return `${formattedBytes} ${UNITS[i]}`;\n};\n\n/**\n * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента\n *\n * @param value Значение, которое нужно проверить и исключить из него типы\n * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false\n */\nexport const isNonNullable = <T>(value: T): value is NonNullable<T> => {\n return value !== null && value !== undefined;\n};\n\n/**\n * Checks if the value `null` or `undefined`.\n *\n * @param value Value to check for `null` and `undefined`.\n * @returns Returns `true` if `value` is `null` or `undefined`, else `false`.\n */\nexport const isNullable = (value: unknown): value is null | undefined => {\n return value === null || value === undefined;\n};\n\n/**\n * Creates a function that checks if the given `child`\n * is an instance of some component specified by `name`.\n *\n * @param name Component name for which function will be created.\n * @returns A function that checks if the given `child` is an instance of the component specified by `name`.\n */\nexport const isReactUIComponent = <P = any>(name: string) => {\n return (child: React.ReactNode): child is React.ReactElement<P> => {\n // @ts-expect-error: Property `type` doesn't exist on type `React.ReactNode`, but exists on type `React.ReactElement` meanwhile `React.ReactElement` is not compatible with `React` `children` type.\n return child?.type?.__KONTUR_REACT_UI__ === name;\n };\n};\n\n/**\n * Checks if a component instance is a ReactUI component with the given name.\n *\n * @typeParam T Expected ReactUI component type.\n * @param instance Component instance.\n * @param componentName ReactUI component name.\n * @returns `true` if it matches, otherwise `false`.\n */\nexport const isReactUIInstance = <T extends React.Component>(\n instance: React.Component,\n componentName: string,\n): instance is T => {\n const constructor = instance?.constructor;\n return '__KONTUR_REACT_UI__' in constructor && constructor.__KONTUR_REACT_UI__ === componentName;\n};\n\n/** @deprecated Переехал в `lib/mergeRefs.ts`. Со следующей мажорной версии от сюда будет удален*/\nexport function mergeRefs<T = any>(refs: Array<React.MutableRefObject<T> | React.LegacyRef<T>>): React.RefCallback<T> {\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (isNonNullable(ref)) {\n return ((ref as React.MutableRefObject<T | null>).current = value);\n }\n });\n };\n}\n\n/**\n * Extracts all data attributes from props and returns them as well as props.\n *\n * @param props Props object to extract data attributes from.\n * @returns Separated data attributes and all other props.\n */\nexport const extractDataProps = <T extends Record<string, any>>(props: T) => {\n const dataProps: Record<string, any> = {};\n const restWithoutDataProps: Record<string, any> = {};\n\n Object.entries(props).map(([name, value]) => {\n if (name.startsWith('data-')) {\n return (dataProps[name] = value);\n }\n\n return (restWithoutDataProps[name] = value);\n });\n\n return { dataProps, restWithoutDataProps };\n};\n\n/**\n * Basically `.startsWith` for arrays.\n *\n * @param searchKeys Array of strings to test against `inputString`.\n * @param inputString String on which search will be performed.\n * @returns `true` if `inputString` starts with one of keys, else `false`.\n */\nexport const startsWithOneOf = (searchKeys: string[], inputString: string) => {\n const keyIndex = searchKeys.findIndex((key) => {\n return inputString.startsWith(key);\n });\n\n return keyIndex >= 0;\n};\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\nexport const isInput = isReactUIComponent<InputProps>('Input');\nexport const isFxInput = isReactUIComponent<FxInputProps>('FxInput');\nexport const isAutocomplete = isReactUIComponent<AutocompleteProps>('Autocomplete');\nexport const isPasswordInput = isReactUIComponent<PasswordInputProps>('PasswordInput');\nexport const isCurrencyInput = isReactUIComponent<CurrencyInputProps>('CurrencyInput');\nexport const isSelect = isReactUIComponent<SelectProps<unknown, unknown>>('Select');\nexport const isDropdown = isReactUIComponent<DropdownProps>('Dropdown');\nexport const isDropdownMenu = isReactUIComponent<DropdownMenuProps>('DropdownMenu');\nexport const isHint = isReactUIComponent<HintProps>('Hint');\nexport const isTooltip = isReactUIComponent<TooltipProps>('Tooltip');\n\nexport const isKonturIcon = (icon: React.ReactElement) => {\n return Object.prototype.hasOwnProperty.call(icon?.type, '__KONTUR_ICON__');\n};\n\nexport function clickOutside(eventType: 'touchstart' | 'mousedown' | 'pointerup' = 'mousedown') {\n const event = document.createEvent('HTMLEvents');\n event.initEvent(eventType, true, true);\n document.body.dispatchEvent(event);\n}\n\nexport function isElement(el: unknown): el is Element {\n return !!el && typeof el === 'object' && 'nodeType' in el && el.nodeType === Node.ELEMENT_NODE;\n}\n\nexport function isDocument(node?: Document | null): node is Document {\n return !!node && typeof node === 'object' && node.nodeType === Node.DOCUMENT_NODE;\n}\n\nexport function isWindow(node?: Window | null): node is Window {\n return !!node && typeof node === 'object' && node.window === node;\n}\n\nexport function tryGetDocument(node?: Node | null): Document | null {\n return !!node && isDocument(node.ownerDocument) ? node.ownerDocument : null;\n}\n\nexport function tryGetWindow(node?: Node | null): Window | null {\n const doc = tryGetDocument(node);\n return isDocument(doc) ? doc.defaultView : null;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom/vitest';
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vite").UserConfig;
2
+ export default _default;
@@ -1,10 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
- var _excluded = ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "menuPos", "width", "mobileMenuHeaderText", "aria-label"];
4
+ var _excluded = ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "menuPos", "width", "mobileMenuHeaderText", "type"];
5
5
  var _dec, _class, _Autocomplete;
6
6
  import React from 'react';
7
- import PropTypes from 'prop-types';
7
+ import { globalObject } from '@skbkontur/global-object';
8
8
  import { MenuMessage } from "../../../internal/MenuMessage";
9
9
  import { locale } from "../../../lib/locale/decorators";
10
10
  import { getRandomID, isNullable } from "../../../lib/utils";
@@ -25,6 +25,10 @@ import { getDOMRect } from "../../../lib/dom/getDOMRect";
25
25
  import { Popup } from "../../../internal/Popup";
26
26
  import { getMenuPositions } from "../../../lib/getMenuPositions";
27
27
  import { ZIndex } from "../../../internal/ZIndex";
28
+ import { getSafeMaskInputType, MaskedInput } from "../../MaskedInput";
29
+ import { ReactUIFeatureFlagsContext } from "../../../lib/featureFlagsContext/ReactUIFeatureFlagsContext";
30
+ import { getFullReactUIFlagsContext } from "../../../lib/featureFlagsContext/FeatureFlagsHelpers";
31
+ import { withSize } from "../../../lib/size/SizeDecorator";
28
32
  import { styles } from "../Autocomplete.styles";
29
33
  import { AutocompleteLocaleHelper } from "../locale";
30
34
  import { getAutocompleteTheme } from "../getAutocompleteTheme";
@@ -55,7 +59,7 @@ export var AutocompleteIds = {
55
59
  * Подсказки определяются в пропе `source`.
56
60
  * Все свойства передаются во внутренний `Input`.
57
61
  */
58
- export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelper), responsiveLayout(_class = rootNode(_class = _dec(_class = (_Autocomplete = /*#__PURE__*/function (_React$Component) {
62
+ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelper), responsiveLayout(_class = rootNode(_class = _dec(_class = withSize(_class = (_Autocomplete = /*#__PURE__*/function (_React$Component) {
59
63
  function Autocomplete() {
60
64
  var _this;
61
65
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -92,11 +96,12 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
92
96
  _props$width = props.width,
93
97
  width = _props$width === void 0 ? _this.theme.inputWidth : _props$width,
94
98
  mobileMenuHeaderText = props.mobileMenuHeaderText,
95
- ariaLabel = props['aria-label'],
99
+ type = props.type,
96
100
  rest = _objectWithoutPropertiesLoose(props, _excluded);
97
101
  var inputProps = _extends({}, rest, {
98
102
  width: '100%',
99
103
  autoComplete: 'off',
104
+ 'aria-controls': _this.menuId,
100
105
  onValueChange: _this.handleValueChange,
101
106
  onKeyDown: _this.handleKeyDown,
102
107
  onFocus: _this.handleFocus,
@@ -115,14 +120,22 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
115
120
  width: width
116
121
  },
117
122
  ref: _this.refRootSpan
118
- }, /*#__PURE__*/
119
-
120
- React.createElement(Input, _extends({
121
- "aria-label": ariaLabel,
122
- "aria-controls": _this.menuId
123
- }, inputProps)), isMobile ? _this.renderMobileMenu() : _this.renderMenu()))
123
+ }, _this.getInput(inputProps), isMobile ? _this.renderMobileMenu() : _this.renderMenu()))
124
124
  );
125
125
  };
126
+ _this.getInput = function (inputProps) {
127
+ return _this.featureFlags.autocompleteUseMaskedInput && _this.props.mask ? /*#__PURE__*/
128
+ React.createElement(MaskedInput, _extends({}, inputProps, {
129
+ type: getSafeMaskInputType(_this.props.type),
130
+ mask: _this.props.mask,
131
+ maskChar: _this.props.maskChar
132
+ })) : /*#__PURE__*/
133
+
134
+ React.createElement(Input, _extends({}, inputProps, {
135
+ mask: _this.props.mask,
136
+ maskChar: _this.props.maskChar
137
+ }));
138
+ };
126
139
  _this.renderMobileMenu = function () {
127
140
  var _this$mobilePopup;
128
141
  var inputProps = {
@@ -132,13 +145,17 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
132
145
  onValueChange: _this.handleValueChange,
133
146
  onKeyPress: _this.handleKeyPressMobile,
134
147
  value: _this.props.value,
135
- placeholder: _this.locale.enterValue
148
+ placeholder: _this.locale.enterValue,
149
+ type: _this.props.type,
150
+ inputMode: _this.props.inputMode,
151
+ 'aria-label': _this.props['aria-label'],
152
+ 'aria-controls': _this.menuId
136
153
  };
137
154
  var items = _this.state.items;
138
155
  return /*#__PURE__*/(
139
156
  React.createElement(MobilePopup, {
140
157
  id: _this.menuId,
141
- headerChildComponent: /*#__PURE__*/React.createElement(Input, inputProps),
158
+ headerChildComponent: _this.getInput(inputProps),
142
159
  caption: _this.props.mobileMenuHeaderText,
143
160
  opened: _this.state.isMobileOpened,
144
161
  onCloseRequest: _this.handleCloseMobile,
@@ -162,7 +179,7 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
162
179
  onClick: _this.handleMenuItemClick(i),
163
180
  key: i,
164
181
  isMobile: isMobile,
165
- size: _this.props.size
182
+ size: _this.size
166
183
  }, _this.getProps().renderItem(item))
167
184
  );
168
185
  }) : null;
@@ -269,14 +286,22 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
269
286
  }
270
287
  _inheritsLoose(Autocomplete, _React$Component);
271
288
  var _proto = Autocomplete.prototype; /**
272
- * @public
289
+ * @public focus method
290
+ * @description Focuses the input.
291
+ * @example
292
+ * <Autocomplete ref={autocompleteRef} />
293
+ * <button onClick={() => autocompleteRef.current?.focus()}>Focus</button>
273
294
  */
274
295
  _proto.focus = function focus() {
275
296
  if (this.input) {
276
297
  this.input.focus();
277
298
  }
278
299
  } /**
279
- * @public
300
+ * @public blur method
301
+ * @description Blurs the input.
302
+ * @example
303
+ * <Autocomplete ref={autocompleteRef} />
304
+ * <button onClick={() => autocompleteRef.current?.blur()}>Blur</button>
280
305
  */;
281
306
  _proto.blur = function blur() {
282
307
  this.handleBlur();
@@ -288,13 +313,16 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
288
313
  };
289
314
  _proto.render = function render() {
290
315
  var _this2 = this;
291
- return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
292
- _this2.theme = getAutocompleteTheme(theme);
293
- return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
294
- value: _this2.theme
295
- }, /*#__PURE__*/React.createElement(CommonWrapper, _extends({
296
- rootNodeRef: _this2.setRootNode
297
- }, _this2.getProps()), _this2.renderMain));
316
+ return /*#__PURE__*/React.createElement(ReactUIFeatureFlagsContext.Consumer, null, function (flags) {
317
+ _this2.featureFlags = getFullReactUIFlagsContext(flags);
318
+ return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
319
+ _this2.theme = getAutocompleteTheme(theme);
320
+ return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
321
+ value: _this2.theme
322
+ }, /*#__PURE__*/React.createElement(CommonWrapper, _extends({
323
+ rootNodeRef: _this2.setRootNode
324
+ }, _this2.getProps()), _this2.renderMain));
325
+ });
298
326
  });
299
327
  };
300
328
  _proto.renderHints = function renderHints() {
@@ -321,12 +349,13 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
321
349
  width = _this$getProps.width,
322
350
  preventWindowScroll = _this$getProps.preventWindowScroll,
323
351
  disablePortal = _this$getProps.disablePortal;
352
+ var calculatedMenuWidth = menuWidth ? '100%' : width && getDOMRect(this.rootSpan).width;
324
353
  var menuProps = {
325
354
  ref: this.refMenu,
326
355
  maxHeight: menuMaxHeight,
327
356
  hasShadow: false,
328
357
  hasMargin: false,
329
- width: menuWidth || width && getDOMRect(this.rootSpan).width,
358
+ width: calculatedMenuWidth,
330
359
  preventWindowScroll: preventWindowScroll
331
360
  };
332
361
  if (!items || items.length === 0) {
@@ -360,6 +389,7 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
360
389
  this.choose(index);
361
390
  };
362
391
  _proto.choose = function choose(index) {
392
+ var _this4 = this;
363
393
  if (!this.state.items) {
364
394
  return;
365
395
  }
@@ -369,11 +399,14 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
369
399
  selected: -1,
370
400
  items: null
371
401
  });
372
- this.fireChange(value);
373
- this.blur();
402
+ this.fireChange(value); // NOTE: этот таймаут - костыль. Проблема в старом ReactInputMask, он сеттит пустой value при потере фокуса.
403
+ // Можно будет убрать после полного перехода на MaskedInput
404
+ globalObject.setTimeout(function () {
405
+ _this4.blur();
406
+ }, 0);
374
407
  };
375
408
  _proto.updateItems = function updateItems(value) {
376
- var _this4 = this;
409
+ var _this5 = this;
377
410
  if (!this.opened) {
378
411
  return;
379
412
  }
@@ -391,8 +424,8 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
391
424
  promise = match(pattern, source);
392
425
  }
393
426
  promise.then(function (items) {
394
- if (_this4.opened && expectingId === _this4.requestId) {
395
- _this4.setState({
427
+ if (_this5.opened && expectingId === _this5.requestId) {
428
+ _this5.setState({
396
429
  items: items,
397
430
  selected: -1
398
431
  });
@@ -405,31 +438,10 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
405
438
  }
406
439
  };
407
440
  return Autocomplete;
408
- }(React.Component), _Autocomplete.__KONTUR_REACT_UI__ = 'Autocomplete', _Autocomplete.displayName = 'Autocomplete', _Autocomplete.propTypes = {
409
- /**
410
- * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент
411
- * — *item*.
412
- */
413
- renderItem: PropTypes.func,
414
- /**
415
- * Если передан массив, то совпадения ищутся по этому массиву.
416
- *
417
- * Если передается функция, то она должна возвращать thenable, который
418
- * резолвится уже отфильтрованным массивом. Возвращенный thenable может
419
- * иметь метод cancel, который будет вызван при отмене поиска (пользователь
420
- * изменил строку поиска, автокомплит потерял фокус).
421
- * ```
422
- * function(pattern) {
423
- * return service.findAll(pattern);
424
- * }
425
- * ```
426
- */
427
- source: PropTypes.oneOfType([PropTypes.array, PropTypes.func])
428
- }, _Autocomplete.defaultProps = {
441
+ }(React.Component), _Autocomplete.__KONTUR_REACT_UI__ = 'Autocomplete', _Autocomplete.displayName = 'Autocomplete', _Autocomplete.defaultProps = {
429
442
  renderItem: renderItem,
430
- size: 'small',
431
443
  disablePortal: false,
432
444
  hasShadow: true,
433
445
  menuMaxHeight: 300,
434
446
  preventWindowScroll: true
435
- }, _Autocomplete)) || _class) || _class) || _class);
447
+ }, _Autocomplete)) || _class) || _class) || _class) || _class);
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","MenuMessage","locale","getRandomID","isNullable","ThemeContext","cx","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","getDOMRect","Popup","getMenuPositions","ZIndex","styles","AutocompleteLocaleHelper","getAutocompleteTheme","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","root","menu","AutocompleteIds","Autocomplete","_dec","_class","_Autocomplete","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","selected","focused","isMobileOpened","opened","input","menuId","requestId","getProps","defaultProps","renderMain","props","_cx","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","menuPos","_props$width","width","theme","inputWidth","mobileMenuHeaderText","ariaLabel","rest","_objectWithoutPropertiesLoose","_excluded","inputProps","_extends","autoComplete","handleValueChange","handleKeyDown","handleFocus","ref","refInput","createElement","onFocusOutside","handleBlur","onClickOutside","handleClickOutside","active","className","noPortal","style","refRootSpan","renderMobileMenu","renderMenu","_this$mobilePopup","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","enterValue","id","headerChildComponent","caption","onCloseRequest","handleCloseMobile","refMobilePopup","refMenu","onItemClick","mobilePopup","close","disableScrollContainer","maxHeight","getItems","renderHints","map","i","onClick","handleMenuItemClick","key","size","fireChange","setState","e","_this$mobilePopup2","event","blur","preventDefault","up","down","enter","getAnchor","el","span","rootSpan","_inheritsLoose","_proto","prototype","focus","componentDidUpdate","prevProps","updateItems","render","_this2","Consumer","Provider","rootNodeRef","setRootNode","notFound","updateValue","_this$getProps","menuWidth","menuProps","hasMargin","priority","priorities","PopupMenu","anchorElement","minWidth","undefined","positions","margin","parseInt","menuOffsetY","_this3","handleItemClick","index","button","choose","_this4","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","displayName","propTypes","func","oneOfType","array"],"sources":["Autocomplete.tsx"],"sourcesContent":["import type { AriaAttributes, KeyboardEvent } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { MenuMessage } from '../../internal/MenuMessage';\nimport { locale } from '../../lib/locale/decorators';\nimport { getRandomID, isNullable } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport type { SizeProp } from '../../lib/types/props';\nimport { Popup } from '../../internal/Popup';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\n\nimport { styles } from './Autocomplete.styles';\nimport type { AutocompleteLocale } from './locale';\nimport { AutocompleteLocaleHelper } from './locale';\nimport { getAutocompleteTheme } from './getAutocompleteTheme';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-label'>,\n Override<\n InputProps,\n {\n /** Задает функцию, которая отрисовывает элементы меню. */\n renderItem?: (item: string) => React.ReactNode;\n\n /** Задает промис, который резолвит элементы меню. */\n source?: string[] | ((patter: string) => Promise<string[]>);\n\n /** Отключает использование портала. */\n disablePortal?: boolean;\n\n /** Определяет, нужно ли показывать тень у выпадающего меню. */\n hasShadow?: boolean;\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает максимальную высоту выпадающего меню. */\n menuMaxHeight?: number | string;\n\n /** Задает ширину выпадающего меню. */\n menuWidth?: number | string;\n\n /** Отключает скролл окна, когда меню открыто. */\n preventWindowScroll?: boolean;\n\n /** Задает функцию, которая вызывается при изменении value. */\n onValueChange: (value: string) => void;\n\n /** Задает функцию, которая вызывается при потере автокомплитом фокуса. */\n onBlur?: () => void;\n\n /** Задаёт размер инпута. */\n size?: SizeProp;\n\n /** Задает значение автокомплита. */\n value: string;\n\n /** Задает текст заголовка выпадающего меню в мобильной версии. */\n mobileMenuHeaderText?: string;\n }\n > {\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\nexport const AutocompleteDataTids = {\n root: 'Autocomplete__root',\n menu: 'Autocomplete__menu',\n} as const;\n\nexport const AutocompleteIds = {\n menu: AutocompleteDataTids.menu,\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n AutocompleteProps,\n 'renderItem' | 'size' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'preventWindowScroll'\n >\n>;\n\n/**\n * `Autocomplete` — стандартный инпут с подсказками.\n *\n * Подсказки определяются в пропе `source`.\n * Все свойства передаются во внутренний `Input`.\n */\n@responsiveLayout\n@rootNode\n@locale('Autocomplete', AutocompleteLocaleHelper)\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n public static displayName = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps: DefaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private readonly locale!: AutocompleteLocale;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private menuId = AutocompleteIds.menu + getRandomID();\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getAutocompleteTheme(theme);\n return (\n <ThemeContext.Provider value={this.theme}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n menuPos,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n autoComplete: 'off',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span\n data-tid={AutocompleteDataTids.root}\n className={cx(styles.root(this.theme), {\n [styles.noPortal()]: disablePortal,\n })}\n style={{ width }}\n ref={this.refRootSpan}\n >\n <Input aria-label={ariaLabel} aria-controls={this.menuId} {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderHints(): React.ReactNode {\n const items = this.state.items;\n\n if (!this.props.value) {\n return <MenuMessage>{this.locale.enterValue}</MenuMessage>;\n }\n\n if (items?.length === 0 && this.props.value) {\n return <MenuMessage>{this.locale.notFound}</MenuMessage>;\n }\n\n if (isNullable(items) && this.props.value) {\n return <MenuMessage>{this.locale.updateValue}</MenuMessage>;\n }\n\n return null;\n }\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const { menuPos, menuAlign, menuMaxHeight, hasShadow, menuWidth, width, preventWindowScroll, disablePortal } =\n this.getProps();\n const menuProps = {\n ref: this.refMenu,\n maxHeight: menuMaxHeight,\n hasShadow: false,\n hasMargin: false,\n width: menuWidth || (width && getDOMRect(this.rootSpan).width),\n preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <Popup\n opened\n hasShadow={hasShadow}\n id={this.menuId}\n priority={ZIndex.priorities.PopupMenu}\n data-tid={AutocompleteDataTids.menu}\n anchorElement={this.getAnchor()}\n disablePortal={disablePortal}\n width={menuWidth}\n minWidth={menuWidth === undefined ? '100%' : undefined}\n positions={getMenuPositions(menuPos, menuAlign)}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </Popup>\n );\n }\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoComplete: 'off',\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: this.locale.enterValue,\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n id={this.menuId}\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n {this.renderHints()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile} size={this.props.size}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","globalObject","MenuMessage","locale","getRandomID","isNullable","ThemeContext","cx","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","getDOMRect","Popup","getMenuPositions","ZIndex","getSafeMaskInputType","MaskedInput","ReactUIFeatureFlagsContext","getFullReactUIFlagsContext","withSize","styles","AutocompleteLocaleHelper","getAutocompleteTheme","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","root","menu","AutocompleteIds","Autocomplete","_dec","_class","_Autocomplete","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","selected","focused","isMobileOpened","opened","input","menuId","requestId","getProps","defaultProps","renderMain","props","_cx","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","menuPos","_props$width","width","theme","inputWidth","mobileMenuHeaderText","type","rest","_objectWithoutPropertiesLoose","_excluded","inputProps","_extends","autoComplete","handleValueChange","handleKeyDown","handleFocus","ref","refInput","createElement","onFocusOutside","handleBlur","onClickOutside","handleClickOutside","active","className","noPortal","style","refRootSpan","getInput","renderMobileMenu","renderMenu","featureFlags","autocompleteUseMaskedInput","mask","maskChar","_this$mobilePopup","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","enterValue","inputMode","id","headerChildComponent","caption","onCloseRequest","handleCloseMobile","refMobilePopup","refMenu","onItemClick","mobilePopup","close","disableScrollContainer","maxHeight","getItems","renderHints","map","i","onClick","handleMenuItemClick","key","size","fireChange","setState","e","_this$mobilePopup2","event","blur","preventDefault","up","down","enter","getAnchor","el","span","rootSpan","_inheritsLoose","_proto","prototype","focus","componentDidUpdate","prevProps","updateItems","render","_this2","Consumer","flags","Provider","rootNodeRef","setRootNode","notFound","updateValue","_this$getProps","menuWidth","calculatedMenuWidth","menuProps","hasMargin","priority","priorities","PopupMenu","anchorElement","minWidth","undefined","positions","margin","parseInt","menuOffsetY","_this3","handleItemClick","index","button","choose","_this4","setTimeout","_this5","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Autocomplete.tsx"],"sourcesContent":["import type { AriaAttributes, KeyboardEvent } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { MenuMessage } from '../../internal/MenuMessage';\nimport { locale } from '../../lib/locale/decorators';\nimport { getRandomID, isNullable } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport type { SizeProp } from '../../lib/types/props';\nimport { Popup } from '../../internal/Popup';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { getSafeMaskInputType, MaskedInput, type MaskedProps } from '../MaskedInput';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext';\nimport { ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext';\nimport { getFullReactUIFlagsContext } from '../../lib/featureFlagsContext/FeatureFlagsHelpers';\nimport { withSize } from '../../lib/size/SizeDecorator';\n\nimport { styles } from './Autocomplete.styles';\nimport type { AutocompleteLocale } from './locale';\nimport { AutocompleteLocaleHelper } from './locale';\nimport { getAutocompleteTheme } from './getAutocompleteTheme';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-label'>,\n Pick<Partial<MaskedProps>, 'alwaysShowMask' | 'mask' | 'maskChar'>,\n Override<\n Omit<InputProps, 'alwaysShowMask' | 'mask' | 'maskChar'>,\n {\n /** Задает функцию, которая отрисовывает элементы меню. */\n renderItem?: (item: string) => React.ReactNode;\n\n /** Задает промис, который резолвит элементы меню. */\n source?: string[] | ((patter: string) => Promise<string[]>);\n\n /** Отключает использование портала. */\n disablePortal?: boolean;\n\n /** Определяет, нужно ли показывать тень у выпадающего меню. */\n hasShadow?: boolean;\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает максимальную высоту выпадающего меню. */\n menuMaxHeight?: number | string;\n\n /** Задает ширину выпадающего меню. */\n menuWidth?: number | string;\n\n /** Отключает скролл окна, когда меню открыто. */\n preventWindowScroll?: boolean;\n\n /** Задает функцию, которая вызывается при изменении value. */\n onValueChange: (value: string) => void;\n\n /** Задает функцию, которая вызывается при потере автокомплитом фокуса. */\n onBlur?: () => void;\n\n /** Задаёт размер инпута. */\n size?: SizeProp;\n\n /** Задает значение автокомплита. */\n value: string;\n\n /** Задает текст заголовка выпадающего меню в мобильной версии. */\n mobileMenuHeaderText?: string;\n }\n > {\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\nexport const AutocompleteDataTids = {\n root: 'Autocomplete__root',\n menu: 'Autocomplete__menu',\n} as const;\n\nexport const AutocompleteIds = {\n menu: AutocompleteDataTids.menu,\n} as const;\n\ntype DefaultProps = Required<\n Pick<AutocompleteProps, 'renderItem' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'preventWindowScroll'>\n>;\n\n/**\n * `Autocomplete` — стандартный инпут с подсказками.\n *\n * Подсказки определяются в пропе `source`.\n * Все свойства передаются во внутренний `Input`.\n */\n@responsiveLayout\n@rootNode\n@locale('Autocomplete', AutocompleteLocaleHelper)\n@withSize\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n public static displayName = 'Autocomplete';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private size!: SizeProp;\n private readonly locale!: AutocompleteLocale;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private menuId = AutocompleteIds.menu + getRandomID();\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n private featureFlags!: ReactUIFeatureFlags;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public focus method\n * @description Focuses the input.\n * @example\n * <Autocomplete ref={autocompleteRef} />\n * <button onClick={() => autocompleteRef.current?.focus()}>Focus</button>\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public blur method\n * @description Blurs the input.\n * @example\n * <Autocomplete ref={autocompleteRef} />\n * <button onClick={() => autocompleteRef.current?.blur()}>Blur</button>\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getAutocompleteTheme(theme);\n return (\n <ThemeContext.Provider value={this.theme}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n menuPos,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n type,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n autoComplete: 'off',\n 'aria-controls': this.menuId,\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span\n data-tid={AutocompleteDataTids.root}\n className={cx(styles.root(this.theme), {\n [styles.noPortal()]: disablePortal,\n })}\n style={{ width }}\n ref={this.refRootSpan}\n >\n {this.getInput(inputProps)}\n\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderHints(): React.ReactNode {\n const items = this.state.items;\n\n if (!this.props.value) {\n return <MenuMessage>{this.locale.enterValue}</MenuMessage>;\n }\n\n if (items?.length === 0 && this.props.value) {\n return <MenuMessage>{this.locale.notFound}</MenuMessage>;\n }\n\n if (isNullable(items) && this.props.value) {\n return <MenuMessage>{this.locale.updateValue}</MenuMessage>;\n }\n\n return null;\n }\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const { menuPos, menuAlign, menuMaxHeight, hasShadow, menuWidth, width, preventWindowScroll, disablePortal } =\n this.getProps();\n const calculatedMenuWidth = menuWidth ? '100%' : width && getDOMRect(this.rootSpan).width;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: menuMaxHeight,\n hasShadow: false,\n hasMargin: false,\n width: calculatedMenuWidth,\n preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <Popup\n opened\n hasShadow={hasShadow}\n id={this.menuId}\n priority={ZIndex.priorities.PopupMenu}\n data-tid={AutocompleteDataTids.menu}\n anchorElement={this.getAnchor()}\n disablePortal={disablePortal}\n width={menuWidth}\n minWidth={menuWidth === undefined ? '100%' : undefined}\n positions={getMenuPositions(menuPos, menuAlign)}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </Popup>\n );\n }\n\n private getInput = (inputProps: InputProps) => {\n return this.featureFlags.autocompleteUseMaskedInput && this.props.mask ? (\n <MaskedInput\n {...inputProps}\n type={getSafeMaskInputType(this.props.type)}\n mask={this.props.mask}\n maskChar={this.props.maskChar}\n />\n ) : (\n <Input {...inputProps} mask={this.props.mask} maskChar={this.props.maskChar} />\n );\n };\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoComplete: 'off',\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: this.locale.enterValue,\n type: this.props.type,\n inputMode: this.props.inputMode,\n 'aria-label': this.props['aria-label'],\n 'aria-controls': this.menuId,\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n id={this.menuId}\n headerChildComponent={this.getInput(inputProps)}\n caption={this.props.mobileMenuHeaderText}\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n {this.renderHints()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile} size={this.size}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n\n // NOTE: этот таймаут - костыль. Проблема в старом ReactInputMask, он сеттит пустой value при потере фокуса.\n // Можно будет убрать после полного перехода на MaskedInput\n globalObject.setTimeout(() => {\n this.blur();\n }, 0);\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,12 @@
1
1
  import type { AriaAttributes } from 'react';
2
2
  import React from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import type { InputProps } from '../Input';
5
4
  import type { Nullable, Override } from '../../typings/utility-types';
6
5
  import type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
6
+ import type { TGetRootNode } from '../../lib/rootNode';
7
7
  import type { SizeProp } from '../../lib/types/props';
8
- export interface AutocompleteProps extends CommonProps, Pick<AriaAttributes, 'aria-label'>, Override<InputProps, {
8
+ import { type MaskedProps } from '../MaskedInput';
9
+ export interface AutocompleteProps extends CommonProps, Pick<AriaAttributes, 'aria-label'>, Pick<Partial<MaskedProps>, 'alwaysShowMask' | 'mask' | 'maskChar'>, Override<Omit<InputProps, 'alwaysShowMask' | 'mask' | 'maskChar'>, {
9
10
  /** Задает функцию, которая отрисовывает элементы меню. */
10
11
  renderItem?: (item: string) => React.ReactNode;
11
12
  /** Задает промис, который резолвит элементы меню. */
@@ -51,7 +52,7 @@ export declare const AutocompleteDataTids: {
51
52
  export declare const AutocompleteIds: {
52
53
  readonly menu: "Autocomplete__menu";
53
54
  };
54
- type DefaultProps = Required<Pick<AutocompleteProps, 'renderItem' | 'size' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'preventWindowScroll'>>;
55
+ type DefaultProps = Required<Pick<AutocompleteProps, 'renderItem' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'preventWindowScroll'>>;
55
56
  /**
56
57
  * `Autocomplete` — стандартный инпут с подсказками.
57
58
  *
@@ -61,30 +62,10 @@ type DefaultProps = Required<Pick<AutocompleteProps, 'renderItem' | 'size' | 'di
61
62
  export declare class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {
62
63
  static __KONTUR_REACT_UI__: string;
63
64
  static displayName: string;
64
- static propTypes: {
65
- /**
66
- * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент
67
- * — *item*.
68
- */
69
- renderItem: PropTypes.Requireable<(...args: any[]) => any>;
70
- /**
71
- * Если передан массив, то совпадения ищутся по этому массиву.
72
- *
73
- * Если передается функция, то она должна возвращать thenable, который
74
- * резолвится уже отфильтрованным массивом. Возвращенный thenable может
75
- * иметь метод cancel, который будет вызван при отмене поиска (пользователь
76
- * изменил строку поиска, автокомплит потерял фокус).
77
- * ```
78
- * function(pattern) {
79
- * return service.findAll(pattern);
80
- * }
81
- * ```
82
- */
83
- source: PropTypes.Requireable<NonNullable<any[] | ((...args: any[]) => any) | null | undefined>>;
84
- };
85
65
  static defaultProps: DefaultProps;
86
66
  state: AutocompleteState;
87
67
  private theme;
68
+ private size;
88
69
  private readonly locale;
89
70
  private isMobileLayout;
90
71
  private opened;
@@ -93,15 +74,25 @@ export declare class Autocomplete extends React.Component<AutocompleteProps, Aut
93
74
  private menuId;
94
75
  private rootSpan;
95
76
  private mobilePopup;
77
+ private featureFlags;
96
78
  private requestId;
97
79
  private getProps;
80
+ getRootNode: TGetRootNode;
98
81
  private setRootNode;
99
82
  /**
100
- * @public
83
+ * @public focus method
84
+ * @description Focuses the input.
85
+ * @example
86
+ * <Autocomplete ref={autocompleteRef} />
87
+ * <button onClick={() => autocompleteRef.current?.focus()}>Focus</button>
101
88
  */
102
89
  focus(): void;
103
90
  /**
104
- * @public
91
+ * @public blur method
92
+ * @description Blurs the input.
93
+ * @example
94
+ * <Autocomplete ref={autocompleteRef} />
95
+ * <button onClick={() => autocompleteRef.current?.blur()}>Blur</button>
105
96
  */
106
97
  blur(): void;
107
98
  componentDidUpdate(prevProps: AutocompleteProps): void;
@@ -109,6 +100,7 @@ export declare class Autocomplete extends React.Component<AutocompleteProps, Aut
109
100
  renderMain: (props: CommonWrapperRestProps<AutocompleteProps>) => React.JSX.Element;
110
101
  private renderHints;
111
102
  private renderMenu;
103
+ private getInput;
112
104
  private renderMobileMenu;
113
105
  private getItems;
114
106
  private handleValueChange;