@skbkontur/react-ui 5.2.1 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +6 -23
  4. package/cjs/components/Autocomplete/Autocomplete.js +49 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +2 -0
  7. package/cjs/components/Button/Button.js +29 -1
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +6 -0
  10. package/cjs/components/Button/Button.styles.js +107 -75
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  13. package/cjs/components/Calendar/Calendar.js +1 -0
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Center/Center.d.ts +2 -0
  16. package/cjs/components/Center/Center.js +1 -0
  17. package/cjs/components/Center/Center.js.map +1 -1
  18. package/cjs/components/Checkbox/Checkbox.d.ts +2 -12
  19. package/cjs/components/Checkbox/Checkbox.js +2 -14
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
  22. package/cjs/components/ComboBox/ComboBox.js +1 -0
  23. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  24. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  25. package/cjs/components/CurrencyInput/CurrencyInput.js +5 -28
  26. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  27. package/cjs/components/CurrencyInput/constants.js +1 -2
  28. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  29. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  30. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  31. package/cjs/components/DateInput/DateInput.d.ts +2 -0
  32. package/cjs/components/DateInput/DateInput.js +1 -0
  33. package/cjs/components/DateInput/DateInput.js.map +1 -1
  34. package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
  35. package/cjs/components/DatePicker/DatePicker.js +6 -60
  36. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  37. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  38. package/cjs/components/Dropdown/Dropdown.js +2 -82
  39. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  40. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  41. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  42. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  43. package/cjs/components/FxInput/FxInput.d.ts +2 -5
  44. package/cjs/components/FxInput/FxInput.js +2 -7
  45. package/cjs/components/FxInput/FxInput.js.map +1 -1
  46. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  47. package/cjs/components/Gapped/Gapped.js +1 -24
  48. package/cjs/components/Gapped/Gapped.js.map +1 -1
  49. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  50. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  51. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  52. package/cjs/components/Group/Group.d.ts +5 -4
  53. package/cjs/components/Group/Group.js +91 -40
  54. package/cjs/components/Group/Group.js.map +1 -1
  55. package/cjs/components/Group/Group.styles.d.ts +1 -0
  56. package/cjs/components/Group/Group.styles.js +12 -6
  57. package/cjs/components/Group/Group.styles.js.map +1 -1
  58. package/cjs/components/Hint/Hint.d.ts +2 -0
  59. package/cjs/components/Hint/Hint.js +1 -0
  60. package/cjs/components/Hint/Hint.js.map +1 -1
  61. package/cjs/components/Input/Input.d.ts +2 -0
  62. package/cjs/components/Input/Input.js +1 -0
  63. package/cjs/components/Input/Input.js.map +1 -1
  64. package/cjs/components/Kebab/Kebab.d.ts +2 -1
  65. package/cjs/components/Kebab/Kebab.js +2 -26
  66. package/cjs/components/Kebab/Kebab.js.map +1 -1
  67. package/cjs/components/Link/Link.d.ts +2 -0
  68. package/cjs/components/Link/Link.js +1 -0
  69. package/cjs/components/Link/Link.js.map +1 -1
  70. package/cjs/components/Loader/Loader.d.ts +6 -36
  71. package/cjs/components/Loader/Loader.js +3 -57
  72. package/cjs/components/Loader/Loader.js.map +1 -1
  73. package/cjs/components/MaskedInput/MaskedInput.d.ts +1 -0
  74. package/cjs/components/MaskedInput/MaskedInput.js +17 -1
  75. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  76. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  77. package/cjs/components/MenuItem/MenuItem.js +2 -22
  78. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  79. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  80. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  81. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  82. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  83. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  84. package/cjs/components/Modal/Modal.styles.d.ts +1 -0
  85. package/cjs/components/Modal/Modal.styles.js +36 -28
  86. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  87. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  88. package/cjs/components/Modal/ModalBody.js +1 -0
  89. package/cjs/components/Modal/ModalBody.js.map +1 -1
  90. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  91. package/cjs/components/Modal/ModalHeader.js +8 -1
  92. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  93. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  94. package/cjs/components/Paging/DotsIcon.js +13 -0
  95. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  96. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  97. package/cjs/components/Paging/ForwardIcon.js +13 -1
  98. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  99. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  100. package/cjs/components/Paging/NavigationHelper.js +8 -6
  101. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  102. package/cjs/components/Paging/Paging.d.ts +13 -2
  103. package/cjs/components/Paging/Paging.js +120 -50
  104. package/cjs/components/Paging/Paging.js.map +1 -1
  105. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  106. package/cjs/components/Paging/Paging.styles.js +151 -22
  107. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  108. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  109. package/cjs/components/Paging/PagingHelper.js +18 -11
  110. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  111. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -7
  112. package/cjs/components/PasswordInput/PasswordInput.js +2 -11
  113. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  114. package/cjs/components/Radio/Radio.d.ts +2 -0
  115. package/cjs/components/Radio/Radio.js +1 -0
  116. package/cjs/components/Radio/Radio.js.map +1 -1
  117. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
  118. package/cjs/components/RadioGroup/RadioGroup.js +1 -0
  119. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  120. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  121. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  122. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  123. package/cjs/components/Select/Select.d.ts +2 -0
  124. package/cjs/components/Select/Select.js +1 -0
  125. package/cjs/components/Select/Select.js.map +1 -1
  126. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  127. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  128. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  129. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  130. package/cjs/components/SidePage/SidePageBody.js +1 -0
  131. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  132. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  133. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  134. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  135. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  136. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  137. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  138. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  139. package/cjs/components/SidePage/SidePageHeader.js +60 -19
  140. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  141. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  142. package/cjs/components/Spinner/Spinner.js +2 -32
  143. package/cjs/components/Spinner/Spinner.js.map +1 -1
  144. package/cjs/components/Sticky/Sticky.d.ts +2 -13
  145. package/cjs/components/Sticky/Sticky.js +2 -22
  146. package/cjs/components/Sticky/Sticky.js.map +1 -1
  147. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  148. package/cjs/components/Switcher/Switcher.js +11 -20
  149. package/cjs/components/Switcher/Switcher.js.map +1 -1
  150. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  151. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  152. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  153. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  154. package/cjs/components/Tabs/Indicator.js +1 -0
  155. package/cjs/components/Tabs/Indicator.js.map +1 -1
  156. package/cjs/components/Tabs/Tab.d.ts +2 -0
  157. package/cjs/components/Tabs/Tab.js +1 -0
  158. package/cjs/components/Tabs/Tab.js.map +1 -1
  159. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  160. package/cjs/components/Tabs/Tabs.js +1 -0
  161. package/cjs/components/Tabs/Tabs.js.map +1 -1
  162. package/cjs/components/Textarea/Textarea.d.ts +2 -44
  163. package/cjs/components/Textarea/Textarea.js +2 -56
  164. package/cjs/components/Textarea/Textarea.js.map +1 -1
  165. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  166. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  167. package/cjs/components/Toast/Toast.d.ts +2 -0
  168. package/cjs/components/Toast/Toast.js +1 -0
  169. package/cjs/components/Toast/Toast.js.map +1 -1
  170. package/cjs/components/Toast/ToastView.d.ts +2 -14
  171. package/cjs/components/Toast/ToastView.js +3 -22
  172. package/cjs/components/Toast/ToastView.js.map +1 -1
  173. package/cjs/components/Toggle/Toggle.d.ts +2 -10
  174. package/cjs/components/Toggle/Toggle.js +1 -11
  175. package/cjs/components/Toggle/Toggle.js.map +1 -1
  176. package/cjs/components/Token/Token.d.ts +2 -0
  177. package/cjs/components/Token/Token.js +1 -0
  178. package/cjs/components/Token/Token.js.map +1 -1
  179. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  180. package/cjs/components/TokenInput/TokenInput.js +1 -0
  181. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  182. package/cjs/components/Tooltip/Tooltip.d.ts +14 -9
  183. package/cjs/components/Tooltip/Tooltip.js +95 -13
  184. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  185. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  186. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  187. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  188. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  189. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  190. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  191. package/cjs/index.d.ts +1 -0
  192. package/cjs/index.js.map +1 -1
  193. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  194. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  195. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  196. package/cjs/internal/ComponentTable.js +2 -3
  197. package/cjs/internal/ComponentTable.js.map +1 -1
  198. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  199. package/cjs/internal/CustomComboBox/ComboBoxView.js +1 -0
  200. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  201. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  202. package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -0
  203. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  204. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  205. package/cjs/internal/DateSelect/DateSelect.js +1 -18
  206. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  207. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  208. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  209. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  210. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  211. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  212. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -0
  213. package/cjs/internal/InputLikeText/InputLikeText.js +1 -0
  214. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  215. package/cjs/internal/Menu/Menu.d.ts +2 -0
  216. package/cjs/internal/Menu/Menu.js +1 -0
  217. package/cjs/internal/Menu/Menu.js.map +1 -1
  218. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  219. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  220. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  221. package/cjs/internal/Popup/Popup.d.ts +41 -59
  222. package/cjs/internal/Popup/Popup.js +36 -79
  223. package/cjs/internal/Popup/Popup.js.map +1 -1
  224. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  225. package/cjs/internal/Popup/PopupPin.js +2 -35
  226. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  227. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  228. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  229. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  230. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  231. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  232. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  233. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  234. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  235. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  236. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  237. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  238. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  239. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  240. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  241. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  242. package/cjs/internal/ThemePlayground/Playground.js +1 -1
  243. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  244. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  245. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  246. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  247. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  248. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  249. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  250. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  251. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  252. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  253. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  254. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  255. package/cjs/internal/themes/BasicTheme.d.ts +112 -20
  256. package/cjs/internal/themes/BasicTheme.js +149 -18
  257. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  258. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  259. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  260. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  261. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  262. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  263. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  264. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  265. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  266. package/cjs/lib/delay.mts +3 -0
  267. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  268. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  269. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +11 -1
  270. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  271. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  272. package/cjs/lib/forwardRefAndName.js +0 -1
  273. package/cjs/lib/forwardRefAndName.js.map +1 -1
  274. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  275. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  276. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  277. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  278. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  279. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  280. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  281. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  282. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  283. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  284. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  285. package/cjs/lib/utils.d.ts +4 -0
  286. package/cjs/lib/utils.js +5 -1
  287. package/cjs/lib/utils.js.map +1 -1
  288. package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -45
  289. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  290. package/components/Autocomplete/Autocomplete.d.ts +6 -23
  291. package/components/Button/Button/Button.js +26 -5
  292. package/components/Button/Button/Button.js.map +1 -1
  293. package/components/Button/Button.d.ts +2 -0
  294. package/components/Button/Button.styles/Button.styles.js +78 -60
  295. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  296. package/components/Button/Button.styles.d.ts +6 -0
  297. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  298. package/components/Calendar/Calendar.d.ts +2 -0
  299. package/components/Center/Center/Center.js.map +1 -1
  300. package/components/Center/Center.d.ts +2 -0
  301. package/components/Checkbox/Checkbox/Checkbox.js +0 -11
  302. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  303. package/components/Checkbox/Checkbox.d.ts +2 -12
  304. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  305. package/components/ComboBox/ComboBox.d.ts +2 -0
  306. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +12 -36
  307. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  308. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  309. package/components/CurrencyInput/constants/constants.js +0 -1
  310. package/components/CurrencyInput/constants/constants.js.map +1 -1
  311. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  312. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  313. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  314. package/components/DateInput/DateInput.d.ts +2 -0
  315. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  316. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  317. package/components/DatePicker/DatePicker.d.ts +6 -33
  318. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  319. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  320. package/components/Dropdown/Dropdown.d.ts +2 -47
  321. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  322. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  323. package/components/FxInput/FxInput/FxInput.js +1 -5
  324. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  325. package/components/FxInput/FxInput.d.ts +2 -5
  326. package/components/Gapped/Gapped/Gapped.js +1 -15
  327. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  328. package/components/Gapped/Gapped.d.ts +2 -15
  329. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  330. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  331. package/components/Group/Group/Group.js +64 -28
  332. package/components/Group/Group/Group.js.map +1 -1
  333. package/components/Group/Group.d.ts +5 -4
  334. package/components/Group/Group.styles/Group.styles.js +9 -6
  335. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  336. package/components/Group/Group.styles.d.ts +1 -0
  337. package/components/Hint/Hint/Hint.js.map +1 -1
  338. package/components/Hint/Hint.d.ts +2 -0
  339. package/components/Input/Input/Input.js.map +1 -1
  340. package/components/Input/Input.d.ts +2 -0
  341. package/components/Kebab/Kebab/Kebab.js +2 -20
  342. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  343. package/components/Kebab/Kebab.d.ts +2 -1
  344. package/components/Link/Link/Link.js.map +1 -1
  345. package/components/Link/Link.d.ts +2 -0
  346. package/components/Loader/Loader/Loader.js +0 -33
  347. package/components/Loader/Loader/Loader.js.map +1 -1
  348. package/components/Loader/Loader.d.ts +6 -36
  349. package/components/MaskedInput/MaskedInput/MaskedInput.js +14 -0
  350. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  351. package/components/MaskedInput/MaskedInput.d.ts +1 -0
  352. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  353. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  354. package/components/MenuItem/MenuItem.d.ts +2 -12
  355. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  356. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  357. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  358. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  359. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  360. package/components/Modal/Modal.styles/Modal.styles.js +31 -28
  361. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  362. package/components/Modal/Modal.styles.d.ts +1 -0
  363. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  364. package/components/Modal/ModalBody.d.ts +2 -0
  365. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  366. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  367. package/components/Modal/ModalHeader.d.ts +5 -0
  368. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  369. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  370. package/components/Paging/DotsIcon/package.json +6 -0
  371. package/components/Paging/DotsIcon.d.ts +3 -0
  372. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  373. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  374. package/components/Paging/ForwardIcon.d.ts +3 -0
  375. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  376. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  377. package/components/Paging/NavigationHelper.d.ts +3 -2
  378. package/components/Paging/Paging/Paging.js +96 -47
  379. package/components/Paging/Paging/Paging.js.map +1 -1
  380. package/components/Paging/Paging.d.ts +13 -2
  381. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  382. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  383. package/components/Paging/Paging.styles.d.ts +24 -1
  384. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  385. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  386. package/components/Paging/PagingHelper.d.ts +1 -1
  387. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
  388. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  389. package/components/PasswordInput/PasswordInput.d.ts +2 -7
  390. package/components/Radio/Radio/Radio.js.map +1 -1
  391. package/components/Radio/Radio.d.ts +2 -0
  392. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  393. package/components/RadioGroup/RadioGroup.d.ts +2 -0
  394. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  395. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  396. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  397. package/components/Select/Select/Select.js.map +1 -1
  398. package/components/Select/Select.d.ts +2 -0
  399. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  400. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  401. package/components/SidePage/SidePage.styles.d.ts +3 -1
  402. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  403. package/components/SidePage/SidePageBody.d.ts +2 -0
  404. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  405. package/components/SidePage/SidePageContainer.d.ts +2 -0
  406. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  407. package/components/SidePage/SidePageFooter.d.ts +2 -0
  408. package/components/SidePage/SidePageHeader/SidePageHeader.js +61 -39
  409. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  410. package/components/SidePage/SidePageHeader.d.ts +12 -2
  411. package/components/Spinner/Spinner/Spinner.js +1 -18
  412. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  413. package/components/Spinner/Spinner.d.ts +2 -18
  414. package/components/Sticky/Sticky/Sticky.js +1 -13
  415. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  416. package/components/Sticky/Sticky.d.ts +2 -13
  417. package/components/Switcher/Switcher/Switcher.js +19 -16
  418. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  419. package/components/Switcher/Switcher.d.ts +6 -21
  420. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  421. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  422. package/components/Switcher/Switcher.styles.d.ts +1 -0
  423. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  424. package/components/Tabs/Indicator.d.ts +2 -0
  425. package/components/Tabs/Tab/Tab.js.map +1 -1
  426. package/components/Tabs/Tab.d.ts +2 -0
  427. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  428. package/components/Tabs/Tabs.d.ts +2 -0
  429. package/components/Textarea/Textarea/Textarea.js +1 -44
  430. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  431. package/components/Textarea/Textarea.d.ts +2 -44
  432. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  433. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  434. package/components/Toast/Toast/Toast.js.map +1 -1
  435. package/components/Toast/Toast.d.ts +2 -0
  436. package/components/Toast/ToastView/ToastView.js +3 -17
  437. package/components/Toast/ToastView/ToastView.js.map +1 -1
  438. package/components/Toast/ToastView.d.ts +2 -14
  439. package/components/Toggle/Toggle/Toggle.js +1 -10
  440. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  441. package/components/Toggle/Toggle.d.ts +2 -10
  442. package/components/Token/Token/Token.js.map +1 -1
  443. package/components/Token/Token.d.ts +2 -0
  444. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  445. package/components/TokenInput/TokenInput.d.ts +2 -0
  446. package/components/Tooltip/Tooltip/Tooltip.js +67 -20
  447. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  448. package/components/Tooltip/Tooltip.d.ts +14 -9
  449. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  450. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  451. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  452. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  453. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  454. package/index.d.ts +1 -0
  455. package/index.js +1 -0
  456. package/index.js.map +1 -1
  457. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  458. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  459. package/internal/ComponentTable/ComponentTable.js +0 -2
  460. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  461. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  462. package/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  463. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  464. package/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  465. package/internal/DateSelect/DateSelect/DateSelect.js +1 -10
  466. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  467. package/internal/DateSelect/DateSelect.d.ts +0 -10
  468. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  469. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  470. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  471. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  472. package/internal/InputLikeText/InputLikeText.d.ts +2 -0
  473. package/internal/Menu/Menu/Menu.js.map +1 -1
  474. package/internal/Menu/Menu.d.ts +2 -0
  475. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  476. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  477. package/internal/Popup/Popup/Popup.js +14 -64
  478. package/internal/Popup/Popup/Popup.js.map +1 -1
  479. package/internal/Popup/Popup.d.ts +41 -59
  480. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  481. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  482. package/internal/Popup/PopupPin.d.ts +23 -33
  483. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  484. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  485. package/internal/Popup/PopupPinNew/package.json +6 -0
  486. package/internal/Popup/PopupPinNew.d.ts +31 -0
  487. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  488. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  489. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  490. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  491. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  492. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  493. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  494. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  495. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  496. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  497. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  498. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  499. package/internal/ThemePlayground/Playground/Playground.js +4 -3
  500. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  501. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  502. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  503. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  504. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  505. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  506. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  507. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  508. package/internal/ZIndex/ZIndex.d.ts +3 -3
  509. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  510. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  511. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  512. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  513. package/internal/themes/BasicTheme/BasicTheme.js +170 -26
  514. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  515. package/internal/themes/BasicTheme.d.ts +112 -20
  516. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  517. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  518. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  519. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  520. package/internal/themes/DarkTheme5_3/package.json +6 -0
  521. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  522. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  523. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  524. package/internal/themes/LightTheme5_3/package.json +6 -0
  525. package/internal/themes/LightTheme5_3.d.ts +1 -0
  526. package/lib/delay.d.mts +1 -0
  527. package/lib/delay.mts +3 -0
  528. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  529. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -1
  530. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  531. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  532. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  533. package/lib/forwardRefAndName.d.ts +1 -1
  534. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  535. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  536. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  537. package/lib/theming/ThemeVersions.d.ts +1 -1
  538. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  539. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  540. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  541. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  542. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  543. package/lib/theming/themes/LightTheme.d.ts +1 -0
  544. package/lib/utils/utils.js +2 -0
  545. package/lib/utils/utils.js.map +1 -1
  546. package/lib/utils.d.ts +4 -0
  547. package/package.json +10 -13
  548. package/cjs/lib/SSRSafe.d.ts +0 -2
  549. package/cjs/lib/SSRSafe.js +0 -5
  550. package/cjs/lib/SSRSafe.js.map +0 -1
  551. package/lib/SSRSafe/SSRSafe.js +0 -4
  552. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  553. package/lib/SSRSafe/package.json +0 -6
  554. package/lib/SSRSafe.d.ts +0 -2
@@ -1,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 type { SizeProp } from '../../lib/types/props';
5
6
  import { Tab } from './Tab';
6
7
  type ValueBaseType = string;
@@ -44,6 +45,7 @@ export declare class Tabs<T extends string = string> extends React.Component<Tab
44
45
  private tabs;
45
46
  private tabUpdates;
46
47
  private listeners;
48
+ getRootNode: TGetRootNode;
47
49
  private setRootNode;
48
50
  render(): JSX.Element;
49
51
  private shiftFocus;
@@ -4,7 +4,6 @@ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
4
  var _excluded = ["width", "error", "warning", "size", "autoResize", "resize", "onCut", "onPaste", "maxRows", "onFocus", "selectAllOnFocus", "placeholder", "onValueChange", "showLengthCounter", "lengthCounter", "counterHelp", "extraRow", "disableAnimations", "disabled"];
5
5
  var _class, _Textarea;
6
6
  import React from 'react';
7
- import PropTypes from 'prop-types';
8
7
  import throttle from 'lodash.throttle';
9
8
  import { globalObject } from '@skbkontur/global-object';
10
9
  import { isKeyEnter } from "../../../lib/events/keyboard/identifiers";
@@ -387,49 +386,7 @@ export var Textarea = rootNode(_class = (_Textarea = /*#__PURE__*/function (_Rea
387
386
  }
388
387
  };
389
388
  return Textarea;
390
- }(React.Component), _Textarea.__KONTUR_REACT_UI__ = 'Textarea', _Textarea.displayName = 'Textarea', _Textarea.propTypes = {
391
- error: PropTypes.bool,
392
- warning: PropTypes.bool,
393
- disabled: PropTypes.bool,
394
- autoResize: PropTypes.bool,
395
- extraRow: PropTypes.bool,
396
- disableAnimations: PropTypes.bool,
397
- maxRows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
398
- resize: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
399
- width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
400
- id: PropTypes.string,
401
- name: PropTypes.string,
402
- title: PropTypes.string,
403
- spellCheck: PropTypes.bool,
404
- role: PropTypes.string,
405
- maxLength: PropTypes.number,
406
- tabIndex: PropTypes.number,
407
- rows: PropTypes.number,
408
- placeholder: PropTypes.string,
409
- value: PropTypes.string,
410
- defaultValue: PropTypes.string,
411
- onValueChange: PropTypes.func,
412
- onMouseEnter: PropTypes.func,
413
- onMouseLeave: PropTypes.func,
414
- onMouseOver: PropTypes.func,
415
- onMouseMove: PropTypes.func,
416
- onMouseOut: PropTypes.func,
417
- onMouseUp: PropTypes.func,
418
- onMouseDown: PropTypes.func,
419
- onClick: PropTypes.func,
420
- onDoubleClick: PropTypes.func,
421
- onKeyDown: PropTypes.func,
422
- onKeyPress: PropTypes.func,
423
- onKeyUp: PropTypes.func,
424
- onInput: PropTypes.func,
425
- onFocus: PropTypes.func,
426
- onBlur: PropTypes.func,
427
- onScroll: PropTypes.func,
428
- onWheel: PropTypes.func,
429
- onCut: PropTypes.func,
430
- onPaste: PropTypes.func,
431
- onCopy: PropTypes.func
432
- }, _Textarea.defaultProps = {
389
+ }(React.Component), _Textarea.__KONTUR_REACT_UI__ = 'Textarea', _Textarea.displayName = 'Textarea', _Textarea.defaultProps = {
433
390
  rows: 3,
434
391
  maxRows: 15,
435
392
  extraRow: true,
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","throttle","globalObject","isKeyEnter","needsPolyfillPlaceholder","LayoutEvents","ThemeContext","RenderLayer","ResizeDetector","isIE11","isSafariWithTextareaBug","CommonWrapper","isTestEnv","cx","rootNode","createPropsGetter","getTextAreaHeight","styles","TextareaCounter","TextareaWithSafari17Workaround","DEFAULT_WIDTH","AUTORESIZE_THROTTLE_DEFAULT_WAIT","TextareaDataTids","root","counter","helpIcon","Textarea","_class","_Textarea","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","isCounterVisible","reflowCounter","reflow","selectAllId","textareaObserver","MutationObserver","setSelectionRange","start","end","_globalObject$documen","node","Error","document","activeElement","focus","selectAll","value","delaySelectAll","_globalObject$request","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","renderMain","props","_cx","_ref","_textareaProps$maxLen","_cx2","_props$width","width","error","warning","size","autoResize","resize","onCut","onPaste","maxRows","onFocus","selectAllOnFocus","placeholder","onValueChange","showLengthCounter","lengthCounter","counterHelp","extraRow","disableAnimations","disabled","textareaProps","_objectWithoutPropertiesLoose","_excluded","rootProps","style","textareaClassNames","getTextareaSizeClassName","textarea","theme","hovering","isAnimationsDisabled","textareaStyle","placeholderPolyfill","defaultValue","createElement","className","fakeTextarea","fakeProps","fake","readOnly","_extends","ref","refFake","help","maxLength","onCloseHelp","handleCloseCounterHelp","refCounter","Component","onFocusOutside","onClickOutside","active","getRootSizeClassName","onResize","undefined","onChange","handleChange","handleCut","handlePaste","handleFocus","onKeyDown","handleKeyDown","children","setState","e","toString","isBlockEnter","preventDefault","fieldIsEmpty","target","element","fakeNode","autoResizeHandler","_this$getProps","rows","_ref2","minRows","parseInt","height","exceededMaxHeight","overflowY","getAutoResizeThrottleWait","event","_inheritsLoose","_proto","prototype","rootLarge","rootMedium","rootSmall","textareaLarge","textareaMedium","textareaSmall","_temp","_ref3","componentDidMount","layoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","cancel","_this$getProps2","render","_this2","Consumer","rootNodeRef","setRootNode","blur","__KONTUR_REACT_UI__","displayName","propTypes","bool","oneOfType","string","number","id","name","title","spellCheck","role","tabIndex","func","onMouseEnter","onMouseLeave","onMouseOver","onMouseMove","onMouseOut","onMouseUp","onMouseDown","onClick","onDoubleClick","onKeyPress","onKeyUp","onInput","onBlur","onScroll","onWheel","onCopy"],"sources":["Textarea.tsx"],"sourcesContent":["import type { AriaAttributes, ReactNode } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport throttle from 'lodash.throttle';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { isIE11, isSafariWithTextareaBug } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport type { TextareaCounterRef } from './TextareaCounter';\nimport { TextareaCounter } from './TextareaCounter';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround';\n\nconst DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает размер компонента. */\n size?: SizeProp;\n\n /** Выполняет автоматический ресайз в зависимости от содержимого. */\n autoResize?: boolean;\n\n /** Задает высоту текстарии в виде числа строк видимых без скролла. */\n rows?: number;\n\n /** Задает максимальное число строк при автоматическом ресайзе. */\n maxRows?: string | number;\n\n /** Задает направления ресайза компонента.\n * Попадает в `style`. */\n resize?: React.CSSProperties['resize'];\n\n /** Задает ширину текстэрии. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая вызывается при изменении `value`. */\n onValueChange?: (value: string) => void;\n\n /** Определяет, нужно ли выделять введенное значение при фокусе. Работает с типами text, password, tel, search, url. */\n selectAllOnFocus?: boolean;\n\n /** Определяет, нужно ли показывать счетчик символов. */\n showLengthCounter?: boolean;\n\n /** Задает допустимое количество символов в поле. Отображается в счетчике.\n * @default maxLength */\n lengthCounter?: number;\n\n /** Задает подсказку к счетчику символов.\n * По умолчанию - тултип с содержимым из пропа, если передан `ReactNode`.\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой.\n * @example\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ``` */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавляет дополнительную свободную строку при авто-ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04 */\n extraRow?: boolean;\n\n /** Отключает анимацию при авто-ресайзе. Автоматически отключается когда в `extraRow` передан `false`. */\n disableAnimations?: boolean;\n }\n > {}\n\nexport interface TextareaState {\n needsPolyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\nexport const TextareaDataTids = {\n root: 'Textarea__root',\n counter: 'TextareaCounter__root',\n helpIcon: 'TextareaCounter__helpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations' | 'size'>>;\n\n/**\n * Многострочное поле `Textarea` — это поле ввода, которое позволяет работать с несколькими строками текста.\n *\n * Принимает все атрибуты `React.TextareaHTMLAttributes<HTMLTextAreaElement>`.\n * Пропы **`className` и `style` игнорируются**.\n */\n@rootNode\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n public static displayName = 'Textarea';\n\n public static propTypes = {\n error: PropTypes.bool,\n warning: PropTypes.bool,\n disabled: PropTypes.bool,\n\n autoResize: PropTypes.bool,\n extraRow: PropTypes.bool,\n disableAnimations: PropTypes.bool,\n maxRows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n resize: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n id: PropTypes.string,\n name: PropTypes.string,\n title: PropTypes.string,\n spellCheck: PropTypes.bool,\n role: PropTypes.string,\n maxLength: PropTypes.number,\n tabIndex: PropTypes.number,\n rows: PropTypes.number,\n placeholder: PropTypes.string,\n\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n onValueChange: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseOut: PropTypes.func,\n\n onMouseUp: PropTypes.func,\n onMouseDown: PropTypes.func,\n onClick: PropTypes.func,\n onDoubleClick: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n onKeyPress: PropTypes.func,\n onKeyUp: PropTypes.func,\n onInput: PropTypes.func,\n\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n\n onScroll: PropTypes.func,\n onWheel: PropTypes.func,\n\n onCut: PropTypes.func,\n onPaste: PropTypes.func,\n onCopy: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\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 getTextareaSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.textareaLarge(this.theme);\n case 'medium':\n return styles.textareaMedium(this.theme);\n case 'small':\n default:\n return styles.textareaSmall(this.theme);\n }\n }\n\n public state = {\n needsPolyfillPlaceholder,\n isCounterVisible: false,\n };\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver = globalObject.MutationObserver\n ? new globalObject.MutationObserver(this.reflowCounter)\n : null;\n private setRootNode!: TSetRootNode;\n private getAutoResizeThrottleWait(props: TextareaProps = this.props): number {\n // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты\n // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120\n return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;\n }\n private isAnimationsDisabled({ disableAnimations, extraRow }: TextareaProps = this.props): boolean {\n return disableAnimations || !extraRow;\n }\n\n public componentDidMount() {\n if (this.props.autoResize) {\n this.autoResize();\n this.layoutEvents = LayoutEvents.addListener(this.autoResize);\n }\n\n if (this.node && this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.observe(this.node, { attributes: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n if (this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.disconnect();\n }\n this.cancelDelayedSelectAll();\n }\n\n public componentDidUpdate(prevProps: TextareaProps) {\n if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {\n this.autoResize.cancel();\n this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n }\n const { rows, maxRows } = this.getProps();\n if (\n this.props.autoResize &&\n (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)\n ) {\n this.autoResize();\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 if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange = (start: number, end: number) => {\n if (!this.node) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /**\n * @public\n */\n public selectAll = () => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n size,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = cx(this.getTextareaSizeClassName(), {\n [styles.textarea(this.theme)]: true,\n [styles.hovering(this.theme)]: !error && !warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.error(this.theme)]: !!error,\n [styles.warning(this.theme)]: !!warning,\n [styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: cx(textareaClassNames, styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n size={this.getProps().size}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n const Component = isSafariWithTextareaBug ? TextareaWithSafari17Workaround : 'textarea';\n\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={this.state.isCounterVisible}\n >\n <label\n data-tid={TextareaDataTids.root}\n {...rootProps}\n className={cx(this.getRootSizeClassName(), {\n [styles.root()]: true,\n })}\n >\n {placeholderPolyfill}\n <ResizeDetector onResize={this.reflowCounter}>\n <Component\n {...textareaProps}\n className={textareaClassNames}\n style={textareaStyle}\n placeholder={!placeholderPolyfill ? placeholder : undefined}\n ref={this.ref}\n onChange={this.handleChange}\n onCut={this.handleCut}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n disabled={disabled}\n >\n {this.props.children}\n </Component>\n </ResizeDetector>\n {fakeTextarea}\n {counter}\n </label>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // Edge bug: textarea maxlength doesn't work after new line\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/18833616/\n const value = this.props.value !== undefined ? this.props.value.toString() : null;\n const isBlockEnter = isKeyEnter(e) && value !== null && value.length === this.props.maxLength;\n\n if (isBlockEnter) {\n e.preventDefault();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = e.target.value === '';\n\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(e.target.value);\n }\n\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n\n this.reflowCounter();\n };\n\n private ref = (element: HTMLTextAreaElement) => {\n this.node = element;\n };\n\n private refFake = (element: HTMLTextAreaElement) => {\n this.fakeNode = element;\n };\n\n private refCounter = (ref: TextareaCounterRef | null) => {\n this.counter = ref;\n };\n\n private autoResizeHandler = () => {\n const fakeNode = this.fakeNode;\n if (!fakeNode) {\n return;\n }\n const node = this.node;\n if (!node) {\n return;\n }\n if (this.props.value === undefined) {\n fakeNode.value = node.value;\n }\n\n const { rows, maxRows } = this.getProps();\n if (rows === undefined || maxRows === undefined) {\n return;\n }\n\n const { height, exceededMaxHeight } =\n getTextAreaHeight({\n node: fakeNode,\n minRows: typeof rows === 'number' ? rows : parseInt(rows, 10),\n maxRows: typeof maxRows === 'number' ? maxRows : parseInt(maxRows, 10),\n extraRow: this.getProps().extraRow,\n }) || {};\n\n if (height === undefined || exceededMaxHeight === undefined) {\n return;\n }\n\n node.style.height = height + 'px';\n node.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n fakeNode.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n };\n\n private autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n\n private handleCut = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onCut) {\n this.props.onCut(event);\n }\n\n this.reflowCounter();\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n this.reflowCounter();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({ isCounterVisible: true });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.node && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","throttle","globalObject","isKeyEnter","needsPolyfillPlaceholder","LayoutEvents","ThemeContext","RenderLayer","ResizeDetector","isIE11","isSafariWithTextareaBug","CommonWrapper","isTestEnv","cx","rootNode","createPropsGetter","getTextAreaHeight","styles","TextareaCounter","TextareaWithSafari17Workaround","DEFAULT_WIDTH","AUTORESIZE_THROTTLE_DEFAULT_WAIT","TextareaDataTids","root","counter","helpIcon","Textarea","_class","_Textarea","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","isCounterVisible","reflowCounter","reflow","selectAllId","textareaObserver","MutationObserver","setSelectionRange","start","end","_globalObject$documen","node","Error","document","activeElement","focus","selectAll","value","delaySelectAll","_globalObject$request","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","renderMain","props","_cx","_ref","_textareaProps$maxLen","_cx2","_props$width","width","error","warning","size","autoResize","resize","onCut","onPaste","maxRows","onFocus","selectAllOnFocus","placeholder","onValueChange","showLengthCounter","lengthCounter","counterHelp","extraRow","disableAnimations","disabled","textareaProps","_objectWithoutPropertiesLoose","_excluded","rootProps","style","textareaClassNames","getTextareaSizeClassName","textarea","theme","hovering","isAnimationsDisabled","textareaStyle","placeholderPolyfill","defaultValue","createElement","className","fakeTextarea","fakeProps","fake","readOnly","_extends","ref","refFake","help","maxLength","onCloseHelp","handleCloseCounterHelp","refCounter","Component","onFocusOutside","onClickOutside","active","getRootSizeClassName","onResize","undefined","onChange","handleChange","handleCut","handlePaste","handleFocus","onKeyDown","handleKeyDown","children","setState","e","toString","isBlockEnter","preventDefault","fieldIsEmpty","target","element","fakeNode","autoResizeHandler","_this$getProps","rows","_ref2","minRows","parseInt","height","exceededMaxHeight","overflowY","getAutoResizeThrottleWait","event","_inheritsLoose","_proto","prototype","rootLarge","rootMedium","rootSmall","textareaLarge","textareaMedium","textareaSmall","_temp","_ref3","componentDidMount","layoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","cancel","_this$getProps2","render","_this2","Consumer","rootNodeRef","setRootNode","blur","__KONTUR_REACT_UI__","displayName"],"sources":["Textarea.tsx"],"sourcesContent":["import type { AriaAttributes, ReactNode } from 'react';\nimport React from 'react';\nimport throttle from 'lodash.throttle';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { isIE11, isSafariWithTextareaBug } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport type { TextareaCounterRef } from './TextareaCounter';\nimport { TextareaCounter } from './TextareaCounter';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround';\n\nconst DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает размер компонента. */\n size?: SizeProp;\n\n /** Выполняет автоматический ресайз в зависимости от содержимого. */\n autoResize?: boolean;\n\n /** Задает высоту текстарии в виде числа строк видимых без скролла. */\n rows?: number;\n\n /** Задает максимальное число строк при автоматическом ресайзе. */\n maxRows?: string | number;\n\n /** Задает направления ресайза компонента.\n * Попадает в `style`. */\n resize?: React.CSSProperties['resize'];\n\n /** Задает ширину текстэрии. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая вызывается при изменении `value`. */\n onValueChange?: (value: string) => void;\n\n /** Определяет, нужно ли выделять введенное значение при фокусе. Работает с типами text, password, tel, search, url. */\n selectAllOnFocus?: boolean;\n\n /** Определяет, нужно ли показывать счетчик символов. */\n showLengthCounter?: boolean;\n\n /** Задает допустимое количество символов в поле. Отображается в счетчике.\n * @default maxLength */\n lengthCounter?: number;\n\n /** Задает подсказку к счетчику символов.\n * По умолчанию - тултип с содержимым из пропа, если передан `ReactNode`.\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой.\n * @example\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ``` */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавляет дополнительную свободную строку при авто-ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04 */\n extraRow?: boolean;\n\n /** Отключает анимацию при авто-ресайзе. Автоматически отключается когда в `extraRow` передан `false`. */\n disableAnimations?: boolean;\n }\n > {}\n\nexport interface TextareaState {\n needsPolyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\nexport const TextareaDataTids = {\n root: 'Textarea__root',\n counter: 'TextareaCounter__root',\n helpIcon: 'TextareaCounter__helpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations' | 'size'>>;\n\n/**\n * Многострочное поле `Textarea` — это поле ввода, которое позволяет работать с несколькими строками текста.\n *\n * Принимает все атрибуты `React.TextareaHTMLAttributes<HTMLTextAreaElement>`.\n * Пропы **`className` и `style` игнорируются**.\n */\n@rootNode\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n public static displayName = 'Textarea';\n\n public static defaultProps: DefaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\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 getTextareaSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.textareaLarge(this.theme);\n case 'medium':\n return styles.textareaMedium(this.theme);\n case 'small':\n default:\n return styles.textareaSmall(this.theme);\n }\n }\n\n public state = {\n needsPolyfillPlaceholder,\n isCounterVisible: false,\n };\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver = globalObject.MutationObserver\n ? new globalObject.MutationObserver(this.reflowCounter)\n : null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private getAutoResizeThrottleWait(props: TextareaProps = this.props): number {\n // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты\n // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120\n return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;\n }\n private isAnimationsDisabled({ disableAnimations, extraRow }: TextareaProps = this.props): boolean {\n return disableAnimations || !extraRow;\n }\n\n public componentDidMount() {\n if (this.props.autoResize) {\n this.autoResize();\n this.layoutEvents = LayoutEvents.addListener(this.autoResize);\n }\n\n if (this.node && this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.observe(this.node, { attributes: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n if (this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.disconnect();\n }\n this.cancelDelayedSelectAll();\n }\n\n public componentDidUpdate(prevProps: TextareaProps) {\n if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {\n this.autoResize.cancel();\n this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n }\n const { rows, maxRows } = this.getProps();\n if (\n this.props.autoResize &&\n (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)\n ) {\n this.autoResize();\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 if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange = (start: number, end: number) => {\n if (!this.node) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /**\n * @public\n */\n public selectAll = () => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n size,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = cx(this.getTextareaSizeClassName(), {\n [styles.textarea(this.theme)]: true,\n [styles.hovering(this.theme)]: !error && !warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.error(this.theme)]: !!error,\n [styles.warning(this.theme)]: !!warning,\n [styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: cx(textareaClassNames, styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n size={this.getProps().size}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n const Component = isSafariWithTextareaBug ? TextareaWithSafari17Workaround : 'textarea';\n\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={this.state.isCounterVisible}\n >\n <label\n data-tid={TextareaDataTids.root}\n {...rootProps}\n className={cx(this.getRootSizeClassName(), {\n [styles.root()]: true,\n })}\n >\n {placeholderPolyfill}\n <ResizeDetector onResize={this.reflowCounter}>\n <Component\n {...textareaProps}\n className={textareaClassNames}\n style={textareaStyle}\n placeholder={!placeholderPolyfill ? placeholder : undefined}\n ref={this.ref}\n onChange={this.handleChange}\n onCut={this.handleCut}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n disabled={disabled}\n >\n {this.props.children}\n </Component>\n </ResizeDetector>\n {fakeTextarea}\n {counter}\n </label>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // Edge bug: textarea maxlength doesn't work after new line\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/18833616/\n const value = this.props.value !== undefined ? this.props.value.toString() : null;\n const isBlockEnter = isKeyEnter(e) && value !== null && value.length === this.props.maxLength;\n\n if (isBlockEnter) {\n e.preventDefault();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = e.target.value === '';\n\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(e.target.value);\n }\n\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n\n this.reflowCounter();\n };\n\n private ref = (element: HTMLTextAreaElement) => {\n this.node = element;\n };\n\n private refFake = (element: HTMLTextAreaElement) => {\n this.fakeNode = element;\n };\n\n private refCounter = (ref: TextareaCounterRef | null) => {\n this.counter = ref;\n };\n\n private autoResizeHandler = () => {\n const fakeNode = this.fakeNode;\n if (!fakeNode) {\n return;\n }\n const node = this.node;\n if (!node) {\n return;\n }\n if (this.props.value === undefined) {\n fakeNode.value = node.value;\n }\n\n const { rows, maxRows } = this.getProps();\n if (rows === undefined || maxRows === undefined) {\n return;\n }\n\n const { height, exceededMaxHeight } =\n getTextAreaHeight({\n node: fakeNode,\n minRows: typeof rows === 'number' ? rows : parseInt(rows, 10),\n maxRows: typeof maxRows === 'number' ? maxRows : parseInt(maxRows, 10),\n extraRow: this.getProps().extraRow,\n }) || {};\n\n if (height === undefined || exceededMaxHeight === undefined) {\n return;\n }\n\n node.style.height = height + 'px';\n node.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n fakeNode.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n };\n\n private autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n\n private handleCut = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onCut) {\n this.props.onCut(event);\n }\n\n this.reflowCounter();\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n this.reflowCounter();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({ isCounterVisible: true });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.node && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import type { AriaAttributes, ReactNode } from 'react';
2
2
  import React from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import type { Override } from '../../typings/utility-types';
5
4
  import type { CommonProps } from '../../internal/CommonWrapper';
5
+ import type { TGetRootNode } from '../../lib/rootNode';
6
6
  import type { SizeProp } from '../../lib/types/props';
7
7
  export interface TextareaProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<React.TextareaHTMLAttributes<HTMLTextAreaElement>, {
8
8
  /** Переводит контрол в состояние валидации "ошибка". */
@@ -67,49 +67,6 @@ type DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow'
67
67
  export declare class Textarea extends React.Component<TextareaProps, TextareaState> {
68
68
  static __KONTUR_REACT_UI__: string;
69
69
  static displayName: string;
70
- static propTypes: {
71
- error: PropTypes.Requireable<boolean>;
72
- warning: PropTypes.Requireable<boolean>;
73
- disabled: PropTypes.Requireable<boolean>;
74
- autoResize: PropTypes.Requireable<boolean>;
75
- extraRow: PropTypes.Requireable<boolean>;
76
- disableAnimations: PropTypes.Requireable<boolean>;
77
- maxRows: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
78
- resize: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
79
- width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
80
- id: PropTypes.Requireable<string>;
81
- name: PropTypes.Requireable<string>;
82
- title: PropTypes.Requireable<string>;
83
- spellCheck: PropTypes.Requireable<boolean>;
84
- role: PropTypes.Requireable<string>;
85
- maxLength: PropTypes.Requireable<number>;
86
- tabIndex: PropTypes.Requireable<number>;
87
- rows: PropTypes.Requireable<number>;
88
- placeholder: PropTypes.Requireable<string>;
89
- value: PropTypes.Requireable<string>;
90
- defaultValue: PropTypes.Requireable<string>;
91
- onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
92
- onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
93
- onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
94
- onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
95
- onMouseMove: PropTypes.Requireable<(...args: any[]) => any>;
96
- onMouseOut: PropTypes.Requireable<(...args: any[]) => any>;
97
- onMouseUp: PropTypes.Requireable<(...args: any[]) => any>;
98
- onMouseDown: PropTypes.Requireable<(...args: any[]) => any>;
99
- onClick: PropTypes.Requireable<(...args: any[]) => any>;
100
- onDoubleClick: PropTypes.Requireable<(...args: any[]) => any>;
101
- onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
102
- onKeyPress: PropTypes.Requireable<(...args: any[]) => any>;
103
- onKeyUp: PropTypes.Requireable<(...args: any[]) => any>;
104
- onInput: PropTypes.Requireable<(...args: any[]) => any>;
105
- onFocus: PropTypes.Requireable<(...args: any[]) => any>;
106
- onBlur: PropTypes.Requireable<(...args: any[]) => any>;
107
- onScroll: PropTypes.Requireable<(...args: any[]) => any>;
108
- onWheel: PropTypes.Requireable<(...args: any[]) => any>;
109
- onCut: PropTypes.Requireable<(...args: any[]) => any>;
110
- onPaste: PropTypes.Requireable<(...args: any[]) => any>;
111
- onCopy: PropTypes.Requireable<(...args: any[]) => any>;
112
- };
113
70
  static defaultProps: DefaultProps;
114
71
  private getProps;
115
72
  private getRootSizeClassName;
@@ -126,6 +83,7 @@ export declare class Textarea extends React.Component<TextareaProps, TextareaSta
126
83
  private counter;
127
84
  private layoutEvents;
128
85
  private textareaObserver;
86
+ getRootNode: TGetRootNode;
129
87
  private setRootNode;
130
88
  private getAutoResizeThrottleWait;
131
89
  private isAnimationsDisabled;
@@ -1,7 +1,4 @@
1
1
  import React, { useContext, useCallback, useImperativeHandle, useState } from 'react';
2
- import propTypes from 'prop-types';
3
- import { globalObject } from '@skbkontur/global-object';
4
- import { safePropTypesInstanceOf } from "../../../lib/SSRSafe";
5
2
  import { forwardRefAndName } from "../../../lib/forwardRefAndName";
6
3
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
7
4
  import { isFunction } from "../../../lib/utils";
@@ -87,11 +84,4 @@ export var TextareaCounter = forwardRefAndName('TextareaCounter', function (_ref
87
84
  className: styles.counterHelp()
88
85
  }, counterHelp)))
89
86
  );
90
- });
91
- TextareaCounter.propTypes = {
92
- length: propTypes.number.isRequired,
93
- value: propTypes.oneOfType([propTypes.string, propTypes.number]),
94
- help: propTypes.oneOfType([propTypes.node, propTypes.func]),
95
- onCloseHelp: propTypes.func.isRequired,
96
- textarea: safePropTypesInstanceOf(globalObject.HTMLTextAreaElement).isRequired
97
- };
87
+ });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useContext","useCallback","useImperativeHandle","useState","propTypes","globalObject","safePropTypesInstanceOf","forwardRefAndName","ThemeContext","isFunction","Tooltip","cx","QuestionCircleIcon16Solid","TextareaDataTids","styles","handleHelpMouseDown","e","preventDefault","TextareaCounter","_ref","ref","_cx","length","value","help","onCloseHelp","textarea","size","theme","_useState","clientWidth","width","setWidth","_useState2","clientHeight","height","setHeight","reflow","renderTooltipContent","textareaValue","toString","counterValue","helpIconProps","onMouseDown","color","textareaCounterHelpIconColor","helpIcon","createElement","counterHelp","pos","trigger","render","onCloseClick","getCounterSizeClassName","counterLarge","counterMedium","counterSmall","counter","className","counterContainer","style","counterError","number","isRequired","oneOfType","string","node","func","HTMLTextAreaElement"],"sources":["TextareaCounter.tsx"],"sourcesContent":["import type { SyntheticEvent } from 'react';\nimport React, { useContext, useCallback, useImperativeHandle, useState } from 'react';\nimport propTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isFunction } from '../../lib/utils';\nimport { Tooltip } from '../Tooltip';\nimport { cx } from '../../lib/theming/Emotion';\nimport { QuestionCircleIcon16Solid } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid';\nimport type { SizeProp } from '../../lib/types/props';\n\nimport type { TextareaProps } from './Textarea';\nimport { TextareaDataTids } from './Textarea';\nimport { styles } from './Textarea.styles';\n\nexport interface TextareaCounterProps {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n size: SizeProp;\n}\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nexport const TextareaCounter = forwardRefAndName<TextareaCounterRef, TextareaCounterProps>(\n 'TextareaCounter',\n ({ length, value, help, onCloseHelp, textarea, size }, ref) => {\n const theme = useContext(ThemeContext);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = useCallback(() => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n }, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [reflow]);\n const renderTooltipContent = useCallback(() => {\n if (typeof help === 'function') {\n return help();\n }\n return help;\n }, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n\n const helpIconProps = {\n onMouseDown: handleHelpMouseDown,\n color: theme.textareaCounterHelpIconColor,\n 'data-tid': TextareaDataTids.helpIcon,\n };\n const helpIcon = <QuestionCircleIcon16Solid {...helpIconProps} />;\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n {helpIcon}\n </Tooltip>\n );\n\n const getCounterSizeClassName = () => {\n switch (size) {\n case 'large':\n return styles.counterLarge(theme);\n case 'medium':\n return styles.counterMedium(theme);\n case 'small':\n default:\n return styles.counterSmall(theme);\n }\n };\n\n return (\n <div data-tid={TextareaDataTids.counter} className={cx(styles.counterContainer(theme))} style={{ width, height }}>\n <span\n className={cx(getCounterSizeClassName(), styles.counter(theme), {\n [styles.counterError(theme)]: counterValue < 0,\n })}\n >\n {counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n },\n);\n\nTextareaCounter.propTypes = {\n length: propTypes.number.isRequired,\n value: propTypes.oneOfType([propTypes.string, propTypes.number]),\n help: propTypes.oneOfType([propTypes.node, propTypes.func]),\n onCloseHelp: propTypes.func.isRequired,\n textarea: safePropTypesInstanceOf(globalObject.HTMLTextAreaElement).isRequired,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useContext","useCallback","useImperativeHandle","useState","forwardRefAndName","ThemeContext","isFunction","Tooltip","cx","QuestionCircleIcon16Solid","TextareaDataTids","styles","handleHelpMouseDown","e","preventDefault","TextareaCounter","_ref","ref","_cx","length","value","help","onCloseHelp","textarea","size","theme","_useState","clientWidth","width","setWidth","_useState2","clientHeight","height","setHeight","reflow","renderTooltipContent","textareaValue","toString","counterValue","helpIconProps","onMouseDown","color","textareaCounterHelpIconColor","helpIcon","createElement","counterHelp","pos","trigger","render","onCloseClick","getCounterSizeClassName","counterLarge","counterMedium","counterSmall","counter","className","counterContainer","style","counterError"],"sources":["TextareaCounter.tsx"],"sourcesContent":["import type { SyntheticEvent } from 'react';\nimport React, { useContext, useCallback, useImperativeHandle, useState } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isFunction } from '../../lib/utils';\nimport { Tooltip } from '../Tooltip';\nimport { cx } from '../../lib/theming/Emotion';\nimport { QuestionCircleIcon16Solid } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid';\nimport type { SizeProp } from '../../lib/types/props';\n\nimport type { TextareaProps } from './Textarea';\nimport { TextareaDataTids } from './Textarea';\nimport { styles } from './Textarea.styles';\n\nexport interface TextareaCounterProps {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n size: SizeProp;\n}\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nexport const TextareaCounter = forwardRefAndName<TextareaCounterRef, TextareaCounterProps>(\n 'TextareaCounter',\n ({ length, value, help, onCloseHelp, textarea, size }, ref) => {\n const theme = useContext(ThemeContext);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = useCallback(() => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n }, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [reflow]);\n const renderTooltipContent = useCallback(() => {\n if (typeof help === 'function') {\n return help();\n }\n return help;\n }, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n\n const helpIconProps = {\n onMouseDown: handleHelpMouseDown,\n color: theme.textareaCounterHelpIconColor,\n 'data-tid': TextareaDataTids.helpIcon,\n };\n const helpIcon = <QuestionCircleIcon16Solid {...helpIconProps} />;\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n {helpIcon}\n </Tooltip>\n );\n\n const getCounterSizeClassName = () => {\n switch (size) {\n case 'large':\n return styles.counterLarge(theme);\n case 'medium':\n return styles.counterMedium(theme);\n case 'small':\n default:\n return styles.counterSmall(theme);\n }\n };\n\n return (\n <div data-tid={TextareaDataTids.counter} className={cx(styles.counterContainer(theme))} style={{ width, height }}>\n <span\n className={cx(getCounterSizeClassName(), styles.counter(theme), {\n [styles.counterError(theme)]: counterValue < 0,\n })}\n >\n {counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","CSSTransition","TransitionGroup","globalObject","ThemeFactory","ThemeContext","RenderContainer","CommonWrapper","isTestEnv","rootNode","styles","ToastView","ToastStatic","ToastDataTids","toastStatic","toastView","action","close","Toast","_class","_Toast","_React$Component","props","_this","call","rootRef","createRef","safelyCall","onClose","state","notification","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","clearTimeout","_setTimer","_this$state$showTime","showTime","setTimeout","_refToast","_toast","id","showCloseIcon","_inheritsLoose","_proto","prototype","componentWillUnmount","render","_this2","createElement","Consumer","theme","create","Provider","value","_renderToast","push","onPush","_ref","_this$state","toastProps","onMouseEnter","onMouseLeave","children","key","classNames","enter","enterActive","exit","exitActive","timeout","nodeRef","_extends","rootNodeRef","ref","Component","__KONTUR_REACT_UI__","displayName","fn","_len","arguments","length","args","Array","_key","apply"],"sources":["Toast.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport type { ToastViewProps } from './ToastView';\nimport { ToastView } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<React.ReactNode>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает функцию, которая вызывается при возникновении тоста. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Задает функцию, которая вызывается при закрытии тоста. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n}\n\nexport type ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n) => void;\n\nexport type ToastClose = () => void;\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push: ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n };\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\n public static close: ToastClose = () => {\n ToastStatic.close();\n };\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {React.ReactNode} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: React.ReactNode, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.\n */\n public push(notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime, showCloseIcon }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","CSSTransition","TransitionGroup","globalObject","ThemeFactory","ThemeContext","RenderContainer","CommonWrapper","isTestEnv","rootNode","styles","ToastView","ToastStatic","ToastDataTids","toastStatic","toastView","action","close","Toast","_class","_Toast","_React$Component","props","_this","call","rootRef","createRef","safelyCall","onClose","state","notification","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","clearTimeout","_setTimer","_this$state$showTime","showTime","setTimeout","_refToast","_toast","id","showCloseIcon","_inheritsLoose","_proto","prototype","componentWillUnmount","render","_this2","createElement","Consumer","theme","create","Provider","value","_renderToast","push","onPush","_ref","_this$state","toastProps","onMouseEnter","onMouseLeave","children","key","classNames","enter","enterActive","exit","exitActive","timeout","nodeRef","_extends","rootNodeRef","ref","Component","__KONTUR_REACT_UI__","displayName","fn","_len","arguments","length","args","Array","_key","apply"],"sources":["Toast.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport type { ToastViewProps } from './ToastView';\nimport { ToastView } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<React.ReactNode>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает функцию, которая вызывается при возникновении тоста. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Задает функцию, которая вызывается при закрытии тоста. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n}\n\nexport type ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n) => void;\n\nexport type ToastClose = () => void;\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push: ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n };\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\n public static close: ToastClose = () => {\n ToastStatic.close();\n };\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {React.ReactNode} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: React.ReactNode, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.\n */\n public push(notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime, showCloseIcon }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  import type { ThemeIn } from '../../lib/theming/Theme';
4
4
  import type { Nullable } from '../../typings/utility-types';
5
5
  import type { CommonProps } from '../../internal/CommonWrapper';
6
+ import type { TGetRootNode } from '../../lib/rootNode';
6
7
  import { ToastView } from './ToastView';
7
8
  export interface Action {
8
9
  label: string;
@@ -44,6 +45,7 @@ export declare const ToastDataTids: {
44
45
  export declare class Toast extends React.Component<ToastProps, ToastState> {
45
46
  static __KONTUR_REACT_UI__: string;
46
47
  static displayName: string;
48
+ getRootNode: TGetRootNode;
47
49
  private setRootNode;
48
50
  private theme;
49
51
  /** @deprecated use `push` method in ref or `SingleToast.push` */
@@ -1,7 +1,6 @@
1
1
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
2
- var _dec, _class, _ToastView;
2
+ var _dec, _class;
3
3
  import React from 'react';
4
- import { func, shape, string } from 'prop-types';
5
4
  import { locale } from "../../../lib/locale/decorators";
6
5
  import { ZIndex } from "../../../internal/ZIndex";
7
6
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
@@ -11,7 +10,7 @@ import { CloseButtonIcon } from "../../../internal/CloseButtonIcon/CloseButtonIc
11
10
  import { styles } from "../ToastView.styles";
12
11
  import { ToastDataTids } from "../Toast";
13
12
  import { ToastLocaleHelper } from "../locale";
14
- export var ToastView = (_dec = locale('Toast', ToastLocaleHelper), rootNode(_class = _dec(_class = (_ToastView = /*#__PURE__*/function (_React$Component) {
13
+ export var ToastView = (_dec = locale('Toast', ToastLocaleHelper), rootNode(_class = _dec(_class = /*#__PURE__*/function (_React$Component) {
15
14
  function ToastView() {
16
15
  var _this;
17
16
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -75,17 +74,4 @@ export var ToastView = (_dec = locale('Toast', ToastLocaleHelper), rootNode(_cla
75
74
  });
76
75
  };
77
76
  return ToastView;
78
- }(React.Component), _ToastView.propTypes = {
79
- /**
80
- * Adds action handling and close icon for toast
81
- */
82
- action: shape({
83
- label: string.isRequired,
84
- handler: func.isRequired
85
- }),
86
- /**
87
- * Toast content
88
- */
89
- children: string.isRequired,
90
- onClose: func
91
- }, _ToastView)) || _class) || _class);
77
+ }(React.Component)) || _class) || _class);
@@ -1 +1 @@
1
- {"version":3,"names":["React","func","shape","string","locale","ZIndex","ThemeContext","CommonWrapper","rootNode","CloseButtonIcon","styles","ToastDataTids","ToastLocaleHelper","ToastView","_dec","_class","_ToastView","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","renderMain","_this$props","props","action","showCloseIcon","onClose","onMouseEnter","onMouseLeave","link","createElement","className","theme","onClick","handler","label","close","closeWrapper","closeButtonAriaLabel","size","parseInt","toastCloseSize","side","color","toastCloseColor","colorHover","toastCloseHoverColor","tabbable","priority","wrapper","toastView","root","ref","setRootNode","children","_inheritsLoose","_proto","prototype","render","_this2","Consumer","Component","propTypes","isRequired"],"sources":["ToastView.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { func, shape, string } from 'prop-types';\n\nimport { locale } from '../../lib/locale/decorators';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\n\nimport { styles } from './ToastView.styles';\nimport type { Action } from './Toast';\nimport { ToastDataTids } from './Toast';\nimport type { ToastLocale } from './locale';\nimport { ToastLocaleHelper } from './locale';\n\nexport interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает контент тоста. */\n children?: React.ReactNode;\n /** Добавляет возможность действия и кнопку закрытия у тоста. */\n action?: Nullable<Action>;\n showCloseIcon?: boolean;\n onClose?: () => void;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\n@rootNode\n@locale('Toast', ToastLocaleHelper)\nexport class ToastView extends React.Component<ToastViewProps> {\n public static propTypes = {\n /**\n * Adds action handling and close icon for toast\n */\n action: shape({\n label: string.isRequired,\n handler: func.isRequired,\n }),\n /**\n * Toast content\n */\n children: string.isRequired,\n onClose: func,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private readonly locale!: ToastLocale;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = () => {\n const { action, showCloseIcon, onClose, onMouseEnter, onMouseLeave } = this.props;\n\n const link = action ? (\n <button\n aria-label={action['aria-label']}\n data-tid={ToastDataTids.action}\n className={styles.link(this.theme)}\n onClick={action.handler}\n >\n {action.label}\n </button>\n ) : null;\n\n const close =\n action || showCloseIcon ? (\n <span className={styles.closeWrapper(this.theme)}>\n <CloseButtonIcon\n aria-label={this.locale.closeButtonAriaLabel}\n data-tid={ToastDataTids.close}\n onClick={onClose}\n size={parseInt(this.theme.toastCloseSize)}\n side={40}\n color={this.theme.toastCloseColor}\n colorHover={this.theme.toastCloseHoverColor}\n tabbable={false}\n />\n </span>\n ) : null;\n\n return (\n <CommonWrapper {...this.props}>\n <ZIndex priority=\"Toast\" className={styles.wrapper(this.theme)}>\n <div\n data-tid={ToastDataTids.toastView}\n className={styles.root(this.theme)}\n ref={this.setRootNode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <span>{this.props.children}</span>\n {link}\n {close}\n </div>\n </ZIndex>\n </CommonWrapper>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","locale","ZIndex","ThemeContext","CommonWrapper","rootNode","CloseButtonIcon","styles","ToastDataTids","ToastLocaleHelper","ToastView","_dec","_class","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","renderMain","_this$props","props","action","showCloseIcon","onClose","onMouseEnter","onMouseLeave","link","createElement","className","theme","onClick","handler","label","close","closeWrapper","closeButtonAriaLabel","size","parseInt","toastCloseSize","side","color","toastCloseColor","colorHover","toastCloseHoverColor","tabbable","priority","wrapper","toastView","root","ref","setRootNode","children","_inheritsLoose","_proto","prototype","render","_this2","Consumer","Component"],"sources":["ToastView.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport { locale } from '../../lib/locale/decorators';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\n\nimport { styles } from './ToastView.styles';\nimport type { Action } from './Toast';\nimport { ToastDataTids } from './Toast';\nimport type { ToastLocale } from './locale';\nimport { ToastLocaleHelper } from './locale';\n\nexport interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает контент тоста. */\n children?: React.ReactNode;\n /** Добавляет возможность действия и кнопку закрытия у тоста. */\n action?: Nullable<Action>;\n showCloseIcon?: boolean;\n onClose?: () => void;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\n@rootNode\n@locale('Toast', ToastLocaleHelper)\nexport class ToastView extends React.Component<ToastViewProps> {\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private readonly locale!: ToastLocale;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = () => {\n const { action, showCloseIcon, onClose, onMouseEnter, onMouseLeave } = this.props;\n\n const link = action ? (\n <button\n aria-label={action['aria-label']}\n data-tid={ToastDataTids.action}\n className={styles.link(this.theme)}\n onClick={action.handler}\n >\n {action.label}\n </button>\n ) : null;\n\n const close =\n action || showCloseIcon ? (\n <span className={styles.closeWrapper(this.theme)}>\n <CloseButtonIcon\n aria-label={this.locale.closeButtonAriaLabel}\n data-tid={ToastDataTids.close}\n onClick={onClose}\n size={parseInt(this.theme.toastCloseSize)}\n side={40}\n color={this.theme.toastCloseColor}\n colorHover={this.theme.toastCloseHoverColor}\n tabbable={false}\n />\n </span>\n ) : null;\n\n return (\n <CommonWrapper {...this.props}>\n <ZIndex priority=\"Toast\" className={styles.wrapper(this.theme)}>\n <div\n data-tid={ToastDataTids.toastView}\n className={styles.root(this.theme)}\n ref={this.setRootNode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <span>{this.props.children}</span>\n {link}\n {close}\n </div>\n </ZIndex>\n </CommonWrapper>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@ import type { AriaAttributes } from 'react';
2
2
  import React from 'react';
3
3
  import type { Nullable } from '../../typings/utility-types';
4
4
  import type { CommonProps } from '../../internal/CommonWrapper';
5
+ import type { TGetRootNode } from '../../lib/rootNode';
5
6
  import type { Action } from './Toast';
6
7
  export interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {
7
8
  /** Задает контент тоста. */
@@ -14,21 +15,8 @@ export interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, Comm
14
15
  onMouseLeave?: () => void;
15
16
  }
16
17
  export declare class ToastView extends React.Component<ToastViewProps> {
17
- static propTypes: {
18
- /**
19
- * Adds action handling and close icon for toast
20
- */
21
- action: import("prop-types").Requireable<import("prop-types").InferProps<{
22
- label: import("prop-types").Validator<string>;
23
- handler: import("prop-types").Validator<(...args: any[]) => any>;
24
- }>>;
25
- /**
26
- * Toast content
27
- */
28
- children: import("prop-types").Validator<string>;
29
- onClose: import("prop-types").Requireable<(...args: any[]) => any>;
30
- };
31
18
  private theme;
19
+ getRootNode: TGetRootNode;
32
20
  private setRootNode;
33
21
  private readonly locale;
34
22
  render(): React.JSX.Element;