@skbkontur/react-ui 0.0.0-a25347e958 → 0.0.0-a2ba583fb2

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 (1264) hide show
  1. package/CHANGELOG.md +199 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +2 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js +1 -0
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +7 -2
  6. package/cjs/components/Button/Button.js +22 -6
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.md +68 -0
  9. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  10. package/cjs/components/Button/Button.mixins.js +54 -53
  11. package/cjs/components/Button/Button.mixins.js.map +1 -1
  12. package/cjs/components/Button/Button.styles.d.ts +2 -1
  13. package/cjs/components/Button/Button.styles.js +200 -161
  14. package/cjs/components/Button/Button.styles.js.map +1 -1
  15. package/cjs/components/Button/ButtonArrow.js +1 -1
  16. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  17. package/cjs/components/Button/ButtonIcon.d.ts +3 -2
  18. package/cjs/components/Button/ButtonIcon.js +2 -4
  19. package/cjs/components/Button/ButtonIcon.js.map +1 -1
  20. package/cjs/components/Button/getInnerLinkTheme.js +1 -0
  21. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  22. package/cjs/components/Calendar/Calendar.js +8 -6
  23. package/cjs/components/Calendar/Calendar.js.map +1 -1
  24. package/cjs/components/Checkbox/Checkbox.d.ts +6 -2
  25. package/cjs/components/Checkbox/Checkbox.js +12 -7
  26. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  27. package/cjs/components/Clickable/ArrowLeftIcon.d.ts +3 -0
  28. package/cjs/components/Clickable/ArrowLeftIcon.js +15 -0
  29. package/cjs/components/Clickable/ArrowLeftIcon.js.map +1 -0
  30. package/cjs/components/Clickable/ArrowRightIcon.d.ts +3 -0
  31. package/cjs/components/Clickable/ArrowRightIcon.js +15 -0
  32. package/cjs/components/Clickable/ArrowRightIcon.js.map +1 -0
  33. package/cjs/components/Clickable/Clickable.d.ts +97 -0
  34. package/cjs/components/Clickable/Clickable.js +249 -0
  35. package/cjs/components/Clickable/Clickable.js.map +1 -0
  36. package/cjs/components/Clickable/Clickable.md +173 -0
  37. package/cjs/components/Clickable/Clickable.styles.d.ts +11 -0
  38. package/cjs/components/Clickable/Clickable.styles.js +31 -0
  39. package/cjs/components/Clickable/Clickable.styles.js.map +1 -0
  40. package/cjs/components/Clickable/ClickableButton.d.ts +5 -0
  41. package/cjs/components/Clickable/ClickableButton.js +43 -0
  42. package/cjs/components/Clickable/ClickableButton.js.map +1 -0
  43. package/cjs/components/Clickable/ClickableButton.mixins.d.ts +30 -0
  44. package/cjs/components/Clickable/ClickableButton.mixins.js +134 -0
  45. package/cjs/components/Clickable/ClickableButton.mixins.js.map +1 -0
  46. package/cjs/components/Clickable/ClickableButton.styles.d.ts +63 -0
  47. package/cjs/components/Clickable/ClickableButton.styles.js +604 -0
  48. package/cjs/components/Clickable/ClickableButton.styles.js.map +1 -0
  49. package/cjs/components/Clickable/ClickableButtonArrow.d.ts +4 -0
  50. package/cjs/components/Clickable/ClickableButtonArrow.js +32 -0
  51. package/cjs/components/Clickable/ClickableButtonArrow.js.map +1 -0
  52. package/cjs/components/Clickable/ClickableButtonArrow.styles.d.ts +8 -0
  53. package/cjs/components/Clickable/ClickableButtonArrow.styles.js +40 -0
  54. package/cjs/components/Clickable/ClickableButtonArrow.styles.js.map +1 -0
  55. package/cjs/components/Clickable/ClickableButtonCaption.d.ts +2 -0
  56. package/cjs/components/Clickable/ClickableButtonCaption.js +57 -0
  57. package/cjs/components/Clickable/ClickableButtonCaption.js.map +1 -0
  58. package/cjs/components/Clickable/ClickableButtonCaption.styles.d.ts +5 -0
  59. package/cjs/components/Clickable/ClickableButtonCaption.styles.js +23 -0
  60. package/cjs/components/Clickable/ClickableButtonCaption.styles.js.map +1 -0
  61. package/cjs/components/Clickable/ClickableButtonIcon.d.ts +7 -0
  62. package/cjs/components/Clickable/ClickableButtonIcon.js +64 -0
  63. package/cjs/components/Clickable/ClickableButtonIcon.js.map +1 -0
  64. package/cjs/components/Clickable/ClickableButtonIcon.styles.d.ts +19 -0
  65. package/cjs/components/Clickable/ClickableButtonIcon.styles.js +108 -0
  66. package/cjs/components/Clickable/ClickableButtonIcon.styles.js.map +1 -0
  67. package/cjs/components/Clickable/ClickableButtonLoadingIcon.d.ts +6 -0
  68. package/cjs/components/Clickable/ClickableButtonLoadingIcon.js +19 -0
  69. package/cjs/components/Clickable/ClickableButtonLoadingIcon.js.map +1 -0
  70. package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.d.ts +3 -0
  71. package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.js +17 -0
  72. package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.js.map +1 -0
  73. package/cjs/components/Clickable/ClickableButtonOutline.d.ts +4 -0
  74. package/cjs/components/Clickable/ClickableButtonOutline.js +36 -0
  75. package/cjs/components/Clickable/ClickableButtonOutline.js.map +1 -0
  76. package/cjs/components/Clickable/ClickableButtonOutline.styles.d.ts +6 -0
  77. package/cjs/components/Clickable/ClickableButtonOutline.styles.js +25 -0
  78. package/cjs/components/Clickable/ClickableButtonOutline.styles.js.map +1 -0
  79. package/cjs/components/Clickable/ClickableButtonWrapper.d.ts +3 -0
  80. package/cjs/components/Clickable/ClickableButtonWrapper.js +27 -0
  81. package/cjs/components/Clickable/ClickableButtonWrapper.js.map +1 -0
  82. package/cjs/components/Clickable/ClickableButtonWrapper.styles.d.ts +7 -0
  83. package/cjs/components/Clickable/ClickableButtonWrapper.styles.js +27 -0
  84. package/cjs/components/Clickable/ClickableButtonWrapper.styles.js.map +1 -0
  85. package/cjs/components/Clickable/ClickableLink.d.ts +5 -0
  86. package/cjs/components/Clickable/ClickableLink.js +28 -0
  87. package/cjs/components/Clickable/ClickableLink.js.map +1 -0
  88. package/cjs/components/Clickable/ClickableLink.styles.d.ts +21 -0
  89. package/cjs/components/Clickable/ClickableLink.styles.js +134 -0
  90. package/cjs/components/Clickable/ClickableLink.styles.js.map +1 -0
  91. package/cjs/components/Clickable/ClickableLinkChild.d.ts +7 -0
  92. package/cjs/components/Clickable/ClickableLinkChild.js +40 -0
  93. package/cjs/components/Clickable/ClickableLinkChild.js.map +1 -0
  94. package/cjs/components/Clickable/ClickableLinkChild.styles.d.ts +7 -0
  95. package/cjs/components/Clickable/ClickableLinkChild.styles.js +42 -0
  96. package/cjs/components/Clickable/ClickableLinkChild.styles.js.map +1 -0
  97. package/cjs/components/Clickable/ClickableLinkIcon.d.ts +7 -0
  98. package/cjs/components/Clickable/ClickableLinkIcon.js +30 -0
  99. package/cjs/components/Clickable/ClickableLinkIcon.js.map +1 -0
  100. package/cjs/components/Clickable/ClickableLinkIcon.styles.d.ts +6 -0
  101. package/cjs/components/Clickable/ClickableLinkIcon.styles.js +20 -0
  102. package/cjs/components/Clickable/ClickableLinkIcon.styles.js.map +1 -0
  103. package/cjs/components/Clickable/index.d.ts +1 -0
  104. package/cjs/components/Clickable/index.js +1 -0
  105. package/cjs/components/Clickable/index.js.map +1 -0
  106. package/cjs/components/Clickable/utils.d.ts +6 -0
  107. package/cjs/components/Clickable/utils.js +47 -0
  108. package/cjs/components/Clickable/utils.js.map +1 -0
  109. package/cjs/components/ComboBox/ComboBox.d.ts +2 -1
  110. package/cjs/components/ComboBox/ComboBox.js +1 -0
  111. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  112. package/cjs/components/CurrencyInput/CurrencyInput.js +3 -1
  113. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  114. package/cjs/components/DateInput/DateFragmentsView.js +2 -1
  115. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  116. package/cjs/components/DateInput/DateInput.d.ts +2 -1
  117. package/cjs/components/DateInput/DateInput.js +3 -1
  118. package/cjs/components/DateInput/DateInput.js.map +1 -1
  119. package/cjs/components/DateInput/helpers/SelectionHelpers.js +11 -10
  120. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  121. package/cjs/components/DatePicker/DatePicker.d.ts +2 -1
  122. package/cjs/components/DatePicker/DatePicker.js +1 -0
  123. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  124. package/cjs/components/Dropdown/Dropdown.d.ts +3 -2
  125. package/cjs/components/Dropdown/Dropdown.js +1 -0
  126. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  127. package/cjs/components/Dropdown/getDropdownTheme.js +21 -22
  128. package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
  129. package/cjs/components/FileUploader/FileUploader.d.ts +6 -2
  130. package/cjs/components/FileUploader/FileUploader.js +9 -5
  131. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  132. package/cjs/components/FileUploader/FileUploader.styles.d.ts +1 -1
  133. package/cjs/components/FileUploader/FileUploader.styles.js +10 -2
  134. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  135. package/cjs/components/FxInput/FxInput.js +1 -0
  136. package/cjs/components/FxInput/FxInput.js.map +1 -1
  137. package/cjs/components/FxInput/FxInputRestoreBtn.js +1 -0
  138. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  139. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -2
  140. package/cjs/components/GlobalLoader/GlobalLoader.js +11 -16
  141. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  142. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  143. package/cjs/components/GlobalLoader/GlobalLoaderView.js +3 -5
  144. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  145. package/cjs/components/Group/Group.js +7 -5
  146. package/cjs/components/Group/Group.js.map +1 -1
  147. package/cjs/components/Group/Group.md +24 -0
  148. package/cjs/components/Hint/Hint.js +5 -4
  149. package/cjs/components/Hint/Hint.js.map +1 -1
  150. package/cjs/components/Input/Input.d.ts +28 -7
  151. package/cjs/components/Input/Input.js +48 -23
  152. package/cjs/components/Input/Input.js.map +1 -1
  153. package/cjs/components/Input/Input.typings.d.ts +7 -0
  154. package/cjs/components/Input/Input.typings.js +1 -0
  155. package/cjs/components/Input/Input.typings.js.map +1 -0
  156. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -1
  157. package/cjs/components/Input/InputLayout/InputLayout.styles.js +7 -2
  158. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  159. package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -7
  160. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  161. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -0
  162. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  163. package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  164. package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
  165. package/cjs/components/Input/index.d.ts +1 -0
  166. package/cjs/components/Input/index.js +2 -1
  167. package/cjs/components/Input/index.js.map +1 -1
  168. package/cjs/components/Kebab/Kebab.d.ts +2 -1
  169. package/cjs/components/Kebab/Kebab.js +2 -1
  170. package/cjs/components/Kebab/Kebab.js.map +1 -1
  171. package/cjs/components/Link/Link.js +11 -7
  172. package/cjs/components/Link/Link.js.map +1 -1
  173. package/cjs/components/Link/Link.md +69 -0
  174. package/cjs/components/Link/Link.styles.d.ts +1 -0
  175. package/cjs/components/Link/Link.styles.js +30 -22
  176. package/cjs/components/Link/Link.styles.js.map +1 -1
  177. package/cjs/components/Loader/Loader.js +8 -7
  178. package/cjs/components/Loader/Loader.js.map +1 -1
  179. package/cjs/components/MaskedInput/MaskedInput.d.ts +24 -0
  180. package/cjs/components/MaskedInput/MaskedInput.js +78 -0
  181. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -0
  182. package/cjs/components/MaskedInput/MaskedInput.md +21 -0
  183. package/cjs/components/MaskedInput/index.js.map +1 -0
  184. package/cjs/components/MenuFooter/MenuFooter.d.ts +6 -2
  185. package/cjs/components/MenuFooter/MenuFooter.js +4 -0
  186. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  187. package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -2
  188. package/cjs/components/MenuHeader/MenuHeader.js +7 -1
  189. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  190. package/cjs/components/MenuItem/MenuItem.d.ts +27 -2
  191. package/cjs/components/MenuItem/MenuItem.js +117 -15
  192. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  193. package/cjs/components/MenuItem/MenuItem.md +20 -6
  194. package/cjs/components/MiniModal/MiniModal.d.ts +18 -0
  195. package/cjs/components/MiniModal/MiniModal.js +47 -0
  196. package/cjs/components/MiniModal/MiniModal.js.map +1 -0
  197. package/cjs/components/MiniModal/MiniModal.md +233 -0
  198. package/cjs/components/MiniModal/MiniModal.styles.d.ts +14 -0
  199. package/cjs/components/MiniModal/MiniModal.styles.js +87 -0
  200. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -0
  201. package/cjs/components/MiniModal/MiniModalBody.d.ts +7 -0
  202. package/cjs/components/MiniModal/MiniModalBody.js +24 -0
  203. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -0
  204. package/cjs/components/MiniModal/MiniModalFooter.d.ts +18 -0
  205. package/cjs/components/MiniModal/MiniModalFooter.js +60 -0
  206. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -0
  207. package/cjs/components/MiniModal/MiniModalHeader.d.ts +17 -0
  208. package/cjs/components/MiniModal/MiniModalHeader.js +47 -0
  209. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -0
  210. package/cjs/components/MiniModal/MiniModalIndent.d.ts +6 -0
  211. package/cjs/components/MiniModal/MiniModalIndent.js +29 -0
  212. package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -0
  213. package/cjs/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  214. package/cjs/components/MiniModal/getMiniModalTheme.js +24 -0
  215. package/cjs/components/MiniModal/getMiniModalTheme.js.map +1 -0
  216. package/cjs/components/MiniModal/index.d.ts +5 -0
  217. package/cjs/components/MiniModal/index.js +5 -0
  218. package/cjs/components/MiniModal/index.js.map +1 -0
  219. package/cjs/components/Modal/Modal.d.ts +6 -0
  220. package/cjs/components/Modal/Modal.js +15 -1
  221. package/cjs/components/Modal/Modal.js.map +1 -1
  222. package/cjs/components/Modal/Modal.styles.d.ts +5 -0
  223. package/cjs/components/Modal/Modal.styles.js +56 -39
  224. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  225. package/cjs/components/Modal/ModalClose.js +2 -1
  226. package/cjs/components/Modal/ModalClose.js.map +1 -1
  227. package/cjs/components/Modal/ModalHeader.js +1 -1
  228. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  229. package/cjs/components/Modal/ModalSeparator.d.ts +5 -0
  230. package/cjs/components/Modal/ModalSeparator.js +5 -0
  231. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  232. package/cjs/components/Modal/getModalTheme.d.ts +2 -2
  233. package/cjs/components/Modal/getModalTheme.js +6 -2
  234. package/cjs/components/Modal/getModalTheme.js.map +1 -1
  235. package/cjs/components/Paging/NavigationHelper.js +2 -1
  236. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  237. package/cjs/components/Paging/Paging.js +17 -15
  238. package/cjs/components/Paging/Paging.js.map +1 -1
  239. package/cjs/components/Paging/Paging.styles.d.ts +0 -1
  240. package/cjs/components/Paging/Paging.styles.js +5 -10
  241. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  242. package/cjs/components/PasswordInput/PasswordInput.js +4 -2
  243. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  244. package/cjs/components/Radio/Radio.d.ts +6 -2
  245. package/cjs/components/Radio/Radio.js +6 -1
  246. package/cjs/components/Radio/Radio.js.map +1 -1
  247. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +5 -6
  248. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  249. package/cjs/components/ScrollContainer/ScrollBar.d.ts +4 -7
  250. package/cjs/components/ScrollContainer/ScrollBar.js +15 -45
  251. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  252. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +1 -2
  253. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
  254. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +18 -3
  255. package/cjs/components/ScrollContainer/ScrollContainer.js +102 -21
  256. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  257. package/cjs/components/ScrollContainer/ScrollContainer.md +29 -2
  258. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  259. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +8 -30
  260. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  261. package/cjs/components/Select/Item.d.ts +1 -0
  262. package/cjs/components/Select/Item.js +2 -1
  263. package/cjs/components/Select/Item.js.map +1 -1
  264. package/cjs/components/Select/Select.d.ts +6 -3
  265. package/cjs/components/Select/Select.js +26 -8
  266. package/cjs/components/Select/Select.js.map +1 -1
  267. package/cjs/components/Select/Select.md +12 -0
  268. package/cjs/components/SidePage/SidePage.d.ts +3 -1
  269. package/cjs/components/SidePage/SidePage.js +40 -5
  270. package/cjs/components/SidePage/SidePage.js.map +1 -1
  271. package/cjs/components/SidePage/SidePageCloseButton.js +2 -1
  272. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  273. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  274. package/cjs/components/SidePage/SidePageHeader.js +8 -6
  275. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  276. package/cjs/components/SingleToast/SingleToast.d.ts +11 -0
  277. package/cjs/components/SingleToast/SingleToast.js +20 -0
  278. package/cjs/components/SingleToast/SingleToast.js.map +1 -0
  279. package/cjs/components/SingleToast/SingleToast.md +35 -0
  280. package/cjs/components/SingleToast/index.d.ts +1 -0
  281. package/cjs/components/SingleToast/index.js +1 -0
  282. package/cjs/components/SingleToast/index.js.map +1 -0
  283. package/cjs/components/Spinner/Spinner.d.ts +1 -0
  284. package/cjs/components/Spinner/Spinner.js +16 -1
  285. package/cjs/components/Spinner/Spinner.js.map +1 -1
  286. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +6 -2
  287. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  288. package/cjs/components/Sticky/Sticky.js +8 -9
  289. package/cjs/components/Sticky/Sticky.js.map +1 -1
  290. package/cjs/components/Switcher/Switcher.d.ts +8 -4
  291. package/cjs/components/Switcher/Switcher.js +4 -0
  292. package/cjs/components/Switcher/Switcher.js.map +1 -1
  293. package/cjs/components/Tabs/Indicator.js +3 -1
  294. package/cjs/components/Tabs/Indicator.js.map +1 -1
  295. package/cjs/components/Tabs/Tab.d.ts +16 -32
  296. package/cjs/components/Tabs/Tab.js +8 -25
  297. package/cjs/components/Tabs/Tab.js.map +1 -1
  298. package/cjs/components/Tabs/Tab.md +71 -0
  299. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  300. package/cjs/components/Tabs/Tabs.d.ts +13 -18
  301. package/cjs/components/Tabs/Tabs.js +5 -9
  302. package/cjs/components/Tabs/Tabs.js.map +1 -1
  303. package/cjs/components/Tabs/Tabs.md +7 -22
  304. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  305. package/cjs/components/Tabs/TabsContext.d.ts +3 -2
  306. package/cjs/components/Tabs/TabsContext.js +1 -0
  307. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  308. package/cjs/components/Tabs/helpers.d.ts +5 -5
  309. package/cjs/components/Tabs/helpers.js +3 -2
  310. package/cjs/components/Tabs/helpers.js.map +1 -1
  311. package/cjs/components/Textarea/Textarea.d.ts +7 -2
  312. package/cjs/components/Textarea/Textarea.js +42 -11
  313. package/cjs/components/Textarea/Textarea.js.map +1 -1
  314. package/cjs/components/Textarea/TextareaCounter.d.ts +4 -3
  315. package/cjs/components/Textarea/TextareaCounter.js +3 -1
  316. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  317. package/cjs/components/Textarea/TextareaHelpers.d.ts +1 -1
  318. package/cjs/components/Textarea/TextareaHelpers.js +7 -2
  319. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  320. package/cjs/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
  321. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js +20 -0
  322. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -0
  323. package/cjs/components/Toast/Toast.d.ts +10 -3
  324. package/cjs/components/Toast/Toast.js +26 -8
  325. package/cjs/components/Toast/Toast.js.map +1 -1
  326. package/cjs/components/Toast/Toast.md +0 -105
  327. package/cjs/components/Toast/ToastStatic.js +4 -3
  328. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  329. package/cjs/components/Toggle/Toggle.d.ts +6 -2
  330. package/cjs/components/Toggle/Toggle.js +4 -0
  331. package/cjs/components/Toggle/Toggle.js.map +1 -1
  332. package/cjs/components/Token/Token.js +1 -6
  333. package/cjs/components/Token/Token.js.map +1 -1
  334. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  335. package/cjs/components/TokenInput/TokenInput.js +42 -9
  336. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  337. package/cjs/components/TokenInput/TokenInput.md +71 -0
  338. package/cjs/components/Tooltip/Tooltip.d.ts +6 -1
  339. package/cjs/components/Tooltip/Tooltip.js +15 -5
  340. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  341. package/cjs/components/Tooltip/Tooltip.md +24 -0
  342. package/cjs/hooks/useDrop.js +3 -2
  343. package/cjs/hooks/useDrop.js.map +1 -1
  344. package/cjs/index.d.ts +6 -0
  345. package/cjs/index.js +6 -0
  346. package/cjs/index.js.map +1 -1
  347. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +2 -1
  348. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  349. package/cjs/internal/ComponentCombinator.d.ts +7 -8
  350. package/cjs/internal/ComponentCombinator.js +2 -5
  351. package/cjs/internal/ComponentCombinator.js.map +1 -1
  352. package/cjs/internal/ComponentTable.d.ts +7 -19
  353. package/cjs/internal/ComponentTable.js +50 -77
  354. package/cjs/internal/ComponentTable.js.map +1 -1
  355. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -1
  356. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +1 -0
  357. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  358. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -9
  359. package/cjs/internal/CustomComboBox/ComboBoxView.js +16 -34
  360. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  361. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  362. package/cjs/internal/CustomComboBox/CustomComboBox.js +13 -8
  363. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  364. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +6 -2
  365. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  366. package/cjs/internal/DateSelect/DateSelect.js +20 -16
  367. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  368. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
  369. package/cjs/internal/DropdownContainer/DropdownContainer.js +14 -13
  370. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  371. package/cjs/internal/DropdownContainer/getManualPosition.js +6 -4
  372. package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -1
  373. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
  374. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -3
  375. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  376. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  377. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +1 -1
  378. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -1
  379. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
  380. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +1 -1
  381. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  382. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  383. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -1
  384. package/cjs/internal/FocusTrap/FocusTrap.js +8 -6
  385. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  386. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +19 -20
  387. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  388. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +3 -1
  389. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  390. package/cjs/internal/InputLikeText/InputLikeText.js +17 -16
  391. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  392. package/cjs/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +8 -5
  393. package/cjs/internal/{MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput.js} +11 -8
  394. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
  395. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +1 -0
  396. package/cjs/internal/InternalMaskedInput/index.d.ts +1 -0
  397. package/cjs/internal/InternalMaskedInput/index.js +1 -0
  398. package/cjs/internal/InternalMaskedInput/index.js.map +1 -0
  399. package/cjs/internal/InternalMenu/InternalMenu.js +8 -7
  400. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  401. package/cjs/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
  402. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
  403. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js +52 -0
  404. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js.map +1 -0
  405. package/cjs/internal/MaskedInputElement/MaskedInputElement.js +196 -0
  406. package/cjs/internal/MaskedInputElement/MaskedInputElement.js.map +1 -0
  407. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js +29 -0
  408. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js.map +1 -0
  409. package/cjs/internal/MaskedInputElement/index.d.ts +1 -0
  410. package/cjs/internal/MaskedInputElement/index.js +1 -0
  411. package/cjs/internal/MaskedInputElement/index.js.map +1 -0
  412. package/cjs/internal/Menu/Menu.d.ts +6 -0
  413. package/cjs/internal/Menu/Menu.js +84 -16
  414. package/cjs/internal/Menu/Menu.js.map +1 -1
  415. package/cjs/internal/Menu/MenuContext.d.ts +10 -0
  416. package/cjs/internal/Menu/MenuContext.js +16 -0
  417. package/cjs/internal/Menu/MenuContext.js.map +1 -0
  418. package/cjs/internal/Menu/MenuNavigation.d.ts +26 -0
  419. package/cjs/internal/Menu/MenuNavigation.js +107 -0
  420. package/cjs/internal/Menu/MenuNavigation.js.map +1 -0
  421. package/cjs/internal/Menu/isActiveElement.js +1 -1
  422. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  423. package/cjs/internal/MenuMessage/MenuMessage.d.ts +3 -3
  424. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
  425. package/cjs/internal/Popup/Popup.js +12 -8
  426. package/cjs/internal/Popup/Popup.js.map +1 -1
  427. package/cjs/internal/Popup/PopupHelper.js +9 -7
  428. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  429. package/cjs/internal/PopupMenu/PopupMenu.js +3 -2
  430. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  431. package/cjs/internal/RenderContainer/RenderContainer.d.ts +0 -1
  432. package/cjs/internal/RenderContainer/RenderContainer.js +18 -22
  433. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  434. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
  435. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  436. package/cjs/internal/RenderLayer/RenderLayer.js +5 -3
  437. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  438. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  439. package/cjs/internal/ThemePlayground/SizesGroup.js +1 -0
  440. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  441. package/cjs/internal/ThemePlayground/VariableValue.js +1 -0
  442. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  443. package/cjs/internal/ThemePlayground/constants.js +1 -0
  444. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  445. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  446. package/cjs/internal/ThemeShowcase/VariablesCollector.js +6 -4
  447. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  448. package/cjs/internal/ZIndex/ZIndex.js +2 -2
  449. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  450. package/cjs/internal/ZIndex/ZIndexStorage.js +2 -2
  451. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  452. package/cjs/internal/icons/16px/index.d.ts +19 -19
  453. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  454. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  455. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  456. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  457. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  458. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  459. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  460. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  461. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  462. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  463. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  464. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  465. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  466. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  467. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  468. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  469. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  470. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  471. package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
  472. package/cjs/internal/icons2022/BaseIcon.js +3 -7
  473. package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
  474. package/cjs/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  475. package/cjs/internal/icons2022/BaseIcon.styles.js +14 -0
  476. package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -0
  477. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  478. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  479. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  480. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  481. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  482. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  483. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  484. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  485. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  486. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  487. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  488. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  489. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  490. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  491. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  492. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  493. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +20 -0
  494. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -0
  495. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  496. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  497. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  498. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  499. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  500. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  501. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  502. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  503. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  504. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  505. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  506. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  507. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  508. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  509. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  510. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  511. package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  512. package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  513. package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  514. package/cjs/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  515. package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  516. package/cjs/internal/themes/DefaultTheme.d.ts +67 -2
  517. package/cjs/internal/themes/DefaultTheme.js +134 -7
  518. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  519. package/cjs/internal/themes/Theme2022.d.ts +21 -2
  520. package/cjs/internal/themes/Theme2022.js +44 -5
  521. package/cjs/internal/themes/Theme2022.js.map +1 -1
  522. package/cjs/internal/themes/Theme2022Dark.d.ts +4 -4
  523. package/cjs/internal/themes/Theme2022Dark.js +9 -5
  524. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  525. package/cjs/lib/LayoutEvents.js +5 -4
  526. package/cjs/lib/LayoutEvents.js.map +1 -1
  527. package/cjs/lib/ModalStack.js +2 -3
  528. package/cjs/lib/ModalStack.js.map +1 -1
  529. package/cjs/lib/SSRSafe.d.ts +1 -6
  530. package/cjs/lib/SSRSafe.js +4 -48
  531. package/cjs/lib/SSRSafe.js.map +1 -1
  532. package/cjs/lib/Upgrades.d.ts +1 -0
  533. package/cjs/lib/Upgrades.js +3 -1
  534. package/cjs/lib/Upgrades.js.map +1 -1
  535. package/cjs/lib/animation/index.js +6 -4
  536. package/cjs/lib/animation/index.js.map +1 -1
  537. package/cjs/lib/chars.d.ts +1 -1
  538. package/cjs/lib/chars.js +2 -2
  539. package/cjs/lib/chars.js.map +1 -1
  540. package/cjs/lib/client.d.ts +2 -7
  541. package/cjs/lib/client.js +9 -7
  542. package/cjs/lib/client.js.map +1 -1
  543. package/cjs/lib/dom/getScrollWidth.js +4 -4
  544. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  545. package/cjs/lib/dom/tabbableHelpers.d.ts +2 -1
  546. package/cjs/lib/dom/tabbableHelpers.js +8 -2
  547. package/cjs/lib/dom/tabbableHelpers.js.map +1 -1
  548. package/cjs/lib/events/MouseDrag.js +11 -11
  549. package/cjs/lib/events/MouseDrag.js.map +1 -1
  550. package/cjs/lib/events/fixClickFocusIE.js +6 -3
  551. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  552. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +5 -2
  553. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  554. package/cjs/lib/events/keyListener.js +9 -11
  555. package/cjs/lib/events/keyListener.js.map +1 -1
  556. package/cjs/lib/events/keyboard/identifiers.js +5 -2
  557. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  558. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +185 -0
  559. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +8 -0
  560. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +5 -0
  561. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -0
  562. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +10 -0
  563. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +20 -0
  564. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  565. package/cjs/lib/featureFlagsContext/index.d.ts +2 -0
  566. package/cjs/lib/featureFlagsContext/index.js +3 -0
  567. package/cjs/lib/featureFlagsContext/index.js.map +1 -0
  568. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  569. package/cjs/lib/forwardRefAndName.js +4 -1
  570. package/cjs/lib/forwardRefAndName.js.map +1 -1
  571. package/cjs/lib/isInstanceOf.d.ts +1 -0
  572. package/cjs/lib/isInstanceOf.js +6 -0
  573. package/cjs/lib/isInstanceOf.js.map +1 -0
  574. package/cjs/lib/listenFocusOutside.js +15 -15
  575. package/cjs/lib/listenFocusOutside.js.map +1 -1
  576. package/cjs/lib/needsPolyfillPlaceholder.js +5 -3
  577. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
  578. package/cjs/lib/net/fetch.js +24 -18
  579. package/cjs/lib/net/fetch.js.map +1 -1
  580. package/cjs/lib/rootNode/getRootNode.js +6 -6
  581. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  582. package/cjs/lib/styles/ColorFactory.js +13 -11
  583. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  584. package/cjs/lib/styles/ColorHelpers.d.ts +1 -1
  585. package/cjs/lib/styles/ColorHelpers.js +3 -7
  586. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  587. package/cjs/lib/taskWithDelayAndMinimalDuration.js +5 -5
  588. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  589. package/cjs/lib/theming/Emotion.js +4 -2
  590. package/cjs/lib/theming/Emotion.js.map +1 -1
  591. package/cjs/lib/types/props.d.ts +1 -0
  592. package/cjs/lib/types/props.js +1 -0
  593. package/cjs/lib/types/props.js.map +1 -0
  594. package/cjs/lib/utils.d.ts +7 -0
  595. package/cjs/lib/utils.js +29 -7
  596. package/cjs/lib/utils.js.map +1 -1
  597. package/cjs/typings/global.d.ts +3 -4
  598. package/cjs/typings/react-ref.d.ts +29 -0
  599. package/cjs/typings/utility-types.d.ts +2 -0
  600. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  601. package/components/Autocomplete/Autocomplete.d.ts +2 -1
  602. package/components/Button/Button/Button.js +20 -3
  603. package/components/Button/Button/Button.js.map +1 -1
  604. package/components/Button/Button.d.ts +7 -2
  605. package/components/Button/Button.md +68 -0
  606. package/components/Button/Button.mixins/Button.mixins.js +58 -13
  607. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  608. package/components/Button/Button.mixins.d.ts +6 -6
  609. package/components/Button/Button.styles/Button.styles.js +210 -24
  610. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  611. package/components/Button/Button.styles.d.ts +2 -1
  612. package/components/Button/ButtonArrow/ButtonArrow.js +1 -1
  613. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  614. package/components/Button/ButtonIcon/ButtonIcon.js +2 -4
  615. package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
  616. package/components/Button/ButtonIcon.d.ts +3 -2
  617. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
  618. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  619. package/components/Calendar/Calendar/Calendar.js +8 -6
  620. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  621. package/components/Checkbox/Checkbox/Checkbox.js +14 -5
  622. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  623. package/components/Checkbox/Checkbox.d.ts +6 -2
  624. package/components/Clickable/ArrowLeftIcon/ArrowLeftIcon.js +17 -0
  625. package/components/Clickable/ArrowLeftIcon/ArrowLeftIcon.js.map +1 -0
  626. package/components/Clickable/ArrowLeftIcon/package.json +6 -0
  627. package/components/Clickable/ArrowLeftIcon.d.ts +3 -0
  628. package/components/Clickable/ArrowRightIcon/ArrowRightIcon.js +17 -0
  629. package/components/Clickable/ArrowRightIcon/ArrowRightIcon.js.map +1 -0
  630. package/components/Clickable/ArrowRightIcon/package.json +6 -0
  631. package/components/Clickable/ArrowRightIcon.d.ts +3 -0
  632. package/components/Clickable/Clickable/Clickable.js +165 -0
  633. package/components/Clickable/Clickable/Clickable.js.map +1 -0
  634. package/components/Clickable/Clickable/package.json +6 -0
  635. package/components/Clickable/Clickable.d.ts +97 -0
  636. package/components/Clickable/Clickable.md +173 -0
  637. package/components/Clickable/Clickable.styles/Clickable.styles.js +13 -0
  638. package/components/Clickable/Clickable.styles/Clickable.styles.js.map +1 -0
  639. package/components/Clickable/Clickable.styles/package.json +6 -0
  640. package/components/Clickable/Clickable.styles.d.ts +11 -0
  641. package/components/Clickable/ClickableButton/ClickableButton.js +31 -0
  642. package/components/Clickable/ClickableButton/ClickableButton.js.map +1 -0
  643. package/components/Clickable/ClickableButton/package.json +6 -0
  644. package/components/Clickable/ClickableButton.d.ts +5 -0
  645. package/components/Clickable/ClickableButton.mixins/ClickableButton.mixins.js +81 -0
  646. package/components/Clickable/ClickableButton.mixins/ClickableButton.mixins.js.map +1 -0
  647. package/components/Clickable/ClickableButton.mixins/package.json +6 -0
  648. package/components/Clickable/ClickableButton.mixins.d.ts +30 -0
  649. package/components/Clickable/ClickableButton.styles/ClickableButton.styles.js +313 -0
  650. package/components/Clickable/ClickableButton.styles/ClickableButton.styles.js.map +1 -0
  651. package/components/Clickable/ClickableButton.styles/package.json +6 -0
  652. package/components/Clickable/ClickableButton.styles.d.ts +63 -0
  653. package/components/Clickable/ClickableButtonArrow/ClickableButtonArrow.js +21 -0
  654. package/components/Clickable/ClickableButtonArrow/ClickableButtonArrow.js.map +1 -0
  655. package/components/Clickable/ClickableButtonArrow/package.json +6 -0
  656. package/components/Clickable/ClickableButtonArrow.d.ts +4 -0
  657. package/components/Clickable/ClickableButtonArrow.styles/ClickableButtonArrow.styles.js +22 -0
  658. package/components/Clickable/ClickableButtonArrow.styles/ClickableButtonArrow.styles.js.map +1 -0
  659. package/components/Clickable/ClickableButtonArrow.styles/package.json +6 -0
  660. package/components/Clickable/ClickableButtonArrow.styles.d.ts +8 -0
  661. package/components/Clickable/ClickableButtonCaption/ClickableButtonCaption.js +37 -0
  662. package/components/Clickable/ClickableButtonCaption/ClickableButtonCaption.js.map +1 -0
  663. package/components/Clickable/ClickableButtonCaption/package.json +6 -0
  664. package/components/Clickable/ClickableButtonCaption.d.ts +2 -0
  665. package/components/Clickable/ClickableButtonCaption.styles/ClickableButtonCaption.styles.js +16 -0
  666. package/components/Clickable/ClickableButtonCaption.styles/ClickableButtonCaption.styles.js.map +1 -0
  667. package/components/Clickable/ClickableButtonCaption.styles/package.json +6 -0
  668. package/components/Clickable/ClickableButtonCaption.styles.d.ts +5 -0
  669. package/components/Clickable/ClickableButtonIcon/ClickableButtonIcon.js +51 -0
  670. package/components/Clickable/ClickableButtonIcon/ClickableButtonIcon.js.map +1 -0
  671. package/components/Clickable/ClickableButtonIcon/package.json +6 -0
  672. package/components/Clickable/ClickableButtonIcon.d.ts +7 -0
  673. package/components/Clickable/ClickableButtonIcon.styles/ClickableButtonIcon.styles.js +58 -0
  674. package/components/Clickable/ClickableButtonIcon.styles/ClickableButtonIcon.styles.js.map +1 -0
  675. package/components/Clickable/ClickableButtonIcon.styles/package.json +6 -0
  676. package/components/Clickable/ClickableButtonIcon.styles.d.ts +19 -0
  677. package/components/Clickable/ClickableButtonLoadingIcon/ClickableButtonLoadingIcon.js +18 -0
  678. package/components/Clickable/ClickableButtonLoadingIcon/ClickableButtonLoadingIcon.js.map +1 -0
  679. package/components/Clickable/ClickableButtonLoadingIcon/package.json +6 -0
  680. package/components/Clickable/ClickableButtonLoadingIcon.d.ts +6 -0
  681. package/components/Clickable/ClickableButtonLoadingIcon.styles/ClickableButtonLoadingIcon.styles.js +10 -0
  682. package/components/Clickable/ClickableButtonLoadingIcon.styles/ClickableButtonLoadingIcon.styles.js.map +1 -0
  683. package/components/Clickable/ClickableButtonLoadingIcon.styles/package.json +6 -0
  684. package/components/Clickable/ClickableButtonLoadingIcon.styles.d.ts +3 -0
  685. package/components/Clickable/ClickableButtonOutline/ClickableButtonOutline.js +22 -0
  686. package/components/Clickable/ClickableButtonOutline/ClickableButtonOutline.js.map +1 -0
  687. package/components/Clickable/ClickableButtonOutline/package.json +6 -0
  688. package/components/Clickable/ClickableButtonOutline.d.ts +4 -0
  689. package/components/Clickable/ClickableButtonOutline.styles/ClickableButtonOutline.styles.js +16 -0
  690. package/components/Clickable/ClickableButtonOutline.styles/ClickableButtonOutline.styles.js.map +1 -0
  691. package/components/Clickable/ClickableButtonOutline.styles/package.json +6 -0
  692. package/components/Clickable/ClickableButtonOutline.styles.d.ts +6 -0
  693. package/components/Clickable/ClickableButtonWrapper/ClickableButtonWrapper.js +18 -0
  694. package/components/Clickable/ClickableButtonWrapper/ClickableButtonWrapper.js.map +1 -0
  695. package/components/Clickable/ClickableButtonWrapper/package.json +6 -0
  696. package/components/Clickable/ClickableButtonWrapper.d.ts +3 -0
  697. package/components/Clickable/ClickableButtonWrapper.styles/ClickableButtonWrapper.styles.js +19 -0
  698. package/components/Clickable/ClickableButtonWrapper.styles/ClickableButtonWrapper.styles.js.map +1 -0
  699. package/components/Clickable/ClickableButtonWrapper.styles/package.json +6 -0
  700. package/components/Clickable/ClickableButtonWrapper.styles.d.ts +7 -0
  701. package/components/Clickable/ClickableLink/ClickableLink.js +24 -0
  702. package/components/Clickable/ClickableLink/ClickableLink.js.map +1 -0
  703. package/components/Clickable/ClickableLink/package.json +6 -0
  704. package/components/Clickable/ClickableLink.d.ts +5 -0
  705. package/components/Clickable/ClickableLink.styles/ClickableLink.styles.js +52 -0
  706. package/components/Clickable/ClickableLink.styles/ClickableLink.styles.js.map +1 -0
  707. package/components/Clickable/ClickableLink.styles/package.json +6 -0
  708. package/components/Clickable/ClickableLink.styles.d.ts +21 -0
  709. package/components/Clickable/ClickableLinkChild/ClickableLinkChild.js +20 -0
  710. package/components/Clickable/ClickableLinkChild/ClickableLinkChild.js.map +1 -0
  711. package/components/Clickable/ClickableLinkChild/package.json +6 -0
  712. package/components/Clickable/ClickableLinkChild.d.ts +7 -0
  713. package/components/Clickable/ClickableLinkChild.styles/ClickableLinkChild.styles.js +24 -0
  714. package/components/Clickable/ClickableLinkChild.styles/ClickableLinkChild.styles.js.map +1 -0
  715. package/components/Clickable/ClickableLinkChild.styles/package.json +6 -0
  716. package/components/Clickable/ClickableLinkChild.styles.d.ts +7 -0
  717. package/components/Clickable/ClickableLinkIcon/ClickableLinkIcon.js +21 -0
  718. package/components/Clickable/ClickableLinkIcon/ClickableLinkIcon.js.map +1 -0
  719. package/components/Clickable/ClickableLinkIcon/package.json +6 -0
  720. package/components/Clickable/ClickableLinkIcon.d.ts +7 -0
  721. package/components/Clickable/ClickableLinkIcon.styles/ClickableLinkIcon.styles.js +16 -0
  722. package/components/Clickable/ClickableLinkIcon.styles/ClickableLinkIcon.styles.js.map +1 -0
  723. package/components/Clickable/ClickableLinkIcon.styles/package.json +6 -0
  724. package/components/Clickable/ClickableLinkIcon.styles.d.ts +6 -0
  725. package/components/Clickable/index/index.js +1 -0
  726. package/components/Clickable/index/index.js.map +1 -0
  727. package/{internal/MaskedInput → components/Clickable}/index/package.json +1 -1
  728. package/components/Clickable/index.d.ts +1 -0
  729. package/{internal/MaskedInput → components/Clickable}/package.json +1 -1
  730. package/components/Clickable/utils/package.json +6 -0
  731. package/components/Clickable/utils/utils.js +44 -0
  732. package/components/Clickable/utils/utils.js.map +1 -0
  733. package/components/Clickable/utils.d.ts +6 -0
  734. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  735. package/components/ComboBox/ComboBox.d.ts +2 -1
  736. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +3 -1
  737. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  738. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +4 -1
  739. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  740. package/components/DateInput/DateInput/DateInput.js +2 -1
  741. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  742. package/components/DateInput/DateInput.d.ts +2 -1
  743. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
  744. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  745. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  746. package/components/DatePicker/DatePicker.d.ts +2 -1
  747. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  748. package/components/Dropdown/Dropdown.d.ts +3 -2
  749. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
  750. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
  751. package/components/FileUploader/FileUploader/FileUploader.js +9 -5
  752. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  753. package/components/FileUploader/FileUploader.d.ts +6 -2
  754. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +2 -2
  755. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  756. package/components/FileUploader/FileUploader.styles.d.ts +1 -1
  757. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  758. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  759. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +30 -34
  760. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  761. package/components/GlobalLoader/GlobalLoader.d.ts +1 -2
  762. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +2 -3
  763. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  764. package/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  765. package/components/Group/Group/Group.js +9 -10
  766. package/components/Group/Group/Group.js.map +1 -1
  767. package/components/Group/Group.md +24 -0
  768. package/components/Hint/Hint/Hint.js +5 -5
  769. package/components/Hint/Hint/Hint.js.map +1 -1
  770. package/components/Input/Input/Input.js +32 -16
  771. package/components/Input/Input/Input.js.map +1 -1
  772. package/components/Input/Input.d.ts +28 -7
  773. package/components/Input/Input.typings/Input.typings.js +1 -0
  774. package/components/Input/Input.typings/Input.typings.js.map +1 -0
  775. package/components/Input/Input.typings/package.json +6 -0
  776. package/components/Input/Input.typings.d.ts +7 -0
  777. package/components/Input/InputLayout/InputLayout.d.ts +1 -1
  778. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -1
  779. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  780. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
  781. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
  782. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  783. package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +1 -1
  784. package/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  785. package/components/Input/index/index.js +2 -1
  786. package/components/Input/index/index.js.map +1 -1
  787. package/components/Input/index.d.ts +1 -0
  788. package/components/Kebab/Kebab/Kebab.js +2 -1
  789. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  790. package/components/Kebab/Kebab.d.ts +2 -1
  791. package/components/Link/Link/Link.js +5 -4
  792. package/components/Link/Link/Link.js.map +1 -1
  793. package/components/Link/Link.md +69 -0
  794. package/components/Link/Link.styles/Link.styles.js +25 -22
  795. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  796. package/components/Link/Link.styles.d.ts +1 -0
  797. package/components/Loader/Loader/Loader.js +9 -6
  798. package/components/Loader/Loader/Loader.js.map +1 -1
  799. package/components/MaskedInput/MaskedInput/MaskedInput.js +62 -0
  800. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -0
  801. package/{internal → components}/MaskedInput/MaskedInput/package.json +1 -1
  802. package/components/MaskedInput/MaskedInput.d.ts +24 -0
  803. package/components/MaskedInput/MaskedInput.md +21 -0
  804. package/components/MaskedInput/index/index.js.map +1 -0
  805. package/components/MaskedInput/index/package.json +6 -0
  806. package/components/MaskedInput/package.json +6 -0
  807. package/components/MenuFooter/MenuFooter/MenuFooter.js +4 -0
  808. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  809. package/components/MenuFooter/MenuFooter.d.ts +6 -2
  810. package/components/MenuHeader/MenuHeader/MenuHeader.js +7 -1
  811. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  812. package/components/MenuHeader/MenuHeader.d.ts +6 -2
  813. package/components/MenuItem/MenuItem/MenuItem.js +133 -19
  814. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  815. package/components/MenuItem/MenuItem.d.ts +27 -2
  816. package/components/MenuItem/MenuItem.md +20 -6
  817. package/components/MiniModal/MiniModal/MiniModal.js +38 -0
  818. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -0
  819. package/components/MiniModal/MiniModal/package.json +6 -0
  820. package/components/MiniModal/MiniModal.d.ts +18 -0
  821. package/components/MiniModal/MiniModal.md +233 -0
  822. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +41 -0
  823. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -0
  824. package/components/MiniModal/MiniModal.styles/package.json +6 -0
  825. package/components/MiniModal/MiniModal.styles.d.ts +14 -0
  826. package/components/MiniModal/MiniModalBody/MiniModalBody.js +23 -0
  827. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -0
  828. package/components/MiniModal/MiniModalBody/package.json +6 -0
  829. package/components/MiniModal/MiniModalBody.d.ts +7 -0
  830. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +35 -0
  831. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -0
  832. package/components/MiniModal/MiniModalFooter/package.json +6 -0
  833. package/components/MiniModal/MiniModalFooter.d.ts +18 -0
  834. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js +33 -0
  835. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -0
  836. package/components/MiniModal/MiniModalHeader/package.json +6 -0
  837. package/components/MiniModal/MiniModalHeader.d.ts +17 -0
  838. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +27 -0
  839. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -0
  840. package/components/MiniModal/MiniModalIndent/package.json +6 -0
  841. package/components/MiniModal/MiniModalIndent.d.ts +6 -0
  842. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js +23 -0
  843. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js.map +1 -0
  844. package/components/MiniModal/getMiniModalTheme/package.json +6 -0
  845. package/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  846. package/components/MiniModal/index/index.js +5 -0
  847. package/components/MiniModal/index/index.js.map +1 -0
  848. package/components/MiniModal/index/package.json +6 -0
  849. package/components/MiniModal/index.d.ts +5 -0
  850. package/components/MiniModal/package.json +6 -0
  851. package/components/Modal/Modal/Modal.js +18 -14
  852. package/components/Modal/Modal/Modal.js.map +1 -1
  853. package/components/Modal/Modal.d.ts +6 -0
  854. package/components/Modal/Modal.styles/Modal.styles.js +44 -37
  855. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  856. package/components/Modal/Modal.styles.d.ts +5 -0
  857. package/components/Modal/ModalClose/ModalClose.js +2 -1
  858. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  859. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  860. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  861. package/components/Modal/ModalSeparator/ModalSeparator.js +6 -0
  862. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  863. package/components/Modal/ModalSeparator.d.ts +5 -0
  864. package/components/Modal/getModalTheme/getModalTheme.js +8 -3
  865. package/components/Modal/getModalTheme/getModalTheme.js.map +1 -1
  866. package/components/Modal/getModalTheme.d.ts +2 -2
  867. package/components/Paging/NavigationHelper/NavigationHelper.js +2 -1
  868. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  869. package/components/Paging/Paging/Paging.js +17 -11
  870. package/components/Paging/Paging/Paging.js.map +1 -1
  871. package/components/Paging/Paging.styles/Paging.styles.js +3 -6
  872. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  873. package/components/Paging/Paging.styles.d.ts +0 -1
  874. package/components/PasswordInput/PasswordInput/PasswordInput.js +4 -2
  875. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  876. package/components/Radio/Radio/Radio.js +6 -1
  877. package/components/Radio/Radio/Radio.js.map +1 -1
  878. package/components/Radio/Radio.d.ts +6 -2
  879. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
  880. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  881. package/components/ScrollContainer/ScrollBar/ScrollBar.js +17 -50
  882. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  883. package/components/ScrollContainer/ScrollBar.d.ts +4 -7
  884. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +109 -22
  885. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  886. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +1 -2
  887. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
  888. package/components/ScrollContainer/ScrollContainer.d.ts +18 -3
  889. package/components/ScrollContainer/ScrollContainer.md +29 -2
  890. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +6 -18
  891. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  892. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  893. package/components/Select/Item/Item.js +3 -1
  894. package/components/Select/Item/Item.js.map +1 -1
  895. package/components/Select/Item.d.ts +1 -0
  896. package/components/Select/Select/Select.js +23 -16
  897. package/components/Select/Select/Select.js.map +1 -1
  898. package/components/Select/Select.d.ts +6 -3
  899. package/components/Select/Select.md +12 -0
  900. package/components/SidePage/SidePage/SidePage.js +38 -13
  901. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  902. package/components/SidePage/SidePage.d.ts +3 -1
  903. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +2 -1
  904. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  905. package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -4
  906. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  907. package/components/SidePage/SidePageHeader.d.ts +1 -0
  908. package/components/SingleToast/SingleToast/SingleToast.js +53 -0
  909. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -0
  910. package/components/SingleToast/SingleToast/package.json +6 -0
  911. package/components/SingleToast/SingleToast.d.ts +11 -0
  912. package/components/SingleToast/SingleToast.md +35 -0
  913. package/components/SingleToast/index/index.js +1 -0
  914. package/components/SingleToast/index/index.js.map +1 -0
  915. package/components/SingleToast/index/package.json +6 -0
  916. package/components/SingleToast/index.d.ts +1 -0
  917. package/components/SingleToast/package.json +6 -0
  918. package/components/Spinner/Spinner/Spinner.js +10 -4
  919. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  920. package/components/Spinner/Spinner.d.ts +1 -0
  921. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
  922. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  923. package/components/Sticky/Sticky/Sticky.js +12 -8
  924. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  925. package/components/Switcher/Switcher/Switcher.js +4 -0
  926. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  927. package/components/Switcher/Switcher.d.ts +8 -4
  928. package/components/Tabs/Indicator/Indicator.js +3 -1
  929. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  930. package/components/Tabs/Tab/Tab.js +7 -14
  931. package/components/Tabs/Tab/Tab.js.map +1 -1
  932. package/components/Tabs/Tab.d.ts +16 -32
  933. package/components/Tabs/Tab.md +71 -0
  934. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  935. package/components/Tabs/Tabs/Tabs.js +4 -4
  936. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  937. package/components/Tabs/Tabs.d.ts +13 -18
  938. package/components/Tabs/Tabs.md +7 -22
  939. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  940. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  941. package/components/Tabs/TabsContext.d.ts +3 -2
  942. package/components/Tabs/helpers/helpers.js +3 -0
  943. package/components/Tabs/helpers/helpers.js.map +1 -1
  944. package/components/Tabs/helpers.d.ts +5 -5
  945. package/components/Textarea/Textarea/Textarea.js +37 -19
  946. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  947. package/components/Textarea/Textarea.d.ts +7 -2
  948. package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
  949. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  950. package/components/Textarea/TextareaCounter.d.ts +4 -3
  951. package/components/Textarea/TextareaHelpers/TextareaHelpers.js +6 -1
  952. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  953. package/components/Textarea/TextareaHelpers.d.ts +1 -1
  954. package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js +21 -0
  955. package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js.map +1 -0
  956. package/components/Textarea/TextareaWithSafari17Workaround/package.json +6 -0
  957. package/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
  958. package/components/Toast/Toast/Toast.js +16 -7
  959. package/components/Toast/Toast/Toast.js.map +1 -1
  960. package/components/Toast/Toast.d.ts +10 -3
  961. package/components/Toast/Toast.md +0 -105
  962. package/components/Toast/ToastStatic/ToastStatic.js +4 -4
  963. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  964. package/components/Toggle/Toggle/Toggle.js +4 -0
  965. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  966. package/components/Toggle/Toggle.d.ts +6 -2
  967. package/components/Token/Token/Token.js +4 -3
  968. package/components/Token/Token/Token.js.map +1 -1
  969. package/components/TokenInput/TokenInput/TokenInput.js +51 -11
  970. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  971. package/components/TokenInput/TokenInput.d.ts +2 -0
  972. package/components/TokenInput/TokenInput.md +71 -0
  973. package/components/Tooltip/Tooltip/Tooltip.js +10 -7
  974. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  975. package/components/Tooltip/Tooltip.d.ts +6 -1
  976. package/components/Tooltip/Tooltip.md +24 -0
  977. package/hooks/useDrop/useDrop.js +3 -2
  978. package/hooks/useDrop/useDrop.js.map +1 -1
  979. package/index.d.ts +6 -0
  980. package/index.js +6 -0
  981. package/index.js.map +1 -1
  982. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +2 -1
  983. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  984. package/internal/ComponentCombinator/ComponentCombinator.js +4 -8
  985. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  986. package/internal/ComponentCombinator.d.ts +7 -8
  987. package/internal/ComponentTable/ComponentTable.js +66 -103
  988. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  989. package/internal/ComponentTable.d.ts +7 -19
  990. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  991. package/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -1
  992. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +21 -32
  993. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  994. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -9
  995. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +11 -6
  996. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  997. package/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  998. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +7 -2
  999. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  1000. package/internal/DateSelect/DateSelect/DateSelect.js +20 -20
  1001. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  1002. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +19 -17
  1003. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  1004. package/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
  1005. package/internal/DropdownContainer/getManualPosition/getManualPosition.js +4 -3
  1006. package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -1
  1007. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +3 -2
  1008. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  1009. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
  1010. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +1 -1
  1011. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  1012. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  1013. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
  1014. package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -1
  1015. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  1016. package/internal/FocusTrap/FocusTrap/FocusTrap.js +9 -3
  1017. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  1018. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +25 -26
  1019. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  1020. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +3 -1
  1021. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  1022. package/internal/InputLikeText/InputLikeText/InputLikeText.js +29 -19
  1023. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1024. package/internal/{MaskedInput/MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js} +13 -9
  1025. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
  1026. package/internal/InternalMaskedInput/InternalMaskedInput/package.json +6 -0
  1027. package/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +8 -5
  1028. package/{cjs/internal/MaskedInput/MaskedInput.styles.js.map → internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map} +1 -1
  1029. package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +6 -0
  1030. package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +6 -0
  1031. package/internal/InternalMaskedInput/index/index.js +1 -0
  1032. package/internal/InternalMaskedInput/index/index.js.map +1 -0
  1033. package/internal/InternalMaskedInput/index/package.json +6 -0
  1034. package/internal/InternalMaskedInput/index.d.ts +1 -0
  1035. package/internal/InternalMaskedInput/package.json +6 -0
  1036. package/internal/InternalMenu/InternalMenu/InternalMenu.js +10 -9
  1037. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1038. package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js +206 -0
  1039. package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js.map +1 -0
  1040. package/internal/MaskedInputElement/MaskedInputElement/package.json +6 -0
  1041. package/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
  1042. package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js +43 -0
  1043. package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js.map +1 -0
  1044. package/internal/MaskedInputElement/MaskedInputElement.helpers/package.json +6 -0
  1045. package/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
  1046. package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js +16 -0
  1047. package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js.map +1 -0
  1048. package/internal/MaskedInputElement/MaskedInputElement.styles/package.json +6 -0
  1049. package/internal/MaskedInputElement/MaskedInputElement.styles.d.ts +6 -0
  1050. package/internal/MaskedInputElement/index/index.js +1 -0
  1051. package/internal/MaskedInputElement/index/index.js.map +1 -0
  1052. package/internal/MaskedInputElement/index/package.json +6 -0
  1053. package/internal/MaskedInputElement/index.d.ts +1 -0
  1054. package/internal/MaskedInputElement/package.json +6 -0
  1055. package/internal/Menu/Menu/Menu.js +144 -62
  1056. package/internal/Menu/Menu/Menu.js.map +1 -1
  1057. package/internal/Menu/Menu.d.ts +6 -0
  1058. package/internal/Menu/MenuContext/MenuContext.js +5 -0
  1059. package/internal/Menu/MenuContext/MenuContext.js.map +1 -0
  1060. package/internal/Menu/MenuContext/package.json +6 -0
  1061. package/internal/Menu/MenuContext.d.ts +10 -0
  1062. package/internal/Menu/MenuNavigation/MenuNavigation.js +123 -0
  1063. package/internal/Menu/MenuNavigation/MenuNavigation.js.map +1 -0
  1064. package/internal/Menu/MenuNavigation/package.json +6 -0
  1065. package/internal/Menu/MenuNavigation.d.ts +26 -0
  1066. package/internal/Menu/isActiveElement/isActiveElement.js +1 -1
  1067. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  1068. package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
  1069. package/internal/MenuMessage/MenuMessage.d.ts +3 -3
  1070. package/internal/Popup/Popup/Popup.js +12 -13
  1071. package/internal/Popup/Popup/Popup.js.map +1 -1
  1072. package/internal/Popup/PopupHelper/PopupHelper.js +8 -5
  1073. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  1074. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -2
  1075. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1076. package/internal/RenderContainer/RenderContainer/RenderContainer.js +26 -16
  1077. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  1078. package/internal/RenderContainer/RenderContainer.d.ts +0 -1
  1079. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  1080. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  1081. package/internal/RenderLayer/RenderLayer/RenderLayer.js +11 -5
  1082. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  1083. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  1084. package/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  1085. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  1086. package/internal/ThemePlayground/constants/constants.js +3 -0
  1087. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  1088. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +5 -2
  1089. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1090. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  1091. package/internal/ZIndex/ZIndex/ZIndex.js +2 -2
  1092. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1093. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -2
  1094. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1095. package/internal/icons/16px/index.d.ts +19 -19
  1096. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  1097. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  1098. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  1099. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  1100. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  1101. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  1102. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  1103. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  1104. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  1105. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  1106. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  1107. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  1108. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  1109. package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  1110. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  1111. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  1112. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  1113. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  1114. package/internal/icons2022/BaseIcon/BaseIcon.js +3 -6
  1115. package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
  1116. package/internal/icons2022/BaseIcon.d.ts +1 -1
  1117. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js +11 -0
  1118. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js.map +1 -0
  1119. package/internal/icons2022/BaseIcon.styles/package.json +6 -0
  1120. package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  1121. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  1122. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  1123. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  1124. package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  1125. package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  1126. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  1127. package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  1128. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  1129. package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  1130. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  1131. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  1132. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  1133. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  1134. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  1135. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  1136. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js +18 -0
  1137. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js.map +1 -0
  1138. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/package.json +6 -0
  1139. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  1140. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  1141. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  1142. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  1143. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  1144. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  1145. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  1146. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  1147. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  1148. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  1149. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  1150. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  1151. package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  1152. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  1153. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  1154. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  1155. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  1156. package/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  1157. package/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  1158. package/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  1159. package/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  1160. package/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  1161. package/internal/themes/DefaultTheme/DefaultTheme.js +178 -6
  1162. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1163. package/internal/themes/DefaultTheme.d.ts +67 -2
  1164. package/internal/themes/Theme2022/Theme2022.js +58 -3
  1165. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  1166. package/internal/themes/Theme2022.d.ts +21 -2
  1167. package/internal/themes/Theme2022Dark/Theme2022Dark.js +13 -4
  1168. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  1169. package/internal/themes/Theme2022Dark.d.ts +4 -4
  1170. package/lib/LayoutEvents/LayoutEvents.js +5 -4
  1171. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1172. package/lib/ModalStack/ModalStack.js +2 -2
  1173. package/lib/ModalStack/ModalStack.js.map +1 -1
  1174. package/lib/SSRSafe/SSRSafe.js +3 -35
  1175. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1176. package/lib/SSRSafe.d.ts +1 -6
  1177. package/lib/Upgrades/Upgrades.js +3 -1
  1178. package/lib/Upgrades/Upgrades.js.map +1 -1
  1179. package/lib/Upgrades.d.ts +1 -0
  1180. package/lib/animation/index/index.js +6 -3
  1181. package/lib/animation/index/index.js.map +1 -1
  1182. package/lib/chars/chars.js +1 -1
  1183. package/lib/chars/chars.js.map +1 -1
  1184. package/lib/chars.d.ts +1 -1
  1185. package/lib/client/client.js +9 -7
  1186. package/lib/client/client.js.map +1 -1
  1187. package/lib/client.d.ts +2 -7
  1188. package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
  1189. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1190. package/lib/dom/tabbableHelpers/tabbableHelpers.js +4 -2
  1191. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -1
  1192. package/lib/dom/tabbableHelpers.d.ts +2 -1
  1193. package/lib/events/MouseDrag/MouseDrag.js +15 -11
  1194. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1195. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +4 -2
  1196. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  1197. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +7 -2
  1198. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  1199. package/lib/events/keyListener/keyListener.js +9 -12
  1200. package/lib/events/keyListener/keyListener.js.map +1 -1
  1201. package/lib/events/keyboard/identifiers/identifiers.js +3 -1
  1202. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1203. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +185 -0
  1204. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js +5 -0
  1205. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js.map +1 -0
  1206. package/lib/featureFlagsContext/FeatureFlagsHelpers/package.json +6 -0
  1207. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +8 -0
  1208. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +10 -0
  1209. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  1210. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
  1211. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +10 -0
  1212. package/lib/featureFlagsContext/index/index.js +2 -0
  1213. package/lib/featureFlagsContext/index/index.js.map +1 -0
  1214. package/lib/featureFlagsContext/index/package.json +6 -0
  1215. package/lib/featureFlagsContext/index.d.ts +2 -0
  1216. package/lib/featureFlagsContext/package.json +6 -0
  1217. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  1218. package/lib/forwardRefAndName.d.ts +1 -1
  1219. package/lib/isInstanceOf/isInstanceOf.js +3 -0
  1220. package/lib/isInstanceOf/isInstanceOf.js.map +1 -0
  1221. package/lib/isInstanceOf/package.json +6 -0
  1222. package/lib/isInstanceOf.d.ts +1 -0
  1223. package/lib/listenFocusOutside/listenFocusOutside.js +19 -10
  1224. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1225. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +4 -3
  1226. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
  1227. package/lib/net/fetch/fetch.js +29 -21
  1228. package/lib/net/fetch/fetch.js.map +1 -1
  1229. package/lib/rootNode/getRootNode/getRootNode.js +6 -6
  1230. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  1231. package/lib/styles/ColorFactory/ColorFactory.js +13 -9
  1232. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1233. package/lib/styles/ColorHelpers/ColorHelpers.js +3 -7
  1234. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1235. package/lib/styles/ColorHelpers.d.ts +1 -1
  1236. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +5 -4
  1237. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  1238. package/lib/theming/Emotion/Emotion.js +6 -1
  1239. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1240. package/lib/types/props/package.json +6 -0
  1241. package/lib/types/props/props.js +1 -0
  1242. package/lib/types/props/props.js.map +1 -0
  1243. package/lib/types/props.d.ts +1 -0
  1244. package/lib/utils/utils.js +31 -6
  1245. package/lib/utils/utils.js.map +1 -1
  1246. package/lib/utils.d.ts +7 -0
  1247. package/package.json +4 -4
  1248. package/typings/global.d.ts +3 -4
  1249. package/typings/react-ref.d.ts +29 -0
  1250. package/typings/utility-types.d.ts +2 -0
  1251. package/cjs/internal/MaskedInput/MaskedInput.js.map +0 -1
  1252. package/cjs/internal/MaskedInput/index.js.map +0 -1
  1253. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +0 -1
  1254. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +0 -1
  1255. package/internal/MaskedInput/MaskedInput.styles/package.json +0 -6
  1256. package/internal/MaskedInput/index/index.js.map +0 -1
  1257. /package/cjs/{internal → components}/MaskedInput/index.d.ts +0 -0
  1258. /package/cjs/{internal → components}/MaskedInput/index.js +0 -0
  1259. /package/cjs/internal/{MaskedInput/MaskedInput.styles.d.ts → InternalMaskedInput/InternalMaskedInput.styles.d.ts} +0 -0
  1260. /package/cjs/internal/{MaskedInput/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles.js} +0 -0
  1261. /package/{internal/MaskedInput/MaskedInput.styles.d.ts → cjs/internal/MaskedInputElement/MaskedInputElement.styles.d.ts} +0 -0
  1262. /package/{internal → components}/MaskedInput/index/index.js +0 -0
  1263. /package/{internal → components}/MaskedInput/index.d.ts +0 -0
  1264. /package/internal/{MaskedInput/MaskedInput.styles/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["Textarea.tsx"],"names":["React","PropTypes","throttle","raf","isKeyEnter","needsPolyfillPlaceholder","LayoutEvents","ThemeContext","RenderLayer","ResizeDetector","isBrowser","isIE11","CommonWrapper","isTestEnv","cx","rootNode","createPropsGetter","getTextAreaHeight","styles","TextareaCounter","DEFAULT_WIDTH","AUTORESIZE_THROTTLE_DEFAULT_WAIT","TextareaDataTids","root","counter","helpIcon","Textarea","getProps","defaultProps","state","isCounterVisible","reflowCounter","reflow","selectAllId","textareaObserver","MutationObserver","setSelectionRange","start","end","node","Error","document","activeElement","focus","selectAll","value","length","delaySelectAll","cancelDelayedSelectAll","cancel","renderMain","props","width","error","warning","size","autoResize","resize","onCut","onPaste","maxRows","onFocus","selectAllOnFocus","placeholder","onValueChange","showLengthCounter","lengthCounter","counterHelp","extraRow","disableAnimations","disabled","textareaProps","rootProps","style","textareaClassNames","getTextareaSizeClassName","textarea","theme","hovering","isAnimationsDisabled","textareaStyle","placeholderPolyfill","defaultValue","fakeTextarea","fakeProps","className","fake","readOnly","refFake","maxLength","handleCloseCounterHelp","refCounter","getRootSizeClassName","undefined","ref","handleChange","handleCut","handlePaste","handleFocus","handleKeyDown","children","setState","e","toString","isBlockEnter","preventDefault","onKeyDown","fieldIsEmpty","target","onChange","element","fakeNode","autoResizeHandler","rows","minRows","parseInt","height","exceededMaxHeight","overflowY","getAutoResizeThrottleWait","event","rootLarge","rootMedium","rootSmall","textareaLarge","textareaMedium","textareaSmall","componentDidMount","layoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","render","setRootNode","blur","Component","__KONTUR_REACT_UI__","propTypes","bool","oneOfType","string","number","id","name","title","spellCheck","role","tabIndex","func","onMouseEnter","onMouseLeave","onMouseOver","onMouseMove","onMouseOut","onMouseUp","onMouseDown","onClick","onDoubleClick","onKeyPress","onKeyUp","onInput","onBlur","onScroll","onWheel","onCopy"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes, ReactNode } from 'react';\nimport PropTypes from 'prop-types';\nimport throttle from 'lodash.throttle';\nimport raf from 'raf';\n\nimport { isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { isBrowser, isIE11 } from '../../lib/client';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport { TextareaCounter, TextareaCounterRef } from './TextareaCounter';\n\nexport type TextareaSize = 'small' | 'medium' | 'large';\n\nconst DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Не активное состояние */\n disabled?: boolean;\n /** Размер */\n size?: TextareaSize;\n /**\n * Автоматический ресайз\n * в зависимости от содержимого\n */\n autoResize?: boolean;\n /**\n * Число строк\n */\n rows?: number;\n /**\n * Максимальное число строк при\n * автоматическом ресайзе\n */\n maxRows?: string | number;\n\n /**\n * Стандартный ресайз\n * Попадает в `style`\n */\n resize?: React.CSSProperties['resize'];\n\n /**\n * Ширина\n */\n width?: React.CSSProperties['width'];\n\n /**\n * Вызывается при изменении `value`\n */\n onValueChange?: (value: string) => void;\n\n /** Выделение значения при фокусе */\n selectAllOnFocus?: boolean;\n\n /** Показывать счетчик символов */\n showLengthCounter?: boolean;\n\n /** Допустимое количество символов в поле. Отображается в счетчике.\n * Если не указано, равно `maxLength`\n */\n lengthCounter?: number;\n\n /** Подсказка к счетчику символов.\n *\n * По умолчанию - тултип с содержимым из пропа, если передан`ReactNode`.\n *\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой. Например,\n *\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ```\n * */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавлять дополнительную свободную строку при авто-ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04\n * */\n extraRow?: boolean;\n\n /** Отключать анимацию при авто-ресайзе.\n * Автоматически отключается когда в `extraRow` передан `false`.\n */\n disableAnimations?: boolean;\n }\n > {}\n\nexport interface TextareaState {\n needsPolyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\nexport const TextareaDataTids = {\n root: 'Textarea__root',\n counter: 'TextareaCounter__root',\n helpIcon: 'TextareaCounter__helpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations' | 'size'>>;\n\n/**\n * Компонент для ввода многострочного текста.\n *\n * Принимает все атрибуты `React.TextareaHTMLAttributes<HTMLTextAreaElement>`\n *\n * ** `className` и `style` игнорируются**\n */\n@rootNode\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n\n public static propTypes = {\n error: PropTypes.bool,\n warning: PropTypes.bool,\n disabled: PropTypes.bool,\n\n autoResize: PropTypes.bool,\n extraRow: PropTypes.bool,\n disableAnimations: PropTypes.bool,\n maxRows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n resize: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n id: PropTypes.string,\n name: PropTypes.string,\n title: PropTypes.string,\n spellCheck: PropTypes.bool,\n role: PropTypes.string,\n maxLength: PropTypes.number,\n tabIndex: PropTypes.number,\n rows: PropTypes.number,\n placeholder: PropTypes.string,\n\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n onValueChange: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseOut: PropTypes.func,\n\n onMouseUp: PropTypes.func,\n onMouseDown: PropTypes.func,\n onClick: PropTypes.func,\n onDoubleClick: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n onKeyPress: PropTypes.func,\n onKeyUp: PropTypes.func,\n onInput: PropTypes.func,\n\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n\n onScroll: PropTypes.func,\n onWheel: PropTypes.func,\n\n onCut: PropTypes.func,\n onPaste: PropTypes.func,\n onCopy: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getTextareaSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.textareaLarge(this.theme);\n case 'medium':\n return styles.textareaMedium(this.theme);\n case 'small':\n default:\n return styles.textareaSmall(this.theme);\n }\n }\n\n public state = {\n needsPolyfillPlaceholder,\n isCounterVisible: false,\n };\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver = isBrowser ? new MutationObserver(this.reflowCounter) : 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.props}>\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 (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 => (this.selectAllId = raf(this.selectAll));\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n raf.cancel(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n size,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = cx(this.getTextareaSizeClassName(), {\n [styles.textarea(this.theme)]: true,\n [styles.hovering(this.theme)]: !error && !warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.error(this.theme)]: !!error,\n [styles.warning(this.theme)]: !!warning,\n [styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: cx(textareaClassNames, styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n size={this.getProps().size}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n 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 <textarea\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 </textarea>\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 const { height, exceededMaxHeight } = 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 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"]}
1
+ {"version":3,"sources":["Textarea.tsx"],"names":["React","PropTypes","throttle","globalObject","isKeyEnter","needsPolyfillPlaceholder","LayoutEvents","ThemeContext","RenderLayer","ResizeDetector","isIE11","isSafari17","CommonWrapper","isTestEnv","cx","rootNode","createPropsGetter","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","getTextAreaHeight","styles","TextareaCounter","TextareaWithSafari17Workaround","DEFAULT_WIDTH","AUTORESIZE_THROTTLE_DEFAULT_WAIT","TextareaDataTids","root","counter","helpIcon","Textarea","getProps","defaultProps","state","isCounterVisible","reflowCounter","reflow","selectAllId","textareaObserver","MutationObserver","setSelectionRange","start","end","node","Error","document","activeElement","focus","selectAll","value","length","delaySelectAll","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","renderMain","props","width","error","warning","size","autoResize","resize","onCut","onPaste","maxRows","onFocus","selectAllOnFocus","placeholder","onValueChange","showLengthCounter","lengthCounter","counterHelp","extraRow","disableAnimations","disabled","textareaProps","rootProps","style","textareaClassNames","getTextareaSizeClassName","textarea","theme","hovering","isAnimationsDisabled","textareaStyle","placeholderPolyfill","defaultValue","fakeTextarea","fakeProps","className","fake","readOnly","refFake","maxLength","handleCloseCounterHelp","refCounter","Component","featureFlags","textareaUseSafari17Workaround","getRootSizeClassName","undefined","ref","handleChange","handleCut","handlePaste","handleFocus","handleKeyDown","children","setState","e","toString","isBlockEnter","preventDefault","onKeyDown","fieldIsEmpty","target","onChange","element","fakeNode","autoResizeHandler","rows","minRows","parseInt","height","exceededMaxHeight","overflowY","getAutoResizeThrottleWait","event","rootLarge","rootMedium","rootSmall","textareaLarge","textareaMedium","textareaSmall","componentDidMount","layoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","cancel","render","flags","setRootNode","blur","__KONTUR_REACT_UI__","propTypes","bool","oneOfType","string","number","id","name","title","spellCheck","role","tabIndex","func","onMouseEnter","onMouseLeave","onMouseOver","onMouseMove","onMouseOut","onMouseUp","onMouseDown","onClick","onDoubleClick","onKeyPress","onKeyUp","onInput","onBlur","onScroll","onWheel","onCopy"],"mappings":"8gBAAA;AACA;AACA,OAAOA,KAAP,MAAiD,OAAjD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,QAAP,MAAqB,iBAArB;AACA,SAASC,YAAT,QAA6B,0BAA7B;;AAEA,SAASC,UAAT,QAA2B,uCAA3B;AACA,SAASC,wBAAT,QAAyC,oCAAzC;AACA,OAAO,KAAKC,YAAZ,MAA8B,wBAA9B;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,WAAT,QAA4B,4BAA5B;AACA,SAASC,cAAT,QAA+B,+BAA/B;AACA,SAASC,MAAT,EAAiBC,UAAjB,QAAmC,kBAAnC;AACA,SAAsBC,aAAtB,QAAmE,8BAAnE;AACA,SAASC,SAAT,QAA0B,8BAA1B;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;AACA,SAASC,iBAAT,QAAkC,6BAAlC;;AAEA;AACEC,0BADF;;AAGEC,0BAHF;AAIO,+BAJP;;AAMA,SAASC,iBAAT,QAAkC,mBAAlC;AACA,SAASC,MAAT,QAAuB,mBAAvB;AACA,SAASC,eAAT,QAAoD,mBAApD;AACA,SAASC,8BAAT,QAA+C,kCAA/C;;AAEA;AACA;AACA;;;AAGA,IAAMC,aAAa,GAAG,GAAtB;AACA,IAAMC,gCAAgC,GAAG,GAAzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2FA,OAAO,IAAMC,gBAAgB,GAAG;AAC9BC,EAAAA,IAAI,EAAE,gBADwB;AAE9BC,EAAAA,OAAO,EAAE,uBAFqB;AAG9BC,EAAAA,QAAQ,EAAE,2BAHoB,EAAzB;;;;;;;;;;;;;AAgBP,OARA;AACA;AACA;AACA;AACA;AACA;AACA,GAEA,IAAaC,QAAb,GADCd,QACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEUe,IAAAA,QAjEV,GAiEqBd,iBAAiB,CAACa,QAAQ,CAACE,YAAV,CAjEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4FSC,IAAAA,KA5FT,GA4FiB;AACb3B,MAAAA,wBAAwB,EAAxBA,wBADa;AAEb4B,MAAAA,gBAAgB,EAAE,KAFL,EA5FjB;;AAgGUC,IAAAA,aAhGV,GAgG0B,YAAM;AAC5B,UAAI,MAAKP,OAAT,EAAkB;AAChB,cAAKA,OAAL,CAAaQ,MAAb;AACD;AACF,KApGH;;;AAuGUC,IAAAA,WAvGV,GAuGuC,IAvGvC;;;;;AA4GUC,IAAAA,gBA5GV,GA4G6BlC,YAAY,CAACmC,gBAAb;AACvB,QAAInC,YAAY,CAACmC,gBAAjB,CAAkC,MAAKJ,aAAvC,CADuB;AAEvB,QA9GN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyMSK,IAAAA,iBAzMT,GAyM6B,UAACC,KAAD,EAAgBC,GAAhB,EAAgC;AACzD,UAAI,CAAC,MAAKC,IAAV,EAAgB;AACd,cAAM,IAAIC,KAAJ,CAAU,oDAAV,CAAN;AACD;;AAED,UAAI,0BAAAxC,YAAY,CAACyC,QAAb,2CAAuBC,aAAvB,MAAyC,MAAKH,IAAlD,EAAwD;AACtD,cAAKI,KAAL;AACD;;AAED,YAAKJ,IAAL,CAAUH,iBAAV,CAA4BC,KAA5B,EAAmCC,GAAnC;AACD,KAnNH;;;;;AAwNSM,IAAAA,SAxNT,GAwNqB,YAAM;AACvB,UAAI,MAAKL,IAAT,EAAe;AACb,cAAKH,iBAAL,CAAuB,CAAvB,EAA0B,MAAKG,IAAL,CAAUM,KAAV,CAAgBC,MAA1C;AACD;AACF,KA5NH;;AA8NUC,IAAAA,cA9NV,GA8N2B;AACtB,cAAKd,WAAL,4BAAmBjC,YAAY,CAACgD,qBAAhC,oBAAmBhD,YAAY,CAACgD,qBAAb,CAAqC,MAAKJ,SAA1C,CAAnB,oCAA2E,IADrD,GA9N3B;;AAiOUK,IAAAA,sBAjOV,GAiOmC,YAAY;AAC3C,UAAI,MAAKhB,WAAT,EAAsB;AACpBjC,QAAAA,YAAY,CAACkD,oBAAb,oBAAAlD,YAAY,CAACkD,oBAAb,CAAoC,MAAKjB,WAAzC;AACA,cAAKA,WAAL,GAAmB,IAAnB;AACD;AACF,KAtOH;;AAwOUkB,IAAAA,UAxOV,GAwOuB,UAACC,KAAD,EAAkD;AACrE;;;;;;;;;;;;;;;;;;;;;AAqBIA,MAAAA,KArBJ,CACEC,KADF,CACEA,KADF,6BACUjC,aADV,gBAEEkC,KAFF,GAqBIF,KArBJ,CAEEE,KAFF,CAGEC,OAHF,GAqBIH,KArBJ,CAGEG,OAHF,CAIEC,IAJF,GAqBIJ,KArBJ,CAIEI,IAJF,CAKEC,UALF,GAqBIL,KArBJ,CAKEK,UALF,CAMEC,MANF,GAqBIN,KArBJ,CAMEM,MANF,CAOEC,KAPF,GAqBIP,KArBJ,CAOEO,KAPF,CAQEC,OARF,GAqBIR,KArBJ,CAQEQ,OARF,CASEC,OATF,GAqBIT,KArBJ,CASES,OATF,CAUEC,OAVF,GAqBIV,KArBJ,CAUEU,OAVF,CAWEC,gBAXF,GAqBIX,KArBJ,CAWEW,gBAXF,CAYEC,WAZF,GAqBIZ,KArBJ,CAYEY,WAZF,CAaEC,aAbF,GAqBIb,KArBJ,CAaEa,aAbF,CAcEC,iBAdF,GAqBId,KArBJ,CAcEc,iBAdF,CAeEC,aAfF,GAqBIf,KArBJ,CAeEe,aAfF,CAgBEC,WAhBF,GAqBIhB,KArBJ,CAgBEgB,WAhBF,CAiBEC,QAjBF,GAqBIjB,KArBJ,CAiBEiB,QAjBF,CAkBEC,iBAlBF,GAqBIlB,KArBJ,CAkBEkB,iBAlBF,CAmBEC,QAnBF,GAqBInB,KArBJ,CAmBEmB,QAnBF,CAoBKC,aApBL,iCAqBIpB,KArBJ;;AAuBA,UAAQtB,gBAAR,GAA6B,MAAKD,KAAlC,CAAQC,gBAAR;;AAEA,UAAM2C,SAAS,GAAG;AAChBC,QAAAA,KAAK,EAAE;AACLrB,UAAAA,KAAK,EAALA,KADK,EADS,EAAlB;;;;AAMA,UAAMsB,kBAAkB,GAAGhE,EAAE,CAAC,MAAKiE,wBAAL,EAAD;AAC1B3D,MAAAA,MAAM,CAAC4D,QAAP,CAAgB,MAAKC,KAArB,CAD0B,IACI,IADJ;AAE1B7D,MAAAA,MAAM,CAAC8D,QAAP,CAAgB,MAAKD,KAArB,CAF0B,IAEI,CAACxB,KAAD,IAAU,CAACC,OAFf;AAG1BtC,MAAAA,MAAM,CAACsD,QAAP,CAAgB,MAAKO,KAArB,CAH0B,IAGIP,QAHJ;AAI1BtD,MAAAA,MAAM,CAACqC,KAAP,CAAa,MAAKwB,KAAlB,CAJ0B,IAIC,CAAC,CAACxB,KAJH;AAK1BrC,MAAAA,MAAM,CAACsC,OAAP,CAAe,MAAKuB,KAApB,CAL0B,IAKG,CAAC,CAACvB,OALL;AAM1BtC,MAAAA,MAAM,CAACqD,iBAAP,EAN0B,IAMG,MAAKU,oBAAL,EANH,OAA7B;;;AASA,UAAMC,aAAa,GAAG;AACpBvB,QAAAA,MAAM,EAAED,UAAU,GAAG,MAAH,GAAYC,MADV,EAAtB;;;AAIA,UAAIwB,mBAAmB,GAAG,IAA1B;;AAEA,UAAI,MAAKrD,KAAL,CAAW3B,wBAAX,IAAuC,CAACsE,aAAa,CAAC3B,KAAtD,IAA+D,CAAC2B,aAAa,CAACW,YAAlF,EAAgG;AAC9FD,QAAAA,mBAAmB,gBAAG,8BAAM,SAAS,EAAEjE,MAAM,CAAC+C,WAAP,EAAjB,IAAwCA,WAAxC,CAAtB;AACD;;AAED,UAAIoB,YAAY,GAAG,IAAnB;AACA,UAAI3B,UAAJ,EAAgB;AACd,YAAM4B,SAAS,GAAG;AAChBxC,UAAAA,KAAK,EAAE,MAAKO,KAAL,CAAWP,KADF;AAEhBsC,UAAAA,YAAY,EAAE,MAAK/B,KAAL,CAAW+B,YAFT;AAGhBG,UAAAA,SAAS,EAAE3E,EAAE,CAACgE,kBAAD,EAAqB1D,MAAM,CAACsE,IAAP,EAArB,CAHG;AAIhBC,UAAAA,QAAQ,EAAE,IAJM,EAAlB;;AAMAJ,QAAAA,YAAY,gBAAG,6CAAcC,SAAd,IAAyB,GAAG,EAAE,MAAKI,OAAnC,IAAf;AACD;;AAED,UAAMjE,OAAO,GAAG0C,iBAAiB,IAAIpC,gBAArB,IAAyC,MAAKS,IAA9C;AACd,0BAAC,eAAD;AACE,QAAA,QAAQ,EAAE,MAAKA,IADjB;AAEE,QAAA,IAAI,EAAE,MAAKZ,QAAL,GAAgB6B,IAFxB;AAGE,QAAA,IAAI,EAAEY,WAHR;AAIE,QAAA,KAAK,EAAEI,aAAa,CAAC3B,KAJvB;AAKE,QAAA,MAAM,mCAAE2B,aAAa,CAACkB,SAAhB,oCAA6BvB,aAA7B,mBAA8C,CALtD;AAME,QAAA,WAAW,EAAE,MAAKwB,sBANpB;AAOE,QAAA,GAAG,EAAE,MAAKC,UAPZ,GADF;;;;AAYA,UAAMC,SAAS;AACb,YAAKC,YAAL,CAAkBC,6BAAlB,IAAmDvF,UAAnD,GAAgEW,8BAAhE,GAAiG,UADnG;;AAGA;AACE,4BAAC,WAAD;AACE,UAAA,cAAc,EAAE,MAAKwE,sBADvB;AAEE,UAAA,cAAc,EAAE,MAAKA,sBAFvB;AAGE,UAAA,MAAM,EAAE,MAAK9D,KAAL,CAAWC,gBAHrB;;AAKE;AACE,sBAAUR,gBAAgB,CAACC,IAD7B;AAEMkD,QAAAA,SAFN;AAGE,UAAA,SAAS,EAAE9D,EAAE,CAAC,MAAKqF,oBAAL,EAAD;AACV/E,UAAAA,MAAM,CAACM,IAAP,EADU,IACM,IADN,QAHf;;;AAOG2D,QAAAA,mBAPH;AAQE,4BAAC,cAAD,IAAgB,QAAQ,EAAE,MAAKnD,aAA/B;AACE,4BAAC,SAAD;AACMyC,QAAAA,aADN;AAEE,UAAA,SAAS,EAAEG,kBAFb;AAGE,UAAA,KAAK,EAAEM,aAHT;AAIE,UAAA,WAAW,EAAE,CAACC,mBAAD,GAAuBlB,WAAvB,GAAqCiC,SAJpD;AAKE,UAAA,GAAG,EAAE,MAAKC,GALZ;AAME,UAAA,QAAQ,EAAE,MAAKC,YANjB;AAOE,UAAA,KAAK,EAAE,MAAKC,SAPd;AAQE,UAAA,OAAO,EAAE,MAAKC,WARhB;AASE,UAAA,OAAO,EAAE,MAAKC,WAThB;AAUE,UAAA,SAAS,EAAE,MAAKC,aAVlB;AAWE,UAAA,QAAQ,EAAEhC,QAXZ;;AAaG,cAAKnB,KAAL,CAAWoD,QAbd,CADF,CARF;;;AAyBGpB,QAAAA,YAzBH;AA0BG5D,QAAAA,OA1BH,CALF,CADF;;;;AAoCD,KAzVH;;AA2VUmE,IAAAA,sBA3VV,GA2VmC,oBAAM,MAAKc,QAAL,CAAc,EAAE3E,gBAAgB,EAAE,KAApB,EAAd,CAAN,EA3VnC;;AA6VUyE,IAAAA,aA7VV,GA6V0B,UAACG,CAAD,EAAiD;AACvE;AACA;AACA,UAAM7D,KAAK,GAAG,MAAKO,KAAL,CAAWP,KAAX,KAAqBoD,SAArB,GAAiC,MAAK7C,KAAL,CAAWP,KAAX,CAAiB8D,QAAjB,EAAjC,GAA+D,IAA7E;AACA,UAAMC,YAAY,GAAG3G,UAAU,CAACyG,CAAD,CAAV,IAAiB7D,KAAK,KAAK,IAA3B,IAAmCA,KAAK,CAACC,MAAN,KAAiB,MAAKM,KAAL,CAAWsC,SAApF;;AAEA,UAAIkB,YAAJ,EAAkB;AAChBF,QAAAA,CAAC,CAACG,cAAF;AACD;;AAED,UAAI,MAAKzD,KAAL,CAAW0D,SAAf,EAA0B;AACxB,cAAK1D,KAAL,CAAW0D,SAAX,CAAqBJ,CAArB;AACD;AACF,KA1WH;;AA4WUP,IAAAA,YA5WV,GA4WyB,UAACO,CAAD,EAA+C;AACpE,UAAIxG,wBAAJ,EAA8B;AAC5B,YAAM6G,YAAY,GAAGL,CAAC,CAACM,MAAF,CAASnE,KAAT,KAAmB,EAAxC;;AAEA,YAAI,MAAKhB,KAAL,CAAW3B,wBAAX,KAAwC6G,YAA5C,EAA0D;AACxD,gBAAKN,QAAL,CAAc,EAAEvG,wBAAwB,EAAE6G,YAA5B,EAAd;AACD;AACF;;AAED,UAAI,MAAK3D,KAAL,CAAWa,aAAf,EAA8B;AAC5B,cAAKb,KAAL,CAAWa,aAAX,CAAyByC,CAAC,CAACM,MAAF,CAASnE,KAAlC;AACD;;AAED,UAAI,MAAKO,KAAL,CAAWK,UAAf,EAA2B;AACzB,cAAKA,UAAL;AACD;;AAED,UAAI,MAAKL,KAAL,CAAW6D,QAAf,EAAyB;AACvB,cAAK7D,KAAL,CAAW6D,QAAX,CAAoBP,CAApB;AACD;;AAED,YAAK3E,aAAL;AACD,KAlYH;;AAoYUmE,IAAAA,GApYV,GAoYgB,UAACgB,OAAD,EAAkC;AAC9C,YAAK3E,IAAL,GAAY2E,OAAZ;AACD,KAtYH;;AAwYUzB,IAAAA,OAxYV,GAwYoB,UAACyB,OAAD,EAAkC;AAClD,YAAKC,QAAL,GAAgBD,OAAhB;AACD,KA1YH;;AA4YUtB,IAAAA,UA5YV,GA4YuB,UAACM,GAAD,EAAoC;AACvD,YAAK1E,OAAL,GAAe0E,GAAf;AACD,KA9YH;;AAgZUkB,IAAAA,iBAhZV,GAgZ8B,YAAM;AAChC,UAAMD,QAAQ,GAAG,MAAKA,QAAtB;AACA,UAAI,CAACA,QAAL,EAAe;AACb;AACD;AACD,UAAM5E,IAAI,GAAG,MAAKA,IAAlB;AACA,UAAI,CAACA,IAAL,EAAW;AACT;AACD;AACD,UAAI,MAAKa,KAAL,CAAWP,KAAX,KAAqBoD,SAAzB,EAAoC;AAClCkB,QAAAA,QAAQ,CAACtE,KAAT,GAAiBN,IAAI,CAACM,KAAtB;AACD;;AAED,2BAA0B,MAAKlB,QAAL,EAA1B,CAAQ0F,IAAR,kBAAQA,IAAR,CAAcxD,OAAd,kBAAcA,OAAd;AACA,UAAIwD,IAAI,KAAKpB,SAAT,IAAsBpC,OAAO,KAAKoC,SAAtC,EAAiD;AAC/C;AACD;;AAED;AACEjF,MAAAA,iBAAiB,CAAC;AAChBuB,QAAAA,IAAI,EAAE4E,QADU;AAEhBG,QAAAA,OAAO,EAAE,OAAOD,IAAP,KAAgB,QAAhB,GAA2BA,IAA3B,GAAkCE,QAAQ,CAACF,IAAD,EAAO,EAAP,CAFnC;AAGhBxD,QAAAA,OAAO,EAAE,OAAOA,OAAP,KAAmB,QAAnB,GAA8BA,OAA9B,GAAwC0D,QAAQ,CAAC1D,OAAD,EAAU,EAAV,CAHzC;AAIhBQ,QAAAA,QAAQ,EAAE,MAAK1C,QAAL,GAAgB0C,QAJV,EAAD,CAAjB;AAKM,QANR,CAAQmD,MAAR,SAAQA,MAAR,CAAgBC,iBAAhB,SAAgBA,iBAAhB;;AAQA,UAAID,MAAM,KAAKvB,SAAX,IAAwBwB,iBAAiB,KAAKxB,SAAlD,EAA6D;AAC3D;AACD;;AAED1D,MAAAA,IAAI,CAACmC,KAAL,CAAW8C,MAAX,GAAoBA,MAAM,GAAG,IAA7B;AACAjF,MAAAA,IAAI,CAACmC,KAAL,CAAWgD,SAAX,GAAuBD,iBAAiB,GAAG,QAAH,GAAc,QAAtD;AACAN,MAAAA,QAAQ,CAACzC,KAAT,CAAegD,SAAf,GAA2BD,iBAAiB,GAAG,QAAH,GAAc,QAA1D;AACD,KAjbH;;AAmbUhE,IAAAA,UAnbV,GAmbuB1D,QAAQ,CAAC,MAAKqH,iBAAN,EAAyB,MAAKO,yBAAL,EAAzB,CAnb/B;;AAqbUvB,IAAAA,SArbV,GAqbsB,UAACwB,KAAD,EAAsD;AACxE,UAAI,MAAKxE,KAAL,CAAWK,UAAf,EAA2B;AACzB,cAAKA,UAAL;AACD;;AAED,UAAI,MAAKL,KAAL,CAAWO,KAAf,EAAsB;AACpB,cAAKP,KAAL,CAAWO,KAAX,CAAiBiE,KAAjB;AACD;;AAED,YAAK7F,aAAL;AACD,KA/bH;;AAicUsE,IAAAA,WAjcV,GAicwB,UAACuB,KAAD,EAAsD;AAC1E,UAAI,MAAKxE,KAAL,CAAWK,UAAf,EAA2B;AACzB,cAAKA,UAAL;AACD;;AAED,UAAI,MAAKL,KAAL,CAAWQ,OAAf,EAAwB;AACtB,cAAKR,KAAL,CAAWQ,OAAX,CAAmBgE,KAAnB;AACD;;AAED,YAAK7F,aAAL;AACD,KA3cH;;AA6cUuE,IAAAA,WA7cV,GA6cwB,UAACsB,KAAD,EAAkD;AACtE,YAAKnB,QAAL,CAAc,EAAE3E,gBAAgB,EAAE,IAApB,EAAd;;AAEA,UAAI,MAAKsB,KAAL,CAAWW,gBAAf,EAAiC;AAC/B;AACA,cAAKxB,IAAL,IAAa,CAAChC,MAAd,GAAuB,MAAKqC,SAAL,EAAvB,GAA0C,MAAKG,cAAL,EAA1C;AACD;;AAED,UAAI,MAAKK,KAAL,CAAWU,OAAf,EAAwB;AACtB,cAAKV,KAAL,CAAWU,OAAX,CAAmB8D,KAAnB;AACD;AACF,KAxdH,sDAoEU5B,oBApEV,GAoEE,gCAA+B,CAC7B,QAAQ,KAAKrE,QAAL,GAAgB6B,IAAxB,GACE,KAAK,OAAL,CACE,OAAOvC,MAAM,CAAC4G,SAAP,CAAiB,KAAK/C,KAAtB,CAAP,CACF,KAAK,QAAL,CACE,OAAO7D,MAAM,CAAC6G,UAAP,CAAkB,KAAKhD,KAAvB,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAO7D,MAAM,CAAC8G,SAAP,CAAiB,KAAKjD,KAAtB,CAAP,CAPJ,CASD,CA9EH,QAgFUF,wBAhFV,GAgFE,oCAAmC,CACjC,QAAQ,KAAKjD,QAAL,GAAgB6B,IAAxB,GACE,KAAK,OAAL,CACE,OAAOvC,MAAM,CAAC+G,aAAP,CAAqB,KAAKlD,KAA1B,CAAP,CACF,KAAK,QAAL,CACE,OAAO7D,MAAM,CAACgH,cAAP,CAAsB,KAAKnD,KAA3B,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAO7D,MAAM,CAACiH,aAAP,CAAqB,KAAKpD,KAA1B,CAAP,CAPJ,CASD,CA1FH,QAgHU6C,yBAhHV,GAgHE,mCAAkCvE,KAAlC,EAA6E,KAA3CA,KAA2C,cAA3CA,KAA2C,GAApB,KAAKA,KAAe,GAC3E;AACA;AACA,WAAO,KAAK4B,oBAAL,CAA0B5B,KAA1B,IAAmC,CAAnC,GAAuC/B,gCAA9C,CACD,CApHH,QAqHU2D,oBArHV,GAqHE,sCAAmG,iCAArB,KAAK5B,KAAgB,UAApEkB,iBAAoE,SAApEA,iBAAoE,CAAjDD,QAAiD,SAAjDA,QAAiD,CACjG,OAAOC,iBAAiB,IAAI,CAACD,QAA7B,CACD,CAvHH,QAyHS8D,iBAzHT,GAyHE,6BAA2B,CACzB,IAAI,KAAK/E,KAAL,CAAWK,UAAf,EAA2B,CACzB,KAAKA,UAAL,GACA,KAAK2E,YAAL,GAAoBjI,YAAY,CAACkI,WAAb,CAAyB,KAAK5E,UAA9B,CAApB,CACD,CAED,IAAI,KAAKlB,IAAL,IAAa,KAAKa,KAAL,CAAWc,iBAAxB,IAA6C,KAAKhC,gBAAtD,EAAwE,CACtE,KAAKA,gBAAL,CAAsBoG,OAAtB,CAA8B,KAAK/F,IAAnC,EAAyC,EAAEgG,UAAU,EAAE,IAAd,EAAzC,EACD,CACF,CAlIH,QAoISC,oBApIT,GAoIE,gCAA8B,CAC5B,IAAI,KAAKJ,YAAT,EAAuB,CACrB,KAAKA,YAAL,CAAkBK,MAAlB,GACD,CACD,IAAI,KAAKrF,KAAL,CAAWc,iBAAX,IAAgC,KAAKhC,gBAAzC,EAA2D,CACzD,KAAKA,gBAAL,CAAsBwG,UAAtB,GACD,CACD,KAAKzF,sBAAL,GACD,CA5IH,QA8IS0F,kBA9IT,GA8IE,4BAA0BC,SAA1B,EAAoD,CAClD,IAAI,KAAKjB,yBAAL,OAAqC,KAAKA,yBAAL,CAA+BiB,SAA/B,CAAzC,EAAoF,CAClF,KAAKnF,UAAL,CAAgBoF,MAAhB,GACA,KAAKpF,UAAL,GAAkB1D,QAAQ,CAAC,KAAKqH,iBAAN,EAAyB,KAAKO,yBAAL,EAAzB,CAA1B,CACD,CACD,sBAA0B,KAAKhG,QAAL,EAA1B,CAAQ0F,IAAR,mBAAQA,IAAR,CAAcxD,OAAd,mBAAcA,OAAd,CACA,IACE,KAAKT,KAAL,CAAWK,UAAX,KACC4D,IAAI,KAAKuB,SAAS,CAACvB,IAAnB,IAA2BxD,OAAO,KAAK+E,SAAS,CAAC/E,OAAjD,IAA4D,KAAKT,KAAL,CAAWP,KAAX,KAAqB+F,SAAS,CAAC/F,KAD5F,CADF,EAGE,CACA,KAAKY,UAAL,GACD,CACF,CA1JH,QA4JSqF,MA5JT,GA4JE,kBAAgB,mBACd,oBACE,oBAAC,0BAAD,CAA4B,QAA5B,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACjD,YAAL,GAAoBhF,0BAA0B,CAACiI,KAAD,CAA9C,CACA,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACjE,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,MAAI,CAACkE,WAAjC,IAAkD,MAAI,CAAC5F,KAAvD,GACG,MAAI,CAACD,UADR,CADF,CAKD,CARH,CADF,CAYD,CAfH,CADF,CAmBD,CAhLH,CAkLE;AACF;AACA,KApLA,QAqLSR,KArLT,GAqLE,iBAAe,CACb,IAAI,KAAKJ,IAAT,EAAe,CACb,KAAKA,IAAL,CAAUI,KAAV,GACD,CACF,CAzLH,CA2LE;AACF;AACA,KA7LA,QA8LSsG,IA9LT,GA8LE,gBAAc,CACZ,IAAI,KAAK1G,IAAT,EAAe,CACb,KAAKA,IAAL,CAAU0G,IAAV,GACD,CACF,CAlMH,CAoME;AACF;AACA;AACA;AACA,KAxMA,mBAA8BpJ,KAAK,CAACgG,SAApC,WACgBqD,mBADhB,GACsC,UADtC,UAGgBC,SAHhB,GAG4B,EACxB7F,KAAK,EAAExD,SAAS,CAACsJ,IADO,EAExB7F,OAAO,EAAEzD,SAAS,CAACsJ,IAFK,EAGxB7E,QAAQ,EAAEzE,SAAS,CAACsJ,IAHI,EAKxB3F,UAAU,EAAE3D,SAAS,CAACsJ,IALE,EAMxB/E,QAAQ,EAAEvE,SAAS,CAACsJ,IANI,EAOxB9E,iBAAiB,EAAExE,SAAS,CAACsJ,IAPL,EAQxBvF,OAAO,EAAE/D,SAAS,CAACuJ,SAAV,CAAoB,CAACvJ,SAAS,CAACwJ,MAAX,EAAmBxJ,SAAS,CAACyJ,MAA7B,CAApB,CARe,EAUxB7F,MAAM,EAAE5D,SAAS,CAACuJ,SAAV,CAAoB,CAACvJ,SAAS,CAACwJ,MAAX,EAAmBxJ,SAAS,CAACyJ,MAA7B,CAApB,CAVgB,EAWxBlG,KAAK,EAAEvD,SAAS,CAACuJ,SAAV,CAAoB,CAACvJ,SAAS,CAACwJ,MAAX,EAAmBxJ,SAAS,CAACyJ,MAA7B,CAApB,CAXiB,EAaxBC,EAAE,EAAE1J,SAAS,CAACwJ,MAbU,EAcxBG,IAAI,EAAE3J,SAAS,CAACwJ,MAdQ,EAexBI,KAAK,EAAE5J,SAAS,CAACwJ,MAfO,EAgBxBK,UAAU,EAAE7J,SAAS,CAACsJ,IAhBE,EAiBxBQ,IAAI,EAAE9J,SAAS,CAACwJ,MAjBQ,EAkBxB5D,SAAS,EAAE5F,SAAS,CAACyJ,MAlBG,EAmBxBM,QAAQ,EAAE/J,SAAS,CAACyJ,MAnBI,EAoBxBlC,IAAI,EAAEvH,SAAS,CAACyJ,MApBQ,EAqBxBvF,WAAW,EAAElE,SAAS,CAACwJ,MArBC,EAuBxBzG,KAAK,EAAE/C,SAAS,CAACwJ,MAvBO,EAwBxBnE,YAAY,EAAErF,SAAS,CAACwJ,MAxBA,EAyBxBrF,aAAa,EAAEnE,SAAS,CAACgK,IAzBD,EA2BxBC,YAAY,EAAEjK,SAAS,CAACgK,IA3BA,EA4BxBE,YAAY,EAAElK,SAAS,CAACgK,IA5BA,EA6BxBG,WAAW,EAAEnK,SAAS,CAACgK,IA7BC,EA8BxBI,WAAW,EAAEpK,SAAS,CAACgK,IA9BC,EA+BxBK,UAAU,EAAErK,SAAS,CAACgK,IA/BE,EAiCxBM,SAAS,EAAEtK,SAAS,CAACgK,IAjCG,EAkCxBO,WAAW,EAAEvK,SAAS,CAACgK,IAlCC,EAmCxBQ,OAAO,EAAExK,SAAS,CAACgK,IAnCK,EAoCxBS,aAAa,EAAEzK,SAAS,CAACgK,IApCD,EAsCxBhD,SAAS,EAAEhH,SAAS,CAACgK,IAtCG,EAuCxBU,UAAU,EAAE1K,SAAS,CAACgK,IAvCE,EAwCxBW,OAAO,EAAE3K,SAAS,CAACgK,IAxCK,EAyCxBY,OAAO,EAAE5K,SAAS,CAACgK,IAzCK,EA2CxBhG,OAAO,EAAEhE,SAAS,CAACgK,IA3CK,EA4CxBa,MAAM,EAAE7K,SAAS,CAACgK,IA5CM,EA8CxBc,QAAQ,EAAE9K,SAAS,CAACgK,IA9CI,EA+CxBe,OAAO,EAAE/K,SAAS,CAACgK,IA/CK,EAiDxBnG,KAAK,EAAE7D,SAAS,CAACgK,IAjDO,EAkDxBlG,OAAO,EAAE9D,SAAS,CAACgK,IAlDK,EAmDxBgB,MAAM,EAAEhL,SAAS,CAACgK,IAnDM,EAH5B,UAyDgBlI,YAzDhB,GAyD6C,EACzCyF,IAAI,EAAE,CADmC,EAEzCxD,OAAO,EAAE,EAFgC,EAGzCQ,QAAQ,EAAE,IAH+B,EAIzCb,IAAI,EAAE,OAJmC,EAKzCc,iBAAiB,EAAE5D,SALsB,EAzD7C","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes, ReactNode } from 'react';\nimport PropTypes from 'prop-types';\nimport throttle from 'lodash.throttle';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { isIE11, isSafari17 } from '../../lib/client';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport {\n getFullReactUIFlagsContext,\n ReactUIFeatureFlags,\n ReactUIFeatureFlagsContext,\n} from '../../lib/featureFlagsContext';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport { TextareaCounter, TextareaCounterRef } from './TextareaCounter';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround';\n\n/**\n * @deprecated use SizeProp\n */\nexport type TextareaSize = SizeProp;\n\nconst DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Не активное состояние */\n disabled?: boolean;\n /** Размер */\n size?: SizeProp;\n /**\n * Автоматический ресайз\n * в зависимости от содержимого\n */\n autoResize?: boolean;\n /**\n * Число строк\n */\n rows?: number;\n /**\n * Максимальное число строк при\n * автоматическом ресайзе\n */\n maxRows?: string | number;\n\n /**\n * Стандартный ресайз\n * Попадает в `style`\n */\n resize?: React.CSSProperties['resize'];\n\n /**\n * Ширина\n */\n width?: React.CSSProperties['width'];\n\n /**\n * Вызывается при изменении `value`\n */\n onValueChange?: (value: string) => void;\n\n /** Выделение значения при фокусе */\n selectAllOnFocus?: boolean;\n\n /** Показывать счетчик символов */\n showLengthCounter?: boolean;\n\n /** Допустимое количество символов в поле. Отображается в счетчике.\n * Если не указано, равно `maxLength`\n */\n lengthCounter?: number;\n\n /** Подсказка к счетчику символов.\n *\n * По умолчанию - тултип с содержимым из пропа, если передан`ReactNode`.\n *\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой. Например,\n *\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ```\n * */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавлять дополнительную свободную строку при авто-ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04\n * */\n extraRow?: boolean;\n\n /** Отключать анимацию при авто-ресайзе.\n * Автоматически отключается когда в `extraRow` передан `false`.\n */\n disableAnimations?: boolean;\n }\n > {}\n\nexport interface TextareaState {\n needsPolyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\nexport const TextareaDataTids = {\n root: 'Textarea__root',\n counter: 'TextareaCounter__root',\n helpIcon: 'TextareaCounter__helpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations' | 'size'>>;\n\n/**\n * Компонент для ввода многострочного текста.\n *\n * Принимает все атрибуты `React.TextareaHTMLAttributes<HTMLTextAreaElement>`\n *\n * ** `className` и `style` игнорируются**\n */\n@rootNode\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n\n public static propTypes = {\n error: PropTypes.bool,\n warning: PropTypes.bool,\n disabled: PropTypes.bool,\n\n autoResize: PropTypes.bool,\n extraRow: PropTypes.bool,\n disableAnimations: PropTypes.bool,\n maxRows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n resize: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n id: PropTypes.string,\n name: PropTypes.string,\n title: PropTypes.string,\n spellCheck: PropTypes.bool,\n role: PropTypes.string,\n maxLength: PropTypes.number,\n tabIndex: PropTypes.number,\n rows: PropTypes.number,\n placeholder: PropTypes.string,\n\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n onValueChange: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseOut: PropTypes.func,\n\n onMouseUp: PropTypes.func,\n onMouseDown: PropTypes.func,\n onClick: PropTypes.func,\n onDoubleClick: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n onKeyPress: PropTypes.func,\n onKeyUp: PropTypes.func,\n onInput: PropTypes.func,\n\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n\n onScroll: PropTypes.func,\n onWheel: PropTypes.func,\n\n onCut: PropTypes.func,\n onPaste: PropTypes.func,\n onCopy: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\n private featureFlags!: ReactUIFeatureFlags;\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 <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange = (start: number, end: number) => {\n if (!this.node) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /**\n * @public\n */\n public selectAll = () => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n size,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = cx(this.getTextareaSizeClassName(), {\n [styles.textarea(this.theme)]: true,\n [styles.hovering(this.theme)]: !error && !warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.error(this.theme)]: !!error,\n [styles.warning(this.theme)]: !!warning,\n [styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: cx(textareaClassNames, styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n size={this.getProps().size}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n const Component =\n this.featureFlags.textareaUseSafari17Workaround && isSafari17 ? 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"]}
@@ -2,7 +2,11 @@ import React, { AriaAttributes, ReactNode } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Override } from '../../typings/utility-types';
4
4
  import { CommonProps } from '../../internal/CommonWrapper';
5
- export declare type TextareaSize = 'small' | 'medium' | 'large';
5
+ import { SizeProp } from '../../lib/types/props';
6
+ /**
7
+ * @deprecated use SizeProp
8
+ */
9
+ export declare type TextareaSize = SizeProp;
6
10
  export interface TextareaProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<React.TextareaHTMLAttributes<HTMLTextAreaElement>, {
7
11
  /**
8
12
  * Состояние валидации при ошибке.
@@ -15,7 +19,7 @@ export interface TextareaProps extends Pick<AriaAttributes, 'aria-label'>, Commo
15
19
  /** Не активное состояние */
16
20
  disabled?: boolean;
17
21
  /** Размер */
18
- size?: TextareaSize;
22
+ size?: SizeProp;
19
23
  /**
20
24
  * Автоматический ресайз
21
25
  * в зависимости от содержимого
@@ -136,6 +140,7 @@ export declare class Textarea extends React.Component<TextareaProps, TextareaSta
136
140
  };
137
141
  static defaultProps: DefaultProps;
138
142
  private getProps;
143
+ private featureFlags;
139
144
  private getRootSizeClassName;
140
145
  private getTextareaSizeClassName;
141
146
  state: {
@@ -1,5 +1,6 @@
1
1
  import React, { useContext, useCallback, useImperativeHandle, useState } from 'react';
2
2
  import propTypes from 'prop-types';
3
+ import { globalObject } from '@skbkontur/global-object';
3
4
  import { safePropTypesInstanceOf } from "../../../lib/SSRSafe";
4
5
  import { forwardRefAndName } from "../../../lib/forwardRefAndName";
5
6
  import { HelpDotIcon } from "../../../internal/icons/16px";
@@ -96,7 +97,5 @@ TextareaCounter.propTypes = {
96
97
  value: propTypes.oneOfType([propTypes.string, propTypes.number]),
97
98
  help: propTypes.oneOfType([propTypes.node, propTypes.func]),
98
99
  onCloseHelp: propTypes.func.isRequired,
99
- textarea: safePropTypesInstanceOf(function () {
100
- return HTMLElement;
101
- }).isRequired
100
+ textarea: safePropTypesInstanceOf(globalObject.HTMLElement).isRequired
102
101
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["TextareaCounter.tsx"],"names":["React","useContext","useCallback","useImperativeHandle","useState","propTypes","safePropTypesInstanceOf","forwardRefAndName","HelpDotIcon","ThemeContext","isFunction","Tooltip","cx","isTheme2022","QuestionCircleIcon16Solid","TextareaDataTids","styles","handleHelpMouseDown","e","preventDefault","TextareaCounter","ref","length","value","help","onCloseHelp","textarea","size","theme","clientWidth","width","setWidth","clientHeight","height","setHeight","reflow","renderTooltipContent","textareaValue","toString","counterValue","helpIconProps","onMouseDown","color","textareaCounterHelpIconColor","helpIcon","counterHelp","getCounterSizeClassName","counterLarge","counterMedium","counterSmall","counter","counterContainer","counterError","number","isRequired","oneOfType","string","node","func","HTMLElement"],"mappings":"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","sourcesContent":["import React, { SyntheticEvent, useContext, useCallback, useImperativeHandle, useState } from 'react';\nimport propTypes from 'prop-types';\n\nimport { safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { HelpDotIcon } from '../../internal/icons/16px';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isFunction } from '../../lib/utils';\nimport { Tooltip } from '../Tooltip';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { QuestionCircleIcon16Solid } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid';\n\nimport { TextareaDataTids, TextareaProps, TextareaSize } from './Textarea';\nimport { styles } from './Textarea.styles';\n\nexport interface TextareaCounterProps {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n size: TextareaSize;\n}\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nexport const TextareaCounter = forwardRefAndName<TextareaCounterRef, TextareaCounterProps>(\n 'TextareaCounter',\n ({ length, value, help, onCloseHelp, textarea, size }, ref) => {\n const theme = useContext(ThemeContext);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = useCallback(() => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n }, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [reflow]);\n const renderTooltipContent = useCallback(() => help, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n\n const helpIconProps = {\n onMouseDown: handleHelpMouseDown,\n color: theme.textareaCounterHelpIconColor,\n 'data-tid': TextareaDataTids.helpIcon,\n };\n const helpIcon = isTheme2022(theme) ? (\n <QuestionCircleIcon16Solid {...helpIconProps} />\n ) : (\n <HelpDotIcon {...helpIconProps} />\n );\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n {helpIcon}\n </Tooltip>\n );\n\n const getCounterSizeClassName = () => {\n switch (size) {\n case 'large':\n return styles.counterLarge(theme);\n case 'medium':\n return styles.counterMedium(theme);\n case 'small':\n default:\n return styles.counterSmall(theme);\n }\n };\n\n return (\n <div data-tid={TextareaDataTids.counter} className={cx(styles.counterContainer(theme))} style={{ width, height }}>\n <span\n className={cx(getCounterSizeClassName(), styles.counter(theme), {\n [styles.counterError(theme)]: counterValue < 0,\n })}\n >\n {counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n },\n);\n\nTextareaCounter.propTypes = {\n length: propTypes.number.isRequired,\n value: propTypes.oneOfType([propTypes.string, propTypes.number]),\n help: propTypes.oneOfType([propTypes.node, propTypes.func]),\n onCloseHelp: propTypes.func.isRequired,\n textarea: safePropTypesInstanceOf(() => HTMLElement).isRequired,\n};\n"]}
1
+ {"version":3,"sources":["TextareaCounter.tsx"],"names":["React","useContext","useCallback","useImperativeHandle","useState","propTypes","globalObject","safePropTypesInstanceOf","forwardRefAndName","HelpDotIcon","ThemeContext","isFunction","Tooltip","cx","isTheme2022","QuestionCircleIcon16Solid","TextareaDataTids","styles","handleHelpMouseDown","e","preventDefault","TextareaCounter","ref","length","value","help","onCloseHelp","textarea","size","theme","clientWidth","width","setWidth","clientHeight","height","setHeight","reflow","renderTooltipContent","textareaValue","toString","counterValue","helpIconProps","onMouseDown","color","textareaCounterHelpIconColor","helpIcon","counterHelp","getCounterSizeClassName","counterLarge","counterMedium","counterSmall","counter","counterContainer","counterError","number","isRequired","oneOfType","string","node","func","HTMLElement"],"mappings":"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","sourcesContent":["import React, { SyntheticEvent, useContext, useCallback, useImperativeHandle, useState } from 'react';\nimport propTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { HelpDotIcon } from '../../internal/icons/16px';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isFunction } from '../../lib/utils';\nimport { Tooltip } from '../Tooltip';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { QuestionCircleIcon16Solid } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { TextareaDataTids, TextareaProps } from './Textarea';\nimport { styles } from './Textarea.styles';\n\nexport interface TextareaCounterProps {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n size: SizeProp;\n}\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nexport const TextareaCounter = forwardRefAndName<TextareaCounterRef, TextareaCounterProps>(\n 'TextareaCounter',\n ({ length, value, help, onCloseHelp, textarea, size }, ref) => {\n const theme = useContext(ThemeContext);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = useCallback(() => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n }, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [reflow]);\n const renderTooltipContent = useCallback(() => help, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n\n const helpIconProps = {\n onMouseDown: handleHelpMouseDown,\n color: theme.textareaCounterHelpIconColor,\n 'data-tid': TextareaDataTids.helpIcon,\n };\n const helpIcon = isTheme2022(theme) ? (\n <QuestionCircleIcon16Solid {...helpIconProps} />\n ) : (\n <HelpDotIcon {...helpIconProps} />\n );\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n {helpIcon}\n </Tooltip>\n );\n\n const getCounterSizeClassName = () => {\n switch (size) {\n case 'large':\n return styles.counterLarge(theme);\n case 'medium':\n return styles.counterMedium(theme);\n case 'small':\n default:\n return styles.counterSmall(theme);\n }\n };\n\n return (\n <div data-tid={TextareaDataTids.counter} className={cx(styles.counterContainer(theme))} style={{ width, height }}>\n <span\n className={cx(getCounterSizeClassName(), styles.counter(theme), {\n [styles.counterError(theme)]: counterValue < 0,\n })}\n >\n {counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n },\n);\n\nTextareaCounter.propTypes = {\n length: propTypes.number.isRequired,\n value: propTypes.oneOfType([propTypes.string, propTypes.number]),\n help: propTypes.oneOfType([propTypes.node, propTypes.func]),\n onCloseHelp: propTypes.func.isRequired,\n textarea: safePropTypesInstanceOf(globalObject.HTMLElement).isRequired,\n};\n"]}
@@ -1,13 +1,14 @@
1
- import { TextareaProps, TextareaSize } from './Textarea';
1
+ import { SizeProp } from '../../lib/types/props';
2
+ import { TextareaProps } from './Textarea';
2
3
  export interface TextareaCounterProps {
3
4
  value: TextareaProps['value'];
4
5
  length: number;
5
6
  help: TextareaProps['counterHelp'];
6
7
  onCloseHelp: () => void;
7
8
  textarea: HTMLTextAreaElement;
8
- size: TextareaSize;
9
+ size: SizeProp;
9
10
  }
10
11
  export interface TextareaCounterRef {
11
12
  reflow: () => void;
12
13
  }
13
- export declare const TextareaCounter: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<TextareaCounterRef, TextareaCounterProps>;
14
+ export declare const TextareaCounter: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<TextareaCounterRef, TextareaCounterProps> & Record<never, never>;
@@ -1,9 +1,14 @@
1
+ import { globalObject, isBrowser } from '@skbkontur/global-object';
1
2
  export function getTextAreaHeight(params) {
3
+ if (!isBrowser(globalObject)) {
4
+ return null;
5
+ }
6
+
2
7
  var node = params.node,
3
8
  minRows = params.minRows,
4
9
  maxRows = params.maxRows,
5
10
  extraRow = params.extraRow;
6
- var style = getComputedStyle(node);
11
+ var style = globalObject.getComputedStyle(node);
7
12
  var borderTop = style.borderTopWidth ? parseInt(style.borderTopWidth, 10) : 0;
8
13
  var borderBottom = style.borderBottomWidth ? parseInt(style.borderBottomWidth, 10) : 0;
9
14
  var lineHeight = style.lineHeight ? parseInt(style.lineHeight, 10) : 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["TextareaHelpers.tsx"],"names":["getTextAreaHeight","params","node","minRows","maxRows","extraRow","style","getComputedStyle","borderTop","borderTopWidth","parseInt","borderBottom","borderBottomWidth","lineHeight","paddingTop","paddingBottom","minHeight","maxHeight","extraRowHeight","expectedHeight","scrollHeight","height","Math","min","max","exceededMaxHeight"],"mappings":"AAAA,OAAO,SAASA,iBAAT,CAA2BC,MAA3B,EAA4D;AACjE,MAAQC,IAAR,GAA6CD,MAA7C,CAAQC,IAAR,CAAcC,OAAd,GAA6CF,MAA7C,CAAcE,OAAd,CAAuBC,OAAvB,GAA6CH,MAA7C,CAAuBG,OAAvB,CAAgCC,QAAhC,GAA6CJ,MAA7C,CAAgCI,QAAhC;AACA,MAAMC,KAA0B,GAAGC,gBAAgB,CAACL,IAAD,CAAnD;AACA,MAAMM,SAAS,GAAGF,KAAK,CAACG,cAAN,GAAuBC,QAAQ,CAACJ,KAAK,CAACG,cAAP,EAAuB,EAAvB,CAA/B,GAA4D,CAA9E;AACA,MAAME,YAAY,GAAGL,KAAK,CAACM,iBAAN,GAA0BF,QAAQ,CAACJ,KAAK,CAACM,iBAAP,EAA0B,EAA1B,CAAlC,GAAkE,CAAvF;AACA,MAAMC,UAAU,GAAGP,KAAK,CAACO,UAAN,GAAmBH,QAAQ,CAACJ,KAAK,CAACO,UAAP,EAAmB,EAAnB,CAA3B,GAAoD,CAAvE;AACA,MAAMC,UAAU,GAAGR,KAAK,CAACQ,UAAN,GAAmBJ,QAAQ,CAACJ,KAAK,CAACQ,UAAP,EAAmB,EAAnB,CAA3B,GAAoD,CAAvE;AACA,MAAMC,aAAa,GAAGT,KAAK,CAACS,aAAN,GAAsBL,QAAQ,CAACJ,KAAK,CAACS,aAAP,EAAsB,EAAtB,CAA9B,GAA0D,CAAhF;AACA,MAAMC,SAAS,GAAGR,SAAS,GAAGG,YAAZ,GAA2BG,UAA3B,GAAwCC,aAAxC,GAAwDF,UAAU,GAAGV,OAAvF;AACA,MAAMc,SAAS,GAAGT,SAAS,GAAGG,YAAZ,GAA2BG,UAA3B,GAAwCC,aAAxC,GAAwDF,UAAU,GAAGT,OAAvF;AACA,MAAMc,cAAc,GAAGb,QAAQ,GAAGQ,UAAH,GAAgB,CAA/C;AACA,MAAMM,cAAc,GAAGjB,IAAI,CAACkB,YAAL,GAAoBZ,SAApB,GAAgCG,YAAhC,GAA+CO,cAAtE;AACA,SAAO;AACLG,IAAAA,MAAM,EAAEC,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,GAAL,CAASL,cAAT,EAAyBH,SAAzB,CAAT,EAA8CC,SAA9C,CADH;AAELQ,IAAAA,iBAAiB,EAAEN,cAAc,GAAGF,SAAS,GAAGC,cAF3C,EAAP;;AAID","sourcesContent":["export function getTextAreaHeight(params: GetTextAreaHeightParams) {\n const { node, minRows, maxRows, extraRow } = params;\n const style: CSSStyleDeclaration = getComputedStyle(node);\n const borderTop = style.borderTopWidth ? parseInt(style.borderTopWidth, 10) : 0;\n const borderBottom = style.borderBottomWidth ? parseInt(style.borderBottomWidth, 10) : 0;\n const lineHeight = style.lineHeight ? parseInt(style.lineHeight, 10) : 0;\n const paddingTop = style.paddingTop ? parseInt(style.paddingTop, 10) : 0;\n const paddingBottom = style.paddingBottom ? parseInt(style.paddingBottom, 10) : 0;\n const minHeight = borderTop + borderBottom + paddingTop + paddingBottom + lineHeight * minRows;\n const maxHeight = borderTop + borderBottom + paddingTop + paddingBottom + lineHeight * maxRows;\n const extraRowHeight = extraRow ? lineHeight : 0;\n const expectedHeight = node.scrollHeight + borderTop + borderBottom + extraRowHeight;\n return {\n height: Math.min(Math.max(expectedHeight, minHeight), maxHeight),\n exceededMaxHeight: expectedHeight > maxHeight + extraRowHeight,\n };\n}\n\ninterface GetTextAreaHeightParams {\n node: HTMLTextAreaElement;\n minRows: number;\n maxRows: number;\n extraRow: boolean;\n}\n"]}
1
+ {"version":3,"sources":["TextareaHelpers.tsx"],"names":["globalObject","isBrowser","getTextAreaHeight","params","node","minRows","maxRows","extraRow","style","getComputedStyle","borderTop","borderTopWidth","parseInt","borderBottom","borderBottomWidth","lineHeight","paddingTop","paddingBottom","minHeight","maxHeight","extraRowHeight","expectedHeight","scrollHeight","height","Math","min","max","exceededMaxHeight"],"mappings":"AAAA,SAASA,YAAT,EAAuBC,SAAvB,QAAwC,0BAAxC;;AAEA,OAAO,SAASC,iBAAT,CAA2BC,MAA3B,EAA4D;AACjE,MAAI,CAACF,SAAS,CAACD,YAAD,CAAd,EAA8B;AAC5B,WAAO,IAAP;AACD;AACD,MAAQI,IAAR,GAA6CD,MAA7C,CAAQC,IAAR,CAAcC,OAAd,GAA6CF,MAA7C,CAAcE,OAAd,CAAuBC,OAAvB,GAA6CH,MAA7C,CAAuBG,OAAvB,CAAgCC,QAAhC,GAA6CJ,MAA7C,CAAgCI,QAAhC;AACA,MAAMC,KAAK,GAAGR,YAAY,CAACS,gBAAb,CAA8BL,IAA9B,CAAd;AACA,MAAMM,SAAS,GAAGF,KAAK,CAACG,cAAN,GAAuBC,QAAQ,CAACJ,KAAK,CAACG,cAAP,EAAuB,EAAvB,CAA/B,GAA4D,CAA9E;AACA,MAAME,YAAY,GAAGL,KAAK,CAACM,iBAAN,GAA0BF,QAAQ,CAACJ,KAAK,CAACM,iBAAP,EAA0B,EAA1B,CAAlC,GAAkE,CAAvF;AACA,MAAMC,UAAU,GAAGP,KAAK,CAACO,UAAN,GAAmBH,QAAQ,CAACJ,KAAK,CAACO,UAAP,EAAmB,EAAnB,CAA3B,GAAoD,CAAvE;AACA,MAAMC,UAAU,GAAGR,KAAK,CAACQ,UAAN,GAAmBJ,QAAQ,CAACJ,KAAK,CAACQ,UAAP,EAAmB,EAAnB,CAA3B,GAAoD,CAAvE;AACA,MAAMC,aAAa,GAAGT,KAAK,CAACS,aAAN,GAAsBL,QAAQ,CAACJ,KAAK,CAACS,aAAP,EAAsB,EAAtB,CAA9B,GAA0D,CAAhF;AACA,MAAMC,SAAS,GAAGR,SAAS,GAAGG,YAAZ,GAA2BG,UAA3B,GAAwCC,aAAxC,GAAwDF,UAAU,GAAGV,OAAvF;AACA,MAAMc,SAAS,GAAGT,SAAS,GAAGG,YAAZ,GAA2BG,UAA3B,GAAwCC,aAAxC,GAAwDF,UAAU,GAAGT,OAAvF;AACA,MAAMc,cAAc,GAAGb,QAAQ,GAAGQ,UAAH,GAAgB,CAA/C;AACA,MAAMM,cAAc,GAAGjB,IAAI,CAACkB,YAAL,GAAoBZ,SAApB,GAAgCG,YAAhC,GAA+CO,cAAtE;AACA,SAAO;AACLG,IAAAA,MAAM,EAAEC,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,GAAL,CAASL,cAAT,EAAyBH,SAAzB,CAAT,EAA8CC,SAA9C,CADH;AAELQ,IAAAA,iBAAiB,EAAEN,cAAc,GAAGF,SAAS,GAAGC,cAF3C,EAAP;;AAID","sourcesContent":["import { globalObject, isBrowser } from '@skbkontur/global-object';\n\nexport function getTextAreaHeight(params: GetTextAreaHeightParams) {\n if (!isBrowser(globalObject)) {\n return null;\n }\n const { node, minRows, maxRows, extraRow } = params;\n const style = globalObject.getComputedStyle(node);\n const borderTop = style.borderTopWidth ? parseInt(style.borderTopWidth, 10) : 0;\n const borderBottom = style.borderBottomWidth ? parseInt(style.borderBottomWidth, 10) : 0;\n const lineHeight = style.lineHeight ? parseInt(style.lineHeight, 10) : 0;\n const paddingTop = style.paddingTop ? parseInt(style.paddingTop, 10) : 0;\n const paddingBottom = style.paddingBottom ? parseInt(style.paddingBottom, 10) : 0;\n const minHeight = borderTop + borderBottom + paddingTop + paddingBottom + lineHeight * minRows;\n const maxHeight = borderTop + borderBottom + paddingTop + paddingBottom + lineHeight * maxRows;\n const extraRowHeight = extraRow ? lineHeight : 0;\n const expectedHeight = node.scrollHeight + borderTop + borderBottom + extraRowHeight;\n return {\n height: Math.min(Math.max(expectedHeight, minHeight), maxHeight),\n exceededMaxHeight: expectedHeight > maxHeight + extraRowHeight,\n };\n}\n\ninterface GetTextAreaHeightParams {\n node: HTMLTextAreaElement;\n minRows: number;\n maxRows: number;\n extraRow: boolean;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  export declare function getTextAreaHeight(params: GetTextAreaHeightParams): {
2
2
  height: number;
3
3
  exceededMaxHeight: boolean;
4
- };
4
+ } | null;
5
5
  interface GetTextAreaHeightParams {
6
6
  node: HTMLTextAreaElement;
7
7
  minRows: number;
@@ -0,0 +1,21 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import React from 'react';
3
+ import { forwardRefAndName } from "../../../lib/forwardRefAndName";
4
+ /**
5
+ * React textarea behaves incorrectly on first rendered in Safari version 17.*
6
+ * Reproduce: https://codesandbox.io/p/sandbox/textarea-and-textarea-safari-bug-9v95vz
7
+ */
8
+
9
+ export var TextareaWithSafari17Workaround = forwardRefAndName('TextareaWithSafari17Workaround', function (props, ref) {
10
+ var _React$useState = React.useState(true),
11
+ firstRender = _React$useState[0],
12
+ setFirstRender = _React$useState[1];
13
+
14
+ React.useEffect(function () {
15
+ firstRender && setFirstRender(false);
16
+ }, []);
17
+ return /*#__PURE__*/React.createElement("textarea", _extends({}, props, {
18
+ value: firstRender ? '' : props.value,
19
+ ref: ref
20
+ }));
21
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["TextareaWithSafari17Workaround.tsx"],"names":["React","forwardRefAndName","TextareaWithSafari17Workaround","props","ref","useState","firstRender","setFirstRender","useEffect","value"],"mappings":"0DAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,iBAAT,QAAkC,6BAAlC;;AAEA;AACA;AACA;AACA;AACA,OAAO,IAAMC,8BAA8B,GAAGD,iBAAiB;;;AAG7D,gCAH6D,EAG3B,UAACE,KAAD,EAAQC,GAAR,EAAgB;AAClD,wBAAsCJ,KAAK,CAACK,QAAN,CAAe,IAAf,CAAtC,CAAOC,WAAP,sBAAoBC,cAApB;;AAEAP,EAAAA,KAAK,CAACQ,SAAN,CAAgB,YAAM;AACpBF,IAAAA,WAAW,IAAIC,cAAc,CAAC,KAAD,CAA7B;AACD,GAFD,EAEG,EAFH;;AAIA,sBAAO,6CAAcJ,KAAd,IAAqB,KAAK,EAAEG,WAAW,GAAG,EAAH,GAAQH,KAAK,CAACM,KAArD,EAA4D,GAAG,EAAEL,GAAjE,IAAP;AACD,CAX8D,CAAxD","sourcesContent":["import React from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\n/**\n * React textarea behaves incorrectly on first rendered in Safari version 17.*\n * Reproduce: https://codesandbox.io/p/sandbox/textarea-and-textarea-safari-bug-9v95vz\n */\nexport const TextareaWithSafari17Workaround = forwardRefAndName<\n HTMLTextAreaElement,\n React.TextareaHTMLAttributes<HTMLTextAreaElement>\n>('TextareaWithSafari17Workaround', (props, ref) => {\n const [firstRender, setFirstRender] = React.useState(true);\n\n React.useEffect(() => {\n firstRender && setFirstRender(false);\n }, []);\n\n return <textarea {...props} value={firstRender ? '' : props.value} ref={ref} />;\n});\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../cjs/components/Textarea/TextareaWithSafari17Workaround.js",
3
+ "module": "TextareaWithSafari17Workaround",
4
+ "types": "../TextareaWithSafari17Workaround.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ /**
3
+ * React textarea behaves incorrectly on first rendered in Safari version 17.*
4
+ * Reproduce: https://codesandbox.io/p/sandbox/textarea-and-textarea-safari-bug-9v95vz
5
+ */
6
+ export declare const TextareaWithSafari17Workaround: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLTextAreaElement, React.TextareaHTMLAttributes<HTMLTextAreaElement>> & Record<never, never>;
@@ -5,6 +5,9 @@ var _class, _class2, _temp;
5
5
 
6
6
  import React from 'react';
7
7
  import { CSSTransition, TransitionGroup } from 'react-transition-group';
8
+ import { globalObject } from '@skbkontur/global-object';
9
+ import { ThemeFactory } from "../../../lib/theming/ThemeFactory";
10
+ import { ThemeContext } from "../../../lib/theming/ThemeContext";
8
11
  import { RenderContainer } from "../../../internal/RenderContainer";
9
12
  import { CommonWrapper } from "../../../internal/CommonWrapper";
10
13
  import { isTestEnv } from "../../../lib/currentEnvironment";
@@ -22,10 +25,10 @@ export var ToastDataTids = {
22
25
  * Показывает уведомления.
23
26
  *
24
27
  * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.
25
- * Однако, при его использовании не работает кастомизация и могут быть проблемы
26
- * с перекрытием уведомления другими элементами страницы.
28
+ * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.
29
+ *
30
+ * Для статических тостов <u>рекомендуется</u> использовать компонент [SingleToast](https://tech.skbkontur.ru/react-ui/#/Components/SingleToast) - в нём исправлены эти проблемы.
27
31
  *
28
- * Рекомендуется использовать Toast через `ref` (см. примеры).
29
32
  */
30
33
 
31
34
  export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
@@ -43,7 +46,6 @@ export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
43
46
  var _this;
44
47
 
45
48
  _this = _React$Component.call(this, props) || this;
46
- _this._timeout = null;
47
49
  _this.rootRef = /*#__PURE__*/React.createRef();
48
50
 
49
51
  _this.close = function () {
@@ -64,7 +66,7 @@ export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
64
66
 
65
67
  _this._clearTimer = function () {
66
68
  if (_this._timeout) {
67
- clearTimeout(_this._timeout);
69
+ globalObject.clearTimeout(_this._timeout);
68
70
  _this._timeout = null;
69
71
  }
70
72
  };
@@ -76,7 +78,7 @@ export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
76
78
 
77
79
  var showTime = _this.state.action ? 7000 : 3000;
78
80
  showTime = (_this$state$showTime = _this.state.showTime) != null ? _this$state$showTime : showTime;
79
- _this._timeout = window.setTimeout(_this.close, showTime);
81
+ _this._timeout = globalObject.setTimeout(_this.close, showTime);
80
82
  };
81
83
 
82
84
  _this._refToast = function (element) {
@@ -99,7 +101,14 @@ export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
99
101
  };
100
102
 
101
103
  _proto.render = function render() {
102
- return /*#__PURE__*/React.createElement(RenderContainer, null, /*#__PURE__*/React.createElement(TransitionGroup, null, this._renderToast()));
104
+ var _this2 = this;
105
+
106
+ return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
107
+ _this2.theme = _this2.props.theme ? ThemeFactory.create(_this2.props.theme, theme) : theme;
108
+ return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
109
+ value: _this2.theme
110
+ }, /*#__PURE__*/React.createElement(RenderContainer, null, /*#__PURE__*/React.createElement(TransitionGroup, null, _this2._renderToast())));
111
+ });
103
112
  }
104
113
  /**
105
114
  * Показывает тост с `notification` в качестве сообщения.
@@ -1 +1 @@
1
- {"version":3,"sources":["Toast.tsx"],"names":["React","CSSTransition","TransitionGroup","RenderContainer","CommonWrapper","isTestEnv","rootNode","styles","ToastView","ToastStatic","ToastDataTids","toastStatic","toastView","action","close","Toast","push","notification","showTime","props","_timeout","rootRef","createRef","safelyCall","onClose","state","setState","setRootRef","element","setRootNode","current","_clearTimer","clearTimeout","_setTimer","window","setTimeout","_refToast","_toast","id","componentWillUnmount","render","_renderToast","onPush","toastProps","onMouseEnter","onMouseLeave","children","enter","enterActive","exit","exitActive","Component","__KONTUR_REACT_UI__","fn","args"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\n\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport { ToastView, ToastViewProps } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<string>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n onPush?: (notification: string, action?: Action) => void;\n onClose?: (notification: string, action?: Action) => void;\n}\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * Показывает уведомления.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация и могут быть проблемы\n * с перекрытием уведомления другими элементами страницы.\n *\n * Рекомендуется использовать Toast через `ref` (см. примеры).\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n private setRootNode!: TSetRootNode;\n\n public static push(notification: string, action?: Nullable<Action>, showTime?: number) {\n ToastStatic.push(notification, action, showTime);\n }\n\n public static close() {\n ToastStatic.close();\n }\n\n public _toast: Nullable<ToastView>;\n private _timeout: Nullable<number> = null;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {string} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n */\n public push(notification: string, action?: Nullable<Action>, showTime?: number) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n\n this._timeout = window.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"]}
1
+ {"version":3,"sources":["Toast.tsx"],"names":["React","CSSTransition","TransitionGroup","globalObject","ThemeFactory","ThemeContext","RenderContainer","CommonWrapper","isTestEnv","rootNode","styles","ToastView","ToastStatic","ToastDataTids","toastStatic","toastView","action","close","Toast","push","notification","showTime","props","rootRef","createRef","safelyCall","onClose","state","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","clearTimeout","_setTimer","setTimeout","_refToast","_toast","id","componentWillUnmount","render","theme","create","_renderToast","onPush","toastProps","onMouseEnter","onMouseLeave","children","enter","enterActive","exit","exitActive","Component","__KONTUR_REACT_UI__","fn","args"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport { ToastView, ToastViewProps } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<string>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n onPush?: (notification: string, action?: Action) => void;\n onClose?: (notification: string, action?: Action) => void;\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n}\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * Показывает уведомления.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов <u>рекомендуется</u> использовать компонент [SingleToast](https://tech.skbkontur.ru/react-ui/#/Components/SingleToast) - в нём исправлены эти проблемы.\n *\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n public static push(notification: string, action?: Nullable<Action>, showTime?: number) {\n ToastStatic.push(notification, action, showTime);\n }\n\n public static close() {\n ToastStatic.close();\n }\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {string} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n */\n public push(notification: string, action?: Nullable<Action>, showTime?: number) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import React, { AriaAttributes } from 'react';
2
+ import { ThemeIn } from '../../lib/theming/Theme';
2
3
  import { Nullable } from '../../typings/utility-types';
3
4
  import { CommonProps } from '../../internal/CommonWrapper';
4
5
  import { ToastView } from './ToastView';
@@ -16,6 +17,11 @@ export interface ToastState {
16
17
  export interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {
17
18
  onPush?: (notification: string, action?: Action) => void;
18
19
  onClose?: (notification: string, action?: Action) => void;
20
+ /**
21
+ * Обычный объект с переменными темы.
22
+ * Он будет объединён с темой из контекста.
23
+ */
24
+ theme?: ThemeIn;
19
25
  }
20
26
  export declare const ToastDataTids: {
21
27
  readonly toastStatic: "StaticToast";
@@ -27,14 +33,15 @@ export declare const ToastDataTids: {
27
33
  * Показывает уведомления.
28
34
  *
29
35
  * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.
30
- * Однако, при его использовании не работает кастомизация и могут быть проблемы
31
- * с перекрытием уведомления другими элементами страницы.
36
+ * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.
37
+ *
38
+ * Для статических тостов <u>рекомендуется</u> использовать компонент [SingleToast](https://tech.skbkontur.ru/react-ui/#/Components/SingleToast) - в нём исправлены эти проблемы.
32
39
  *
33
- * Рекомендуется использовать Toast через `ref` (см. примеры).
34
40
  */
35
41
  export declare class Toast extends React.Component<ToastProps, ToastState> {
36
42
  static __KONTUR_REACT_UI__: string;
37
43
  private setRootNode;
44
+ private theme;
38
45
  static push(notification: string, action?: Nullable<Action>, showTime?: number): void;
39
46
  static close(): void;
40
47
  _toast: Nullable<ToastView>;