@skbkontur/react-ui 0.0.0-c5bd33d001 → 0.0.0-c742a71190

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 (524) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +6 -6
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +6 -1
  4. package/cjs/components/Autocomplete/Autocomplete.js +48 -7
  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 +29 -1
  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 +107 -75
  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/Center/Center.d.ts +2 -0
  16. package/cjs/components/Center/Center.js +1 -0
  17. package/cjs/components/Center/Center.js.map +1 -1
  18. package/cjs/components/Checkbox/Checkbox.d.ts +2 -0
  19. package/cjs/components/Checkbox/Checkbox.js +1 -0
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/ComboBox/ComboBox.d.ts +3 -2
  22. package/cjs/components/ComboBox/ComboBox.js +1 -2
  23. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  24. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +5 -0
  25. package/cjs/components/CurrencyInput/CurrencyInput.js +5 -1
  26. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  27. package/cjs/components/CurrencyInput/constants.js +1 -2
  28. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  29. package/cjs/components/CurrencyLabel/CurrencyLabel.js +1 -2
  30. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  31. package/cjs/components/DateInput/DateInput.d.ts +2 -0
  32. package/cjs/components/DateInput/DateInput.js +1 -0
  33. package/cjs/components/DateInput/DateInput.js.map +1 -1
  34. package/cjs/components/DatePicker/DatePicker.d.ts +2 -0
  35. package/cjs/components/DatePicker/DatePicker.js +1 -0
  36. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  37. package/cjs/components/Dropdown/Dropdown.d.ts +2 -0
  38. package/cjs/components/Dropdown/Dropdown.js +1 -0
  39. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  40. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  41. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  42. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  43. package/cjs/components/FxInput/FxInput.d.ts +2 -0
  44. package/cjs/components/FxInput/FxInput.js +1 -0
  45. package/cjs/components/FxInput/FxInput.js.map +1 -1
  46. package/cjs/components/Gapped/Gapped.d.ts +2 -0
  47. package/cjs/components/Gapped/Gapped.js +1 -0
  48. package/cjs/components/Gapped/Gapped.js.map +1 -1
  49. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  50. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  51. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  52. package/cjs/components/Group/Group.d.ts +2 -0
  53. package/cjs/components/Group/Group.js +1 -0
  54. package/cjs/components/Group/Group.js.map +1 -1
  55. package/cjs/components/Hint/Hint.d.ts +2 -0
  56. package/cjs/components/Hint/Hint.js +1 -0
  57. package/cjs/components/Hint/Hint.js.map +1 -1
  58. package/cjs/components/Input/Input.d.ts +2 -0
  59. package/cjs/components/Input/Input.js +1 -0
  60. package/cjs/components/Input/Input.js.map +1 -1
  61. package/cjs/components/Kebab/Kebab.d.ts +2 -0
  62. package/cjs/components/Kebab/Kebab.js +1 -0
  63. package/cjs/components/Kebab/Kebab.js.map +1 -1
  64. package/cjs/components/Link/Link.d.ts +2 -0
  65. package/cjs/components/Link/Link.js +1 -0
  66. package/cjs/components/Link/Link.js.map +1 -1
  67. package/cjs/components/Loader/Loader.d.ts +2 -0
  68. package/cjs/components/Loader/Loader.js +1 -0
  69. package/cjs/components/Loader/Loader.js.map +1 -1
  70. package/cjs/components/MaskedInput/MaskedInput.d.ts +1 -0
  71. package/cjs/components/MaskedInput/MaskedInput.js +17 -1
  72. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  73. package/cjs/components/MenuItem/MenuItem.d.ts +2 -0
  74. package/cjs/components/MenuItem/MenuItem.js +1 -0
  75. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  76. package/cjs/components/Modal/Modal.styles.d.ts +1 -0
  77. package/cjs/components/Modal/Modal.styles.js +36 -28
  78. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  79. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  80. package/cjs/components/Modal/ModalBody.js +1 -0
  81. package/cjs/components/Modal/ModalBody.js.map +1 -1
  82. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  83. package/cjs/components/Modal/ModalHeader.js +8 -1
  84. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  85. package/cjs/components/Paging/Paging.d.ts +2 -0
  86. package/cjs/components/Paging/Paging.js +1 -0
  87. package/cjs/components/Paging/Paging.js.map +1 -1
  88. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -0
  89. package/cjs/components/PasswordInput/PasswordInput.js +1 -0
  90. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  91. package/cjs/components/Radio/Radio.d.ts +2 -0
  92. package/cjs/components/Radio/Radio.js +1 -0
  93. package/cjs/components/Radio/Radio.js.map +1 -1
  94. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
  95. package/cjs/components/RadioGroup/RadioGroup.js +1 -0
  96. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  97. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -0
  98. package/cjs/components/ScrollContainer/ScrollContainer.js +1 -0
  99. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  100. package/cjs/components/Select/Select.d.ts +2 -0
  101. package/cjs/components/Select/Select.js +2 -1
  102. package/cjs/components/Select/Select.js.map +1 -1
  103. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  104. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  105. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  106. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  107. package/cjs/components/SidePage/SidePageBody.js +1 -0
  108. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  109. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  110. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  111. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  112. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  113. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  114. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  115. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  116. package/cjs/components/SidePage/SidePageHeader.js +60 -19
  117. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  118. package/cjs/components/Spinner/Spinner.d.ts +2 -0
  119. package/cjs/components/Spinner/Spinner.js +1 -0
  120. package/cjs/components/Spinner/Spinner.js.map +1 -1
  121. package/cjs/components/Sticky/Sticky.d.ts +2 -0
  122. package/cjs/components/Sticky/Sticky.js +1 -0
  123. package/cjs/components/Sticky/Sticky.js.map +1 -1
  124. package/cjs/components/Switcher/Switcher.d.ts +2 -0
  125. package/cjs/components/Switcher/Switcher.js +1 -0
  126. package/cjs/components/Switcher/Switcher.js.map +1 -1
  127. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  128. package/cjs/components/Tabs/Indicator.js +1 -0
  129. package/cjs/components/Tabs/Indicator.js.map +1 -1
  130. package/cjs/components/Tabs/Tab.d.ts +2 -0
  131. package/cjs/components/Tabs/Tab.js +1 -0
  132. package/cjs/components/Tabs/Tab.js.map +1 -1
  133. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  134. package/cjs/components/Tabs/Tabs.js +1 -0
  135. package/cjs/components/Tabs/Tabs.js.map +1 -1
  136. package/cjs/components/Textarea/Textarea.d.ts +2 -0
  137. package/cjs/components/Textarea/Textarea.js +1 -0
  138. package/cjs/components/Textarea/Textarea.js.map +1 -1
  139. package/cjs/components/Toast/Toast.d.ts +2 -0
  140. package/cjs/components/Toast/Toast.js +1 -0
  141. package/cjs/components/Toast/Toast.js.map +1 -1
  142. package/cjs/components/Toast/ToastView.d.ts +2 -0
  143. package/cjs/components/Toast/ToastView.js +1 -0
  144. package/cjs/components/Toast/ToastView.js.map +1 -1
  145. package/cjs/components/Toggle/Toggle.d.ts +2 -0
  146. package/cjs/components/Toggle/Toggle.js +1 -0
  147. package/cjs/components/Toggle/Toggle.js.map +1 -1
  148. package/cjs/components/Token/Token.d.ts +2 -0
  149. package/cjs/components/Token/Token.js +1 -0
  150. package/cjs/components/Token/Token.js.map +1 -1
  151. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  152. package/cjs/components/TokenInput/TokenInput.js +1 -0
  153. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  154. package/cjs/components/Tooltip/Tooltip.d.ts +12 -6
  155. package/cjs/components/Tooltip/Tooltip.js +92 -8
  156. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  157. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  158. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  159. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  160. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  161. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  162. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  163. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  164. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  165. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  166. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +3 -2
  167. package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -8
  168. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  169. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +3 -2
  170. package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -4
  171. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  172. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  173. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  174. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  175. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  176. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  177. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -0
  178. package/cjs/internal/InputLikeText/InputLikeText.js +1 -0
  179. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  180. package/cjs/internal/Menu/Menu.d.ts +2 -0
  181. package/cjs/internal/Menu/Menu.js +1 -0
  182. package/cjs/internal/Menu/Menu.js.map +1 -1
  183. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  184. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  185. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  186. package/cjs/internal/Popup/Popup.d.ts +2 -0
  187. package/cjs/internal/Popup/Popup.js +14 -3
  188. package/cjs/internal/Popup/Popup.js.map +1 -1
  189. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  190. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  191. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  192. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  193. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  194. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  195. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  196. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  197. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  198. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -0
  199. package/cjs/internal/RenderLayer/RenderLayer.js +1 -0
  200. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  201. package/cjs/internal/ThemePlayground/Playground.js +1 -1
  202. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  203. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  204. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  205. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  206. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  207. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  208. package/cjs/internal/ZIndex/ZIndex.d.ts +2 -0
  209. package/cjs/internal/ZIndex/ZIndex.js +1 -0
  210. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  211. package/cjs/internal/themes/BasicTheme.d.ts +58 -4
  212. package/cjs/internal/themes/BasicTheme.js +83 -4
  213. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  214. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +4 -0
  215. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +4 -0
  216. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +9 -1
  217. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  218. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  219. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  220. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  221. package/components/Autocomplete/Autocomplete/Autocomplete.js +46 -22
  222. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  223. package/components/Autocomplete/Autocomplete.d.ts +6 -1
  224. package/components/Button/Button/Button.js +26 -5
  225. package/components/Button/Button/Button.js.map +1 -1
  226. package/components/Button/Button.d.ts +2 -0
  227. package/components/Button/Button.styles/Button.styles.js +78 -60
  228. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  229. package/components/Button/Button.styles.d.ts +6 -0
  230. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  231. package/components/Calendar/Calendar.d.ts +2 -0
  232. package/components/Center/Center/Center.js.map +1 -1
  233. package/components/Center/Center.d.ts +2 -0
  234. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  235. package/components/Checkbox/Checkbox.d.ts +2 -0
  236. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  237. package/components/ComboBox/ComboBox.d.ts +3 -2
  238. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +4 -1
  239. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  240. package/components/CurrencyInput/CurrencyInput.d.ts +5 -0
  241. package/components/CurrencyInput/constants/constants.js +0 -1
  242. package/components/CurrencyInput/constants/constants.js.map +1 -1
  243. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -1
  244. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  245. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  246. package/components/DateInput/DateInput.d.ts +2 -0
  247. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  248. package/components/DatePicker/DatePicker.d.ts +2 -0
  249. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  250. package/components/Dropdown/Dropdown.d.ts +2 -0
  251. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  252. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  253. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  254. package/components/FxInput/FxInput.d.ts +2 -0
  255. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  256. package/components/Gapped/Gapped.d.ts +2 -0
  257. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  258. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  259. package/components/Group/Group/Group.js.map +1 -1
  260. package/components/Group/Group.d.ts +2 -0
  261. package/components/Hint/Hint/Hint.js.map +1 -1
  262. package/components/Hint/Hint.d.ts +2 -0
  263. package/components/Input/Input/Input.js.map +1 -1
  264. package/components/Input/Input.d.ts +2 -0
  265. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  266. package/components/Kebab/Kebab.d.ts +2 -0
  267. package/components/Link/Link/Link.js.map +1 -1
  268. package/components/Link/Link.d.ts +2 -0
  269. package/components/Loader/Loader/Loader.js.map +1 -1
  270. package/components/Loader/Loader.d.ts +2 -0
  271. package/components/MaskedInput/MaskedInput/MaskedInput.js +14 -0
  272. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  273. package/components/MaskedInput/MaskedInput.d.ts +1 -0
  274. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  275. package/components/MenuItem/MenuItem.d.ts +2 -0
  276. package/components/Modal/Modal.styles/Modal.styles.js +31 -28
  277. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  278. package/components/Modal/Modal.styles.d.ts +1 -0
  279. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  280. package/components/Modal/ModalBody.d.ts +2 -0
  281. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  282. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  283. package/components/Modal/ModalHeader.d.ts +5 -0
  284. package/components/Paging/Paging/Paging.js.map +1 -1
  285. package/components/Paging/Paging.d.ts +2 -0
  286. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  287. package/components/PasswordInput/PasswordInput.d.ts +2 -0
  288. package/components/Radio/Radio/Radio.js.map +1 -1
  289. package/components/Radio/Radio.d.ts +2 -0
  290. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  291. package/components/RadioGroup/RadioGroup.d.ts +2 -0
  292. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  293. package/components/ScrollContainer/ScrollContainer.d.ts +2 -0
  294. package/components/Select/Select/Select.js +2 -2
  295. package/components/Select/Select/Select.js.map +1 -1
  296. package/components/Select/Select.d.ts +2 -0
  297. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  298. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  299. package/components/SidePage/SidePage.styles.d.ts +3 -1
  300. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  301. package/components/SidePage/SidePageBody.d.ts +2 -0
  302. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  303. package/components/SidePage/SidePageContainer.d.ts +2 -0
  304. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  305. package/components/SidePage/SidePageFooter.d.ts +2 -0
  306. package/components/SidePage/SidePageHeader/SidePageHeader.js +61 -39
  307. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  308. package/components/SidePage/SidePageHeader.d.ts +12 -2
  309. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  310. package/components/Spinner/Spinner.d.ts +2 -0
  311. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  312. package/components/Sticky/Sticky.d.ts +2 -0
  313. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  314. package/components/Switcher/Switcher.d.ts +2 -0
  315. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  316. package/components/Tabs/Indicator.d.ts +2 -0
  317. package/components/Tabs/Tab/Tab.js.map +1 -1
  318. package/components/Tabs/Tab.d.ts +2 -0
  319. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  320. package/components/Tabs/Tabs.d.ts +2 -0
  321. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  322. package/components/Textarea/Textarea.d.ts +2 -0
  323. package/components/Toast/Toast/Toast.js.map +1 -1
  324. package/components/Toast/Toast.d.ts +2 -0
  325. package/components/Toast/ToastView/ToastView.js.map +1 -1
  326. package/components/Toast/ToastView.d.ts +2 -0
  327. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  328. package/components/Toggle/Toggle.d.ts +2 -0
  329. package/components/Token/Token/Token.js.map +1 -1
  330. package/components/Token/Token.d.ts +2 -0
  331. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  332. package/components/TokenInput/TokenInput.d.ts +2 -0
  333. package/components/Tooltip/Tooltip/Tooltip.js +59 -13
  334. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  335. package/components/Tooltip/Tooltip.d.ts +12 -6
  336. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  337. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  338. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  339. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  340. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  341. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  342. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  343. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +11 -25
  344. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  345. package/internal/CustomComboBox/ComboBoxView.d.ts +3 -2
  346. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +0 -2
  347. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  348. package/internal/CustomComboBox/CustomComboBox.d.ts +3 -2
  349. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  350. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  351. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  352. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  353. package/internal/InputLikeText/InputLikeText.d.ts +2 -0
  354. package/internal/Menu/Menu/Menu.js.map +1 -1
  355. package/internal/Menu/Menu.d.ts +2 -0
  356. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  357. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  358. package/internal/Popup/Popup/Popup.js +10 -3
  359. package/internal/Popup/Popup/Popup.js.map +1 -1
  360. package/internal/Popup/Popup.d.ts +2 -0
  361. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  362. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  363. package/internal/Popup/PopupPinNew/package.json +6 -0
  364. package/internal/Popup/PopupPinNew.d.ts +31 -0
  365. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  366. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  367. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  368. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  369. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  370. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  371. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  372. package/internal/RenderLayer/RenderLayer.d.ts +2 -0
  373. package/internal/ThemePlayground/Playground/Playground.js +4 -3
  374. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  375. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  376. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  377. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  378. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  379. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  380. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  381. package/internal/ZIndex/ZIndex.d.ts +2 -0
  382. package/internal/themes/BasicTheme/BasicTheme.js +94 -6
  383. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  384. package/internal/themes/BasicTheme.d.ts +58 -4
  385. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +4 -0
  386. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +5 -1
  387. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  388. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +4 -0
  389. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  390. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  391. package/package.json +2 -7
  392. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  393. package/cjs/components/Button/Button.md +0 -261
  394. package/cjs/components/Calendar/Calendar.md +0 -276
  395. package/cjs/components/Calendar/CalendarDay.md +0 -70
  396. package/cjs/components/Center/Center.md +0 -26
  397. package/cjs/components/Checkbox/Checkbox.md +0 -171
  398. package/cjs/components/ComboBox/ComboBox.md +0 -574
  399. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  400. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  401. package/cjs/components/DateInput/DateInput.md +0 -111
  402. package/cjs/components/DatePicker/DatePicker.md +0 -368
  403. package/cjs/components/Dropdown/Dropdown.md +0 -45
  404. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  405. package/cjs/components/FileUploader/FileUploader.md +0 -131
  406. package/cjs/components/FxInput/FxInput.md +0 -31
  407. package/cjs/components/Gapped/Gapped.md +0 -44
  408. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  409. package/cjs/components/Group/Group.md +0 -19
  410. package/cjs/components/Hint/Hint.md +0 -86
  411. package/cjs/components/Input/Input.md +0 -86
  412. package/cjs/components/Kebab/Kebab.md +0 -306
  413. package/cjs/components/Link/Link.md +0 -182
  414. package/cjs/components/Loader/Loader.md +0 -33
  415. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  416. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  417. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  418. package/cjs/components/MenuItem/MenuItem.md +0 -139
  419. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  420. package/cjs/components/MiniModal/MiniModal.md +0 -231
  421. package/cjs/components/Modal/Modal.md +0 -56
  422. package/cjs/components/Paging/Paging.md +0 -57
  423. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  424. package/cjs/components/Radio/Radio.md +0 -57
  425. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  426. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  427. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  428. package/cjs/components/Select/Select.md +0 -113
  429. package/cjs/components/SidePage/SidePage.md +0 -65
  430. package/cjs/components/SingleToast/SingleToast.md +0 -36
  431. package/cjs/components/Spinner/Spinner.md +0 -36
  432. package/cjs/components/Sticky/Sticky.md +0 -28
  433. package/cjs/components/Switcher/Switcher.md +0 -111
  434. package/cjs/components/Tabs/Tab.md +0 -73
  435. package/cjs/components/Tabs/Tabs.md +0 -54
  436. package/cjs/components/Textarea/Textarea.md +0 -58
  437. package/cjs/components/Toast/Toast.md +0 -69
  438. package/cjs/components/Toggle/Toggle.md +0 -110
  439. package/cjs/components/Token/Token.md +0 -48
  440. package/cjs/components/TokenInput/TokenInput.md +0 -277
  441. package/cjs/components/Tooltip/Tooltip.md +0 -322
  442. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  443. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  444. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  445. package/cjs/internal/DataTids/DataTids.js +0 -50
  446. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  447. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  448. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  449. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  450. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  451. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  452. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  453. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  454. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  455. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  456. package/cjs/lib/theming/ThemeContext.md +0 -265
  457. package/components/Autocomplete/Autocomplete.md +0 -113
  458. package/components/Button/Button.md +0 -261
  459. package/components/Calendar/Calendar.md +0 -276
  460. package/components/Calendar/CalendarDay.md +0 -70
  461. package/components/Center/Center.md +0 -26
  462. package/components/Checkbox/Checkbox.md +0 -171
  463. package/components/ComboBox/ComboBox.md +0 -574
  464. package/components/CurrencyInput/CurrencyInput.md +0 -39
  465. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  466. package/components/DateInput/DateInput.md +0 -111
  467. package/components/DatePicker/DatePicker.md +0 -368
  468. package/components/Dropdown/Dropdown.md +0 -45
  469. package/components/DropdownMenu/DropdownMenu.md +0 -290
  470. package/components/FileUploader/FileUploader.md +0 -131
  471. package/components/FxInput/FxInput.md +0 -31
  472. package/components/Gapped/Gapped.md +0 -44
  473. package/components/GlobalLoader/GlobalLoader.md +0 -97
  474. package/components/Group/Group.md +0 -19
  475. package/components/Hint/Hint.md +0 -86
  476. package/components/Input/Input.md +0 -86
  477. package/components/Kebab/Kebab.md +0 -306
  478. package/components/Link/Link.md +0 -182
  479. package/components/Loader/Loader.md +0 -33
  480. package/components/MaskedInput/MaskedInput.md +0 -114
  481. package/components/MenuFooter/MenuFooter.md +0 -27
  482. package/components/MenuHeader/MenuHeader.md +0 -35
  483. package/components/MenuItem/MenuItem.md +0 -139
  484. package/components/MenuSeparator/MenuSeparator.md +0 -14
  485. package/components/MiniModal/MiniModal.md +0 -231
  486. package/components/Modal/Modal.md +0 -56
  487. package/components/Paging/Paging.md +0 -57
  488. package/components/PasswordInput/PasswordInput.md +0 -29
  489. package/components/Radio/Radio.md +0 -57
  490. package/components/RadioGroup/RadioGroup.md +0 -44
  491. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  492. package/components/ScrollContainer/ScrollContainer.md +0 -224
  493. package/components/Select/Select.md +0 -113
  494. package/components/SidePage/SidePage.md +0 -65
  495. package/components/SingleToast/SingleToast.md +0 -36
  496. package/components/Spinner/Spinner.md +0 -36
  497. package/components/Sticky/Sticky.md +0 -28
  498. package/components/Switcher/Switcher.md +0 -111
  499. package/components/Tabs/Tab.md +0 -73
  500. package/components/Tabs/Tabs.md +0 -54
  501. package/components/Textarea/Textarea.md +0 -58
  502. package/components/Toast/Toast.md +0 -69
  503. package/components/Toggle/Toggle.md +0 -110
  504. package/components/Token/Token.md +0 -48
  505. package/components/TokenInput/TokenInput.md +0 -277
  506. package/components/Tooltip/Tooltip.md +0 -322
  507. package/components/TooltipMenu/TooltipMenu.md +0 -241
  508. package/internal/DataTids/DATATIDS.md +0 -12
  509. package/internal/DataTids/DataTids/DataTids.js +0 -69
  510. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  511. package/internal/DataTids/DataTids/package.json +0 -6
  512. package/internal/DataTids/DataTids.d.ts +0 -12
  513. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  514. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  515. package/internal/DataTids/DataTids.styles/package.json +0 -6
  516. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  517. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  518. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  519. package/internal/DataTids/componentsDataTids/package.json +0 -6
  520. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  521. package/internal/ThemePlayground/Playground.md +0 -7
  522. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  523. package/lib/locale/LOCALECONTEXT.md +0 -222
  524. package/lib/theming/ThemeContext.md +0 -265
package/CHANGELOG.md CHANGED
@@ -3,6 +3,67 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [5.3.3](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.3.2...@skbkontur/react-ui@5.3.3) (2025-09-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **Tooltip:** fix incorrect import ([58206c9](https://github.com/skbkontur/retail-ui/commit/58206c91875e3180180be91800e302031b1b3266))
12
+
13
+
14
+
15
+
16
+
17
+ ## [5.3.2](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.3.1...@skbkontur/react-ui@5.3.2) (2025-09-10)
18
+
19
+ **Note:** Version bump only for package @skbkontur/react-ui
20
+
21
+
22
+
23
+
24
+
25
+ ## [5.3.1](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.3.0...@skbkontur/react-ui@5.3.1) (2025-09-01)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * **select:** fix pass empty placeholder ([eb5b0ed](https://github.com/skbkontur/retail-ui/commit/eb5b0ed94c5133ab4a0a461ca656512583c292ff))
31
+
32
+
33
+
34
+
35
+
36
+ # [5.3.0](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.2.1...@skbkontur/react-ui@5.3.0) (2025-08-25)
37
+
38
+
39
+ ### Bug Fixes
40
+
41
+ * **Autocomplete:** fix display with percentage menuWidth ([bf66bf3](https://github.com/skbkontur/retail-ui/commit/bf66bf36f9f3021693b6fba73a86e13df578f424))
42
+ * **Button:** backless buttons theme variables work ([4ea52a2](https://github.com/skbkontur/retail-ui/commit/4ea52a2139b8126ba7f1dfad99b6baf1e361d14d))
43
+ * **Button:** fix padding for Button with rightIcon ([0ef8416](https://github.com/skbkontur/retail-ui/commit/0ef8416b03068f92cdf2d53a042a6d08266eac4f))
44
+ * **MiniModal:** change fontSize and lineHeight at description section ([edbe400](https://github.com/skbkontur/retail-ui/commit/edbe4002e5872ba088336267ecf46ed5aab3a297))
45
+ * **Tooltip:** remove extra gap between Popup and pin ([f7e7533](https://github.com/skbkontur/retail-ui/commit/f7e75338ca72db382866a3aca22083dd05093a31))
46
+ * **react-ui:** make getRootNode public ([192b23b](https://github.com/skbkontur/retail-ui/commit/192b23b1374eb5460a151879ac1cf113a82f85ff))
47
+ * export PopupMenuCaptionProps type ([3283924](https://github.com/skbkontur/retail-ui/commit/3283924fe3839524ee446243cf71bb3b75a392b2))
48
+
49
+
50
+ ### Features
51
+
52
+ * **Autocomplete:** change mask behaviour ([2ef8a58](https://github.com/skbkontur/retail-ui/commit/2ef8a586d1f24548ba907439de4624c220aa999d))
53
+ * **Group:** add Hint and Tooltip support ([8a0f130](https://github.com/skbkontur/retail-ui/commit/8a0f13013a667dc5097ae9d326f796f7b75500dc))
54
+ * mark that react 19 is not supported yet ([7a2dcc0](https://github.com/skbkontur/retail-ui/commit/7a2dcc0bdbf4e112c064abdf4c157768dcb49ce2))
55
+ * **Paging:** add `size` prop and adaptivity ([1011f0d](https://github.com/skbkontur/retail-ui/commit/1011f0d3dffce1f85a06a4d1c040367ddd3ff62a))
56
+ * **Paging:** show `⌥"` symbol in macOS ([1011f0d](https://github.com/skbkontur/retail-ui/commit/1011f0d3dffce1f85a06a4d1c040367ddd3ff62a))
57
+ * remove propTypes ([569e003](https://github.com/skbkontur/retail-ui/commit/569e00312319557883da6536622a393aee932e95))
58
+ * **SidePage, Modal:** unifiy headers behavior ([bc9e505](https://github.com/skbkontur/retail-ui/commit/bc9e505b58d5d4676f1f528144b777d312eede40))
59
+ * **SidePage:** fix SidePage header blinking ([bc9e505](https://github.com/skbkontur/retail-ui/commit/bc9e505b58d5d4676f1f528144b777d312eede40))
60
+ * **Switcher:** add `width` prop ([949ccb6](https://github.com/skbkontur/retail-ui/commit/949ccb6e9f1ada57f086e3ed58ba265ad9f84b85))
61
+ * **Tooltip:** add `size` prop ([f7e7533](https://github.com/skbkontur/retail-ui/commit/f7e75338ca72db382866a3aca22083dd05093a31))
62
+
63
+
64
+
65
+
66
+
6
67
  # [5.2.1](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.2.0...@skbkontur/react-ui@5.2.1) (2025-07-24)
7
68
 
8
69
 
package/README.md CHANGED
@@ -30,7 +30,7 @@ const MyApp = () => (
30
30
  использовался метод findDomNode, который в StrictMode запрещён. Теперь получение DOM-ноды реализовано в библиотеке через
31
31
  ref, из-за чего появились некоторые требования к компонентам, передаваемым в Hint, Tooltip, Popup или Tab:
32
32
 
33
- - при передаче функциональных компонентов, они должны использовать `React.ForwardRef`:
33
+ - при передаче функциональных компонентов в react <= 18, они должны использовать `React.ForwardRef`:
34
34
 
35
35
  ```js static
36
36
  import { Hint } from '@skbkontur/react-ui';
@@ -104,15 +104,15 @@ export const WithClassChildren = () => (
104
104
 
105
105
  ## FAQ
106
106
 
107
- ### Выпадашки и несколько react-рутов
107
+ ### Выпадающие элементы и несколько React root
108
108
 
109
- Реакт позволяет создавать рут внутри рута. Но контекст между ними не прокидывается. Это вызывает проблемы в работе
110
- различных выпадашек, типа `Tooltip`, `Select`, `Modal` и других.
109
+ React позволяет создавать root внутри root, но контекст между ними не прокидывается. Это вызывает проблемы в работе
110
+ различных выпадашек, типа `Hint`, `Tooltip`, `Select`, `Modal` и других.
111
111
 
112
- В версии `4.26.0` появился мехнизм, который решает большинство этих проблем. Если вложенный реакт-рут является виджетом,
112
+ В версии `4.26.0` появился мехнизм, который решает большинство этих проблем. Если вложенный root является виджетом,
113
113
  то будет достаточно обновить библиотеку только в нём.
114
114
 
115
- Однако, при удалении html-элемента, который был реакт-рутом, его необходимо предварительно явно размонтировать:
115
+ Однако, при удалении HTML-элемента, который был root, его необходимо предварительно явно размонтировать:
116
116
 
117
117
  ```tsx static
118
118
  React.useLayoutEffect(
@@ -3,8 +3,10 @@ import React from 'react';
3
3
  import type { InputProps } from '../Input';
4
4
  import type { Nullable, Override } from '../../typings/utility-types';
5
5
  import type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
6
+ import type { TGetRootNode } from '../../lib/rootNode';
6
7
  import type { SizeProp } from '../../lib/types/props';
7
- 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'>, {
8
10
  /** Задает функцию, которая отрисовывает элементы меню. */
9
11
  renderItem?: (item: string) => React.ReactNode;
10
12
  /** Задает промис, который резолвит элементы меню. */
@@ -71,8 +73,10 @@ export declare class Autocomplete extends React.Component<AutocompleteProps, Aut
71
73
  private menuId;
72
74
  private rootSpan;
73
75
  private mobilePopup;
76
+ private featureFlags;
74
77
  private requestId;
75
78
  private getProps;
79
+ getRootNode: TGetRootNode;
76
80
  private setRootNode;
77
81
  /**
78
82
  * @public
@@ -87,6 +91,7 @@ export declare class Autocomplete extends React.Component<AutocompleteProps, Aut
87
91
  renderMain: (props: CommonWrapperRestProps<AutocompleteProps>) => React.JSX.Element;
88
92
  private renderHints;
89
93
  private renderMenu;
94
+ private getInput;
90
95
  private renderMobileMenu;
91
96
  private getItems;
92
97
  private handleValueChange;
@@ -1,5 +1,6 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.AutocompleteIds = exports.AutocompleteDataTids = exports.Autocomplete = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
2
2
  var _react = _interopRequireDefault(require("react"));
3
+ var _globalObject = require("@skbkontur/global-object");
3
4
 
4
5
  var _MenuMessage = require("../../internal/MenuMessage");
5
6
  var _decorators = require("../../lib/locale/decorators");
@@ -27,11 +28,15 @@ var _getDOMRect = require("../../lib/dom/getDOMRect");
27
28
  var _Popup = require("../../internal/Popup");
28
29
  var _getMenuPositions = require("../../lib/getMenuPositions");
29
30
  var _ZIndex = require("../../internal/ZIndex");
31
+ var _MaskedInput = require("../MaskedInput");
32
+
33
+ var _ReactUIFeatureFlagsContext = require("../../lib/featureFlagsContext/ReactUIFeatureFlagsContext");
34
+ var _FeatureFlagsHelpers = require("../../lib/featureFlagsContext/FeatureFlagsHelpers");
30
35
 
31
36
  var _Autocomplete2 = require("./Autocomplete.styles");
32
37
 
33
38
  var _locale = require("./locale");
34
- var _getAutocompleteTheme = require("./getAutocompleteTheme");var _excluded = ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "menuPos", "width", "mobileMenuHeaderText", "aria-label"];var _dec, _class, _Autocomplete;
39
+ var _getAutocompleteTheme = require("./getAutocompleteTheme");var _excluded = ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "menuPos", "width", "mobileMenuHeaderText", "type"];var _dec, _class, _Autocomplete;
35
40
 
36
41
  function match(pattern, items) {
37
42
  if (!pattern || !items) {
@@ -107,6 +112,7 @@ function renderItem(item) {
107
112
 
108
113
 
109
114
 
115
+
110
116
 
111
117
 
112
118
  var AutocompleteDataTids = exports.AutocompleteDataTids = {
@@ -164,6 +170,7 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
164
170
 
165
171
 
166
172
 
173
+
167
174
  requestId = 0;_this.
168
175
 
169
176
  getProps = (0, _createPropsGetter.createPropsGetter)(Autocomplete.defaultProps);_this.
@@ -198,6 +205,14 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
198
205
 
199
206
 
200
207
 
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
201
216
 
202
217
 
203
218
 
@@ -229,12 +244,13 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
229
244
 
230
245
 
231
246
 
232
- props.onValueChange,onKeyDown = props.onKeyDown,onFocus = props.onFocus,onBlur = props.onBlur,_renderItem = props.renderItem,disablePortal = props.disablePortal,hasShadow = props.hasShadow,menuAlign = props.menuAlign,menuMaxHeight = props.menuMaxHeight,preventWindowScroll = props.preventWindowScroll,source = props.source,menuPos = props.menuPos,_props$width = props.width,width = _props$width === void 0 ? _this.theme.inputWidth : _props$width,mobileMenuHeaderText = props.mobileMenuHeaderText,ariaLabel = props['aria-label'],rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
247
+ props.onValueChange,onKeyDown = props.onKeyDown,onFocus = props.onFocus,onBlur = props.onBlur,_renderItem = props.renderItem,disablePortal = props.disablePortal,hasShadow = props.hasShadow,menuAlign = props.menuAlign,menuMaxHeight = props.menuMaxHeight,preventWindowScroll = props.preventWindowScroll,source = props.source,menuPos = props.menuPos,_props$width = props.width,width = _props$width === void 0 ? _this.theme.inputWidth : _props$width,mobileMenuHeaderText = props.mobileMenuHeaderText,type = props.type,rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
233
248
 
234
249
  var inputProps = (0, _extends2.default)({},
235
250
  rest, {
236
251
  width: '100%',
237
252
  autoComplete: 'off',
253
+ 'aria-controls': _this.menuId,
238
254
  onValueChange: _this.handleValueChange,
239
255
  onKeyDown: _this.handleKeyDown,
240
256
  onFocus: _this.handleFocus,
@@ -249,9 +265,10 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
249
265
  _Autocomplete2.styles.noPortal()] = disablePortal, _cx)
250
266
  ),
251
267
  style: { width: width },
252
- ref: _this.refRootSpan }, /*#__PURE__*/
268
+ ref: _this.refRootSpan },
269
+
270
+ _this.getInput(inputProps),
253
271
 
254
- _react.default.createElement(_Input.Input, (0, _extends2.default)({ "aria-label": ariaLabel, "aria-controls": _this.menuId }, inputProps)),
255
272
  isMobile ? _this.renderMobileMenu() : _this.renderMenu()
256
273
  )
257
274
  ));
@@ -311,6 +328,19 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
311
328
 
312
329
 
313
330
 
331
+
332
+ getInput = function (inputProps) {
333
+ return _this.featureFlags.autocompleteUseMaskedInput && _this.props.mask ? /*#__PURE__*/
334
+ _react.default.createElement(_MaskedInput.MaskedInput, (0, _extends2.default)({},
335
+ inputProps, {
336
+ type: (0, _MaskedInput.getSafeMaskInputType)(_this.props.type),
337
+ mask: _this.props.mask,
338
+ maskChar: _this.props.maskChar })
339
+ ) : /*#__PURE__*/
340
+
341
+ _react.default.createElement(_Input.Input, (0, _extends2.default)({}, inputProps, { mask: _this.props.mask, maskChar: _this.props.maskChar }));
342
+
343
+ };_this.
314
344
 
315
345
  renderMobileMenu = function () {var _this$mobilePopup;
316
346
  var inputProps = {
@@ -320,7 +350,11 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
320
350
  onValueChange: _this.handleValueChange,
321
351
  onKeyPress: _this.handleKeyPressMobile,
322
352
  value: _this.props.value,
323
- placeholder: _this.locale.enterValue
353
+ placeholder: _this.locale.enterValue,
354
+ type: _this.props.type,
355
+ inputMode: _this.props.inputMode,
356
+ 'aria-label': _this.props['aria-label'],
357
+ 'aria-controls': _this.menuId
324
358
  };
325
359
 
326
360
  var items = _this.state.items;
@@ -328,7 +362,7 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
328
362
  return /*#__PURE__*/(
329
363
  _react.default.createElement(_MobilePopup.MobilePopup, {
330
364
  id: _this.menuId,
331
- headerChildComponent: /*#__PURE__*/_react.default.createElement(_Input.Input, inputProps),
365
+ headerChildComponent: _this.getInput(inputProps),
332
366
  caption: _this.props.mobileMenuHeaderText,
333
367
  opened: _this.state.isMobileOpened,
334
368
  onCloseRequest: _this.handleCloseMobile,
@@ -507,6 +541,11 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
507
541
 
508
542
 
509
543
 
544
+
545
+
546
+
547
+
548
+
510
549
 
511
550
 
512
551
 
@@ -531,4 +570,6 @@ Autocomplete = exports.Autocomplete = (_dec = (0, _decorators.locale)('Autocompl
531
570
  * @public
532
571
  */_proto.focus = function focus() {if (this.input) {this.input.focus();}} /**
533
572
  * @public
534
- */;_proto.blur = function blur() {this.handleBlur();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.value !== this.props.value) {this.updateItems(this.props.value || '');}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = (0, _getAutocompleteTheme.getAutocompleteTheme)(theme);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain));});};_proto.renderHints = function renderHints() {var items = this.state.items;if (!this.props.value) {return /*#__PURE__*/_react.default.createElement(_MenuMessage.MenuMessage, null, this.locale.enterValue);}if ((items == null ? void 0 : items.length) === 0 && this.props.value) {return /*#__PURE__*/_react.default.createElement(_MenuMessage.MenuMessage, null, this.locale.notFound);}if ((0, _utils.isNullable)(items) && this.props.value) {return /*#__PURE__*/_react.default.createElement(_MenuMessage.MenuMessage, null, this.locale.updateValue);}return null;};_proto.renderMenu = function renderMenu() {var items = this.state.items;var _this$getProps = this.getProps(),menuPos = _this$getProps.menuPos,menuAlign = _this$getProps.menuAlign,menuMaxHeight = _this$getProps.menuMaxHeight,hasShadow = _this$getProps.hasShadow,menuWidth = _this$getProps.menuWidth,width = _this$getProps.width,preventWindowScroll = _this$getProps.preventWindowScroll,disablePortal = _this$getProps.disablePortal;var calculatedMenuWidth = menuWidth ? '100%' : width && (0, _getDOMRect.getDOMRect)(this.rootSpan).width;var menuProps = { ref: this.refMenu, maxHeight: menuMaxHeight, hasShadow: false, hasMargin: false, width: calculatedMenuWidth, preventWindowScroll: preventWindowScroll };if (!items || items.length === 0) {return null;}return /*#__PURE__*/_react.default.createElement(_Popup.Popup, { opened: true, hasShadow: hasShadow, id: this.menuId, priority: _ZIndex.ZIndex.priorities.PopupMenu, "data-tid": AutocompleteDataTids.menu, anchorElement: this.getAnchor(), disablePortal: disablePortal, width: menuWidth, minWidth: menuWidth === undefined ? '100%' : undefined, positions: (0, _getMenuPositions.getMenuPositions)(menuPos, menuAlign), margin: parseInt(this.theme.menuOffsetY) - 1 }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, menuProps, this.getItems()));};_proto.handleMenuItemClick = function handleMenuItemClick(i) {var _this3 = this;return function (event) {return _this3.handleItemClick(event, i);};};_proto.handleItemClick = function handleItemClick(event, index) {if (event.button) {return;}event.preventDefault();this.choose(index);};_proto.choose = function choose(index) {if (!this.state.items) {return;}var value = this.state.items[index];this.opened = false;this.setState({ selected: -1, items: null });this.fireChange(value);this.blur();};_proto.updateItems = function updateItems(value) {var _this4 = this;if (!this.opened) {return;}var pattern = value.trim();var source = this.props.source;if (!source) {return;}var promise;this.requestId += 1;var expectingId = this.requestId;if (typeof source === 'function') {promise = source(pattern);} else {promise = match(pattern, source);}promise.then(function (items) {if (_this4.opened && expectingId === _this4.requestId) {_this4.setState({ items: items, selected: -1 });}});};_proto.fireChange = function fireChange(value) {if (this.props.onValueChange) {this.props.onValueChange(value);}};return Autocomplete;}(_react.default.Component), _Autocomplete.__KONTUR_REACT_UI__ = 'Autocomplete', _Autocomplete.displayName = 'Autocomplete', _Autocomplete.defaultProps = { renderItem: renderItem, size: 'small', disablePortal: false, hasShadow: true, menuMaxHeight: 300, preventWindowScroll: true }, _Autocomplete)) || _class) || _class) || _class);
573
+ */;_proto.blur = function blur() {this.handleBlur();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.value !== this.props.value) {this.updateItems(this.props.value || '');}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ReactUIFeatureFlagsContext.ReactUIFeatureFlagsContext.Consumer, null, function (flags) {_this2.featureFlags = (0, _FeatureFlagsHelpers.getFullReactUIFlagsContext)(flags);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = (0, _getAutocompleteTheme.getAutocompleteTheme)(theme);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain));});});};_proto.renderHints = function renderHints() {var items = this.state.items;if (!this.props.value) {return /*#__PURE__*/_react.default.createElement(_MenuMessage.MenuMessage, null, this.locale.enterValue);}if ((items == null ? void 0 : items.length) === 0 && this.props.value) {return /*#__PURE__*/_react.default.createElement(_MenuMessage.MenuMessage, null, this.locale.notFound);}if ((0, _utils.isNullable)(items) && this.props.value) {return /*#__PURE__*/_react.default.createElement(_MenuMessage.MenuMessage, null, this.locale.updateValue);}return null;};_proto.renderMenu = function renderMenu() {var items = this.state.items;var _this$getProps = this.getProps(),menuPos = _this$getProps.menuPos,menuAlign = _this$getProps.menuAlign,menuMaxHeight = _this$getProps.menuMaxHeight,hasShadow = _this$getProps.hasShadow,menuWidth = _this$getProps.menuWidth,width = _this$getProps.width,preventWindowScroll = _this$getProps.preventWindowScroll,disablePortal = _this$getProps.disablePortal;var calculatedMenuWidth = menuWidth ? '100%' : width && (0, _getDOMRect.getDOMRect)(this.rootSpan).width;var menuProps = { ref: this.refMenu, maxHeight: menuMaxHeight, hasShadow: false, hasMargin: false, width: calculatedMenuWidth, preventWindowScroll: preventWindowScroll };if (!items || items.length === 0) {return null;}return /*#__PURE__*/_react.default.createElement(_Popup.Popup, { opened: true, hasShadow: hasShadow, id: this.menuId, priority: _ZIndex.ZIndex.priorities.PopupMenu, "data-tid": AutocompleteDataTids.menu, anchorElement: this.getAnchor(), disablePortal: disablePortal, width: menuWidth, minWidth: menuWidth === undefined ? '100%' : undefined, positions: (0, _getMenuPositions.getMenuPositions)(menuPos, menuAlign), margin: parseInt(this.theme.menuOffsetY) - 1 }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, menuProps, this.getItems()));};_proto.handleMenuItemClick = function handleMenuItemClick(i) {var _this3 = this;return function (event) {return _this3.handleItemClick(event, i);};};_proto.handleItemClick = function handleItemClick(event, index) {if (event.button) {return;}event.preventDefault();this.choose(index);};_proto.choose = function choose(index) {var _this4 = this;if (!this.state.items) {return;}var value = this.state.items[index];this.opened = false;this.setState({ selected: -1, items: null });this.fireChange(value); // NOTE: этот таймаут - костыль. Проблема в старом ReactInputMask, он сеттит пустой value при потере фокуса.
574
+ // Можно будет убрать после полного перехода на MaskedInput
575
+ _globalObject.globalObject.setTimeout(function () {_this4.blur();}, 0);};_proto.updateItems = function updateItems(value) {var _this5 = this;if (!this.opened) {return;}var pattern = value.trim();var source = this.props.source;if (!source) {return;}var promise;this.requestId += 1;var expectingId = this.requestId;if (typeof source === 'function') {promise = source(pattern);} else {promise = match(pattern, source);}promise.then(function (items) {if (_this5.opened && expectingId === _this5.requestId) {_this5.setState({ items: items, selected: -1 });}});};_proto.fireChange = function fireChange(value) {if (this.props.onValueChange) {this.props.onValueChange(value);}};return Autocomplete;}(_react.default.Component), _Autocomplete.__KONTUR_REACT_UI__ = 'Autocomplete', _Autocomplete.displayName = 'Autocomplete', _Autocomplete.defaultProps = { renderItem: renderItem, size: 'small', disablePortal: false, hasShadow: true, menuMaxHeight: 300, preventWindowScroll: true }, _Autocomplete)) || _class) || _class) || _class);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_MenuMessage","_decorators","_utils","_ThemeContext","_Emotion","_identifiers","_Input","_Menu","_MenuItem","_RenderLayer","_createPropsGetter","_fixClickFocusIE","_CommonWrapper","_MobilePopup","_decorator","_rootNode","_getDOMRect","_Popup","_getMenuPositions","_ZIndex","_Autocomplete2","_locale","_getAutocompleteTheme","_excluded","_dec","_class","_Autocomplete","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","exports","root","menu","AutocompleteIds","Autocomplete","locale","AutocompleteLocaleHelper","responsiveLayout","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","selected","focused","isMobileOpened","opened","input","menuId","getRandomID","requestId","getProps","createPropsGetter","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","_objectWithoutPropertiesLoose2","default","inputProps","_extends2","autoComplete","handleValueChange","handleKeyDown","handleFocus","ref","refInput","createElement","RenderLayer","onFocusOutside","handleBlur","onClickOutside","handleClickOutside","active","className","cx","styles","noPortal","style","refRootSpan","Input","renderMobileMenu","renderMenu","_this$mobilePopup","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","enterValue","MobilePopup","id","headerChildComponent","caption","onCloseRequest","handleCloseMobile","refMobilePopup","Menu","refMenu","onItemClick","mobilePopup","close","disableScrollContainer","maxHeight","getItems","renderHints","map","i","MenuItem","onClick","handleMenuItemClick","key","size","fireChange","setState","e","_this$mobilePopup2","event","blur","fixClickFocusIE","isKeyEscape","preventDefault","isKeyArrowUp","up","isKeyArrowDown","down","isKeyEnter","enter","getAnchor","getRootNode","el","span","rootSpan","_inheritsLoose2","_proto","prototype","focus","componentDidUpdate","prevProps","updateItems","render","_this2","ThemeContext","Consumer","getAutocompleteTheme","Provider","CommonWrapper","rootNodeRef","setRootNode","MenuMessage","notFound","isNullable","updateValue","_this$getProps","menuWidth","calculatedMenuWidth","getDOMRect","menuProps","hasMargin","Popup","priority","ZIndex","priorities","PopupMenu","anchorElement","minWidth","undefined","positions","getMenuPositions","margin","parseInt","menuOffsetY","_this3","handleItemClick","index","button","choose","_this4","trim","promise","expectingId","then","React","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Autocomplete.tsx"],"sourcesContent":["import type { AriaAttributes, KeyboardEvent } from 'react';\nimport React from 'react';\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 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 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 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","_interopRequireDefault","require","_globalObject","_MenuMessage","_decorators","_utils","_ThemeContext","_Emotion","_identifiers","_Input","_Menu","_MenuItem","_RenderLayer","_createPropsGetter","_fixClickFocusIE","_CommonWrapper","_MobilePopup","_decorator","_rootNode","_getDOMRect","_Popup","_getMenuPositions","_ZIndex","_MaskedInput","_ReactUIFeatureFlagsContext","_FeatureFlagsHelpers","_Autocomplete2","_locale","_getAutocompleteTheme","_excluded","_dec","_class","_Autocomplete","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","exports","root","menu","AutocompleteIds","Autocomplete","locale","AutocompleteLocaleHelper","responsiveLayout","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","selected","focused","isMobileOpened","opened","input","menuId","getRandomID","requestId","getProps","createPropsGetter","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","_objectWithoutPropertiesLoose2","default","inputProps","_extends2","autoComplete","handleValueChange","handleKeyDown","handleFocus","ref","refInput","createElement","RenderLayer","onFocusOutside","handleBlur","onClickOutside","handleClickOutside","active","className","cx","styles","noPortal","style","refRootSpan","getInput","renderMobileMenu","renderMenu","featureFlags","autocompleteUseMaskedInput","mask","MaskedInput","getSafeMaskInputType","maskChar","Input","_this$mobilePopup","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","enterValue","inputMode","MobilePopup","id","headerChildComponent","caption","onCloseRequest","handleCloseMobile","refMobilePopup","Menu","refMenu","onItemClick","mobilePopup","close","disableScrollContainer","maxHeight","getItems","renderHints","map","i","MenuItem","onClick","handleMenuItemClick","key","size","fireChange","setState","e","_this$mobilePopup2","event","blur","fixClickFocusIE","isKeyEscape","preventDefault","isKeyArrowUp","up","isKeyArrowDown","down","isKeyEnter","enter","getAnchor","getRootNode","el","span","rootSpan","_inheritsLoose2","_proto","prototype","focus","componentDidUpdate","prevProps","updateItems","render","_this2","ReactUIFeatureFlagsContext","Consumer","flags","getFullReactUIFlagsContext","ThemeContext","getAutocompleteTheme","Provider","CommonWrapper","rootNodeRef","setRootNode","MenuMessage","notFound","isNullable","updateValue","_this$getProps","menuWidth","calculatedMenuWidth","getDOMRect","menuProps","hasMargin","Popup","priority","ZIndex","priorities","PopupMenu","anchorElement","minWidth","undefined","positions","getMenuPositions","margin","parseInt","menuOffsetY","_this3","handleItemClick","index","button","choose","_this4","globalObject","setTimeout","_this5","trim","promise","expectingId","then","React","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":[]}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import type { ButtonLinkAllowedValues } from '../../lib/types/button-link';
3
3
  import type { ThemeIn } from '../../lib/theming/Theme';
4
4
  import type { CommonProps } from '../../internal/CommonWrapper';
5
+ import type { TGetRootNode } from '../../lib/rootNode';
5
6
  import type { SizeProp } from '../../lib/types/props';
6
7
  import type { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component';
7
8
  export type ButtonType = 'button' | 'submit' | 'reset';
@@ -83,6 +84,7 @@ export declare class Button<C extends ButtonLinkAllowedValues = typeof BUTTON_DE
83
84
  };
84
85
  private theme;
85
86
  private node;
87
+ getRootNode: TGetRootNode;
86
88
  private setRootNode;
87
89
  componentDidMount(): void;
88
90
  static getDerivedStateFromProps(props: ButtonProps): {
@@ -7,6 +7,7 @@ var _utils = require("../../lib/utils");
7
7
  var _client = require("../../lib/client");
8
8
  var _keyListener = require("../../lib/events/keyListener");
9
9
 
10
+ var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
10
11
  var _ThemeContext = require("../../lib/theming/ThemeContext");
11
12
 
12
13
  var _CommonWrapper = require("../../internal/CommonWrapper");
@@ -216,6 +217,7 @@ Button = exports.Button = (0, _rootNode.rootNode)(_class = (_Button = /*#__PURE_
216
217
 
217
218
 
218
219
 
220
+
219
221
 
220
222
 
221
223
  renderMain = function (props) {var _cx, _cx4, _cx5;
@@ -435,6 +437,32 @@ Button = exports.Button = (0, _rootNode.rootNode)(_class = (_Button = /*#__PURE_
435
437
 
436
438
 
437
439
 
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+
465
+
438
466
 
439
467
 
440
468
 
@@ -486,7 +514,7 @@ Button = exports.Button = (0, _rootNode.rootNode)(_class = (_Button = /*#__PURE_
486
514
  * @public
487
515
  */;_proto.focus = function focus() {var _this$node;(_this$node = this.node) == null || _this$node.focus();} /**
488
516
  * @public
489
- */;_proto.blur = function blur() {var _this$node2;(_this$node2 = this.node) == null || _this$node2.blur();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = _this2.props.theme ? _ThemeFactory.ThemeFactory.create(_this2.props.theme, theme) : theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.props), _this2.renderMain);});};_proto.getTabIndex = function getTabIndex(_ref2) {var disableFocus = _ref2.disableFocus,disabled = _ref2.disabled,_ref2$tabIndex = _ref2.tabIndex,tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;if (disableFocus || disabled) {return -1;}return tabIndex;};_proto.renderIcon2022 = function renderIcon2022(icon) {if (icon && (0, _utils.isKonturIcon)(icon)) {var _icon$props$size;var sizes = (0, _ButtonIcon.getButtonIconSizes)(this.theme);return /*#__PURE__*/_react.default.cloneElement(icon, { size: (_icon$props$size = icon.props.size) != null ? _icon$props$size : sizes[this.getProps().size] });}return icon;};_proto.getSizeClassName = function getSizeClassName() {var _cx6, _cx7, _cx8;switch (this.getProps().size) {case 'large':return (0, _Emotion.cx)(_Button2.styles.sizeLarge(this.theme), (_cx6 = {}, _cx6[_Button2.styles.sizeLargeIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx6[_Button2.styles.sizeLargeWithIcon(this.theme)] = !!this.props.icon, _cx6[_Button2.styles.sizeLargeWithIconWithoutText(this.theme)] = !!this.props.icon && !this.props.children, _cx6));case 'medium':return (0, _Emotion.cx)(_Button2.styles.sizeMedium(this.theme), (_cx7 = {}, _cx7[_Button2.styles.sizeMediumIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx7[_Button2.styles.sizeMediumWithIcon(this.theme)] = !!this.props.icon, _cx7[_Button2.styles.sizeMediumWithIconWithoutText(this.theme)] = !!this.props.icon && !this.props.children, _cx7));case 'small':default:return (0, _Emotion.cx)(_Button2.styles.sizeSmall(this.theme), (_cx8 = {}, _cx8[_Button2.styles.sizeSmallIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx8[_Button2.styles.sizeSmallWithIcon(this.theme)] = !!this.props.icon, _cx8[_Button2.styles.sizeSmallWithIconWithoutText(this.theme)] = !!this.props.icon && !this.props.children, _cx8));}};_proto.getSizeWrapClassName = function getSizeWrapClassName() {switch (this.getProps().size) {case 'large':return _Button2.styles.wrapLarge(this.theme);case 'medium':return _Button2.styles.wrapMedium(this.theme);case 'small':default:return _Button2.styles.wrapSmall(this.theme);}};return Button;}(_react.default.Component), _Button.__KONTUR_REACT_UI__ = 'Button', _Button.displayName = 'Button', _Button.__BUTTON__ = true, _Button.defaultProps = { use: 'default', size: 'small', // By default the type attribute is 'submit'. IE8 will fire a click event
517
+ */;_proto.blur = function blur() {var _this$node2;(_this$node2 = this.node) == null || _this$node2.blur();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = _this2.props.theme ? _ThemeFactory.ThemeFactory.create(_this2.props.theme, theme) : theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.props), _this2.renderMain);});};_proto.getTabIndex = function getTabIndex(_ref2) {var disableFocus = _ref2.disableFocus,disabled = _ref2.disabled,_ref2$tabIndex = _ref2.tabIndex,tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;if (disableFocus || disabled) {return -1;}return tabIndex;};_proto.renderIcon2022 = function renderIcon2022(icon) {if (icon && (0, _utils.isKonturIcon)(icon)) {var _icon$props$size;var sizes = (0, _ButtonIcon.getButtonIconSizes)(this.theme);return /*#__PURE__*/_react.default.cloneElement(icon, { size: (_icon$props$size = icon.props.size) != null ? _icon$props$size : sizes[this.getProps().size] });}return icon;};_proto.getSizeClassName = function getSizeClassName() {var _this$getProps2 = this.getProps(),icon = _this$getProps2.icon,rightIcon = _this$getProps2.rightIcon,children = _this$getProps2.children,size = _this$getProps2.size;var isThemeGTE_5_3 = (0, _ThemeHelpers.isThemeGTE)(this.theme, '5.3');switch (size) {case 'large':{var _commonClasses, _themeSpecificClasses;var commonClasses = (_commonClasses = {}, _commonClasses[_Button2.styles.sizeLargeIE11(this.theme)] = _client.isIE11 || _client.isEdge, _commonClasses[_Button2.styles.sizeLargeWithIcon(this.theme)] = !!icon, _commonClasses[_Button2.styles.sizeLargeWithIconWithoutText(this.theme)] = !!icon && !children, _commonClasses);var themeSpecificClasses = (_themeSpecificClasses = {}, _themeSpecificClasses[_Button2.styles.sizeLargeWithRightIcon(this.theme)] = !!rightIcon, _themeSpecificClasses[_Button2.styles.sizeLargeWithIconWithoutText5_3(this.theme)] = (!!icon || !!rightIcon) && !children, _themeSpecificClasses);return (0, _Emotion.cx)(_Button2.styles.sizeLarge(this.theme), commonClasses, isThemeGTE_5_3 && themeSpecificClasses);}case 'medium':{var _commonClasses3, _themeSpecificClasses3;var _commonClasses2 = (_commonClasses3 = {}, _commonClasses3[_Button2.styles.sizeMediumIE11(this.theme)] = _client.isIE11 || _client.isEdge, _commonClasses3[_Button2.styles.sizeMediumWithIcon(this.theme)] = !!icon, _commonClasses3[_Button2.styles.sizeMediumWithIconWithoutText(this.theme)] = !!icon && !children, _commonClasses3);var _themeSpecificClasses2 = (_themeSpecificClasses3 = {}, _themeSpecificClasses3[_Button2.styles.sizeMediumWithRightIcon(this.theme)] = !!rightIcon, _themeSpecificClasses3[_Button2.styles.sizeMediumWithIconWithoutText5_3(this.theme)] = (!!icon || !!rightIcon) && !children, _themeSpecificClasses3);return (0, _Emotion.cx)(_Button2.styles.sizeMedium(this.theme), _commonClasses2, isThemeGTE_5_3 && _themeSpecificClasses2);}case 'small':default:{var _commonClasses5, _themeSpecificClasses5;var _commonClasses4 = (_commonClasses5 = {}, _commonClasses5[_Button2.styles.sizeSmallIE11(this.theme)] = _client.isIE11 || _client.isEdge, _commonClasses5[_Button2.styles.sizeSmallWithIcon(this.theme)] = !!icon, _commonClasses5[_Button2.styles.sizeSmallWithIconWithoutText(this.theme)] = !!icon && !children, _commonClasses5);var _themeSpecificClasses4 = (_themeSpecificClasses5 = {}, _themeSpecificClasses5[_Button2.styles.sizeSmallWithRightIcon(this.theme)] = !!rightIcon, _themeSpecificClasses5[_Button2.styles.sizeSmallWithIconWithoutText5_3(this.theme)] = (!!icon || !!rightIcon) && !children, _themeSpecificClasses5);return (0, _Emotion.cx)(_Button2.styles.sizeSmall(this.theme), _commonClasses4, isThemeGTE_5_3 && _themeSpecificClasses4);}}};_proto.getSizeWrapClassName = function getSizeWrapClassName() {switch (this.getProps().size) {case 'large':return _Button2.styles.wrapLarge(this.theme);case 'medium':return _Button2.styles.wrapMedium(this.theme);case 'small':default:return _Button2.styles.wrapSmall(this.theme);}};return Button;}(_react.default.Component), _Button.__KONTUR_REACT_UI__ = 'Button', _Button.displayName = 'Button', _Button.__BUTTON__ = true, _Button.defaultProps = { use: 'default', size: 'small', // By default the type attribute is 'submit'. IE8 will fire a click event
490
518
  // on this button if somewhere on the page user presses Enter while some
491
519
  // input is focused. So we set type to 'button' by default.
492
520
  type: 'button', component: BUTTON_DEFAULT_COMPONENT }, _Button)) || _class;