@skbkontur/react-ui 5.0.12 → 5.1.0-next.1

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 (907) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.d.ts +16 -17
  2. package/cjs/components/Autocomplete/Autocomplete.js +13 -2
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/Autocomplete/Autocomplete.md +9 -7
  5. package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
  6. package/cjs/components/Autocomplete/locale/types.js +1 -1
  7. package/cjs/components/Button/Button.d.ts +20 -62
  8. package/cjs/components/Button/Button.js +0 -42
  9. package/cjs/components/Button/Button.js.map +1 -1
  10. package/cjs/components/Button/Button.md +40 -26
  11. package/cjs/components/Button/__docs__/Button.mdx +28 -0
  12. package/cjs/components/Calendar/Calendar.d.ts +22 -45
  13. package/cjs/components/Calendar/Calendar.js +1 -15
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Calendar/Calendar.md +12 -12
  16. package/cjs/components/Calendar/CalendarDay.d.ts +7 -0
  17. package/cjs/components/Calendar/CalendarDay.js +11 -0
  18. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  19. package/cjs/components/Calendar/CalendarDay.md +32 -32
  20. package/cjs/components/Calendar/__docs__/Calendar.mdx +28 -0
  21. package/cjs/components/Calendar/__docs__/CalendarDay.mdx +24 -0
  22. package/cjs/components/Calendar/locale/types.js +1 -1
  23. package/cjs/components/Center/Center.d.ts +4 -6
  24. package/cjs/components/Center/Center.js +3 -5
  25. package/cjs/components/Center/Center.js.map +1 -1
  26. package/cjs/components/Center/Center.md +1 -1
  27. package/cjs/components/Center/__docs__/Center.mdx +24 -0
  28. package/cjs/components/Checkbox/Checkbox.d.ts +20 -28
  29. package/cjs/components/Checkbox/Checkbox.js +7 -6
  30. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  31. package/cjs/components/Checkbox/Checkbox.md +6 -5
  32. package/cjs/components/Checkbox/__docs__/Checkbox.mdx +28 -0
  33. package/cjs/components/ComboBox/ComboBox.d.ts +67 -86
  34. package/cjs/components/ComboBox/ComboBox.js +12 -28
  35. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  36. package/cjs/components/ComboBox/ComboBox.md +41 -40
  37. package/cjs/components/ComboBox/__docs__/ComboBox.mdx +28 -0
  38. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
  39. package/cjs/components/CurrencyInput/CurrencyHelper.js +7 -0
  40. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  41. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +12 -12
  42. package/cjs/components/CurrencyInput/CurrencyInput.js +8 -2
  43. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  44. package/cjs/components/CurrencyInput/CurrencyInput.md +3 -1
  45. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
  46. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +5 -0
  47. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  48. package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
  49. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
  50. package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -0
  51. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  52. package/cjs/components/CurrencyLabel/CurrencyLabel.md +5 -5
  53. package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
  54. package/cjs/components/DateInput/DateInput.d.ts +21 -29
  55. package/cjs/components/DateInput/DateInput.js +14 -2
  56. package/cjs/components/DateInput/DateInput.js.map +1 -1
  57. package/cjs/components/DateInput/DateInput.md +7 -2
  58. package/cjs/components/DateInput/__docs__/DateInput.mdx +26 -0
  59. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -1
  60. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  61. package/cjs/components/DatePicker/DatePicker.d.ts +33 -23
  62. package/cjs/components/DatePicker/DatePicker.js +53 -4
  63. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  64. package/cjs/components/DatePicker/DatePicker.md +2 -2
  65. package/cjs/components/DatePicker/__docs__/DatePicker.mdx +28 -0
  66. package/cjs/components/DatePicker/locale/types.js +1 -1
  67. package/cjs/components/Dropdown/Dropdown.d.ts +25 -30
  68. package/cjs/components/Dropdown/Dropdown.js +8 -1
  69. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  70. package/cjs/components/Dropdown/Dropdown.md +2 -1
  71. package/cjs/components/Dropdown/__docs__/Dropdown.mdx +28 -0
  72. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  73. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
  74. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  75. package/cjs/components/DropdownMenu/DropdownMenu.md +12 -10
  76. package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
  77. package/cjs/components/FileUploader/FileUploader.d.ts +16 -20
  78. package/cjs/components/FileUploader/FileUploader.js +5 -3
  79. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  80. package/cjs/components/FileUploader/FileUploader.md +9 -9
  81. package/cjs/components/FileUploader/__docs__/FileUploader.mdx +28 -0
  82. package/cjs/components/FileUploader/locale/types.js +1 -1
  83. package/cjs/components/FxInput/FxInput.d.ts +15 -9
  84. package/cjs/components/FxInput/FxInput.js +14 -1
  85. package/cjs/components/FxInput/FxInput.js.map +1 -1
  86. package/cjs/components/FxInput/FxInput.md +2 -0
  87. package/cjs/components/FxInput/__docs__/FxInput.mdx +28 -0
  88. package/cjs/components/Gapped/Gapped.d.ts +6 -17
  89. package/cjs/components/Gapped/Gapped.js +1 -8
  90. package/cjs/components/Gapped/Gapped.js.map +1 -1
  91. package/cjs/components/Gapped/Gapped.md +3 -2
  92. package/cjs/components/Gapped/__docs__/Gapped.mdx +24 -0
  93. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +22 -32
  94. package/cjs/components/GlobalLoader/GlobalLoader.js +14 -14
  95. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  96. package/cjs/components/GlobalLoader/GlobalLoader.md +4 -5
  97. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
  98. package/cjs/components/GlobalLoader/GlobalLoaderView.js +7 -0
  99. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  100. package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
  101. package/cjs/components/Group/Group.d.ts +6 -0
  102. package/cjs/components/Group/Group.js +7 -1
  103. package/cjs/components/Group/Group.js.map +1 -1
  104. package/cjs/components/Group/Group.md +1 -0
  105. package/cjs/components/Group/__docs__/Group.mdx +24 -0
  106. package/cjs/components/Hint/Hint.d.ts +18 -40
  107. package/cjs/components/Hint/Hint.js +4 -16
  108. package/cjs/components/Hint/Hint.js.map +1 -1
  109. package/cjs/components/Hint/Hint.md +9 -8
  110. package/cjs/components/Hint/__docs__/Hint.mdx +29 -0
  111. package/cjs/components/Input/Input.d.ts +46 -68
  112. package/cjs/components/Input/Input.js +10 -9
  113. package/cjs/components/Input/Input.js.map +1 -1
  114. package/cjs/components/Input/Input.md +11 -2
  115. package/cjs/components/Input/Input.typings.js +1 -1
  116. package/cjs/components/Input/__docs__/Input.mdx +28 -0
  117. package/cjs/components/Kebab/Kebab.d.ts +12 -16
  118. package/cjs/components/Kebab/Kebab.js +4 -2
  119. package/cjs/components/Kebab/Kebab.js.map +1 -1
  120. package/cjs/components/Kebab/Kebab.md +9 -9
  121. package/cjs/components/Kebab/__docs__/Kebab.mdx +28 -0
  122. package/cjs/components/Link/Link.d.ts +13 -37
  123. package/cjs/components/Link/Link.js +0 -13
  124. package/cjs/components/Link/Link.js.map +1 -1
  125. package/cjs/components/Link/Link.md +12 -11
  126. package/cjs/components/Link/__docs__/Link.mdx +28 -0
  127. package/cjs/components/Loader/Loader.d.ts +13 -25
  128. package/cjs/components/Loader/Loader.js +2 -8
  129. package/cjs/components/Loader/Loader.js.map +1 -1
  130. package/cjs/components/Loader/Loader.md +1 -0
  131. package/cjs/components/Loader/__docs__/Loader.mdx +26 -0
  132. package/cjs/components/MaskedInput/MaskedInput.d.ts +13 -33
  133. package/cjs/components/MaskedInput/MaskedInput.js +0 -13
  134. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  135. package/cjs/components/MaskedInput/MaskedInput.md +7 -5
  136. package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
  137. package/cjs/components/MenuFooter/MenuFooter.d.ts +6 -4
  138. package/cjs/components/MenuFooter/MenuFooter.js +7 -3
  139. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  140. package/cjs/components/MenuFooter/MenuFooter.md +2 -2
  141. package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
  142. package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -4
  143. package/cjs/components/MenuHeader/MenuHeader.js +7 -3
  144. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  145. package/cjs/components/MenuHeader/MenuHeader.md +2 -2
  146. package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
  147. package/cjs/components/MenuItem/MenuItem.d.ts +22 -55
  148. package/cjs/components/MenuItem/MenuItem.js +1 -18
  149. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  150. package/cjs/components/MenuItem/MenuItem.md +34 -30
  151. package/cjs/components/MenuItem/__docs__/MenuItem.mdx +24 -0
  152. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +2 -2
  153. package/cjs/components/MenuSeparator/MenuSeparator.js +3 -2
  154. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  155. package/cjs/components/MenuSeparator/MenuSeparator.md +1 -1
  156. package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
  157. package/cjs/components/MiniModal/MiniModal.d.ts +6 -0
  158. package/cjs/components/MiniModal/MiniModal.js +6 -0
  159. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  160. package/cjs/components/MiniModal/MiniModal.md +1 -3
  161. package/cjs/components/MiniModal/MiniModalFooter.d.ts +2 -7
  162. package/cjs/components/MiniModal/MiniModalFooter.js +0 -5
  163. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -1
  164. package/cjs/components/MiniModal/MiniModalHeader.d.ts +2 -5
  165. package/cjs/components/MiniModal/MiniModalHeader.js +0 -3
  166. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -1
  167. package/cjs/components/MiniModal/__docs__/MiniModal.mdx +28 -0
  168. package/cjs/components/MiniModal/__docs__/MiniModalBody.mdx +17 -0
  169. package/cjs/components/MiniModal/__docs__/MiniModalFooter.mdx +17 -0
  170. package/cjs/components/MiniModal/__docs__/MiniModalHeader.mdx +18 -0
  171. package/cjs/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
  172. package/cjs/components/MiniModal/getMiniModalTheme.d.ts +1 -1
  173. package/cjs/components/Modal/Modal.d.ts +12 -33
  174. package/cjs/components/Modal/Modal.js +4 -24
  175. package/cjs/components/Modal/Modal.js.map +1 -1
  176. package/cjs/components/Modal/Modal.md +3 -1
  177. package/cjs/components/Modal/Modal.styles.d.ts +4 -1
  178. package/cjs/components/Modal/Modal.styles.js +68 -31
  179. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  180. package/cjs/components/Modal/ModalBody.d.ts +2 -4
  181. package/cjs/components/Modal/ModalBody.js +1 -3
  182. package/cjs/components/Modal/ModalBody.js.map +1 -1
  183. package/cjs/components/Modal/ModalClose.js +7 -2
  184. package/cjs/components/Modal/ModalClose.js.map +1 -1
  185. package/cjs/components/Modal/ModalContext.d.ts +2 -0
  186. package/cjs/components/Modal/ModalContext.js +3 -0
  187. package/cjs/components/Modal/ModalContext.js.map +1 -1
  188. package/cjs/components/Modal/ModalFooter.d.ts +5 -15
  189. package/cjs/components/Modal/ModalFooter.js +0 -7
  190. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  191. package/cjs/components/Modal/ModalHeader.d.ts +3 -1
  192. package/cjs/components/Modal/ModalHeader.js +4 -1
  193. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  194. package/cjs/components/Modal/ModalSeparator.d.ts +1 -0
  195. package/cjs/components/Modal/ModalSeparator.js +1 -0
  196. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  197. package/cjs/components/Modal/__creevey__/Modal.creevey.mts +15 -1
  198. package/cjs/components/Modal/__docs__/Modal.mdx +28 -0
  199. package/cjs/components/Modal/__docs__/ModalBody.mdx +15 -0
  200. package/cjs/components/Modal/__docs__/ModalFooter.mdx +15 -0
  201. package/cjs/components/Modal/__docs__/ModalHeader.mdx +15 -0
  202. package/cjs/components/Modal/__docs__/ModalSeparator.mdx +15 -0
  203. package/cjs/components/Modal/locale/types.js +1 -1
  204. package/cjs/components/Paging/Paging.d.ts +20 -15
  205. package/cjs/components/Paging/Paging.js +17 -1
  206. package/cjs/components/Paging/Paging.js.map +1 -1
  207. package/cjs/components/Paging/Paging.md +3 -2
  208. package/cjs/components/Paging/PagingDefaultComponent.d.ts +2 -0
  209. package/cjs/components/Paging/PagingDefaultComponent.js +3 -0
  210. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
  211. package/cjs/components/Paging/__docs__/Paging.mdx +28 -0
  212. package/cjs/components/Paging/locale/types.js +1 -1
  213. package/cjs/components/PasswordInput/PasswordInput.d.ts +10 -3
  214. package/cjs/components/PasswordInput/PasswordInput.js +35 -9
  215. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  216. package/cjs/components/PasswordInput/PasswordInput.md +3 -2
  217. package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
  218. package/cjs/components/PasswordInput/locale/types.js +1 -1
  219. package/cjs/components/Radio/Radio.d.ts +13 -28
  220. package/cjs/components/Radio/Radio.js +1 -8
  221. package/cjs/components/Radio/Radio.js.map +1 -1
  222. package/cjs/components/Radio/Radio.md +3 -2
  223. package/cjs/components/Radio/__docs__/Radio.mdx +28 -0
  224. package/cjs/components/RadioGroup/RadioGroup.d.ts +28 -54
  225. package/cjs/components/RadioGroup/RadioGroup.js +4 -15
  226. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  227. package/cjs/components/RadioGroup/RadioGroup.md +1 -0
  228. package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
  229. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
  230. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +6 -2
  231. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  232. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
  233. package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
  234. package/cjs/components/ResponsiveLayout/types.js +1 -1
  235. package/cjs/components/ScrollContainer/ScrollBar.d.ts +7 -0
  236. package/cjs/components/ScrollContainer/ScrollBar.js +13 -0
  237. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  238. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +23 -29
  239. package/cjs/components/ScrollContainer/ScrollContainer.js +8 -1
  240. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  241. package/cjs/components/ScrollContainer/ScrollContainer.md +5 -3
  242. package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
  243. package/cjs/components/Select/Item.d.ts +2 -0
  244. package/cjs/components/Select/Item.js +3 -0
  245. package/cjs/components/Select/Item.js.map +1 -1
  246. package/cjs/components/Select/Select.d.ts +54 -38
  247. package/cjs/components/Select/Select.js +57 -1
  248. package/cjs/components/Select/Select.js.map +1 -1
  249. package/cjs/components/Select/Select.md +7 -6
  250. package/cjs/components/Select/__docs__/Select.mdx +28 -0
  251. package/cjs/components/Select/locale/types.js +1 -1
  252. package/cjs/components/SidePage/SidePage.d.ts +17 -38
  253. package/cjs/components/SidePage/SidePage.js +15 -28
  254. package/cjs/components/SidePage/SidePage.js.map +1 -1
  255. package/cjs/components/SidePage/SidePage.md +2 -1
  256. package/cjs/components/SidePage/SidePage.styles.d.ts +8 -1
  257. package/cjs/components/SidePage/SidePage.styles.js +83 -26
  258. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  259. package/cjs/components/SidePage/SidePageCloseButton.d.ts +6 -1
  260. package/cjs/components/SidePage/SidePageCloseButton.js +14 -2
  261. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  262. package/cjs/components/SidePage/SidePageFooter.d.ts +4 -9
  263. package/cjs/components/SidePage/SidePageFooter.js +0 -2
  264. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  265. package/cjs/components/SidePage/SidePageHeader.d.ts +2 -1
  266. package/cjs/components/SidePage/SidePageHeader.js +14 -7
  267. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  268. package/cjs/components/SidePage/__creevey__/SidePage.creevey.mts +103 -1
  269. package/cjs/components/SidePage/__docs__/SidePage.mdx +28 -0
  270. package/cjs/components/SidePage/__docs__/SidePageBody.mdx +15 -0
  271. package/cjs/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
  272. package/cjs/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
  273. package/cjs/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
  274. package/cjs/components/SidePage/locale/types.js +1 -1
  275. package/cjs/components/SingleToast/SingleToast.d.ts +5 -1
  276. package/cjs/components/SingleToast/SingleToast.js +5 -1
  277. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  278. package/cjs/components/SingleToast/SingleToast.md +2 -1
  279. package/cjs/components/SingleToast/__docs__/SingleToast.mdx +28 -0
  280. package/cjs/components/Spinner/Spinner.d.ts +15 -20
  281. package/cjs/components/Spinner/Spinner.js +6 -7
  282. package/cjs/components/Spinner/Spinner.js.map +1 -1
  283. package/cjs/components/Spinner/Spinner.md +2 -1
  284. package/cjs/components/Spinner/__docs__/Spinner.mdx +28 -0
  285. package/cjs/components/Sticky/Sticky.d.ts +9 -4
  286. package/cjs/components/Sticky/Sticky.js +9 -1
  287. package/cjs/components/Sticky/Sticky.js.map +1 -1
  288. package/cjs/components/Sticky/Sticky.md +1 -0
  289. package/cjs/components/Sticky/__docs__/Sticky.mdx +24 -0
  290. package/cjs/components/Switcher/Switcher.d.ts +18 -7
  291. package/cjs/components/Switcher/Switcher.js +14 -3
  292. package/cjs/components/Switcher/Switcher.js.map +1 -1
  293. package/cjs/components/Switcher/Switcher.md +6 -2
  294. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  295. package/cjs/components/Switcher/Switcher.styles.js +20 -1
  296. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  297. package/cjs/components/Switcher/__docs__/Switcher.mdx +28 -0
  298. package/cjs/components/Tabs/Tab.d.ts +12 -31
  299. package/cjs/components/Tabs/Tab.js +1 -20
  300. package/cjs/components/Tabs/Tab.js.map +1 -1
  301. package/cjs/components/Tabs/Tab.md +2 -0
  302. package/cjs/components/Tabs/Tabs.d.ts +14 -25
  303. package/cjs/components/Tabs/Tabs.js +6 -17
  304. package/cjs/components/Tabs/Tabs.js.map +1 -1
  305. package/cjs/components/Tabs/Tabs.md +3 -2
  306. package/cjs/components/Tabs/__docs__/Tab.mdx +28 -0
  307. package/cjs/components/Tabs/__docs__/Tabs.mdx +28 -0
  308. package/cjs/components/Textarea/Textarea.d.ts +26 -52
  309. package/cjs/components/Textarea/Textarea.js +3 -23
  310. package/cjs/components/Textarea/Textarea.js.map +1 -1
  311. package/cjs/components/Textarea/Textarea.md +4 -2
  312. package/cjs/components/Textarea/__docs__/Textarea.mdx +28 -0
  313. package/cjs/components/Toast/Toast.d.ts +12 -9
  314. package/cjs/components/Toast/Toast.js +13 -5
  315. package/cjs/components/Toast/Toast.js.map +1 -1
  316. package/cjs/components/Toast/Toast.md +4 -4
  317. package/cjs/components/Toast/ToastStatic.d.ts +2 -2
  318. package/cjs/components/Toast/ToastStatic.js +15 -5
  319. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  320. package/cjs/components/Toast/ToastView.d.ts +3 -6
  321. package/cjs/components/Toast/ToastView.js +3 -5
  322. package/cjs/components/Toast/ToastView.js.map +1 -1
  323. package/cjs/components/Toast/ToastView.styles.js +4 -4
  324. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  325. package/cjs/components/Toast/__creevey__/Toast.creevey.mts +23 -0
  326. package/cjs/components/Toast/__docs__/Toast.mdx +28 -0
  327. package/cjs/components/Toast/locale/types.js +1 -1
  328. package/cjs/components/Toggle/Toggle.d.ts +25 -48
  329. package/cjs/components/Toggle/Toggle.js +4 -12
  330. package/cjs/components/Toggle/Toggle.js.map +1 -1
  331. package/cjs/components/Toggle/Toggle.md +9 -9
  332. package/cjs/components/Toggle/__docs__/Toggle.mdx +28 -0
  333. package/cjs/components/Token/Token.d.ts +17 -9
  334. package/cjs/components/Token/Token.js +9 -1
  335. package/cjs/components/Token/Token.js.map +1 -1
  336. package/cjs/components/Token/Token.md +86 -3
  337. package/cjs/components/Token/TokenView.d.ts +3 -0
  338. package/cjs/components/Token/TokenView.js +3 -0
  339. package/cjs/components/Token/TokenView.js.map +1 -1
  340. package/cjs/components/Token/__docs__/Token.mdx +28 -0
  341. package/cjs/components/Token/locale/types.js +1 -1
  342. package/cjs/components/TokenInput/TextWidthHelper.d.ts +3 -0
  343. package/cjs/components/TokenInput/TextWidthHelper.js +5 -0
  344. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  345. package/cjs/components/TokenInput/TokenInput.d.ts +54 -97
  346. package/cjs/components/TokenInput/TokenInput.js +7 -18
  347. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  348. package/cjs/components/TokenInput/TokenInput.md +12 -10
  349. package/cjs/components/TokenInput/TokenInputMenu.d.ts +5 -5
  350. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  351. package/cjs/components/TokenInput/__docs__/TokenInput.mdx +28 -0
  352. package/cjs/components/TokenInput/locale/types.js +1 -1
  353. package/cjs/components/Tooltip/Tooltip.d.ts +28 -68
  354. package/cjs/components/Tooltip/Tooltip.js +9 -63
  355. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  356. package/cjs/components/Tooltip/Tooltip.md +5 -0
  357. package/cjs/components/Tooltip/__docs__/Tooltip.mdx +28 -0
  358. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +13 -28
  359. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -16
  360. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  361. package/cjs/components/TooltipMenu/TooltipMenu.md +13 -10
  362. package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
  363. package/cjs/index.d.ts +1 -2
  364. package/cjs/index.js +1 -2
  365. package/cjs/index.js.map +1 -1
  366. package/cjs/internal/CommonWrapper/types.js +1 -1
  367. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -1
  368. package/cjs/internal/CustomComboBox/CustomComboBox.js +12 -2
  369. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  370. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
  371. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +1 -1
  372. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  373. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js +1 -1
  374. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  375. package/cjs/internal/CustomComboBox/locale/types.js +1 -1
  376. package/cjs/internal/DateSelect/locale/types.js +1 -1
  377. package/cjs/internal/FileUploaderControl/fileUtils.js +1 -1
  378. package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -1
  379. package/cjs/internal/InputLikeText/InputLikeText.js +12 -11
  380. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  381. package/cjs/internal/Popup/types.js +1 -1
  382. package/cjs/internal/RenderContainer/RenderContainerTypes.js +1 -1
  383. package/cjs/internal/ThemePlayground/Playground.styles.js +2 -1
  384. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  385. package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +36 -0
  386. package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +4 -0
  387. package/cjs/internal/ThemePlayground/constants.js +1 -1
  388. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  389. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  390. package/cjs/internal/ThemeShowcase/VariablesCollector.js +0 -1
  391. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  392. package/cjs/internal/themes/BasicLightTheme.d.ts +5 -1198
  393. package/cjs/internal/themes/BasicLightTheme.js +2 -2512
  394. package/cjs/internal/themes/BasicLightTheme.js.map +1 -1
  395. package/cjs/internal/themes/BasicTheme.d.ts +1217 -0
  396. package/cjs/internal/themes/BasicTheme.js +2536 -0
  397. package/cjs/internal/themes/BasicTheme.js.map +1 -0
  398. package/cjs/internal/themes/DarkTheme5_0.d.ts +1 -0
  399. package/cjs/internal/themes/DarkTheme5_0.js +556 -0
  400. package/cjs/internal/themes/DarkTheme5_0.js.map +1 -0
  401. package/cjs/internal/themes/DarkTheme5_1.d.ts +1 -0
  402. package/cjs/internal/themes/DarkTheme5_1.js +41 -0
  403. package/cjs/internal/themes/DarkTheme5_1.js.map +1 -0
  404. package/cjs/internal/themes/LightTheme5_0.d.ts +1 -0
  405. package/cjs/internal/themes/LightTheme5_0.js +9 -0
  406. package/cjs/internal/themes/LightTheme5_0.js.map +1 -0
  407. package/cjs/internal/themes/LightTheme5_1.d.ts +1 -0
  408. package/cjs/internal/themes/LightTheme5_1.js +41 -0
  409. package/cjs/internal/themes/LightTheme5_1.js.map +1 -0
  410. package/cjs/lib/ModalStack.d.ts +1 -0
  411. package/cjs/lib/ModalStack.js +6 -4
  412. package/cjs/lib/ModalStack.js.map +1 -1
  413. package/cjs/lib/date/types.js +6 -6
  414. package/cjs/lib/date/types.js.map +1 -1
  415. package/cjs/lib/events/MouseDrag.js +1 -1
  416. package/cjs/lib/events/MouseDrag.js.map +1 -1
  417. package/cjs/lib/events/keyboard/KeyboardEventCodes.js +1 -1
  418. package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  419. package/cjs/lib/locale/types.js +1 -1
  420. package/cjs/lib/locale/types.js.map +1 -1
  421. package/cjs/lib/theming/Theme.d.ts +4 -3
  422. package/cjs/lib/theming/Theme.js +1 -1
  423. package/cjs/lib/theming/Theme.js.map +1 -1
  424. package/cjs/lib/theming/ThemeContext.d.ts +1 -1
  425. package/cjs/lib/theming/ThemeContext.js +2 -2
  426. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  427. package/cjs/lib/theming/ThemeFactory.d.ts +9 -0
  428. package/cjs/lib/theming/ThemeFactory.js +28 -9
  429. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  430. package/cjs/lib/theming/ThemeHelpers.d.ts +55 -8
  431. package/cjs/lib/theming/ThemeHelpers.js +94 -22
  432. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  433. package/cjs/lib/theming/ThemeVersions.d.ts +25 -0
  434. package/cjs/lib/theming/ThemeVersions.js +58 -0
  435. package/cjs/lib/theming/ThemeVersions.js.map +1 -0
  436. package/cjs/lib/theming/themes/DarkTheme.d.ts +3 -1
  437. package/cjs/lib/theming/themes/DarkTheme.js +6 -4
  438. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  439. package/cjs/lib/theming/themes/LightTheme.d.ts +3 -1
  440. package/cjs/lib/theming/themes/LightTheme.js +6 -4
  441. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  442. package/cjs/lib/theming/themes/LightThemeMobile.d.ts +1 -1
  443. package/cjs/lib/theming/useTheme.d.ts +1 -1
  444. package/cjs/lib/types/button-link.js +1 -1
  445. package/cjs/lib/types/polymorphic-component.js +1 -1
  446. package/cjs/lib/types/props.js +1 -1
  447. package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -2
  448. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  449. package/components/Autocomplete/Autocomplete.d.ts +16 -17
  450. package/components/Autocomplete/Autocomplete.md +9 -7
  451. package/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
  452. package/components/Autocomplete/locale/types/types.js +0 -1
  453. package/components/Button/Button/Button.js.map +1 -1
  454. package/components/Button/Button.d.ts +20 -62
  455. package/components/Button/Button.md +40 -26
  456. package/components/Button/__docs__/Button.mdx +28 -0
  457. package/components/Calendar/Calendar/Calendar.js +1 -1
  458. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  459. package/components/Calendar/Calendar.d.ts +22 -45
  460. package/components/Calendar/Calendar.md +12 -12
  461. package/components/Calendar/CalendarDay/CalendarDay.js +2 -0
  462. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  463. package/components/Calendar/CalendarDay.d.ts +7 -0
  464. package/components/Calendar/CalendarDay.md +32 -32
  465. package/components/Calendar/__docs__/Calendar.mdx +28 -0
  466. package/components/Calendar/__docs__/CalendarDay.mdx +24 -0
  467. package/components/Calendar/locale/types/types.js +0 -1
  468. package/components/Center/Center/Center.js +3 -1
  469. package/components/Center/Center/Center.js.map +1 -1
  470. package/components/Center/Center.d.ts +4 -6
  471. package/components/Center/Center.md +1 -1
  472. package/components/Center/__docs__/Center.mdx +24 -0
  473. package/components/Checkbox/Checkbox/Checkbox.js +7 -0
  474. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  475. package/components/Checkbox/Checkbox.d.ts +20 -28
  476. package/components/Checkbox/Checkbox.md +6 -5
  477. package/components/Checkbox/__docs__/Checkbox.mdx +28 -0
  478. package/components/ComboBox/ComboBox/ComboBox.js +13 -2
  479. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  480. package/components/ComboBox/ComboBox.d.ts +67 -86
  481. package/components/ComboBox/ComboBox.md +41 -40
  482. package/components/ComboBox/__docs__/ComboBox.mdx +28 -0
  483. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  484. package/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
  485. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +5 -2
  486. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  487. package/components/CurrencyInput/CurrencyInput.d.ts +12 -12
  488. package/components/CurrencyInput/CurrencyInput.md +3 -1
  489. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  490. package/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
  491. package/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
  492. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +4 -0
  493. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  494. package/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
  495. package/components/CurrencyLabel/CurrencyLabel.md +5 -5
  496. package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
  497. package/components/DateInput/DateInput/DateInput.js +8 -1
  498. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  499. package/components/DateInput/DateInput.d.ts +21 -29
  500. package/components/DateInput/DateInput.md +7 -2
  501. package/components/DateInput/__docs__/DateInput.mdx +26 -0
  502. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +3 -3
  503. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  504. package/components/DatePicker/DatePicker/DatePicker.js +33 -5
  505. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  506. package/components/DatePicker/DatePicker.d.ts +33 -23
  507. package/components/DatePicker/DatePicker.md +2 -2
  508. package/components/DatePicker/__docs__/DatePicker.mdx +28 -0
  509. package/components/DatePicker/locale/types/types.js +0 -1
  510. package/components/Dropdown/Dropdown/Dropdown.js +7 -1
  511. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  512. package/components/Dropdown/Dropdown.d.ts +25 -30
  513. package/components/Dropdown/Dropdown.md +2 -1
  514. package/components/Dropdown/__docs__/Dropdown.mdx +28 -0
  515. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
  516. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  517. package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  518. package/components/DropdownMenu/DropdownMenu.md +12 -10
  519. package/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
  520. package/components/FileUploader/FileUploader/FileUploader.js +6 -0
  521. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  522. package/components/FileUploader/FileUploader.d.ts +16 -20
  523. package/components/FileUploader/FileUploader.md +9 -9
  524. package/components/FileUploader/__docs__/FileUploader.mdx +28 -0
  525. package/components/FileUploader/locale/types/types.js +0 -1
  526. package/components/FxInput/FxInput/FxInput.js +7 -1
  527. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  528. package/components/FxInput/FxInput.d.ts +15 -9
  529. package/components/FxInput/FxInput.md +2 -0
  530. package/components/FxInput/__docs__/FxInput.mdx +28 -0
  531. package/components/Gapped/Gapped/Gapped.js +1 -1
  532. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  533. package/components/Gapped/Gapped.d.ts +6 -17
  534. package/components/Gapped/Gapped.md +3 -2
  535. package/components/Gapped/__docs__/Gapped.mdx +24 -0
  536. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +13 -0
  537. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  538. package/components/GlobalLoader/GlobalLoader.d.ts +22 -32
  539. package/components/GlobalLoader/GlobalLoader.md +4 -5
  540. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  541. package/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
  542. package/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
  543. package/components/Group/Group/Group.js +6 -0
  544. package/components/Group/Group/Group.js.map +1 -1
  545. package/components/Group/Group.d.ts +6 -0
  546. package/components/Group/Group.md +1 -0
  547. package/components/Group/__docs__/Group.mdx +24 -0
  548. package/components/Hint/Hint/Hint.js +4 -1
  549. package/components/Hint/Hint/Hint.js.map +1 -1
  550. package/components/Hint/Hint.d.ts +18 -40
  551. package/components/Hint/Hint.md +9 -8
  552. package/components/Hint/__docs__/Hint.mdx +29 -0
  553. package/components/Input/Input/Input.js +10 -1
  554. package/components/Input/Input/Input.js.map +1 -1
  555. package/components/Input/Input.d.ts +46 -68
  556. package/components/Input/Input.md +11 -2
  557. package/components/Input/Input.typings/Input.typings.js +0 -1
  558. package/components/Input/__docs__/Input.mdx +28 -0
  559. package/components/Kebab/Kebab/Kebab.js +4 -0
  560. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  561. package/components/Kebab/Kebab.d.ts +12 -16
  562. package/components/Kebab/Kebab.md +9 -9
  563. package/components/Kebab/__docs__/Kebab.mdx +28 -0
  564. package/components/Link/Link/Link.js.map +1 -1
  565. package/components/Link/Link.d.ts +13 -37
  566. package/components/Link/Link.md +12 -11
  567. package/components/Link/__docs__/Link.mdx +28 -0
  568. package/components/Loader/Loader/Loader.js +2 -2
  569. package/components/Loader/Loader/Loader.js.map +1 -1
  570. package/components/Loader/Loader.d.ts +13 -25
  571. package/components/Loader/Loader.md +1 -0
  572. package/components/Loader/__docs__/Loader.mdx +26 -0
  573. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  574. package/components/MaskedInput/MaskedInput.d.ts +13 -33
  575. package/components/MaskedInput/MaskedInput.md +7 -5
  576. package/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
  577. package/components/MenuFooter/MenuFooter/MenuFooter.js +3 -3
  578. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  579. package/components/MenuFooter/MenuFooter.d.ts +6 -4
  580. package/components/MenuFooter/MenuFooter.md +2 -2
  581. package/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
  582. package/components/MenuHeader/MenuHeader/MenuHeader.js +3 -3
  583. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  584. package/components/MenuHeader/MenuHeader.d.ts +6 -4
  585. package/components/MenuHeader/MenuHeader.md +2 -2
  586. package/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
  587. package/components/MenuItem/MenuItem/MenuItem.js +1 -2
  588. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  589. package/components/MenuItem/MenuItem.d.ts +22 -55
  590. package/components/MenuItem/MenuItem.md +34 -30
  591. package/components/MenuItem/__docs__/MenuItem.mdx +24 -0
  592. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +3 -2
  593. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  594. package/components/MenuSeparator/MenuSeparator.d.ts +2 -2
  595. package/components/MenuSeparator/MenuSeparator.md +1 -1
  596. package/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
  597. package/components/MiniModal/MiniModal/MiniModal.js +7 -0
  598. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
  599. package/components/MiniModal/MiniModal.d.ts +6 -0
  600. package/components/MiniModal/MiniModal.md +1 -3
  601. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -1
  602. package/components/MiniModal/MiniModalFooter.d.ts +2 -7
  603. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -1
  604. package/components/MiniModal/MiniModalHeader.d.ts +2 -5
  605. package/components/MiniModal/__docs__/MiniModal.mdx +28 -0
  606. package/components/MiniModal/__docs__/MiniModalBody.mdx +17 -0
  607. package/components/MiniModal/__docs__/MiniModalFooter.mdx +17 -0
  608. package/components/MiniModal/__docs__/MiniModalHeader.mdx +18 -0
  609. package/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
  610. package/components/MiniModal/getMiniModalTheme.d.ts +1 -1
  611. package/components/Modal/Modal/Modal.js +4 -9
  612. package/components/Modal/Modal/Modal.js.map +1 -1
  613. package/components/Modal/Modal.d.ts +12 -33
  614. package/components/Modal/Modal.md +3 -1
  615. package/components/Modal/Modal.styles/Modal.styles.js +40 -31
  616. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  617. package/components/Modal/Modal.styles.d.ts +4 -1
  618. package/components/Modal/ModalBody/ModalBody.js +1 -1
  619. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  620. package/components/Modal/ModalBody.d.ts +2 -4
  621. package/components/Modal/ModalClose/ModalClose.js +3 -1
  622. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  623. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  624. package/components/Modal/ModalContext.d.ts +2 -0
  625. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  626. package/components/Modal/ModalFooter.d.ts +5 -15
  627. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  628. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  629. package/components/Modal/ModalHeader.d.ts +3 -1
  630. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  631. package/components/Modal/ModalSeparator.d.ts +1 -0
  632. package/components/Modal/__creevey__/Modal.creevey.mts +15 -1
  633. package/components/Modal/__docs__/Modal.mdx +28 -0
  634. package/components/Modal/__docs__/ModalBody.mdx +15 -0
  635. package/components/Modal/__docs__/ModalFooter.mdx +15 -0
  636. package/components/Modal/__docs__/ModalHeader.mdx +15 -0
  637. package/components/Modal/__docs__/ModalSeparator.mdx +15 -0
  638. package/components/Modal/locale/types/types.js +0 -1
  639. package/components/Paging/Paging/Paging.js +4 -0
  640. package/components/Paging/Paging/Paging.js.map +1 -1
  641. package/components/Paging/Paging.d.ts +20 -15
  642. package/components/Paging/Paging.md +3 -2
  643. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
  644. package/components/Paging/PagingDefaultComponent.d.ts +2 -0
  645. package/components/Paging/__docs__/Paging.mdx +28 -0
  646. package/components/Paging/locale/types/types.js +0 -1
  647. package/components/PasswordInput/PasswordInput/PasswordInput.js +32 -10
  648. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  649. package/components/PasswordInput/PasswordInput.d.ts +10 -3
  650. package/components/PasswordInput/PasswordInput.md +3 -2
  651. package/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
  652. package/components/PasswordInput/locale/types/types.js +0 -1
  653. package/components/Radio/Radio/Radio.js +1 -1
  654. package/components/Radio/Radio/Radio.js.map +1 -1
  655. package/components/Radio/Radio.d.ts +13 -28
  656. package/components/Radio/Radio.md +3 -2
  657. package/components/Radio/__docs__/Radio.mdx +28 -0
  658. package/components/RadioGroup/RadioGroup/RadioGroup.js +4 -5
  659. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  660. package/components/RadioGroup/RadioGroup.d.ts +28 -54
  661. package/components/RadioGroup/RadioGroup.md +1 -0
  662. package/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
  663. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +1 -2
  664. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  665. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
  666. package/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
  667. package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
  668. package/components/ResponsiveLayout/types/types.js +0 -1
  669. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  670. package/components/ScrollContainer/ScrollBar.d.ts +7 -0
  671. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +4 -0
  672. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  673. package/components/ScrollContainer/ScrollContainer.d.ts +23 -29
  674. package/components/ScrollContainer/ScrollContainer.md +5 -3
  675. package/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
  676. package/components/Select/Item/Item.js.map +1 -1
  677. package/components/Select/Item.d.ts +2 -0
  678. package/components/Select/Select/Select.js +11 -0
  679. package/components/Select/Select/Select.js.map +1 -1
  680. package/components/Select/Select.d.ts +54 -38
  681. package/components/Select/Select.md +7 -6
  682. package/components/Select/__docs__/Select.mdx +28 -0
  683. package/components/Select/locale/types/types.js +0 -1
  684. package/components/SidePage/SidePage/SidePage.js +28 -16
  685. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  686. package/components/SidePage/SidePage.d.ts +17 -38
  687. package/components/SidePage/SidePage.md +2 -1
  688. package/components/SidePage/SidePage.styles/SidePage.styles.js +48 -26
  689. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  690. package/components/SidePage/SidePage.styles.d.ts +8 -1
  691. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +6 -2
  692. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  693. package/components/SidePage/SidePageCloseButton.d.ts +6 -1
  694. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  695. package/components/SidePage/SidePageFooter.d.ts +4 -9
  696. package/components/SidePage/SidePageHeader/SidePageHeader.js +13 -5
  697. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  698. package/components/SidePage/SidePageHeader.d.ts +2 -1
  699. package/components/SidePage/__creevey__/SidePage.creevey.mts +103 -1
  700. package/components/SidePage/__docs__/SidePage.mdx +28 -0
  701. package/components/SidePage/__docs__/SidePageBody.mdx +15 -0
  702. package/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
  703. package/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
  704. package/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
  705. package/components/SidePage/locale/types/types.js +0 -1
  706. package/components/SingleToast/SingleToast/SingleToast.js +5 -1
  707. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  708. package/components/SingleToast/SingleToast.d.ts +5 -1
  709. package/components/SingleToast/SingleToast.md +2 -1
  710. package/components/SingleToast/__docs__/SingleToast.mdx +28 -0
  711. package/components/Spinner/Spinner/Spinner.js +6 -2
  712. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  713. package/components/Spinner/Spinner.d.ts +15 -20
  714. package/components/Spinner/Spinner.md +2 -1
  715. package/components/Spinner/__docs__/Spinner.mdx +28 -0
  716. package/components/Sticky/Sticky/Sticky.js +5 -0
  717. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  718. package/components/Sticky/Sticky.d.ts +9 -4
  719. package/components/Sticky/Sticky.md +1 -0
  720. package/components/Sticky/__docs__/Sticky.mdx +24 -0
  721. package/components/Switcher/Switcher/Switcher.js +16 -6
  722. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  723. package/components/Switcher/Switcher.d.ts +18 -7
  724. package/components/Switcher/Switcher.md +6 -2
  725. package/components/Switcher/Switcher.styles/Switcher.styles.js +4 -1
  726. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  727. package/components/Switcher/Switcher.styles.d.ts +1 -0
  728. package/components/Switcher/__docs__/Switcher.mdx +28 -0
  729. package/components/Tabs/Tab/Tab.js +1 -1
  730. package/components/Tabs/Tab/Tab.js.map +1 -1
  731. package/components/Tabs/Tab.d.ts +12 -31
  732. package/components/Tabs/Tab.md +2 -0
  733. package/components/Tabs/Tabs/Tabs.js +6 -1
  734. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  735. package/components/Tabs/Tabs.d.ts +14 -25
  736. package/components/Tabs/Tabs.md +3 -2
  737. package/components/Tabs/__docs__/Tab.mdx +28 -0
  738. package/components/Tabs/__docs__/Tabs.mdx +28 -0
  739. package/components/Textarea/Textarea/Textarea.js +3 -4
  740. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  741. package/components/Textarea/Textarea.d.ts +26 -52
  742. package/components/Textarea/Textarea.md +4 -2
  743. package/components/Textarea/__docs__/Textarea.mdx +28 -0
  744. package/components/Toast/Toast/Toast.js +17 -12
  745. package/components/Toast/Toast/Toast.js.map +1 -1
  746. package/components/Toast/Toast.d.ts +12 -9
  747. package/components/Toast/Toast.md +4 -4
  748. package/components/Toast/ToastStatic/ToastStatic.js +5 -5
  749. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  750. package/components/Toast/ToastStatic.d.ts +2 -2
  751. package/components/Toast/ToastView/ToastView.js +2 -1
  752. package/components/Toast/ToastView/ToastView.js.map +1 -1
  753. package/components/Toast/ToastView.d.ts +3 -6
  754. package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
  755. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  756. package/components/Toast/__creevey__/Toast.creevey.mts +23 -0
  757. package/components/Toast/__docs__/Toast.mdx +28 -0
  758. package/components/Toast/locale/types/types.js +0 -1
  759. package/components/Toggle/Toggle/Toggle.js +4 -1
  760. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  761. package/components/Toggle/Toggle.d.ts +25 -48
  762. package/components/Toggle/Toggle.md +9 -9
  763. package/components/Toggle/__docs__/Toggle.mdx +28 -0
  764. package/components/Token/Token/Token.js +6 -0
  765. package/components/Token/Token/Token.js.map +1 -1
  766. package/components/Token/Token.d.ts +17 -9
  767. package/components/Token/Token.md +86 -3
  768. package/components/Token/TokenView/TokenView.js.map +1 -1
  769. package/components/Token/TokenView.d.ts +3 -0
  770. package/components/Token/__docs__/Token.mdx +28 -0
  771. package/components/Token/locale/types/types.js +0 -1
  772. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  773. package/components/TokenInput/TextWidthHelper.d.ts +3 -0
  774. package/components/TokenInput/TokenInput/TokenInput.js +9 -3
  775. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  776. package/components/TokenInput/TokenInput.d.ts +54 -97
  777. package/components/TokenInput/TokenInput.md +12 -10
  778. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  779. package/components/TokenInput/TokenInputMenu.d.ts +5 -5
  780. package/components/TokenInput/__docs__/TokenInput.mdx +28 -0
  781. package/components/TokenInput/locale/types/types.js +0 -1
  782. package/components/Tooltip/Tooltip/Tooltip.js +9 -0
  783. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  784. package/components/Tooltip/Tooltip.d.ts +28 -68
  785. package/components/Tooltip/Tooltip.md +5 -0
  786. package/components/Tooltip/__docs__/Tooltip.mdx +28 -0
  787. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
  788. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  789. package/components/TooltipMenu/TooltipMenu.d.ts +13 -28
  790. package/components/TooltipMenu/TooltipMenu.md +13 -10
  791. package/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
  792. package/index.d.ts +1 -2
  793. package/index.js +1 -2
  794. package/index.js.map +1 -1
  795. package/internal/CommonWrapper/index/index.js +1 -2
  796. package/internal/CommonWrapper/index/index.js.map +1 -1
  797. package/internal/CommonWrapper/types/types.js +0 -1
  798. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +10 -2
  799. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  800. package/internal/CustomComboBox/CustomComboBox.d.ts +4 -1
  801. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +1 -1
  802. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  803. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
  804. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js +3 -3
  805. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
  806. package/internal/CustomComboBox/locale/types/types.js +0 -1
  807. package/internal/DateSelect/locale/types/types.js +0 -1
  808. package/internal/FileUploaderControl/fileUtils/fileUtils.js +3 -3
  809. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -1
  810. package/internal/InputLikeText/InputLikeText/InputLikeText.js +12 -6
  811. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  812. package/internal/Popup/types/types.js +0 -1
  813. package/internal/RenderContainer/RenderContainerTypes/RenderContainerTypes.js +0 -1
  814. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +1 -1
  815. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  816. package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.d.mts +1 -0
  817. package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +36 -0
  818. package/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +4 -0
  819. package/internal/ThemePlayground/constants/constants.js +3 -3
  820. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  821. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  822. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  823. package/internal/ZIndex/index/index.js +1 -2
  824. package/internal/ZIndex/index/index.js.map +1 -1
  825. package/internal/themes/BasicLightTheme/BasicLightTheme.js +5 -3338
  826. package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +1 -1
  827. package/internal/themes/BasicLightTheme.d.ts +5 -1198
  828. package/internal/themes/BasicTheme/BasicTheme.js +3360 -0
  829. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -0
  830. package/internal/themes/BasicTheme/package.json +6 -0
  831. package/internal/themes/BasicTheme.d.ts +1217 -0
  832. package/internal/themes/DarkTheme5_0/DarkTheme5_0.js +409 -0
  833. package/internal/themes/DarkTheme5_0/DarkTheme5_0.js.map +1 -0
  834. package/internal/themes/DarkTheme5_0/package.json +6 -0
  835. package/internal/themes/DarkTheme5_0.d.ts +1 -0
  836. package/internal/themes/DarkTheme5_1/DarkTheme5_1.js +52 -0
  837. package/internal/themes/DarkTheme5_1/DarkTheme5_1.js.map +1 -0
  838. package/internal/themes/DarkTheme5_1/package.json +6 -0
  839. package/internal/themes/DarkTheme5_1.d.ts +1 -0
  840. package/internal/themes/LightTheme5_0/LightTheme5_0.js +14 -0
  841. package/internal/themes/LightTheme5_0/LightTheme5_0.js.map +1 -0
  842. package/internal/themes/LightTheme5_0/package.json +6 -0
  843. package/internal/themes/LightTheme5_0.d.ts +1 -0
  844. package/internal/themes/LightTheme5_1/LightTheme5_1.js +52 -0
  845. package/internal/themes/LightTheme5_1/LightTheme5_1.js.map +1 -0
  846. package/internal/themes/LightTheme5_1/package.json +6 -0
  847. package/internal/themes/LightTheme5_1.d.ts +1 -0
  848. package/lib/ModalStack/ModalStack.js +8 -8
  849. package/lib/ModalStack/ModalStack.js.map +1 -1
  850. package/lib/ModalStack.d.ts +1 -0
  851. package/lib/date/types/types.js +18 -18
  852. package/lib/date/types/types.js.map +1 -1
  853. package/lib/events/MouseDrag/MouseDrag.js +3 -3
  854. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  855. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js +3 -3
  856. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
  857. package/lib/locale/types/types.js +3 -3
  858. package/lib/locale/types/types.js.map +1 -1
  859. package/lib/theming/Theme/Theme.js +2 -1
  860. package/lib/theming/Theme/Theme.js.map +1 -1
  861. package/lib/theming/Theme.d.ts +4 -3
  862. package/lib/theming/ThemeContext/ThemeContext.js +2 -2
  863. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  864. package/lib/theming/ThemeContext.d.ts +1 -1
  865. package/lib/theming/ThemeFactory/ThemeFactory.js +21 -7
  866. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  867. package/lib/theming/ThemeFactory.d.ts +9 -0
  868. package/lib/theming/ThemeHelpers/ThemeHelpers.js +85 -18
  869. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  870. package/lib/theming/ThemeHelpers.d.ts +55 -8
  871. package/lib/theming/ThemeVersions/ThemeVersions.js +50 -0
  872. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -0
  873. package/lib/theming/ThemeVersions/package.json +6 -0
  874. package/lib/theming/ThemeVersions.d.ts +25 -0
  875. package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -4
  876. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  877. package/lib/theming/themes/DarkTheme.d.ts +3 -1
  878. package/lib/theming/themes/LightTheme/LightTheme.js +5 -4
  879. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  880. package/lib/theming/themes/LightTheme.d.ts +3 -1
  881. package/lib/theming/themes/LightThemeMobile.d.ts +1 -1
  882. package/lib/theming/useTheme.d.ts +1 -1
  883. package/lib/types/button-link/button-link.js +0 -1
  884. package/lib/types/polymorphic-component/polymorphic-component.js +0 -1
  885. package/lib/types/props/props.js +0 -1
  886. package/package.json +9 -5
  887. package/cjs/internal/themes/BasicDarkTheme.d.ts +0 -289
  888. package/cjs/internal/themes/BasicDarkTheme.js +0 -597
  889. package/cjs/internal/themes/BasicDarkTheme.js.map +0 -1
  890. package/cjs/lib/theming/themes/DarkTheme2022_0.d.ts +0 -1
  891. package/cjs/lib/theming/themes/DarkTheme2022_0.js +0 -5
  892. package/cjs/lib/theming/themes/DarkTheme2022_0.js.map +0 -1
  893. package/cjs/lib/theming/themes/LightTheme2022_0.d.ts +0 -1
  894. package/cjs/lib/theming/themes/LightTheme2022_0.js +0 -5
  895. package/cjs/lib/theming/themes/LightTheme2022_0.js.map +0 -1
  896. package/internal/themes/BasicDarkTheme/BasicDarkTheme.js +0 -641
  897. package/internal/themes/BasicDarkTheme/BasicDarkTheme.js.map +0 -1
  898. package/internal/themes/BasicDarkTheme/package.json +0 -6
  899. package/internal/themes/BasicDarkTheme.d.ts +0 -289
  900. package/lib/theming/themes/DarkTheme2022_0/DarkTheme2022_0.js +0 -3
  901. package/lib/theming/themes/DarkTheme2022_0/DarkTheme2022_0.js.map +0 -1
  902. package/lib/theming/themes/DarkTheme2022_0/package.json +0 -6
  903. package/lib/theming/themes/DarkTheme2022_0.d.ts +0 -1
  904. package/lib/theming/themes/LightTheme2022_0/LightTheme2022_0.js +0 -3
  905. package/lib/theming/themes/LightTheme2022_0/LightTheme2022_0.js.map +0 -1
  906. package/lib/theming/themes/LightTheme2022_0/package.json +0 -6
  907. package/lib/theming/themes/LightTheme2022_0.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_globalObject","_identifiers","_needsPolyfillPlaceholder","LayoutEvents","_interopRequireWildcard","_ThemeContext","_RenderLayer","_ResizeDetector","_client","_CommonWrapper","_currentEnvironment","_Emotion","_rootNode","_createPropsGetter","_TextareaHelpers","_Textarea2","_TextareaCounter","_TextareaWithSafari17Workaround","_excluded","_class","_Textarea","DEFAULT_WIDTH","AUTORESIZE_THROTTLE_DEFAULT_WAIT","TextareaDataTids","exports","root","counter","helpIcon","Textarea","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","needsPolyfillPlaceholder","isCounterVisible","reflowCounter","reflow","selectAllId","textareaObserver","globalObject","MutationObserver","setSelectionRange","start","end","_globalObject$documen","node","Error","document","activeElement","focus","selectAll","value","delaySelectAll","_globalObject$request","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","renderMain","props","_cx","_ref","_textareaProps$maxLen","_cx2","_props$width","width","error","warning","size","autoResize","resize","onCut","onPaste","maxRows","onFocus","selectAllOnFocus","placeholder","onValueChange","showLengthCounter","lengthCounter","counterHelp","extraRow","disableAnimations","disabled","textareaProps","_objectWithoutPropertiesLoose2","default","rootProps","style","textareaClassNames","cx","getTextareaSizeClassName","styles","textarea","theme","hovering","isAnimationsDisabled","textareaStyle","placeholderPolyfill","defaultValue","createElement","className","fakeTextarea","fakeProps","fake","readOnly","_extends2","ref","refFake","TextareaCounter","help","maxLength","onCloseHelp","handleCloseCounterHelp","refCounter","Component","isSafariWithTextareaBug","TextareaWithSafari17Workaround","RenderLayer","onFocusOutside","onClickOutside","active","getRootSizeClassName","ResizeDetector","onResize","undefined","onChange","handleChange","handleCut","handlePaste","handleFocus","onKeyDown","handleKeyDown","children","setState","e","toString","isBlockEnter","isKeyEnter","preventDefault","fieldIsEmpty","target","element","fakeNode","autoResizeHandler","_this$getProps","rows","_ref2","getTextAreaHeight","minRows","parseInt","height","exceededMaxHeight","overflowY","throttle","getAutoResizeThrottleWait","event","isIE11","_inheritsLoose2","_proto","prototype","rootLarge","rootMedium","rootSmall","textareaLarge","textareaMedium","textareaSmall","_temp","_ref3","componentDidMount","layoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","cancel","_this$getProps2","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","blur","React","__KONTUR_REACT_UI__","displayName","propTypes","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","isTestEnv"],"sources":["Textarea.tsx"],"sourcesContent":["import 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, isSafariWithTextareaBug } 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';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport { TextareaCounter, TextareaCounterRef } from './TextareaCounter';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround';\n\nconst DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /**\n * Состояние валидации при ошибке.\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 public static displayName = 'Textarea';\n\n public static propTypes = {\n error: PropTypes.bool,\n warning: PropTypes.bool,\n disabled: PropTypes.bool,\n\n autoResize: PropTypes.bool,\n extraRow: PropTypes.bool,\n disableAnimations: PropTypes.bool,\n maxRows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n resize: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n id: PropTypes.string,\n name: PropTypes.string,\n title: PropTypes.string,\n spellCheck: PropTypes.bool,\n role: PropTypes.string,\n maxLength: PropTypes.number,\n tabIndex: PropTypes.number,\n rows: PropTypes.number,\n placeholder: PropTypes.string,\n\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n onValueChange: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseOut: PropTypes.func,\n\n onMouseUp: PropTypes.func,\n onMouseDown: PropTypes.func,\n onClick: PropTypes.func,\n onDoubleClick: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n onKeyPress: PropTypes.func,\n onKeyUp: PropTypes.func,\n onInput: PropTypes.func,\n\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n\n onScroll: PropTypes.func,\n onWheel: PropTypes.func,\n\n onCut: PropTypes.func,\n onPaste: PropTypes.func,\n onCopy: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getTextareaSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.textareaLarge(this.theme);\n case 'medium':\n return styles.textareaMedium(this.theme);\n case 'small':\n default:\n return styles.textareaSmall(this.theme);\n }\n }\n\n public state = {\n needsPolyfillPlaceholder,\n isCounterVisible: false,\n };\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver = globalObject.MutationObserver\n ? new globalObject.MutationObserver(this.reflowCounter)\n : null;\n private setRootNode!: TSetRootNode;\n private getAutoResizeThrottleWait(props: TextareaProps = this.props): number {\n // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты\n // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120\n return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;\n }\n private isAnimationsDisabled({ disableAnimations, extraRow }: TextareaProps = this.props): boolean {\n return disableAnimations || !extraRow;\n }\n\n public componentDidMount() {\n if (this.props.autoResize) {\n this.autoResize();\n this.layoutEvents = LayoutEvents.addListener(this.autoResize);\n }\n\n if (this.node && this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.observe(this.node, { attributes: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n if (this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.disconnect();\n }\n this.cancelDelayedSelectAll();\n }\n\n public componentDidUpdate(prevProps: TextareaProps) {\n if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {\n this.autoResize.cancel();\n this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n }\n const { rows, maxRows } = this.getProps();\n if (\n this.props.autoResize &&\n (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)\n ) {\n this.autoResize();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange = (start: number, end: number) => {\n if (!this.node) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /**\n * @public\n */\n public selectAll = () => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n size,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = cx(this.getTextareaSizeClassName(), {\n [styles.textarea(this.theme)]: true,\n [styles.hovering(this.theme)]: !error && !warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.error(this.theme)]: !!error,\n [styles.warning(this.theme)]: !!warning,\n [styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: cx(textareaClassNames, styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n size={this.getProps().size}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n const Component = isSafariWithTextareaBug ? TextareaWithSafari17Workaround : 'textarea';\n\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={this.state.isCounterVisible}\n >\n <label\n data-tid={TextareaDataTids.root}\n {...rootProps}\n className={cx(this.getRootSizeClassName(), {\n [styles.root()]: true,\n })}\n >\n {placeholderPolyfill}\n <ResizeDetector onResize={this.reflowCounter}>\n <Component\n {...textareaProps}\n className={textareaClassNames}\n style={textareaStyle}\n placeholder={!placeholderPolyfill ? placeholder : undefined}\n ref={this.ref}\n onChange={this.handleChange}\n onCut={this.handleCut}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n disabled={disabled}\n >\n {this.props.children}\n </Component>\n </ResizeDetector>\n {fakeTextarea}\n {counter}\n </label>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // Edge bug: textarea maxlength doesn't work after new line\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/18833616/\n const value = this.props.value !== undefined ? this.props.value.toString() : null;\n const isBlockEnter = isKeyEnter(e) && value !== null && value.length === this.props.maxLength;\n\n if (isBlockEnter) {\n e.preventDefault();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = e.target.value === '';\n\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(e.target.value);\n }\n\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n\n this.reflowCounter();\n };\n\n private ref = (element: HTMLTextAreaElement) => {\n this.node = element;\n };\n\n private refFake = (element: HTMLTextAreaElement) => {\n this.fakeNode = element;\n };\n\n private refCounter = (ref: TextareaCounterRef | null) => {\n this.counter = ref;\n };\n\n private autoResizeHandler = () => {\n const fakeNode = this.fakeNode;\n if (!fakeNode) {\n return;\n }\n const node = this.node;\n if (!node) {\n return;\n }\n if (this.props.value === undefined) {\n fakeNode.value = node.value;\n }\n\n const { rows, maxRows } = this.getProps();\n if (rows === undefined || maxRows === undefined) {\n return;\n }\n\n const { height, exceededMaxHeight } =\n getTextAreaHeight({\n node: fakeNode,\n minRows: typeof rows === 'number' ? rows : parseInt(rows, 10),\n maxRows: typeof maxRows === 'number' ? maxRows : parseInt(maxRows, 10),\n extraRow: this.getProps().extraRow,\n }) || {};\n\n if (height === undefined || exceededMaxHeight === undefined) {\n return;\n }\n\n node.style.height = height + 'px';\n node.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n fakeNode.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n };\n\n private autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n\n private handleCut = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onCut) {\n this.props.onCut(event);\n }\n\n this.reflowCounter();\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n this.reflowCounter();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({ isCounterVisible: true });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.node && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_globalObject","_identifiers","_needsPolyfillPlaceholder","LayoutEvents","_interopRequireWildcard","_ThemeContext","_RenderLayer","_ResizeDetector","_client","_CommonWrapper","_currentEnvironment","_Emotion","_rootNode","_createPropsGetter","_TextareaHelpers","_Textarea2","_TextareaCounter","_TextareaWithSafari17Workaround","_excluded","_class","_Textarea","DEFAULT_WIDTH","AUTORESIZE_THROTTLE_DEFAULT_WAIT","TextareaDataTids","exports","root","counter","helpIcon","Textarea","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","needsPolyfillPlaceholder","isCounterVisible","reflowCounter","reflow","selectAllId","textareaObserver","globalObject","MutationObserver","setSelectionRange","start","end","_globalObject$documen","node","Error","document","activeElement","focus","selectAll","value","delaySelectAll","_globalObject$request","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","renderMain","props","_cx","_ref","_textareaProps$maxLen","_cx2","_props$width","width","error","warning","size","autoResize","resize","onCut","onPaste","maxRows","onFocus","selectAllOnFocus","placeholder","onValueChange","showLengthCounter","lengthCounter","counterHelp","extraRow","disableAnimations","disabled","textareaProps","_objectWithoutPropertiesLoose2","default","rootProps","style","textareaClassNames","cx","getTextareaSizeClassName","styles","textarea","theme","hovering","isAnimationsDisabled","textareaStyle","placeholderPolyfill","defaultValue","createElement","className","fakeTextarea","fakeProps","fake","readOnly","_extends2","ref","refFake","TextareaCounter","help","maxLength","onCloseHelp","handleCloseCounterHelp","refCounter","Component","isSafariWithTextareaBug","TextareaWithSafari17Workaround","RenderLayer","onFocusOutside","onClickOutside","active","getRootSizeClassName","ResizeDetector","onResize","undefined","onChange","handleChange","handleCut","handlePaste","handleFocus","onKeyDown","handleKeyDown","children","setState","e","toString","isBlockEnter","isKeyEnter","preventDefault","fieldIsEmpty","target","element","fakeNode","autoResizeHandler","_this$getProps","rows","_ref2","getTextAreaHeight","minRows","parseInt","height","exceededMaxHeight","overflowY","throttle","getAutoResizeThrottleWait","event","isIE11","_inheritsLoose2","_proto","prototype","rootLarge","rootMedium","rootSmall","textareaLarge","textareaMedium","textareaSmall","_temp","_ref3","componentDidMount","layoutEvents","addListener","observe","attributes","componentWillUnmount","remove","disconnect","componentDidUpdate","prevProps","cancel","_this$getProps2","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","blur","React","__KONTUR_REACT_UI__","displayName","propTypes","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","isTestEnv"],"sources":["Textarea.tsx"],"sourcesContent":["import 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, isSafariWithTextareaBug } 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';\n\nimport { getTextAreaHeight } from './TextareaHelpers';\nimport { styles } from './Textarea.styles';\nimport { TextareaCounter, TextareaCounterRef } from './TextareaCounter';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround';\n\nconst DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает размер компонента. */\n size?: SizeProp;\n\n /** Выполняет автоматический ресайз в зависимости от содержимого. */\n autoResize?: boolean;\n\n /** Задает высоту текстарии в виде числа строк видимых без скролла. */\n rows?: number;\n\n /** Задает максимальное число строк при автоматическом ресайзе. */\n maxRows?: string | number;\n\n /** Задает направления ресайза компонента.\n * Попадает в `style`. */\n resize?: React.CSSProperties['resize'];\n\n /** Задает ширину текстэрии. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая вызывается при изменении `value`. */\n onValueChange?: (value: string) => void;\n\n /** Определяет, нужно ли выделять введенное значение при фокусе. Работает с типами text, password, tel, search, url. */\n selectAllOnFocus?: boolean;\n\n /** Определяет, нужно ли показывать счетчик символов. */\n showLengthCounter?: boolean;\n\n /** Задает допустимое количество символов в поле. Отображается в счетчике.\n * @default maxLength */\n lengthCounter?: number;\n\n /** Задает подсказку к счетчику символов.\n * По умолчанию - тултип с содержимым из пропа, если передан `ReactNode`.\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой.\n * @example\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ``` */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавляет дополнительную свободную строку при авто-ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04 */\n extraRow?: boolean;\n\n /** Отключает анимацию при авто-ресайзе. Автоматически отключается когда в `extraRow` передан `false`. */\n disableAnimations?: boolean;\n }\n > {}\n\nexport interface TextareaState {\n needsPolyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\nexport const TextareaDataTids = {\n root: 'Textarea__root',\n counter: 'TextareaCounter__root',\n helpIcon: 'TextareaCounter__helpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations' | 'size'>>;\n\n/**\n * Многострочное поле `Textarea` — это поле ввода, которое позволяет работать с несколькими строками текста.\n *\n * Принимает все атрибуты `React.TextareaHTMLAttributes<HTMLTextAreaElement>`.\n * Пропы **`className` и `style` игнорируются**.\n */\n@rootNode\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n public static displayName = 'Textarea';\n\n public static propTypes = {\n error: PropTypes.bool,\n warning: PropTypes.bool,\n disabled: PropTypes.bool,\n\n autoResize: PropTypes.bool,\n extraRow: PropTypes.bool,\n disableAnimations: PropTypes.bool,\n maxRows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n resize: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n id: PropTypes.string,\n name: PropTypes.string,\n title: PropTypes.string,\n spellCheck: PropTypes.bool,\n role: PropTypes.string,\n maxLength: PropTypes.number,\n tabIndex: PropTypes.number,\n rows: PropTypes.number,\n placeholder: PropTypes.string,\n\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n onValueChange: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseOut: PropTypes.func,\n\n onMouseUp: PropTypes.func,\n onMouseDown: PropTypes.func,\n onClick: PropTypes.func,\n onDoubleClick: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n onKeyPress: PropTypes.func,\n onKeyUp: PropTypes.func,\n onInput: PropTypes.func,\n\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n\n onScroll: PropTypes.func,\n onWheel: PropTypes.func,\n\n onCut: PropTypes.func,\n onPaste: PropTypes.func,\n onCopy: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getTextareaSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.textareaLarge(this.theme);\n case 'medium':\n return styles.textareaMedium(this.theme);\n case 'small':\n default:\n return styles.textareaSmall(this.theme);\n }\n }\n\n public state = {\n needsPolyfillPlaceholder,\n isCounterVisible: false,\n };\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver = globalObject.MutationObserver\n ? new globalObject.MutationObserver(this.reflowCounter)\n : null;\n private setRootNode!: TSetRootNode;\n private getAutoResizeThrottleWait(props: TextareaProps = this.props): number {\n // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты\n // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120\n return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;\n }\n private isAnimationsDisabled({ disableAnimations, extraRow }: TextareaProps = this.props): boolean {\n return disableAnimations || !extraRow;\n }\n\n public componentDidMount() {\n if (this.props.autoResize) {\n this.autoResize();\n this.layoutEvents = LayoutEvents.addListener(this.autoResize);\n }\n\n if (this.node && this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.observe(this.node, { attributes: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n if (this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.disconnect();\n }\n this.cancelDelayedSelectAll();\n }\n\n public componentDidUpdate(prevProps: TextareaProps) {\n if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {\n this.autoResize.cancel();\n this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n }\n const { rows, maxRows } = this.getProps();\n if (\n this.props.autoResize &&\n (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)\n ) {\n this.autoResize();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange = (start: number, end: number) => {\n if (!this.node) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /**\n * @public\n */\n public selectAll = () => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n size,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = cx(this.getTextareaSizeClassName(), {\n [styles.textarea(this.theme)]: true,\n [styles.hovering(this.theme)]: !error && !warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.error(this.theme)]: !!error,\n [styles.warning(this.theme)]: !!warning,\n [styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: cx(textareaClassNames, styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n size={this.getProps().size}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n const Component = isSafariWithTextareaBug ? TextareaWithSafari17Workaround : 'textarea';\n\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={this.state.isCounterVisible}\n >\n <label\n data-tid={TextareaDataTids.root}\n {...rootProps}\n className={cx(this.getRootSizeClassName(), {\n [styles.root()]: true,\n })}\n >\n {placeholderPolyfill}\n <ResizeDetector onResize={this.reflowCounter}>\n <Component\n {...textareaProps}\n className={textareaClassNames}\n style={textareaStyle}\n placeholder={!placeholderPolyfill ? placeholder : undefined}\n ref={this.ref}\n onChange={this.handleChange}\n onCut={this.handleCut}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n disabled={disabled}\n >\n {this.props.children}\n </Component>\n </ResizeDetector>\n {fakeTextarea}\n {counter}\n </label>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // Edge bug: textarea maxlength doesn't work after new line\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/18833616/\n const value = this.props.value !== undefined ? this.props.value.toString() : null;\n const isBlockEnter = isKeyEnter(e) && value !== null && value.length === this.props.maxLength;\n\n if (isBlockEnter) {\n e.preventDefault();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = e.target.value === '';\n\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(e.target.value);\n }\n\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n\n this.reflowCounter();\n };\n\n private ref = (element: HTMLTextAreaElement) => {\n this.node = element;\n };\n\n private refFake = (element: HTMLTextAreaElement) => {\n this.fakeNode = element;\n };\n\n private refCounter = (ref: TextareaCounterRef | null) => {\n this.counter = ref;\n };\n\n private autoResizeHandler = () => {\n const fakeNode = this.fakeNode;\n if (!fakeNode) {\n return;\n }\n const node = this.node;\n if (!node) {\n return;\n }\n if (this.props.value === undefined) {\n fakeNode.value = node.value;\n }\n\n const { rows, maxRows } = this.getProps();\n if (rows === undefined || maxRows === undefined) {\n return;\n }\n\n const { height, exceededMaxHeight } =\n getTextAreaHeight({\n node: fakeNode,\n minRows: typeof rows === 'number' ? rows : parseInt(rows, 10),\n maxRows: typeof maxRows === 'number' ? maxRows : parseInt(maxRows, 10),\n extraRow: this.getProps().extraRow,\n }) || {};\n\n if (height === undefined || exceededMaxHeight === undefined) {\n return;\n }\n\n node.style.height = height + 'px';\n node.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n fakeNode.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n };\n\n private autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n\n private handleCut = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onCut) {\n this.props.onCut(event);\n }\n\n this.reflowCounter();\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n this.reflowCounter();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({ isCounterVisible: true });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.node && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ ### Базовый пример
1
2
  ```jsx harmony
2
3
  const [value, setValue] = React.useState('');
3
4
 
@@ -9,6 +10,7 @@ const [value, setValue] = React.useState('');
9
10
  />;
10
11
  ```
11
12
 
13
+ ### Очистка значения
12
14
  Очистить значение в `Textarea` можно только с помощью пустой строки
13
15
 
14
16
  ```jsx harmony
@@ -28,7 +30,7 @@ const [value, setValue] = React.useState('Значение');
28
30
  </Group>
29
31
  ```
30
32
 
31
- Счетчик введенных символов
33
+ ### Счетчик введенных символов
32
34
 
33
35
  ```jsx harmony
34
36
  const [value, setValue] = React.useState('');
@@ -43,7 +45,7 @@ const [value, setValue] = React.useState('');
43
45
  />;
44
46
  ```
45
47
 
46
- У Textarea есть 3 стандартных размера.
48
+ ### Размер
47
49
 
48
50
  ```jsx harmony
49
51
  import { Gapped } from '@skbkontur/react-ui';
@@ -0,0 +1,28 @@
1
+ import * as TextareaStories from './Textarea.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={TextareaStories} />
6
+
7
+ # Textarea
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/input-fields/textarea/)
10
+
11
+ [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=203%3A2333)
12
+
13
+ <Description />
14
+
15
+ ## Базовый пример
16
+
17
+ <Primary />
18
+
19
+ ## Пропы
20
+
21
+ <details>
22
+ <summary>Открыть таблицу с пропами</summary>
23
+ <ArgTypes />
24
+ </details>
25
+
26
+ ## Примеры использования
27
+
28
+ <Stories title="" includePrimary={false} />
@@ -13,14 +13,14 @@ export interface ToastState {
13
13
  action: Nullable<Action>;
14
14
  id: number;
15
15
  showTime: Nullable<number>;
16
+ showCloseIcon?: boolean;
16
17
  }
17
18
  export interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {
19
+ /** Задает функцию, которая вызывается при возникновении тоста. */
18
20
  onPush?: (notification: string, action?: Action) => void;
21
+ /** Задает функцию, которая вызывается при закрытии тоста. */
19
22
  onClose?: (notification: string, action?: Action) => void;
20
- /**
21
- * Обычный объект с переменными темы.
22
- * Он будет объединён с темой из контекста.
23
- */
23
+ /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */
24
24
  theme?: ThemeIn;
25
25
  }
26
26
  export declare const ToastDataTids: {
@@ -30,20 +30,22 @@ export declare const ToastDataTids: {
30
30
  readonly close: "ToastView__close";
31
31
  };
32
32
  /**
33
- * Показывает уведомления.
33
+ * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.
34
+ * Результат может быть положительным, отрицательным или нейтральным.
34
35
  *
35
36
  * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.
36
37
  * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.
37
38
  *
38
- * Для статических тостов <u>рекомендуется</u> использовать компонент [SingleToast](https://tech.skbkontur.ru/react-ui/#/Components/SingleToast) - в нём исправлены эти проблемы.
39
- *
39
+ * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.
40
40
  */
41
41
  export declare class Toast extends React.Component<ToastProps, ToastState> {
42
42
  static __KONTUR_REACT_UI__: string;
43
43
  static displayName: string;
44
44
  private setRootNode;
45
45
  private theme;
46
- static push(notification: string, action?: Nullable<Action>, showTime?: number): void;
46
+ /** @deprecated use `push` method in ref or `SingleToast.push` */
47
+ static push(notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean): void;
48
+ /** @deprecated use `close` method in ref or `SingleToast.close` */
47
49
  static close(): void;
48
50
  _toast: Nullable<ToastView>;
49
51
  private _timeout;
@@ -62,8 +64,9 @@ export declare class Toast extends React.Component<ToastProps, ToastState> {
62
64
  * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`
63
65
  * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler
64
66
  * @param {number} showTime Время существования Toast в миллисекундах
67
+ * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.
65
68
  */
66
- push(notification: string, action?: Nullable<Action>, showTime?: number): void;
69
+ push(notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean): void;
67
70
  /**
68
71
  * @public
69
72
  */
@@ -35,6 +35,8 @@ var _ToastStatic = require("./ToastStatic");var _class, _Toast;
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -46,13 +48,13 @@ var ToastDataTids = exports.ToastDataTids = {
46
48
  };
47
49
 
48
50
  /**
49
- * Показывает уведомления.
51
+ * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.
52
+ * Результат может быть положительным, отрицательным или нейтральным.
50
53
  *
51
54
  * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.
52
55
  * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.
53
56
  *
54
- * Для статических тостов <u>рекомендуется</u> использовать компонент [SingleToast](https://tech.skbkontur.ru/react-ui/#/Components/SingleToast) - в нём исправлены эти проблемы.
55
- *
57
+ * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.
56
58
  */var
57
59
 
58
60
  Toast = exports.Toast = (0, _rootNode.rootNode)(_class = (_Toast = /*#__PURE__*/function (_React$Component) {
@@ -74,6 +76,8 @@ Toast = exports.Toast = (0, _rootNode.rootNode)(_class = (_Toast = /*#__PURE__*/
74
76
 
75
77
 
76
78
 
79
+
80
+
77
81
  function Toast(props) {var _this;
78
82
  _this = _React$Component.call(this, props) || this;_this.rootRef = /*#__PURE__*/_react.default.createRef();
79
83
 
@@ -124,6 +128,8 @@ Toast = exports.Toast = (0, _rootNode.rootNode)(_class = (_Toast = /*#__PURE__*/
124
128
 
125
129
 
126
130
 
131
+
132
+
127
133
 
128
134
 
129
135
 
@@ -173,6 +179,7 @@ Toast = exports.Toast = (0, _rootNode.rootNode)(_class = (_Toast = /*#__PURE__*/
173
179
 
174
180
 
175
181
 
182
+
176
183
 
177
184
 
178
185
  setRootRef = function (element) {
@@ -198,7 +205,7 @@ Toast = exports.Toast = (0, _rootNode.rootNode)(_class = (_Toast = /*#__PURE__*/
198
205
 
199
206
  _refToast = function (element) {
200
207
  _this._toast = element;
201
- };_this.state = { notification: null, action: null, id: 0, showTime: null };return _this;}(0, _inheritsLoose2.default)(Toast, _React$Component);Toast.push = function push(notification, action, showTime) {_ToastStatic.ToastStatic.push(notification, action, showTime);};Toast.close = function close() {_ToastStatic.ToastStatic.close();};var _proto = Toast.prototype;_proto.componentWillUnmount = function componentWillUnmount() {this._clearTimer();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = _this2.props.theme ? _ThemeFactory.ThemeFactory.create(_this2.props.theme, theme) : theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, null, /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.TransitionGroup, null, _this2._renderToast())));});} /**
208
+ };_this.state = { notification: null, action: null, id: 0, showTime: null, showCloseIcon: false };return _this;}(0, _inheritsLoose2.default)(Toast, _React$Component); /** @deprecated use `push` method in ref or `SingleToast.push` */Toast.push = function push(notification, action, showTime, showCloseIcon) {_ToastStatic.ToastStatic.push(notification, action, showTime, showCloseIcon);} /** @deprecated use `close` method in ref or `SingleToast.close` */;Toast.close = function close() {_ToastStatic.ToastStatic.close();};var _proto = Toast.prototype;_proto.componentWillUnmount = function componentWillUnmount() {this._clearTimer();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = _this2.props.theme ? _ThemeFactory.ThemeFactory.create(_this2.props.theme, theme) : theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, null, /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.TransitionGroup, null, _this2._renderToast())));});} /**
202
209
  * Показывает тост с `notification` в качестве сообщения.
203
210
  * Тост автоматически скрывается через 3 или 7 секунд,
204
211
  * в зависимости от наличия у него кнопки `action`.
@@ -209,4 +216,5 @@ Toast = exports.Toast = (0, _rootNode.rootNode)(_class = (_Toast = /*#__PURE__*/
209
216
  * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`
210
217
  * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler
211
218
  * @param {number} showTime Время существования Toast в миллисекундах
212
- */;_proto.push = function push(notification, action, showTime) {if (this.state.notification) {this.close();}safelyCall(this.props.onPush, notification, action);this.setState(function (_ref) {var id = _ref.id;return { notification: notification, action: action, id: id + 1, showTime: showTime };}, this._setTimer);};_proto._renderToast = function _renderToast() {var _this$state = this.state,notification = _this$state.notification,action = _this$state.action,id = _this$state.id;if (!notification) {return null;}var toastProps = { onMouseEnter: this._clearTimer, onMouseLeave: this._setTimer, onClose: this.close, children: notification, 'aria-label': this.props['aria-label'], action: action };return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.CSSTransition, { key: id, classNames: { enter: _Toast2.styles.enter(), enterActive: _Toast2.styles.enterActive(), exit: _Toast2.styles.exit(), exitActive: _Toast2.styles.exitActive() }, timeout: { enter: 200, exit: 150 }, enter: !_currentEnvironment.isTestEnv, exit: !_currentEnvironment.isTestEnv, nodeRef: this.rootRef }, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootRef }, this.props), /*#__PURE__*/_react.default.createElement(_ToastView.ToastView, (0, _extends2.default)({ ref: this._refToast }, toastProps))));};return Toast;}(_react.default.Component), _Toast.__KONTUR_REACT_UI__ = 'Toast', _Toast.displayName = 'Toast', _Toast)) || _class;function safelyCall(fn) {if (fn) {for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {args[_key - 1] = arguments[_key];}fn.apply(void 0, args);}}
219
+ * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.
220
+ */;_proto.push = function push(notification, action, showTime, showCloseIcon) {if (this.state.notification) {this.close();}safelyCall(this.props.onPush, notification, action);this.setState(function (_ref) {var id = _ref.id;return { notification: notification, action: action, id: id + 1, showTime: showTime, showCloseIcon: showCloseIcon };}, this._setTimer);};_proto._renderToast = function _renderToast() {var _this$state = this.state,notification = _this$state.notification,action = _this$state.action,id = _this$state.id,showCloseIcon = _this$state.showCloseIcon;if (!notification) {return null;}var toastProps = { onMouseEnter: this._clearTimer, onMouseLeave: this._setTimer, onClose: this.close, children: notification, 'aria-label': this.props['aria-label'], action: action, showCloseIcon: showCloseIcon };return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.CSSTransition, { key: id, classNames: { enter: _Toast2.styles.enter(), enterActive: _Toast2.styles.enterActive(), exit: _Toast2.styles.exit(), exitActive: _Toast2.styles.exitActive() }, timeout: { enter: 200, exit: 150 }, enter: !_currentEnvironment.isTestEnv, exit: !_currentEnvironment.isTestEnv, nodeRef: this.rootRef }, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootRef }, this.props), /*#__PURE__*/_react.default.createElement(_ToastView.ToastView, (0, _extends2.default)({ ref: this._refToast }, toastProps))));};return Toast;}(_react.default.Component), _Toast.__KONTUR_REACT_UI__ = 'Toast', _Toast.displayName = 'Toast', _Toast)) || _class;function safelyCall(fn) {if (fn) {for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {args[_key - 1] = arguments[_key];}fn.apply(void 0, args);}}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_globalObject","_ThemeFactory","_ThemeContext","_RenderContainer","_CommonWrapper","_currentEnvironment","_rootNode","_Toast2","_ToastView","_ToastStatic","_class","_Toast","ToastDataTids","exports","toastStatic","toastView","action","close","Toast","rootNode","_React$Component","props","_this","call","rootRef","React","createRef","safelyCall","onClose","state","notification","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","globalObject","clearTimeout","_setTimer","_this$state$showTime","showTime","setTimeout","_refToast","_toast","id","_inheritsLoose2","default","push","ToastStatic","_proto","prototype","componentWillUnmount","render","_this2","createElement","ThemeContext","Consumer","theme","ThemeFactory","create","Provider","value","RenderContainer","TransitionGroup","_renderToast","onPush","_ref","_this$state","toastProps","onMouseEnter","onMouseLeave","children","CSSTransition","key","classNames","enter","styles","enterActive","exit","exitActive","timeout","isTestEnv","nodeRef","CommonWrapper","_extends2","rootNodeRef","ToastView","ref","Component","__KONTUR_REACT_UI__","displayName","fn","_len","arguments","length","args","Array","_key","apply"],"sources":["Toast.tsx"],"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 public static displayName = 'Toast';\n\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_globalObject","_ThemeFactory","_ThemeContext","_RenderContainer","_CommonWrapper","_currentEnvironment","_rootNode","_Toast2","_ToastView","_ToastStatic","_class","_Toast","ToastDataTids","exports","toastStatic","toastView","action","close","Toast","rootNode","_React$Component","props","_this","call","rootRef","React","createRef","safelyCall","onClose","state","notification","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","globalObject","clearTimeout","_setTimer","_this$state$showTime","showTime","setTimeout","_refToast","_toast","id","showCloseIcon","_inheritsLoose2","default","push","ToastStatic","_proto","prototype","componentWillUnmount","render","_this2","createElement","ThemeContext","Consumer","theme","ThemeFactory","create","Provider","value","RenderContainer","TransitionGroup","_renderToast","onPush","_ref","_this$state","toastProps","onMouseEnter","onMouseLeave","children","CSSTransition","key","classNames","enter","styles","enterActive","exit","exitActive","timeout","isTestEnv","nodeRef","CommonWrapper","_extends2","rootNodeRef","ToastView","ref","Component","__KONTUR_REACT_UI__","displayName","fn","_len","arguments","length","args","Array","_key","apply"],"sources":["Toast.tsx"],"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 showCloseIcon?: boolean;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает функцию, которая вызывается при возникновении тоста. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Задает функцию, которая вызывается при закрытии тоста. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n}\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push(notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n }\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\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 showCloseIcon: false,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {string} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.\n */\n public push(notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime, showCloseIcon }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- Вызов статических методов
1
+ ### Вызов статических методов
2
2
 
3
3
  ```jsx harmony
4
4
  import { Button, Toast } from '@skbkontur/react-ui';
@@ -13,7 +13,7 @@ function showComplexNotification() {
13
13
  <Button onClick={showComplexNotification}>Show notification</Button>;
14
14
  ```
15
15
 
16
- C кастомным showTime
16
+ ### Кастомный showTime
17
17
 
18
18
  ```jsx harmony
19
19
  import { Button, Toast } from '@skbkontur/react-ui';
@@ -28,7 +28,7 @@ function showComplexNotification() {
28
28
  <Button onClick={showComplexNotification}>Show notification</Button>;
29
29
  ```
30
30
 
31
- C кастомным showTime без action
31
+ ### Кастомный showTime без action
32
32
 
33
33
 
34
34
  ```jsx harmony
@@ -41,7 +41,7 @@ function showComplexNotification() {
41
41
  <Button onClick={showComplexNotification}>Show notification</Button>;
42
42
  ```
43
43
 
44
- Использование `ref`
44
+ ### Использование `ref`
45
45
 
46
46
  ```jsx harmony
47
47
  import { Button, Toast } from '@skbkontur/react-ui';
@@ -1,8 +1,8 @@
1
1
  import { Nullable } from '../../typings/utility-types';
2
2
  import { Action } from './Toast';
3
3
  export declare class ToastStatic {
4
- static push: (notification: string, action?: Nullable<Action>, showTime?: number) => void;
5
- static _push: (notification: string, action?: Nullable<Action>, showTime?: number) => void;
4
+ static push: (notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) => void;
5
+ static _push: (notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) => void;
6
6
  static close: () => void;
7
7
  private static node;
8
8
  private static instance;
@@ -7,7 +7,12 @@ var _globalObject = require("@skbkontur/global-object");
7
7
  var _Toast = require("./Toast");var _ToastStatic;var
8
8
 
9
9
  ToastStatic = exports.ToastStatic = function ToastStatic() {};_ToastStatic = ToastStatic;ToastStatic.
10
- push = function (notification, action, showTime) {
10
+ push = function (
11
+ notification,
12
+ action,
13
+ showTime,
14
+ showCloseIcon)
15
+ {
11
16
  if (!_ToastStatic.node && _globalObject.globalObject.document) {
12
17
  _ToastStatic.node = _globalObject.globalObject.document.createElement('div');
13
18
  var body = _globalObject.globalObject.document.body;
@@ -19,16 +24,21 @@ push = function (notification, action, showTime) {
19
24
  _reactDom.default.render( /*#__PURE__*/
20
25
  _react.default.createElement(_Toast.Toast, { "data-tid": _Toast.ToastDataTids.toastStatic, ref: function ref(el) {return _ToastStatic.instance = el;} }),
21
26
  _ToastStatic.node,
22
- function () {return _ToastStatic._push(notification, action, showTime);}
27
+ function () {return _ToastStatic._push(notification, action, showTime, showCloseIcon);}
23
28
  );
24
29
  } else {
25
- _ToastStatic._push(notification, action, showTime);
30
+ _ToastStatic._push(notification, action, showTime, showCloseIcon);
26
31
  }
27
32
  };ToastStatic.
28
33
 
29
- _push = function (notification, action, showTime) {
34
+ _push = function (
35
+ notification,
36
+ action,
37
+ showTime,
38
+ showCloseIcon)
39
+ {
30
40
  if (_ToastStatic.instance) {
31
- _ToastStatic.instance.push(notification, action, showTime);
41
+ _ToastStatic.instance.push(notification, action, showTime, showCloseIcon);
32
42
  }
33
43
  };ToastStatic.
34
44
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_Toast","_ToastStatic","ToastStatic","exports","push","notification","action","showTime","node","globalObject","document","createElement","body","Error","appendChild","ReactDOM","render","default","Toast","ToastDataTids","toastStatic","ref","el","instance","_push","close"],"sources":["ToastStatic.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { Toast, Action, ToastDataTids } from './Toast';\n\nexport class ToastStatic {\n public static push = (notification: string, action?: Nullable<Action>, showTime?: number) => {\n if (!ToastStatic.node && globalObject.document) {\n ToastStatic.node = globalObject.document.createElement('div');\n const { body } = globalObject.document;\n if (!body) {\n throw Error('There is no \"body\" element in \"document\"');\n }\n body.appendChild(ToastStatic.node);\n\n ReactDOM.render(\n <Toast data-tid={ToastDataTids.toastStatic} ref={(el) => (ToastStatic.instance = el)} />,\n ToastStatic.node,\n () => ToastStatic._push(notification, action, showTime),\n );\n } else {\n ToastStatic._push(notification, action, showTime);\n }\n };\n\n public static _push = (notification: string, action?: Nullable<Action>, showTime?: number) => {\n if (ToastStatic.instance) {\n ToastStatic.instance.push(notification, action, showTime);\n }\n };\n\n public static close = () => {\n if (ToastStatic.instance) {\n ToastStatic.instance.close();\n }\n };\n\n private static node: HTMLDivElement;\n private static instance: Nullable<Toast> = null;\n}\n"],"mappings":"iKAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;;;;AAIA,IAAAG,MAAA,GAAAH,OAAA,YAAuD,IAAAI,YAAA;;AAE1CC,WAAW,GAAAC,OAAA,CAAAD,WAAA,YAAAA,YAAA,KAAAD,YAAA,GAAXC,WAAW,CAAXA,WAAW;AACRE,IAAI,GAAG,UAACC,YAAoB,EAAEC,MAAyB,EAAEC,QAAiB,EAAK;EAC3F,IAAI,CAACL,YAAW,CAACM,IAAI,IAAIC,0BAAY,CAACC,QAAQ,EAAE;IAC9CR,YAAW,CAACM,IAAI,GAAGC,0BAAY,CAACC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;IAC7D,IAAQC,IAAI,GAAKH,0BAAY,CAACC,QAAQ,CAA9BE,IAAI;IACZ,IAAI,CAACA,IAAI,EAAE;MACT,MAAMC,KAAK,CAAC,0CAA0C,CAAC;IACzD;IACAD,IAAI,CAACE,WAAW,CAACZ,YAAW,CAACM,IAAI,CAAC;;IAElCO,iBAAQ,CAACC,MAAM;MACbrB,MAAA,CAAAsB,OAAA,CAAAN,aAAA,CAACX,MAAA,CAAAkB,KAAK,IAAC,YAAUC,oBAAa,CAACC,WAAY,EAACC,GAAG,EAAE,SAAAA,IAACC,EAAE,UAAMpB,YAAW,CAACqB,QAAQ,GAAGD,EAAE,EAAE,EAAE,CAAC;MACxFpB,YAAW,CAACM,IAAI;MAChB,oBAAMN,YAAW,CAACsB,KAAK,CAACnB,YAAY,EAAEC,MAAM,EAAEC,QAAQ,CAAC;IACzD,CAAC;EACH,CAAC,MAAM;IACLL,YAAW,CAACsB,KAAK,CAACnB,YAAY,EAAEC,MAAM,EAAEC,QAAQ,CAAC;EACnD;AACF,CAAC,CAlBUL,WAAW;;AAoBRsB,KAAK,GAAG,UAACnB,YAAoB,EAAEC,MAAyB,EAAEC,QAAiB,EAAK;EAC5F,IAAIL,YAAW,CAACqB,QAAQ,EAAE;IACxBrB,YAAW,CAACqB,QAAQ,CAACnB,IAAI,CAACC,YAAY,EAAEC,MAAM,EAAEC,QAAQ,CAAC;EAC3D;AACF,CAAC,CAxBUL,WAAW;;AA0BRuB,KAAK,GAAG,YAAM;EAC1B,IAAIvB,YAAW,CAACqB,QAAQ,EAAE;IACxBrB,YAAW,CAACqB,QAAQ,CAACE,KAAK,CAAC,CAAC;EAC9B;AACF,CAAC,CA9BUvB,WAAW;;;AAiCPqB,QAAQ,GAAoB,IAAI","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_Toast","_ToastStatic","ToastStatic","exports","push","notification","action","showTime","showCloseIcon","node","globalObject","document","createElement","body","Error","appendChild","ReactDOM","render","default","Toast","ToastDataTids","toastStatic","ref","el","instance","_push","close"],"sources":["ToastStatic.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { Toast, Action, ToastDataTids } from './Toast';\n\nexport class ToastStatic {\n public static push = (\n notification: string,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n if (!ToastStatic.node && globalObject.document) {\n ToastStatic.node = globalObject.document.createElement('div');\n const { body } = globalObject.document;\n if (!body) {\n throw Error('There is no \"body\" element in \"document\"');\n }\n body.appendChild(ToastStatic.node);\n\n ReactDOM.render(\n <Toast data-tid={ToastDataTids.toastStatic} ref={(el) => (ToastStatic.instance = el)} />,\n ToastStatic.node,\n () => ToastStatic._push(notification, action, showTime, showCloseIcon),\n );\n } else {\n ToastStatic._push(notification, action, showTime, showCloseIcon);\n }\n };\n\n public static _push = (\n notification: string,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n if (ToastStatic.instance) {\n ToastStatic.instance.push(notification, action, showTime, showCloseIcon);\n }\n };\n\n public static close = () => {\n if (ToastStatic.instance) {\n ToastStatic.instance.close();\n }\n };\n\n private static node: HTMLDivElement;\n private static instance: Nullable<Toast> = null;\n}\n"],"mappings":"iKAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;;;;AAIA,IAAAG,MAAA,GAAAH,OAAA,YAAuD,IAAAI,YAAA;;AAE1CC,WAAW,GAAAC,OAAA,CAAAD,WAAA,YAAAA,YAAA,KAAAD,YAAA,GAAXC,WAAW,CAAXA,WAAW;AACRE,IAAI,GAAG;AACnBC,YAAoB;AACpBC,MAAyB;AACzBC,QAAiB;AACjBC,aAAuB;AACpB;EACH,IAAI,CAACN,YAAW,CAACO,IAAI,IAAIC,0BAAY,CAACC,QAAQ,EAAE;IAC9CT,YAAW,CAACO,IAAI,GAAGC,0BAAY,CAACC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;IAC7D,IAAQC,IAAI,GAAKH,0BAAY,CAACC,QAAQ,CAA9BE,IAAI;IACZ,IAAI,CAACA,IAAI,EAAE;MACT,MAAMC,KAAK,CAAC,0CAA0C,CAAC;IACzD;IACAD,IAAI,CAACE,WAAW,CAACb,YAAW,CAACO,IAAI,CAAC;;IAElCO,iBAAQ,CAACC,MAAM;MACbtB,MAAA,CAAAuB,OAAA,CAAAN,aAAA,CAACZ,MAAA,CAAAmB,KAAK,IAAC,YAAUC,oBAAa,CAACC,WAAY,EAACC,GAAG,EAAE,SAAAA,IAACC,EAAE,UAAMrB,YAAW,CAACsB,QAAQ,GAAGD,EAAE,EAAE,EAAE,CAAC;MACxFrB,YAAW,CAACO,IAAI;MAChB,oBAAMP,YAAW,CAACuB,KAAK,CAACpB,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,aAAa,CAAC;IACxE,CAAC;EACH,CAAC,MAAM;IACLN,YAAW,CAACuB,KAAK,CAACpB,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,aAAa,CAAC;EAClE;AACF,CAAC,CAvBUN,WAAW;;AAyBRuB,KAAK,GAAG;AACpBpB,YAAoB;AACpBC,MAAyB;AACzBC,QAAiB;AACjBC,aAAuB;AACpB;EACH,IAAIN,YAAW,CAACsB,QAAQ,EAAE;IACxBtB,YAAW,CAACsB,QAAQ,CAACpB,IAAI,CAACC,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,aAAa,CAAC;EAC1E;AACF,CAAC,CAlCUN,WAAW;;AAoCRwB,KAAK,GAAG,YAAM;EAC1B,IAAIxB,YAAW,CAACsB,QAAQ,EAAE;IACxBtB,YAAW,CAACsB,QAAQ,CAACE,KAAK,CAAC,CAAC;EAC9B;AACF,CAAC,CAxCUxB,WAAW;;;AA2CPsB,QAAQ,GAAoB,IAAI","ignoreList":[]}
@@ -3,14 +3,11 @@ import { Nullable } from '../../typings/utility-types';
3
3
  import { CommonProps } from '../../internal/CommonWrapper';
4
4
  import { Action } from './Toast';
5
5
  export interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {
6
- /**
7
- * Toast content
8
- */
6
+ /** Задает контент тоста. */
9
7
  children?: string;
10
- /**
11
- * Adds action handling and close icon for toast
12
- */
8
+ /** Добавляет возможность действия и кнопку закрытия у тоста. */
13
9
  action?: Nullable<Action>;
10
+ showCloseIcon?: boolean;
14
11
  onClose?: () => void;
15
12
  onMouseEnter?: () => void;
16
13
  onMouseLeave?: () => void;