@skbkontur/react-ui 5.2.1 → 5.3.0

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 (554) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +6 -23
  4. package/cjs/components/Autocomplete/Autocomplete.js +49 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +2 -0
  7. package/cjs/components/Button/Button.js +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 -12
  19. package/cjs/components/Checkbox/Checkbox.js +2 -14
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
  22. package/cjs/components/ComboBox/ComboBox.js +1 -0
  23. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  24. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  25. package/cjs/components/CurrencyInput/CurrencyInput.js +5 -28
  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 +21 -28
  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 +6 -33
  35. package/cjs/components/DatePicker/DatePicker.js +6 -60
  36. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  37. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  38. package/cjs/components/Dropdown/Dropdown.js +2 -82
  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 -5
  44. package/cjs/components/FxInput/FxInput.js +2 -7
  45. package/cjs/components/FxInput/FxInput.js.map +1 -1
  46. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  47. package/cjs/components/Gapped/Gapped.js +1 -24
  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 +5 -4
  53. package/cjs/components/Group/Group.js +91 -40
  54. package/cjs/components/Group/Group.js.map +1 -1
  55. package/cjs/components/Group/Group.styles.d.ts +1 -0
  56. package/cjs/components/Group/Group.styles.js +12 -6
  57. package/cjs/components/Group/Group.styles.js.map +1 -1
  58. package/cjs/components/Hint/Hint.d.ts +2 -0
  59. package/cjs/components/Hint/Hint.js +1 -0
  60. package/cjs/components/Hint/Hint.js.map +1 -1
  61. package/cjs/components/Input/Input.d.ts +2 -0
  62. package/cjs/components/Input/Input.js +1 -0
  63. package/cjs/components/Input/Input.js.map +1 -1
  64. package/cjs/components/Kebab/Kebab.d.ts +2 -1
  65. package/cjs/components/Kebab/Kebab.js +2 -26
  66. package/cjs/components/Kebab/Kebab.js.map +1 -1
  67. package/cjs/components/Link/Link.d.ts +2 -0
  68. package/cjs/components/Link/Link.js +1 -0
  69. package/cjs/components/Link/Link.js.map +1 -1
  70. package/cjs/components/Loader/Loader.d.ts +6 -36
  71. package/cjs/components/Loader/Loader.js +3 -57
  72. package/cjs/components/Loader/Loader.js.map +1 -1
  73. package/cjs/components/MaskedInput/MaskedInput.d.ts +1 -0
  74. package/cjs/components/MaskedInput/MaskedInput.js +17 -1
  75. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  76. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  77. package/cjs/components/MenuItem/MenuItem.js +2 -22
  78. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  79. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  80. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  81. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  82. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  83. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  84. package/cjs/components/Modal/Modal.styles.d.ts +1 -0
  85. package/cjs/components/Modal/Modal.styles.js +36 -28
  86. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  87. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  88. package/cjs/components/Modal/ModalBody.js +1 -0
  89. package/cjs/components/Modal/ModalBody.js.map +1 -1
  90. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  91. package/cjs/components/Modal/ModalHeader.js +8 -1
  92. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  93. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  94. package/cjs/components/Paging/DotsIcon.js +13 -0
  95. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  96. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  97. package/cjs/components/Paging/ForwardIcon.js +13 -1
  98. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  99. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  100. package/cjs/components/Paging/NavigationHelper.js +8 -6
  101. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  102. package/cjs/components/Paging/Paging.d.ts +13 -2
  103. package/cjs/components/Paging/Paging.js +120 -50
  104. package/cjs/components/Paging/Paging.js.map +1 -1
  105. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  106. package/cjs/components/Paging/Paging.styles.js +151 -22
  107. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  108. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  109. package/cjs/components/Paging/PagingHelper.js +18 -11
  110. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  111. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -7
  112. package/cjs/components/PasswordInput/PasswordInput.js +2 -11
  113. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  114. package/cjs/components/Radio/Radio.d.ts +2 -0
  115. package/cjs/components/Radio/Radio.js +1 -0
  116. package/cjs/components/Radio/Radio.js.map +1 -1
  117. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
  118. package/cjs/components/RadioGroup/RadioGroup.js +1 -0
  119. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  120. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  121. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  122. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  123. package/cjs/components/Select/Select.d.ts +2 -0
  124. package/cjs/components/Select/Select.js +1 -0
  125. package/cjs/components/Select/Select.js.map +1 -1
  126. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  127. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  128. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  129. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  130. package/cjs/components/SidePage/SidePageBody.js +1 -0
  131. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  132. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  133. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  134. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  135. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  136. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  137. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  138. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  139. package/cjs/components/SidePage/SidePageHeader.js +60 -19
  140. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  141. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  142. package/cjs/components/Spinner/Spinner.js +2 -32
  143. package/cjs/components/Spinner/Spinner.js.map +1 -1
  144. package/cjs/components/Sticky/Sticky.d.ts +2 -13
  145. package/cjs/components/Sticky/Sticky.js +2 -22
  146. package/cjs/components/Sticky/Sticky.js.map +1 -1
  147. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  148. package/cjs/components/Switcher/Switcher.js +11 -20
  149. package/cjs/components/Switcher/Switcher.js.map +1 -1
  150. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  151. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  152. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  153. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  154. package/cjs/components/Tabs/Indicator.js +1 -0
  155. package/cjs/components/Tabs/Indicator.js.map +1 -1
  156. package/cjs/components/Tabs/Tab.d.ts +2 -0
  157. package/cjs/components/Tabs/Tab.js +1 -0
  158. package/cjs/components/Tabs/Tab.js.map +1 -1
  159. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  160. package/cjs/components/Tabs/Tabs.js +1 -0
  161. package/cjs/components/Tabs/Tabs.js.map +1 -1
  162. package/cjs/components/Textarea/Textarea.d.ts +2 -44
  163. package/cjs/components/Textarea/Textarea.js +2 -56
  164. package/cjs/components/Textarea/Textarea.js.map +1 -1
  165. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  166. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  167. package/cjs/components/Toast/Toast.d.ts +2 -0
  168. package/cjs/components/Toast/Toast.js +1 -0
  169. package/cjs/components/Toast/Toast.js.map +1 -1
  170. package/cjs/components/Toast/ToastView.d.ts +2 -14
  171. package/cjs/components/Toast/ToastView.js +3 -22
  172. package/cjs/components/Toast/ToastView.js.map +1 -1
  173. package/cjs/components/Toggle/Toggle.d.ts +2 -10
  174. package/cjs/components/Toggle/Toggle.js +1 -11
  175. package/cjs/components/Toggle/Toggle.js.map +1 -1
  176. package/cjs/components/Token/Token.d.ts +2 -0
  177. package/cjs/components/Token/Token.js +1 -0
  178. package/cjs/components/Token/Token.js.map +1 -1
  179. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  180. package/cjs/components/TokenInput/TokenInput.js +1 -0
  181. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  182. package/cjs/components/Tooltip/Tooltip.d.ts +14 -9
  183. package/cjs/components/Tooltip/Tooltip.js +95 -13
  184. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  185. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  186. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  187. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  188. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  189. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  190. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  191. package/cjs/index.d.ts +1 -0
  192. package/cjs/index.js.map +1 -1
  193. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  194. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  195. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  196. package/cjs/internal/ComponentTable.js +2 -3
  197. package/cjs/internal/ComponentTable.js.map +1 -1
  198. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  199. package/cjs/internal/CustomComboBox/ComboBoxView.js +1 -0
  200. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  201. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  202. package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -0
  203. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  204. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  205. package/cjs/internal/DateSelect/DateSelect.js +1 -18
  206. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  207. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  208. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  209. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  210. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  211. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  212. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -0
  213. package/cjs/internal/InputLikeText/InputLikeText.js +1 -0
  214. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  215. package/cjs/internal/Menu/Menu.d.ts +2 -0
  216. package/cjs/internal/Menu/Menu.js +1 -0
  217. package/cjs/internal/Menu/Menu.js.map +1 -1
  218. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  219. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  220. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  221. package/cjs/internal/Popup/Popup.d.ts +41 -59
  222. package/cjs/internal/Popup/Popup.js +36 -79
  223. package/cjs/internal/Popup/Popup.js.map +1 -1
  224. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  225. package/cjs/internal/Popup/PopupPin.js +2 -35
  226. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  227. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  228. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  229. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  230. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  231. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  232. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  233. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  234. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  235. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  236. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  237. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  238. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  239. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  240. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  241. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  242. package/cjs/internal/ThemePlayground/Playground.js +1 -1
  243. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  244. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  245. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  246. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  247. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  248. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  249. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  250. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  251. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  252. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  253. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  254. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  255. package/cjs/internal/themes/BasicTheme.d.ts +112 -20
  256. package/cjs/internal/themes/BasicTheme.js +149 -18
  257. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  258. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  259. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  260. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  261. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  262. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  263. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  264. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  265. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  266. package/cjs/lib/delay.mts +3 -0
  267. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  268. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  269. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +11 -1
  270. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  271. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  272. package/cjs/lib/forwardRefAndName.js +0 -1
  273. package/cjs/lib/forwardRefAndName.js.map +1 -1
  274. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  275. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  276. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  277. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  278. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  279. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  280. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  281. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  282. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  283. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  284. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  285. package/cjs/lib/utils.d.ts +4 -0
  286. package/cjs/lib/utils.js +5 -1
  287. package/cjs/lib/utils.js.map +1 -1
  288. package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -45
  289. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  290. package/components/Autocomplete/Autocomplete.d.ts +6 -23
  291. package/components/Button/Button/Button.js +26 -5
  292. package/components/Button/Button/Button.js.map +1 -1
  293. package/components/Button/Button.d.ts +2 -0
  294. package/components/Button/Button.styles/Button.styles.js +78 -60
  295. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  296. package/components/Button/Button.styles.d.ts +6 -0
  297. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  298. package/components/Calendar/Calendar.d.ts +2 -0
  299. package/components/Center/Center/Center.js.map +1 -1
  300. package/components/Center/Center.d.ts +2 -0
  301. package/components/Checkbox/Checkbox/Checkbox.js +0 -11
  302. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  303. package/components/Checkbox/Checkbox.d.ts +2 -12
  304. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  305. package/components/ComboBox/ComboBox.d.ts +2 -0
  306. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +12 -36
  307. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  308. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  309. package/components/CurrencyInput/constants/constants.js +0 -1
  310. package/components/CurrencyInput/constants/constants.js.map +1 -1
  311. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  312. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  313. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  314. package/components/DateInput/DateInput.d.ts +2 -0
  315. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  316. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  317. package/components/DatePicker/DatePicker.d.ts +6 -33
  318. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  319. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  320. package/components/Dropdown/Dropdown.d.ts +2 -47
  321. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  322. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  323. package/components/FxInput/FxInput/FxInput.js +1 -5
  324. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  325. package/components/FxInput/FxInput.d.ts +2 -5
  326. package/components/Gapped/Gapped/Gapped.js +1 -15
  327. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  328. package/components/Gapped/Gapped.d.ts +2 -15
  329. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  330. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  331. package/components/Group/Group/Group.js +64 -28
  332. package/components/Group/Group/Group.js.map +1 -1
  333. package/components/Group/Group.d.ts +5 -4
  334. package/components/Group/Group.styles/Group.styles.js +9 -6
  335. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  336. package/components/Group/Group.styles.d.ts +1 -0
  337. package/components/Hint/Hint/Hint.js.map +1 -1
  338. package/components/Hint/Hint.d.ts +2 -0
  339. package/components/Input/Input/Input.js.map +1 -1
  340. package/components/Input/Input.d.ts +2 -0
  341. package/components/Kebab/Kebab/Kebab.js +2 -20
  342. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  343. package/components/Kebab/Kebab.d.ts +2 -1
  344. package/components/Link/Link/Link.js.map +1 -1
  345. package/components/Link/Link.d.ts +2 -0
  346. package/components/Loader/Loader/Loader.js +0 -33
  347. package/components/Loader/Loader/Loader.js.map +1 -1
  348. package/components/Loader/Loader.d.ts +6 -36
  349. package/components/MaskedInput/MaskedInput/MaskedInput.js +14 -0
  350. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  351. package/components/MaskedInput/MaskedInput.d.ts +1 -0
  352. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  353. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  354. package/components/MenuItem/MenuItem.d.ts +2 -12
  355. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  356. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  357. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  358. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  359. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  360. package/components/Modal/Modal.styles/Modal.styles.js +31 -28
  361. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  362. package/components/Modal/Modal.styles.d.ts +1 -0
  363. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  364. package/components/Modal/ModalBody.d.ts +2 -0
  365. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  366. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  367. package/components/Modal/ModalHeader.d.ts +5 -0
  368. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  369. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  370. package/components/Paging/DotsIcon/package.json +6 -0
  371. package/components/Paging/DotsIcon.d.ts +3 -0
  372. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  373. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  374. package/components/Paging/ForwardIcon.d.ts +3 -0
  375. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  376. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  377. package/components/Paging/NavigationHelper.d.ts +3 -2
  378. package/components/Paging/Paging/Paging.js +96 -47
  379. package/components/Paging/Paging/Paging.js.map +1 -1
  380. package/components/Paging/Paging.d.ts +13 -2
  381. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  382. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  383. package/components/Paging/Paging.styles.d.ts +24 -1
  384. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  385. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  386. package/components/Paging/PagingHelper.d.ts +1 -1
  387. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
  388. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  389. package/components/PasswordInput/PasswordInput.d.ts +2 -7
  390. package/components/Radio/Radio/Radio.js.map +1 -1
  391. package/components/Radio/Radio.d.ts +2 -0
  392. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  393. package/components/RadioGroup/RadioGroup.d.ts +2 -0
  394. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  395. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  396. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  397. package/components/Select/Select/Select.js.map +1 -1
  398. package/components/Select/Select.d.ts +2 -0
  399. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  400. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  401. package/components/SidePage/SidePage.styles.d.ts +3 -1
  402. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  403. package/components/SidePage/SidePageBody.d.ts +2 -0
  404. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  405. package/components/SidePage/SidePageContainer.d.ts +2 -0
  406. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  407. package/components/SidePage/SidePageFooter.d.ts +2 -0
  408. package/components/SidePage/SidePageHeader/SidePageHeader.js +61 -39
  409. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  410. package/components/SidePage/SidePageHeader.d.ts +12 -2
  411. package/components/Spinner/Spinner/Spinner.js +1 -18
  412. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  413. package/components/Spinner/Spinner.d.ts +2 -18
  414. package/components/Sticky/Sticky/Sticky.js +1 -13
  415. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  416. package/components/Sticky/Sticky.d.ts +2 -13
  417. package/components/Switcher/Switcher/Switcher.js +19 -16
  418. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  419. package/components/Switcher/Switcher.d.ts +6 -21
  420. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  421. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  422. package/components/Switcher/Switcher.styles.d.ts +1 -0
  423. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  424. package/components/Tabs/Indicator.d.ts +2 -0
  425. package/components/Tabs/Tab/Tab.js.map +1 -1
  426. package/components/Tabs/Tab.d.ts +2 -0
  427. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  428. package/components/Tabs/Tabs.d.ts +2 -0
  429. package/components/Textarea/Textarea/Textarea.js +1 -44
  430. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  431. package/components/Textarea/Textarea.d.ts +2 -44
  432. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  433. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  434. package/components/Toast/Toast/Toast.js.map +1 -1
  435. package/components/Toast/Toast.d.ts +2 -0
  436. package/components/Toast/ToastView/ToastView.js +3 -17
  437. package/components/Toast/ToastView/ToastView.js.map +1 -1
  438. package/components/Toast/ToastView.d.ts +2 -14
  439. package/components/Toggle/Toggle/Toggle.js +1 -10
  440. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  441. package/components/Toggle/Toggle.d.ts +2 -10
  442. package/components/Token/Token/Token.js.map +1 -1
  443. package/components/Token/Token.d.ts +2 -0
  444. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  445. package/components/TokenInput/TokenInput.d.ts +2 -0
  446. package/components/Tooltip/Tooltip/Tooltip.js +67 -20
  447. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  448. package/components/Tooltip/Tooltip.d.ts +14 -9
  449. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  450. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  451. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  452. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  453. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  454. package/index.d.ts +1 -0
  455. package/index.js +1 -0
  456. package/index.js.map +1 -1
  457. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  458. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  459. package/internal/ComponentTable/ComponentTable.js +0 -2
  460. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  461. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  462. package/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  463. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  464. package/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  465. package/internal/DateSelect/DateSelect/DateSelect.js +1 -10
  466. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  467. package/internal/DateSelect/DateSelect.d.ts +0 -10
  468. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  469. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  470. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  471. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  472. package/internal/InputLikeText/InputLikeText.d.ts +2 -0
  473. package/internal/Menu/Menu/Menu.js.map +1 -1
  474. package/internal/Menu/Menu.d.ts +2 -0
  475. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  476. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  477. package/internal/Popup/Popup/Popup.js +14 -64
  478. package/internal/Popup/Popup/Popup.js.map +1 -1
  479. package/internal/Popup/Popup.d.ts +41 -59
  480. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  481. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  482. package/internal/Popup/PopupPin.d.ts +23 -33
  483. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  484. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  485. package/internal/Popup/PopupPinNew/package.json +6 -0
  486. package/internal/Popup/PopupPinNew.d.ts +31 -0
  487. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  488. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  489. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  490. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  491. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  492. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  493. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  494. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  495. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  496. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  497. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  498. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  499. package/internal/ThemePlayground/Playground/Playground.js +4 -3
  500. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  501. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  502. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  503. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  504. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  505. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  506. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  507. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  508. package/internal/ZIndex/ZIndex.d.ts +3 -3
  509. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  510. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  511. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  512. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  513. package/internal/themes/BasicTheme/BasicTheme.js +170 -26
  514. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  515. package/internal/themes/BasicTheme.d.ts +112 -20
  516. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  517. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  518. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  519. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  520. package/internal/themes/DarkTheme5_3/package.json +6 -0
  521. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  522. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  523. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  524. package/internal/themes/LightTheme5_3/package.json +6 -0
  525. package/internal/themes/LightTheme5_3.d.ts +1 -0
  526. package/lib/delay.d.mts +1 -0
  527. package/lib/delay.mts +3 -0
  528. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  529. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -1
  530. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  531. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  532. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  533. package/lib/forwardRefAndName.d.ts +1 -1
  534. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  535. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  536. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  537. package/lib/theming/ThemeVersions.d.ts +1 -1
  538. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  539. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  540. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  541. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  542. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  543. package/lib/theming/themes/LightTheme.d.ts +1 -0
  544. package/lib/utils/utils.js +2 -0
  545. package/lib/utils/utils.js.map +1 -1
  546. package/lib/utils.d.ts +4 -0
  547. package/package.json +10 -13
  548. package/cjs/lib/SSRSafe.d.ts +0 -2
  549. package/cjs/lib/SSRSafe.js +0 -5
  550. package/cjs/lib/SSRSafe.js.map +0 -1
  551. package/lib/SSRSafe/SSRSafe.js +0 -4
  552. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  553. package/lib/SSRSafe/package.json +0 -6
  554. package/lib/SSRSafe.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"names":["React","ReactDOM","debounce","globalObject","isNonNullable","isKeyTab","isShortcutPaste","MouseDrag","isEdge","isIE11","isMobile","removeAllSelections","selectNodeContents","calculateClearCrossShowedState","InputDataTids","styles","jsInputStyles","ThemeContext","CommonWrapper","cx","findRenderContainer","rootNode","createPropsGetter","InputLayoutAside","InputLayoutContext","InputLayoutContextDefault","isInstanceOf","FocusControlWrapper","ClearCrossIcon","HiddenInput","InputLikeTextDataTids","root","input","nativeInput","InputLikeText","_class","_InputLikeText","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","getClearCrossShowed","_ref","focused","hovered","props","disabled","showClearIcon","notEmptyValue","Boolean","children","state","blinking","clearCrossShowed","node","hiddenInput","lastSelectedInnerNode","frozen","frozenBlur","dragging","selectNodeContentsDebounced","selectInnerNode","start","end","document","body","focusTimeout","clearInterval","setTimeout","focus","renderMain","_cx","_cx2","_cx3","innerRef","tabIndex","placeholder","align","borderless","width","size","error","warning","onValueChange","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","ariaDescribedby","ariaLabel","ariaLabelledby","onClearCrossClick","rest","_objectWithoutPropertiesLoose","_excluded","_this$state","getRightIcon","createElement","clearCross","onFocus","event","stopPropagation","onClick","leftSide","icon","text","side","rightSide","className","theme","getSizeClassName","hovering","blink","focusFallback","warningFallback","errorFallback","hideBlinkingCursor","wrapperClass","wrapper","userSelectContain","context","Object","assign","onBlurWhenDisabled","resetFocus","_extends","style","textAlign","handleFocus","onMouseEnter","handleHover","onMouseLeave","handleUnhover","onBlur","handleBlur","ref","onKeyDown","handleKeyDown","onMouseDown","handleMouseDown","role","Provider","type","absolute","inputFocus","inputDisabled","renderPlaceholder","nodeRef","hiddenInputRef","_this$props","hasValue","_cx4","placeholderDisabled","placeholderFocus","handleDocumentMouseDown","e","target","Node","contains","defrost","handleDocumentKeyDown","_this2","handleMouseDragStart","_globalObject$documen","documentElement","classList","add","userSelectNone","handleMouseDragEnd","_globalObject$documen2","remove","_this$node","setAttribute","version","search","flushSync","setState","cancel","_this$node2","removeAttribute","_this$node3","el","_cx5","_cx6","_cx7","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","_inheritsLoose","_proto","prototype","blur","_this3","blinkTimeout","getNode","componentDidMount","_globalObject$documen3","_globalObject$documen4","listen","addEventListener","componentWillUnmount","_globalObject$documen5","_globalObject$documen6","clearTimeout","stop","removeEventListener","render","_this4","Consumer","rootNodeRef","setRootNode","Component","__KONTUR_REACT_UI__","displayName"],"sources":["InputLikeText.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyTab, isShortcutPaste } from '../../lib/events/keyboard/identifiers';\nimport type { MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { MouseDrag } from '../../lib/events/MouseDrag';\nimport { isEdge, isIE11, isMobile } from '../../lib/client';\nimport { removeAllSelections, selectNodeContents } from '../../lib/dom/selectionHelpers';\nimport type { InputProps, InputState } from '../../components/Input';\nimport { calculateClearCrossShowedState, InputDataTids } from '../../components/Input';\nimport { styles as jsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps, CommonWrapperRestProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { findRenderContainer } from '../../lib/listenFocusOutside';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { InputLayoutAside } from '../../components/Input/InputLayout/InputLayoutAside';\nimport { InputLayoutContext, InputLayoutContextDefault } from '../../components/Input/InputLayout/InputLayoutContext';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { FocusControlWrapper } from '../FocusControlWrapper';\nimport { ClearCrossIcon } from '../ClearCrossIcon/ClearCrossIcon';\n\nimport { HiddenInput } from './HiddenInput';\nimport { styles } from './InputLikeText.styles';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n onClearCrossClick?: () => void;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'needsPolyfillPlaceholder' | 'hovered'>;\n\nexport const InputLikeTextDataTids = {\n root: 'InputLikeText__root',\n input: 'InputLikeText__input',\n nativeInput: 'InputLikeText__nativeInput',\n} as const;\n\ntype DefaultProps = Required<Pick<InputLikeTextProps, 'size' | 'showClearIcon'>>;\n\n@rootNode\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n public static displayName = 'InputLikeText';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(InputLikeText.defaultProps);\n\n private getClearCrossShowed = ({ focused, hovered }: { focused?: boolean; hovered?: boolean }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon,\n notEmptyValue: Boolean(this.props.children),\n focused,\n hovered,\n });\n };\n\n public state = {\n blinking: false,\n focused: false,\n clearCrossShowed: this.getClearCrossShowed({\n focused: false,\n }),\n };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private hiddenInput: HTMLInputElement | null = null;\n private lastSelectedInnerNode: [HTMLElement, number, number] | null = null;\n private frozen = false;\n private frozenBlur = false;\n private dragging = false;\n private focusTimeout: SafeTimer;\n private blinkTimeout: SafeTimer;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = globalObject.setTimeout(() => this.setState({ blinking: false }), 150);\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n // Async call required for Firefox\n private selectNodeContentsDebounced = debounce(selectNodeContents, 0);\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n if (isIE11 && globalObject.document && findRenderContainer(node, globalObject.document.body)) {\n // Code below causes Popup to close after triggering the focus event on the body in IE11\n return;\n }\n this.frozen = true;\n this.frozenBlur = true;\n\n this.lastSelectedInnerNode = [node, start, end];\n this.selectNodeContentsDebounced(node, start, end);\n\n if (this.focusTimeout) {\n globalObject.clearInterval(this.focusTimeout);\n }\n this.focusTimeout = globalObject.setTimeout(() => (isIE11 || isEdge) && this.node && this.node.focus(), 0);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n globalObject.document?.addEventListener('mousedown', this.handleDocumentMouseDown);\n globalObject.document?.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n }\n MouseDrag.stop(this.node);\n globalObject.document?.removeEventListener('mousedown', this.handleDocumentMouseDown);\n globalObject.document?.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n size,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n showClearIcon,\n onClearCrossClick,\n ...rest\n } = props;\n\n const { focused, blinking } = this.state;\n const getRightIcon = () => {\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon\n data-tid={InputDataTids.clearCross}\n size={size}\n onFocus={(event) => event.stopPropagation()}\n onClick={onClearCrossClick}\n />\n ) : (\n rightIcon\n );\n };\n const leftSide = <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />;\n const rightSide = <InputLayoutAside icon={getRightIcon()} text={suffix} side=\"right\" />;\n\n const className = cx(styles.root(), jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [jsInputStyles.disabled(this.theme)]: !!disabled,\n [jsInputStyles.borderless()]: !!borderless,\n [jsInputStyles.focus(this.theme)]: focused,\n [jsInputStyles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [jsInputStyles.blink(this.theme)]: blinking,\n [jsInputStyles.warning(this.theme)]: !!warning,\n [jsInputStyles.error(this.theme)]: !!error,\n [jsInputStyles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [jsInputStyles.warningFallback(this.theme)]: !!warning && (isIE11 || isEdge),\n [jsInputStyles.errorFallback(this.theme)]: !!error && (isIE11 || isEdge),\n [jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = cx(jsInputStyles.wrapper(), {\n [styles.userSelectContain()]: focused,\n });\n\n const context = InputLayoutContextDefault;\n Object.assign(context, { disabled, focused, size });\n\n return (\n <FocusControlWrapper disabled={disabled} onBlurWhenDisabled={this.resetFocus}>\n <span\n data-tid={InputLikeTextDataTids.root}\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? -1 : 0}\n onFocus={this.handleFocus}\n onMouseEnter={this.handleHover}\n onMouseLeave={this.handleUnhover}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n role=\"textbox\"\n aria-disabled={disabled}\n aria-describedby={ariaDescribedby}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n >\n <InputLayoutContext.Provider value={context}>\n <input type=\"hidden\" data-tid={InputLikeTextDataTids.nativeInput} value={value} disabled={disabled} />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid={InputLikeTextDataTids.input}\n className={cx(jsInputStyles.input(this.theme), {\n [styles.absolute()]: !takeContentWidth,\n [jsInputStyles.inputFocus(this.theme)]: focused,\n [jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n {isIE11 && focused && <HiddenInput nodeRef={this.hiddenInputRef} />}\n </InputLayoutContext.Provider>\n </span>\n </FocusControlWrapper>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={cx(jsInputStyles.placeholder(this.theme), {\n [jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleDocumentMouseDown = (e: MouseEvent) => {\n if (this.state.focused && this.node && isInstanceOf(e.target, globalObject.Node) && !this.node.contains(e.target)) {\n this.defrost();\n }\n };\n\n private handleDocumentKeyDown = (e: KeyboardEvent) => {\n if (this.state.focused && isKeyTab(e)) {\n this.defrost();\n }\n };\n\n private handleMouseDown = () => {\n this.frozen = true;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (isIE11 && isShortcutPaste(e) && this.hiddenInput) {\n this.frozen = true;\n globalObject.setTimeout(() => {\n if (this.lastSelectedInnerNode) {\n this.selectInnerNode(...this.lastSelectedInnerNode);\n }\n if (this.node) {\n this.node.focus();\n }\n }, 0);\n\n this.hiddenInput.focus();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n globalObject.document?.documentElement.classList.add(styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n globalObject.setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n globalObject.document?.documentElement.classList.remove(styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n this.node?.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n if (isIE11 && globalObject.document) {\n selectNodeContents(globalObject.document.body, 0, 0);\n }\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozen) {\n this.frozen = false;\n if (this.state.focused) {\n return;\n }\n }\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => this.setState({ focused: true }));\n } else {\n this.setState({ focused: true });\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n this.node?.removeAttribute('contenteditable');\n }\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n }\n removeAllSelections();\n this.setState({ focused: false });\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n this.node?.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n return;\n }\n if ((isIE11 || isEdge) && this.frozen) {\n return;\n }\n\n removeAllSelections();\n this.setState({ focused: false });\n\n this.props.onBlur?.(e);\n };\n\n private handleHover = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }) });\n };\n\n private handleUnhover = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }) });\n };\n\n private hiddenInputRef = (el: HTMLInputElement | null) => {\n this.hiddenInput = el;\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private defrost = (): void => {\n this.frozen = false;\n this.frozenBlur = false;\n };\n\n private getSizeClassName = () => {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [jsInputStyles.sizeLarge(this.theme)]: true,\n [jsInputStyles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [jsInputStyles.sizeMedium(this.theme)]: true,\n [jsInputStyles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [jsInputStyles.sizeSmall(this.theme)]: true,\n [jsInputStyles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ReactDOM","debounce","globalObject","isNonNullable","isKeyTab","isShortcutPaste","MouseDrag","isEdge","isIE11","isMobile","removeAllSelections","selectNodeContents","calculateClearCrossShowedState","InputDataTids","styles","jsInputStyles","ThemeContext","CommonWrapper","cx","findRenderContainer","rootNode","createPropsGetter","InputLayoutAside","InputLayoutContext","InputLayoutContextDefault","isInstanceOf","FocusControlWrapper","ClearCrossIcon","HiddenInput","InputLikeTextDataTids","root","input","nativeInput","InputLikeText","_class","_InputLikeText","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","getClearCrossShowed","_ref","focused","hovered","props","disabled","showClearIcon","notEmptyValue","Boolean","children","state","blinking","clearCrossShowed","node","hiddenInput","lastSelectedInnerNode","frozen","frozenBlur","dragging","selectNodeContentsDebounced","selectInnerNode","start","end","document","body","focusTimeout","clearInterval","setTimeout","focus","renderMain","_cx","_cx2","_cx3","innerRef","tabIndex","placeholder","align","borderless","width","size","error","warning","onValueChange","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","ariaDescribedby","ariaLabel","ariaLabelledby","onClearCrossClick","rest","_objectWithoutPropertiesLoose","_excluded","_this$state","getRightIcon","createElement","clearCross","onFocus","event","stopPropagation","onClick","leftSide","icon","text","side","rightSide","className","theme","getSizeClassName","hovering","blink","focusFallback","warningFallback","errorFallback","hideBlinkingCursor","wrapperClass","wrapper","userSelectContain","context","Object","assign","onBlurWhenDisabled","resetFocus","_extends","style","textAlign","handleFocus","onMouseEnter","handleHover","onMouseLeave","handleUnhover","onBlur","handleBlur","ref","onKeyDown","handleKeyDown","onMouseDown","handleMouseDown","role","Provider","type","absolute","inputFocus","inputDisabled","renderPlaceholder","nodeRef","hiddenInputRef","_this$props","hasValue","_cx4","placeholderDisabled","placeholderFocus","handleDocumentMouseDown","e","target","Node","contains","defrost","handleDocumentKeyDown","_this2","handleMouseDragStart","_globalObject$documen","documentElement","classList","add","userSelectNone","handleMouseDragEnd","_globalObject$documen2","remove","_this$node","setAttribute","version","search","flushSync","setState","cancel","_this$node2","removeAttribute","_this$node3","el","_cx5","_cx6","_cx7","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","_inheritsLoose","_proto","prototype","blur","_this3","blinkTimeout","getNode","componentDidMount","_globalObject$documen3","_globalObject$documen4","listen","addEventListener","componentWillUnmount","_globalObject$documen5","_globalObject$documen6","clearTimeout","stop","removeEventListener","render","_this4","Consumer","rootNodeRef","setRootNode","Component","__KONTUR_REACT_UI__","displayName"],"sources":["InputLikeText.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyTab, isShortcutPaste } from '../../lib/events/keyboard/identifiers';\nimport type { MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { MouseDrag } from '../../lib/events/MouseDrag';\nimport { isEdge, isIE11, isMobile } from '../../lib/client';\nimport { removeAllSelections, selectNodeContents } from '../../lib/dom/selectionHelpers';\nimport type { InputProps, InputState } from '../../components/Input';\nimport { calculateClearCrossShowedState, InputDataTids } from '../../components/Input';\nimport { styles as jsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps, CommonWrapperRestProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { findRenderContainer } from '../../lib/listenFocusOutside';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { InputLayoutAside } from '../../components/Input/InputLayout/InputLayoutAside';\nimport { InputLayoutContext, InputLayoutContextDefault } from '../../components/Input/InputLayout/InputLayoutContext';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { FocusControlWrapper } from '../FocusControlWrapper';\nimport { ClearCrossIcon } from '../ClearCrossIcon/ClearCrossIcon';\n\nimport { HiddenInput } from './HiddenInput';\nimport { styles } from './InputLikeText.styles';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n onClearCrossClick?: () => void;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'needsPolyfillPlaceholder' | 'hovered'>;\n\nexport const InputLikeTextDataTids = {\n root: 'InputLikeText__root',\n input: 'InputLikeText__input',\n nativeInput: 'InputLikeText__nativeInput',\n} as const;\n\ntype DefaultProps = Required<Pick<InputLikeTextProps, 'size' | 'showClearIcon'>>;\n\n@rootNode\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n public static displayName = 'InputLikeText';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(InputLikeText.defaultProps);\n\n private getClearCrossShowed = ({ focused, hovered }: { focused?: boolean; hovered?: boolean }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon,\n notEmptyValue: Boolean(this.props.children),\n focused,\n hovered,\n });\n };\n\n public state = {\n blinking: false,\n focused: false,\n clearCrossShowed: this.getClearCrossShowed({\n focused: false,\n }),\n };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private hiddenInput: HTMLInputElement | null = null;\n private lastSelectedInnerNode: [HTMLElement, number, number] | null = null;\n private frozen = false;\n private frozenBlur = false;\n private dragging = false;\n private focusTimeout: SafeTimer;\n private blinkTimeout: SafeTimer;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = globalObject.setTimeout(() => this.setState({ blinking: false }), 150);\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n // Async call required for Firefox\n private selectNodeContentsDebounced = debounce(selectNodeContents, 0);\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n if (isIE11 && globalObject.document && findRenderContainer(node, globalObject.document.body)) {\n // Code below causes Popup to close after triggering the focus event on the body in IE11\n return;\n }\n this.frozen = true;\n this.frozenBlur = true;\n\n this.lastSelectedInnerNode = [node, start, end];\n this.selectNodeContentsDebounced(node, start, end);\n\n if (this.focusTimeout) {\n globalObject.clearInterval(this.focusTimeout);\n }\n this.focusTimeout = globalObject.setTimeout(() => (isIE11 || isEdge) && this.node && this.node.focus(), 0);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n globalObject.document?.addEventListener('mousedown', this.handleDocumentMouseDown);\n globalObject.document?.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n }\n MouseDrag.stop(this.node);\n globalObject.document?.removeEventListener('mousedown', this.handleDocumentMouseDown);\n globalObject.document?.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n size,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n showClearIcon,\n onClearCrossClick,\n ...rest\n } = props;\n\n const { focused, blinking } = this.state;\n const getRightIcon = () => {\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon\n data-tid={InputDataTids.clearCross}\n size={size}\n onFocus={(event) => event.stopPropagation()}\n onClick={onClearCrossClick}\n />\n ) : (\n rightIcon\n );\n };\n const leftSide = <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />;\n const rightSide = <InputLayoutAside icon={getRightIcon()} text={suffix} side=\"right\" />;\n\n const className = cx(styles.root(), jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [jsInputStyles.disabled(this.theme)]: !!disabled,\n [jsInputStyles.borderless()]: !!borderless,\n [jsInputStyles.focus(this.theme)]: focused,\n [jsInputStyles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [jsInputStyles.blink(this.theme)]: blinking,\n [jsInputStyles.warning(this.theme)]: !!warning,\n [jsInputStyles.error(this.theme)]: !!error,\n [jsInputStyles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [jsInputStyles.warningFallback(this.theme)]: !!warning && (isIE11 || isEdge),\n [jsInputStyles.errorFallback(this.theme)]: !!error && (isIE11 || isEdge),\n [jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = cx(jsInputStyles.wrapper(), {\n [styles.userSelectContain()]: focused,\n });\n\n const context = InputLayoutContextDefault;\n Object.assign(context, { disabled, focused, size });\n\n return (\n <FocusControlWrapper disabled={disabled} onBlurWhenDisabled={this.resetFocus}>\n <span\n data-tid={InputLikeTextDataTids.root}\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? -1 : 0}\n onFocus={this.handleFocus}\n onMouseEnter={this.handleHover}\n onMouseLeave={this.handleUnhover}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n role=\"textbox\"\n aria-disabled={disabled}\n aria-describedby={ariaDescribedby}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n >\n <InputLayoutContext.Provider value={context}>\n <input type=\"hidden\" data-tid={InputLikeTextDataTids.nativeInput} value={value} disabled={disabled} />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid={InputLikeTextDataTids.input}\n className={cx(jsInputStyles.input(this.theme), {\n [styles.absolute()]: !takeContentWidth,\n [jsInputStyles.inputFocus(this.theme)]: focused,\n [jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n {isIE11 && focused && <HiddenInput nodeRef={this.hiddenInputRef} />}\n </InputLayoutContext.Provider>\n </span>\n </FocusControlWrapper>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={cx(jsInputStyles.placeholder(this.theme), {\n [jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleDocumentMouseDown = (e: MouseEvent) => {\n if (this.state.focused && this.node && isInstanceOf(e.target, globalObject.Node) && !this.node.contains(e.target)) {\n this.defrost();\n }\n };\n\n private handleDocumentKeyDown = (e: KeyboardEvent) => {\n if (this.state.focused && isKeyTab(e)) {\n this.defrost();\n }\n };\n\n private handleMouseDown = () => {\n this.frozen = true;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (isIE11 && isShortcutPaste(e) && this.hiddenInput) {\n this.frozen = true;\n globalObject.setTimeout(() => {\n if (this.lastSelectedInnerNode) {\n this.selectInnerNode(...this.lastSelectedInnerNode);\n }\n if (this.node) {\n this.node.focus();\n }\n }, 0);\n\n this.hiddenInput.focus();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n globalObject.document?.documentElement.classList.add(styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n globalObject.setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n globalObject.document?.documentElement.classList.remove(styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n this.node?.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n if (isIE11 && globalObject.document) {\n selectNodeContents(globalObject.document.body, 0, 0);\n }\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozen) {\n this.frozen = false;\n if (this.state.focused) {\n return;\n }\n }\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => this.setState({ focused: true }));\n } else {\n this.setState({ focused: true });\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n this.node?.removeAttribute('contenteditable');\n }\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n }\n removeAllSelections();\n this.setState({ focused: false });\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n this.node?.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n return;\n }\n if ((isIE11 || isEdge) && this.frozen) {\n return;\n }\n\n removeAllSelections();\n this.setState({ focused: false });\n\n this.props.onBlur?.(e);\n };\n\n private handleHover = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }) });\n };\n\n private handleUnhover = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }) });\n };\n\n private hiddenInputRef = (el: HTMLInputElement | null) => {\n this.hiddenInput = el;\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private defrost = (): void => {\n this.frozen = false;\n this.frozenBlur = false;\n };\n\n private getSizeClassName = () => {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [jsInputStyles.sizeLarge(this.theme)]: true,\n [jsInputStyles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [jsInputStyles.sizeMedium(this.theme)]: true,\n [jsInputStyles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [jsInputStyles.sizeSmall(this.theme)]: true,\n [jsInputStyles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import type { MouseDragEventHandler } from '../../lib/events/MouseDrag';
3
3
  import type { InputProps, InputState } from '../../components/Input';
4
4
  import type { CommonProps } from '../CommonWrapper';
5
+ import type { TGetRootNode } from '../../lib/rootNode';
5
6
  export interface InputLikeTextProps extends CommonProps, InputProps {
6
7
  children?: React.ReactNode;
7
8
  innerRef?: (el: HTMLElement | null) => void;
@@ -39,6 +40,7 @@ export declare class InputLikeText extends React.Component<InputLikeTextProps, I
39
40
  private dragging;
40
41
  private focusTimeout;
41
42
  private blinkTimeout;
43
+ getRootNode: TGetRootNode;
42
44
  private setRootNode;
43
45
  /**
44
46
  * @public
@@ -1 +1 @@
1
- {"version":3,"names":["React","globalObject","isBrowser","isKeyArrowDown","isKeyArrowUp","isKeyEnter","MenuSeparator","ThemeFactory","getDOMRect","responsiveLayout","isNonNullable","ScrollContainer","MenuItemDataTids","ThemeContext","cx","getRootNode","rootNode","isIE11","createPropsGetter","isInstanceOf","CommonWrapper","styles","MenuNavigation","MenuContext","MenuDataTids","root","Menu","_class","_Menu","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","enableIconPadding","unmounted","contentRef","createRef","menuNavigation","content","focusOnRootElement","HTMLElement","focus","renderHeader","_cx","createElement","className","wrapper","headerWrapper","ref","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","_cx2","footerWrapper","footer","Provider","value","create","menuSeparatorMarginY","setInitialSelection","i","initialSelectedItemIndex","down","shouldRecalculateMaxHeight","prevProps","_this$props","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","refScrollContainer","scrollContainer","scrollToSelected","highlightedItem","scrollTo","scrollToTop","scrollToBottom","scroll","nextIndex","items","handleKeyDown","event","onKeyDown","defaultPrevented","preventDefault","up","select","getStyle","align","maxWidth","width","minWidth","handleScrollStateChange","setEnableIconPadding","isIconPaddingEnabled","preventIconsOffset","_inheritsLoose","_proto","prototype","componentWillUnmount","componentDidMount","componentDidUpdate","render","_this2","Consumer","renderMain","move","enter","_this$menuNavigation$","navigate","reset","hasHighlightedItem","highlightItem","index","highlightByIndex","_cx3","_cx4","isEmpty","_this$getProps","hasMargin","preventWindowScroll","offsetY","top","scrollContainerScrollBarOffsetY","right","bottom","isMobile","isMobileLayout","_extends","rootNodeRef","setRootNode","getAlignRightClass","mobileRoot","shadow","style","id","tabIndex","onScrollStateChange","disabled","disableScrollContainer","scrollContainerMobile","navigation","onItemClick","step","cyclicSelection","childrenToArray","filter","PureComponent","__KONTUR_REACT_UI__","displayName","ret","forEach","child","push","_cx5","alignRight","alignRightIE11","alignRightIE11FixAutoWidth"],"sources":["Menu.tsx"],"sourcesContent":["import type { CSSProperties, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable } from '../../lib/utils';\nimport type { ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { ScrollContainer } from '../../components/ScrollContainer';\nimport type { MenuItem } from '../../components/MenuItem';\nimport { MenuItemDataTids } from '../../components/MenuItem';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isIE11 } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\n\nimport { styles } from './Menu.styles';\nimport { MenuNavigation } from './MenuNavigation';\nimport { MenuContext } from './MenuContext';\n\nexport interface MenuProps extends CommonProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n children: React.ReactNode;\n hasMargin?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Отключение кастомного скролла контейнера\n */\n disableScrollContainer?: boolean;\n align?: 'left' | 'right';\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n /**\n * Циклический перебор айтемов меню (по-дефолтну включен)\n */\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\nexport interface MenuState {\n highlightedIndex: number; // TODO unused variable, remove in next major release\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n enableIconPadding: boolean;\n}\n\nexport const MenuDataTids = {\n root: 'Menu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n MenuProps,\n | 'align'\n | 'width'\n | 'hasMargin'\n | 'maxHeight'\n | 'preventWindowScroll'\n | 'cyclicSelection'\n | 'initialSelectedItemIndex'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Menu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n public static displayName = 'Menu';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasMargin: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(Menu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n enableIconPadding: false,\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private isMobileLayout!: boolean;\n private unmounted = false;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private contentRef = React.createRef<HTMLDivElement>();\n private menuNavigation: MenuNavigation<MenuItem> = new MenuNavigation(this.contentRef, MenuItemDataTids.content);\n\n public componentWillUnmount() {\n this.unmounted = true;\n }\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n this.unmounted = false;\n }\n\n public componentDidUpdate(prevProps: MenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\n }\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n rootNode?.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n this.menuNavigation.highlightedItem?.navigate();\n return this.menuNavigation.select(event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.menuNavigation.reset();\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return !!this.menuNavigation.highlightedItem;\n }\n\n public highlightItem(index: number) {\n this.menuNavigation.highlightByIndex(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasMargin, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = {\n top: `${this.theme.scrollContainerScrollBarOffsetY}`,\n right: 0,\n bottom: `${this.theme.scrollContainerScrollBarOffsetY}`,\n };\n\n const isMobile = this.isMobileLayout;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={MenuDataTids.root}\n className={cx(getAlignRightClass(this.props), {\n [styles.root(this.theme)]: true,\n [styles.hasMargin(this.theme)]: hasMargin,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: !isMobile,\n })}\n style={this.getStyle(this.props)}\n id={this.props.id}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n >\n {this.props.header && this.renderHeader()}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n disabled={this.props.disableScrollContainer}\n offsetY={offsetY}\n >\n <div\n className={cx({\n [styles.scrollContainer(this.theme)]: true,\n [styles.scrollContainerMobile(this.theme)]: isMobile,\n })}\n ref={this.contentRef}\n >\n <MenuContext.Provider\n value={{\n navigation: this.menuNavigation,\n onItemClick: this.props.onItemClick,\n enableIconPadding: this.state.enableIconPadding,\n setEnableIconPadding: this.setEnableIconPadding,\n }}\n >\n {this.props.children}\n </MenuContext.Provider>\n </div>\n </ScrollContainer>\n {this.props.footer && this.renderFooter()}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.down();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && isBrowser(globalObject) && rootNode) {\n const rootElementMaxHeight = globalObject.getComputedStyle?.(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private scrollToSelected = () => {\n const highlightedItem = this.menuNavigation.highlightedItem;\n if (this.scrollContainer && highlightedItem) {\n const rootNode = getRootNode(highlightedItem);\n // TODO: Remove this check once IF-647 is resolved\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private scroll = (nextIndex: number) => {\n switch (nextIndex) {\n case 0:\n this.scrollToTop?.();\n break;\n case this.menuNavigation.items.length - 1:\n this.scrollToBottom?.();\n break;\n default:\n this.scrollToSelected?.();\n }\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n const nextIndex = this.menuNavigation.move(step, this.getProps().cyclicSelection);\n this.scroll(nextIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(event)) {\n event.preventDefault();\n this.up();\n } else if (isKeyArrowDown(event)) {\n event.preventDefault();\n this.down();\n } else if (isKeyEnter(event)) {\n this.menuNavigation.select(event);\n }\n };\n\n private getStyle = (props: MenuProps): CSSProperties => {\n if (props.align === 'right') {\n return {\n maxWidth: props.width,\n minWidth: props.width,\n maxHeight: this.state.maxHeight,\n };\n }\n\n return {\n width: props.width,\n maxHeight: this.state.maxHeight,\n };\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n\n private setEnableIconPadding = (isIconPaddingEnabled: boolean) => {\n !this.getProps().preventIconsOffset && this.setState({ enableIconPadding: isIconPaddingEnabled });\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n\nconst getAlignRightClass = (props: MenuProps) => {\n if (props.align === 'right') {\n return cx({\n [styles.alignRight()]: !isIE11,\n [styles.alignRightIE11()]: isIE11,\n [styles.alignRightIE11FixAutoWidth()]: isIE11 && props.width === 'auto',\n });\n }\n\n return null;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","globalObject","isBrowser","isKeyArrowDown","isKeyArrowUp","isKeyEnter","MenuSeparator","ThemeFactory","getDOMRect","responsiveLayout","isNonNullable","ScrollContainer","MenuItemDataTids","ThemeContext","cx","getRootNode","rootNode","isIE11","createPropsGetter","isInstanceOf","CommonWrapper","styles","MenuNavigation","MenuContext","MenuDataTids","root","Menu","_class","_Menu","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","enableIconPadding","unmounted","contentRef","createRef","menuNavigation","content","focusOnRootElement","HTMLElement","focus","renderHeader","_cx","createElement","className","wrapper","headerWrapper","ref","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","_cx2","footerWrapper","footer","Provider","value","create","menuSeparatorMarginY","setInitialSelection","i","initialSelectedItemIndex","down","shouldRecalculateMaxHeight","prevProps","_this$props","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","refScrollContainer","scrollContainer","scrollToSelected","highlightedItem","scrollTo","scrollToTop","scrollToBottom","scroll","nextIndex","items","handleKeyDown","event","onKeyDown","defaultPrevented","preventDefault","up","select","getStyle","align","maxWidth","width","minWidth","handleScrollStateChange","setEnableIconPadding","isIconPaddingEnabled","preventIconsOffset","_inheritsLoose","_proto","prototype","componentWillUnmount","componentDidMount","componentDidUpdate","render","_this2","Consumer","renderMain","move","enter","_this$menuNavigation$","navigate","reset","hasHighlightedItem","highlightItem","index","highlightByIndex","_cx3","_cx4","isEmpty","_this$getProps","hasMargin","preventWindowScroll","offsetY","top","scrollContainerScrollBarOffsetY","right","bottom","isMobile","isMobileLayout","_extends","rootNodeRef","setRootNode","getAlignRightClass","mobileRoot","shadow","style","id","tabIndex","onScrollStateChange","disabled","disableScrollContainer","scrollContainerMobile","navigation","onItemClick","step","cyclicSelection","childrenToArray","filter","PureComponent","__KONTUR_REACT_UI__","displayName","ret","forEach","child","push","_cx5","alignRight","alignRightIE11","alignRightIE11FixAutoWidth"],"sources":["Menu.tsx"],"sourcesContent":["import type { CSSProperties, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable } from '../../lib/utils';\nimport type { ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { ScrollContainer } from '../../components/ScrollContainer';\nimport type { MenuItem } from '../../components/MenuItem';\nimport { MenuItemDataTids } from '../../components/MenuItem';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isIE11 } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\n\nimport { styles } from './Menu.styles';\nimport { MenuNavigation } from './MenuNavigation';\nimport { MenuContext } from './MenuContext';\n\nexport interface MenuProps extends CommonProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n children: React.ReactNode;\n hasMargin?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Отключение кастомного скролла контейнера\n */\n disableScrollContainer?: boolean;\n align?: 'left' | 'right';\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n /**\n * Циклический перебор айтемов меню (по-дефолтну включен)\n */\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\nexport interface MenuState {\n highlightedIndex: number; // TODO unused variable, remove in next major release\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n enableIconPadding: boolean;\n}\n\nexport const MenuDataTids = {\n root: 'Menu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n MenuProps,\n | 'align'\n | 'width'\n | 'hasMargin'\n | 'maxHeight'\n | 'preventWindowScroll'\n | 'cyclicSelection'\n | 'initialSelectedItemIndex'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Menu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n public static displayName = 'Menu';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasMargin: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(Menu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n enableIconPadding: false,\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private isMobileLayout!: boolean;\n private unmounted = false;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private contentRef = React.createRef<HTMLDivElement>();\n private menuNavigation: MenuNavigation<MenuItem> = new MenuNavigation(this.contentRef, MenuItemDataTids.content);\n\n public componentWillUnmount() {\n this.unmounted = true;\n }\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n this.unmounted = false;\n }\n\n public componentDidUpdate(prevProps: MenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\n }\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n rootNode?.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n this.menuNavigation.highlightedItem?.navigate();\n return this.menuNavigation.select(event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.menuNavigation.reset();\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return !!this.menuNavigation.highlightedItem;\n }\n\n public highlightItem(index: number) {\n this.menuNavigation.highlightByIndex(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasMargin, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = {\n top: `${this.theme.scrollContainerScrollBarOffsetY}`,\n right: 0,\n bottom: `${this.theme.scrollContainerScrollBarOffsetY}`,\n };\n\n const isMobile = this.isMobileLayout;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={MenuDataTids.root}\n className={cx(getAlignRightClass(this.props), {\n [styles.root(this.theme)]: true,\n [styles.hasMargin(this.theme)]: hasMargin,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: !isMobile,\n })}\n style={this.getStyle(this.props)}\n id={this.props.id}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n >\n {this.props.header && this.renderHeader()}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n disabled={this.props.disableScrollContainer}\n offsetY={offsetY}\n >\n <div\n className={cx({\n [styles.scrollContainer(this.theme)]: true,\n [styles.scrollContainerMobile(this.theme)]: isMobile,\n })}\n ref={this.contentRef}\n >\n <MenuContext.Provider\n value={{\n navigation: this.menuNavigation,\n onItemClick: this.props.onItemClick,\n enableIconPadding: this.state.enableIconPadding,\n setEnableIconPadding: this.setEnableIconPadding,\n }}\n >\n {this.props.children}\n </MenuContext.Provider>\n </div>\n </ScrollContainer>\n {this.props.footer && this.renderFooter()}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.down();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && isBrowser(globalObject) && rootNode) {\n const rootElementMaxHeight = globalObject.getComputedStyle?.(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private scrollToSelected = () => {\n const highlightedItem = this.menuNavigation.highlightedItem;\n if (this.scrollContainer && highlightedItem) {\n const rootNode = getRootNode(highlightedItem);\n // TODO: Remove this check once IF-647 is resolved\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private scroll = (nextIndex: number) => {\n switch (nextIndex) {\n case 0:\n this.scrollToTop?.();\n break;\n case this.menuNavigation.items.length - 1:\n this.scrollToBottom?.();\n break;\n default:\n this.scrollToSelected?.();\n }\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n const nextIndex = this.menuNavigation.move(step, this.getProps().cyclicSelection);\n this.scroll(nextIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(event)) {\n event.preventDefault();\n this.up();\n } else if (isKeyArrowDown(event)) {\n event.preventDefault();\n this.down();\n } else if (isKeyEnter(event)) {\n this.menuNavigation.select(event);\n }\n };\n\n private getStyle = (props: MenuProps): CSSProperties => {\n if (props.align === 'right') {\n return {\n maxWidth: props.width,\n minWidth: props.width,\n maxHeight: this.state.maxHeight,\n };\n }\n\n return {\n width: props.width,\n maxHeight: this.state.maxHeight,\n };\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n\n private setEnableIconPadding = (isIconPaddingEnabled: boolean) => {\n !this.getProps().preventIconsOffset && this.setState({ enableIconPadding: isIconPaddingEnabled });\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n\nconst getAlignRightClass = (props: MenuProps) => {\n if (props.align === 'right') {\n return cx({\n [styles.alignRight()]: !isIE11,\n [styles.alignRightIE11()]: isIE11,\n [styles.alignRightIE11FixAutoWidth()]: isIE11 && props.width === 'auto',\n });\n }\n\n return null;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import type { HTMLAttributes } from 'react';
2
2
  import React from 'react';
3
3
  import type { ScrollContainerScrollState } from '../../components/ScrollContainer';
4
+ import type { TGetRootNode } from '../../lib/rootNode';
4
5
  import type { CommonProps } from '../CommonWrapper';
5
6
  export interface MenuProps extends CommonProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {
6
7
  children: React.ReactNode;
@@ -53,6 +54,7 @@ export declare class Menu extends React.PureComponent<MenuProps, MenuState> {
53
54
  private scrollContainer;
54
55
  private isMobileLayout;
55
56
  private unmounted;
57
+ getRootNode: TGetRootNode;
56
58
  private setRootNode;
57
59
  private header;
58
60
  private footer;
@@ -1 +1 @@
1
- {"version":3,"names":["React","Transition","ThemeContext","RenderContainer","HideBodyVerticalScroll","ZIndex","RenderLayer","rootNode","jsStyles","MobilePopupHeader","MobilePopupFooter","MobilePopupDataTids","root","container","MobilePopup","_class","_MobilePopup","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","close","props","onCloseRequest","_inheritsLoose","_proto","prototype","render","_this2","createElement","Consumer","theme","renderMain","content","id","className","zIndex","priority","opened","onExited","onClose","mountOnEnter","unmountOnExit","timeout","wrapper","onClickOutside","ref","setRootNode","caption","headerChildComponent","children","footerChildComponent","onClick","bottomIndent","bg","withoutRenderContainer","Component","__KONTUR_REACT_UI__","displayName","defaultRootNode"],"sources":["MobilePopup.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { RenderContainer } from '../RenderContainer';\nimport { HideBodyVerticalScroll } from '../HideBodyVerticalScroll';\nimport { ZIndex } from '../ZIndex';\nimport { RenderLayer } from '../RenderLayer';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { jsStyles } from './MobilePopup.styles';\nimport { MobilePopupHeader } from './MobilePopupHeader';\nimport { MobilePopupFooter } from './MobilePopupFooter';\n\ninterface MobilePopupProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n /**\n * Функция, вызываемая при закрытии всплывающего окна\n */\n onClose?: () => void;\n /**\n * Заголовок всплывающего окна, располагается в шапке\n */\n caption?: string;\n /**\n * Шапка всплывающего окна\n */\n headerChildComponent?: React.ReactNode;\n /**\n * Подвал всплывающего окна\n */\n footerChildComponent?: React.ReactNode;\n /**\n * Позволяет получить контент всплывающего окна без обёртки в виде `RenderContainer`\n */\n withoutRenderContainer?: boolean;\n /**\n * Функция, вызываемая при клике по вуали\n */\n onCloseRequest?: () => void;\n /**\n * Позволяет контролировать текущее состояние всплывающего окна\n */\n opened: boolean;\n children?: React.ReactNode;\n}\n\nexport const MobilePopupDataTids = {\n root: 'MobilePopup__root',\n container: 'MobilePopup__container',\n} as const;\n\n@rootNode\nexport class MobilePopup extends React.Component<MobilePopupProps> {\n public static __KONTUR_REACT_UI__ = 'MobileMenuHeader';\n public static displayName = 'MobileMenuHeader';\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const content = (\n <ZIndex id={this.props.id} className={jsStyles.zIndex()} priority={'MobilePopup'}>\n <Transition in={this.props.opened} onExited={this.props.onClose} mountOnEnter unmountOnExit timeout={0}>\n <div className={jsStyles.wrapper()}>\n <RenderLayer onClickOutside={this.close}>\n <div\n ref={this.setRootNode}\n data-tid={MobilePopupDataTids.container}\n className={jsStyles.container(this.theme)}\n >\n <div data-tid={MobilePopupDataTids.root} className={jsStyles.root(this.theme)}>\n <MobilePopupHeader caption={this.props.caption}>{this.props.headerChildComponent}</MobilePopupHeader>\n <div className={jsStyles.content(this.theme)}>{this.props.children}</div>\n <MobilePopupFooter>{this.props.footerChildComponent}</MobilePopupFooter>\n </div>\n <div onClick={this.close} className={jsStyles.bottomIndent()} />\n </div>\n </RenderLayer>\n <div className={jsStyles.bg()} />\n <HideBodyVerticalScroll />\n </div>\n </Transition>\n </ZIndex>\n );\n\n if (this.props.withoutRenderContainer) {\n return content;\n }\n\n return <RenderContainer>{content}</RenderContainer>;\n }\n\n public close = () => {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Transition","ThemeContext","RenderContainer","HideBodyVerticalScroll","ZIndex","RenderLayer","rootNode","jsStyles","MobilePopupHeader","MobilePopupFooter","MobilePopupDataTids","root","container","MobilePopup","_class","_MobilePopup","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","close","props","onCloseRequest","_inheritsLoose","_proto","prototype","render","_this2","createElement","Consumer","theme","renderMain","content","id","className","zIndex","priority","opened","onExited","onClose","mountOnEnter","unmountOnExit","timeout","wrapper","onClickOutside","ref","setRootNode","caption","headerChildComponent","children","footerChildComponent","onClick","bottomIndent","bg","withoutRenderContainer","Component","__KONTUR_REACT_UI__","displayName","defaultRootNode"],"sources":["MobilePopup.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { RenderContainer } from '../RenderContainer';\nimport { HideBodyVerticalScroll } from '../HideBodyVerticalScroll';\nimport { ZIndex } from '../ZIndex';\nimport { RenderLayer } from '../RenderLayer';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { jsStyles } from './MobilePopup.styles';\nimport { MobilePopupHeader } from './MobilePopupHeader';\nimport { MobilePopupFooter } from './MobilePopupFooter';\n\ninterface MobilePopupProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n /**\n * Функция, вызываемая при закрытии всплывающего окна\n */\n onClose?: () => void;\n /**\n * Заголовок всплывающего окна, располагается в шапке\n */\n caption?: string;\n /**\n * Шапка всплывающего окна\n */\n headerChildComponent?: React.ReactNode;\n /**\n * Подвал всплывающего окна\n */\n footerChildComponent?: React.ReactNode;\n /**\n * Позволяет получить контент всплывающего окна без обёртки в виде `RenderContainer`\n */\n withoutRenderContainer?: boolean;\n /**\n * Функция, вызываемая при клике по вуали\n */\n onCloseRequest?: () => void;\n /**\n * Позволяет контролировать текущее состояние всплывающего окна\n */\n opened: boolean;\n children?: React.ReactNode;\n}\n\nexport const MobilePopupDataTids = {\n root: 'MobilePopup__root',\n container: 'MobilePopup__container',\n} as const;\n\n@rootNode\nexport class MobilePopup extends React.Component<MobilePopupProps> {\n public static __KONTUR_REACT_UI__ = 'MobileMenuHeader';\n public static displayName = 'MobileMenuHeader';\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const content = (\n <ZIndex id={this.props.id} className={jsStyles.zIndex()} priority={'MobilePopup'}>\n <Transition in={this.props.opened} onExited={this.props.onClose} mountOnEnter unmountOnExit timeout={0}>\n <div className={jsStyles.wrapper()}>\n <RenderLayer onClickOutside={this.close}>\n <div\n ref={this.setRootNode}\n data-tid={MobilePopupDataTids.container}\n className={jsStyles.container(this.theme)}\n >\n <div data-tid={MobilePopupDataTids.root} className={jsStyles.root(this.theme)}>\n <MobilePopupHeader caption={this.props.caption}>{this.props.headerChildComponent}</MobilePopupHeader>\n <div className={jsStyles.content(this.theme)}>{this.props.children}</div>\n <MobilePopupFooter>{this.props.footerChildComponent}</MobilePopupFooter>\n </div>\n <div onClick={this.close} className={jsStyles.bottomIndent()} />\n </div>\n </RenderLayer>\n <div className={jsStyles.bg()} />\n <HideBodyVerticalScroll />\n </div>\n </Transition>\n </ZIndex>\n );\n\n if (this.props.withoutRenderContainer) {\n return content;\n }\n\n return <RenderContainer>{content}</RenderContainer>;\n }\n\n public close = () => {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n };\n}\n"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,wBAAwB;;;AAGnD,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,sBAAsB,QAAQ,2BAA2B;AAClE,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,WAAW,QAAQ,gBAAgB;;AAE5C,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,iBAAiB,QAAQ,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCvD,OAAO,IAAMC,mBAAmB,GAAG;EACjCC,IAAI,EAAE,mBAAmB;EACzBC,SAAS,EAAE;AACb,CAAU;;AAEV;AACaC,WAAW,GADvBP,QAAQ,CAAAQ,MAAA,IAAAC,YAAA,0BAAAC,gBAAA,YAAAH,YAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwDAU,KAAK,GAAG,YAAM;MACnB,IAAIV,KAAA,CAAKW,KAAK,CAACC,cAAc,EAAE;QAC7BZ,KAAA,CAAKW,KAAK,CAACC,cAAc,CAAC,CAAC;MAC7B;IACF,CAAC,QAAAZ,KAAA,EAAAa,cAAA,CAAAjB,WAAA,EAAAG,gBAAA,MAAAe,MAAA,GAAAlB,WAAA,CAAAmB,SAAA,CAAAD,MAAA,CAhDME,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACEnC,KAAA,CAAAoC,aAAA,CAAClC,YAAY,CAACmC,QAAQ,QACnB,UAACC,KAAK,EAAK,CACVH,MAAI,CAACG,KAAK,GAAGA,KAAK,CAClB,OAAOH,MAAI,CAACI,UAAU,CAAC,CAAC,CAC1B,CACqB,CAAC,CAE5B,CAAC,CAAAP,MAAA,CAEMO,UAAU,GAAjB,SAAAA,WAAA,EAAoB,CAClB,IAAMC,OAAO,gBACXxC,KAAA,CAAAoC,aAAA,CAAC/B,MAAM,IAACoC,EAAE,EAAE,IAAI,CAACZ,KAAK,CAACY,EAAG,EAACC,SAAS,EAAElC,QAAQ,CAACmC,MAAM,CAAC,CAAE,EAACC,QAAQ,EAAE,aAAc,iBAC/E5C,KAAA,CAAAoC,aAAA,CAACnC,UAAU,IAAC,MAAI,IAAI,CAAC4B,KAAK,CAACgB,MAAO,EAACC,QAAQ,EAAE,IAAI,CAACjB,KAAK,CAACkB,OAAQ,EAACC,YAAY,QAACC,aAAa,QAACC,OAAO,EAAE,CAAE,iBACrGlD,KAAA,CAAAoC,aAAA,UAAKM,SAAS,EAAElC,QAAQ,CAAC2C,OAAO,CAAC,CAAE,iBACjCnD,KAAA,CAAAoC,aAAA,CAAC9B,WAAW,IAAC8C,cAAc,EAAE,IAAI,CAACxB,KAAM,iBACtC5B,KAAA,CAAAoC,aAAA,UACEiB,GAAG,EAAE,IAAI,CAACC,WAAY,EACtB,YAAU3C,mBAAmB,CAACE,SAAU,EACxC6B,SAAS,EAAElC,QAAQ,CAACK,SAAS,CAAC,IAAI,CAACyB,KAAK,CAAE,iBAE1CtC,KAAA,CAAAoC,aAAA,UAAK,YAAUzB,mBAAmB,CAACC,IAAK,EAAC8B,SAAS,EAAElC,QAAQ,CAACI,IAAI,CAAC,IAAI,CAAC0B,KAAK,CAAE,iBAC5EtC,KAAA,CAAAoC,aAAA,CAAC3B,iBAAiB,IAAC8C,OAAO,EAAE,IAAI,CAAC1B,KAAK,CAAC0B,OAAQ,IAAE,IAAI,CAAC1B,KAAK,CAAC2B,oBAAwC,CAAC,eACrGxD,KAAA,CAAAoC,aAAA,UAAKM,SAAS,EAAElC,QAAQ,CAACgC,OAAO,CAAC,IAAI,CAACF,KAAK,CAAE,IAAE,IAAI,CAACT,KAAK,CAAC4B,QAAc,CAAC,eACzEzD,KAAA,CAAAoC,aAAA,CAAC1B,iBAAiB,QAAE,IAAI,CAACmB,KAAK,CAAC6B,oBAAwC,CACpE,CAAC,eACN1D,KAAA,CAAAoC,aAAA,UAAKuB,OAAO,EAAE,IAAI,CAAC/B,KAAM,EAACc,SAAS,EAAElC,QAAQ,CAACoD,YAAY,CAAC,CAAE,EAAE,CAC5D,CACM,CAAC,eACd5D,KAAA,CAAAoC,aAAA,UAAKM,SAAS,EAAElC,QAAQ,CAACqD,EAAE,CAAC,CAAE,EAAE,CAAC,eACjC7D,KAAA,CAAAoC,aAAA,CAAChC,sBAAsB,MAAE,CACtB,CACK,CACN,CACT,CAED,IAAI,IAAI,CAACyB,KAAK,CAACiC,sBAAsB,EAAE,CACrC,OAAOtB,OAAO,CAChB,CAEA,oBAAOxC,KAAA,CAAAoC,aAAA,CAACjC,eAAe,QAAEqC,OAAyB,CAAC,CACrD,CAAC,QAAA1B,WAAA,GArD8Bd,KAAK,CAAC+D,SAAS,GAAA/C,YAAA,CAChCgD,mBAAmB,GAAG,kBAAkB,EAAAhD,YAAA,CACxCiD,WAAW,GAAG,kBAAkB,EAAAjD,YAAA,CAGvBkD,eAAe,GAAG,IAAI,EAAAlD,YAAA,MAAAD,MAAA","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import type { HTMLAttributes } from 'react';
2
2
  import React from 'react';
3
+ import type { TGetRootNode } from '../../lib/rootNode';
3
4
  interface MobilePopupProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {
4
5
  /**
5
6
  * Функция, вызываемая при закрытии всплывающего окна
@@ -40,6 +41,7 @@ export declare class MobilePopup extends React.Component<MobilePopupProps> {
40
41
  static displayName: string;
41
42
  static readonly defaultRootNode: null;
42
43
  private theme;
44
+ getRootNode: TGetRootNode;
43
45
  private setRootNode;
44
46
  render(): React.JSX.Element;
45
47
  renderMain(): React.JSX.Element;
@@ -3,7 +3,6 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
4
  var _class, _Popup;
5
5
  import React from 'react';
6
- import PropTypes from 'prop-types';
7
6
  import { Transition } from 'react-transition-group';
8
7
  import warning from 'warning';
9
8
  import { globalObject } from '@skbkontur/global-object';
@@ -14,7 +13,6 @@ import { RenderContainer } from "../../RenderContainer";
14
13
  import { getRandomID, isFunction, isNonNullable, isNullable, isRefableElement } from "../../../lib/utils";
15
14
  import { isIE11, isEdge } from "../../../lib/client";
16
15
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
17
- import { safePropTypesInstanceOf } from "../../../lib/SSRSafe";
18
16
  import { isTestEnv } from "../../../lib/currentEnvironment";
19
17
  import { CommonWrapper } from "../../CommonWrapper";
20
18
  import { cx } from "../../../lib/theming/Emotion";
@@ -27,9 +25,10 @@ import { isInstanceOf } from "../../../lib/isInstanceOf";
27
25
  import { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from "../../../lib/featureFlagsContext";
28
26
  import { mergeRefs } from "../../../lib/mergeRefs";
29
27
  import { getVisualStateDataAttributes } from "../../CommonWrapper/utils/getVisualStateDataAttributes";
30
- import { PopupPin } from "../PopupPin";
28
+ import { PopupPinNew } from "../PopupPinNew";
31
29
  import { PopupHelper } from "../PopupHelper";
32
30
  import { styles } from "../Popup.styles";
31
+ import { PopupPin } from "../PopupPin";
33
32
  var POPUP_BORDER_DEFAULT_COLOR = 'transparent';
34
33
  var TRANSITION_TIMEOUT = {
35
34
  enter: 0,
@@ -402,7 +401,13 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_Popup = /*#__PU
402
401
  hasShadow = _this$getProps3.hasShadow,
403
402
  hasPin = _this$getProps3.hasPin;
404
403
  var position = PopupHelper.getPositionObject(positionName);
405
- return hasPin && !PopupNonPinnablePositions.includes(positionName) && /*#__PURE__*/React.createElement(PopupPin, {
404
+ return hasPin && !PopupNonPinnablePositions.includes(positionName) && (this.featureFlags.popupFixPinTearing ? /*#__PURE__*/React.createElement(PopupPinNew, {
405
+ popupElement: this.lastPopupContentElement,
406
+ popupPosition: positionName,
407
+ size: pinSize || parseInt(this.theme.popupPinSize),
408
+ offset: this.getPinOffset(position.align),
409
+ backgroundColor: backgroundColor || this.theme.popupBackground
410
+ }) : /*#__PURE__*/React.createElement(PopupPin, {
406
411
  popupElement: this.lastPopupContentElement,
407
412
  popupPosition: positionName,
408
413
  size: pinSize || parseInt(this.theme.popupPinSize),
@@ -410,7 +415,7 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_Popup = /*#__PU
410
415
  borderWidth: hasShadow ? 1 : 0,
411
416
  backgroundColor: backgroundColor || this.theme.popupBackground,
412
417
  borderColor: borderColor || pinBorder
413
- });
418
+ }));
414
419
  };
415
420
  _proto.delayUpdateLocation = function delayUpdateLocation() {
416
421
  this.cancelDelayedUpdateLocation();
@@ -588,64 +593,7 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_Popup = /*#__PU
588
593
  }
589
594
  };
590
595
  return Popup;
591
- }(React.Component), _Popup.__KONTUR_REACT_UI__ = 'Popup', _Popup.displayName = 'Popup', _Popup.propTypes = {
592
- /**
593
- * Ссылка (ref) на элемент или React компонент, для которого рисуется попап
594
- */
595
- anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(globalObject.HTMLElement), PropTypes.node]).isRequired,
596
- /**
597
- * Фон попапа и пина
598
- */
599
- backgroundColor: PropTypes.string,
600
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
601
- /**
602
- * Показывать ли пин
603
- */
604
- hasPin: PropTypes.bool,
605
- /**
606
- * Применять ли box-shadow на попапе. При false отключает границу на пине
607
- */
608
- hasShadow: PropTypes.bool,
609
- /**
610
- * Отступ попапа от элемента
611
- */
612
- margin: PropTypes.number,
613
- /**
614
- * Показан или скрыт попап
615
- */
616
- opened: PropTypes.bool,
617
- /**
618
- * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
619
- */
620
- pinOffset: PropTypes.number,
621
- /**
622
- * Сторона пина без учёта границы.
623
- * Пин представляет собой равносторонний треугольник, высота от попапа
624
- * до "носика" пина будет соответствовать формуле (size* √3)/2
625
- */
626
- pinSize: PropTypes.number,
627
- /**
628
- * смещение попапа относительно родительского элемента
629
- */
630
- popupOffset: PropTypes.number,
631
- /**
632
- * С какой стороны показывать попап и край попапа,
633
- * на котором будет отображаться пин
634
- */
635
- positions: PropTypes.array,
636
- /**
637
- * Приоритетная позиция попапа
638
- */
639
- pos: PropTypes.string,
640
- /**
641
- * Отключает использование портала
642
- */
643
- disablePortal: PropTypes.bool,
644
- /**
645
- * Игнорировать ли события hover/click
646
- */
647
- ignoreHover: PropTypes.bool
648
- }, _Popup.defaultProps = {
596
+ }(React.Component), _Popup.__KONTUR_REACT_UI__ = 'Popup', _Popup.displayName = 'Popup', _Popup.defaultProps = {
649
597
  popupOffset: 0,
650
598
  hasPin: false,
651
599
  hasShadow: false,
@@ -655,7 +603,9 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_Popup = /*#__PU
655
603
  disablePortal: false,
656
604
  width: 'auto',
657
605
  priority: ZIndex.priorities.Popup
658
- }, _Popup.defaultRootNode = null, _Popup)) || _class) || _class; // Нужно, чтобы получать по рефу dom-элемент, в который зарендерится anchor
606
+ }, _Popup.defaultRootNode = null, _Popup)) || _class) || _class;
607
+
608
+ // Нужно, чтобы получать по рефу dom-элемент, в который зарендерится anchor
659
609
  var EmptyWrapper = /*#__PURE__*/function (_React$Component2) {
660
610
  function EmptyWrapper() {
661
611
  return _React$Component2.apply(this, arguments) || this;