@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","_interopRequireDefault","require","_propTypes","_Group","_Input","_CurrencyInput","_createPropsGetter","_CommonWrapper","_rootNode","_ThemeContext","_MathFunctionIcon","_FxInputRestoreBtn","_excluded","_class","_FxInput","FxInputDataTids","exports","root","FxInput","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","input","getProps","createPropsGetter","defaultProps","renderMain","props","type","onRestore","auto","refInput","value","width","rest","_objectWithoutPropertiesLoose2","default","inputProps","align","button","inputCorners","_extends2","corners","borderBottomLeftRadius","borderTopLeftRadius","iconSizes","small","parseInt","theme","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","size","Input","IconFunction","createElement","MathFunctionIcon","leftIcon","FxInputRestoreBtn","disabled","borderless","buttonAriaLabel","Group","CurrencyInput","ref","onValueChange","focus","blur","element","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","string"],"sources":["FxInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Group } from '../Group';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { CurrencyInputProps } from '../CurrencyInput';\nimport { CurrencyInput } from '../CurrencyInput';\nimport type { DefaultizedProps } from '../../lib/createPropsGetter';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Override } from '../../typings/utility-types';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { SizeProp } from '../../lib/types/props';\n\nimport { MathFunctionIcon } from './MathFunctionIcon';\nimport { FxInputRestoreBtn } from './FxInputRestoreBtn';\n\nexport interface FxInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n CurrencyInputProps,\n {\n /** Устанавливает авто-режим. */\n auto?: boolean;\n\n /** Задает тип инпута */\n type?: 'currency' | InputProps['type'];\n\n /** Задает функцию, которая вызывается при нажатии на кнопку Restore. */\n onRestore?: () => void;\n\n /** Задает функцию, вызывающуюся при изменении value. */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n\n /** Задает значение инпута. */\n value?: string | number;\n\n /** Задает ref инпута. */\n refInput?: (element: CurrencyInput | Input | null) => void;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Задает атрибут aria-label кнопке восстановления (restore button). */\n buttonAriaLabel?: AriaAttributes['aria-label'];\n\n /** @ignore */\n corners?: React.CSSProperties;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/**\n * Автополе `FxInput`.\n *\n * Используйте `FxInput`, если поле вычисляемое и вы рассчитали значение.\n *\n * Принимает все свойства `Input`'a.\n */\n@rootNode\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n public static displayName = 'FxInput';\n\n public static propTypes = {\n auto: PropTypes.bool,\n type: PropTypes.string,\n };\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n };\n\n private theme!: Theme;\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => {\n const { type, onRestore, auto, refInput, value, width, ...rest } = props;\n const inputProps: Partial<CurrencyInputProps> = {\n align: 'right',\n };\n\n let button = null;\n const inputCorners: InputProps['corners'] = auto\n ? { ...rest.corners }\n : { borderBottomLeftRadius: 0, borderTopLeftRadius: 0, ...rest.corners };\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.inputIconSizeSmall),\n medium: parseInt(this.theme.inputIconSizeMedium),\n large: parseInt(this.theme.inputIconSizeLarge),\n };\n const size = this.props.size || Input.defaultProps.size;\n const IconFunction = <MathFunctionIcon size={iconSizes[size]} />;\n\n if (auto) {\n inputProps.leftIcon = IconFunction;\n } else {\n button = (\n <FxInputRestoreBtn\n size={rest.size}\n onRestore={onRestore}\n corners={rest.corners}\n disabled={rest.disabled}\n borderless={rest.borderless}\n aria-label={props.buttonAriaLabel}\n />\n );\n }\n\n return (\n <Group data-tid={FxInputDataTids.root} width={width}>\n {button}\n {type === 'currency' ? (\n <CurrencyInput\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.props.size}\n width={'100%'}\n ref={this.refInput}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n ) : (\n <Input\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.props.size}\n width={'100%'}\n ref={this.refInput}\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n )}\n </Group>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Group","_Input","_CurrencyInput","_createPropsGetter","_CommonWrapper","_rootNode","_ThemeContext","_MathFunctionIcon","_FxInputRestoreBtn","_excluded","_class","_FxInput","FxInputDataTids","exports","root","FxInput","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","input","getProps","createPropsGetter","defaultProps","renderMain","props","type","onRestore","auto","refInput","value","width","rest","_objectWithoutPropertiesLoose2","default","inputProps","align","button","inputCorners","_extends2","corners","borderBottomLeftRadius","borderTopLeftRadius","iconSizes","small","parseInt","theme","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","size","Input","IconFunction","createElement","MathFunctionIcon","leftIcon","FxInputRestoreBtn","disabled","borderless","buttonAriaLabel","Group","CurrencyInput","ref","onValueChange","focus","blur","element","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","React","Component","__KONTUR_REACT_UI__","displayName"],"sources":["FxInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport { Group } from '../Group';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { CurrencyInputProps } from '../CurrencyInput';\nimport { CurrencyInput } from '../CurrencyInput';\nimport type { DefaultizedProps } from '../../lib/createPropsGetter';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Override } from '../../typings/utility-types';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { SizeProp } from '../../lib/types/props';\n\nimport { MathFunctionIcon } from './MathFunctionIcon';\nimport { FxInputRestoreBtn } from './FxInputRestoreBtn';\n\nexport interface FxInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n CurrencyInputProps,\n {\n /** Устанавливает авто-режим. */\n auto?: boolean;\n\n /** Задает тип инпута */\n type?: 'currency' | InputProps['type'];\n\n /** Задает функцию, которая вызывается при нажатии на кнопку Restore. */\n onRestore?: () => void;\n\n /** Задает функцию, вызывающуюся при изменении value. */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n\n /** Задает значение инпута. */\n value?: string | number;\n\n /** Задает ref инпута. */\n refInput?: (element: CurrencyInput | Input | null) => void;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Задает атрибут aria-label кнопке восстановления (restore button). */\n buttonAriaLabel?: AriaAttributes['aria-label'];\n\n /** @ignore */\n corners?: React.CSSProperties;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/**\n * Автополе `FxInput`.\n *\n * Используйте `FxInput`, если поле вычисляемое и вы рассчитали значение.\n *\n * Принимает все свойства `Input`'a.\n */\n@rootNode\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n public static displayName = 'FxInput';\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n };\n\n private theme!: Theme;\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => {\n const { type, onRestore, auto, refInput, value, width, ...rest } = props;\n const inputProps: Partial<CurrencyInputProps> = {\n align: 'right',\n };\n\n let button = null;\n const inputCorners: InputProps['corners'] = auto\n ? { ...rest.corners }\n : { borderBottomLeftRadius: 0, borderTopLeftRadius: 0, ...rest.corners };\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.inputIconSizeSmall),\n medium: parseInt(this.theme.inputIconSizeMedium),\n large: parseInt(this.theme.inputIconSizeLarge),\n };\n const size = this.props.size || Input.defaultProps.size;\n const IconFunction = <MathFunctionIcon size={iconSizes[size]} />;\n\n if (auto) {\n inputProps.leftIcon = IconFunction;\n } else {\n button = (\n <FxInputRestoreBtn\n size={rest.size}\n onRestore={onRestore}\n corners={rest.corners}\n disabled={rest.disabled}\n borderless={rest.borderless}\n aria-label={props.buttonAriaLabel}\n />\n );\n }\n\n return (\n <Group data-tid={FxInputDataTids.root} width={width}>\n {button}\n {type === 'currency' ? (\n <CurrencyInput\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.props.size}\n width={'100%'}\n ref={this.refInput}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n ) : (\n <Input\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.props.size}\n width={'100%'}\n ref={this.refInput}\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n )}\n </Group>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\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 GappedProps extends CommonProps {
5
5
  /** Задает расстояние между элементами в пикселях. */
6
6
  gap?: number;
@@ -24,20 +24,7 @@ type DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAl
24
24
  export declare class Gapped extends React.Component<GappedProps> {
25
25
  static __KONTUR_REACT_UI__: string;
26
26
  static displayName: string;
27
- static propTypes: {
28
- /**
29
- * Расстояние между элементами.
30
- */
31
- gap: PropTypes.Requireable<number>;
32
- /**
33
- * Располагать элементы вертикально.
34
- */
35
- vertical: PropTypes.Requireable<boolean>;
36
- /**
37
- * Вертикальное выравнивание элементов.
38
- */
39
- verticalAlign: PropTypes.Requireable<string>;
40
- };
27
+ getRootNode: TGetRootNode;
41
28
  private setRootNode;
42
29
  static defaultProps: DefaultProps;
43
30
  private getProps;
@@ -1,5 +1,4 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.GappedDataTids = exports.Gapped = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
- var _propTypes = _interopRequireDefault(require("prop-types"));
3
2
 
4
3
  var _utils = require("../../lib/utils");
5
4
 
@@ -44,22 +43,6 @@ Gapped = exports.Gapped = (0, _rootNode.rootNode)(_class = (_Gapped = /*#__PURE_
44
43
 
45
44
 
46
45
 
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
46
 
64
47
 
65
48
 
@@ -135,10 +118,4 @@ Gapped = exports.Gapped = (0, _rootNode.rootNode)(_class = (_Gapped = /*#__PURE_
135
118
 
136
119
  filterChildren = function filterChildren(child) {
137
120
  return Boolean(child) || typeof child === 'number';
138
- };return Gapped;}(_react.default.Component), _Gapped.__KONTUR_REACT_UI__ = 'Gapped', _Gapped.displayName = 'Gapped', _Gapped.propTypes = { /**
139
- * Расстояние между элементами.
140
- */gap: _propTypes.default.number, /**
141
- * Располагать элементы вертикально.
142
- */vertical: _propTypes.default.bool, /**
143
- * Вертикальное выравнивание элементов.
144
- */verticalAlign: _propTypes.default.oneOf(['top', 'middle', 'baseline', 'bottom']) }, _Gapped.defaultProps = { wrap: false, vertical: false, verticalAlign: 'baseline' }, _Gapped)) || _class;
121
+ };return Gapped;}(_react.default.Component), _Gapped.__KONTUR_REACT_UI__ = 'Gapped', _Gapped.displayName = 'Gapped', _Gapped.defaultProps = { wrap: false, vertical: false, verticalAlign: 'baseline' }, _Gapped)) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_utils","_CommonWrapper","_rootNode","_createPropsGetter","_class","_Gapped","GappedDataTids","exports","vertical","horizontal","Gapped","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","_inheritsLoose2","default","_proto","prototype","render","createElement","CommonWrapper","_extends2","rootNodeRef","setRootNode","props","renderVertical","renderHorizontal","getGapValue","propsGap","gap","isNonNullable","subsequentItemStyle","paddingTop","children","React","Children","toArray","filter","filterChildren","map","child","index","style","undefined","key","_this$props","verticalAlign","wrap","itemStyle","display","marginLeft","marginTop","rootStyle","contStyle","whiteSpace","Boolean","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","number","bool","oneOf"],"sources":["Gapped.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isNonNullable } from '../../lib/utils';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport interface GappedProps extends CommonProps {\n /** Задает расстояние между элементами в пикселях. */\n gap?: number;\n\n /** Задает вертикальное выравнивание. */\n verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';\n\n /** Располагает элементы по вертикали. */\n vertical?: boolean;\n\n /** Переносит элементы на новую строку при горизонтальном расположении. */\n wrap?: boolean;\n\n /** @ignore */\n children: React.ReactNode;\n}\n\nexport const GappedDataTids = {\n vertical: 'Gapped__vertical',\n horizontal: 'Gapped__horizontal',\n} as const;\n\ntype DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;\n\n/**\n * Контейнер `Gapped` устанавливает расстояние равное `gap` между элементами.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n public static displayName = 'Gapped';\n\n public static propTypes = {\n /**\n * Расстояние между элементами.\n */\n gap: PropTypes.number,\n\n /**\n * Располагать элементы вертикально.\n */\n vertical: PropTypes.bool,\n\n /**\n * Вертикальное выравнивание элементов.\n */\n verticalAlign: PropTypes.oneOf(['top', 'middle', 'baseline', 'bottom']),\n };\n\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n private getProps = createPropsGetter(Gapped.defaultProps);\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.getProps().vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n // DEPRECATED remove in 4.0\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div data-tid={GappedDataTids.vertical}>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign } = this.props;\n const wrap = this.getProps().wrap;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div data-tid={GappedDataTids.horizontal} style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_utils","_CommonWrapper","_rootNode","_createPropsGetter","_class","_Gapped","GappedDataTids","exports","vertical","horizontal","Gapped","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","_inheritsLoose2","default","_proto","prototype","render","createElement","CommonWrapper","_extends2","rootNodeRef","setRootNode","props","renderVertical","renderHorizontal","getGapValue","propsGap","gap","isNonNullable","subsequentItemStyle","paddingTop","children","React","Children","toArray","filter","filterChildren","map","child","index","style","undefined","key","_this$props","verticalAlign","wrap","itemStyle","display","marginLeft","marginTop","rootStyle","contStyle","whiteSpace","Boolean","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Gapped.tsx"],"sourcesContent":["import React from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport interface GappedProps extends CommonProps {\n /** Задает расстояние между элементами в пикселях. */\n gap?: number;\n\n /** Задает вертикальное выравнивание. */\n verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';\n\n /** Располагает элементы по вертикали. */\n vertical?: boolean;\n\n /** Переносит элементы на новую строку при горизонтальном расположении. */\n wrap?: boolean;\n\n /** @ignore */\n children: React.ReactNode;\n}\n\nexport const GappedDataTids = {\n vertical: 'Gapped__vertical',\n horizontal: 'Gapped__horizontal',\n} as const;\n\ntype DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;\n\n/**\n * Контейнер `Gapped` устанавливает расстояние равное `gap` между элементами.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n public static displayName = 'Gapped';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n private getProps = createPropsGetter(Gapped.defaultProps);\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.getProps().vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n // DEPRECATED remove in 4.0\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div data-tid={GappedDataTids.vertical}>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign } = this.props;\n const wrap = this.getProps().wrap;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div data-tid={GappedDataTids.horizontal} style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\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;
@@ -106,6 +106,7 @@ GlobalLoader = exports.GlobalLoader = (0, _rootNode.rootNode)(_class = (_GlobalL
106
106
 
107
107
 
108
108
 
109
+
109
110
 
110
111
 
111
112
  function GlobalLoader(props) {var _this;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_currentEnvironment","_CommonWrapper","_rootNode","_createPropsGetter","_GlobalLoaderView","_class","_GlobalLoader","GlobalLoaderDataTids","exports","root","currentGlobalLoader","GlobalLoader","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","startTask","debounce","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","_inheritsLoose2","default","_proto","prototype","componentDidMount","_currentGlobalLoader","_this$getProps","componentWillUnmount","componentDidUpdate","prevProps","_this$getProps2","render","status","_this$getProps3","disableAnimations","createElement","CommonWrapper","_extends2","rootNodeRef","setRootNode","GlobalLoaderView","updateExpectedResponseTime","React","Component","__KONTUR_REACT_UI__","displayName","isTestEnv","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","_interopRequireDefault","require","_lodash","_currentEnvironment","_CommonWrapper","_rootNode","_createPropsGetter","_GlobalLoaderView","_class","_GlobalLoader","GlobalLoaderDataTids","exports","root","currentGlobalLoader","GlobalLoader","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","startTask","debounce","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","_inheritsLoose2","default","_proto","prototype","componentDidMount","_currentGlobalLoader","_this$getProps","componentWillUnmount","componentDidUpdate","prevProps","_this$getProps2","render","status","_this$getProps3","disableAnimations","createElement","CommonWrapper","_extends2","rootNodeRef","setRootNode","GlobalLoaderView","updateExpectedResponseTime","React","Component","__KONTUR_REACT_UI__","displayName","isTestEnv","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,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,5 +1,4 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.getButtonCorners = exports.GroupDataTids = exports.Group = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _react = _interopRequireDefault(require("react"));
2
- var _propTypes = _interopRequireDefault(require("prop-types"));
3
2
 
4
3
  var _client = require("../../lib/client");
5
4
 
@@ -19,6 +18,10 @@ var _utils = require("../../lib/utils");
19
18
 
20
19
 
21
20
 
21
+
22
+
23
+ var _featureFlagsContext = require("../../lib/featureFlagsContext");
24
+
22
25
  var _Group2 = require("./Group.styles");var _class, _Group;
23
26
 
24
27
 
@@ -73,8 +76,8 @@ var getButtonCorners = exports.getButtonCorners = function getButtonCorners(isFi
73
76
  };
74
77
  };
75
78
 
76
- var tryPassCorners = function tryPassCorners(child, firstChild, lastChild) {
77
- var corners = getButtonCorners(child === firstChild, child === lastChild);
79
+ var tryPassCorners = function tryPassCorners(child, isFirstChild, isLastChild) {
80
+ var corners = getButtonCorners(isFirstChild, isLastChild);
78
81
 
79
82
  if (
80
83
  (0, _utils.isButton)(child) ||
@@ -93,6 +96,8 @@ var tryPassCorners = function tryPassCorners(child, firstChild, lastChild) {
93
96
  return child;
94
97
  };
95
98
 
99
+ var hasWidthInPercent = function hasWidthInPercent(child) {return String(child.props.width).includes('%');};
100
+
96
101
  var GroupDataTids = exports.GroupDataTids = {
97
102
  root: 'Group__root'
98
103
  };
@@ -103,7 +108,7 @@ var GroupDataTids = exports.GroupDataTids = {
103
108
  * Длина контейнера настраивается с помощью пропа `width`.
104
109
  */var
105
110
 
106
- Group = exports.Group = (0, _rootNode.rootNode)(_class = (_Group = /*#__PURE__*/function (_React$Component) {function Group() {return _React$Component.apply(this, arguments) || this;}(0, _inheritsLoose2.default)(Group, _React$Component);var _proto = Group.prototype;_proto.
111
+ Group = exports.Group = (0, _rootNode.rootNode)(_class = (_Group = /*#__PURE__*/function (_React$Component) {function Group() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
107
112
 
108
113
 
109
114
 
@@ -113,49 +118,95 @@ Group = exports.Group = (0, _rootNode.rootNode)(_class = (_Group = /*#__PURE__*/
113
118
 
114
119
 
115
120
 
116
- render = function render() {var _this = this;
117
- var style = {
118
- width: this.props.width
119
- };
120
121
 
121
- var childrenArray = _react.default.Children.toArray(this.props.children);
122
- var firstChild = getFirstChild(childrenArray);
123
- var lastChild = getLastChild(childrenArray);
124
122
 
125
- return /*#__PURE__*/(
126
- _react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/
127
- _react.default.createElement("span", { "data-tid": GroupDataTids.root, className: _Group2.styles.root(), style: style },
128
- _react.default.Children.map(childrenArray, function (child) {var _cx, _cx2;
129
- if (!child || ! /*#__PURE__*/_react.default.isValidElement(child)) {
130
- return null;
131
- }
132
123
 
133
- var isWidthInPercent = Boolean(child.props.width && child.props.width.toString().includes('%'));
134
124
 
135
- var modifiedChild = tryPassCorners(child, firstChild, lastChild);
136
125
 
137
- var isFirstChild = child === firstChild;
138
126
 
139
- return /*#__PURE__*/(
140
- _react.default.createElement("div", {
141
- className: (0, _Emotion.cx)((_cx = {}, _cx[
142
- _Group2.styles.fixed()] = !isWidthInPercent, _cx[
143
- _Group2.styles.stretch()] = isWidthInPercent, _cx[
144
- _Group2.styles.stretchFallback()] = Boolean(isWidthInPercent && _this.props.width && (_client.isIE11 || _client.isEdge)), _cx)
145
- ) }, /*#__PURE__*/
146
127
 
147
- _react.default.createElement("div", {
148
- className: (0, _Emotion.cx)((_cx2 = {}, _cx2[
149
- _Group2.styles.item()] = true, _cx2[
150
- _Group2.styles.itemFirst()] = isFirstChild, _cx2)
151
- ) },
152
128
 
153
- modifiedChild
154
- )
155
- ));
156
129
 
157
- })
158
- )
159
- ));
160
130
 
161
- };return Group;}(_react.default.Component), _Group.__KONTUR_REACT_UI__ = 'Group', _Group.displayName = 'Group', _Group.propTypes = { width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]) }, _Group)) || _class;
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+ renderChild = function (
158
+ child,
159
+ isFirstChild,
160
+ isLastChild,
161
+ isWidthInPercent) {var _cx, _cx2;return /*#__PURE__*/(
162
+
163
+ _react.default.createElement("div", {
164
+ className: (0, _Emotion.cx)((_cx = {}, _cx[
165
+ _Group2.styles.fixed()] = !isWidthInPercent, _cx[
166
+ _Group2.styles.stretch()] = isWidthInPercent, _cx[
167
+ _Group2.styles.stretchFallback()] = Boolean(isWidthInPercent && _this.props.width && (_client.isIE11 || _client.isEdge)), _cx)
168
+ ) }, /*#__PURE__*/
169
+
170
+ _react.default.createElement("div", {
171
+ className: (0, _Emotion.cx)((_cx2 = {}, _cx2[
172
+ _Group2.styles.item()] = true, _cx2[
173
+ _Group2.styles.itemFirst()] = isFirstChild, _cx2)
174
+ ) },
175
+
176
+ tryPassCorners(child, isFirstChild, isLastChild)
177
+ )
178
+ ));};return _this;}(0, _inheritsLoose2.default)(Group, _React$Component);var _proto = Group.prototype;_proto.render = function render() {var _this2 = this;var style = { width: this.props.width };var childrenArray = _react.default.Children.toArray(this.props.children);var firstChild = getFirstChild(childrenArray);var lastChild = getLastChild(childrenArray);return /*#__PURE__*/_react.default.createElement(_featureFlagsContext.ReactUIFeatureFlagsContext.Consumer, null, function (flags) {_this2.featureFlags = (0, _featureFlagsContext.getFullReactUIFlagsContext)(flags);return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.props), /*#__PURE__*/_react.default.createElement("span", { "data-tid": GroupDataTids.root, className: _Group2.styles.root(), style: style }, _react.default.Children.map(childrenArray, function (child) {if (!child || ! /*#__PURE__*/_react.default.isValidElement(child)) {return null;}var isFirstChild = child === firstChild;var isLastChild = child === lastChild;if (_this2.featureFlags.groupAddHintAndTooltipSupport && ((0, _utils.isHint)(child) || (0, _utils.isTooltip)(child))) {return _this2.renderWrappedChildren(child, isFirstChild, isLastChild);}return _this2.renderChild(child, isFirstChild, isLastChild, hasWidthInPercent(child));})));});};_proto.
179
+
180
+
181
+ renderWrappedChildren = function renderWrappedChildren(
182
+ parent,
183
+ isParentFirst,
184
+ isParentLast)
185
+ {var _this3 = this,_cx3;
186
+ var shouldStretchParent = false;
187
+ var nestedChildren = _react.default.Children.toArray(parent.props.children);
188
+
189
+ var modifiedChildren = nestedChildren.map(function (nestedChild, index) {
190
+ if (!nestedChild || ! /*#__PURE__*/_react.default.isValidElement(nestedChild)) {
191
+ return null;
192
+ }
193
+
194
+ var isFirstChild = isParentFirst && index === 0;
195
+ var isLastChild = isParentLast && index === nestedChildren.length - 1;
196
+ if (hasWidthInPercent(nestedChild)) {
197
+ shouldStretchParent = true;
198
+ }
199
+
200
+ return _this3.renderChild(nestedChild, isFirstChild, isLastChild, hasWidthInPercent(nestedChild));
201
+ });
202
+
203
+ var wrappedChildren = /*#__PURE__*/
204
+ _react.default.createElement("div", { className: (0, _Emotion.cx)(_Group2.styles.wrappedChildren(), (_cx3 = {}, _cx3[_Group2.styles.stretch()] = shouldStretchParent, _cx3)) },
205
+ modifiedChildren
206
+ );
207
+
208
+
209
+ return /*#__PURE__*/_react.default.cloneElement(parent, {
210
+ children: wrappedChildren
211
+ });
212
+ };return Group;}(_react.default.Component), _Group.__KONTUR_REACT_UI__ = 'Group', _Group.displayName = 'Group', _Group)) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_client","_CommonWrapper","_Emotion","_rootNode","_utils","_Group2","_class","_Group","getFirstChild","children","Array","isArray","getLastChild","numberOfChildren","React","Children","count","getButtonCorners","exports","isFirstChild","isLastChild","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","borderRadius","tryPassCorners","child","firstChild","lastChild","corners","isButton","isInput","isFxInput","isAutocomplete","isPasswordInput","isCurrencyInput","isSelect","isDropdown","isDropdownMenu","cloneElement","_extends2","default","props","GroupDataTids","root","Group","rootNode","_React$Component","apply","arguments","_inheritsLoose2","_proto","prototype","render","_this","style","width","childrenArray","toArray","createElement","CommonWrapper","rootNodeRef","setRootNode","className","styles","map","_cx","_cx2","isValidElement","isWidthInPercent","Boolean","toString","includes","modifiedChild","cx","fixed","stretch","stretchFallback","isIE11","isEdge","item","itemFirst","Component","__KONTUR_REACT_UI__","displayName","propTypes","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":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_client","_CommonWrapper","_Emotion","_rootNode","_utils","_featureFlagsContext","_Group2","_class","_Group","getFirstChild","children","Array","isArray","getLastChild","numberOfChildren","React","Children","count","getButtonCorners","exports","isFirstChild","isLastChild","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","borderRadius","tryPassCorners","child","corners","isButton","isInput","isFxInput","isAutocomplete","isPasswordInput","isCurrencyInput","isSelect","isDropdown","isDropdownMenu","cloneElement","_extends2","default","props","hasWidthInPercent","String","width","includes","GroupDataTids","root","Group","rootNode","_React$Component","_this","_len","arguments","length","args","_key","call","apply","concat","renderChild","isWidthInPercent","_cx","_cx2","createElement","className","cx","styles","fixed","stretch","stretchFallback","Boolean","isIE11","isEdge","item","itemFirst","_inheritsLoose2","_proto","prototype","render","_this2","style","childrenArray","toArray","firstChild","lastChild","ReactUIFeatureFlagsContext","Consumer","flags","featureFlags","getFullReactUIFlagsContext","CommonWrapper","rootNodeRef","setRootNode","map","isValidElement","groupAddHintAndTooltipSupport","isHint","isTooltip","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,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;