@skbkontur/react-ui 0.0.0-68e286f9fe → 0.0.0-6911f001e4

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 (800) hide show
  1. package/CHANGELOG.md +182 -0
  2. package/README.md +6 -6
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +18 -4
  4. package/cjs/components/Autocomplete/Autocomplete.js +73 -15
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +4 -1
  7. package/cjs/components/Button/Button.js +47 -17
  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/Button/ButtonArrow.js +13 -14
  13. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  14. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  15. package/cjs/components/Calendar/Calendar.js +1 -0
  16. package/cjs/components/Calendar/Calendar.js.map +1 -1
  17. package/cjs/components/Center/Center.d.ts +2 -0
  18. package/cjs/components/Center/Center.js +1 -0
  19. package/cjs/components/Center/Center.js.map +1 -1
  20. package/cjs/components/Checkbox/Checkbox.d.ts +4 -4
  21. package/cjs/components/Checkbox/Checkbox.js +16 -19
  22. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  23. package/cjs/components/ComboBox/ComboBox.d.ts +20 -7
  24. package/cjs/components/ComboBox/ComboBox.js +19 -1
  25. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  26. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +5 -0
  27. package/cjs/components/CurrencyInput/CurrencyInput.js +9 -1
  28. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  29. package/cjs/components/CurrencyInput/constants.js +1 -2
  30. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  31. package/cjs/components/CurrencyLabel/CurrencyLabel.js +2 -3
  32. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  33. package/cjs/components/DateInput/DateInput.d.ts +5 -1
  34. package/cjs/components/DateInput/DateInput.js +9 -4
  35. package/cjs/components/DateInput/DateInput.js.map +1 -1
  36. package/cjs/components/DatePicker/DatePicker.d.ts +2 -0
  37. package/cjs/components/DatePicker/DatePicker.js +1 -0
  38. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  39. package/cjs/components/DatePicker/MobilePicker.js +1 -0
  40. package/cjs/components/DatePicker/MobilePicker.js.map +1 -1
  41. package/cjs/components/DateRangePicker/DateRangePicker.js +1 -0
  42. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  43. package/cjs/components/Dropdown/Dropdown.d.ts +2 -0
  44. package/cjs/components/Dropdown/Dropdown.js +1 -0
  45. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  46. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  47. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  48. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  49. package/cjs/components/FileUploader/FileUploader.js +1 -0
  50. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  51. package/cjs/components/FxInput/FxInput.d.ts +12 -2
  52. package/cjs/components/FxInput/FxInput.js +141 -58
  53. package/cjs/components/FxInput/FxInput.js.map +1 -1
  54. package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
  55. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  56. package/cjs/components/Gapped/Gapped.d.ts +2 -0
  57. package/cjs/components/Gapped/Gapped.js +1 -0
  58. package/cjs/components/Gapped/Gapped.js.map +1 -1
  59. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  60. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  61. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  62. package/cjs/components/Group/Group.d.ts +2 -0
  63. package/cjs/components/Group/Group.js +1 -0
  64. package/cjs/components/Group/Group.js.map +1 -1
  65. package/cjs/components/Hint/Hint.d.ts +2 -0
  66. package/cjs/components/Hint/Hint.js +1 -0
  67. package/cjs/components/Hint/Hint.js.map +1 -1
  68. package/cjs/components/Input/Input.d.ts +6 -5
  69. package/cjs/components/Input/Input.js +17 -47
  70. package/cjs/components/Input/Input.js.map +1 -1
  71. package/cjs/components/Input/Input.styles.d.ts +0 -1
  72. package/cjs/components/Input/Input.styles.js +8 -19
  73. package/cjs/components/Input/Input.styles.js.map +1 -1
  74. package/cjs/components/Kebab/Kebab.d.ts +4 -1
  75. package/cjs/components/Kebab/Kebab.js +10 -5
  76. package/cjs/components/Kebab/Kebab.js.map +1 -1
  77. package/cjs/components/Link/Link.d.ts +2 -0
  78. package/cjs/components/Link/Link.js +10 -1
  79. package/cjs/components/Link/Link.js.map +1 -1
  80. package/cjs/components/Loader/Loader.d.ts +3 -0
  81. package/cjs/components/Loader/Loader.js +6 -1
  82. package/cjs/components/Loader/Loader.js.map +1 -1
  83. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  84. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
  85. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  86. package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
  87. package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  88. package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
  89. package/cjs/components/MaskedInput/MaskedInput.js +43 -4
  90. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  91. package/cjs/components/MenuItem/MenuItem.d.ts +3 -0
  92. package/cjs/components/MenuItem/MenuItem.js +15 -2
  93. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  94. package/cjs/components/MenuItem/MenuItem.styles.d.ts +3 -1
  95. package/cjs/components/MenuItem/MenuItem.styles.js +35 -21
  96. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  97. package/cjs/components/Modal/Modal.styles.d.ts +1 -0
  98. package/cjs/components/Modal/Modal.styles.js +36 -28
  99. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  100. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  101. package/cjs/components/Modal/ModalBody.js +1 -0
  102. package/cjs/components/Modal/ModalBody.js.map +1 -1
  103. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  104. package/cjs/components/Modal/ModalHeader.js +8 -1
  105. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  106. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  107. package/cjs/components/Paging/DotsIcon.js +13 -0
  108. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  109. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  110. package/cjs/components/Paging/ForwardIcon.js +13 -1
  111. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  112. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  113. package/cjs/components/Paging/NavigationHelper.js +8 -6
  114. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  115. package/cjs/components/Paging/Paging.d.ts +13 -1
  116. package/cjs/components/Paging/Paging.js +120 -24
  117. package/cjs/components/Paging/Paging.js.map +1 -1
  118. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  119. package/cjs/components/Paging/Paging.styles.js +151 -22
  120. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  121. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  122. package/cjs/components/Paging/PagingHelper.js +18 -11
  123. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  124. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -5
  125. package/cjs/components/PasswordInput/PasswordInput.js +21 -22
  126. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  127. package/cjs/components/Radio/Radio.d.ts +4 -1
  128. package/cjs/components/Radio/Radio.js +7 -4
  129. package/cjs/components/Radio/Radio.js.map +1 -1
  130. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
  131. package/cjs/components/RadioGroup/RadioGroup.js +1 -0
  132. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  133. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -0
  134. package/cjs/components/ScrollContainer/ScrollContainer.js +1 -0
  135. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  136. package/cjs/components/Select/Select.d.ts +4 -1
  137. package/cjs/components/Select/Select.js +11 -6
  138. package/cjs/components/Select/Select.js.map +1 -1
  139. package/cjs/components/SidePage/SidePage.js +3 -1
  140. package/cjs/components/SidePage/SidePage.js.map +1 -1
  141. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  142. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  143. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  144. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  145. package/cjs/components/SidePage/SidePageBody.js +1 -0
  146. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  147. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  148. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  149. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  150. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  151. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  152. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  153. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  154. package/cjs/components/SidePage/SidePageHeader.js +60 -19
  155. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  156. package/cjs/components/SingleToast/SingleToast.d.ts +32 -2
  157. package/cjs/components/SingleToast/SingleToast.js +58 -3
  158. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  159. package/cjs/components/Spinner/Spinner.d.ts +2 -0
  160. package/cjs/components/Spinner/Spinner.js +1 -0
  161. package/cjs/components/Spinner/Spinner.js.map +1 -1
  162. package/cjs/components/Sticky/Sticky.d.ts +2 -0
  163. package/cjs/components/Sticky/Sticky.js +1 -0
  164. package/cjs/components/Sticky/Sticky.js.map +1 -1
  165. package/cjs/components/Switcher/Switcher.d.ts +2 -0
  166. package/cjs/components/Switcher/Switcher.js +1 -0
  167. package/cjs/components/Switcher/Switcher.js.map +1 -1
  168. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  169. package/cjs/components/Tabs/Indicator.js +1 -0
  170. package/cjs/components/Tabs/Indicator.js.map +1 -1
  171. package/cjs/components/Tabs/Tab.d.ts +2 -0
  172. package/cjs/components/Tabs/Tab.js +1 -0
  173. package/cjs/components/Tabs/Tab.js.map +1 -1
  174. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  175. package/cjs/components/Tabs/Tabs.js +1 -0
  176. package/cjs/components/Tabs/Tabs.js.map +1 -1
  177. package/cjs/components/Textarea/Textarea.d.ts +4 -1
  178. package/cjs/components/Textarea/Textarea.js +9 -4
  179. package/cjs/components/Textarea/Textarea.js.map +1 -1
  180. package/cjs/components/Textarea/Textarea.styles.js +3 -3
  181. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  182. package/cjs/components/Toast/Toast.d.ts +56 -9
  183. package/cjs/components/Toast/Toast.js +104 -11
  184. package/cjs/components/Toast/Toast.js.map +1 -1
  185. package/cjs/components/Toast/ToastView.d.ts +7 -1
  186. package/cjs/components/Toast/ToastView.js +22 -5
  187. package/cjs/components/Toast/ToastView.js.map +1 -1
  188. package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
  189. package/cjs/components/Toast/ToastView.styles.js +43 -9
  190. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  191. package/cjs/components/Toggle/Toggle.d.ts +4 -1
  192. package/cjs/components/Toggle/Toggle.js +6 -5
  193. package/cjs/components/Toggle/Toggle.js.map +1 -1
  194. package/cjs/components/Token/Token.d.ts +2 -0
  195. package/cjs/components/Token/Token.js +1 -0
  196. package/cjs/components/Token/Token.js.map +1 -1
  197. package/cjs/components/TokenInput/TokenInput.d.ts +6 -1
  198. package/cjs/components/TokenInput/TokenInput.js +43 -30
  199. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  200. package/cjs/components/Tooltip/Tooltip.d.ts +12 -5
  201. package/cjs/components/Tooltip/Tooltip.js +100 -13
  202. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  203. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  204. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  205. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  206. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  207. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  208. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  209. package/cjs/index.d.ts +1 -0
  210. package/cjs/index.js +1 -0
  211. package/cjs/index.js.map +1 -1
  212. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +4 -4
  213. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  214. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  215. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  216. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  217. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +8 -4
  218. package/cjs/internal/CustomComboBox/ComboBoxView.js +35 -25
  219. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  220. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +7 -2
  221. package/cjs/internal/CustomComboBox/CustomComboBox.js +17 -5
  222. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  223. package/cjs/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  224. package/cjs/internal/CustomComboBox/getComboBoxTheme.js +10 -7
  225. package/cjs/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  226. package/cjs/internal/DateSelect/DateSelect.js +1 -1
  227. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  228. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  229. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  230. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  231. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  232. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  233. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
  234. package/cjs/internal/InputLikeText/InputLikeText.js +13 -14
  235. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  236. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +1 -0
  237. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +23 -21
  238. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  239. package/cjs/internal/Menu/Menu.d.ts +2 -0
  240. package/cjs/internal/Menu/Menu.js +1 -0
  241. package/cjs/internal/Menu/Menu.js.map +1 -1
  242. package/cjs/internal/MenuMessage/MenuMessage.js +13 -1
  243. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
  244. package/cjs/internal/MenuMessage/MenuMessage.styles.d.ts +3 -1
  245. package/cjs/internal/MenuMessage/MenuMessage.styles.js +24 -8
  246. package/cjs/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
  247. package/cjs/internal/MobilePopup/MobilePopup.d.ts +9 -0
  248. package/cjs/internal/MobilePopup/MobilePopup.js +24 -1
  249. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  250. package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +7 -3
  251. package/cjs/internal/MobilePopup/MobilePopup.styles.js +55 -19
  252. package/cjs/internal/MobilePopup/MobilePopup.styles.js.map +1 -1
  253. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +8 -1
  254. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +36 -18
  255. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  256. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +3 -0
  257. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +23 -3
  258. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -1
  259. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +3 -0
  260. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +31 -33
  261. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  262. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +3 -2
  263. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +22 -13
  264. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -1
  265. package/cjs/internal/Popup/Popup.d.ts +2 -0
  266. package/cjs/internal/Popup/Popup.js +14 -3
  267. package/cjs/internal/Popup/Popup.js.map +1 -1
  268. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  269. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  270. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  271. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  272. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  273. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  274. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  275. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  276. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  277. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -0
  278. package/cjs/internal/RenderLayer/RenderLayer.js +1 -0
  279. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  280. package/cjs/internal/ThemePlayground/Playground.js +5 -1
  281. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  282. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  283. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  284. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  285. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  286. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  287. package/cjs/internal/ZIndex/ZIndex.d.ts +2 -0
  288. package/cjs/internal/ZIndex/ZIndex.js +1 -0
  289. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  290. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  291. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  292. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  293. package/cjs/internal/themes/BasicTheme.d.ts +147 -28
  294. package/cjs/internal/themes/BasicTheme.js +800 -33
  295. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  296. package/cjs/internal/themes/DarkTheme5_4.d.ts +1 -0
  297. package/cjs/internal/themes/DarkTheme5_4.js +18 -0
  298. package/cjs/internal/themes/DarkTheme5_4.js.map +1 -0
  299. package/cjs/internal/themes/LightTheme5_4.d.ts +1 -0
  300. package/cjs/internal/themes/LightTheme5_4.js +18 -0
  301. package/cjs/internal/themes/LightTheme5_4.js.map +1 -0
  302. package/cjs/internal/themes/consts.d.ts +8 -0
  303. package/cjs/internal/themes/consts.js +8 -0
  304. package/cjs/internal/themes/consts.js.map +1 -0
  305. package/cjs/lib/__stories__/Blink.creevey.mts +90 -0
  306. package/cjs/lib/blink.d.ts +15 -0
  307. package/cjs/lib/blink.js +65 -0
  308. package/cjs/lib/blink.js.map +1 -0
  309. package/cjs/lib/delay.mts +3 -0
  310. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +6 -0
  311. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +6 -0
  312. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +13 -1
  313. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  314. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  315. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  316. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  317. package/cjs/lib/size/SizeControlContext.d.ts +6 -0
  318. package/cjs/lib/size/SizeControlContext.js +16 -0
  319. package/cjs/lib/size/SizeControlContext.js.map +1 -0
  320. package/cjs/lib/size/SizeDecorator.d.ts +33 -0
  321. package/cjs/lib/size/SizeDecorator.js +41 -0
  322. package/cjs/lib/size/SizeDecorator.js.map +1 -0
  323. package/cjs/lib/size/constants.d.ts +2 -0
  324. package/cjs/lib/size/constants.js +3 -0
  325. package/cjs/lib/size/constants.js.map +1 -0
  326. package/cjs/lib/size/index.d.ts +1 -0
  327. package/cjs/lib/size/index.js +1 -0
  328. package/cjs/lib/size/index.js.map +1 -0
  329. package/cjs/lib/size/useSizeControl.d.ts +2 -0
  330. package/cjs/lib/size/useSizeControl.js +10 -0
  331. package/cjs/lib/size/useSizeControl.js.map +1 -0
  332. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  333. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  334. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  335. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  336. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  337. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  338. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  339. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  340. package/cjs/lib/utils.d.ts +13 -0
  341. package/cjs/lib/utils.js +34 -1
  342. package/cjs/lib/utils.js.map +1 -1
  343. package/components/Autocomplete/Autocomplete/Autocomplete.js +72 -32
  344. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  345. package/components/Autocomplete/Autocomplete.d.ts +18 -4
  346. package/components/Button/Button/Button.js +45 -24
  347. package/components/Button/Button/Button.js.map +1 -1
  348. package/components/Button/Button.d.ts +4 -1
  349. package/components/Button/Button.styles/Button.styles.js +78 -60
  350. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  351. package/components/Button/Button.styles.d.ts +6 -0
  352. package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
  353. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  354. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  355. package/components/Calendar/Calendar.d.ts +2 -0
  356. package/components/Center/Center/Center.js.map +1 -1
  357. package/components/Center/Center.d.ts +2 -0
  358. package/components/Checkbox/Checkbox/Checkbox.js +12 -13
  359. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  360. package/components/Checkbox/Checkbox.d.ts +4 -4
  361. package/components/ComboBox/ComboBox/ComboBox.js +1 -1
  362. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  363. package/components/ComboBox/ComboBox.d.ts +20 -7
  364. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +6 -2
  365. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  366. package/components/CurrencyInput/CurrencyInput.d.ts +5 -0
  367. package/components/CurrencyInput/constants/constants.js +0 -1
  368. package/components/CurrencyInput/constants/constants.js.map +1 -1
  369. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -1
  370. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  371. package/components/DateInput/DateInput/DateInput.js +9 -8
  372. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  373. package/components/DateInput/DateInput.d.ts +5 -1
  374. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  375. package/components/DatePicker/DatePicker.d.ts +2 -0
  376. package/components/DatePicker/MobilePicker/MobilePicker.js +1 -0
  377. package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -1
  378. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +1 -0
  379. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  380. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  381. package/components/Dropdown/Dropdown.d.ts +2 -0
  382. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  383. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  384. package/components/FileUploader/FileUploader/FileUploader.js +1 -0
  385. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  386. package/components/FxInput/FxInput/FxInput.js +121 -65
  387. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  388. package/components/FxInput/FxInput.d.ts +12 -2
  389. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
  390. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  391. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  392. package/components/Gapped/Gapped.d.ts +2 -0
  393. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  394. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  395. package/components/Group/Group/Group.js.map +1 -1
  396. package/components/Group/Group.d.ts +2 -0
  397. package/components/Hint/Hint/Hint.js.map +1 -1
  398. package/components/Hint/Hint.d.ts +2 -0
  399. package/components/Input/Input/Input.js +23 -52
  400. package/components/Input/Input/Input.js.map +1 -1
  401. package/components/Input/Input.d.ts +6 -5
  402. package/components/Input/Input.styles/Input.styles.js +9 -13
  403. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  404. package/components/Input/Input.styles.d.ts +0 -1
  405. package/components/Kebab/Kebab/Kebab.js +7 -7
  406. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  407. package/components/Kebab/Kebab.d.ts +4 -1
  408. package/components/Link/Link/Link.js +4 -1
  409. package/components/Link/Link/Link.js.map +1 -1
  410. package/components/Link/Link.d.ts +2 -0
  411. package/components/Loader/Loader/Loader.js +2 -1
  412. package/components/Loader/Loader/Loader.js.map +1 -1
  413. package/components/Loader/Loader.d.ts +3 -0
  414. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
  415. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  416. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  417. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
  418. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
  419. package/components/MaskedInput/MaskedInput/MaskedInput.js +28 -2
  420. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  421. package/components/MaskedInput/MaskedInput.d.ts +9 -0
  422. package/components/MenuItem/MenuItem/MenuItem.js +12 -1
  423. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  424. package/components/MenuItem/MenuItem.d.ts +3 -0
  425. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +25 -19
  426. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  427. package/components/MenuItem/MenuItem.styles.d.ts +3 -1
  428. package/components/Modal/Modal.styles/Modal.styles.js +31 -28
  429. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  430. package/components/Modal/Modal.styles.d.ts +1 -0
  431. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  432. package/components/Modal/ModalBody.d.ts +2 -0
  433. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  434. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  435. package/components/Modal/ModalHeader.d.ts +5 -0
  436. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  437. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  438. package/components/Paging/DotsIcon/package.json +6 -0
  439. package/components/Paging/DotsIcon.d.ts +3 -0
  440. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  441. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  442. package/components/Paging/ForwardIcon.d.ts +3 -0
  443. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  444. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  445. package/components/Paging/NavigationHelper.d.ts +3 -2
  446. package/components/Paging/Paging/Paging.js +95 -25
  447. package/components/Paging/Paging/Paging.js.map +1 -1
  448. package/components/Paging/Paging.d.ts +13 -1
  449. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  450. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  451. package/components/Paging/Paging.styles.d.ts +24 -1
  452. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  453. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  454. package/components/Paging/PagingHelper.d.ts +1 -1
  455. package/components/PasswordInput/PasswordInput/PasswordInput.js +13 -19
  456. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  457. package/components/PasswordInput/PasswordInput.d.ts +5 -5
  458. package/components/Radio/Radio/Radio.js +7 -7
  459. package/components/Radio/Radio/Radio.js.map +1 -1
  460. package/components/Radio/Radio.d.ts +4 -1
  461. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  462. package/components/RadioGroup/RadioGroup.d.ts +2 -0
  463. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  464. package/components/ScrollContainer/ScrollContainer.d.ts +2 -0
  465. package/components/Select/Select/Select.js +17 -15
  466. package/components/Select/Select/Select.js.map +1 -1
  467. package/components/Select/Select.d.ts +4 -1
  468. package/components/SidePage/SidePage/SidePage.js +2 -2
  469. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  470. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  471. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  472. package/components/SidePage/SidePage.styles.d.ts +3 -1
  473. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  474. package/components/SidePage/SidePageBody.d.ts +2 -0
  475. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  476. package/components/SidePage/SidePageContainer.d.ts +2 -0
  477. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  478. package/components/SidePage/SidePageFooter.d.ts +2 -0
  479. package/components/SidePage/SidePageHeader/SidePageHeader.js +61 -39
  480. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  481. package/components/SidePage/SidePageHeader.d.ts +12 -2
  482. package/components/SingleToast/SingleToast/SingleToast.js +37 -12
  483. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  484. package/components/SingleToast/SingleToast.d.ts +32 -2
  485. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  486. package/components/Spinner/Spinner.d.ts +2 -0
  487. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  488. package/components/Sticky/Sticky.d.ts +2 -0
  489. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  490. package/components/Switcher/Switcher.d.ts +2 -0
  491. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  492. package/components/Tabs/Indicator.d.ts +2 -0
  493. package/components/Tabs/Tab/Tab.js.map +1 -1
  494. package/components/Tabs/Tab.d.ts +2 -0
  495. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  496. package/components/Tabs/Tabs.d.ts +2 -0
  497. package/components/Textarea/Textarea/Textarea.js +7 -6
  498. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  499. package/components/Textarea/Textarea.d.ts +4 -1
  500. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  501. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  502. package/components/Toast/Toast/Toast.js +86 -23
  503. package/components/Toast/Toast/Toast.js.map +1 -1
  504. package/components/Toast/Toast.d.ts +56 -9
  505. package/components/Toast/ToastView/ToastView.js +17 -5
  506. package/components/Toast/ToastView/ToastView.js.map +1 -1
  507. package/components/Toast/ToastView.d.ts +7 -1
  508. package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
  509. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  510. package/components/Toast/ToastView.styles.d.ts +4 -0
  511. package/components/Toggle/Toggle/Toggle.js +10 -10
  512. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  513. package/components/Toggle/Toggle.d.ts +4 -1
  514. package/components/Token/Token/Token.js.map +1 -1
  515. package/components/Token/Token.d.ts +2 -0
  516. package/components/TokenInput/TokenInput/TokenInput.js +47 -42
  517. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  518. package/components/TokenInput/TokenInput.d.ts +6 -1
  519. package/components/Tooltip/Tooltip/Tooltip.js +69 -19
  520. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  521. package/components/Tooltip/Tooltip.d.ts +12 -5
  522. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  523. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  524. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  525. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  526. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  527. package/index.d.ts +1 -0
  528. package/index.js +1 -0
  529. package/index.js.map +1 -1
  530. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +1 -1
  531. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  532. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  533. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  534. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +46 -45
  535. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  536. package/internal/CustomComboBox/ComboBoxView.d.ts +8 -4
  537. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -7
  538. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  539. package/internal/CustomComboBox/CustomComboBox.d.ts +7 -2
  540. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js +5 -3
  541. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js.map +1 -1
  542. package/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  543. package/internal/DateSelect/DateSelect/DateSelect.js +1 -1
  544. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  545. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  546. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  547. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  548. package/internal/InputLikeText/InputLikeText/InputLikeText.js +17 -28
  549. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  550. package/internal/InputLikeText/InputLikeText.d.ts +4 -3
  551. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +21 -16
  552. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  553. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +1 -0
  554. package/internal/Menu/Menu/Menu.js.map +1 -1
  555. package/internal/Menu/Menu.d.ts +2 -0
  556. package/internal/MenuMessage/MenuMessage/MenuMessage.js +12 -1
  557. package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
  558. package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js +12 -6
  559. package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js.map +1 -1
  560. package/internal/MenuMessage/MenuMessage.styles.d.ts +3 -1
  561. package/internal/MobilePopup/MobilePopup/MobilePopup.js +19 -6
  562. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  563. package/internal/MobilePopup/MobilePopup.d.ts +9 -0
  564. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js +24 -12
  565. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js.map +1 -1
  566. package/internal/MobilePopup/MobilePopup.styles.d.ts +7 -3
  567. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js +23 -9
  568. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  569. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +8 -1
  570. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js +11 -2
  571. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js.map +1 -1
  572. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +3 -0
  573. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +29 -23
  574. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  575. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +3 -0
  576. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js +12 -9
  577. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js.map +1 -1
  578. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +3 -2
  579. package/internal/Popup/Popup/Popup.js +10 -3
  580. package/internal/Popup/Popup/Popup.js.map +1 -1
  581. package/internal/Popup/Popup.d.ts +2 -0
  582. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  583. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  584. package/internal/Popup/PopupPinNew/package.json +6 -0
  585. package/internal/Popup/PopupPinNew.d.ts +31 -0
  586. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  587. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  588. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  589. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  590. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  591. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  592. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  593. package/internal/RenderLayer/RenderLayer.d.ts +2 -0
  594. package/internal/ThemePlayground/Playground/Playground.js +8 -5
  595. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  596. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  597. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  598. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  599. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  600. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  601. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  602. package/internal/ZIndex/ZIndex.d.ts +2 -0
  603. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  604. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  605. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  606. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  607. package/internal/themes/BasicTheme/BasicTheme.js +267 -44
  608. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  609. package/internal/themes/BasicTheme.d.ts +147 -28
  610. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +17 -0
  611. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -0
  612. package/internal/themes/DarkTheme5_4/package.json +6 -0
  613. package/internal/themes/DarkTheme5_4.d.ts +1 -0
  614. package/internal/themes/LightTheme5_4/LightTheme5_4.js +17 -0
  615. package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -0
  616. package/internal/themes/LightTheme5_4/package.json +6 -0
  617. package/internal/themes/LightTheme5_4.d.ts +1 -0
  618. package/internal/themes/consts/consts.js +9 -0
  619. package/internal/themes/consts/consts.js.map +1 -0
  620. package/internal/themes/consts/package.json +6 -0
  621. package/internal/themes/consts.d.ts +8 -0
  622. package/lib/__stories__/Blink.creevey.mts +90 -0
  623. package/lib/blink/blink.js +63 -0
  624. package/lib/blink/blink.js.map +1 -0
  625. package/lib/blink/package.json +6 -0
  626. package/lib/blink.d.ts +15 -0
  627. package/lib/delay.d.mts +1 -0
  628. package/lib/delay.mts +3 -0
  629. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +6 -0
  630. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +7 -1
  631. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  632. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +6 -0
  633. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  634. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  635. package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
  636. package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
  637. package/lib/size/SizeControlContext/package.json +6 -0
  638. package/lib/size/SizeControlContext.d.ts +6 -0
  639. package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
  640. package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
  641. package/lib/size/SizeDecorator/package.json +6 -0
  642. package/lib/size/SizeDecorator.d.ts +33 -0
  643. package/lib/size/constants/constants.js +1 -0
  644. package/lib/size/constants/constants.js.map +1 -0
  645. package/lib/size/constants/package.json +6 -0
  646. package/lib/size/constants.d.ts +2 -0
  647. package/lib/size/index/index.js +1 -0
  648. package/lib/size/index/index.js.map +1 -0
  649. package/lib/size/index/package.json +6 -0
  650. package/lib/size/index.d.ts +1 -0
  651. package/lib/size/package.json +6 -0
  652. package/lib/size/useSizeControl/package.json +6 -0
  653. package/lib/size/useSizeControl/useSizeControl.js +7 -0
  654. package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
  655. package/lib/size/useSizeControl.d.ts +2 -0
  656. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  657. package/lib/theming/ThemeVersions.d.ts +1 -1
  658. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  659. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  660. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  661. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  662. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  663. package/lib/theming/themes/LightTheme.d.ts +1 -0
  664. package/lib/utils/utils.js +26 -0
  665. package/lib/utils/utils.js.map +1 -1
  666. package/lib/utils.d.ts +13 -0
  667. package/package.json +9 -15
  668. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  669. package/cjs/components/Button/Button.md +0 -261
  670. package/cjs/components/Calendar/Calendar.md +0 -276
  671. package/cjs/components/Calendar/CalendarDay.md +0 -70
  672. package/cjs/components/Center/Center.md +0 -26
  673. package/cjs/components/Checkbox/Checkbox.md +0 -171
  674. package/cjs/components/ComboBox/ComboBox.md +0 -574
  675. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  676. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  677. package/cjs/components/DateInput/DateInput.md +0 -111
  678. package/cjs/components/DatePicker/DatePicker.md +0 -368
  679. package/cjs/components/Dropdown/Dropdown.md +0 -45
  680. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  681. package/cjs/components/FileUploader/FileUploader.md +0 -131
  682. package/cjs/components/FxInput/FxInput.md +0 -31
  683. package/cjs/components/Gapped/Gapped.md +0 -44
  684. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  685. package/cjs/components/Group/Group.md +0 -19
  686. package/cjs/components/Hint/Hint.md +0 -86
  687. package/cjs/components/Input/Input.md +0 -86
  688. package/cjs/components/Kebab/Kebab.md +0 -306
  689. package/cjs/components/Link/Link.md +0 -182
  690. package/cjs/components/Loader/Loader.md +0 -33
  691. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  692. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  693. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  694. package/cjs/components/MenuItem/MenuItem.md +0 -139
  695. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  696. package/cjs/components/MiniModal/MiniModal.md +0 -231
  697. package/cjs/components/Modal/Modal.md +0 -56
  698. package/cjs/components/Paging/Paging.md +0 -57
  699. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  700. package/cjs/components/Radio/Radio.md +0 -57
  701. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  702. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  703. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  704. package/cjs/components/Select/Select.md +0 -113
  705. package/cjs/components/SidePage/SidePage.md +0 -65
  706. package/cjs/components/SingleToast/SingleToast.md +0 -36
  707. package/cjs/components/Spinner/Spinner.md +0 -36
  708. package/cjs/components/Sticky/Sticky.md +0 -28
  709. package/cjs/components/Switcher/Switcher.md +0 -111
  710. package/cjs/components/Tabs/Tab.md +0 -73
  711. package/cjs/components/Tabs/Tabs.md +0 -54
  712. package/cjs/components/Textarea/Textarea.md +0 -58
  713. package/cjs/components/Toast/Toast.md +0 -69
  714. package/cjs/components/Toggle/Toggle.md +0 -110
  715. package/cjs/components/Token/Token.md +0 -48
  716. package/cjs/components/TokenInput/TokenInput.md +0 -277
  717. package/cjs/components/Tooltip/Tooltip.md +0 -322
  718. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  719. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  720. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  721. package/cjs/internal/DataTids/DataTids.js +0 -50
  722. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  723. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  724. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  725. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  726. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  727. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  728. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  729. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  730. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  731. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  732. package/cjs/lib/theming/ThemeContext.md +0 -265
  733. package/components/Autocomplete/Autocomplete.md +0 -113
  734. package/components/Button/Button.md +0 -261
  735. package/components/Calendar/Calendar.md +0 -276
  736. package/components/Calendar/CalendarDay.md +0 -70
  737. package/components/Center/Center.md +0 -26
  738. package/components/Checkbox/Checkbox.md +0 -171
  739. package/components/ComboBox/ComboBox.md +0 -574
  740. package/components/CurrencyInput/CurrencyInput.md +0 -39
  741. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  742. package/components/DateInput/DateInput.md +0 -111
  743. package/components/DatePicker/DatePicker.md +0 -368
  744. package/components/Dropdown/Dropdown.md +0 -45
  745. package/components/DropdownMenu/DropdownMenu.md +0 -290
  746. package/components/FileUploader/FileUploader.md +0 -131
  747. package/components/FxInput/FxInput.md +0 -31
  748. package/components/Gapped/Gapped.md +0 -44
  749. package/components/GlobalLoader/GlobalLoader.md +0 -97
  750. package/components/Group/Group.md +0 -19
  751. package/components/Hint/Hint.md +0 -86
  752. package/components/Input/Input.md +0 -86
  753. package/components/Kebab/Kebab.md +0 -306
  754. package/components/Link/Link.md +0 -182
  755. package/components/Loader/Loader.md +0 -33
  756. package/components/MaskedInput/MaskedInput.md +0 -114
  757. package/components/MenuFooter/MenuFooter.md +0 -27
  758. package/components/MenuHeader/MenuHeader.md +0 -35
  759. package/components/MenuItem/MenuItem.md +0 -139
  760. package/components/MenuSeparator/MenuSeparator.md +0 -14
  761. package/components/MiniModal/MiniModal.md +0 -231
  762. package/components/Modal/Modal.md +0 -56
  763. package/components/Paging/Paging.md +0 -57
  764. package/components/PasswordInput/PasswordInput.md +0 -29
  765. package/components/Radio/Radio.md +0 -57
  766. package/components/RadioGroup/RadioGroup.md +0 -44
  767. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  768. package/components/ScrollContainer/ScrollContainer.md +0 -224
  769. package/components/Select/Select.md +0 -113
  770. package/components/SidePage/SidePage.md +0 -65
  771. package/components/SingleToast/SingleToast.md +0 -36
  772. package/components/Spinner/Spinner.md +0 -36
  773. package/components/Sticky/Sticky.md +0 -28
  774. package/components/Switcher/Switcher.md +0 -111
  775. package/components/Tabs/Tab.md +0 -73
  776. package/components/Tabs/Tabs.md +0 -54
  777. package/components/Textarea/Textarea.md +0 -58
  778. package/components/Toast/Toast.md +0 -69
  779. package/components/Toggle/Toggle.md +0 -110
  780. package/components/Token/Token.md +0 -48
  781. package/components/TokenInput/TokenInput.md +0 -277
  782. package/components/Tooltip/Tooltip.md +0 -322
  783. package/components/TooltipMenu/TooltipMenu.md +0 -241
  784. package/internal/DataTids/DATATIDS.md +0 -12
  785. package/internal/DataTids/DataTids/DataTids.js +0 -69
  786. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  787. package/internal/DataTids/DataTids/package.json +0 -6
  788. package/internal/DataTids/DataTids.d.ts +0 -12
  789. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  790. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  791. package/internal/DataTids/DataTids.styles/package.json +0 -6
  792. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  793. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  794. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  795. package/internal/DataTids/componentsDataTids/package.json +0 -6
  796. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  797. package/internal/ThemePlayground/Playground.md +0 -7
  798. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  799. package/lib/locale/LOCALECONTEXT.md +0 -222
  800. package/lib/theming/ThemeContext.md +0 -265
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_ThemeContext","_CommonWrapper","_Emotion","_getRootNode","_rootNode","_createPropsGetter","_isInstanceOf","_Indicator","_Tabs2","_TabsContext","_Tab","_class","_Tabs","TabsDataTids","exports","root","indicatorRoot","Tabs","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","tabs","tabUpdates","on","cb","index","listeners","push","splice","shiftFocus","fromTab","delta","_this2","findIndex","x","id","newIndex","Math","max","min","tab","tabNode","getNode","htmlNode","getRootNode","isInstanceOf","globalObject","HTMLElement","focus","notifyUpdate","forEach","switchTab","_this$props","props","onValueChange","value","getTab","_ref","find","_ref$getNode","addTab","removeTab","filter","_inheritsLoose2","default","_proto","prototype","render","_this3","_this$props2","width","children","indicatorClassName","ariaDescribedby","_this$getProps","vertical","size","createElement","ThemeContext","Consumer","theme","_cx","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","cx","styles","rootSmall","rootMedium","rootLarge","style","TabsContext","Provider","activeTab","Indicator","React","Component","__KONTUR_REACT_UI__","displayName","Tab"],"sources":["Tabs.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { emptyHandler } from '../../lib/utils';\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 { cx } from '../../lib/theming/Emotion';\nimport { getRootNode } from '../../lib/rootNode/getRootNode';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { Indicator } from './Indicator';\nimport { styles } from './Tabs.styles';\nimport type { TabsContextType } from './TabsContext';\nimport { TabsContext } from './TabsContext';\nimport { Tab } from './Tab';\n\ntype ValueBaseType = string;\ninterface TabType<T extends ValueBaseType> {\n getNode: () => Tab<T> | null;\n id: T;\n}\n\nexport interface TabsProps<T extends ValueBaseType = string> extends CommonProps {\n /** Задает кастомный класс подчёркиванию таба. */\n indicatorClassName?: string;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Задает текущий активный `<Tab />`. Принимает `id` таба. */\n value: T;\n\n /** Задает функцию, изменяющую текущий активный `<Tab />`. */\n onValueChange?: (value: T) => void;\n\n /** Задает расположение элементов по вертикали.\n * @default false */\n vertical?: boolean;\n\n /** Задает ширину компонента Tabs. */\n width?: number | string;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const TabsDataTids = {\n root: 'Tabs__root',\n indicatorRoot: 'Indicator__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TabsProps, 'vertical' | 'size'>>;\n\n/**\n * Родитель компонента Tab. Связывает `Tab`'ы в группу и позволяет управлять их состоянием, помогают в навигации.\n *\n * Используйте `Tabs` для второстепенной навигации, для группировки или фильтрации контента.\n *\n * Не используйте `Tabs` для основной навигации. Для этого лучше подходит главное меню на цветной плашке — оно более заметно на странице.\n * Не используйте `Tabs` для переключения состояний — для этого есть RadioGroup, Toggle и Switcher.\n */\n@rootNode\nexport class Tabs<T extends string = string> extends React.Component<TabsProps<T>> {\n public static __KONTUR_REACT_UI__ = 'Tabs';\n public static displayName = 'Tabs';\n\n public static defaultProps: DefaultProps = {\n vertical: false,\n size: 'large',\n };\n\n private getProps = createPropsGetter(Tabs.defaultProps);\n\n public static Tab = Tab;\n\n private theme!: Theme;\n\n private tabs: Array<TabType<T>> = [];\n\n private tabUpdates = {\n on: (cb: () => void) => {\n const index = this.listeners.push(cb);\n return () => {\n this.listeners.splice(index, 1);\n };\n },\n };\n\n private listeners: Array<typeof emptyHandler> = [];\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n const { value, width, children, indicatorClassName, 'aria-describedby': ariaDescribedby } = this.props;\n const { vertical, size } = this.getProps();\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={TabsDataTids.root}\n className={cx({\n [styles.rootSmall(this.theme)]: size === 'small',\n [styles.rootMedium(this.theme)]: size === 'medium',\n [styles.rootLarge(this.theme)]: size === 'large',\n [styles.vertical()]: vertical,\n })}\n style={{ width }}\n aria-describedby={ariaDescribedby}\n >\n <TabsContext.Provider\n value={{\n vertical,\n activeTab: value,\n size,\n getTab: this.getTab,\n addTab: this.addTab,\n removeTab: this.removeTab,\n notifyUpdate: this.notifyUpdate,\n shiftFocus: this.shiftFocus,\n switchTab: this.switchTab,\n }}\n >\n {children}\n <Indicator\n className={indicatorClassName}\n tabUpdates={this.tabUpdates}\n vertical={this.getProps().vertical}\n />\n </TabsContext.Provider>\n </div>\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private shiftFocus: TabsContextType<T>['shiftFocus'] = (fromTab, delta) => {\n const { tabs } = this;\n const index = tabs.findIndex((x) => x.id === fromTab);\n const newIndex = Math.max(0, Math.min(index + delta, tabs.length - 1));\n const tab = tabs[newIndex];\n\n const tabNode = tab.getNode();\n const htmlNode = getRootNode(tabNode);\n\n if (isInstanceOf(htmlNode, globalObject.HTMLElement) && typeof htmlNode.focus === 'function') {\n htmlNode.focus();\n }\n };\n\n private notifyUpdate: TabsContextType<T>['notifyUpdate'] = () => {\n this.listeners.forEach((cb) => cb());\n };\n\n private switchTab: TabsContextType<T>['switchTab'] = (id) => {\n const { onValueChange, value } = this.props;\n if (id !== value && onValueChange) {\n onValueChange(id);\n }\n };\n\n private getTab: TabsContextType<T>['getTab'] = (id) => {\n const { getNode = null } = this.tabs.find((x) => x.id === id) || {};\n return getNode && getNode();\n };\n\n private addTab: TabsContextType<T>['addTab'] = (id, getNode) => {\n this.tabs = this.tabs.concat({ id, getNode });\n };\n\n private removeTab: TabsContextType<T>['removeTab'] = (id) => {\n this.tabs = this.tabs.filter((tab) => tab.id !== id);\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_ThemeContext","_CommonWrapper","_Emotion","_getRootNode","_rootNode","_createPropsGetter","_isInstanceOf","_Indicator","_Tabs2","_TabsContext","_Tab","_class","_Tabs","TabsDataTids","exports","root","indicatorRoot","Tabs","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","tabs","tabUpdates","on","cb","index","listeners","push","splice","shiftFocus","fromTab","delta","_this2","findIndex","x","id","newIndex","Math","max","min","tab","tabNode","getNode","htmlNode","getRootNode","isInstanceOf","globalObject","HTMLElement","focus","notifyUpdate","forEach","switchTab","_this$props","props","onValueChange","value","getTab","_ref","find","_ref$getNode","addTab","removeTab","filter","_inheritsLoose2","default","_proto","prototype","render","_this3","_this$props2","width","children","indicatorClassName","ariaDescribedby","_this$getProps","vertical","size","createElement","ThemeContext","Consumer","theme","_cx","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","cx","styles","rootSmall","rootMedium","rootLarge","style","TabsContext","Provider","activeTab","Indicator","React","Component","__KONTUR_REACT_UI__","displayName","Tab"],"sources":["Tabs.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { emptyHandler } from '../../lib/utils';\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 { cx } from '../../lib/theming/Emotion';\nimport { getRootNode } from '../../lib/rootNode/getRootNode';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { Indicator } from './Indicator';\nimport { styles } from './Tabs.styles';\nimport type { TabsContextType } from './TabsContext';\nimport { TabsContext } from './TabsContext';\nimport { Tab } from './Tab';\n\ntype ValueBaseType = string;\ninterface TabType<T extends ValueBaseType> {\n getNode: () => Tab<T> | null;\n id: T;\n}\n\nexport interface TabsProps<T extends ValueBaseType = string> extends CommonProps {\n /** Задает кастомный класс подчёркиванию таба. */\n indicatorClassName?: string;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Задает текущий активный `<Tab />`. Принимает `id` таба. */\n value: T;\n\n /** Задает функцию, изменяющую текущий активный `<Tab />`. */\n onValueChange?: (value: T) => void;\n\n /** Задает расположение элементов по вертикали.\n * @default false */\n vertical?: boolean;\n\n /** Задает ширину компонента Tabs. */\n width?: number | string;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const TabsDataTids = {\n root: 'Tabs__root',\n indicatorRoot: 'Indicator__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TabsProps, 'vertical' | 'size'>>;\n\n/**\n * Родитель компонента Tab. Связывает `Tab`'ы в группу и позволяет управлять их состоянием, помогают в навигации.\n *\n * Используйте `Tabs` для второстепенной навигации, для группировки или фильтрации контента.\n *\n * Не используйте `Tabs` для основной навигации. Для этого лучше подходит главное меню на цветной плашке — оно более заметно на странице.\n * Не используйте `Tabs` для переключения состояний — для этого есть RadioGroup, Toggle и Switcher.\n */\n@rootNode\nexport class Tabs<T extends string = string> extends React.Component<TabsProps<T>> {\n public static __KONTUR_REACT_UI__ = 'Tabs';\n public static displayName = 'Tabs';\n\n public static defaultProps: DefaultProps = {\n vertical: false,\n size: 'large',\n };\n\n private getProps = createPropsGetter(Tabs.defaultProps);\n\n public static Tab = Tab;\n\n private theme!: Theme;\n\n private tabs: Array<TabType<T>> = [];\n\n private tabUpdates = {\n on: (cb: () => void) => {\n const index = this.listeners.push(cb);\n return () => {\n this.listeners.splice(index, 1);\n };\n },\n };\n\n private listeners: Array<typeof emptyHandler> = [];\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n const { value, width, children, indicatorClassName, 'aria-describedby': ariaDescribedby } = this.props;\n const { vertical, size } = this.getProps();\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={TabsDataTids.root}\n className={cx({\n [styles.rootSmall(this.theme)]: size === 'small',\n [styles.rootMedium(this.theme)]: size === 'medium',\n [styles.rootLarge(this.theme)]: size === 'large',\n [styles.vertical()]: vertical,\n })}\n style={{ width }}\n aria-describedby={ariaDescribedby}\n >\n <TabsContext.Provider\n value={{\n vertical,\n activeTab: value,\n size,\n getTab: this.getTab,\n addTab: this.addTab,\n removeTab: this.removeTab,\n notifyUpdate: this.notifyUpdate,\n shiftFocus: this.shiftFocus,\n switchTab: this.switchTab,\n }}\n >\n {children}\n <Indicator\n className={indicatorClassName}\n tabUpdates={this.tabUpdates}\n vertical={this.getProps().vertical}\n />\n </TabsContext.Provider>\n </div>\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private shiftFocus: TabsContextType<T>['shiftFocus'] = (fromTab, delta) => {\n const { tabs } = this;\n const index = tabs.findIndex((x) => x.id === fromTab);\n const newIndex = Math.max(0, Math.min(index + delta, tabs.length - 1));\n const tab = tabs[newIndex];\n\n const tabNode = tab.getNode();\n const htmlNode = getRootNode(tabNode);\n\n if (isInstanceOf(htmlNode, globalObject.HTMLElement) && typeof htmlNode.focus === 'function') {\n htmlNode.focus();\n }\n };\n\n private notifyUpdate: TabsContextType<T>['notifyUpdate'] = () => {\n this.listeners.forEach((cb) => cb());\n };\n\n private switchTab: TabsContextType<T>['switchTab'] = (id) => {\n const { onValueChange, value } = this.props;\n if (id !== value && onValueChange) {\n onValueChange(id);\n }\n };\n\n private getTab: TabsContextType<T>['getTab'] = (id) => {\n const { getNode = null } = this.tabs.find((x) => x.id === id) || {};\n return getNode && getNode();\n };\n\n private addTab: TabsContextType<T>['addTab'] = (id, getNode) => {\n this.tabs = this.tabs.concat({ id, getNode });\n };\n\n private removeTab: TabsContextType<T>['removeTab'] = (id) => {\n this.tabs = this.tabs.filter((tab) => tab.id !== id);\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@ import type { AriaAttributes, ReactNode } from 'react';
2
2
  import React from 'react';
3
3
  import type { Override } from '../../typings/utility-types';
4
4
  import type { CommonProps } from '../../internal/CommonWrapper';
5
+ import type { TGetRootNode } from '../../lib/rootNode';
5
6
  import type { SizeProp } from '../../lib/types/props';
6
7
  import type { InputAlign } from '../Input';
7
8
  export declare const DEFAULT_WIDTH = 250;
@@ -60,7 +61,7 @@ export declare const TextareaDataTids: {
60
61
  readonly counter: "TextareaCounter__root";
61
62
  readonly helpIcon: "TextareaCounter__helpIcon";
62
63
  };
63
- type DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations' | 'size'>>;
64
+ type DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations'>>;
64
65
  /**
65
66
  * Многострочное поле `Textarea` — это поле ввода, которое позволяет работать с несколькими строками текста.
66
67
  *
@@ -79,6 +80,7 @@ export declare class Textarea extends React.Component<TextareaProps, TextareaSta
79
80
  needsPolyfillPlaceholder: boolean;
80
81
  isCounterVisible: boolean;
81
82
  };
83
+ private size;
82
84
  private reflowCounter;
83
85
  private theme;
84
86
  private selectAllId;
@@ -87,6 +89,7 @@ export declare class Textarea extends React.Component<TextareaProps, TextareaSta
87
89
  private counter;
88
90
  private layoutEvents;
89
91
  private textareaObserver;
92
+ getRootNode: TGetRootNode;
90
93
  private setRootNode;
91
94
  private getAutoResizeThrottleWait;
92
95
  private isAnimationsDisabled;
@@ -21,6 +21,7 @@ var _rootNode = require("../../lib/rootNode");
21
21
  var _createPropsGetter = require("../../lib/createPropsGetter");
22
22
 
23
23
 
24
+ var _SizeDecorator = require("../../lib/size/SizeDecorator");
24
25
 
25
26
  var _TextareaHelpers = require("./TextareaHelpers");
26
27
  var _Textarea2 = require("./Textarea.styles");
@@ -118,9 +119,10 @@ var TextareaDataTids = exports.TextareaDataTids = {
118
119
  * Пропы **`className` и `style` игнорируются**.
119
120
  */var
120
121
 
121
- Textarea = exports.Textarea = (0, _rootNode.rootNode)(_class = (_Textarea = /*#__PURE__*/function (_React$Component) {function Textarea() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
122
122
 
123
123
 
124
+ Textarea = exports.Textarea = (0, _rootNode.rootNode)(_class = (0, _SizeDecorator.withSize)(_class = (_Textarea = /*#__PURE__*/function (_React$Component) {function Textarea() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
125
+
124
126
 
125
127
 
126
128
 
@@ -169,6 +171,8 @@ Textarea = exports.Textarea = (0, _rootNode.rootNode)(_class = (_Textarea = /*#_
169
171
  needsPolyfillPlaceholder: _needsPolyfillPlaceholder.needsPolyfillPlaceholder,
170
172
  isCounterVisible: false
171
173
  };_this.
174
+
175
+
172
176
  reflowCounter = function () {
173
177
  if (_this.counter) {
174
178
  _this.counter.reflow();
@@ -260,6 +264,7 @@ Textarea = exports.Textarea = (0, _rootNode.rootNode)(_class = (_Textarea = /*#_
260
264
 
261
265
 
262
266
 
267
+
263
268
 
264
269
 
265
270
  /**
@@ -364,7 +369,7 @@ Textarea = exports.Textarea = (0, _rootNode.rootNode)(_class = (_Textarea = /*#_
364
369
  var counter = showLengthCounter && isCounterVisible && _this.node && /*#__PURE__*/
365
370
  _react.default.createElement(_TextareaCounter.TextareaCounter, {
366
371
  textarea: _this.node,
367
- size: _this.getProps().size,
372
+ size: _this.size,
368
373
  help: counterHelp,
369
374
  value: textareaProps.value,
370
375
  length: (_ref = (_textareaProps$maxLen = textareaProps.maxLength) != null ? _textareaProps$maxLen : lengthCounter) != null ? _ref : 0,
@@ -538,10 +543,10 @@ Textarea = exports.Textarea = (0, _rootNode.rootNode)(_class = (_Textarea = /*#_
538
543
  if (_this.props.onFocus) {
539
544
  _this.props.onFocus(event);
540
545
  }
541
- };return _this;}(0, _inheritsLoose2.default)(Textarea, _React$Component);var _proto = Textarea.prototype;_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.getProps().size) {case 'large':return _Textarea2.styles.rootLarge(this.theme);case 'medium':return _Textarea2.styles.rootMedium(this.theme);case 'small':default:return _Textarea2.styles.rootSmall(this.theme);}};_proto.getTextareaSizeClassName = function getTextareaSizeClassName() {switch (this.getProps().size) {case 'large':return _Textarea2.styles.textareaLarge(this.theme);case 'medium':return _Textarea2.styles.textareaMedium(this.theme);case 'small':default:return _Textarea2.styles.textareaSmall(this.theme);}};_proto.getAutoResizeThrottleWait = function getAutoResizeThrottleWait(props) {if (props === void 0) {props = this.props;} // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты
546
+ };return _this;}(0, _inheritsLoose2.default)(Textarea, _React$Component);var _proto = Textarea.prototype;_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.size) {case 'large':return _Textarea2.styles.rootLarge(this.theme);case 'medium':return _Textarea2.styles.rootMedium(this.theme);case 'small':default:return _Textarea2.styles.rootSmall(this.theme);}};_proto.getTextareaSizeClassName = function getTextareaSizeClassName() {switch (this.size) {case 'large':return _Textarea2.styles.textareaLarge(this.theme);case 'medium':return _Textarea2.styles.textareaMedium(this.theme);case 'small':default:return _Textarea2.styles.textareaSmall(this.theme);}};_proto.getAutoResizeThrottleWait = function getAutoResizeThrottleWait(props) {if (props === void 0) {props = this.props;} // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты
542
547
  // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120
543
548
  return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;};_proto.isAnimationsDisabled = function isAnimationsDisabled(_temp) {var _ref3 = _temp === void 0 ? this.props : _temp,disableAnimations = _ref3.disableAnimations,extraRow = _ref3.extraRow;return disableAnimations || !extraRow;};_proto.componentDidMount = function componentDidMount() {if (this.props.autoResize) {this.autoResize();this.layoutEvents = LayoutEvents.addListener(this.autoResize);}if (this.node && this.props.showLengthCounter && this.textareaObserver) {this.textareaObserver.observe(this.node, { attributes: true });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.layoutEvents) {this.layoutEvents.remove();}if (this.props.showLengthCounter && this.textareaObserver) {this.textareaObserver.disconnect();}this.cancelDelayedSelectAll();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {this.autoResize.cancel();this.autoResize = (0, _lodash.default)(this.autoResizeHandler, this.getAutoResizeThrottleWait());}var _this$getProps2 = this.getProps(),rows = _this$getProps2.rows,maxRows = _this$getProps2.maxRows;if (this.props.autoResize && (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)) {this.autoResize();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain);});} /**
544
549
  * @public
545
550
  */;_proto.focus = function focus() {if (this.node) {this.node.focus();}} /**
546
551
  * @public
547
- */;_proto.blur = function blur() {if (this.node) {this.node.blur();}};return Textarea;}(_react.default.Component), _Textarea.__KONTUR_REACT_UI__ = 'Textarea', _Textarea.displayName = 'Textarea', _Textarea.defaultProps = { rows: 3, maxRows: 15, extraRow: true, size: 'small', disableAnimations: _currentEnvironment.isTestEnv }, _Textarea)) || _class;
552
+ */;_proto.blur = function blur() {if (this.node) {this.node.blur();}};return Textarea;}(_react.default.Component), _Textarea.__KONTUR_REACT_UI__ = 'Textarea', _Textarea.displayName = 'Textarea', _Textarea.defaultProps = { rows: 3, maxRows: 15, extraRow: true, disableAnimations: _currentEnvironment.isTestEnv }, _Textarea)) || _class) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_globalObject","_identifiers","_needsPolyfillPlaceholder","LayoutEvents","_interopRequireWildcard","_ThemeContext","_RenderLayer","_ResizeDetector","_client","_CommonWrapper","_currentEnvironment","_Emotion","_rootNode","_createPropsGetter","_TextareaHelpers","_Textarea2","_TextareaCounter","_TextareaWithSafari17Workaround","_excluded","_class","_Textarea","DEFAULT_WIDTH","exports","AUTORESIZE_THROTTLE_DEFAULT_WAIT","TextareaDataTids","root","counter","helpIcon","Textarea","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","clear","node","value","fakeNode","getProps","createPropsGetter","defaultProps","state","needsPolyfillPlaceholder","isCounterVisible","reflowCounter","reflow","selectAllId","textareaObserver","globalObject","MutationObserver","setSelectionRange","start","end","_globalObject$documen","Error","document","activeElement","focus","selectAll","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","_objectWithoutPropertiesLoose2","default","rootProps","style","textareaClassNames","cx","getTextareaSizeClassName","styles","textarea","theme","hovering","isAnimationsDisabled","textareaStyle","textAlign","align","placeholderPolyfill","defaultValue","createElement","className","fakeTextarea","fakeProps","fake","readOnly","_extends2","ref","refFake","TextareaCounter","help","maxLength","onCloseHelp","handleCloseCounterHelp","refCounter","Component","isSafariWithTextareaBug","TextareaWithSafari17Workaround","RenderLayer","onFocusOutside","onClickOutside","active","getRootSizeClassName","ResizeDetector","onResize","undefined","onChange","handleChange","handleCut","handlePaste","handleFocus","onKeyDown","handleKeyDown","children","setState","e","toString","isBlockEnter","isKeyEnter","preventDefault","fieldIsEmpty","target","element","autoResizeHandler","_this$getProps","rows","_ref2","getTextAreaHeight","minRows","parseInt","height","exceededMaxHeight","overflowY","throttle","getAutoResizeThrottleWait","event","isIE11","_inheritsLoose2","_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","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","blur","React","__KONTUR_REACT_UI__","displayName","isTestEnv"],"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 { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { InputAlign } from '../Input';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport type { TextareaCounterRef } from './TextareaCounter';\nimport { TextareaCounter } from './TextareaCounter';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround';\n\nexport const DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends Pick<AriaAttributes, 'aria-controls' | '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 align?: InputAlign;\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 public clear = () => {\n if (this.node) {\n this.node.value = '';\n }\n if (this.fakeNode) {\n this.fakeNode.value = '';\n }\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 textAlign: this.props.align,\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","_interopRequireDefault","require","_lodash","_globalObject","_identifiers","_needsPolyfillPlaceholder","LayoutEvents","_interopRequireWildcard","_ThemeContext","_RenderLayer","_ResizeDetector","_client","_CommonWrapper","_currentEnvironment","_Emotion","_rootNode","_createPropsGetter","_SizeDecorator","_TextareaHelpers","_Textarea2","_TextareaCounter","_TextareaWithSafari17Workaround","_excluded","_class","_Textarea","DEFAULT_WIDTH","exports","AUTORESIZE_THROTTLE_DEFAULT_WAIT","TextareaDataTids","root","counter","helpIcon","Textarea","rootNode","withSize","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","clear","node","value","fakeNode","getProps","createPropsGetter","defaultProps","state","needsPolyfillPlaceholder","isCounterVisible","reflowCounter","reflow","selectAllId","textareaObserver","globalObject","MutationObserver","setSelectionRange","start","end","_globalObject$documen","Error","document","activeElement","focus","selectAll","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","_objectWithoutPropertiesLoose2","default","rootProps","style","textareaClassNames","cx","getTextareaSizeClassName","styles","textarea","theme","hovering","isAnimationsDisabled","textareaStyle","textAlign","align","placeholderPolyfill","defaultValue","createElement","className","fakeTextarea","fakeProps","fake","readOnly","_extends2","ref","refFake","TextareaCounter","help","maxLength","onCloseHelp","handleCloseCounterHelp","refCounter","Component","isSafariWithTextareaBug","TextareaWithSafari17Workaround","RenderLayer","onFocusOutside","onClickOutside","active","getRootSizeClassName","ResizeDetector","onResize","undefined","onChange","handleChange","handleCut","handlePaste","handleFocus","onKeyDown","handleKeyDown","children","setState","e","toString","isBlockEnter","isKeyEnter","preventDefault","fieldIsEmpty","target","element","autoResizeHandler","_this$getProps","rows","_ref2","getTextAreaHeight","minRows","parseInt","height","exceededMaxHeight","overflowY","throttle","getAutoResizeThrottleWait","event","isIE11","_inheritsLoose2","_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","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","blur","React","__KONTUR_REACT_UI__","displayName","isTestEnv"],"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';\nimport type { InputAlign } from '../Input';\nimport { withSize } from '../../lib/size/SizeDecorator';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport type { TextareaCounterRef } from './TextareaCounter';\nimport { TextareaCounter } from './TextareaCounter';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround';\n\nexport const DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends Pick<AriaAttributes, 'aria-controls' | '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 align?: InputAlign;\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'>>;\n\n/**\n * Многострочное поле `Textarea` — это поле ввода, которое позволяет работать с несколькими строками текста.\n *\n * Принимает все атрибуты `React.TextareaHTMLAttributes<HTMLTextAreaElement>`.\n * Пропы **`className` и `style` игнорируются**.\n */\n\n@rootNode\n@withSize\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 disableAnimations: isTestEnv,\n };\n\n public clear = () => {\n if (this.node) {\n this.node.value = '';\n }\n if (this.fakeNode) {\n this.fakeNode.value = '';\n }\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.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.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 size!: SizeProp;\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 textAlign: this.props.align,\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.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":[]}
@@ -27,7 +27,8 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
27
27
  },
28
28
 
29
29
  textarea: function textarea(t) {
30
- return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n -webkit-appearance: none;\n background: ", ";\n background-clip: ", ";\n border: ", " solid ", ";\n border-top-color: ", ";\n box-shadow: ", ";\n box-sizing: border-box;\n color: ", ";\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n max-width: 100%;\n min-width: ", ";\n outline: none;\n transition:\n border-color ", " ", ",\n height 0.2s ease-out;\n vertical-align: middle;\n width: 100%;\n border-radius: ", ";\n white-space: pre-wrap;\n margin: 0;\n\n &:focus {\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n position: relative;\n z-index: 2;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &::placeholder {\n color: ", ";\n }\n\n &:-moz-placeholder {\n color: ", ";\n }\n\n &::-moz-placeholder {\n color: ", ";\n }\n "])),
30
+ return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n margin: ", ";\n -webkit-appearance: none;\n background: ", ";\n background-clip: ", ";\n border: ", " solid ", ";\n border-top-color: ", ";\n box-shadow: ", ";\n box-sizing: border-box;\n color: ", ";\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n max-width: 100%;\n min-width: ", ";\n outline: none;\n transition:\n border-color ", " ", ",\n height 0.2s ease-out;\n vertical-align: ", ";\n width: 100%;\n border-radius: ", ";\n white-space: pre-wrap;\n\n &:focus {\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n position: relative;\n z-index: 2;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &::placeholder {\n color: ", ";\n }\n\n &:-moz-placeholder {\n color: ", ";\n }\n\n &::-moz-placeholder {\n color: ", ";\n }\n "])),
31
+ t.textareaMargin,
31
32
 
32
33
  t.textareaBg,
33
34
  t.textareaBackgroundClip,
@@ -45,13 +46,12 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
45
46
 
46
47
  t.transitionDuration, t.transitionTimingFunction,
47
48
 
48
-
49
+ t.textareaVerticalAlign,
49
50
 
50
51
  t.textareaBorderRadius,
51
52
 
52
53
 
53
54
 
54
-
55
55
  t.textareaBorderColorFocus,
56
56
  t.textareaOutlineWidth, t.textareaBorderColorFocus,
57
57
 
@@ -1 +1 @@
1
- {"version":3,"names":["_Emotion","require","_Textarea","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","_templateObject21","_templateObject22","styles","exports","memoizeStyle","root","css","_taggedTemplateLiteralLoose2","default","rootSmall","t","rootTextareaSizeMixin","textareaFontSizeSmall","textareaLineHeightSmall","rootMedium","textareaFontSizeMedium","textareaLineHeightMedium","rootLarge","textareaFontSizeLarge","textareaLineHeightLarge","textarea","textareaBg","textareaBackgroundClip","textareaBorderWidth","textareaBorderColor","textareaBorderTopColor","textareaShadow","textareaColor","textareaWidth","transitionDuration","transitionTimingFunction","textareaBorderRadius","textareaBorderColorFocus","textareaOutlineWidth","textareaPlaceholderColorLight","textareaPlaceholderColor","textareaSmall","textareaSizeMixin","textareaPaddingYSmall","textareaPaddingXSmall","textareaMinHeightSmall","textareaMedium","textareaPaddingYMedium","textareaPaddingXMedium","textareaMinHeightMedium","textareaLarge","textareaPaddingYLarge","textareaPaddingXLarge","textareaMinHeightLarge","hovering","textareaBorderColorHover","error","textareaBorderColorError","warning","textareaBorderColorWarning","disabled","textareaTextColorDisabled","textareaDisabledBg","textareaDisabledBorderColor","textareaPlaceholderColorDisabled","fake","placeholder","counterContainer","counter","textareaCounterBg","textareaCounterColor","counterSmall","counterSizeMixin","counterMedium","counterLarge","counterError","textareaCounterErrorColor","counterHelp","disableAnimations"],"sources":["Textarea.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\n\nimport { counterSizeMixin, rootTextareaSizeMixin, textareaSizeMixin } from './Textarea.mixins';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n display: inline-block;\n position: relative;\n `;\n },\n rootSmall(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeSmall, t.textareaLineHeightSmall)};\n `;\n },\n rootMedium(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeMedium, t.textareaLineHeightMedium)};\n `;\n },\n rootLarge(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeLarge, t.textareaLineHeightLarge)};\n `;\n },\n\n textarea(t: Theme) {\n return css`\n -webkit-appearance: none;\n background: ${t.textareaBg};\n background-clip: ${t.textareaBackgroundClip};\n border: ${t.textareaBorderWidth} solid ${t.textareaBorderColor};\n border-top-color: ${t.textareaBorderTopColor};\n box-shadow: ${t.textareaShadow};\n box-sizing: border-box;\n color: ${t.textareaColor};\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n max-width: 100%;\n min-width: ${t.textareaWidth};\n outline: none;\n transition:\n border-color ${t.transitionDuration} ${t.transitionTimingFunction},\n height 0.2s ease-out;\n vertical-align: middle;\n width: 100%;\n border-radius: ${t.textareaBorderRadius};\n white-space: pre-wrap;\n margin: 0;\n\n &:focus {\n border-color: ${t.textareaBorderColorFocus};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorFocus};\n position: relative;\n z-index: 2;\n\n &::placeholder {\n color: ${t.textareaPlaceholderColorLight};\n }\n }\n\n &::placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n\n &:-moz-placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n\n &::-moz-placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n `;\n },\n textareaSmall(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYSmall, t.textareaPaddingXSmall, t.textareaMinHeightSmall)};\n `;\n },\n textareaMedium(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYMedium, t.textareaPaddingXMedium, t.textareaMinHeightMedium)};\n `;\n },\n textareaLarge(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYLarge, t.textareaPaddingXLarge, t.textareaMinHeightLarge)};\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:enabled:hover:not(:focus) {\n border-color: ${t.textareaBorderColorHover};\n }\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.textareaBorderColorError};\n box-shadow: 0 0 0 ${t.textareaBorderWidth} ${t.textareaBorderColorError};\n\n &:focus {\n border-color: ${t.textareaBorderColorError};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorError};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.textareaBorderColorWarning};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorWarning};\n\n &:focus {\n border-color: ${t.textareaBorderColorWarning};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorWarning};\n }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.textareaTextColorDisabled};\n background: ${t.textareaDisabledBg};\n border-color: ${t.textareaDisabledBorderColor};\n box-shadow: none;\n\n &::placeholder {\n color: ${t.textareaPlaceholderColorDisabled};\n }\n `;\n },\n\n fake() {\n return css`\n height: 0;\n left: 0;\n position: absolute;\n top: 0;\n visibility: hidden;\n width: 100%;\n `;\n },\n\n placeholder() {\n return css`\n -ms-user-select: none;\n color: #aaa;\n left: 12px;\n overflow: hidden;\n position: absolute;\n right: 12px;\n top: 9px;\n user-select: none;\n z-index: 3;\n `;\n },\n\n counterContainer(t: Theme) {\n return css`\n position: absolute;\n top: 0;\n border: ${t.textareaBorderWidth} solid transparent;\n box-sizing: content-box;\n `;\n },\n\n counter(t: Theme) {\n return css`\n position: absolute;\n z-index: 3;\n text-align: right;\n background: ${t.textareaCounterBg};\n color: ${t.textareaCounterColor};\n border-radius: 2px;\n `;\n },\n counterSmall(t: Theme) {\n return css`\n ${counterSizeMixin(t.textareaPaddingYSmall, t.textareaPaddingXSmall)};\n `;\n },\n counterMedium(t: Theme) {\n return css`\n ${counterSizeMixin(t.textareaPaddingYMedium, t.textareaPaddingXMedium)};\n `;\n },\n counterLarge(t: Theme) {\n return css`\n ${counterSizeMixin(t.textareaPaddingYLarge, t.textareaPaddingXLarge)};\n `;\n },\n\n counterError(t: Theme) {\n return css`\n color: ${t.textareaCounterErrorColor};\n `;\n },\n\n counterHelp() {\n return css`\n margin-left: 4px;\n cursor: pointer;\n `;\n },\n\n disableAnimations() {\n return css`\n transition: none;\n `;\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_Emotion","require","_Textarea","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","_templateObject21","_templateObject22","styles","exports","memoizeStyle","root","css","_taggedTemplateLiteralLoose2","default","rootSmall","t","rootTextareaSizeMixin","textareaFontSizeSmall","textareaLineHeightSmall","rootMedium","textareaFontSizeMedium","textareaLineHeightMedium","rootLarge","textareaFontSizeLarge","textareaLineHeightLarge","textarea","textareaMargin","textareaBg","textareaBackgroundClip","textareaBorderWidth","textareaBorderColor","textareaBorderTopColor","textareaShadow","textareaColor","textareaWidth","transitionDuration","transitionTimingFunction","textareaVerticalAlign","textareaBorderRadius","textareaBorderColorFocus","textareaOutlineWidth","textareaPlaceholderColorLight","textareaPlaceholderColor","textareaSmall","textareaSizeMixin","textareaPaddingYSmall","textareaPaddingXSmall","textareaMinHeightSmall","textareaMedium","textareaPaddingYMedium","textareaPaddingXMedium","textareaMinHeightMedium","textareaLarge","textareaPaddingYLarge","textareaPaddingXLarge","textareaMinHeightLarge","hovering","textareaBorderColorHover","error","textareaBorderColorError","warning","textareaBorderColorWarning","disabled","textareaTextColorDisabled","textareaDisabledBg","textareaDisabledBorderColor","textareaPlaceholderColorDisabled","fake","placeholder","counterContainer","counter","textareaCounterBg","textareaCounterColor","counterSmall","counterSizeMixin","counterMedium","counterLarge","counterError","textareaCounterErrorColor","counterHelp","disableAnimations"],"sources":["Textarea.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\n\nimport { counterSizeMixin, rootTextareaSizeMixin, textareaSizeMixin } from './Textarea.mixins';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n display: inline-block;\n position: relative;\n `;\n },\n rootSmall(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeSmall, t.textareaLineHeightSmall)};\n `;\n },\n rootMedium(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeMedium, t.textareaLineHeightMedium)};\n `;\n },\n rootLarge(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeLarge, t.textareaLineHeightLarge)};\n `;\n },\n\n textarea(t: Theme) {\n return css`\n margin: ${t.textareaMargin};\n -webkit-appearance: none;\n background: ${t.textareaBg};\n background-clip: ${t.textareaBackgroundClip};\n border: ${t.textareaBorderWidth} solid ${t.textareaBorderColor};\n border-top-color: ${t.textareaBorderTopColor};\n box-shadow: ${t.textareaShadow};\n box-sizing: border-box;\n color: ${t.textareaColor};\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n max-width: 100%;\n min-width: ${t.textareaWidth};\n outline: none;\n transition:\n border-color ${t.transitionDuration} ${t.transitionTimingFunction},\n height 0.2s ease-out;\n vertical-align: ${t.textareaVerticalAlign};\n width: 100%;\n border-radius: ${t.textareaBorderRadius};\n white-space: pre-wrap;\n\n &:focus {\n border-color: ${t.textareaBorderColorFocus};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorFocus};\n position: relative;\n z-index: 2;\n\n &::placeholder {\n color: ${t.textareaPlaceholderColorLight};\n }\n }\n\n &::placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n\n &:-moz-placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n\n &::-moz-placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n `;\n },\n textareaSmall(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYSmall, t.textareaPaddingXSmall, t.textareaMinHeightSmall)};\n `;\n },\n textareaMedium(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYMedium, t.textareaPaddingXMedium, t.textareaMinHeightMedium)};\n `;\n },\n textareaLarge(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYLarge, t.textareaPaddingXLarge, t.textareaMinHeightLarge)};\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:enabled:hover:not(:focus) {\n border-color: ${t.textareaBorderColorHover};\n }\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.textareaBorderColorError};\n box-shadow: 0 0 0 ${t.textareaBorderWidth} ${t.textareaBorderColorError};\n\n &:focus {\n border-color: ${t.textareaBorderColorError};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorError};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.textareaBorderColorWarning};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorWarning};\n\n &:focus {\n border-color: ${t.textareaBorderColorWarning};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorWarning};\n }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.textareaTextColorDisabled};\n background: ${t.textareaDisabledBg};\n border-color: ${t.textareaDisabledBorderColor};\n box-shadow: none;\n\n &::placeholder {\n color: ${t.textareaPlaceholderColorDisabled};\n }\n `;\n },\n\n fake() {\n return css`\n height: 0;\n left: 0;\n position: absolute;\n top: 0;\n visibility: hidden;\n width: 100%;\n `;\n },\n\n placeholder() {\n return css`\n -ms-user-select: none;\n color: #aaa;\n left: 12px;\n overflow: hidden;\n position: absolute;\n right: 12px;\n top: 9px;\n user-select: none;\n z-index: 3;\n `;\n },\n\n counterContainer(t: Theme) {\n return css`\n position: absolute;\n top: 0;\n border: ${t.textareaBorderWidth} solid transparent;\n box-sizing: content-box;\n `;\n },\n\n counter(t: Theme) {\n return css`\n position: absolute;\n z-index: 3;\n text-align: right;\n background: ${t.textareaCounterBg};\n color: ${t.textareaCounterColor};\n border-radius: 2px;\n `;\n },\n counterSmall(t: Theme) {\n return css`\n ${counterSizeMixin(t.textareaPaddingYSmall, t.textareaPaddingXSmall)};\n `;\n },\n counterMedium(t: Theme) {\n return css`\n ${counterSizeMixin(t.textareaPaddingYMedium, t.textareaPaddingXMedium)};\n `;\n },\n counterLarge(t: Theme) {\n return css`\n ${counterSizeMixin(t.textareaPaddingYLarge, t.textareaPaddingXLarge)};\n `;\n },\n\n counterError(t: Theme) {\n return css`\n color: ${t.textareaCounterErrorColor};\n `;\n },\n\n counterHelp() {\n return css`\n margin-left: 4px;\n cursor: pointer;\n `;\n },\n\n disableAnimations() {\n return css`\n transition: none;\n `;\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -3,18 +3,27 @@ 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;
9
10
  handler: () => void;
10
11
  'aria-label'?: string;
11
12
  }
13
+ /**
14
+ * Состояния тоста:
15
+ *
16
+ * - default стиль для отображения по-умолчанию
17
+ * - error стиль для отображения ошибок
18
+ **/
19
+ export type ToastUse = 'default' | 'error';
12
20
  export interface ToastState {
13
21
  notification: Nullable<React.ReactNode>;
14
22
  action: Nullable<Action>;
15
23
  id: number;
16
24
  showTime: Nullable<number>;
17
25
  showCloseIcon?: boolean;
26
+ currentUse: ToastUse;
18
27
  }
19
28
  export interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {
20
29
  /** Задает функцию, которая вызывается при возникновении тоста. */
@@ -24,7 +33,25 @@ export interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonPr
24
33
  /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */
25
34
  theme?: ThemeIn;
26
35
  }
36
+ /** @deprecated выпилить старый подход к api push Toast-а в react-ui 6.0 */
27
37
  export type ToastPush = (notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) => void;
38
+ /** Объект с конфигурацией отображения Toast-а */
39
+ export interface ToastPushConfig {
40
+ action?: Nullable<Action>;
41
+ showTime?: number;
42
+ showCloseIcon?: boolean;
43
+ /**
44
+ * Определяет стили для тоста.
45
+ *
46
+ * - default стиль для отображения по-умолчанию
47
+ * - error стиль для отображения ошибок
48
+ *
49
+ * По-умолчанию будет использован стиль default.
50
+ **/
51
+ use?: ToastUse;
52
+ }
53
+ /** TODO: Новый Api для метода push в Toast. Станет api по-умолчанию с версии 6.0. В мажоре нужно будет убрать New из названия */
54
+ export type ToastNewPushApi = (notification: React.ReactNode, config: ToastPushConfig) => void;
28
55
  export type ToastClose = () => void;
29
56
  export declare const ToastDataTids: {
30
57
  readonly toastStatic: "StaticToast";
@@ -37,13 +64,23 @@ export declare const ToastDataTids: {
37
64
  * Результат может быть положительным, отрицательным или нейтральным.
38
65
  *
39
66
  * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.
40
- * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.
67
+ * Однако, при его использовании не работает кастомизация и могут быть проблемы с перекрытием уведомления другими элементами страницы.
41
68
  *
42
- * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.
69
+ * В обозримом будущем планируем **полностью избавиться** от статического метода в компоненте `Toast`.
70
+ *
71
+ * В качестве альтернативы для `Toast.push` мы рекомендуем использовать компонент `SingleToast` или вызов метода push через `ref`.
72
+ *
73
+ * Метод `push` через ref поддерживает два api.
74
+ *
75
+ * 1. Устаревший с последовательной передачей аргументов: `toastRef.current.push('Hi', { label: 'Cancel', handler: () => {} }, 15000)`
76
+ * 2. Новый с передачей объекта конфигурации: `toastRef.current.push('Hi', { action: { label: 'Cancel', handler: () => {} }, showTime: 15000 })`
77
+ *
78
+ * Устаревший подход с передачей аргументов последовательным образом **будет удалён** в следующей мажорной версии.
43
79
  */
44
80
  export declare class Toast extends React.Component<ToastProps, ToastState> {
45
81
  static __KONTUR_REACT_UI__: string;
46
82
  static displayName: string;
83
+ getRootNode: TGetRootNode;
47
84
  private setRootNode;
48
85
  private theme;
49
86
  /** @deprecated use `push` method in ref or `SingleToast.push` */
@@ -59,17 +96,23 @@ export declare class Toast extends React.Component<ToastProps, ToastState> {
59
96
  /**
60
97
  * Показывает тост с `notification` в качестве сообщения.
61
98
  * Тост автоматически скрывается через 3 или 7 секунд,
62
- * в зависимости от наличия у него кнопки `action`.
63
- * Время показа можно задать вручную, передав `showTime`.
99
+ * в зависимости от наличия у него кнопки `action` внутри config-а.
100
+ * Время показа можно задать вручную, передав `showTime` внутри config-а.
64
101
  *
65
102
  * @public
66
103
  * @param {React.ReactNode} notification
67
- * @param {Action} action `action` опциональный параметр формата `{ label: React.ReactNode, handler: function }`
68
- * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler
69
- * @param {number} showTime Время существования Toast в миллисекундах
70
- * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.
104
+ * @param {ToastPushConfig} config объект с конфигурацией отображения компонента Toast
105
+ *
106
+ * @description Сейчас есть поддержка старого api метода push с передачей аргументов последовательно, но с версии 6.0 этот функционал будет удалён.
107
+ * @example
108
+ * // Будет удален в 6.0
109
+ * push('notification', { label: "cat meow", handler: () => {} }, 15_000, false, "error")
110
+ *
111
+ * @example
112
+ * // Останется в > 6.0
113
+ * push('notification', { action: { label: "cat meow", handler: () => {} }, showTime: 15_000, showCloseIcon: false, use: "error" })
71
114
  */
72
- push(notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean): void;
115
+ push(notification: React.ReactNode, configOrAction?: ToastPushConfig | Nullable<Action>, showTime?: number, showCloseIcon?: boolean, use?: ToastUse): void;
73
116
  /**
74
117
  * @public
75
118
  */
@@ -80,3 +123,7 @@ export declare class Toast extends React.Component<ToastProps, ToastState> {
80
123
  private _setTimer;
81
124
  private _refToast;
82
125
  }
126
+ export declare function isNewToastPushApi(value: unknown): value is ToastPushConfig;
127
+ export declare function isOldToastPushApi(value: unknown): value is Action;
128
+ /** Хелпер для случая, когда передаём только текст */
129
+ export declare function isEmptySecondArg(value: unknown): value is null | undefined;