@skbkontur/react-ui 0.0.0-6dd088a035 → 0.0.0-70dd810c5c

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 (708) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +6 -23
  4. package/cjs/components/Autocomplete/Autocomplete.js +49 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +2 -0
  7. package/cjs/components/Button/Button.js +32 -4
  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/Calendar/Calendar.d.ts +2 -0
  13. package/cjs/components/Calendar/Calendar.js +1 -0
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Calendar/CalendarDay.js +18 -2
  16. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  17. package/cjs/components/Calendar/DayCellView.js +7 -15
  18. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  19. package/cjs/components/Center/Center.d.ts +2 -0
  20. package/cjs/components/Center/Center.js +1 -0
  21. package/cjs/components/Center/Center.js.map +1 -1
  22. package/cjs/components/Checkbox/Checkbox.d.ts +2 -12
  23. package/cjs/components/Checkbox/Checkbox.js +2 -14
  24. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  25. package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
  26. package/cjs/components/ComboBox/ComboBox.js +1 -0
  27. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  28. package/cjs/components/ComboBox/ComboBox.md +2 -2
  29. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  30. package/cjs/components/CurrencyInput/CurrencyInput.js +5 -28
  31. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  32. package/cjs/components/CurrencyInput/constants.js +1 -2
  33. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  34. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  35. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  36. package/cjs/components/DateInput/DateInput.d.ts +2 -0
  37. package/cjs/components/DateInput/DateInput.js +20 -11
  38. package/cjs/components/DateInput/DateInput.js.map +1 -1
  39. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  40. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  41. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  42. package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
  43. package/cjs/components/DatePicker/DatePicker.js +6 -60
  44. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  45. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  46. package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
  47. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  48. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  49. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
  50. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  51. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  52. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  53. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  54. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  55. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  56. package/cjs/components/Dropdown/Dropdown.js +2 -82
  57. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  58. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  59. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  60. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  61. package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
  62. package/cjs/components/FileUploader/FileUploader.js +26 -10
  63. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  64. package/cjs/components/FxInput/FxInput.d.ts +3 -6
  65. package/cjs/components/FxInput/FxInput.js +2 -7
  66. package/cjs/components/FxInput/FxInput.js.map +1 -1
  67. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  68. package/cjs/components/Gapped/Gapped.js +1 -24
  69. package/cjs/components/Gapped/Gapped.js.map +1 -1
  70. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  71. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  72. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  73. package/cjs/components/Group/Group.d.ts +5 -4
  74. package/cjs/components/Group/Group.js +91 -40
  75. package/cjs/components/Group/Group.js.map +1 -1
  76. package/cjs/components/Group/Group.md +4 -4
  77. package/cjs/components/Group/Group.styles.d.ts +1 -0
  78. package/cjs/components/Group/Group.styles.js +12 -6
  79. package/cjs/components/Group/Group.styles.js.map +1 -1
  80. package/cjs/components/Hint/Hint.d.ts +2 -0
  81. package/cjs/components/Hint/Hint.js +5 -4
  82. package/cjs/components/Hint/Hint.js.map +1 -1
  83. package/cjs/components/Input/Input.d.ts +2 -0
  84. package/cjs/components/Input/Input.js +1 -0
  85. package/cjs/components/Input/Input.js.map +1 -1
  86. package/cjs/components/Input/Input.md +4 -5
  87. package/cjs/components/Kebab/Kebab.d.ts +2 -1
  88. package/cjs/components/Kebab/Kebab.js +2 -26
  89. package/cjs/components/Kebab/Kebab.js.map +1 -1
  90. package/cjs/components/Kebab/Kebab.md +32 -32
  91. package/cjs/components/Link/Link.d.ts +2 -0
  92. package/cjs/components/Link/Link.js +6 -0
  93. package/cjs/components/Link/Link.js.map +1 -1
  94. package/cjs/components/Link/Link.mixins.js +1 -2
  95. package/cjs/components/Link/Link.mixins.js.map +1 -1
  96. package/cjs/components/Link/Link.styles.js +3 -2
  97. package/cjs/components/Link/Link.styles.js.map +1 -1
  98. package/cjs/components/Loader/Loader.d.ts +6 -36
  99. package/cjs/components/Loader/Loader.js +3 -57
  100. package/cjs/components/Loader/Loader.js.map +1 -1
  101. package/cjs/components/MaskedInput/MaskedInput.d.ts +1 -0
  102. package/cjs/components/MaskedInput/MaskedInput.js +17 -1
  103. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  104. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  105. package/cjs/components/MenuItem/MenuItem.js +2 -22
  106. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  107. package/cjs/components/MenuItem/MenuItem.md +6 -6
  108. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  109. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  110. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  111. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  112. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  113. package/cjs/components/Modal/Modal.js +4 -2
  114. package/cjs/components/Modal/Modal.js.map +1 -1
  115. package/cjs/components/Modal/Modal.styles.d.ts +2 -1
  116. package/cjs/components/Modal/Modal.styles.js +40 -32
  117. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  118. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  119. package/cjs/components/Modal/ModalBody.js +1 -0
  120. package/cjs/components/Modal/ModalBody.js.map +1 -1
  121. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  122. package/cjs/components/Modal/ModalHeader.js +8 -1
  123. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  124. package/cjs/components/Modal/ModalSeparator.js +1 -1
  125. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  126. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  127. package/cjs/components/Paging/DotsIcon.js +13 -0
  128. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  129. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  130. package/cjs/components/Paging/ForwardIcon.js +13 -1
  131. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  132. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  133. package/cjs/components/Paging/NavigationHelper.js +8 -6
  134. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  135. package/cjs/components/Paging/Paging.d.ts +13 -2
  136. package/cjs/components/Paging/Paging.js +120 -50
  137. package/cjs/components/Paging/Paging.js.map +1 -1
  138. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  139. package/cjs/components/Paging/Paging.styles.js +151 -22
  140. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  141. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  142. package/cjs/components/Paging/PagingHelper.js +18 -11
  143. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  144. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -7
  145. package/cjs/components/PasswordInput/PasswordInput.js +2 -11
  146. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  147. package/cjs/components/Radio/Radio.d.ts +2 -0
  148. package/cjs/components/Radio/Radio.js +1 -0
  149. package/cjs/components/Radio/Radio.js.map +1 -1
  150. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
  151. package/cjs/components/RadioGroup/RadioGroup.js +2 -1
  152. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  153. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  154. package/cjs/components/RadioGroup/RadioGroup.styles.js +1 -1
  155. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  156. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  157. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  158. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  159. package/cjs/components/Select/Select.d.ts +5 -0
  160. package/cjs/components/Select/Select.js +5 -1
  161. package/cjs/components/Select/Select.js.map +1 -1
  162. package/cjs/components/Select/Select.md +3 -3
  163. package/cjs/components/SidePage/SidePage.js +1 -1
  164. package/cjs/components/SidePage/SidePage.js.map +1 -1
  165. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  166. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  167. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  168. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  169. package/cjs/components/SidePage/SidePageBody.js +1 -0
  170. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  171. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  172. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  173. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  174. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  175. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  176. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  177. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  178. package/cjs/components/SidePage/SidePageHeader.js +63 -19
  179. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  180. package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
  181. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  182. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  183. package/cjs/components/Spinner/Spinner.js +2 -32
  184. package/cjs/components/Spinner/Spinner.js.map +1 -1
  185. package/cjs/components/Sticky/Sticky.d.ts +5 -13
  186. package/cjs/components/Sticky/Sticky.js +12 -18
  187. package/cjs/components/Sticky/Sticky.js.map +1 -1
  188. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  189. package/cjs/components/Switcher/Switcher.js +11 -20
  190. package/cjs/components/Switcher/Switcher.js.map +1 -1
  191. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  192. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  193. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  194. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  195. package/cjs/components/Tabs/Indicator.js +1 -0
  196. package/cjs/components/Tabs/Indicator.js.map +1 -1
  197. package/cjs/components/Tabs/Tab.d.ts +2 -0
  198. package/cjs/components/Tabs/Tab.js +1 -0
  199. package/cjs/components/Tabs/Tab.js.map +1 -1
  200. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  201. package/cjs/components/Tabs/Tabs.js +1 -0
  202. package/cjs/components/Tabs/Tabs.js.map +1 -1
  203. package/cjs/components/Textarea/Textarea.d.ts +2 -44
  204. package/cjs/components/Textarea/Textarea.js +16 -68
  205. package/cjs/components/Textarea/Textarea.js.map +1 -1
  206. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  207. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  208. package/cjs/components/Toast/Toast.d.ts +6 -2
  209. package/cjs/components/Toast/Toast.js +12 -2
  210. package/cjs/components/Toast/Toast.js.map +1 -1
  211. package/cjs/components/Toast/ToastView.d.ts +2 -14
  212. package/cjs/components/Toast/ToastView.js +3 -22
  213. package/cjs/components/Toast/ToastView.js.map +1 -1
  214. package/cjs/components/Toggle/Toggle.d.ts +3 -10
  215. package/cjs/components/Toggle/Toggle.js +6 -13
  216. package/cjs/components/Toggle/Toggle.js.map +1 -1
  217. package/cjs/components/Token/Token.d.ts +2 -0
  218. package/cjs/components/Token/Token.js +1 -0
  219. package/cjs/components/Token/Token.js.map +1 -1
  220. package/cjs/components/Token/Token.md +0 -83
  221. package/cjs/components/TokenInput/TokenInput.d.ts +4 -2
  222. package/cjs/components/TokenInput/TokenInput.js +3 -1
  223. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  224. package/cjs/components/TokenInput/TokenInput.md +2 -33
  225. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  226. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  227. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  228. package/cjs/components/Tooltip/Tooltip.d.ts +14 -9
  229. package/cjs/components/Tooltip/Tooltip.js +95 -13
  230. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  231. package/cjs/components/Tooltip/Tooltip.md +8 -8
  232. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  233. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  234. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  235. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  236. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  237. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  238. package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
  239. package/cjs/components/__stories__/iframe.creevey.mts +124 -0
  240. package/cjs/components/__stories__/iframeStoriesImplementation.js +73 -0
  241. package/cjs/components/__stories__/iframeStoriesImplementation.js.map +1 -0
  242. package/cjs/index.d.ts +1 -0
  243. package/cjs/index.js.map +1 -1
  244. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  245. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  246. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  247. package/cjs/internal/ComponentTable.js +2 -3
  248. package/cjs/internal/ComponentTable.js.map +1 -1
  249. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  250. package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
  251. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  252. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  253. package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -0
  254. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  255. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  256. package/cjs/internal/DateSelect/DateSelect.js +12 -18
  257. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  258. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  259. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  260. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  261. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +7 -3
  262. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +36 -13
  263. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  264. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  265. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  266. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -0
  267. package/cjs/internal/InputLikeText/InputLikeText.js +1 -0
  268. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  269. package/cjs/internal/Menu/Menu.d.ts +2 -0
  270. package/cjs/internal/Menu/Menu.js +1 -0
  271. package/cjs/internal/Menu/Menu.js.map +1 -1
  272. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  273. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  274. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  275. package/cjs/internal/Popup/Popup.d.ts +43 -60
  276. package/cjs/internal/Popup/Popup.js +41 -81
  277. package/cjs/internal/Popup/Popup.js.map +1 -1
  278. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  279. package/cjs/internal/Popup/PopupPin.js +2 -35
  280. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  281. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  282. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  283. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  284. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  285. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  286. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  287. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  288. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  289. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  290. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  291. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  292. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  293. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  294. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  295. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  296. package/cjs/internal/ThemePlayground/Playground.js +16 -16
  297. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  298. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  299. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  300. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  301. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  302. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  303. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  304. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
  305. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  306. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  307. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  308. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  309. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  310. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  311. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  312. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  313. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  314. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  315. package/cjs/internal/themes/BasicTheme.d.ts +114 -20
  316. package/cjs/internal/themes/BasicTheme.js +152 -19
  317. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  318. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  319. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  320. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  321. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  322. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  323. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  324. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  325. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  326. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  327. package/cjs/lib/date/InternalDateGetter.js +8 -1
  328. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  329. package/cjs/lib/delay.mts +3 -0
  330. package/cjs/lib/events/keyListener.d.ts +7 -0
  331. package/cjs/lib/events/keyListener.js +21 -2
  332. package/cjs/lib/events/keyListener.js.map +1 -1
  333. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -2
  334. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +9 -2
  335. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +16 -2
  336. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  337. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  338. package/cjs/lib/forwardRefAndName.js +0 -1
  339. package/cjs/lib/forwardRefAndName.js.map +1 -1
  340. package/cjs/lib/getMenuPositions.d.ts +21 -1
  341. package/cjs/lib/getMenuPositions.js +45 -8
  342. package/cjs/lib/getMenuPositions.js.map +1 -1
  343. package/cjs/lib/globalObject.d.ts +18 -0
  344. package/cjs/lib/globalObject.js +45 -0
  345. package/cjs/lib/globalObject.js.map +1 -0
  346. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  347. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  348. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  349. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  350. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  351. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  352. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  353. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  354. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  355. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  356. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  357. package/cjs/lib/utils.d.ts +4 -0
  358. package/cjs/lib/utils.js +5 -1
  359. package/cjs/lib/utils.js.map +1 -1
  360. package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -45
  361. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  362. package/components/Autocomplete/Autocomplete.d.ts +6 -23
  363. package/components/Button/Button/Button.js +29 -7
  364. package/components/Button/Button/Button.js.map +1 -1
  365. package/components/Button/Button.d.ts +2 -0
  366. package/components/Button/Button.styles/Button.styles.js +79 -61
  367. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  368. package/components/Button/Button.styles.d.ts +6 -0
  369. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  370. package/components/Calendar/Calendar.d.ts +2 -0
  371. package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
  372. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  373. package/components/Calendar/DayCellView/DayCellView.js +6 -10
  374. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  375. package/components/Center/Center/Center.js.map +1 -1
  376. package/components/Center/Center.d.ts +2 -0
  377. package/components/Checkbox/Checkbox/Checkbox.js +0 -11
  378. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  379. package/components/Checkbox/Checkbox.d.ts +2 -12
  380. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  381. package/components/ComboBox/ComboBox.d.ts +2 -0
  382. package/components/ComboBox/ComboBox.md +2 -2
  383. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +12 -36
  384. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  385. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  386. package/components/CurrencyInput/constants/constants.js +0 -1
  387. package/components/CurrencyInput/constants/constants.js.map +1 -1
  388. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  389. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  390. package/components/DateInput/DateInput/DateInput.js +14 -11
  391. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  392. package/components/DateInput/DateInput.d.ts +2 -0
  393. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  394. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  395. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  396. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  397. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  398. package/components/DatePicker/DatePicker.d.ts +6 -33
  399. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
  400. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  401. package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  402. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
  403. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
  404. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  405. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  406. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  407. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  408. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  409. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  410. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  411. package/components/Dropdown/Dropdown.d.ts +2 -47
  412. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  413. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  414. package/components/DropdownMenu/DropdownMenu.md +8 -8
  415. package/components/FileUploader/FileUploader/FileUploader.js +19 -8
  416. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  417. package/components/FxInput/FxInput/FxInput.js +1 -5
  418. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  419. package/components/FxInput/FxInput.d.ts +3 -6
  420. package/components/Gapped/Gapped/Gapped.js +1 -15
  421. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  422. package/components/Gapped/Gapped.d.ts +2 -15
  423. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  424. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  425. package/components/Group/Group/Group.js +64 -28
  426. package/components/Group/Group/Group.js.map +1 -1
  427. package/components/Group/Group.d.ts +5 -4
  428. package/components/Group/Group.md +4 -4
  429. package/components/Group/Group.styles/Group.styles.js +9 -6
  430. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  431. package/components/Group/Group.styles.d.ts +1 -0
  432. package/components/Hint/Hint/Hint.js +5 -5
  433. package/components/Hint/Hint/Hint.js.map +1 -1
  434. package/components/Hint/Hint.d.ts +2 -0
  435. package/components/Input/Input/Input.js.map +1 -1
  436. package/components/Input/Input.d.ts +2 -0
  437. package/components/Input/Input.md +4 -5
  438. package/components/Kebab/Kebab/Kebab.js +2 -20
  439. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  440. package/components/Kebab/Kebab.d.ts +2 -1
  441. package/components/Kebab/Kebab.md +32 -32
  442. package/components/Link/Link/Link.js +4 -0
  443. package/components/Link/Link/Link.js.map +1 -1
  444. package/components/Link/Link.d.ts +2 -0
  445. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  446. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  447. package/components/Link/Link.styles/Link.styles.js +1 -1
  448. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  449. package/components/Loader/Loader/Loader.js +0 -33
  450. package/components/Loader/Loader/Loader.js.map +1 -1
  451. package/components/Loader/Loader.d.ts +6 -36
  452. package/components/MaskedInput/MaskedInput/MaskedInput.js +14 -0
  453. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  454. package/components/MaskedInput/MaskedInput.d.ts +1 -0
  455. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  456. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  457. package/components/MenuItem/MenuItem.d.ts +2 -12
  458. package/components/MenuItem/MenuItem.md +6 -6
  459. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  460. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  461. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  462. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  463. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  464. package/components/Modal/Modal/Modal.js +3 -1
  465. package/components/Modal/Modal/Modal.js.map +1 -1
  466. package/components/Modal/Modal.styles/Modal.styles.js +32 -29
  467. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  468. package/components/Modal/Modal.styles.d.ts +2 -1
  469. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  470. package/components/Modal/ModalBody.d.ts +2 -0
  471. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  472. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  473. package/components/Modal/ModalHeader.d.ts +5 -0
  474. package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
  475. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  476. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  477. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  478. package/components/Paging/DotsIcon/package.json +6 -0
  479. package/components/Paging/DotsIcon.d.ts +3 -0
  480. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  481. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  482. package/components/Paging/ForwardIcon.d.ts +3 -0
  483. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  484. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  485. package/components/Paging/NavigationHelper.d.ts +3 -2
  486. package/components/Paging/Paging/Paging.js +96 -47
  487. package/components/Paging/Paging/Paging.js.map +1 -1
  488. package/components/Paging/Paging.d.ts +13 -2
  489. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  490. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  491. package/components/Paging/Paging.styles.d.ts +24 -1
  492. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  493. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  494. package/components/Paging/PagingHelper.d.ts +1 -1
  495. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
  496. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  497. package/components/PasswordInput/PasswordInput.d.ts +2 -7
  498. package/components/Radio/Radio/Radio.js.map +1 -1
  499. package/components/Radio/Radio.d.ts +2 -0
  500. package/components/RadioGroup/RadioGroup/RadioGroup.js +1 -1
  501. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  502. package/components/RadioGroup/RadioGroup.d.ts +2 -0
  503. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +1 -1
  504. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  505. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  506. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  507. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  508. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  509. package/components/Select/Select/Select.js +3 -2
  510. package/components/Select/Select/Select.js.map +1 -1
  511. package/components/Select/Select.d.ts +5 -0
  512. package/components/Select/Select.md +3 -3
  513. package/components/SidePage/SidePage/SidePage.js +1 -1
  514. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  515. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  516. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  517. package/components/SidePage/SidePage.styles.d.ts +3 -1
  518. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  519. package/components/SidePage/SidePageBody.d.ts +2 -0
  520. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  521. package/components/SidePage/SidePageContainer.d.ts +2 -0
  522. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  523. package/components/SidePage/SidePageFooter.d.ts +2 -0
  524. package/components/SidePage/SidePageHeader/SidePageHeader.js +62 -35
  525. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  526. package/components/SidePage/SidePageHeader.d.ts +12 -2
  527. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  528. package/components/SingleToast/SingleToast.d.ts +3 -3
  529. package/components/Spinner/Spinner/Spinner.js +1 -18
  530. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  531. package/components/Spinner/Spinner.d.ts +2 -18
  532. package/components/Sticky/Sticky/Sticky.js +10 -14
  533. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  534. package/components/Sticky/Sticky.d.ts +5 -13
  535. package/components/Switcher/Switcher/Switcher.js +19 -16
  536. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  537. package/components/Switcher/Switcher.d.ts +6 -21
  538. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  539. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  540. package/components/Switcher/Switcher.styles.d.ts +1 -0
  541. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  542. package/components/Tabs/Indicator.d.ts +2 -0
  543. package/components/Tabs/Tab/Tab.js.map +1 -1
  544. package/components/Tabs/Tab.d.ts +2 -0
  545. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  546. package/components/Tabs/Tabs.d.ts +2 -0
  547. package/components/Textarea/Textarea/Textarea.js +10 -51
  548. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  549. package/components/Textarea/Textarea.d.ts +2 -44
  550. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  551. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  552. package/components/Toast/Toast/Toast.js +6 -8
  553. package/components/Toast/Toast/Toast.js.map +1 -1
  554. package/components/Toast/Toast.d.ts +6 -2
  555. package/components/Toast/ToastView/ToastView.js +3 -17
  556. package/components/Toast/ToastView/ToastView.js.map +1 -1
  557. package/components/Toast/ToastView.d.ts +2 -14
  558. package/components/Toggle/Toggle/Toggle.js +7 -14
  559. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  560. package/components/Toggle/Toggle.d.ts +3 -10
  561. package/components/Token/Token/Token.js.map +1 -1
  562. package/components/Token/Token.d.ts +2 -0
  563. package/components/Token/Token.md +0 -83
  564. package/components/TokenInput/TokenInput/TokenInput.js +2 -1
  565. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  566. package/components/TokenInput/TokenInput.d.ts +4 -2
  567. package/components/TokenInput/TokenInput.md +2 -33
  568. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  569. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  570. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  571. package/components/Tooltip/Tooltip/Tooltip.js +67 -20
  572. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  573. package/components/Tooltip/Tooltip.d.ts +14 -9
  574. package/components/Tooltip/Tooltip.md +8 -8
  575. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  576. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  577. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  578. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  579. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  580. package/components/TooltipMenu/TooltipMenu.md +12 -12
  581. package/components/__stories__/iframe.creevey.mts +124 -0
  582. package/components/__stories__/iframeStoriesImplementation/iframeStoriesImplementation.js +90 -0
  583. package/components/__stories__/iframeStoriesImplementation/iframeStoriesImplementation.js.map +1 -0
  584. package/components/__stories__/iframeStoriesImplementation/package.json +6 -0
  585. package/index.d.ts +1 -0
  586. package/index.js +1 -0
  587. package/index.js.map +1 -1
  588. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  589. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  590. package/internal/ComponentTable/ComponentTable.js +0 -2
  591. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  592. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  593. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  594. package/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  595. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  596. package/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  597. package/internal/DateSelect/DateSelect/DateSelect.js +3 -10
  598. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  599. package/internal/DateSelect/DateSelect.d.ts +0 -10
  600. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  601. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  602. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +46 -17
  603. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  604. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +7 -3
  605. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  606. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  607. package/internal/InputLikeText/InputLikeText.d.ts +2 -0
  608. package/internal/Menu/Menu/Menu.js.map +1 -1
  609. package/internal/Menu/Menu.d.ts +2 -0
  610. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  611. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  612. package/internal/Popup/Popup/Popup.js +23 -69
  613. package/internal/Popup/Popup/Popup.js.map +1 -1
  614. package/internal/Popup/Popup.d.ts +43 -60
  615. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  616. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  617. package/internal/Popup/PopupPin.d.ts +23 -33
  618. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  619. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  620. package/internal/Popup/PopupPinNew/package.json +6 -0
  621. package/internal/Popup/PopupPinNew.d.ts +31 -0
  622. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  623. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  624. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  625. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  626. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  627. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  628. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  629. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  630. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  631. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  632. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  633. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  634. package/internal/ThemePlayground/Playground/Playground.js +17 -16
  635. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  636. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  637. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  638. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  639. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  640. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  641. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  642. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
  643. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  644. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  645. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  646. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  647. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  648. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  649. package/internal/ZIndex/ZIndex.d.ts +3 -3
  650. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  651. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  652. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  653. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  654. package/internal/themes/BasicTheme/BasicTheme.js +172 -26
  655. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  656. package/internal/themes/BasicTheme.d.ts +114 -20
  657. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  658. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  659. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  660. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  661. package/internal/themes/DarkTheme5_3/package.json +6 -0
  662. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  663. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  664. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  665. package/internal/themes/LightTheme5_3/package.json +6 -0
  666. package/internal/themes/LightTheme5_3.d.ts +1 -0
  667. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  668. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  669. package/lib/date/InternalDateGetter.d.ts +1 -1
  670. package/lib/delay.d.mts +1 -0
  671. package/lib/delay.mts +3 -0
  672. package/lib/events/keyListener/keyListener.js +17 -1
  673. package/lib/events/keyListener/keyListener.js.map +1 -1
  674. package/lib/events/keyListener.d.ts +7 -0
  675. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -2
  676. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +9 -2
  677. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  678. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +9 -2
  679. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  680. package/lib/forwardRefAndName.d.ts +1 -1
  681. package/lib/getMenuPositions/getMenuPositions.js +33 -4
  682. package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
  683. package/lib/getMenuPositions.d.ts +21 -1
  684. package/lib/globalObject/globalObject.js +20 -0
  685. package/lib/globalObject/globalObject.js.map +1 -0
  686. package/lib/globalObject/package.json +6 -0
  687. package/lib/globalObject.d.ts +18 -0
  688. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  689. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  690. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  691. package/lib/theming/ThemeVersions.d.ts +1 -1
  692. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  693. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  694. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  695. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  696. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  697. package/lib/theming/themes/LightTheme.d.ts +1 -0
  698. package/lib/utils/utils.js +2 -0
  699. package/lib/utils/utils.js.map +1 -1
  700. package/lib/utils.d.ts +4 -0
  701. package/package.json +16 -18
  702. package/cjs/lib/SSRSafe.d.ts +0 -2
  703. package/cjs/lib/SSRSafe.js +0 -5
  704. package/cjs/lib/SSRSafe.js.map +0 -1
  705. package/lib/SSRSafe/SSRSafe.js +0 -4
  706. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  707. package/lib/SSRSafe/package.json +0 -6
  708. package/lib/SSRSafe.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"names":["_DarkTheme5_","require","_DarkTheme5_2","_DarkTheme5_3","DARK_THEME_5_0","exports","DarkTheme5_0","DARK_THEME_5_1","DarkTheme5_1","DARK_THEME_5_2","DarkTheme5_2","DARK_THEME"],"sources":["DarkTheme.ts"],"sourcesContent":["import { DarkTheme5_0 } from '../../../internal/themes/DarkTheme5_0';\nimport { DarkTheme5_1 } from '../../../internal/themes/DarkTheme5_1';\nimport { DarkTheme5_2 } from '../../../internal/themes/DarkTheme5_2';\n\nexport const DARK_THEME_5_0 = DarkTheme5_0;\nexport const DARK_THEME_5_1 = DarkTheme5_1;\nexport const DARK_THEME_5_2 = DarkTheme5_2;\n\nexport const DARK_THEME = DARK_THEME_5_2;\n"],"mappings":"8IAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;;AAEO,IAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAGE,yBAAY;AACnC,IAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAAGC,0BAAY;AACnC,IAAMC,cAAc,GAAAJ,OAAA,CAAAI,cAAA,GAAGC,0BAAY;;AAEnC,IAAMC,UAAU,GAAAN,OAAA,CAAAM,UAAA,GAAGF,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["_DarkTheme5_","require","_DarkTheme5_2","_DarkTheme5_3","_DarkTheme5_4","DARK_THEME_5_0","exports","DarkTheme5_0","DARK_THEME_5_1","DarkTheme5_1","DARK_THEME_5_2","DarkTheme5_2","DARK_THEME_5_3","DarkTheme5_3","DARK_THEME"],"sources":["DarkTheme.ts"],"sourcesContent":["import { DarkTheme5_0 } from '../../../internal/themes/DarkTheme5_0';\nimport { DarkTheme5_1 } from '../../../internal/themes/DarkTheme5_1';\nimport { DarkTheme5_2 } from '../../../internal/themes/DarkTheme5_2';\nimport { DarkTheme5_3 } from '../../../internal/themes/DarkTheme5_3';\n\nexport const DARK_THEME_5_0 = DarkTheme5_0;\nexport const DARK_THEME_5_1 = DarkTheme5_1;\nexport const DARK_THEME_5_2 = DarkTheme5_2;\nexport const DARK_THEME_5_3 = DarkTheme5_3;\n\nexport const DARK_THEME = DARK_THEME_5_3;\n"],"mappings":"uKAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;;AAEO,IAAMI,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAGE,yBAAY;AACnC,IAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAAGC,0BAAY;AACnC,IAAMC,cAAc,GAAAJ,OAAA,CAAAI,cAAA,GAAGC,0BAAY;AACnC,IAAMC,cAAc,GAAAN,OAAA,CAAAM,cAAA,GAAGC,0BAAY;;AAEnC,IAAMC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAGF,cAAc","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  export declare const LIGHT_THEME_5_0: Readonly<typeof import("../../../internal/themes/BasicTheme").BasicThemeClass>;
2
2
  export declare const LIGHT_THEME_5_1: Readonly<typeof import("../../../internal/themes/BasicTheme").BasicThemeClass>;
3
3
  export declare const LIGHT_THEME_5_2: Readonly<typeof import("../../../internal/themes/BasicTheme").BasicThemeClass>;
4
+ export declare const LIGHT_THEME_5_3: Readonly<typeof import("../../../internal/themes/BasicTheme").BasicThemeClass>;
4
5
  export declare const LIGHT_THEME: Readonly<typeof import("../../../internal/themes/BasicTheme").BasicThemeClass>;
@@ -1,9 +1,11 @@
1
- "use strict";exports.__esModule = true;exports.LIGHT_THEME_5_2 = exports.LIGHT_THEME_5_1 = exports.LIGHT_THEME_5_0 = exports.LIGHT_THEME = void 0;var _LightTheme5_ = require("../../../internal/themes/LightTheme5_0");
1
+ "use strict";exports.__esModule = true;exports.LIGHT_THEME_5_3 = exports.LIGHT_THEME_5_2 = exports.LIGHT_THEME_5_1 = exports.LIGHT_THEME_5_0 = exports.LIGHT_THEME = void 0;var _LightTheme5_ = require("../../../internal/themes/LightTheme5_0");
2
2
  var _LightTheme5_2 = require("../../../internal/themes/LightTheme5_1");
3
3
  var _LightTheme5_3 = require("../../../internal/themes/LightTheme5_2");
4
+ var _LightTheme5_4 = require("../../../internal/themes/LightTheme5_3");
4
5
 
5
6
  var LIGHT_THEME_5_0 = exports.LIGHT_THEME_5_0 = _LightTheme5_.LightTheme5_0;
6
7
  var LIGHT_THEME_5_1 = exports.LIGHT_THEME_5_1 = _LightTheme5_2.LightTheme5_1;
7
8
  var LIGHT_THEME_5_2 = exports.LIGHT_THEME_5_2 = _LightTheme5_3.LightTheme5_2;
9
+ var LIGHT_THEME_5_3 = exports.LIGHT_THEME_5_3 = _LightTheme5_4.LightTheme5_3;
8
10
 
9
- var LIGHT_THEME = exports.LIGHT_THEME = LIGHT_THEME_5_2;
11
+ var LIGHT_THEME = exports.LIGHT_THEME = LIGHT_THEME_5_3;
@@ -1 +1 @@
1
- {"version":3,"names":["_LightTheme5_","require","_LightTheme5_2","_LightTheme5_3","LIGHT_THEME_5_0","exports","LightTheme5_0","LIGHT_THEME_5_1","LightTheme5_1","LIGHT_THEME_5_2","LightTheme5_2","LIGHT_THEME"],"sources":["LightTheme.ts"],"sourcesContent":["import { LightTheme5_0 } from '../../../internal/themes/LightTheme5_0';\nimport { LightTheme5_1 } from '../../../internal/themes/LightTheme5_1';\nimport { LightTheme5_2 } from '../../../internal/themes/LightTheme5_2';\n\nexport const LIGHT_THEME_5_0 = LightTheme5_0;\nexport const LIGHT_THEME_5_1 = LightTheme5_1;\nexport const LIGHT_THEME_5_2 = LightTheme5_2;\n\nexport const LIGHT_THEME = LIGHT_THEME_5_2;\n"],"mappings":"kJAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;;AAEO,IAAMG,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAGE,2BAAa;AACrC,IAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAAGC,4BAAa;AACrC,IAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAGC,4BAAa;;AAErC,IAAMC,WAAW,GAAAN,OAAA,CAAAM,WAAA,GAAGF,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["_LightTheme5_","require","_LightTheme5_2","_LightTheme5_3","_LightTheme5_4","LIGHT_THEME_5_0","exports","LightTheme5_0","LIGHT_THEME_5_1","LightTheme5_1","LIGHT_THEME_5_2","LightTheme5_2","LIGHT_THEME_5_3","LightTheme5_3","LIGHT_THEME"],"sources":["LightTheme.ts"],"sourcesContent":["import { LightTheme5_0 } from '../../../internal/themes/LightTheme5_0';\nimport { LightTheme5_1 } from '../../../internal/themes/LightTheme5_1';\nimport { LightTheme5_2 } from '../../../internal/themes/LightTheme5_2';\nimport { LightTheme5_3 } from '../../../internal/themes/LightTheme5_3';\n\nexport const LIGHT_THEME_5_0 = LightTheme5_0;\nexport const LIGHT_THEME_5_1 = LightTheme5_1;\nexport const LIGHT_THEME_5_2 = LightTheme5_2;\nexport const LIGHT_THEME_5_3 = LightTheme5_3;\n\nexport const LIGHT_THEME = LIGHT_THEME_5_3;\n"],"mappings":"4KAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;;AAEO,IAAMI,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAGE,2BAAa;AACrC,IAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAAGC,4BAAa;AACrC,IAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAGC,4BAAa;AACrC,IAAMC,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAAGC,4BAAa;;AAErC,IAAMC,WAAW,GAAAR,OAAA,CAAAQ,WAAA,GAAGF,eAAe","ignoreList":[]}
@@ -8,6 +8,8 @@ import type { SelectProps } from '../components/Select';
8
8
  import type { DropdownProps } from '../components/Dropdown';
9
9
  import type { DropdownMenuProps } from '../components/DropdownMenu';
10
10
  import type { ButtonProps } from '../components/Button';
11
+ import type { TooltipProps } from '../components/Tooltip';
12
+ import type { HintProps } from '../components/Hint';
11
13
  export { delay } from './delay';
12
14
  export type Defaultize<P, D> = P extends any ? string extends keyof P ? P : Pick<P, Exclude<keyof P, keyof D>> & Partial<Pick<P, Extract<keyof P, keyof D>>> & Partial<Pick<D, Exclude<keyof D, keyof P>>> : never;
13
15
  export type DefaultizeProps<C, P> = C extends {
@@ -85,6 +87,8 @@ export declare const isCurrencyInput: (child: React.ReactNode) => child is React
85
87
  export declare const isSelect: (child: React.ReactNode) => child is React.ReactElement<SelectProps<unknown, unknown>, string | React.JSXElementConstructor<any>>;
86
88
  export declare const isDropdown: (child: React.ReactNode) => child is React.ReactElement<DropdownProps, string | React.JSXElementConstructor<any>>;
87
89
  export declare const isDropdownMenu: (child: React.ReactNode) => child is React.ReactElement<DropdownMenuProps, string | React.JSXElementConstructor<any>>;
90
+ export declare const isHint: (child: React.ReactNode) => child is React.ReactElement<HintProps, string | React.JSXElementConstructor<any>>;
91
+ export declare const isTooltip: (child: React.ReactNode) => child is React.ReactElement<TooltipProps, string | React.JSXElementConstructor<any>>;
88
92
  export declare const isKonturIcon: (icon: React.ReactElement) => boolean;
89
93
  export declare function clickOutside(): void;
90
94
  export declare function isElement(el: unknown): el is Element;
package/cjs/lib/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.CancelationError = void 0;exports.clickOutside = clickOutside;exports.emptyHandler = exports.delay = void 0;exports.escapeRegExpSpecChars = escapeRegExpSpecChars;exports.isButton = exports.isAutocomplete = exports.getRandomID = exports.formatBytes = exports.extractDataProps = void 0;exports.isClassComponent = isClassComponent;exports.isDropdownMenu = exports.isDropdown = exports.isCurrencyInput = void 0;exports.isElement = isElement;exports.isExternalLink = void 0;exports.isFunction = isFunction;exports.isFunctionalComponent = isFunctionalComponent;exports.isInput = exports.isFxInput = void 0;exports.isIntrinsicElement = isIntrinsicElement;exports.isReactUINode = exports.isReactUIComponent = exports.isPasswordInput = exports.isNullable = exports.isNonNullable = exports.isKonturIcon = void 0;exports.isRefableElement = isRefableElement;exports.isSelect = void 0;exports.mergeRefs = mergeRefs;exports.startsWithOneOf = void 0;exports.taskWithDelay = taskWithDelay;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.CancelationError = void 0;exports.clickOutside = clickOutside;exports.emptyHandler = exports.delay = void 0;exports.escapeRegExpSpecChars = escapeRegExpSpecChars;exports.isButton = exports.isAutocomplete = exports.getRandomID = exports.formatBytes = exports.extractDataProps = void 0;exports.isClassComponent = isClassComponent;exports.isDropdownMenu = exports.isDropdown = exports.isCurrencyInput = void 0;exports.isElement = isElement;exports.isExternalLink = void 0;exports.isFunction = isFunction;exports.isFunctionalComponent = isFunctionalComponent;exports.isInput = exports.isHint = exports.isFxInput = void 0;exports.isIntrinsicElement = isIntrinsicElement;exports.isReactUINode = exports.isReactUIComponent = exports.isPasswordInput = exports.isNullable = exports.isNonNullable = exports.isKonturIcon = void 0;exports.isRefableElement = isRefableElement;exports.isTooltip = exports.isSelect = void 0;exports.mergeRefs = mergeRefs;exports.startsWithOneOf = void 0;exports.taskWithDelay = taskWithDelay;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
2
2
  var _react = require("react");
3
3
  var _reactIs = require("react-is");
4
4
  var _globalObject = require("@skbkontur/global-object");
@@ -13,6 +13,8 @@ var _globalObject = require("@skbkontur/global-object");
13
13
 
14
14
 
15
15
 
16
+
17
+
16
18
  var _delay = require("./delay");exports.delay = _delay.delay;
17
19
 
18
20
  // NOTE: Copy-paste from @types/react
@@ -218,6 +220,8 @@ var isCurrencyInput = exports.isCurrencyInput = isReactUIComponent('CurrencyInpu
218
220
  var isSelect = exports.isSelect = isReactUIComponent('Select');
219
221
  var isDropdown = exports.isDropdown = isReactUIComponent('Dropdown');
220
222
  var isDropdownMenu = exports.isDropdownMenu = isReactUIComponent('DropdownMenu');
223
+ var isHint = exports.isHint = isReactUIComponent('Hint');
224
+ var isTooltip = exports.isTooltip = isReactUIComponent('Tooltip');
221
225
 
222
226
  var isKonturIcon = exports.isKonturIcon = function isKonturIcon(icon) {
223
227
  return Object.prototype.hasOwnProperty.call(icon == null ? void 0 : icon.type, '__KONTUR_ICON__');
@@ -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","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","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';\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/** @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() {\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,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,9 @@ 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";
28
31
  import { styles } from "../Autocomplete.styles";
29
32
  import { AutocompleteLocaleHelper } from "../locale";
30
33
  import { getAutocompleteTheme } from "../getAutocompleteTheme";
@@ -92,11 +95,12 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
92
95
  _props$width = props.width,
93
96
  width = _props$width === void 0 ? _this.theme.inputWidth : _props$width,
94
97
  mobileMenuHeaderText = props.mobileMenuHeaderText,
95
- ariaLabel = props['aria-label'],
98
+ type = props.type,
96
99
  rest = _objectWithoutPropertiesLoose(props, _excluded);
97
100
  var inputProps = _extends({}, rest, {
98
101
  width: '100%',
99
102
  autoComplete: 'off',
103
+ 'aria-controls': _this.menuId,
100
104
  onValueChange: _this.handleValueChange,
101
105
  onKeyDown: _this.handleKeyDown,
102
106
  onFocus: _this.handleFocus,
@@ -115,14 +119,22 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
115
119
  width: width
116
120
  },
117
121
  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()))
122
+ }, _this.getInput(inputProps), isMobile ? _this.renderMobileMenu() : _this.renderMenu()))
124
123
  );
125
124
  };
125
+ _this.getInput = function (inputProps) {
126
+ return _this.featureFlags.autocompleteUseMaskedInput && _this.props.mask ? /*#__PURE__*/
127
+ React.createElement(MaskedInput, _extends({}, inputProps, {
128
+ type: getSafeMaskInputType(_this.props.type),
129
+ mask: _this.props.mask,
130
+ maskChar: _this.props.maskChar
131
+ })) : /*#__PURE__*/
132
+
133
+ React.createElement(Input, _extends({}, inputProps, {
134
+ mask: _this.props.mask,
135
+ maskChar: _this.props.maskChar
136
+ }));
137
+ };
126
138
  _this.renderMobileMenu = function () {
127
139
  var _this$mobilePopup;
128
140
  var inputProps = {
@@ -132,13 +144,17 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
132
144
  onValueChange: _this.handleValueChange,
133
145
  onKeyPress: _this.handleKeyPressMobile,
134
146
  value: _this.props.value,
135
- placeholder: _this.locale.enterValue
147
+ placeholder: _this.locale.enterValue,
148
+ type: _this.props.type,
149
+ inputMode: _this.props.inputMode,
150
+ 'aria-label': _this.props['aria-label'],
151
+ 'aria-controls': _this.menuId
136
152
  };
137
153
  var items = _this.state.items;
138
154
  return /*#__PURE__*/(
139
155
  React.createElement(MobilePopup, {
140
156
  id: _this.menuId,
141
- headerChildComponent: /*#__PURE__*/React.createElement(Input, inputProps),
157
+ headerChildComponent: _this.getInput(inputProps),
142
158
  caption: _this.props.mobileMenuHeaderText,
143
159
  opened: _this.state.isMobileOpened,
144
160
  onCloseRequest: _this.handleCloseMobile,
@@ -288,13 +304,16 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
288
304
  };
289
305
  _proto.render = function render() {
290
306
  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));
307
+ return /*#__PURE__*/React.createElement(ReactUIFeatureFlagsContext.Consumer, null, function (flags) {
308
+ _this2.featureFlags = getFullReactUIFlagsContext(flags);
309
+ return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
310
+ _this2.theme = getAutocompleteTheme(theme);
311
+ return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
312
+ value: _this2.theme
313
+ }, /*#__PURE__*/React.createElement(CommonWrapper, _extends({
314
+ rootNodeRef: _this2.setRootNode
315
+ }, _this2.getProps()), _this2.renderMain));
316
+ });
298
317
  });
299
318
  };
300
319
  _proto.renderHints = function renderHints() {
@@ -321,12 +340,13 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
321
340
  width = _this$getProps.width,
322
341
  preventWindowScroll = _this$getProps.preventWindowScroll,
323
342
  disablePortal = _this$getProps.disablePortal;
343
+ var calculatedMenuWidth = menuWidth ? '100%' : width && getDOMRect(this.rootSpan).width;
324
344
  var menuProps = {
325
345
  ref: this.refMenu,
326
346
  maxHeight: menuMaxHeight,
327
347
  hasShadow: false,
328
348
  hasMargin: false,
329
- width: menuWidth || width && getDOMRect(this.rootSpan).width,
349
+ width: calculatedMenuWidth,
330
350
  preventWindowScroll: preventWindowScroll
331
351
  };
332
352
  if (!items || items.length === 0) {
@@ -360,6 +380,7 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
360
380
  this.choose(index);
361
381
  };
362
382
  _proto.choose = function choose(index) {
383
+ var _this4 = this;
363
384
  if (!this.state.items) {
364
385
  return;
365
386
  }
@@ -369,11 +390,14 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
369
390
  selected: -1,
370
391
  items: null
371
392
  });
372
- this.fireChange(value);
373
- this.blur();
393
+ this.fireChange(value); // NOTE: этот таймаут - костыль. Проблема в старом ReactInputMask, он сеттит пустой value при потере фокуса.
394
+ // Можно будет убрать после полного перехода на MaskedInput
395
+ globalObject.setTimeout(function () {
396
+ _this4.blur();
397
+ }, 0);
374
398
  };
375
399
  _proto.updateItems = function updateItems(value) {
376
- var _this4 = this;
400
+ var _this5 = this;
377
401
  if (!this.opened) {
378
402
  return;
379
403
  }
@@ -391,8 +415,8 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
391
415
  promise = match(pattern, source);
392
416
  }
393
417
  promise.then(function (items) {
394
- if (_this4.opened && expectingId === _this4.requestId) {
395
- _this4.setState({
418
+ if (_this5.opened && expectingId === _this5.requestId) {
419
+ _this5.setState({
396
420
  items: items,
397
421
  selected: -1
398
422
  });
@@ -405,27 +429,7 @@ export var Autocomplete = (_dec = locale('Autocomplete', AutocompleteLocaleHelpe
405
429
  }
406
430
  };
407
431
  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 = {
432
+ }(React.Component), _Autocomplete.__KONTUR_REACT_UI__ = 'Autocomplete', _Autocomplete.displayName = 'Autocomplete', _Autocomplete.defaultProps = {
429
433
  renderItem: renderItem,
430
434
  size: 'small',
431
435
  disablePortal: false,
@@ -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","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';\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<\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 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 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\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 <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.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\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
  /** Задает промис, который резолвит элементы меню. */
@@ -61,27 +62,6 @@ 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;
@@ -93,8 +73,10 @@ export declare class Autocomplete extends React.Component<AutocompleteProps, Aut
93
73
  private menuId;
94
74
  private rootSpan;
95
75
  private mobilePopup;
76
+ private featureFlags;
96
77
  private requestId;
97
78
  private getProps;
79
+ getRootNode: TGetRootNode;
98
80
  private setRootNode;
99
81
  /**
100
82
  * @public
@@ -109,6 +91,7 @@ export declare class Autocomplete extends React.Component<AutocompleteProps, Aut
109
91
  renderMain: (props: CommonWrapperRestProps<AutocompleteProps>) => React.JSX.Element;
110
92
  private renderHints;
111
93
  private renderMenu;
94
+ private getInput;
112
95
  private renderMobileMenu;
113
96
  private getItems;
114
97
  private handleValueChange;