@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
@@ -159,6 +159,7 @@ Radio = exports.Radio = (0, _rootNode.rootNode)(_class = (_Radio = /*#__PURE__*/
159
159
 
160
160
 
161
161
 
162
+
162
163
 
163
164
 
164
165
  renderMain = function (props) {var _cx, _cx2;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_ThemeContext","_CommonWrapper","_Emotion","_keyListener","_rootNode","_fixFirefoxModifiedClickOnLabel","_client","_RadioGroupContext","_createPropsGetter","_FocusControlWrapper","_Radio2","_excluded","_class","_Radio","RadioDataTids","exports","root","Radio","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","focusedByKeyboard","getProps","createPropsGetter","defaultProps","context","inputEl","React","createRef","renderMain","props","_cx","_cx2","_props$disabled","disabled","_props$warning","warning","_props$error","error","size","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","_objectWithoutPropertiesLoose2","default","radioProps","className","cx","styles","circle","theme","getCircleSizeClassName","checked","getCheckedSizeClassName","focus","checkedDisabled","globalClasses","value","inputProps","_extends2","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","getRootSizeClassName","rootChecked","rootIE11","isIE11","isEdge","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","fixFirefoxModifiedClickOnLabel","_isInRadioGroup","_cx3","_cx4","activeItem","name","suppressHydrationWarning","createElement","FocusControlWrapper","onBlurWhenDisabled","resetFocus","placeholder","children","renderCaption","Boolean","e","onSelect","globalObject","requestAnimationFrame","keyListener","isArrowPressed","isTabPressed","setState","_inheritsLoose2","_proto","prototype","rootLarge","rootMedium","rootSmall","circleLarge","circleMedium","circleSmall","checkedLarge","checkedMedium","checkedSmall","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","_this$inputEl$current","current","blur","_this$inputEl$current2","_cx5","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","displayName","contextType","RadioGroupContext"],"sources":["Radio.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport type { RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\nimport { RadioGroupContext } from '../RadioGroup/RadioGroupContext';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Radio.styles';\n\nexport interface RadioProps<T>\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает размер. */\n size?: SizeProp;\n\n /** Задает состояние фокуса. */\n focused?: boolean;\n\n /** Задает функцию, которая вызывается при изменении value. */\n onValueChange?: (value: T) => void;\n\n /** Задает HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Устанавливает значение. */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;\n\n/**\n * Радио-кнопки `Radio` используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n public static displayName = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getCircleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.circleLarge(this.theme);\n case 'medium':\n return styles.circleMedium(this.theme);\n case 'small':\n default:\n return styles.circleSmall(this.theme);\n }\n }\n\n private getCheckedSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.checkedLarge(this.theme);\n case 'medium':\n return styles.checkedMedium(this.theme);\n case 'small':\n default:\n return styles.checkedSmall(this.theme);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n size,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.circle(this.theme)]: true,\n [this.getCircleSizeClassName()]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [this.getCheckedSizeClassName()]: this.props.checked,\n [styles.focus(this.theme)]: this.getProps().focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: this.props.checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n });\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [this.getCheckedSizeClassName()]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} />\n </FocusControlWrapper>\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderCaption()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByKeyboard: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n}\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;;;AAGA,IAAAE,aAAA,GAAAF,OAAA;;;AAGA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;;AAEA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,+BAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;;AAEA,IAAAS,kBAAA,GAAAT,OAAA;AACA,IAAAU,kBAAA,GAAAV,OAAA;;AAEA,IAAAW,oBAAA,GAAAX,OAAA;;AAEA,IAAAY,OAAA,GAAAZ,OAAA,mBAAuD,IAAAa,SAAA,2HAAAC,MAAA,EAAAC,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4ChD,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,IAAI,EAAE;AACR,CAAU;;;;AAIV;AACA;AACA,GAFA;;AAIaC,KAAK,GAAAF,OAAA,CAAAE,KAAA,OADjBC,kBAAQ,EAAAN,MAAA,IAAAC,MAAA,0BAAAM,gBAAA,YAAAF,MAAA,OAAAG,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;IAKAU,KAAK,GAAG;MACbC,iBAAiB,EAAE;IACrB,CAAC,CAAAX,KAAA;;;;;;;IAOOY,QAAQ,GAAG,IAAAC,oCAAiB,EAAChB,KAAK,CAACiB,YAAY,CAAC,CAAAd,KAAA;;;IAGjDe,OAAO,GAA6Bf,KAAA,CAAKe,OAAO,CAAAf,KAAA;;IAE/CgB,OAAO,gBAAGC,cAAK,CAACC,SAAS,CAAmB,CAAC,CAAAlB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsE9CmB,UAAU,GAAG,UAACC,KAA4C,EAAK,KAAAC,GAAA,EAAAC,IAAA;MACpE,IAAAC,eAAA;;;;;;;;;;;QAWIH,KAAK,CAVPI,QAAQ,CAARA,QAAQ,GAAAD,eAAA,cAAGvB,KAAA,CAAKe,OAAO,CAACS,QAAQ,GAAAD,eAAA,CAAAE,cAAA,GAU9BL,KAAK,CATPM,OAAO,CAAPA,OAAO,GAAAD,cAAA,cAAGzB,KAAA,CAAKe,OAAO,CAACW,OAAO,GAAAD,cAAA,CAAAE,YAAA,GAS5BP,KAAK,CARPQ,KAAK,CAALA,KAAK,GAAAD,YAAA,cAAG3B,KAAA,CAAKe,OAAO,CAACa,KAAK,GAAAD,YAAA,CAC1BE,IAAI,GAOFT,KAAK,CAPPS,IAAI,CACJC,OAAO,GAMLV,KAAK,CANPU,OAAO,CACPC,WAAW,GAKTX,KAAK,CALPW,WAAW,CACXC,YAAY,GAIVZ,KAAK,CAJPY,YAAY,CACZC,YAAY,GAGVb,KAAK,CAHPa,YAAY,CACZC,aAAa,GAEXd,KAAK,CAFPc,aAAa,CACVC,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EACLjB,KAAK,EAAA7B,SAAA;;MAET,IAAM+C,UAAU,GAAG;QACjBC,SAAS,EAAE,IAAAC,WAAE,GAAAnB,GAAA,OAAAA,GAAA;QACVoB,cAAM,CAACC,MAAM,CAAC1C,KAAA,CAAK2C,KAAK,CAAC,IAAG,IAAI,EAAAtB,GAAA;QAChCrB,KAAA,CAAK4C,sBAAsB,CAAC,CAAC,IAAG,IAAI,EAAAvB,GAAA;QACpCoB,cAAM,CAACI,OAAO,CAAC7C,KAAA,CAAK2C,KAAK,CAAC,IAAG3C,KAAA,CAAKoB,KAAK,CAACyB,OAAO,EAAAxB,GAAA;QAC/CrB,KAAA,CAAK8C,uBAAuB,CAAC,CAAC,IAAG9C,KAAA,CAAKoB,KAAK,CAACyB,OAAO,EAAAxB,GAAA;QACnDoB,cAAM,CAACM,KAAK,CAAC/C,KAAA,CAAK2C,KAAK,CAAC,IAAG3C,KAAA,CAAKY,QAAQ,CAAC,CAAC,CAACkB,OAAO,IAAI9B,KAAA,CAAKU,KAAK,CAACC,iBAAiB,EAAAU,GAAA;QAClFoB,cAAM,CAACb,KAAK,CAAC5B,KAAA,CAAK2C,KAAK,CAAC,IAAGf,KAAK,EAAAP,GAAA;QAChCoB,cAAM,CAACf,OAAO,CAAC1B,KAAA,CAAK2C,KAAK,CAAC,IAAGjB,OAAO,EAAAL,GAAA;QACpCoB,cAAM,CAACjB,QAAQ,CAACxB,KAAA,CAAK2C,KAAK,CAAC,IAAGnB,QAAQ,EAAAH,GAAA;QACtCoB,cAAM,CAACO,eAAe,CAAChD,KAAA,CAAK2C,KAAK,CAAC,IAAG3C,KAAA,CAAKoB,KAAK,CAACyB,OAAO,IAAIrB,QAAQ,EAAAH,GAAA;QACnE4B,qBAAa,CAACP,MAAM,IAAG,IAAI,EAAArB,GAAA;QAC7B;MACH,CAAC;;MAED,IAAI6B,KAAkC;MACtC,IAAI,OAAOlD,KAAA,CAAKoB,KAAK,CAAC8B,KAAK,KAAK,QAAQ,IAAI,OAAOlD,KAAA,CAAKoB,KAAK,CAAC8B,KAAK,KAAK,QAAQ,EAAE;QAChFA,KAAK,GAAGlD,KAAA,CAAKoB,KAAK,CAAC8B,KAAK;MAC1B;;MAEA,IAAMC,UAAU,OAAAC,SAAA,CAAAf,OAAA;MACXF,IAAI;QACPkB,IAAI,EAAE,OAAO;QACbd,SAAS,EAAEE,cAAM,CAACa,KAAK,CAAC,CAAC;QACzB9B,QAAQ,EAARA,QAAQ;QACR+B,QAAQ,EAAEvD,KAAA,CAAKoB,KAAK,CAACmC,QAAQ;QAC7BL,KAAK,EAALA,KAAK;QACLM,GAAG,EAAExD,KAAA,CAAKgB,OAAO;QACjByC,QAAQ,EAAEzD,KAAA,CAAK0D,YAAY;QAC3BC,OAAO,EAAE3D,KAAA,CAAK4D,WAAW;QACzBC,MAAM,EAAE7D,KAAA,CAAK8D,UAAU,GACxB;;;MAED,IAAMC,UAAU,GAAG;QACjBxB,SAAS,EAAE,IAAAC,WAAE,EAACC,cAAM,CAAC7C,IAAI,CAACI,KAAA,CAAK2C,KAAK,CAAC,EAAE3C,KAAA,CAAKgE,oBAAoB,CAAC,CAAC,GAAA1C,IAAA,OAAAA,IAAA;QAC/DmB,cAAM,CAACwB,WAAW,CAACjE,KAAA,CAAK2C,KAAK,CAAC,IAAG3C,KAAA,CAAKoB,KAAK,CAACyB,OAAO,EAAAvB,IAAA;QACnDmB,cAAM,CAACyB,QAAQ,CAAC,CAAC,IAAGC,cAAM,IAAIC,cAAM,EAAA9C,IAAA;QACtC,CAAC;QACFS,WAAW,EAAE/B,KAAA,CAAKqE,eAAe;QACjCrC,YAAY,EAAEhC,KAAA,CAAKsE,gBAAgB;QACnCrC,YAAY,EAAEjC,KAAA,CAAKuE,gBAAgB;QACnCC,OAAO,EAAE,IAAAC,8DAA8B,EAACzE,KAAA,CAAKgB,OAAO;MACtD,CAAC;;MAED,IAAIhB,KAAA,CAAK0E,eAAe,CAAC,CAAC,EAAE,KAAAC,IAAA,EAAAC,IAAA;QAC1B,IAAM/B,OAAO,GAAG7C,KAAA,CAAKoB,KAAK,CAAC8B,KAAK,KAAKlD,KAAA,CAAKe,OAAO,CAAC8D,UAAU;QAC5D1B,UAAU,CAACN,OAAO,GAAGA,OAAO;QAC5BM,UAAU,CAAC2B,IAAI,GAAG9E,KAAA,CAAKe,OAAO,CAAC+D,IAAI;QACnC3B,UAAU,CAAC4B,wBAAwB,GAAG,IAAI;QAC1ChB,UAAU,CAACxB,SAAS,GAAG,IAAAC,WAAE,EAACC,cAAM,CAAC7C,IAAI,CAACI,KAAA,CAAK2C,KAAK,CAAC,EAAE3C,KAAA,CAAKgE,oBAAoB,CAAC,CAAC,GAAAW,IAAA,OAAAA,IAAA;QAC3ElC,cAAM,CAACwB,WAAW,CAACjE,KAAA,CAAK2C,KAAK,CAAC,IAAGE,OAAO,EAAA8B,IAAA;QACxClC,cAAM,CAACyB,QAAQ,CAAC,CAAC,IAAGC,cAAM,IAAIC,cAAM,EAAAO,IAAA;QACtC,CAAC;QACFrC,UAAU,CAACC,SAAS,GAAG,IAAAC,WAAE,EAACF,UAAU,CAACC,SAAS,GAAAqC,IAAA,OAAAA,IAAA;QAC3CnC,cAAM,CAACI,OAAO,CAAC7C,KAAA,CAAK2C,KAAK,CAAC,IAAGE,OAAO,EAAA+B,IAAA;QACpC5E,KAAA,CAAK8C,uBAAuB,CAAC,CAAC,IAAGD,OAAO,EAAA+B,IAAA;QACxCnC,cAAM,CAACO,eAAe,CAAChD,KAAA,CAAK2C,KAAK,CAAC,IAAGE,OAAO,IAAIrB,QAAQ,EAAAoD,IAAA;QAC1D,CAAC;MACJ;;MAEA;QACEpG,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,cAAA5B,SAAA,CAAAf,OAAA,IAAO,YAAU3C,aAAa,CAACE,IAAK,IAAKmE,UAAU;QACjDvF,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,CAAC3F,oBAAA,CAAA4F,mBAAmB,IAACC,kBAAkB,EAAElF,KAAA,CAAKmF,UAAW;QACvD3G,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,UAAW7B,UAAa;QACL,CAAC;QACtB3E,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,SAAU1C,UAAU;QAClB9D,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,WAAMzC,SAAS,EAAEE,cAAM,CAAC2C,WAAW,CAAC,CAAE,EAAE;QACpC,CAAC;QACNpF,KAAA,CAAKoB,KAAK,CAACiE,QAAQ,IAAIrF,KAAA,CAAKsF,aAAa,CAAC;QACtC,CAAC;;IAEZ,CAAC,CAAAtF,KAAA;;IAEO0E,eAAe,GAAG,oBAAMa,OAAO,CAACvF,KAAA,CAAKe,OAAO,CAAC+D,IAAI,CAAC,GAAA9E,KAAA;;;;;;;;;;;;IAYlD0D,YAAY,GAA+C,UAAC8B,CAAC,EAAK;MACxExF,KAAA,CAAKoB,KAAK,CAACc,aAAa,YAAxBlC,KAAA,CAAKoB,KAAK,CAACc,aAAa,CAAGlC,KAAA,CAAKoB,KAAK,CAAC8B,KAAK,CAAC;;MAE5C,IAAIlD,KAAA,CAAK0E,eAAe,CAAC,CAAC,EAAE;QAC1B1E,KAAA,CAAKe,OAAO,CAAC0E,QAAQ,CAACzF,KAAA,CAAKoB,KAAK,CAAC8B,KAAK,CAAC;MACzC;;MAEAlD,KAAA,CAAKoB,KAAK,CAACqC,QAAQ,YAAnBzD,KAAA,CAAKoB,KAAK,CAACqC,QAAQ,CAAG+B,CAAC,CAAC;IAC1B,CAAC,CAAAxF,KAAA;;IAEOqE,eAAe,GAA8C,UAACmB,CAAC,EAAK;MAC1ExF,KAAA,CAAKoB,KAAK,CAACW,WAAW,YAAtB/B,KAAA,CAAKoB,KAAK,CAACW,WAAW,CAAGyD,CAAC,CAAC;IAC7B,CAAC,CAAAxF,KAAA;;IAEOsE,gBAAgB,GAA8C,UAACkB,CAAC,EAAK;MAC3ExF,KAAA,CAAKoB,KAAK,CAACY,YAAY,YAAvBhC,KAAA,CAAKoB,KAAK,CAACY,YAAY,CAAGwD,CAAC,CAAC;IAC9B,CAAC,CAAAxF,KAAA;;IAEOuE,gBAAgB,GAA8C,UAACiB,CAAC,EAAK;MAC3ExF,KAAA,CAAKoB,KAAK,CAACa,YAAY,YAAvBjC,KAAA,CAAKoB,KAAK,CAACa,YAAY,CAAGuD,CAAC,CAAC;IAC9B,CAAC,CAAAxF,KAAA;;IAEO4D,WAAW,GAAG,UAAC4B,CAAwB,EAAK;MAClD,IAAI,CAACxF,KAAA,CAAKe,OAAO,CAACS,QAAQ,EAAE;QAC1B;QACA;QACAkE,0BAAY,CAACC,qBAAqB,YAAlCD,0BAAY,CAACC,qBAAqB,CAAG,YAAM;UACzC,IAAIC,wBAAW,CAACC,cAAc,IAAID,wBAAW,CAACE,YAAY,EAAE;YAC1D9F,KAAA,CAAK+F,QAAQ,CAAC,EAAEpF,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;UAC5C;QACF,CAAC,CAAC;;QAEF,IAAIX,KAAA,CAAKoB,KAAK,CAACuC,OAAO,EAAE;UACtB3D,KAAA,CAAKoB,KAAK,CAACuC,OAAO,CAAC6B,CAAC,CAAC;QACvB;MACF;IACF,CAAC,CAAAxF,KAAA;;IAEOmF,UAAU,GAAG,oBAAMnF,KAAA,CAAK+F,QAAQ,CAAC,EAAEpF,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,GAAAX,KAAA;;IAE9D8D,UAAU,GAAG,UAAC0B,CAAqC,EAAK;MAC9DxF,KAAA,CAAKmF,UAAU,CAAC,CAAC;MACjBnF,KAAA,CAAKoB,KAAK,CAACyC,MAAM,YAAjB7D,KAAA,CAAKoB,KAAK,CAACyC,MAAM,CAAG2B,CAAC,CAAC;IACxB,CAAC,QAAAxF,KAAA,MAAAgG,eAAA,CAAA3D,OAAA,EAAAxC,KAAA,EAAAE,gBAAA,MAAAkG,MAAA,GAAApG,KAAA,CAAAqG,SAAA,CAAAD,MAAA,CAhNOjC,oBAAoB,GAA5B,SAAAA,qBAAA,EAA+B,CAC7B,QAAQ,IAAI,CAACpD,QAAQ,CAAC,CAAC,CAACiB,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOY,cAAM,CAAC0D,SAAS,CAAC,IAAI,CAACxD,KAAK,CAAC,CACrC,KAAK,QAAQ,CACX,OAAOF,cAAM,CAAC2D,UAAU,CAAC,IAAI,CAACzD,KAAK,CAAC,CACtC,KAAK,OAAO,CACZ,QACE,OAAOF,cAAM,CAAC4D,SAAS,CAAC,IAAI,CAAC1D,KAAK,CAAC,CACvC,CACF,CAAC,CAAAsD,MAAA,CAEOrD,sBAAsB,GAA9B,SAAAA,uBAAA,EAAiC,CAC/B,QAAQ,IAAI,CAAChC,QAAQ,CAAC,CAAC,CAACiB,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOY,cAAM,CAAC6D,WAAW,CAAC,IAAI,CAAC3D,KAAK,CAAC,CACvC,KAAK,QAAQ,CACX,OAAOF,cAAM,CAAC8D,YAAY,CAAC,IAAI,CAAC5D,KAAK,CAAC,CACxC,KAAK,OAAO,CACZ,QACE,OAAOF,cAAM,CAAC+D,WAAW,CAAC,IAAI,CAAC7D,KAAK,CAAC,CACzC,CACF,CAAC,CAAAsD,MAAA,CAEOnD,uBAAuB,GAA/B,SAAAA,wBAAA,EAAkC,CAChC,QAAQ,IAAI,CAAClC,QAAQ,CAAC,CAAC,CAACiB,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOY,cAAM,CAACgE,YAAY,CAAC,IAAI,CAAC9D,KAAK,CAAC,CACxC,KAAK,QAAQ,CACX,OAAOF,cAAM,CAACiE,aAAa,CAAC,IAAI,CAAC/D,KAAK,CAAC,CACzC,KAAK,OAAO,CACZ,QACE,OAAOF,cAAM,CAACkE,YAAY,CAAC,IAAI,CAAChE,KAAK,CAAC,CAC1C,CACF,CAAC,CAAAsD,MAAA,CAEMW,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACErI,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,CAACpG,aAAA,CAAAkI,YAAY,CAACC,QAAQ,QACnB,UAACpE,KAAK,EAAK,CACVkE,MAAI,CAAClE,KAAK,GAAGA,KAAK,CAClB,oBACEnE,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,CAACnG,cAAA,CAAAmI,aAAa,MAAA5D,SAAA,CAAAf,OAAA,IAAC4E,WAAW,EAAEJ,MAAI,CAACK,WAAY,IAAKL,MAAI,CAACjG,QAAQ,CAAC,CAAC,GAC9DiG,MAAI,CAAC1F,UACO,CAAC,CAEpB,CACqB,CAAC,CAE5B,CAAC,CAED;AACF;AACA,KAFE,CAAA8E,MAAA,CAGOlD,KAAK,GAAZ,SAAAA,MAAA,EAAe,KAAAoE,qBAAA,CACbvB,wBAAW,CAACE,YAAY,GAAG,IAAI,CAC/B,CAAAqB,qBAAA,OAAI,CAACnG,OAAO,CAACoG,OAAO,aAApBD,qBAAA,CAAsBpE,KAAK,CAAC,CAAC,CAC/B,CAAC,CAED;AACF;AACA,KAFE,CAAAkD,MAAA,CAGOoB,IAAI,GAAX,SAAAA,KAAA,EAAc,KAAAC,sBAAA,CACZ,CAAAA,sBAAA,OAAI,CAACtG,OAAO,CAACoG,OAAO,aAApBE,sBAAA,CAAsBD,IAAI,CAAC,CAAC,CAC9B,CAAC,CAAApB,MAAA,CA2FOX,aAAa,GAArB,SAAAA,cAAA,EAAwB,KAAAiC,IAAA,CACtB,IAAMC,iBAAiB,GAAG,IAAAhF,WAAE,GAAA+E,IAAA,OAAAA,IAAA,CACzB9E,cAAM,CAACgF,OAAO,CAAC,IAAI,CAAC9E,KAAK,CAAC,IAAG,IAAI,EAAA4E,IAAA,CACjC9E,cAAM,CAACiF,eAAe,CAAC,IAAI,CAAC/E,KAAK,CAAC,IAAG,CAAC,EAAE,IAAI,CAACvB,KAAK,CAACI,QAAQ,IAAI,IAAI,CAACT,OAAO,CAACS,QAAQ,CAAC,EAAA+F,IAAA,CACrF9E,cAAM,CAACkF,WAAW,CAAC,CAAC,IAAGxD,cAAM,IAAIC,cAAM,EAAAmD,IAAA,CACzC,CAAC,CAEF,oBAAO/I,MAAA,CAAA6D,OAAA,CAAA2C,aAAA,UAAKzC,SAAS,EAAEiF,iBAAkB,IAAE,IAAI,CAACpG,KAAK,CAACiE,QAAc,CAAC,CACvE,CAAC,QAAAxF,KAAA,GAzL2BoB,cAAK,CAAC2G,SAAS,GAAAnI,MAAA,CAC7BoI,mBAAmB,GAAG,OAAO,EAAApI,MAAA,CAC7BqI,WAAW,GAAG,OAAO,EAAArI,MAAA,CAMrBqB,YAAY,GAAiB,EACzCgB,OAAO,EAAE,KAAK,EACdD,IAAI,EAAE,OAAO,CACf,CAAC,EAAApC,MAAA,CAIasI,WAAW,GAAGC,oCAAiB,EAAAvI,MAAA,MAAAD,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_ThemeContext","_CommonWrapper","_Emotion","_keyListener","_rootNode","_fixFirefoxModifiedClickOnLabel","_client","_RadioGroupContext","_createPropsGetter","_FocusControlWrapper","_Radio2","_excluded","_class","_Radio","RadioDataTids","exports","root","Radio","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","focusedByKeyboard","getProps","createPropsGetter","defaultProps","context","inputEl","React","createRef","renderMain","props","_cx","_cx2","_props$disabled","disabled","_props$warning","warning","_props$error","error","size","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","_objectWithoutPropertiesLoose2","default","radioProps","className","cx","styles","circle","theme","getCircleSizeClassName","checked","getCheckedSizeClassName","focus","checkedDisabled","globalClasses","value","inputProps","_extends2","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","getRootSizeClassName","rootChecked","rootIE11","isIE11","isEdge","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","fixFirefoxModifiedClickOnLabel","_isInRadioGroup","_cx3","_cx4","activeItem","name","suppressHydrationWarning","createElement","FocusControlWrapper","onBlurWhenDisabled","resetFocus","placeholder","children","renderCaption","Boolean","e","onSelect","globalObject","requestAnimationFrame","keyListener","isArrowPressed","isTabPressed","setState","_inheritsLoose2","_proto","prototype","rootLarge","rootMedium","rootSmall","circleLarge","circleMedium","circleSmall","checkedLarge","checkedMedium","checkedSmall","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","_this$inputEl$current","current","blur","_this$inputEl$current2","_cx5","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","displayName","contextType","RadioGroupContext"],"sources":["Radio.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport type { RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\nimport { RadioGroupContext } from '../RadioGroup/RadioGroupContext';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Radio.styles';\n\nexport interface RadioProps<T>\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает размер. */\n size?: SizeProp;\n\n /** Задает состояние фокуса. */\n focused?: boolean;\n\n /** Задает функцию, которая вызывается при изменении value. */\n onValueChange?: (value: T) => void;\n\n /** Задает HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Устанавливает значение. */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;\n\n/**\n * Радио-кнопки `Radio` используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n public static displayName = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getCircleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.circleLarge(this.theme);\n case 'medium':\n return styles.circleMedium(this.theme);\n case 'small':\n default:\n return styles.circleSmall(this.theme);\n }\n }\n\n private getCheckedSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.checkedLarge(this.theme);\n case 'medium':\n return styles.checkedMedium(this.theme);\n case 'small':\n default:\n return styles.checkedSmall(this.theme);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n size,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.circle(this.theme)]: true,\n [this.getCircleSizeClassName()]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [this.getCheckedSizeClassName()]: this.props.checked,\n [styles.focus(this.theme)]: this.getProps().focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: this.props.checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n });\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [this.getCheckedSizeClassName()]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} />\n </FocusControlWrapper>\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderCaption()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByKeyboard: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import type { AriaAttributes } from 'react';
2
2
  import React from 'react';
3
3
  import type { CommonProps } from '../../internal/CommonWrapper';
4
+ import type { TGetRootNode } from '../../lib/rootNode';
4
5
  import { Prevent } from './Prevent';
5
6
  export interface RadioGroupProps<T = string | number> extends CommonProps {
6
7
  /** Задает значение по умолчанию. Должно быть одним из значений дочерних радиокнопок или значений из параметра `items`. */
@@ -68,6 +69,7 @@ export declare class RadioGroup<T> extends React.Component<RadioGroupProps<T>, R
68
69
  private node;
69
70
  private name;
70
71
  private getProps;
72
+ getRootNode: TGetRootNode;
71
73
  private setRootNode;
72
74
  private featureFlags;
73
75
  constructor(props: RadioGroupProps<T>);
@@ -116,6 +116,7 @@ RadioGroup = exports.RadioGroup = (0, _rootNode.rootNode)(_class = (_RadioGroup
116
116
 
117
117
 
118
118
 
119
+
119
120
  function RadioGroup(props) {var _this;
120
121
  _this = _React$Component.call(this, props) || this;_this.name = (0, _utils.getRandomID)();_this.getProps = (0, _createPropsGetter.createPropsGetter)(RadioGroup.defaultProps);_this.
121
122
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_invariant","_utils","_Radio","_createPropsGetter","_FocusTrap","_CommonWrapper","_Emotion","_rootNode","_getVisualStateDataAttributes","_featureFlagsContext","_RadioGroup2","_Prevent","_RadioGroupContext","_class","_RadioGroup","RadioGroupDataTids","exports","root","RadioGroup","rootNode","_React$Component","props","_this","call","name","getRandomID","getProps","createPropsGetter","defaultProps","getRadioGroupContextValue","activeItem","getValue","onSelect","handleSelect","getName","disabled","error","warning","isControlled","value","state","isNonNullable","setState","onValueChange","renderRadio","itemValue","data","index","_cx","itemProps","key","getKeyByItem","className","cx","styles","item","itemFirst","itemInline","inline","default","createElement","_extends2","role","Radio","renderItem","toKey","undefined","ref","element","node","defaultValue","_inheritsLoose2","_proto","prototype","render","_this2","_this$props","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","ReactUIFeatureFlagsContext","Consumer","flags","_cx2","featureFlags","getFullReactUIFlagsContext","CommonWrapper","rootNodeRef","setRootNode","getVisualStateDataAttributes","FocusTrap","removeBaselineSpacer","radioGroupRemoveBaselineSpacer","RadioGroupContext","Provider","renderChildren","focus","radio","querySelector","_this$props2","items","children","invariant","mapItems","React","Component","__KONTUR_REACT_UI__","displayName","Prevent","_value","fn","result","_iterator","_createForOfIteratorHelperLoose2","_step","done","entry","_normalizeEntry","normalizeEntry","push","Array","isArray"],"sources":["RadioGroup.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport invariant from 'invariant';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { Radio } from '../Radio';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Nullable } from '../../typings/utility-types';\nimport { FocusTrap } from '../../internal/FocusTrap';\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 { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\n\nimport { styles } from './RadioGroup.styles';\nimport { Prevent } from './Prevent';\nimport type { RadioGroupContextType } from './RadioGroupContext';\nimport { RadioGroupContext } from './RadioGroupContext';\n\nexport interface RadioGroupProps<T = string | number> extends CommonProps {\n /** Задает значение по умолчанию. Должно быть одним из значений дочерних радиокнопок или значений из параметра `items`. */\n defaultValue?: T;\n\n /** Задает значение радиогруппы. Должно быть одним из значений радиокнопок.\n * Если не указано, то компонент будет работать, как неконтролируемый. */\n value?: T;\n\n /** Задает массив параметров радиокнопок. Может быть типа `Array<Value>` или `Array<[Value, Data]>`,\n * где тип `Value` — значение радиокнопки, а `Data` — значение которое будет использовано вторым параметром в `renderItem`.\n * Тип `Array<Value>` будет приведен к типу `Array<[Value, Value]>`.\n * Может быть использовано, если не передан параметр `children`. */\n items?: T[] | Array<[T, React.ReactNode]>;\n\n /** Устанавливает аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется случайное имя. */\n name?: string;\n\n /** Получает уникальный ключ по элементу\n * @param item - элемент, по которуму нужно получить ключ. */\n toKey?: (item: T) => string | number;\n\n /** Делает все радиокнопки недоступными. */\n disabled?: boolean;\n\n /** Переводит все радиокнопки в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Переводит все радиокнопки в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Выравнивает элементы items в строку. Не работает с children. */\n inline?: boolean;\n\n /** Задает ширину радиогруппы. Не работает с `children`. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая отображает контент радиокнопки. Не работает с `children`.\n * @param {Value} itemValue - значение радиокнопки.\n * @param {Data} data - значение для отрисовки радиокнопки. */\n renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n\n /** Задает функцию, которая вызывается при изменении значения радиогруппы (value). */\n onValueChange?: (value: T) => void;\n\n /** Задает функцию, которая вызывается при потере радиогруппой фокуса. */\n onBlur?: (event: FocusEvent) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: () => any;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: () => any;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: () => any;\n}\n\nexport interface RadioGroupState<T> {\n activeItem?: T;\n}\n\nexport const RadioGroupDataTids = {\n root: 'RadioGroup__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;\n\n/**\n * Группа радиокнопок `RadioGroup` используется для выбора одного значения из нескольких, когда вариантов выбора немного — 2–5.\n *\n * `children` может содержать любую разметку с компонентами Radio, если не передан параметр `items`.\n * Каждому компоненту Radio нужно указать параметр `value`, такого же типа, как и параметр `value` самой радиогруппы.\n *\n * Значения активного элемента сравниваются по строгому равенству `===`.\n */\n@rootNode\nexport class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {\n public static __KONTUR_REACT_UI__ = 'RadioGroup';\n public static displayName = 'RadioGroup';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n };\n\n public static Prevent = Prevent;\n\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n private setRootNode!: TSetRootNode;\n private featureFlags!: ReactUIFeatureFlags;\n\n constructor(props: RadioGroupProps<T>) {\n super(props);\n\n this.state = {\n activeItem: this.props.defaultValue,\n };\n }\n\n private getRadioGroupContextValue = (): RadioGroupContextType<T> => {\n return {\n activeItem: this.getValue(),\n onSelect: this.handleSelect,\n name: this.getName(),\n disabled: this.props.disabled,\n error: this.props.error,\n warning: this.props.warning,\n };\n };\n\n public render() {\n const {\n width,\n onMouseLeave,\n onMouseOver,\n onMouseEnter,\n onBlur,\n 'aria-describedby': ariaDescribedby,\n disabled,\n } = this.props;\n const style = {\n width: width ?? 'auto',\n };\n const handlers = {\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n };\n\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...this.props}\n {...getVisualStateDataAttributes({ disabled })}\n >\n <FocusTrap onBlur={onBlur}>\n <span\n data-tid={RadioGroupDataTids.root}\n ref={this.ref}\n style={style}\n className={cx({\n [styles.root()]: true,\n [styles.removeBaselineSpacer()]: this.featureFlags.radioGroupRemoveBaselineSpacer,\n })}\n role=\"radiogroup\"\n {...handlers}\n aria-describedby={ariaDescribedby}\n >\n <RadioGroupContext.Provider value={this.getRadioGroupContextValue()}>\n {this.renderChildren()}\n </RadioGroupContext.Provider>\n </span>\n </FocusTrap>\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n const node = this.node;\n if (!node) {\n return;\n }\n\n let radio = node.querySelector('input[type=\"radio\"]:checked') as Nullable<HTMLInputElement>;\n\n // If no checked radios, try get first radio\n if (!radio || radio.disabled) {\n radio = node.querySelector('input[type=\"radio\"]:not([disabled])') as Nullable<HTMLInputElement>;\n }\n\n if (radio) {\n radio.focus();\n }\n }\n\n private getValue = () => (this.isControlled() ? this.props.value : this.state.activeItem);\n\n private getName = () => this.props.name || this.name;\n\n private isControlled = () => isNonNullable(this.props.value);\n\n private handleSelect = (value: T) => {\n if (!this.isControlled()) {\n this.setState({ activeItem: value });\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private renderChildren() {\n const { items, children } = this.props;\n invariant((!items && children) || (items && !children), 'Either items or children must be passed, not both');\n return items ? mapItems<T>(this.renderRadio, items) : children;\n }\n\n private renderRadio = (itemValue: T, data: React.ReactNode, index: number): JSX.Element => {\n const itemProps = {\n key: this.getKeyByItem(itemValue),\n className: cx({\n [styles.item()]: true,\n [styles.itemFirst()]: index === 0,\n [styles.itemInline()]: !!this.props.inline,\n }),\n };\n\n return (\n <span {...itemProps} role=\"presentation\">\n <Radio value={itemValue}>{this.getProps().renderItem(itemValue, data)}</Radio>\n </span>\n );\n };\n\n private getKeyByItem = (itemValue: T) => {\n if (this.props.toKey) {\n return this.props.toKey(itemValue);\n }\n return typeof itemValue === 'string' || typeof itemValue === 'number' ? itemValue : undefined;\n };\n\n private ref = (element: HTMLSpanElement) => {\n this.node = element;\n };\n}\n\nfunction renderItem<T>(_value: T, data: React.ReactNode) {\n return data;\n}\n\nfunction mapItems<T>(\n fn: (value: T, data: React.ReactNode, index: number) => React.ReactNode,\n items: T[] | Array<[T, React.ReactNode]>,\n) {\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, data] = normalizeEntry<T>(entry);\n result.push(fn(value, data, index));\n ++index;\n }\n return result;\n}\n\nfunction normalizeEntry<T>(entry: T | [T, React.ReactNode]): [T, React.ReactNode] {\n if (!Array.isArray(entry)) {\n return [entry, entry as unknown as React.ReactNode];\n }\n return entry;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_invariant","_utils","_Radio","_createPropsGetter","_FocusTrap","_CommonWrapper","_Emotion","_rootNode","_getVisualStateDataAttributes","_featureFlagsContext","_RadioGroup2","_Prevent","_RadioGroupContext","_class","_RadioGroup","RadioGroupDataTids","exports","root","RadioGroup","rootNode","_React$Component","props","_this","call","name","getRandomID","getProps","createPropsGetter","defaultProps","getRadioGroupContextValue","activeItem","getValue","onSelect","handleSelect","getName","disabled","error","warning","isControlled","value","state","isNonNullable","setState","onValueChange","renderRadio","itemValue","data","index","_cx","itemProps","key","getKeyByItem","className","cx","styles","item","itemFirst","itemInline","inline","default","createElement","_extends2","role","Radio","renderItem","toKey","undefined","ref","element","node","defaultValue","_inheritsLoose2","_proto","prototype","render","_this2","_this$props","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","ReactUIFeatureFlagsContext","Consumer","flags","_cx2","featureFlags","getFullReactUIFlagsContext","CommonWrapper","rootNodeRef","setRootNode","getVisualStateDataAttributes","FocusTrap","removeBaselineSpacer","radioGroupRemoveBaselineSpacer","RadioGroupContext","Provider","renderChildren","focus","radio","querySelector","_this$props2","items","children","invariant","mapItems","React","Component","__KONTUR_REACT_UI__","displayName","Prevent","_value","fn","result","_iterator","_createForOfIteratorHelperLoose2","_step","done","entry","_normalizeEntry","normalizeEntry","push","Array","isArray"],"sources":["RadioGroup.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport invariant from 'invariant';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { Radio } from '../Radio';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Nullable } from '../../typings/utility-types';\nimport { FocusTrap } from '../../internal/FocusTrap';\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 { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\n\nimport { styles } from './RadioGroup.styles';\nimport { Prevent } from './Prevent';\nimport type { RadioGroupContextType } from './RadioGroupContext';\nimport { RadioGroupContext } from './RadioGroupContext';\n\nexport interface RadioGroupProps<T = string | number> extends CommonProps {\n /** Задает значение по умолчанию. Должно быть одним из значений дочерних радиокнопок или значений из параметра `items`. */\n defaultValue?: T;\n\n /** Задает значение радиогруппы. Должно быть одним из значений радиокнопок.\n * Если не указано, то компонент будет работать, как неконтролируемый. */\n value?: T;\n\n /** Задает массив параметров радиокнопок. Может быть типа `Array<Value>` или `Array<[Value, Data]>`,\n * где тип `Value` — значение радиокнопки, а `Data` — значение которое будет использовано вторым параметром в `renderItem`.\n * Тип `Array<Value>` будет приведен к типу `Array<[Value, Value]>`.\n * Может быть использовано, если не передан параметр `children`. */\n items?: T[] | Array<[T, React.ReactNode]>;\n\n /** Устанавливает аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется случайное имя. */\n name?: string;\n\n /** Получает уникальный ключ по элементу\n * @param item - элемент, по которуму нужно получить ключ. */\n toKey?: (item: T) => string | number;\n\n /** Делает все радиокнопки недоступными. */\n disabled?: boolean;\n\n /** Переводит все радиокнопки в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Переводит все радиокнопки в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Выравнивает элементы items в строку. Не работает с children. */\n inline?: boolean;\n\n /** Задает ширину радиогруппы. Не работает с `children`. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая отображает контент радиокнопки. Не работает с `children`.\n * @param {Value} itemValue - значение радиокнопки.\n * @param {Data} data - значение для отрисовки радиокнопки. */\n renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n\n /** Задает функцию, которая вызывается при изменении значения радиогруппы (value). */\n onValueChange?: (value: T) => void;\n\n /** Задает функцию, которая вызывается при потере радиогруппой фокуса. */\n onBlur?: (event: FocusEvent) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: () => any;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: () => any;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: () => any;\n}\n\nexport interface RadioGroupState<T> {\n activeItem?: T;\n}\n\nexport const RadioGroupDataTids = {\n root: 'RadioGroup__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;\n\n/**\n * Группа радиокнопок `RadioGroup` используется для выбора одного значения из нескольких, когда вариантов выбора немного — 2–5.\n *\n * `children` может содержать любую разметку с компонентами Radio, если не передан параметр `items`.\n * Каждому компоненту Radio нужно указать параметр `value`, такого же типа, как и параметр `value` самой радиогруппы.\n *\n * Значения активного элемента сравниваются по строгому равенству `===`.\n */\n@rootNode\nexport class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {\n public static __KONTUR_REACT_UI__ = 'RadioGroup';\n public static displayName = 'RadioGroup';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n };\n\n public static Prevent = Prevent;\n\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private featureFlags!: ReactUIFeatureFlags;\n\n constructor(props: RadioGroupProps<T>) {\n super(props);\n\n this.state = {\n activeItem: this.props.defaultValue,\n };\n }\n\n private getRadioGroupContextValue = (): RadioGroupContextType<T> => {\n return {\n activeItem: this.getValue(),\n onSelect: this.handleSelect,\n name: this.getName(),\n disabled: this.props.disabled,\n error: this.props.error,\n warning: this.props.warning,\n };\n };\n\n public render() {\n const {\n width,\n onMouseLeave,\n onMouseOver,\n onMouseEnter,\n onBlur,\n 'aria-describedby': ariaDescribedby,\n disabled,\n } = this.props;\n const style = {\n width: width ?? 'auto',\n };\n const handlers = {\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n };\n\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...this.props}\n {...getVisualStateDataAttributes({ disabled })}\n >\n <FocusTrap onBlur={onBlur}>\n <span\n data-tid={RadioGroupDataTids.root}\n ref={this.ref}\n style={style}\n className={cx({\n [styles.root()]: true,\n [styles.removeBaselineSpacer()]: this.featureFlags.radioGroupRemoveBaselineSpacer,\n })}\n role=\"radiogroup\"\n {...handlers}\n aria-describedby={ariaDescribedby}\n >\n <RadioGroupContext.Provider value={this.getRadioGroupContextValue()}>\n {this.renderChildren()}\n </RadioGroupContext.Provider>\n </span>\n </FocusTrap>\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n const node = this.node;\n if (!node) {\n return;\n }\n\n let radio = node.querySelector('input[type=\"radio\"]:checked') as Nullable<HTMLInputElement>;\n\n // If no checked radios, try get first radio\n if (!radio || radio.disabled) {\n radio = node.querySelector('input[type=\"radio\"]:not([disabled])') as Nullable<HTMLInputElement>;\n }\n\n if (radio) {\n radio.focus();\n }\n }\n\n private getValue = () => (this.isControlled() ? this.props.value : this.state.activeItem);\n\n private getName = () => this.props.name || this.name;\n\n private isControlled = () => isNonNullable(this.props.value);\n\n private handleSelect = (value: T) => {\n if (!this.isControlled()) {\n this.setState({ activeItem: value });\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private renderChildren() {\n const { items, children } = this.props;\n invariant((!items && children) || (items && !children), 'Either items or children must be passed, not both');\n return items ? mapItems<T>(this.renderRadio, items) : children;\n }\n\n private renderRadio = (itemValue: T, data: React.ReactNode, index: number): JSX.Element => {\n const itemProps = {\n key: this.getKeyByItem(itemValue),\n className: cx({\n [styles.item()]: true,\n [styles.itemFirst()]: index === 0,\n [styles.itemInline()]: !!this.props.inline,\n }),\n };\n\n return (\n <span {...itemProps} role=\"presentation\">\n <Radio value={itemValue}>{this.getProps().renderItem(itemValue, data)}</Radio>\n </span>\n );\n };\n\n private getKeyByItem = (itemValue: T) => {\n if (this.props.toKey) {\n return this.props.toKey(itemValue);\n }\n return typeof itemValue === 'string' || typeof itemValue === 'number' ? itemValue : undefined;\n };\n\n private ref = (element: HTMLSpanElement) => {\n this.node = element;\n };\n}\n\nfunction renderItem<T>(_value: T, data: React.ReactNode) {\n return data;\n}\n\nfunction mapItems<T>(\n fn: (value: T, data: React.ReactNode, index: number) => React.ReactNode,\n items: T[] | Array<[T, React.ReactNode]>,\n) {\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, data] = normalizeEntry<T>(entry);\n result.push(fn(value, data, index));\n ++index;\n }\n return result;\n}\n\nfunction normalizeEntry<T>(entry: T | [T, React.ReactNode]): [T, React.ReactNode] {\n if (!Array.isArray(entry)) {\n return [entry, entry as unknown as React.ReactNode];\n }\n return entry;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import type { CommonProps } from '../../internal/CommonWrapper';
4
3
  import type { Nullable } from '../../typings/utility-types';
4
+ import type { TGetRootNode } from '../../lib/rootNode';
5
5
  import type { ScrollAxis } from './ScrollBar';
6
6
  export type ScrollContainerScrollStateX = 'left' | 'scroll' | 'right';
7
7
  export type ScrollContainerScrollStateY = 'top' | 'scroll' | 'bottom';
@@ -64,18 +64,11 @@ export declare class ScrollContainer extends React.Component<ScrollContainerProp
64
64
  static __KONTUR_REACT_UI__: string;
65
65
  static displayName: string;
66
66
  inner: Nullable<HTMLElement>;
67
- static propTypes: {
68
- invert: PropTypes.Requireable<boolean>;
69
- maxWidth: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
70
- maxHeight: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
71
- scrollBehaviour: PropTypes.Requireable<string>;
72
- preventWindowScroll: PropTypes.Requireable<boolean>;
73
- onScrollStateChange: PropTypes.Requireable<(...args: any[]) => any>;
74
- };
75
67
  static defaultProps: DefaultProps;
76
68
  private getProps;
77
69
  private scrollX;
78
70
  private scrollY;
71
+ getRootNode: TGetRootNode;
79
72
  private setRootNode;
80
73
  private initialIsScrollBarVisible;
81
74
  state: ScrollContainerState;
@@ -1,5 +1,4 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.ScrollContainerDataTids = exports.ScrollContainer = 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
  var _globalObject = require("@skbkontur/global-object");
4
3
  var _lodash = _interopRequireDefault(require("lodash.debounce"));
5
4
 
@@ -122,15 +121,6 @@ ScrollContainer = exports.ScrollContainer = (0, _rootNode.rootNode)(_class = (_S
122
121
 
123
122
 
124
123
 
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
-
134
124
 
135
125
 
136
126
 
@@ -139,6 +129,7 @@ ScrollContainer = exports.ScrollContainer = (0, _rootNode.rootNode)(_class = (_S
139
129
 
140
130
 
141
131
 
132
+
142
133
  initialIsScrollBarVisible = _this.getProps().showScrollBar === 'always';_this.
143
134
 
144
135
  state = {
@@ -444,4 +435,4 @@ ScrollContainer = exports.ScrollContainer = (0, _rootNode.rootNode)(_class = (_S
444
435
  * @public
445
436
  */;_proto.scrollToLeft = function scrollToLeft() {if (!this.inner) {return;}this.inner.scrollLeft = 0;} /**
446
437
  * @public
447
- */;_proto.scrollToRight = function scrollToRight() {if (!this.inner) {return;}this.inner.scrollLeft = this.inner.scrollWidth - this.inner.offsetWidth;};_proto.hasScrollBar = function hasScrollBar(axis) {if (!this.inner) {return false;}return axis === 'x' ? this.inner.offsetWidth < this.inner.scrollWidth : this.inner.offsetHeight < this.inner.scrollHeight;};return ScrollContainer;}(_react.default.Component), _ScrollContainer.__KONTUR_REACT_UI__ = 'ScrollContainer', _ScrollContainer.displayName = 'ScrollContainer', _ScrollContainer.propTypes = { invert: _propTypes.default.bool, maxWidth: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), maxHeight: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), scrollBehaviour: _propTypes.default.oneOf(['auto', 'smooth']), preventWindowScroll: _propTypes.default.bool, onScrollStateChange: _propTypes.default.func }, _ScrollContainer.defaultProps = { invert: false, scrollBehaviour: 'auto', preventWindowScroll: false, disableAnimations: _currentEnvironment.isTestEnv, hideScrollBarDelay: 500, showScrollBar: 'always' }, _ScrollContainer)) || _class;
438
+ */;_proto.scrollToRight = function scrollToRight() {if (!this.inner) {return;}this.inner.scrollLeft = this.inner.scrollWidth - this.inner.offsetWidth;};_proto.hasScrollBar = function hasScrollBar(axis) {if (!this.inner) {return false;}return axis === 'x' ? this.inner.offsetWidth < this.inner.scrollWidth : this.inner.offsetHeight < this.inner.scrollHeight;};return ScrollContainer;}(_react.default.Component), _ScrollContainer.__KONTUR_REACT_UI__ = 'ScrollContainer', _ScrollContainer.displayName = 'ScrollContainer', _ScrollContainer.defaultProps = { invert: false, scrollBehaviour: 'auto', preventWindowScroll: false, disableAnimations: _currentEnvironment.isTestEnv, hideScrollBarDelay: 500, showScrollBar: 'always' }, _ScrollContainer)) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_globalObject","_lodash","_isInstanceOf","LayoutEvents","_interopRequireWildcard","_CommonWrapper","_Emotion","_client","_rootNode","_getDOMRect","_createPropsGetter","_currentEnvironment","_callChildRef","_ScrollContainer2","_ScrollContainer3","_ScrollContainer4","_ScrollBar","_class","_ScrollContainer","ScrollContainerDataTids","exports","root","inner","ScrollContainer","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","initialIsScrollBarVisible","showScrollBar","state","isScrollBarXVisible","isScrollBarYVisible","isHovered","render","props","disabled","children","innerStyle","scrollBehavior","scrollBehaviour","maxHeight","maxWidth","scrollbarY","renderScrollbar","scrollbarX","default","createElement","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","onMouseMove","handleMouseMove","onMouseLeave","handleMouseLeave","style","ref","refInner","cx","globalClasses","isIE11","innerIE11","onScroll","handleNativeScroll","axis","_this$getProps","offsetY","offsetX","invert","disableAnimations","isAxisX","refScrollBar","refScrollBarX","refScrollBarY","offset","isVisible","ScrollBar","handleScroll","handleScrollStateChange","scrollState","scrollY","scrollX","scrollXState","convertScrollbarXScrollState","onScrollStateChangeX","scrollYState","convertScrollbarYScrollState","onScrollStateChange","onScrollStateChangeY","prevScrollState","_this$getProps2","showScrollBarOnMouseWheel","scrollbar","element","preventWindowScroll","addEventListener","handleInnerScrollWheel","passive","removeEventListener","scrollRef","callChildRef","event","_this$scrollY","_this$scrollX","reflow","preventDefault","emit","isScrollBarVisible","setState","hideScrollBar","debounce","_this$scrollX2","_this$scrollY2","isScrollBarXHovered","getHover","isScrollBarYHovered","hideScrollBarDelay","isInstanceOf","globalObject","WheelEvent","shiftKey","hasScrollBar","_scrollSizeParameters","scrollSizeParametersNames","pos","size","deltaY","_this$scrollY3","_this$scrollX3","right","getDOMRect","currentTarget","pageX","bottom","pageY","setHover","_this$scrollY4","_this$scrollX4","updateInnerElement","_this$scrollX5","_this$scrollY5","setInnerElement","_inheritsLoose2","_proto","prototype","componentDidMount","componentDidUpdate","prevProps","scrollTo","scrollLeft","offsetLeft","scrollTop","getScrollYOffset","scrollToTop","scrollToBottom","scrollHeight","offsetHeight","scrollToLeft","scrollToRight","scrollWidth","offsetWidth","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","oneOfType","string","number","oneOf","func","isTestEnv"],"sources":["ScrollContainer.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\nimport debounce from 'lodash.debounce';\n\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nimport { styles, globalClasses } from './ScrollContainer.styles';\nimport { scrollSizeParametersNames } from './ScrollContainer.constants';\nimport {\n getScrollYOffset,\n convertScrollbarXScrollState,\n convertScrollbarYScrollState,\n} from './ScrollContainer.helpers';\nimport type { ScrollAxis, ScrollBarScrollState } from './ScrollBar';\nimport { ScrollBar } from './ScrollBar';\n\nexport type ScrollContainerScrollStateX = 'left' | 'scroll' | 'right';\nexport type ScrollContainerScrollStateY = 'top' | 'scroll' | 'bottom';\nexport type ScrollContainerScrollState = ScrollContainerScrollStateY; // deprecated\nexport type ScrollBehaviour = 'auto' | 'smooth';\n\ntype OffsetCSSPropsY = 'top' | 'right' | 'bottom';\ntype OffsetCSSPropsX = 'right' | 'bottom' | 'left';\n\nexport interface ScrollContainerProps extends CommonProps {\n /** Инвертирует цвет скроллбара.\n * @default false */\n invert?: boolean;\n\n /** Задает максимальную высоту. */\n maxHeight?: React.CSSProperties['maxHeight'];\n\n /** Задает максимальную ширину. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Отключает скролл окна, когда меню открыто.\n * @default false */\n preventWindowScroll?: boolean;\n\n /** Задает поведение скролла. (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior)\n * @default 'auto' */\n scrollBehaviour?: ScrollBehaviour;\n\n /** Задает функцию, которая вызывается при скроле по горизонтали. */\n onScrollStateChangeX?: (scrollState: ScrollContainerScrollStateX) => void;\n\n /** Задает функцию, которая вызывается при скроле по вертикали. */\n onScrollStateChangeY?: (scrollState: ScrollContainerScrollStateY) => void;\n\n /** Задает функцию, которая вызывается при скроле.\n * @deprecated use onScroll */\n onScrollStateChange?: (scrollYState: ScrollContainerScrollState) => void;\n\n /** Задает функцию, которая вызывается при скроле. */\n onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;\n\n /** Отключает кастомный скролл. */\n disabled?: boolean;\n\n /** Задает смещение вертикального скроллбара. */\n offsetY?: Partial<Record<OffsetCSSPropsY, React.CSSProperties[OffsetCSSPropsY]>>;\n\n /** Задает смещение горизонтального скроллбара. */\n offsetX?: Partial<Record<OffsetCSSPropsX, React.CSSProperties[OffsetCSSPropsX]>>;\n\n /** Определяет, нужно ли показывать скроллбар. */\n showScrollBar?: 'always' | 'scroll' | 'hover' | 'never';\n\n /** Устанавливает задержку в миллисекундах перед скрытием скроллбара.\n * Работает только при hideScrollBar = true или showScrollBar = 'scroll' | 'hover'. */\n hideScrollBarDelay?: number;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n scrollRef?: React.Ref<HTMLDivElement | null>;\n}\n\nexport const ScrollContainerDataTids = {\n root: 'ScrollContainer__root',\n inner: 'ScrollContainer__inner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n ScrollContainerProps,\n 'invert' | 'scrollBehaviour' | 'preventWindowScroll' | 'disableAnimations' | 'hideScrollBarDelay' | 'showScrollBar'\n >\n>;\n\ninterface ScrollContainerState {\n isScrollBarXVisible: boolean;\n isScrollBarYVisible: boolean;\n isHovered: boolean;\n}\n\n/**\n * `ScrollContainer` используется для создания контейнера с кастомными полосами прокрутки, который обеспечивает прокрутку содержимого по горизонтали или вертикали.\n */\n@rootNode\nexport class ScrollContainer extends React.Component<ScrollContainerProps, ScrollContainerState> {\n public static __KONTUR_REACT_UI__ = 'ScrollContainer';\n public static displayName = 'ScrollContainer';\n\n public inner: Nullable<HTMLElement>;\n\n public static propTypes = {\n invert: PropTypes.bool,\n maxWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n scrollBehaviour: PropTypes.oneOf(['auto', 'smooth']),\n preventWindowScroll: PropTypes.bool,\n onScrollStateChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n invert: false,\n scrollBehaviour: 'auto',\n preventWindowScroll: false,\n disableAnimations: isTestEnv,\n hideScrollBarDelay: 500,\n showScrollBar: 'always',\n };\n\n private getProps = createPropsGetter(ScrollContainer.defaultProps);\n\n private scrollX: Nullable<ScrollBar>;\n private scrollY: Nullable<ScrollBar>;\n private setRootNode!: TSetRootNode;\n private initialIsScrollBarVisible = this.getProps().showScrollBar === 'always';\n\n public state: ScrollContainerState = {\n isScrollBarXVisible: this.initialIsScrollBarVisible,\n isScrollBarYVisible: this.initialIsScrollBarVisible,\n isHovered: false,\n };\n\n public componentDidMount() {\n this.updateInnerElement();\n }\n\n public componentDidUpdate(prevProps: ScrollContainerProps) {\n const preventWindowScroll = this.getProps().preventWindowScroll;\n if (this.inner) {\n if (prevProps.preventWindowScroll && !preventWindowScroll) {\n this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);\n }\n if (!prevProps.preventWindowScroll && preventWindowScroll) {\n this.inner.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });\n }\n }\n\n if (prevProps.disabled !== this.props.disabled && !this.props.disabled) {\n this.updateInnerElement();\n }\n\n if (prevProps.showScrollBar !== this.props.showScrollBar) {\n if (this.props.showScrollBar === 'always') {\n this.setState({ isScrollBarXVisible: true, isScrollBarYVisible: true });\n } else if (this.props.showScrollBar === 'never') {\n this.setState({ isScrollBarXVisible: false, isScrollBarYVisible: false });\n }\n }\n }\n\n public render = () => {\n const props = this.props;\n\n if (this.props.disabled) {\n return this.props.children;\n }\n\n const innerStyle: React.CSSProperties = {\n scrollBehavior: this.getProps().scrollBehaviour,\n maxHeight: props.maxHeight,\n maxWidth: props.maxWidth,\n };\n\n const scrollbarY = this.renderScrollbar('y');\n const scrollbarX = this.renderScrollbar('x');\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={ScrollContainerDataTids.root}\n className={styles.root()}\n onMouseMove={this.handleMouseMove}\n onMouseLeave={this.handleMouseLeave}\n >\n {scrollbarY}\n {scrollbarX}\n <div\n style={innerStyle}\n ref={this.refInner}\n className={cx(styles.inner(), globalClasses.inner, isIE11 && styles.innerIE11())}\n data-tid={ScrollContainerDataTids.inner}\n onScroll={this.handleNativeScroll}\n >\n {props.children}\n </div>\n </div>\n </CommonWrapper>\n );\n };\n\n /**\n * @public\n * @param {Element} element\n */\n public scrollTo(element: Nullable<HTMLElement>) {\n if (!element || !this.inner) {\n return;\n }\n\n this.inner.scrollLeft = element.offsetLeft;\n this.inner.scrollTop = getScrollYOffset(element, this.inner);\n }\n\n /**\n * @public\n */\n public scrollToTop() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollTop = 0;\n }\n\n /**\n * @public\n */\n public scrollToBottom() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollTop = this.inner.scrollHeight - this.inner.offsetHeight;\n }\n\n /**\n * @public\n */\n public scrollToLeft() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollLeft = 0;\n }\n\n /**\n * @public\n */\n public scrollToRight() {\n if (!this.inner) {\n return;\n }\n\n this.inner.scrollLeft = this.inner.scrollWidth - this.inner.offsetWidth;\n }\n\n public hasScrollBar(axis: ScrollAxis) {\n if (!this.inner) {\n return false;\n }\n\n return axis === 'x'\n ? this.inner.offsetWidth < this.inner.scrollWidth\n : this.inner.offsetHeight < this.inner.scrollHeight;\n }\n\n private renderScrollbar = (axis: ScrollAxis) => {\n const { offsetY, offsetX, invert, disableAnimations } = this.getProps();\n const isAxisX = axis === 'x';\n const refScrollBar = isAxisX ? this.refScrollBarX : this.refScrollBarY;\n const offset = isAxisX ? offsetX : offsetY;\n const isVisible = isAxisX ? this.state.isScrollBarXVisible : this.state.isScrollBarYVisible;\n\n return (\n <ScrollBar\n axis={axis}\n ref={refScrollBar}\n invert={invert}\n onScroll={this.handleScroll}\n offset={offset}\n disableAnimations={disableAnimations}\n isVisible={isVisible}\n />\n );\n };\n\n private handleScrollStateChange = (scrollState: ScrollBarScrollState, axis: ScrollAxis) => {\n if (!this.scrollY || !this.scrollX) {\n return;\n }\n\n if (axis === 'x') {\n const scrollXState = convertScrollbarXScrollState(scrollState);\n\n this.props.onScrollStateChangeX?.(scrollXState);\n return;\n }\n\n const scrollYState = convertScrollbarYScrollState(scrollState);\n\n this.props.onScrollStateChange?.(scrollYState);\n this.props.onScrollStateChangeY?.(scrollYState);\n };\n\n private handleScroll = (\n axis: ScrollAxis,\n scrollState: ScrollBarScrollState,\n prevScrollState: ScrollBarScrollState,\n ) => {\n if (scrollState !== prevScrollState) {\n this.handleScrollStateChange(scrollState, axis);\n }\n const { showScrollBar } = this.getProps();\n showScrollBar === 'scroll' && this.showScrollBarOnMouseWheel(axis);\n };\n\n private refScrollBarY = (scrollbar: Nullable<ScrollBar>) => {\n this.scrollY = scrollbar;\n };\n\n private refScrollBarX = (scrollbar: Nullable<ScrollBar>) => {\n this.scrollX = scrollbar;\n };\n\n private refInner = (element: HTMLElement | null) => {\n if (!this.inner && element && this.getProps().preventWindowScroll) {\n element.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });\n }\n if (this.inner && !element) {\n this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);\n }\n this.inner = element;\n\n if (this.props.scrollRef) {\n callChildRef(this.props.scrollRef, element);\n }\n };\n\n private handleNativeScroll = (event: React.UIEvent<HTMLDivElement>) => {\n this.scrollY?.reflow();\n this.scrollX?.reflow();\n\n this.props.onScroll?.(event);\n if (this.getProps().preventWindowScroll) {\n event.preventDefault();\n return;\n }\n LayoutEvents.emit();\n };\n\n private showScrollBarOnMouseWheel = (axis: ScrollAxis) => {\n const isScrollBarVisible = axis === 'x' ? this.state.isScrollBarXVisible : this.state.isScrollBarYVisible;\n if (!isScrollBarVisible) {\n axis === 'x' ? this.setState({ isScrollBarXVisible: true }) : this.setState({ isScrollBarYVisible: true });\n }\n this.hideScrollBar(axis);\n };\n\n private readonly hideScrollBar = debounce((axis: ScrollAxis | 'both') => {\n if (this.state.isHovered) {\n return;\n }\n const isScrollBarXHovered = this.scrollX?.getHover();\n const isScrollBarYHovered = this.scrollY?.getHover();\n if (axis === 'both') {\n !isScrollBarXHovered && !isScrollBarYHovered\n ? this.setState({ isScrollBarXVisible: false, isScrollBarYVisible: false })\n : this.hideScrollBar('both');\n } else if (axis === 'x') {\n !isScrollBarXHovered ? this.setState({ isScrollBarXVisible: false }) : this.hideScrollBar('x');\n } else {\n !isScrollBarYHovered ? this.setState({ isScrollBarYVisible: false }) : this.hideScrollBar('y');\n }\n }, this.getProps().hideScrollBarDelay);\n\n private handleInnerScrollWheel = (event: Event) => {\n if (!this.inner || !isInstanceOf(event, globalObject.WheelEvent)) {\n return;\n }\n\n const axis: ScrollAxis = event.shiftKey ? 'x' : 'y';\n\n if (this.hasScrollBar(axis)) {\n const { pos, size, offset } = scrollSizeParametersNames[axis];\n\n if (event.deltaY > 0 && this.inner[size] <= this.inner[pos] + this.inner[offset]) {\n event.preventDefault();\n return false;\n }\n if (event.deltaY < 0 && this.inner[pos] <= 0) {\n event.preventDefault();\n return false;\n }\n }\n };\n\n private handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n const right = getDOMRect(event.currentTarget).right - event.pageX;\n const bottom = getDOMRect(event.currentTarget).bottom - event.pageY;\n\n this.scrollY?.setHover(right <= 12);\n this.scrollX?.setHover(right >= 12 && bottom <= 12);\n\n this.getProps().showScrollBar === 'hover' &&\n !this.state.isHovered &&\n this.setState({ isScrollBarXVisible: true, isScrollBarYVisible: true, isHovered: true });\n };\n\n private handleMouseLeave = () => {\n this.scrollY?.setHover(false);\n this.scrollX?.setHover(false);\n if (this.getProps().showScrollBar === 'hover') {\n this.setState({ isHovered: false });\n this.hideScrollBar('both');\n }\n };\n\n private updateInnerElement = () => {\n this.scrollX?.setInnerElement(this.inner);\n this.scrollY?.setInnerElement(this.inner);\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_lodash","_isInstanceOf","LayoutEvents","_interopRequireWildcard","_CommonWrapper","_Emotion","_client","_rootNode","_getDOMRect","_createPropsGetter","_currentEnvironment","_callChildRef","_ScrollContainer2","_ScrollContainer3","_ScrollContainer4","_ScrollBar","_class","_ScrollContainer","ScrollContainerDataTids","exports","root","inner","ScrollContainer","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","initialIsScrollBarVisible","showScrollBar","state","isScrollBarXVisible","isScrollBarYVisible","isHovered","render","props","disabled","children","innerStyle","scrollBehavior","scrollBehaviour","maxHeight","maxWidth","scrollbarY","renderScrollbar","scrollbarX","default","createElement","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","onMouseMove","handleMouseMove","onMouseLeave","handleMouseLeave","style","ref","refInner","cx","globalClasses","isIE11","innerIE11","onScroll","handleNativeScroll","axis","_this$getProps","offsetY","offsetX","invert","disableAnimations","isAxisX","refScrollBar","refScrollBarX","refScrollBarY","offset","isVisible","ScrollBar","handleScroll","handleScrollStateChange","scrollState","scrollY","scrollX","scrollXState","convertScrollbarXScrollState","onScrollStateChangeX","scrollYState","convertScrollbarYScrollState","onScrollStateChange","onScrollStateChangeY","prevScrollState","_this$getProps2","showScrollBarOnMouseWheel","scrollbar","element","preventWindowScroll","addEventListener","handleInnerScrollWheel","passive","removeEventListener","scrollRef","callChildRef","event","_this$scrollY","_this$scrollX","reflow","preventDefault","emit","isScrollBarVisible","setState","hideScrollBar","debounce","_this$scrollX2","_this$scrollY2","isScrollBarXHovered","getHover","isScrollBarYHovered","hideScrollBarDelay","isInstanceOf","globalObject","WheelEvent","shiftKey","hasScrollBar","_scrollSizeParameters","scrollSizeParametersNames","pos","size","deltaY","_this$scrollY3","_this$scrollX3","right","getDOMRect","currentTarget","pageX","bottom","pageY","setHover","_this$scrollY4","_this$scrollX4","updateInnerElement","_this$scrollX5","_this$scrollY5","setInnerElement","_inheritsLoose2","_proto","prototype","componentDidMount","componentDidUpdate","prevProps","scrollTo","scrollLeft","offsetLeft","scrollTop","getScrollYOffset","scrollToTop","scrollToBottom","scrollHeight","offsetHeight","scrollToLeft","scrollToRight","scrollWidth","offsetWidth","React","Component","__KONTUR_REACT_UI__","displayName","isTestEnv"],"sources":["ScrollContainer.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\nimport debounce from 'lodash.debounce';\n\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nimport { styles, globalClasses } from './ScrollContainer.styles';\nimport { scrollSizeParametersNames } from './ScrollContainer.constants';\nimport {\n getScrollYOffset,\n convertScrollbarXScrollState,\n convertScrollbarYScrollState,\n} from './ScrollContainer.helpers';\nimport type { ScrollAxis, ScrollBarScrollState } from './ScrollBar';\nimport { ScrollBar } from './ScrollBar';\n\nexport type ScrollContainerScrollStateX = 'left' | 'scroll' | 'right';\nexport type ScrollContainerScrollStateY = 'top' | 'scroll' | 'bottom';\nexport type ScrollContainerScrollState = ScrollContainerScrollStateY; // deprecated\nexport type ScrollBehaviour = 'auto' | 'smooth';\n\ntype OffsetCSSPropsY = 'top' | 'right' | 'bottom';\ntype OffsetCSSPropsX = 'right' | 'bottom' | 'left';\n\nexport interface ScrollContainerProps extends CommonProps {\n /** Инвертирует цвет скроллбара.\n * @default false */\n invert?: boolean;\n\n /** Задает максимальную высоту. */\n maxHeight?: React.CSSProperties['maxHeight'];\n\n /** Задает максимальную ширину. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Отключает скролл окна, когда меню открыто.\n * @default false */\n preventWindowScroll?: boolean;\n\n /** Задает поведение скролла. (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior)\n * @default 'auto' */\n scrollBehaviour?: ScrollBehaviour;\n\n /** Задает функцию, которая вызывается при скроле по горизонтали. */\n onScrollStateChangeX?: (scrollState: ScrollContainerScrollStateX) => void;\n\n /** Задает функцию, которая вызывается при скроле по вертикали. */\n onScrollStateChangeY?: (scrollState: ScrollContainerScrollStateY) => void;\n\n /** Задает функцию, которая вызывается при скроле.\n * @deprecated use onScroll */\n onScrollStateChange?: (scrollYState: ScrollContainerScrollState) => void;\n\n /** Задает функцию, которая вызывается при скроле. */\n onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;\n\n /** Отключает кастомный скролл. */\n disabled?: boolean;\n\n /** Задает смещение вертикального скроллбара. */\n offsetY?: Partial<Record<OffsetCSSPropsY, React.CSSProperties[OffsetCSSPropsY]>>;\n\n /** Задает смещение горизонтального скроллбара. */\n offsetX?: Partial<Record<OffsetCSSPropsX, React.CSSProperties[OffsetCSSPropsX]>>;\n\n /** Определяет, нужно ли показывать скроллбар. */\n showScrollBar?: 'always' | 'scroll' | 'hover' | 'never';\n\n /** Устанавливает задержку в миллисекундах перед скрытием скроллбара.\n * Работает только при hideScrollBar = true или showScrollBar = 'scroll' | 'hover'. */\n hideScrollBarDelay?: number;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n scrollRef?: React.Ref<HTMLDivElement | null>;\n}\n\nexport const ScrollContainerDataTids = {\n root: 'ScrollContainer__root',\n inner: 'ScrollContainer__inner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n ScrollContainerProps,\n 'invert' | 'scrollBehaviour' | 'preventWindowScroll' | 'disableAnimations' | 'hideScrollBarDelay' | 'showScrollBar'\n >\n>;\n\ninterface ScrollContainerState {\n isScrollBarXVisible: boolean;\n isScrollBarYVisible: boolean;\n isHovered: boolean;\n}\n\n/**\n * `ScrollContainer` используется для создания контейнера с кастомными полосами прокрутки, который обеспечивает прокрутку содержимого по горизонтали или вертикали.\n */\n@rootNode\nexport class ScrollContainer extends React.Component<ScrollContainerProps, ScrollContainerState> {\n public static __KONTUR_REACT_UI__ = 'ScrollContainer';\n public static displayName = 'ScrollContainer';\n\n public inner: Nullable<HTMLElement>;\n\n public static defaultProps: DefaultProps = {\n invert: false,\n scrollBehaviour: 'auto',\n preventWindowScroll: false,\n disableAnimations: isTestEnv,\n hideScrollBarDelay: 500,\n showScrollBar: 'always',\n };\n\n private getProps = createPropsGetter(ScrollContainer.defaultProps);\n\n private scrollX: Nullable<ScrollBar>;\n private scrollY: Nullable<ScrollBar>;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private initialIsScrollBarVisible = this.getProps().showScrollBar === 'always';\n\n public state: ScrollContainerState = {\n isScrollBarXVisible: this.initialIsScrollBarVisible,\n isScrollBarYVisible: this.initialIsScrollBarVisible,\n isHovered: false,\n };\n\n public componentDidMount() {\n this.updateInnerElement();\n }\n\n public componentDidUpdate(prevProps: ScrollContainerProps) {\n const preventWindowScroll = this.getProps().preventWindowScroll;\n if (this.inner) {\n if (prevProps.preventWindowScroll && !preventWindowScroll) {\n this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);\n }\n if (!prevProps.preventWindowScroll && preventWindowScroll) {\n this.inner.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });\n }\n }\n\n if (prevProps.disabled !== this.props.disabled && !this.props.disabled) {\n this.updateInnerElement();\n }\n\n if (prevProps.showScrollBar !== this.props.showScrollBar) {\n if (this.props.showScrollBar === 'always') {\n this.setState({ isScrollBarXVisible: true, isScrollBarYVisible: true });\n } else if (this.props.showScrollBar === 'never') {\n this.setState({ isScrollBarXVisible: false, isScrollBarYVisible: false });\n }\n }\n }\n\n public render = () => {\n const props = this.props;\n\n if (this.props.disabled) {\n return this.props.children;\n }\n\n const innerStyle: React.CSSProperties = {\n scrollBehavior: this.getProps().scrollBehaviour,\n maxHeight: props.maxHeight,\n maxWidth: props.maxWidth,\n };\n\n const scrollbarY = this.renderScrollbar('y');\n const scrollbarX = this.renderScrollbar('x');\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={ScrollContainerDataTids.root}\n className={styles.root()}\n onMouseMove={this.handleMouseMove}\n onMouseLeave={this.handleMouseLeave}\n >\n {scrollbarY}\n {scrollbarX}\n <div\n style={innerStyle}\n ref={this.refInner}\n className={cx(styles.inner(), globalClasses.inner, isIE11 && styles.innerIE11())}\n data-tid={ScrollContainerDataTids.inner}\n onScroll={this.handleNativeScroll}\n >\n {props.children}\n </div>\n </div>\n </CommonWrapper>\n );\n };\n\n /**\n * @public\n * @param {Element} element\n */\n public scrollTo(element: Nullable<HTMLElement>) {\n if (!element || !this.inner) {\n return;\n }\n\n this.inner.scrollLeft = element.offsetLeft;\n this.inner.scrollTop = getScrollYOffset(element, this.inner);\n }\n\n /**\n * @public\n */\n public scrollToTop() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollTop = 0;\n }\n\n /**\n * @public\n */\n public scrollToBottom() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollTop = this.inner.scrollHeight - this.inner.offsetHeight;\n }\n\n /**\n * @public\n */\n public scrollToLeft() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollLeft = 0;\n }\n\n /**\n * @public\n */\n public scrollToRight() {\n if (!this.inner) {\n return;\n }\n\n this.inner.scrollLeft = this.inner.scrollWidth - this.inner.offsetWidth;\n }\n\n public hasScrollBar(axis: ScrollAxis) {\n if (!this.inner) {\n return false;\n }\n\n return axis === 'x'\n ? this.inner.offsetWidth < this.inner.scrollWidth\n : this.inner.offsetHeight < this.inner.scrollHeight;\n }\n\n private renderScrollbar = (axis: ScrollAxis) => {\n const { offsetY, offsetX, invert, disableAnimations } = this.getProps();\n const isAxisX = axis === 'x';\n const refScrollBar = isAxisX ? this.refScrollBarX : this.refScrollBarY;\n const offset = isAxisX ? offsetX : offsetY;\n const isVisible = isAxisX ? this.state.isScrollBarXVisible : this.state.isScrollBarYVisible;\n\n return (\n <ScrollBar\n axis={axis}\n ref={refScrollBar}\n invert={invert}\n onScroll={this.handleScroll}\n offset={offset}\n disableAnimations={disableAnimations}\n isVisible={isVisible}\n />\n );\n };\n\n private handleScrollStateChange = (scrollState: ScrollBarScrollState, axis: ScrollAxis) => {\n if (!this.scrollY || !this.scrollX) {\n return;\n }\n\n if (axis === 'x') {\n const scrollXState = convertScrollbarXScrollState(scrollState);\n\n this.props.onScrollStateChangeX?.(scrollXState);\n return;\n }\n\n const scrollYState = convertScrollbarYScrollState(scrollState);\n\n this.props.onScrollStateChange?.(scrollYState);\n this.props.onScrollStateChangeY?.(scrollYState);\n };\n\n private handleScroll = (\n axis: ScrollAxis,\n scrollState: ScrollBarScrollState,\n prevScrollState: ScrollBarScrollState,\n ) => {\n if (scrollState !== prevScrollState) {\n this.handleScrollStateChange(scrollState, axis);\n }\n const { showScrollBar } = this.getProps();\n showScrollBar === 'scroll' && this.showScrollBarOnMouseWheel(axis);\n };\n\n private refScrollBarY = (scrollbar: Nullable<ScrollBar>) => {\n this.scrollY = scrollbar;\n };\n\n private refScrollBarX = (scrollbar: Nullable<ScrollBar>) => {\n this.scrollX = scrollbar;\n };\n\n private refInner = (element: HTMLElement | null) => {\n if (!this.inner && element && this.getProps().preventWindowScroll) {\n element.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });\n }\n if (this.inner && !element) {\n this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);\n }\n this.inner = element;\n\n if (this.props.scrollRef) {\n callChildRef(this.props.scrollRef, element);\n }\n };\n\n private handleNativeScroll = (event: React.UIEvent<HTMLDivElement>) => {\n this.scrollY?.reflow();\n this.scrollX?.reflow();\n\n this.props.onScroll?.(event);\n if (this.getProps().preventWindowScroll) {\n event.preventDefault();\n return;\n }\n LayoutEvents.emit();\n };\n\n private showScrollBarOnMouseWheel = (axis: ScrollAxis) => {\n const isScrollBarVisible = axis === 'x' ? this.state.isScrollBarXVisible : this.state.isScrollBarYVisible;\n if (!isScrollBarVisible) {\n axis === 'x' ? this.setState({ isScrollBarXVisible: true }) : this.setState({ isScrollBarYVisible: true });\n }\n this.hideScrollBar(axis);\n };\n\n private readonly hideScrollBar = debounce((axis: ScrollAxis | 'both') => {\n if (this.state.isHovered) {\n return;\n }\n const isScrollBarXHovered = this.scrollX?.getHover();\n const isScrollBarYHovered = this.scrollY?.getHover();\n if (axis === 'both') {\n !isScrollBarXHovered && !isScrollBarYHovered\n ? this.setState({ isScrollBarXVisible: false, isScrollBarYVisible: false })\n : this.hideScrollBar('both');\n } else if (axis === 'x') {\n !isScrollBarXHovered ? this.setState({ isScrollBarXVisible: false }) : this.hideScrollBar('x');\n } else {\n !isScrollBarYHovered ? this.setState({ isScrollBarYVisible: false }) : this.hideScrollBar('y');\n }\n }, this.getProps().hideScrollBarDelay);\n\n private handleInnerScrollWheel = (event: Event) => {\n if (!this.inner || !isInstanceOf(event, globalObject.WheelEvent)) {\n return;\n }\n\n const axis: ScrollAxis = event.shiftKey ? 'x' : 'y';\n\n if (this.hasScrollBar(axis)) {\n const { pos, size, offset } = scrollSizeParametersNames[axis];\n\n if (event.deltaY > 0 && this.inner[size] <= this.inner[pos] + this.inner[offset]) {\n event.preventDefault();\n return false;\n }\n if (event.deltaY < 0 && this.inner[pos] <= 0) {\n event.preventDefault();\n return false;\n }\n }\n };\n\n private handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n const right = getDOMRect(event.currentTarget).right - event.pageX;\n const bottom = getDOMRect(event.currentTarget).bottom - event.pageY;\n\n this.scrollY?.setHover(right <= 12);\n this.scrollX?.setHover(right >= 12 && bottom <= 12);\n\n this.getProps().showScrollBar === 'hover' &&\n !this.state.isHovered &&\n this.setState({ isScrollBarXVisible: true, isScrollBarYVisible: true, isHovered: true });\n };\n\n private handleMouseLeave = () => {\n this.scrollY?.setHover(false);\n this.scrollX?.setHover(false);\n if (this.getProps().showScrollBar === 'hover') {\n this.setState({ isHovered: false });\n this.hideScrollBar('both');\n }\n };\n\n private updateInnerElement = () => {\n this.scrollX?.setInnerElement(this.inner);\n this.scrollY?.setInnerElement(this.inner);\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ import type { ButtonUse } from '../Button';
4
4
  import type { Nullable } from '../../typings/utility-types';
5
5
  import type { Theme, ThemeIn } from '../../lib/theming/Theme';
6
6
  import type { CommonProps } from '../../internal/CommonWrapper';
7
+ import type { TGetRootNode } from '../../lib/rootNode';
7
8
  import type { SizeProp } from '../../lib/types/props';
8
9
  import { type PopupPositionsType } from '../../internal/Popup';
9
10
  import { Item } from './Item';
@@ -153,6 +154,7 @@ export declare class Select<TValue = {}, TItem = {}> extends React.Component<Sel
153
154
  private menuId;
154
155
  private buttonElement;
155
156
  private getProps;
157
+ getRootNode: TGetRootNode;
156
158
  private setRootNode;
157
159
  componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>): void;
158
160
  render(): React.JSX.Element;
@@ -327,6 +327,7 @@ Select = exports.Select = (_dec = (0, _decorators.locale)('Select', _locale.Sele
327
327
 
328
328
 
329
329
 
330
+
330
331
 
331
332
 
332
333
  /**