@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","debounce","isTestEnv","CommonWrapper","rootNode","createPropsGetter","GlobalLoaderView","GlobalLoaderDataTids","root","currentGlobalLoader","GlobalLoader","_class","_GlobalLoader","_React$Component","props","_this","call","getProps","defaultProps","startTask","setState","visible","onStart","delayBeforeShow","stopTask","successAnimationInProgress","started","onDone","delayBeforeHide","resumeTaskAfterSuccessAnimation","setActive","cancel","state","done","rejected","accept","setReject","setDone","reject","active","onReject","onAccept","kill","dead","expectedResponseTime","_inheritsLoose","_proto","prototype","componentDidMount","_currentGlobalLoader","_this$getProps","componentWillUnmount","componentDidUpdate","prevProps","_this$getProps2","render","status","_this$getProps3","disableAnimations","createElement","_extends","rootNodeRef","setRootNode","updateExpectedResponseTime","Component","__KONTUR_REACT_UI__","displayName","start","_currentGlobalLoader2","_currentGlobalLoader3","_currentGlobalLoader4","_currentGlobalLoader5","_currentGlobalLoader6"],"sources":["GlobalLoader.tsx"],"sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\n\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport type { GlobalLoaderViewProps } from './GlobalLoaderView';\nimport { GlobalLoaderView } from './GlobalLoaderView';\n\nexport interface GlobalLoaderProps {\n /** Устанавливает задержку в миллисекундах до появления лоадера. */\n delayBeforeShow?: number;\n\n /** Устанавливает задержку в миллисекундах до исчезновения лоадера. */\n delayBeforeHide?: number;\n\n /** Устанавливает ожидаемое время(ms) ответа сервера. */\n expectedResponseTime?: number;\n\n /** Определяет, нужно ли показывать анимацию лоадера в виде спиннера. */\n rejected?: boolean;\n\n /** Определяет, показывать ли лоадер. */\n active?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Задает коллбек, вызывающийся после появления лоадера. */\n onStart?(): void;\n\n /** Задает коллбек, вызывающийся после исчезновения лоадера. */\n onDone?(): void;\n\n /** Задает коллбек, вызывающийся после вызова GlobalLoader.reject(). Или после установки пропа rejected = true. */\n onReject?(): void;\n\n /** Задает коллбек, вызывающийся после вызова GlobalLoader.accept() или установки пропа rejected = false. */\n onAccept?(): void;\n}\nexport interface GlobalLoaderState {\n visible: boolean;\n done: boolean;\n rejected: boolean;\n accept: boolean;\n dead: boolean;\n successAnimationInProgress: boolean;\n expectedResponseTime: number;\n started: boolean;\n}\n\nexport const GlobalLoaderDataTids = {\n root: 'GlobalLoader',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n GlobalLoaderProps,\n 'expectedResponseTime' | 'delayBeforeShow' | 'delayBeforeHide' | 'rejected' | 'active' | 'disableAnimations'\n >\n>;\n\nlet currentGlobalLoader: GlobalLoader | null;\n\n/**\n * Глобальный лоадер `GlobalLoader` — это универсальный индикатор обмена данными с сервером.\n * Он появляется у верхней границы экрана и выглядит как тоненькая полоска, окрашенная в фирменный цвет продукта.\n *\n * `GlobalLoader` может быть только один в приложении. Поэтому, каждый новый экземпляр компонента \"убивает\" предыдущий экземпляр, и начинает перехватывать статические методы.\n *\n * Предполагается монтирование компонента в единственном месте. И управление им через статические методы, либо через пропы.\n *\n * `GlobalLoader` работает в двух режимах:\n * * как прогресс-бар, примерно показывает ход получения данных от сервера.\n * * как спиннер, когда есть проблемы с соединением.\n */\n@rootNode\nexport class GlobalLoader extends React.Component<GlobalLoaderProps, GlobalLoaderState> {\n public static __KONTUR_REACT_UI__ = 'GlobalLoader';\n public static displayName = 'GlobalLoader';\n\n private setRootNode!: TSetRootNode;\n private getProps = createPropsGetter(GlobalLoader.defaultProps);\n\n private readonly startTask = debounce(() => {\n this.setState({ visible: true });\n this.props.onStart?.();\n }, this.getProps().delayBeforeShow);\n\n private readonly stopTask = debounce(() => {\n this.setState({ visible: false, successAnimationInProgress: false, started: false });\n this.props.onDone?.();\n }, this.getProps().delayBeforeHide);\n\n private readonly resumeTaskAfterSuccessAnimation = debounce(() => {\n this.setActive();\n }, this.getProps().delayBeforeHide);\n\n public static defaultProps: DefaultProps = {\n expectedResponseTime: 1000,\n delayBeforeShow: 1000,\n delayBeforeHide: 1000,\n rejected: false,\n active: false,\n disableAnimations: isTestEnv,\n };\n\n constructor(props: GlobalLoaderProps) {\n super(props);\n this.state = {\n started: false,\n visible: false,\n done: false,\n rejected: false,\n accept: false,\n dead: false,\n successAnimationInProgress: false,\n expectedResponseTime: this.getProps().expectedResponseTime,\n };\n }\n componentDidMount() {\n currentGlobalLoader?.kill();\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n currentGlobalLoader = this;\n const { active, rejected } = this.getProps();\n if (active) {\n this.setActive();\n }\n if (rejected) {\n this.setReject(true);\n }\n }\n\n componentWillUnmount(): void {\n currentGlobalLoader = null;\n }\n\n componentDidUpdate(prevProps: Readonly<GlobalLoaderProps>) {\n const { expectedResponseTime, rejected, active } = this.getProps();\n if (expectedResponseTime !== prevProps.expectedResponseTime) {\n this.setState({ expectedResponseTime });\n }\n if (rejected !== prevProps.rejected) {\n this.setReject(rejected);\n }\n if (active !== prevProps.active) {\n if (active) {\n this.setActive();\n } else {\n this.setDone();\n }\n }\n }\n\n public render() {\n let status: GlobalLoaderViewProps['status'] = 'standard';\n\n if (this.state.done) {\n status = 'success';\n } else if (this.state.rejected) {\n status = 'error';\n } else if (this.state.accept) {\n status = 'accept';\n }\n const { delayBeforeHide, disableAnimations } = this.getProps();\n return (\n !this.state.dead &&\n this.state.visible && (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <GlobalLoaderView\n expectedResponseTime={this.state.expectedResponseTime}\n delayBeforeHide={delayBeforeHide}\n status={status}\n data-tid={GlobalLoaderDataTids.root}\n disableAnimations={disableAnimations}\n />\n </CommonWrapper>\n )\n );\n }\n\n /**\n * Запускает анимацию лоадера <br />\n * Равносильно установке пропа `active = true`\n *\n * @public\n */\n public static start = (expectedResponseTime?: number) => {\n currentGlobalLoader?.setActive();\n if (typeof expectedResponseTime === 'number') {\n currentGlobalLoader?.updateExpectedResponseTime(expectedResponseTime);\n }\n };\n\n /**\n * Показывает анимацию успешного завершения загрузки <br />\n * Равносильно установке пропа `active = false`\n *\n * @public\n */\n public static done = () => {\n currentGlobalLoader?.setDone();\n };\n\n /**\n * Переключает анимацию лоадера в состояние спиннера <br />\n * Равносильно установке пропа `rejected = true`\n *\n * @public\n */\n public static reject = () => {\n currentGlobalLoader?.setReject(true);\n };\n\n /**\n * Возвращает лоадер из состояния спиннера в обычное и продолжает анимацию с того места, на котором она была прерван <br />\n * Равносильно установке пропа `rejected = false`\n *\n * @public\n */\n public static accept = () => {\n currentGlobalLoader?.setReject(false);\n };\n\n public setActive = () => {\n this.startTask.cancel();\n if (this.state.successAnimationInProgress) {\n this.resumeTaskAfterSuccessAnimation();\n } else {\n this.setState({ visible: false, done: false, rejected: false, accept: false, started: true });\n if (this.getProps().rejected) {\n this.setReject(true);\n } else {\n this.stopTask.cancel();\n this.startTask();\n }\n }\n };\n\n public setDone = () => {\n if (!this.state.started) {\n return;\n }\n this.setState({ done: true, successAnimationInProgress: true });\n this.startTask.cancel();\n this.resumeTaskAfterSuccessAnimation.cancel();\n this.stopTask();\n };\n\n public setReject = (reject: boolean) => {\n if (!this.state.visible && (this.state.started || this.getProps().active)) {\n this.setState({ visible: true });\n }\n this.startTask.cancel();\n this.stopTask.cancel();\n if (reject) {\n this.props.onReject?.();\n } else if (this.state.rejected) {\n this.setState({ accept: true });\n this.props.onAccept?.();\n }\n this.setState({ rejected: reject });\n };\n\n public updateExpectedResponseTime(expectedResponseTime: number) {\n this.setState({ expectedResponseTime });\n }\n\n public kill = () => {\n this.stopTask.cancel();\n this.startTask.cancel();\n this.resumeTaskAfterSuccessAnimation.cancel();\n this.setState({\n dead: true,\n });\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","debounce","isTestEnv","CommonWrapper","rootNode","createPropsGetter","GlobalLoaderView","GlobalLoaderDataTids","root","currentGlobalLoader","GlobalLoader","_class","_GlobalLoader","_React$Component","props","_this","call","getProps","defaultProps","startTask","setState","visible","onStart","delayBeforeShow","stopTask","successAnimationInProgress","started","onDone","delayBeforeHide","resumeTaskAfterSuccessAnimation","setActive","cancel","state","done","rejected","accept","setReject","setDone","reject","active","onReject","onAccept","kill","dead","expectedResponseTime","_inheritsLoose","_proto","prototype","componentDidMount","_currentGlobalLoader","_this$getProps","componentWillUnmount","componentDidUpdate","prevProps","_this$getProps2","render","status","_this$getProps3","disableAnimations","createElement","_extends","rootNodeRef","setRootNode","updateExpectedResponseTime","Component","__KONTUR_REACT_UI__","displayName","start","_currentGlobalLoader2","_currentGlobalLoader3","_currentGlobalLoader4","_currentGlobalLoader5","_currentGlobalLoader6"],"sources":["GlobalLoader.tsx"],"sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\n\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport type { GlobalLoaderViewProps } from './GlobalLoaderView';\nimport { GlobalLoaderView } from './GlobalLoaderView';\n\nexport interface GlobalLoaderProps {\n /** Устанавливает задержку в миллисекундах до появления лоадера. */\n delayBeforeShow?: number;\n\n /** Устанавливает задержку в миллисекундах до исчезновения лоадера. */\n delayBeforeHide?: number;\n\n /** Устанавливает ожидаемое время(ms) ответа сервера. */\n expectedResponseTime?: number;\n\n /** Определяет, нужно ли показывать анимацию лоадера в виде спиннера. */\n rejected?: boolean;\n\n /** Определяет, показывать ли лоадер. */\n active?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Задает коллбек, вызывающийся после появления лоадера. */\n onStart?(): void;\n\n /** Задает коллбек, вызывающийся после исчезновения лоадера. */\n onDone?(): void;\n\n /** Задает коллбек, вызывающийся после вызова GlobalLoader.reject(). Или после установки пропа rejected = true. */\n onReject?(): void;\n\n /** Задает коллбек, вызывающийся после вызова GlobalLoader.accept() или установки пропа rejected = false. */\n onAccept?(): void;\n}\nexport interface GlobalLoaderState {\n visible: boolean;\n done: boolean;\n rejected: boolean;\n accept: boolean;\n dead: boolean;\n successAnimationInProgress: boolean;\n expectedResponseTime: number;\n started: boolean;\n}\n\nexport const GlobalLoaderDataTids = {\n root: 'GlobalLoader',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n GlobalLoaderProps,\n 'expectedResponseTime' | 'delayBeforeShow' | 'delayBeforeHide' | 'rejected' | 'active' | 'disableAnimations'\n >\n>;\n\nlet currentGlobalLoader: GlobalLoader | null;\n\n/**\n * Глобальный лоадер `GlobalLoader` — это универсальный индикатор обмена данными с сервером.\n * Он появляется у верхней границы экрана и выглядит как тоненькая полоска, окрашенная в фирменный цвет продукта.\n *\n * `GlobalLoader` может быть только один в приложении. Поэтому, каждый новый экземпляр компонента \"убивает\" предыдущий экземпляр, и начинает перехватывать статические методы.\n *\n * Предполагается монтирование компонента в единственном месте. И управление им через статические методы, либо через пропы.\n *\n * `GlobalLoader` работает в двух режимах:\n * * как прогресс-бар, примерно показывает ход получения данных от сервера.\n * * как спиннер, когда есть проблемы с соединением.\n */\n@rootNode\nexport class GlobalLoader extends React.Component<GlobalLoaderProps, GlobalLoaderState> {\n public static __KONTUR_REACT_UI__ = 'GlobalLoader';\n public static displayName = 'GlobalLoader';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private getProps = createPropsGetter(GlobalLoader.defaultProps);\n\n private readonly startTask = debounce(() => {\n this.setState({ visible: true });\n this.props.onStart?.();\n }, this.getProps().delayBeforeShow);\n\n private readonly stopTask = debounce(() => {\n this.setState({ visible: false, successAnimationInProgress: false, started: false });\n this.props.onDone?.();\n }, this.getProps().delayBeforeHide);\n\n private readonly resumeTaskAfterSuccessAnimation = debounce(() => {\n this.setActive();\n }, this.getProps().delayBeforeHide);\n\n public static defaultProps: DefaultProps = {\n expectedResponseTime: 1000,\n delayBeforeShow: 1000,\n delayBeforeHide: 1000,\n rejected: false,\n active: false,\n disableAnimations: isTestEnv,\n };\n\n constructor(props: GlobalLoaderProps) {\n super(props);\n this.state = {\n started: false,\n visible: false,\n done: false,\n rejected: false,\n accept: false,\n dead: false,\n successAnimationInProgress: false,\n expectedResponseTime: this.getProps().expectedResponseTime,\n };\n }\n componentDidMount() {\n currentGlobalLoader?.kill();\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n currentGlobalLoader = this;\n const { active, rejected } = this.getProps();\n if (active) {\n this.setActive();\n }\n if (rejected) {\n this.setReject(true);\n }\n }\n\n componentWillUnmount(): void {\n currentGlobalLoader = null;\n }\n\n componentDidUpdate(prevProps: Readonly<GlobalLoaderProps>) {\n const { expectedResponseTime, rejected, active } = this.getProps();\n if (expectedResponseTime !== prevProps.expectedResponseTime) {\n this.setState({ expectedResponseTime });\n }\n if (rejected !== prevProps.rejected) {\n this.setReject(rejected);\n }\n if (active !== prevProps.active) {\n if (active) {\n this.setActive();\n } else {\n this.setDone();\n }\n }\n }\n\n public render() {\n let status: GlobalLoaderViewProps['status'] = 'standard';\n\n if (this.state.done) {\n status = 'success';\n } else if (this.state.rejected) {\n status = 'error';\n } else if (this.state.accept) {\n status = 'accept';\n }\n const { delayBeforeHide, disableAnimations } = this.getProps();\n return (\n !this.state.dead &&\n this.state.visible && (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <GlobalLoaderView\n expectedResponseTime={this.state.expectedResponseTime}\n delayBeforeHide={delayBeforeHide}\n status={status}\n data-tid={GlobalLoaderDataTids.root}\n disableAnimations={disableAnimations}\n />\n </CommonWrapper>\n )\n );\n }\n\n /**\n * Запускает анимацию лоадера <br />\n * Равносильно установке пропа `active = true`\n *\n * @public\n */\n public static start = (expectedResponseTime?: number) => {\n currentGlobalLoader?.setActive();\n if (typeof expectedResponseTime === 'number') {\n currentGlobalLoader?.updateExpectedResponseTime(expectedResponseTime);\n }\n };\n\n /**\n * Показывает анимацию успешного завершения загрузки <br />\n * Равносильно установке пропа `active = false`\n *\n * @public\n */\n public static done = () => {\n currentGlobalLoader?.setDone();\n };\n\n /**\n * Переключает анимацию лоадера в состояние спиннера <br />\n * Равносильно установке пропа `rejected = true`\n *\n * @public\n */\n public static reject = () => {\n currentGlobalLoader?.setReject(true);\n };\n\n /**\n * Возвращает лоадер из состояния спиннера в обычное и продолжает анимацию с того места, на котором она была прерван <br />\n * Равносильно установке пропа `rejected = false`\n *\n * @public\n */\n public static accept = () => {\n currentGlobalLoader?.setReject(false);\n };\n\n public setActive = () => {\n this.startTask.cancel();\n if (this.state.successAnimationInProgress) {\n this.resumeTaskAfterSuccessAnimation();\n } else {\n this.setState({ visible: false, done: false, rejected: false, accept: false, started: true });\n if (this.getProps().rejected) {\n this.setReject(true);\n } else {\n this.stopTask.cancel();\n this.startTask();\n }\n }\n };\n\n public setDone = () => {\n if (!this.state.started) {\n return;\n }\n this.setState({ done: true, successAnimationInProgress: true });\n this.startTask.cancel();\n this.resumeTaskAfterSuccessAnimation.cancel();\n this.stopTask();\n };\n\n public setReject = (reject: boolean) => {\n if (!this.state.visible && (this.state.started || this.getProps().active)) {\n this.setState({ visible: true });\n }\n this.startTask.cancel();\n this.stopTask.cancel();\n if (reject) {\n this.props.onReject?.();\n } else if (this.state.rejected) {\n this.setState({ accept: true });\n this.props.onAccept?.();\n }\n this.setState({ rejected: reject });\n };\n\n public updateExpectedResponseTime(expectedResponseTime: number) {\n this.setState({ expectedResponseTime });\n }\n\n public kill = () => {\n this.stopTask.cancel();\n this.startTask.cancel();\n this.resumeTaskAfterSuccessAnimation.cancel();\n this.setState({\n dead: true,\n });\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import type { TGetRootNode } from '../../lib/rootNode';
2
3
  export interface GlobalLoaderProps {
3
4
  /** Устанавливает задержку в миллисекундах до появления лоадера. */
4
5
  delayBeforeShow?: number;
@@ -50,6 +51,7 @@ type DefaultProps = Required<Pick<GlobalLoaderProps, 'expectedResponseTime' | 'd
50
51
  export declare class GlobalLoader extends React.Component<GlobalLoaderProps, GlobalLoaderState> {
51
52
  static __KONTUR_REACT_UI__: string;
52
53
  static displayName: string;
54
+ getRootNode: TGetRootNode;
53
55
  private setRootNode;
54
56
  private getProps;
55
57
  private readonly startTask;
@@ -2,12 +2,12 @@ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  var _class, _Group;
4
4
  import React from 'react';
5
- import PropTypes from 'prop-types';
6
5
  import { isIE11, isEdge } from "../../../lib/client";
7
6
  import { CommonWrapper } from "../../../internal/CommonWrapper";
8
7
  import { cx } from "../../../lib/theming/Emotion";
9
8
  import { rootNode } from "../../../lib/rootNode";
10
- import { isButton, isAutocomplete, isCurrencyInput, isDropdown, isDropdownMenu, isFxInput, isInput, isPasswordInput, isSelect } from "../../../lib/utils";
9
+ import { isButton, isAutocomplete, isCurrencyInput, isDropdown, isDropdownMenu, isFxInput, isInput, isPasswordInput, isSelect, isTooltip, isHint } from "../../../lib/utils";
10
+ import { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from "../../../lib/featureFlagsContext";
11
11
  import { styles } from "../Group.styles";
12
12
  var getFirstChild = function getFirstChild(children) {
13
13
  if (!Array.isArray(children)) {
@@ -42,8 +42,8 @@ export var getButtonCorners = function getButtonCorners(isFirstChild, isLastChil
42
42
  borderRadius: 0
43
43
  };
44
44
  };
45
- var tryPassCorners = function tryPassCorners(child, firstChild, lastChild) {
46
- var corners = getButtonCorners(child === firstChild, child === lastChild);
45
+ var tryPassCorners = function tryPassCorners(child, isFirstChild, isLastChild) {
46
+ var corners = getButtonCorners(isFirstChild, isLastChild);
47
47
  if (isButton(child) || isInput(child) || isFxInput(child) || isAutocomplete(child) || isPasswordInput(child) || isCurrencyInput(child) || isSelect(child) || isDropdown(child) || isDropdownMenu(child)) {
48
48
  return /*#__PURE__*/React.cloneElement(child, {
49
49
  corners: _extends({}, corners, child.props.corners)
@@ -51,6 +51,9 @@ var tryPassCorners = function tryPassCorners(child, firstChild, lastChild) {
51
51
  }
52
52
  return child;
53
53
  };
54
+ var hasWidthInPercent = function hasWidthInPercent(child) {
55
+ return String(child.props.width).includes('%');
56
+ };
54
57
  export var GroupDataTids = {
55
58
  root: 'Group__root'
56
59
  };
@@ -62,47 +65,80 @@ export var GroupDataTids = {
62
65
  */
63
66
  export var Group = rootNode(_class = (_Group = /*#__PURE__*/function (_React$Component) {
64
67
  function Group() {
65
- return _React$Component.apply(this, arguments) || this;
68
+ var _this;
69
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
70
+ args[_key] = arguments[_key];
71
+ }
72
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
73
+ _this.renderChild = function (child, isFirstChild, isLastChild, isWidthInPercent) {
74
+ var _cx, _cx2;
75
+ return /*#__PURE__*/(
76
+
77
+ React.createElement("div", {
78
+ className: cx((_cx = {}, _cx[styles.fixed()] = !isWidthInPercent, _cx[styles.stretch()] = isWidthInPercent, _cx[styles.stretchFallback()] = Boolean(isWidthInPercent && _this.props.width && (isIE11 || isEdge)), _cx))
79
+ }, /*#__PURE__*/
80
+
81
+ React.createElement("div", {
82
+ className: cx((_cx2 = {}, _cx2[styles.item()] = true, _cx2[styles.itemFirst()] = isFirstChild, _cx2))
83
+ }, tryPassCorners(child, isFirstChild, isLastChild)))
84
+ );
85
+ };
86
+ return _this;
66
87
  }
67
88
  _inheritsLoose(Group, _React$Component);
68
89
  var _proto = Group.prototype;
69
90
  _proto.render = function render() {
70
- var _this = this;
91
+ var _this2 = this;
71
92
  var style = {
72
93
  width: this.props.width
73
94
  };
74
95
  var childrenArray = React.Children.toArray(this.props.children);
75
96
  var firstChild = getFirstChild(childrenArray);
76
97
  var lastChild = getLastChild(childrenArray);
77
- return /*#__PURE__*/(
78
- React.createElement(CommonWrapper, _extends({
79
- rootNodeRef: this.setRootNode
80
- }, this.props), /*#__PURE__*/
81
- React.createElement("span", {
98
+ return /*#__PURE__*/React.createElement(ReactUIFeatureFlagsContext.Consumer, null, function (flags) {
99
+ _this2.featureFlags = getFullReactUIFlagsContext(flags);
100
+ return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
101
+ rootNodeRef: _this2.setRootNode
102
+ }, _this2.props), /*#__PURE__*/React.createElement("span", {
82
103
  "data-tid": GroupDataTids.root,
83
104
  className: styles.root(),
84
105
  style: style
85
106
  }, React.Children.map(childrenArray, function (child) {
86
- var _cx, _cx2;
87
107
  if (!child || ! /*#__PURE__*/React.isValidElement(child)) {
88
108
  return null;
89
109
  }
90
- var isWidthInPercent = Boolean(child.props.width && child.props.width.toString().includes('%'));
91
- var modifiedChild = tryPassCorners(child, firstChild, lastChild);
92
110
  var isFirstChild = child === firstChild;
93
- return /*#__PURE__*/(
94
- React.createElement("div", {
95
- className: cx((_cx = {}, _cx[styles.fixed()] = !isWidthInPercent, _cx[styles.stretch()] = isWidthInPercent, _cx[styles.stretchFallback()] = Boolean(isWidthInPercent && _this.props.width && (isIE11 || isEdge)), _cx))
96
- }, /*#__PURE__*/
97
-
98
- React.createElement("div", {
99
- className: cx((_cx2 = {}, _cx2[styles.item()] = true, _cx2[styles.itemFirst()] = isFirstChild, _cx2))
100
- }, modifiedChild))
101
- );
102
- })))
103
- );
111
+ var isLastChild = child === lastChild;
112
+ if (_this2.featureFlags.groupAddHintAndTooltipSupport && (isHint(child) || isTooltip(child))) {
113
+ return _this2.renderWrappedChildren(child, isFirstChild, isLastChild);
114
+ }
115
+ return _this2.renderChild(child, isFirstChild, isLastChild, hasWidthInPercent(child));
116
+ })));
117
+ });
118
+ };
119
+ _proto.renderWrappedChildren = function renderWrappedChildren(parent, isParentFirst, isParentLast) {
120
+ var _this3 = this,
121
+ _cx3;
122
+ var shouldStretchParent = false;
123
+ var nestedChildren = React.Children.toArray(parent.props.children);
124
+ var modifiedChildren = nestedChildren.map(function (nestedChild, index) {
125
+ if (!nestedChild || ! /*#__PURE__*/React.isValidElement(nestedChild)) {
126
+ return null;
127
+ }
128
+ var isFirstChild = isParentFirst && index === 0;
129
+ var isLastChild = isParentLast && index === nestedChildren.length - 1;
130
+ if (hasWidthInPercent(nestedChild)) {
131
+ shouldStretchParent = true;
132
+ }
133
+ return _this3.renderChild(nestedChild, isFirstChild, isLastChild, hasWidthInPercent(nestedChild));
134
+ });
135
+ var wrappedChildren = /*#__PURE__*/
136
+ React.createElement("div", {
137
+ className: cx(styles.wrappedChildren(), (_cx3 = {}, _cx3[styles.stretch()] = shouldStretchParent, _cx3))
138
+ }, modifiedChildren);
139
+ return /*#__PURE__*/React.cloneElement(parent, {
140
+ children: wrappedChildren
141
+ });
104
142
  };
105
143
  return Group;
106
- }(React.Component), _Group.__KONTUR_REACT_UI__ = 'Group', _Group.displayName = 'Group', _Group.propTypes = {
107
- width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
108
- }, _Group)) || _class;
144
+ }(React.Component), _Group.__KONTUR_REACT_UI__ = 'Group', _Group.displayName = 'Group', _Group)) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","isIE11","isEdge","CommonWrapper","cx","rootNode","isButton","isAutocomplete","isCurrencyInput","isDropdown","isDropdownMenu","isFxInput","isInput","isPasswordInput","isSelect","styles","getFirstChild","children","Array","isArray","getLastChild","numberOfChildren","Children","count","getButtonCorners","isFirstChild","isLastChild","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","borderRadius","tryPassCorners","child","firstChild","lastChild","corners","cloneElement","_extends","props","GroupDataTids","root","Group","_class","_Group","_React$Component","apply","arguments","_inheritsLoose","_proto","prototype","render","_this","style","width","childrenArray","toArray","createElement","rootNodeRef","setRootNode","className","map","_cx","_cx2","isValidElement","isWidthInPercent","Boolean","toString","includes","modifiedChild","fixed","stretch","stretchFallback","item","itemFirst","Component","__KONTUR_REACT_UI__","displayName","propTypes","oneOfType","number","string"],"sources":["Group.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isIE11, isEdge } from '../../lib/client';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport {\n isButton,\n isAutocomplete,\n isCurrencyInput,\n isDropdown,\n isDropdownMenu,\n isFxInput,\n isInput,\n isPasswordInput,\n isSelect,\n} from '../../lib/utils';\n\nimport { styles } from './Group.styles';\n\nexport interface GroupProps extends CommonProps {\n /** Задает длину компонента Group. */\n width?: React.CSSProperties['width'];\n}\n\ninterface GroupChildProps {\n width?: React.CSSProperties['width'];\n corners?: number;\n}\n\nconst getFirstChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n return children?.[0] as React.ReactNode;\n};\n\nconst getLastChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n const numberOfChildren = React.Children.count(children);\n\n return children?.[numberOfChildren - 1] as React.ReactNode;\n};\n\nexport const getButtonCorners = (isFirstChild: boolean, isLastChild: boolean): React.CSSProperties => {\n if (isFirstChild && isLastChild) {\n return {};\n }\n\n if (isFirstChild) {\n return {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n };\n }\n\n if (isLastChild) {\n return {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n };\n }\n\n return {\n borderRadius: 0,\n };\n};\n\nconst tryPassCorners = (child: React.ReactNode, firstChild: React.ReactNode, lastChild: React.ReactNode) => {\n const corners = getButtonCorners(child === firstChild, child === lastChild);\n\n if (\n isButton(child) ||\n isInput(child) ||\n isFxInput(child) ||\n isAutocomplete(child) ||\n isPasswordInput(child) ||\n isCurrencyInput(child) ||\n isSelect(child) ||\n isDropdown(child) ||\n isDropdownMenu(child)\n ) {\n return React.cloneElement<(typeof child)['props']>(child, { corners: { ...corners, ...child.props.corners } });\n }\n\n return child;\n};\n\nexport const GroupDataTids = {\n root: 'Group__root',\n} as const;\n\n/**\n * Компонент `Group` используется для создания логически сгруппированных элементов, выровненных по горизонтали.\n *\n * Длина контейнера настраивается с помощью пропа `width`.\n */\n@rootNode\nexport class Group extends React.Component<GroupProps> {\n public static __KONTUR_REACT_UI__ = 'Group';\n public static displayName = 'Group';\n\n private setRootNode!: TSetRootNode;\n\n public static propTypes = {\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n };\n\n public render() {\n const style: React.CSSProperties = {\n width: this.props.width,\n };\n\n const childrenArray = React.Children.toArray(this.props.children);\n const firstChild = getFirstChild(childrenArray);\n const lastChild = getLastChild(childrenArray);\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span data-tid={GroupDataTids.root} className={styles.root()} style={style}>\n {React.Children.map(childrenArray, (child) => {\n if (!child || !React.isValidElement<GroupChildProps>(child)) {\n return null;\n }\n\n const isWidthInPercent = Boolean(child.props.width && child.props.width.toString().includes('%'));\n\n const modifiedChild = tryPassCorners(child, firstChild, lastChild);\n\n const isFirstChild = child === firstChild;\n\n return (\n <div\n className={cx({\n [styles.fixed()]: !isWidthInPercent,\n [styles.stretch()]: isWidthInPercent,\n [styles.stretchFallback()]: Boolean(isWidthInPercent && this.props.width && (isIE11 || isEdge)),\n })}\n >\n <div\n className={cx({\n [styles.item()]: true,\n [styles.itemFirst()]: isFirstChild,\n })}\n >\n {modifiedChild}\n </div>\n </div>\n );\n })}\n </span>\n </CommonWrapper>\n );\n }\n}\n"],"mappings":"mJAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;;AAElC,SAASC,MAAM,EAAEC,MAAM,QAAQ,kBAAkB;;AAEjD,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,EAAE,QAAQ,2BAA2B;;AAE9C,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C;EACEC,QAAQ;EACRC,cAAc;EACdC,eAAe;EACfC,UAAU;EACVC,cAAc;EACdC,SAAS;EACTC,OAAO;EACPC,eAAe;EACfC,QAAQ;AACH,iBAAiB;;AAExB,SAASC,MAAM,QAAQ,gBAAgB;;;;;;;;;;;;AAYvC,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,QAAyB,EAAK;EACnD,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;IAC5B,OAAOA,QAAQ;EACjB;;EAEA,OAAOA,QAAQ,oBAARA,QAAQ,CAAG,CAAC,CAAC;AACtB,CAAC;;AAED,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAIH,QAAyB,EAAK;EAClD,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;IAC5B,OAAOA,QAAQ;EACjB;;EAEA,IAAMI,gBAAgB,GAAGtB,KAAK,CAACuB,QAAQ,CAACC,KAAK,CAACN,QAAQ,CAAC;;EAEvD,OAAOA,QAAQ,oBAARA,QAAQ,CAAGI,gBAAgB,GAAG,CAAC,CAAC;AACzC,CAAC;;AAED,OAAO,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,YAAqB,EAAEC,WAAoB,EAA0B;EACpG,IAAID,YAAY,IAAIC,WAAW,EAAE;IAC/B,OAAO,CAAC,CAAC;EACX;;EAEA,IAAID,YAAY,EAAE;IAChB,OAAO;MACLE,oBAAoB,EAAE,CAAC;MACvBC,uBAAuB,EAAE;IAC3B,CAAC;EACH;;EAEA,IAAIF,WAAW,EAAE;IACf,OAAO;MACLG,mBAAmB,EAAE,CAAC;MACtBC,sBAAsB,EAAE;IAC1B,CAAC;EACH;;EAEA,OAAO;IACLC,YAAY,EAAE;EAChB,CAAC;AACH,CAAC;;AAED,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAAsB,EAAEC,UAA2B,EAAEC,SAA0B,EAAK;EAC1G,IAAMC,OAAO,GAAGZ,gBAAgB,CAACS,KAAK,KAAKC,UAAU,EAAED,KAAK,KAAKE,SAAS,CAAC;;EAE3E;EACE7B,QAAQ,CAAC2B,KAAK,CAAC;EACfrB,OAAO,CAACqB,KAAK,CAAC;EACdtB,SAAS,CAACsB,KAAK,CAAC;EAChB1B,cAAc,CAAC0B,KAAK,CAAC;EACrBpB,eAAe,CAACoB,KAAK,CAAC;EACtBzB,eAAe,CAACyB,KAAK,CAAC;EACtBnB,QAAQ,CAACmB,KAAK,CAAC;EACfxB,UAAU,CAACwB,KAAK,CAAC;EACjBvB,cAAc,CAACuB,KAAK,CAAC;EACrB;IACA,oBAAOlC,KAAK,CAACsC,YAAY,CAA0BJ,KAAK,EAAE,EAAEG,OAAO,EAAAE,QAAA,KAAOF,OAAO,EAAKH,KAAK,CAACM,KAAK,CAACH,OAAO,CAAE,CAAC,CAAC,CAAC;EAChH;;EAEA,OAAOH,KAAK;AACd,CAAC;;AAED,OAAO,IAAMO,aAAa,GAAG;EAC3BC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACaC,KAAK,GADjBrC,QAAQ,CAAAsC,MAAA,IAAAC,MAAA,0BAAAC,gBAAA,YAAAH,MAAA,UAAAG,gBAAA,CAAAC,KAAA,OAAAC,SAAA,WAAAC,cAAA,CAAAN,KAAA,EAAAG,gBAAA,MAAAI,MAAA,GAAAP,KAAA,CAAAQ,SAAA,CAAAD,MAAA;;;;;;;;;;EAWAE,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,KAAA;IACd,IAAMC,KAA0B,GAAG;MACjCC,KAAK,EAAE,IAAI,CAACf,KAAK,CAACe;IACpB,CAAC;;IAED,IAAMC,aAAa,GAAGxD,KAAK,CAACuB,QAAQ,CAACkC,OAAO,CAAC,IAAI,CAACjB,KAAK,CAACtB,QAAQ,CAAC;IACjE,IAAMiB,UAAU,GAAGlB,aAAa,CAACuC,aAAa,CAAC;IAC/C,IAAMpB,SAAS,GAAGf,YAAY,CAACmC,aAAa,CAAC;;IAE7C;MACExD,KAAA,CAAA0D,aAAA,CAACtD,aAAa,EAAAmC,QAAA,GAACoB,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAACpB,KAAK;MAC1DxC,KAAA,CAAA0D,aAAA,WAAM,YAAUjB,aAAa,CAACC,IAAK,EAACmB,SAAS,EAAE7C,MAAM,CAAC0B,IAAI,CAAC,CAAE,EAACY,KAAK,EAAEA,KAAM;MACxEtD,KAAK,CAACuB,QAAQ,CAACuC,GAAG,CAACN,aAAa,EAAE,UAACtB,KAAK,EAAK,KAAA6B,GAAA,EAAAC,IAAA;QAC5C,IAAI,CAAC9B,KAAK,IAAI,eAAClC,KAAK,CAACiE,cAAc,CAAkB/B,KAAK,CAAC,EAAE;UAC3D,OAAO,IAAI;QACb;;QAEA,IAAMgC,gBAAgB,GAAGC,OAAO,CAACjC,KAAK,CAACM,KAAK,CAACe,KAAK,IAAIrB,KAAK,CAACM,KAAK,CAACe,KAAK,CAACa,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,GAAG,CAAC,CAAC;;QAEjG,IAAMC,aAAa,GAAGrC,cAAc,CAACC,KAAK,EAAEC,UAAU,EAAEC,SAAS,CAAC;;QAElE,IAAMV,YAAY,GAAGQ,KAAK,KAAKC,UAAU;;QAEzC;UACEnC,KAAA,CAAA0D,aAAA;YACEG,SAAS,EAAExD,EAAE,EAAA0D,GAAA,OAAAA,GAAA;YACV/C,MAAM,CAACuD,KAAK,CAAC,CAAC,IAAG,CAACL,gBAAgB,EAAAH,GAAA;YAClC/C,MAAM,CAACwD,OAAO,CAAC,CAAC,IAAGN,gBAAgB,EAAAH,GAAA;YACnC/C,MAAM,CAACyD,eAAe,CAAC,CAAC,IAAGN,OAAO,CAACD,gBAAgB,IAAIb,KAAI,CAACb,KAAK,CAACe,KAAK,KAAKrD,MAAM,IAAIC,MAAM,CAAC,CAAC,EAAA4D,GAAA;YAChG,CAAE;;UAEH/D,KAAA,CAAA0D,aAAA;YACEG,SAAS,EAAExD,EAAE,EAAA2D,IAAA,OAAAA,IAAA;YACVhD,MAAM,CAAC0D,IAAI,CAAC,CAAC,IAAG,IAAI,EAAAV,IAAA;YACpBhD,MAAM,CAAC2D,SAAS,CAAC,CAAC,IAAGjD,YAAY,EAAAsC,IAAA;YACnC,CAAE;;UAEFM;UACE;UACF,CAAC;;MAEV,CAAC;MACG;MACO,CAAC;;EAEpB,CAAC,QAAA3B,KAAA,GAvDwB3C,KAAK,CAAC4E,SAAS,GAAA/B,MAAA,CAC1BgC,mBAAmB,GAAG,OAAO,EAAAhC,MAAA,CAC7BiC,WAAW,GAAG,OAAO,EAAAjC,MAAA,CAIrBkC,SAAS,GAAG,EACxBxB,KAAK,EAAEtD,SAAS,CAAC+E,SAAS,CAAC,CAAC/E,SAAS,CAACgF,MAAM,EAAEhF,SAAS,CAACiF,MAAM,CAAC,CAAC,CAClE,CAAC,EAAArC,MAAA,MAAAD,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["React","isIE11","isEdge","CommonWrapper","cx","rootNode","isButton","isAutocomplete","isCurrencyInput","isDropdown","isDropdownMenu","isFxInput","isInput","isPasswordInput","isSelect","isTooltip","isHint","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","styles","getFirstChild","children","Array","isArray","getLastChild","numberOfChildren","Children","count","getButtonCorners","isFirstChild","isLastChild","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","borderRadius","tryPassCorners","child","corners","cloneElement","_extends","props","hasWidthInPercent","String","width","includes","GroupDataTids","root","Group","_class","_Group","_React$Component","_this","_len","arguments","length","args","_key","call","apply","concat","renderChild","isWidthInPercent","_cx","_cx2","createElement","className","fixed","stretch","stretchFallback","Boolean","item","itemFirst","_inheritsLoose","_proto","prototype","render","_this2","style","childrenArray","toArray","firstChild","lastChild","Consumer","flags","featureFlags","rootNodeRef","setRootNode","map","isValidElement","groupAddHintAndTooltipSupport","renderWrappedChildren","parent","isParentFirst","isParentLast","_this3","_cx3","shouldStretchParent","nestedChildren","modifiedChildren","nestedChild","index","wrappedChildren","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Group.tsx"],"sourcesContent":["import React from 'react';\n\nimport { isIE11, isEdge } from '../../lib/client';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport {\n isButton,\n isAutocomplete,\n isCurrencyInput,\n isDropdown,\n isDropdownMenu,\n isFxInput,\n isInput,\n isPasswordInput,\n isSelect,\n isTooltip,\n isHint,\n} from '../../lib/utils';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\n\nimport { styles } from './Group.styles';\n\nexport interface GroupProps extends CommonProps {\n /** Задает длину компонента Group. */\n width?: React.CSSProperties['width'];\n}\n\ninterface GroupChildProps extends CommonProps {\n width?: React.CSSProperties['width'];\n corners?: number;\n}\n\nconst getFirstChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n return children?.[0] as React.ReactNode;\n};\n\nconst getLastChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n const numberOfChildren = React.Children.count(children);\n\n return children?.[numberOfChildren - 1] as React.ReactNode;\n};\n\nexport const getButtonCorners = (isFirstChild: boolean, isLastChild: boolean): React.CSSProperties => {\n if (isFirstChild && isLastChild) {\n return {};\n }\n\n if (isFirstChild) {\n return {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n };\n }\n\n if (isLastChild) {\n return {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n };\n }\n\n return {\n borderRadius: 0,\n };\n};\n\nconst tryPassCorners = (child: React.ReactNode, isFirstChild: boolean, isLastChild: boolean) => {\n const corners = getButtonCorners(isFirstChild, isLastChild);\n\n if (\n isButton(child) ||\n isInput(child) ||\n isFxInput(child) ||\n isAutocomplete(child) ||\n isPasswordInput(child) ||\n isCurrencyInput(child) ||\n isSelect(child) ||\n isDropdown(child) ||\n isDropdownMenu(child)\n ) {\n return React.cloneElement<(typeof child)['props']>(child, { corners: { ...corners, ...child.props.corners } });\n }\n\n return child;\n};\n\nconst hasWidthInPercent = (child: React.ReactElement<GroupChildProps>) => String(child.props.width).includes('%');\n\nexport const GroupDataTids = {\n root: 'Group__root',\n} as const;\n\n/**\n * Компонент `Group` используется для создания логически сгруппированных элементов, выровненных по горизонтали.\n *\n * Длина контейнера настраивается с помощью пропа `width`.\n */\n@rootNode\nexport class Group extends React.Component<GroupProps> {\n public static __KONTUR_REACT_UI__ = 'Group';\n public static displayName = 'Group';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private featureFlags!: ReactUIFeatureFlags;\n\n public render() {\n const style: React.CSSProperties = {\n width: this.props.width,\n };\n\n const childrenArray = React.Children.toArray(this.props.children);\n const firstChild = getFirstChild(childrenArray);\n const lastChild = getLastChild(childrenArray);\n\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span data-tid={GroupDataTids.root} className={styles.root()} style={style}>\n {React.Children.map(childrenArray, (child) => {\n if (!child || !React.isValidElement<GroupChildProps>(child)) {\n return null;\n }\n\n const isFirstChild = child === firstChild;\n const isLastChild = child === lastChild;\n\n if (this.featureFlags.groupAddHintAndTooltipSupport && (isHint(child) || isTooltip(child))) {\n return this.renderWrappedChildren(child, isFirstChild, isLastChild);\n }\n\n return this.renderChild(child, isFirstChild, isLastChild, hasWidthInPercent(child));\n })}\n </span>\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderChild = (\n child: React.ReactNode,\n isFirstChild: boolean,\n isLastChild: boolean,\n isWidthInPercent: boolean,\n ) => (\n <div\n className={cx({\n [styles.fixed()]: !isWidthInPercent,\n [styles.stretch()]: isWidthInPercent,\n [styles.stretchFallback()]: Boolean(isWidthInPercent && this.props.width && (isIE11 || isEdge)),\n })}\n >\n <div\n className={cx({\n [styles.item()]: true,\n [styles.itemFirst()]: isFirstChild,\n })}\n >\n {tryPassCorners(child, isFirstChild, isLastChild)}\n </div>\n </div>\n );\n\n private renderWrappedChildren(\n parent: React.ReactElement<GroupChildProps>,\n isParentFirst: boolean,\n isParentLast: boolean,\n ): React.ReactNode {\n let shouldStretchParent = false;\n const nestedChildren = React.Children.toArray(parent.props.children);\n\n const modifiedChildren = nestedChildren.map((nestedChild, index) => {\n if (!nestedChild || !React.isValidElement<GroupChildProps>(nestedChild)) {\n return null;\n }\n\n const isFirstChild = isParentFirst && index === 0;\n const isLastChild = isParentLast && index === nestedChildren.length - 1;\n if (hasWidthInPercent(nestedChild)) {\n shouldStretchParent = true;\n }\n\n return this.renderChild(nestedChild, isFirstChild, isLastChild, hasWidthInPercent(nestedChild));\n });\n\n const wrappedChildren = (\n <div className={cx(styles.wrappedChildren(), { [styles.stretch()]: shouldStretchParent })}>\n {modifiedChildren}\n </div>\n );\n\n return React.cloneElement<GroupChildProps>(parent, {\n children: wrappedChildren,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import type { CommonProps } from '../../internal/CommonWrapper';
3
+ import type { TGetRootNode } from '../../lib/rootNode';
4
4
  export interface GroupProps extends CommonProps {
5
5
  /** Задает длину компонента Group. */
6
6
  width?: React.CSSProperties['width'];
@@ -17,9 +17,10 @@ export declare const GroupDataTids: {
17
17
  export declare class Group extends React.Component<GroupProps> {
18
18
  static __KONTUR_REACT_UI__: string;
19
19
  static displayName: string;
20
+ getRootNode: TGetRootNode;
20
21
  private setRootNode;
21
- static propTypes: {
22
- width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
23
- };
22
+ private featureFlags;
24
23
  render(): React.JSX.Element;
24
+ private renderChild;
25
+ private renderWrappedChildren;
25
26
  }
@@ -1,23 +1,26 @@
1
1
  import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
3
3
  import { css, memoizeStyle } from "../../../lib/theming/Emotion";
4
4
  export var styles = memoizeStyle({
5
5
  root: function root() {
6
6
  return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n line-height: normal;\n "])));
7
7
  },
8
+ wrappedChildren: function wrappedChildren() {
9
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n display: flex;\n "])));
10
+ },
8
11
  fixed: function fixed() {
9
- return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n flex-shrink: 0;\n display: inline-block;\n "])));
12
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n flex-shrink: 0;\n display: inline-block;\n "])));
10
13
  },
11
14
  stretch: function stretch() {
12
- return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n flex-grow: 1;\n flex-shrink: 1;\n "])));
15
+ return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n flex-grow: 1;\n flex-shrink: 1;\n "])));
13
16
  },
14
17
  stretchFallback: function stretchFallback() {
15
- return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n flex-basis: 100%;\n "])));
18
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n flex-basis: 100%;\n "])));
16
19
  },
17
20
  item: function item() {
18
- return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n margin-left: -1px;\n "])));
21
+ return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n margin-left: -1px;\n "])));
19
22
  },
20
23
  itemFirst: function itemFirst() {
21
- return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n margin-left: 0;\n "])));
24
+ return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n margin-left: 0;\n "])));
22
25
  }
23
26
  });
@@ -1 +1 @@
1
- {"version":3,"names":["css","memoizeStyle","styles","root","_templateObject","_taggedTemplateLiteralLoose","fixed","_templateObject2","stretch","_templateObject3","stretchFallback","_templateObject4","item","_templateObject5","itemFirst","_templateObject6"],"sources":["Group.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n display: inline-flex;\n line-height: normal;\n `;\n },\n\n fixed() {\n return css`\n flex-shrink: 0;\n display: inline-block;\n `;\n },\n\n stretch() {\n return css`\n flex-grow: 1;\n flex-shrink: 1;\n `;\n },\n\n stretchFallback() {\n return css`\n flex-basis: 100%;\n `;\n },\n\n item() {\n return css`\n margin-left: -1px;\n `;\n },\n\n itemFirst() {\n return css`\n margin-left: 0;\n `;\n },\n});\n"],"mappings":"8MAAA,SAASA,GAAG,EAAEC,YAAY,QAAQ,2BAA2B;;AAE7D,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;EACjCE,IAAI,WAAAA,KAAA,EAAG;IACL,OAAOH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,2BAAA;;;;EAIZ,CAAC;;EAEDC,KAAK,WAAAA,MAAA,EAAG;IACN,OAAON,GAAG,CAAAO,gBAAA,KAAAA,gBAAA,GAAAF,2BAAA;;;;EAIZ,CAAC;;EAEDG,OAAO,WAAAA,QAAA,EAAG;IACR,OAAOR,GAAG,CAAAS,gBAAA,KAAAA,gBAAA,GAAAJ,2BAAA;;;;EAIZ,CAAC;;EAEDK,eAAe,WAAAA,gBAAA,EAAG;IAChB,OAAOV,GAAG,CAAAW,gBAAA,KAAAA,gBAAA,GAAAN,2BAAA;;;EAGZ,CAAC;;EAEDO,IAAI,WAAAA,KAAA,EAAG;IACL,OAAOZ,GAAG,CAAAa,gBAAA,KAAAA,gBAAA,GAAAR,2BAAA;;;EAGZ,CAAC;;EAEDS,SAAS,WAAAA,UAAA,EAAG;IACV,OAAOd,GAAG,CAAAe,gBAAA,KAAAA,gBAAA,GAAAV,2BAAA;;;EAGZ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["css","memoizeStyle","styles","root","_templateObject","_taggedTemplateLiteralLoose","wrappedChildren","_templateObject2","fixed","_templateObject3","stretch","_templateObject4","stretchFallback","_templateObject5","item","_templateObject6","itemFirst","_templateObject7"],"sources":["Group.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n display: inline-flex;\n line-height: normal;\n `;\n },\n\n wrappedChildren() {\n return css`\n display: flex;\n `;\n },\n\n fixed() {\n return css`\n flex-shrink: 0;\n display: inline-block;\n `;\n },\n\n stretch() {\n return css`\n flex-grow: 1;\n flex-shrink: 1;\n `;\n },\n\n stretchFallback() {\n return css`\n flex-basis: 100%;\n `;\n },\n\n item() {\n return css`\n margin-left: -1px;\n `;\n },\n\n itemFirst() {\n return css`\n margin-left: 0;\n `;\n },\n});\n"],"mappings":"gOAAA,SAASA,GAAG,EAAEC,YAAY,QAAQ,2BAA2B;;AAE7D,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;EACjCE,IAAI,WAAAA,KAAA,EAAG;IACL,OAAOH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,2BAAA;;;;EAIZ,CAAC;;EAEDC,eAAe,WAAAA,gBAAA,EAAG;IAChB,OAAON,GAAG,CAAAO,gBAAA,KAAAA,gBAAA,GAAAF,2BAAA;;;EAGZ,CAAC;;EAEDG,KAAK,WAAAA,MAAA,EAAG;IACN,OAAOR,GAAG,CAAAS,gBAAA,KAAAA,gBAAA,GAAAJ,2BAAA;;;;EAIZ,CAAC;;EAEDK,OAAO,WAAAA,QAAA,EAAG;IACR,OAAOV,GAAG,CAAAW,gBAAA,KAAAA,gBAAA,GAAAN,2BAAA;;;;EAIZ,CAAC;;EAEDO,eAAe,WAAAA,gBAAA,EAAG;IAChB,OAAOZ,GAAG,CAAAa,gBAAA,KAAAA,gBAAA,GAAAR,2BAAA;;;EAGZ,CAAC;;EAEDS,IAAI,WAAAA,KAAA,EAAG;IACL,OAAOd,GAAG,CAAAe,gBAAA,KAAAA,gBAAA,GAAAV,2BAAA;;;EAGZ,CAAC;;EAEDW,SAAS,WAAAA,UAAA,EAAG;IACV,OAAOhB,GAAG,CAAAiB,gBAAA,KAAAA,gBAAA,GAAAZ,2BAAA;;;EAGZ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  export declare const styles: {
2
2
  root(): string;
3
+ wrappedChildren(): string;
3
4
  fixed(): string;
4
5
  stretch(): string;
5
6
  stretchFallback(): string;
@@ -1 +1 @@
1
- {"version":3,"names":["React","globalObject","ThemeContext","ThemeFactory","DUMMY_LOCATION","Popup","isTestEnv","CommonWrapper","cx","rootNode","createPropsGetter","styles","HINT_BORDER_COLOR","Hint","_class","_Hint","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","opened","manual","position","popupRef","createRef","getAnchorElement","_this$popupRef$curren","current","anchorElement","getPositions","props","allowedPositions","handleMouseEnter","e","timer","setTimeout","open","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","_inheritsLoose","_proto","prototype","getAllowedPositions","componentDidUpdate","prevProps","_this$getProps","componentWillUnmount","render","_this2","createElement","Consumer","theme","Provider","value","create","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","_this3","_this$getProps2","disableAnimations","useWrapper","_extends","rootNodeRef","setRootNode","hasPin","children","positions","pos","backgroundColor","hintBgColor","borderColor","onPositionChange","ref","withoutMobile","renderContent","_cx","text","_this$getProps3","maxWidth","centerAlignPositions","className","content","contentCenter","includes","style","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["Hint.tsx"],"sourcesContent":["import React from 'react';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { PopupPinnablePositionsType, ShortPopupPositionsType } from '../../internal/Popup';\nimport { DUMMY_LOCATION, Popup } from '../../internal/Popup';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит отображение подсказки в _\"ручной режим\"_.\n В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`. */\n manual?: boolean;\n\n /** Задает максимальную ширину подсказки. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */\n onMouseEnter?: (event: MouseEventType) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (event: MouseEventType) => void;\n\n /** Открывает подсказку. Работает только при `manual=true`. */\n opened?: boolean;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPinnablePositionsType;\n\n /** Задает текст подсказки. */\n text: React.ReactNode;\n\n /** Задает список позиций, которые будет занимать хинт. Если положение хинта в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция. Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPinnablePositionsType[];\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования хинта при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPinnablePositionsType;\n}\n\ntype DefaultProps = Required<Pick<HintProps, 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>>;\n\n/**\n * Всплывающая подсказка `Hint`.\n * По умолчанию отображается при наведении на элемент, но можно задать другие условия отображения.\n *\n * Для подсказки, всплывающей по клику используйте Tooltip.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n public static displayName = 'Hint';\n\n public static defaultProps: DefaultProps = {\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: SafeTimer;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions() {\n return this.props.allowedPositions;\n }\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin={false}\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n pos={this.props.pos}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPinnablePositionsType[] | undefined => {\n return this.props.allowedPositions;\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = globalObject.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","globalObject","ThemeContext","ThemeFactory","DUMMY_LOCATION","Popup","isTestEnv","CommonWrapper","cx","rootNode","createPropsGetter","styles","HINT_BORDER_COLOR","Hint","_class","_Hint","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","opened","manual","position","popupRef","createRef","getAnchorElement","_this$popupRef$curren","current","anchorElement","getPositions","props","allowedPositions","handleMouseEnter","e","timer","setTimeout","open","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","_inheritsLoose","_proto","prototype","getAllowedPositions","componentDidUpdate","prevProps","_this$getProps","componentWillUnmount","render","_this2","createElement","Consumer","theme","Provider","value","create","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","_this3","_this$getProps2","disableAnimations","useWrapper","_extends","rootNodeRef","setRootNode","hasPin","children","positions","pos","backgroundColor","hintBgColor","borderColor","onPositionChange","ref","withoutMobile","renderContent","_cx","text","_this$getProps3","maxWidth","centerAlignPositions","className","content","contentCenter","includes","style","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["Hint.tsx"],"sourcesContent":["import React from 'react';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { PopupPinnablePositionsType, ShortPopupPositionsType } from '../../internal/Popup';\nimport { DUMMY_LOCATION, Popup } from '../../internal/Popup';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит отображение подсказки в _\"ручной режим\"_.\n В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`. */\n manual?: boolean;\n\n /** Задает максимальную ширину подсказки. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */\n onMouseEnter?: (event: MouseEventType) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (event: MouseEventType) => void;\n\n /** Открывает подсказку. Работает только при `manual=true`. */\n opened?: boolean;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPinnablePositionsType;\n\n /** Задает текст подсказки. */\n text: React.ReactNode;\n\n /** Задает список позиций, которые будет занимать хинт. Если положение хинта в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция. Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPinnablePositionsType[];\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования хинта при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPinnablePositionsType;\n}\n\ntype DefaultProps = Required<Pick<HintProps, 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>>;\n\n/**\n * Всплывающая подсказка `Hint`.\n * По умолчанию отображается при наведении на элемент, но можно задать другие условия отображения.\n *\n * Для подсказки, всплывающей по клику используйте Tooltip.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n public static displayName = 'Hint';\n\n public static defaultProps: DefaultProps = {\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: SafeTimer;\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions() {\n return this.props.allowedPositions;\n }\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin={false}\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n pos={this.props.pos}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPinnablePositionsType[] | undefined => {\n return this.props.allowedPositions;\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = globalObject.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ import type { PopupPinnablePositionsType, ShortPopupPositionsType } from '../../
3
3
  import type { Nullable } from '../../typings/utility-types';
4
4
  import type { MouseEventType } from '../../typings/event-types';
5
5
  import type { CommonProps } from '../../internal/CommonWrapper';
6
+ import type { TGetRootNode } from '../../lib/rootNode';
6
7
  import type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';
7
8
  export interface HintProps extends CommonProps {
8
9
  /** @ignore */
@@ -50,6 +51,7 @@ export declare class Hint extends React.PureComponent<HintProps, HintState> impl
50
51
  state: HintState;
51
52
  private timer;
52
53
  private theme;
54
+ getRootNode: TGetRootNode;
53
55
  private setRootNode;
54
56
  private popupRef;
55
57
  getAllowedPositions(): string[] | undefined;