@skbkontur/react-ui 0.0.0-66a28a30fb → 0.0.0-68e286f9fe

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 (504) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/README.md +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +0 -22
  4. package/cjs/components/Autocomplete/Autocomplete.js +2 -40
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.styles.js +2 -1
  7. package/cjs/components/Button/Button.styles.js.map +1 -1
  8. package/cjs/components/Calendar/CalendarDay.js +18 -2
  9. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  10. package/cjs/components/Calendar/DayCellView.js +7 -15
  11. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  12. package/cjs/components/Checkbox/Checkbox.d.ts +0 -12
  13. package/cjs/components/Checkbox/Checkbox.js +1 -14
  14. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  15. package/cjs/components/ComboBox/ComboBox.d.ts +7 -1
  16. package/cjs/components/ComboBox/ComboBox.js +8 -1
  17. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  18. package/cjs/components/ComboBox/ComboBox.md +2 -2
  19. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -24
  20. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -29
  21. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  22. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -27
  23. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  24. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  25. package/cjs/components/DateInput/DateInput.js +37 -14
  26. package/cjs/components/DateInput/DateInput.js.map +1 -1
  27. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  28. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  29. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  30. package/cjs/components/DatePicker/DatePicker.d.ts +4 -33
  31. package/cjs/components/DatePicker/DatePicker.js +5 -60
  32. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  33. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  34. package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
  35. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  36. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  37. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
  38. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  39. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  40. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  41. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  42. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  43. package/cjs/components/Dropdown/Dropdown.d.ts +0 -47
  44. package/cjs/components/Dropdown/Dropdown.js +2 -83
  45. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  46. package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
  47. package/cjs/components/FileUploader/FileUploader.js +14 -2
  48. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  49. package/cjs/components/FxInput/FxInput.d.ts +1 -6
  50. package/cjs/components/FxInput/FxInput.js +1 -7
  51. package/cjs/components/FxInput/FxInput.js.map +1 -1
  52. package/cjs/components/Gapped/Gapped.d.ts +0 -15
  53. package/cjs/components/Gapped/Gapped.js +1 -25
  54. package/cjs/components/Gapped/Gapped.js.map +1 -1
  55. package/cjs/components/Group/Group.d.ts +3 -4
  56. package/cjs/components/Group/Group.js +90 -40
  57. package/cjs/components/Group/Group.js.map +1 -1
  58. package/cjs/components/Group/Group.md +4 -4
  59. package/cjs/components/Group/Group.styles.d.ts +1 -0
  60. package/cjs/components/Group/Group.styles.js +12 -6
  61. package/cjs/components/Group/Group.styles.js.map +1 -1
  62. package/cjs/components/Input/Input.md +4 -5
  63. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  64. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  65. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  66. package/cjs/components/Kebab/Kebab.d.ts +0 -1
  67. package/cjs/components/Kebab/Kebab.js +1 -26
  68. package/cjs/components/Kebab/Kebab.js.map +1 -1
  69. package/cjs/components/Kebab/Kebab.md +32 -32
  70. package/cjs/components/Link/Link.js +5 -0
  71. package/cjs/components/Link/Link.js.map +1 -1
  72. package/cjs/components/Link/Link.mixins.js +1 -2
  73. package/cjs/components/Link/Link.mixins.js.map +1 -1
  74. package/cjs/components/Link/Link.styles.js +3 -2
  75. package/cjs/components/Link/Link.styles.js.map +1 -1
  76. package/cjs/components/Loader/Loader.d.ts +4 -36
  77. package/cjs/components/Loader/Loader.js +3 -58
  78. package/cjs/components/Loader/Loader.js.map +1 -1
  79. package/cjs/components/MenuItem/MenuItem.d.ts +0 -12
  80. package/cjs/components/MenuItem/MenuItem.js +1 -22
  81. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  82. package/cjs/components/MenuItem/MenuItem.md +6 -6
  83. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  84. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  85. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  86. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  87. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  88. package/cjs/components/Modal/Modal.styles.d.ts +1 -1
  89. package/cjs/components/Modal/Modal.styles.js +6 -6
  90. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  91. package/cjs/components/Modal/ModalSeparator.js +1 -1
  92. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  93. package/cjs/components/Paging/Paging.d.ts +0 -1
  94. package/cjs/components/Paging/Paging.js +2 -28
  95. package/cjs/components/Paging/Paging.js.map +1 -1
  96. package/cjs/components/PasswordInput/PasswordInput.d.ts +0 -7
  97. package/cjs/components/PasswordInput/PasswordInput.js +1 -11
  98. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  99. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
  100. package/cjs/components/RadioGroup/RadioGroup.js +18 -1
  101. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  102. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  103. package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
  104. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  105. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +0 -9
  106. package/cjs/components/ScrollContainer/ScrollContainer.js +1 -11
  107. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  108. package/cjs/components/Select/Select.d.ts +3 -0
  109. package/cjs/components/Select/Select.js +4 -1
  110. package/cjs/components/Select/Select.js.map +1 -1
  111. package/cjs/components/Select/Select.md +3 -3
  112. package/cjs/components/SidePage/SidePage.js +1 -1
  113. package/cjs/components/SidePage/SidePage.js.map +1 -1
  114. package/cjs/components/SidePage/SidePageHeader.js +4 -1
  115. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  116. package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
  117. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  118. package/cjs/components/Spinner/Spinner.d.ts +0 -18
  119. package/cjs/components/Spinner/Spinner.js +1 -32
  120. package/cjs/components/Spinner/Spinner.js.map +1 -1
  121. package/cjs/components/Sticky/Sticky.d.ts +3 -13
  122. package/cjs/components/Sticky/Sticky.js +12 -19
  123. package/cjs/components/Sticky/Sticky.js.map +1 -1
  124. package/cjs/components/Switcher/Switcher.d.ts +4 -21
  125. package/cjs/components/Switcher/Switcher.js +11 -21
  126. package/cjs/components/Switcher/Switcher.js.map +1 -1
  127. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  128. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  129. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  130. package/cjs/components/Textarea/Textarea.d.ts +6 -45
  131. package/cjs/components/Textarea/Textarea.js +16 -58
  132. package/cjs/components/Textarea/Textarea.js.map +1 -1
  133. package/cjs/components/Textarea/Textarea.styles.js +2 -1
  134. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  135. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  136. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  137. package/cjs/components/Toast/Toast.d.ts +8 -6
  138. package/cjs/components/Toast/Toast.js +18 -4
  139. package/cjs/components/Toast/Toast.js.map +1 -1
  140. package/cjs/components/Toast/ToastStatic.d.ts +3 -2
  141. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  142. package/cjs/components/Toast/ToastView.d.ts +1 -15
  143. package/cjs/components/Toast/ToastView.js +3 -23
  144. package/cjs/components/Toast/ToastView.js.map +1 -1
  145. package/cjs/components/Toggle/Toggle.d.ts +0 -10
  146. package/cjs/components/Toggle/Toggle.js +1 -12
  147. package/cjs/components/Toggle/Toggle.js.map +1 -1
  148. package/cjs/components/Token/Token.md +0 -83
  149. package/cjs/components/TokenInput/TokenInput.d.ts +2 -2
  150. package/cjs/components/TokenInput/TokenInput.js +2 -1
  151. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  152. package/cjs/components/TokenInput/TokenInput.md +2 -33
  153. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  154. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  155. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  156. package/cjs/components/Tooltip/Tooltip.d.ts +2 -3
  157. package/cjs/components/Tooltip/Tooltip.js +7 -9
  158. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  159. package/cjs/components/Tooltip/Tooltip.md +8 -8
  160. package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
  161. package/cjs/index.d.ts +1 -0
  162. package/cjs/index.js.map +1 -1
  163. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  164. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  165. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  166. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  167. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  168. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  169. package/cjs/internal/ComponentTable.js +2 -3
  170. package/cjs/internal/ComponentTable.js.map +1 -1
  171. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
  172. package/cjs/internal/CustomComboBox/ComboBoxView.js +37 -2
  173. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  174. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  175. package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -1
  176. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  177. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  178. package/cjs/internal/DateSelect/DateSelect.js +12 -18
  179. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  180. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  181. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  182. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  183. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +36 -0
  184. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +233 -0
  185. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  186. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  187. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  188. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  189. package/cjs/internal/Popup/Popup.d.ts +41 -60
  190. package/cjs/internal/Popup/Popup.js +27 -78
  191. package/cjs/internal/Popup/Popup.js.map +1 -1
  192. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  193. package/cjs/internal/Popup/PopupPin.js +2 -35
  194. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  195. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  196. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  197. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  198. package/cjs/internal/RenderLayer/RenderLayer.d.ts +0 -3
  199. package/cjs/internal/RenderLayer/RenderLayer.js +2 -12
  200. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  201. package/cjs/internal/ThemePlayground/Playground.js +16 -16
  202. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  203. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  204. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  205. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
  206. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  207. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  208. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  209. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  210. package/cjs/internal/ZIndex/ZIndex.d.ts +1 -3
  211. package/cjs/internal/ZIndex/ZIndex.js +5 -2
  212. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  213. package/cjs/internal/themes/BasicTheme.d.ts +4 -0
  214. package/cjs/internal/themes/BasicTheme.js +6 -2
  215. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  216. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  217. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  218. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  219. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  220. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  221. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  222. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  223. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  224. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  225. package/cjs/lib/date/InternalDateGetter.js +8 -1
  226. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  227. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  228. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  229. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +11 -1
  230. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  231. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  232. package/cjs/lib/forwardRefAndName.js +0 -1
  233. package/cjs/lib/forwardRefAndName.js.map +1 -1
  234. package/cjs/lib/getMenuPositions.d.ts +21 -1
  235. package/cjs/lib/getMenuPositions.js +45 -8
  236. package/cjs/lib/getMenuPositions.js.map +1 -1
  237. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  238. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  239. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  240. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  241. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  242. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  243. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  244. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  245. package/cjs/lib/utils.d.ts +4 -0
  246. package/cjs/lib/utils.js +5 -1
  247. package/cjs/lib/utils.js.map +1 -1
  248. package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -23
  249. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  250. package/components/Autocomplete/Autocomplete.d.ts +0 -22
  251. package/components/Button/Button.styles/Button.styles.js +1 -1
  252. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  253. package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
  254. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  255. package/components/Calendar/DayCellView/DayCellView.js +6 -10
  256. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  257. package/components/Checkbox/Checkbox/Checkbox.js +0 -11
  258. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  259. package/components/Checkbox/Checkbox.d.ts +0 -12
  260. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  261. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  262. package/components/ComboBox/ComboBox.d.ts +7 -1
  263. package/components/ComboBox/ComboBox.md +2 -2
  264. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +9 -36
  265. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  266. package/components/CurrencyInput/CurrencyInput.d.ts +1 -24
  267. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  268. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  269. package/components/DateInput/DateInput/DateInput.js +25 -16
  270. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  271. package/components/DateInput/DateInput.d.ts +1 -0
  272. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  273. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  274. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  275. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  276. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  277. package/components/DatePicker/DatePicker.d.ts +4 -33
  278. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
  279. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  280. package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  281. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
  282. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
  283. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  284. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  285. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  286. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  287. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  288. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  289. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  290. package/components/Dropdown/Dropdown.d.ts +0 -47
  291. package/components/DropdownMenu/DropdownMenu.md +8 -8
  292. package/components/FileUploader/FileUploader/FileUploader.js +7 -2
  293. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  294. package/components/FxInput/FxInput/FxInput.js +1 -5
  295. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  296. package/components/FxInput/FxInput.d.ts +1 -6
  297. package/components/Gapped/Gapped/Gapped.js +1 -15
  298. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  299. package/components/Gapped/Gapped.d.ts +0 -15
  300. package/components/Group/Group/Group.js +64 -28
  301. package/components/Group/Group/Group.js.map +1 -1
  302. package/components/Group/Group.d.ts +3 -4
  303. package/components/Group/Group.md +4 -4
  304. package/components/Group/Group.styles/Group.styles.js +9 -6
  305. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  306. package/components/Group/Group.styles.d.ts +1 -0
  307. package/components/Input/Input.md +4 -5
  308. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  309. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  310. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  311. package/components/Kebab/Kebab/Kebab.js +2 -20
  312. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  313. package/components/Kebab/Kebab.d.ts +0 -1
  314. package/components/Kebab/Kebab.md +32 -32
  315. package/components/Link/Link/Link.js +4 -0
  316. package/components/Link/Link/Link.js.map +1 -1
  317. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  318. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  319. package/components/Link/Link.styles/Link.styles.js +1 -1
  320. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  321. package/components/Loader/Loader/Loader.js +0 -33
  322. package/components/Loader/Loader/Loader.js.map +1 -1
  323. package/components/Loader/Loader.d.ts +4 -36
  324. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  325. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  326. package/components/MenuItem/MenuItem.d.ts +0 -12
  327. package/components/MenuItem/MenuItem.md +6 -6
  328. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  329. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  330. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  331. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  332. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  333. package/components/Modal/Modal.styles/Modal.styles.js +3 -3
  334. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  335. package/components/Modal/Modal.styles.d.ts +1 -1
  336. package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
  337. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  338. package/components/Paging/Paging/Paging.js +1 -22
  339. package/components/Paging/Paging/Paging.js.map +1 -1
  340. package/components/Paging/Paging.d.ts +0 -1
  341. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
  342. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  343. package/components/PasswordInput/PasswordInput.d.ts +0 -7
  344. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
  345. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  346. package/components/RadioGroup/RadioGroup.d.ts +1 -0
  347. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
  348. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  349. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  350. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  351. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  352. package/components/ScrollContainer/ScrollContainer.d.ts +0 -9
  353. package/components/Select/Select/Select.js +3 -2
  354. package/components/Select/Select/Select.js.map +1 -1
  355. package/components/Select/Select.d.ts +3 -0
  356. package/components/Select/Select.md +3 -3
  357. package/components/SidePage/SidePage/SidePage.js +1 -1
  358. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  359. package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -1
  360. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  361. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  362. package/components/SingleToast/SingleToast.d.ts +3 -3
  363. package/components/Spinner/Spinner/Spinner.js +1 -18
  364. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  365. package/components/Spinner/Spinner.d.ts +0 -18
  366. package/components/Sticky/Sticky/Sticky.js +10 -14
  367. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  368. package/components/Sticky/Sticky.d.ts +3 -13
  369. package/components/Switcher/Switcher/Switcher.js +19 -16
  370. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  371. package/components/Switcher/Switcher.d.ts +4 -21
  372. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  373. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  374. package/components/Switcher/Switcher.styles.d.ts +1 -0
  375. package/components/Textarea/Textarea/Textarea.js +12 -46
  376. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  377. package/components/Textarea/Textarea.d.ts +6 -45
  378. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  379. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  380. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  381. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  382. package/components/Toast/Toast/Toast.js +8 -10
  383. package/components/Toast/Toast/Toast.js.map +1 -1
  384. package/components/Toast/Toast.d.ts +8 -6
  385. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  386. package/components/Toast/ToastStatic.d.ts +3 -2
  387. package/components/Toast/ToastView/ToastView.js +3 -17
  388. package/components/Toast/ToastView/ToastView.js.map +1 -1
  389. package/components/Toast/ToastView.d.ts +1 -15
  390. package/components/Toggle/Toggle/Toggle.js +1 -10
  391. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  392. package/components/Toggle/Toggle.d.ts +0 -10
  393. package/components/Token/Token.md +0 -83
  394. package/components/TokenInput/TokenInput/TokenInput.js +2 -1
  395. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  396. package/components/TokenInput/TokenInput.d.ts +2 -2
  397. package/components/TokenInput/TokenInput.md +2 -33
  398. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  399. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  400. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  401. package/components/Tooltip/Tooltip/Tooltip.js +8 -7
  402. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  403. package/components/Tooltip/Tooltip.d.ts +2 -3
  404. package/components/Tooltip/Tooltip.md +8 -8
  405. package/components/TooltipMenu/TooltipMenu.md +12 -12
  406. package/index.d.ts +1 -0
  407. package/index.js +1 -0
  408. package/index.js.map +1 -1
  409. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  410. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  411. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  412. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  413. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  414. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  415. package/internal/ComponentTable/ComponentTable.js +0 -2
  416. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  417. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +59 -27
  418. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  419. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
  420. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +2 -1
  421. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  422. package/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  423. package/internal/DateSelect/DateSelect/DateSelect.js +3 -10
  424. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  425. package/internal/DateSelect/DateSelect.d.ts +0 -10
  426. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  427. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  428. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  429. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +244 -0
  430. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  431. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  432. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +36 -0
  433. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  434. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  435. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  436. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  437. package/internal/Popup/Popup/Popup.js +13 -66
  438. package/internal/Popup/Popup/Popup.js.map +1 -1
  439. package/internal/Popup/Popup.d.ts +41 -60
  440. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  441. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  442. package/internal/Popup/PopupPin.d.ts +23 -33
  443. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  444. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  445. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  446. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  447. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  448. package/internal/RenderLayer/RenderLayer.d.ts +0 -3
  449. package/internal/ThemePlayground/Playground/Playground.js +13 -13
  450. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  451. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  452. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  453. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
  454. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  455. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  456. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  457. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  458. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  459. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  460. package/internal/ZIndex/ZIndex.d.ts +1 -3
  461. package/internal/themes/BasicTheme/BasicTheme.js +4 -0
  462. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  463. package/internal/themes/BasicTheme.d.ts +4 -0
  464. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  465. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  466. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  467. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  468. package/internal/themes/DarkTheme5_3/package.json +6 -0
  469. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  470. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  471. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  472. package/internal/themes/LightTheme5_3/package.json +6 -0
  473. package/internal/themes/LightTheme5_3.d.ts +1 -0
  474. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  475. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  476. package/lib/date/InternalDateGetter.d.ts +1 -1
  477. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  478. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -1
  479. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  480. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  481. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  482. package/lib/forwardRefAndName.d.ts +1 -1
  483. package/lib/getMenuPositions/getMenuPositions.js +33 -4
  484. package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
  485. package/lib/getMenuPositions.d.ts +21 -1
  486. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  487. package/lib/theming/ThemeVersions.d.ts +1 -1
  488. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  489. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  490. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  491. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  492. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  493. package/lib/theming/themes/LightTheme.d.ts +1 -0
  494. package/lib/utils/utils.js +2 -0
  495. package/lib/utils/utils.js.map +1 -1
  496. package/lib/utils.d.ts +4 -0
  497. package/package.json +7 -11
  498. package/cjs/lib/SSRSafe.d.ts +0 -2
  499. package/cjs/lib/SSRSafe.js +0 -5
  500. package/cjs/lib/SSRSafe.js.map +0 -1
  501. package/lib/SSRSafe/SSRSafe.js +0 -4
  502. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  503. package/lib/SSRSafe/package.json +0 -6
  504. package/lib/SSRSafe.d.ts +0 -2
@@ -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","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 type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport type { ToastViewProps } from './ToastView';\nimport { ToastView } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<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
+ {"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","_proto","prototype","componentWillUnmount","render","_this2","createElement","ThemeContext","Consumer","theme","ThemeFactory","create","Provider","value","RenderContainer","TransitionGroup","_renderToast","push","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","ToastStatic","fn","_len","arguments","length","args","Array","_key","apply"],"sources":["Toast.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport type { ToastViewProps } from './ToastView';\nimport { ToastView } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<React.ReactNode>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает функцию, которая вызывается при возникновении тоста. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Задает функцию, которая вызывается при закрытии тоста. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n}\n\nexport type ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n) => void;\n\nexport type ToastClose = () => void;\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push: ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n };\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\n public static close: ToastClose = () => {\n ToastStatic.close();\n };\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {React.ReactNode} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: React.ReactNode, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.\n */\n public push(notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime, showCloseIcon }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;;AAEA,IAAAE,aAAA,GAAAF,OAAA;;AAEA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;;AAEA,IAAAK,gBAAA,GAAAL,OAAA;;;AAGA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,mBAAA,GAAAP,OAAA;;AAEA,IAAAQ,SAAA,GAAAR,OAAA;;AAEA,IAAAS,OAAA,GAAAT,OAAA;;AAEA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,YAAA,GAAAX,OAAA,kBAA4C,IAAAY,MAAA,EAAAC,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCrC,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,WAAW,EAAE,aAAa;EAC1BC,SAAS,EAAE,iBAAiB;EAC5BC,MAAM,EAAE,mBAAmB;EAC3BC,KAAK,EAAE;AACT,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GARA;;AAUaC,KAAK,GAAAL,OAAA,CAAAK,KAAA,OADjBC,kBAAQ,EAAAT,MAAA,IAAAC,MAAA,0BAAAS,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BP,SAAAF,MAAYG,KAAiB,EAAE,KAAAC,KAAA;IAC7BA,KAAA,GAAAF,gBAAA,CAAAG,IAAA,OAAMF,KAAK,CAAC,SAACC,KAAA,CAHPE,OAAO,gBAAGC,cAAK,CAACC,SAAS,CAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyDhD;AACF;AACA,OAFEJ,KAAA;IAGOL,KAAK,GAAG,YAAM;MACnBU,UAAU,CAACL,KAAA,CAAKD,KAAK,CAACO,OAAO,EAAEN,KAAA,CAAKO,KAAK,CAACC,YAAY,EAAER,KAAA,CAAKO,KAAK,CAACb,MAAM,CAAC;MAC1EM,KAAA,CAAKS,QAAQ,CAAC,EAAED,YAAY,EAAE,IAAI,EAAEd,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC,CAAAM,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2COU,UAAU,GAAG,UAACC,OAA0B,EAAK;MACnDX,KAAA,CAAKY,WAAW,CAACD,OAAO,CAAC;MACzB;MACAX,KAAA,CAAKE,OAAO,CAACW,OAAO,GAAGF,OAAO;IAChC,CAAC,CAAAX,KAAA;;IAEOc,WAAW,GAAG,YAAM;MAC1B,IAAId,KAAA,CAAKe,QAAQ,EAAE;QACjBC,0BAAY,CAACC,YAAY,CAACjB,KAAA,CAAKe,QAAQ,CAAC;QACxCf,KAAA,CAAKe,QAAQ,GAAG,IAAI;MACtB;IACF,CAAC,CAAAf,KAAA;;IAEOkB,SAAS,GAAG,YAAM,KAAAC,oBAAA;MACxBnB,KAAA,CAAKc,WAAW,CAAC,CAAC;;MAElB,IAAIM,QAAQ,GAAGpB,KAAA,CAAKO,KAAK,CAACb,MAAM,GAAG,IAAI,GAAG,IAAI;MAC9C0B,QAAQ,IAAAD,oBAAA,GAAGnB,KAAA,CAAKO,KAAK,CAACa,QAAQ,YAAAD,oBAAA,GAAIC,QAAQ;MAC1CpB,KAAA,CAAKe,QAAQ,GAAGC,0BAAY,CAACK,UAAU,CAACrB,KAAA,CAAKL,KAAK,EAAEyB,QAAQ,CAAC;IAC/D,CAAC,CAAApB,KAAA;;IAEOsB,SAAS,GAAG,UAACX,OAAkB,EAAK;MAC1CX,KAAA,CAAKuB,MAAM,GAAGZ,OAAO;IACvB,CAAC,CA7HCX,KAAA,CAAKO,KAAK,GAAG,EACXC,YAAY,EAAE,IAAI,EAClBd,MAAM,EAAE,IAAI,EACZ8B,EAAE,EAAE,CAAC,EACLJ,QAAQ,EAAE,IAAI,EACdK,aAAa,EAAE,KAAK,CACtB,CAAC,CAAC,OAAAzB,KAAA,CACJ,CAAC,IAAA0B,eAAA,CAAAC,OAAA,EAAA/B,KAAA,EAAAE,gBAAA,MAAA8B,MAAA,GAAAhC,KAAA,CAAAiC,SAAA,CAAAD,MAAA,CAEME,oBAAoB,GAA3B,SAAAA,qBAAA,EAA8B,CAC5B,IAAI,CAAChB,WAAW,CAAC,CAAC,CACpB,CAAC,CAAAc,MAAA,CAEMG,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACE1D,MAAA,CAAAqD,OAAA,CAAAM,aAAA,CAACrD,aAAA,CAAAsD,YAAY,CAACC,QAAQ,QACnB,UAACC,KAAK,EAAK,CACVJ,MAAI,CAACI,KAAK,GAAGJ,MAAI,CAACjC,KAAK,CAACqC,KAAK,GAAGC,0BAAY,CAACC,MAAM,CAACN,MAAI,CAACjC,KAAK,CAACqC,KAAK,EAAWA,KAAK,CAAC,GAAGA,KAAK,CAC7F,oBACE9D,MAAA,CAAAqD,OAAA,CAAAM,aAAA,CAACrD,aAAA,CAAAsD,YAAY,CAACK,QAAQ,IAACC,KAAK,EAAER,MAAI,CAACI,KAAM,iBACvC9D,MAAA,CAAAqD,OAAA,CAAAM,aAAA,CAACpD,gBAAA,CAAA4D,eAAe,qBACdnE,MAAA,CAAAqD,OAAA,CAAAM,aAAA,CAACxD,qBAAA,CAAAiE,eAAe,QAAEV,MAAI,CAACW,YAAY,CAAC,CAAmB,CACxC,CACI,CAAC,CAE5B,CACqB,CAAC,CAE5B,CAAC,CAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAZE,CAAAf,MAAA,CAaOgB,IAAI,GAAX,SAAAA,KAAYpC,YAA6B,EAAEd,MAAyB,EAAE0B,QAAiB,EAAEK,aAAuB,EAAE,CAChH,IAAI,IAAI,CAAClB,KAAK,CAACC,YAAY,EAAE,CAC3B,IAAI,CAACb,KAAK,CAAC,CAAC,CACd,CAEAU,UAAU,CAAC,IAAI,CAACN,KAAK,CAAC8C,MAAM,EAAErC,YAAY,EAAEd,MAAM,CAAC,CAEnD,IAAI,CAACe,QAAQ,CAAC,UAAAqC,IAAA,OAAGtB,EAAE,GAAAsB,IAAA,CAAFtB,EAAE,QAAQ,EAAEhB,YAAY,EAAZA,YAAY,EAAEd,MAAM,EAANA,MAAM,EAAE8B,EAAE,EAAEA,EAAE,GAAG,CAAC,EAAEJ,QAAQ,EAARA,QAAQ,EAAEK,aAAa,EAAbA,aAAa,CAAC,CAAC,EAAC,EAAE,IAAI,CAACP,SAAS,CAAC,CAC5G,CAAC,CAAAU,MAAA,CAUOe,YAAY,GAApB,SAAAA,aAAA,EAAuB,CACrB,IAAAI,WAAA,GAAoD,IAAI,CAACxC,KAAK,CAAtDC,YAAY,GAAAuC,WAAA,CAAZvC,YAAY,CAAEd,MAAM,GAAAqD,WAAA,CAANrD,MAAM,CAAE8B,EAAE,GAAAuB,WAAA,CAAFvB,EAAE,CAAEC,aAAa,GAAAsB,WAAA,CAAbtB,aAAa,CAE/C,IAAI,CAACjB,YAAY,EAAE,CACjB,OAAO,IAAI,CACb,CAEA,IAAMwC,UAA0B,GAAG,EACjCC,YAAY,EAAE,IAAI,CAACnC,WAAW,EAC9BoC,YAAY,EAAE,IAAI,CAAChC,SAAS,EAC5BZ,OAAO,EAAE,IAAI,CAACX,KAAK,EACnBwD,QAAQ,EAAE3C,YAAY,EACtB,YAAY,EAAE,IAAI,CAACT,KAAK,CAAC,YAAY,CAAC,EACtCL,MAAM,EAANA,MAAM,EACN+B,aAAa,EAAbA,aAAa,CACf,CAAC,CAED,oBACEnD,MAAA,CAAAqD,OAAA,CAAAM,aAAA,CAACxD,qBAAA,CAAA2E,aAAa,IACZC,GAAG,EAAE7B,EAAG,EACR8B,UAAU,EAAE,EACVC,KAAK,EAAEC,cAAM,CAACD,KAAK,CAAC,CAAC,EACrBE,WAAW,EAAED,cAAM,CAACC,WAAW,CAAC,CAAC,EACjCC,IAAI,EAAEF,cAAM,CAACE,IAAI,CAAC,CAAC,EACnBC,UAAU,EAAEH,cAAM,CAACG,UAAU,CAAC,CAAC,CACjC,CAAE,EACFC,OAAO,EAAE,EACPL,KAAK,EAAE,GAAG,EACVG,IAAI,EAAE,GAAG,CACX,CAAE,EACFH,KAAK,EAAE,CAACM,6BAAU,EAClBH,IAAI,EAAE,CAACG,6BAAU,EACjBC,OAAO,EAAE,IAAI,CAAC5D,OAAQ,iBAEtB5B,MAAA,CAAAqD,OAAA,CAAAM,aAAA,CAACnD,cAAA,CAAAiF,aAAa,MAAAC,SAAA,CAAArC,OAAA,IAACsC,WAAW,EAAE,IAAI,CAACvD,UAAW,IAAK,IAAI,CAACX,KAAK,gBACzDzB,MAAA,CAAAqD,OAAA,CAAAM,aAAA,CAAC/C,UAAA,CAAAgF,SAAS,MAAAF,SAAA,CAAArC,OAAA,IAACwC,GAAG,EAAE,IAAI,CAAC7C,SAAU,IAAK0B,UAAU,CAAG,CACpC,CACF,CAAC,CAEpB,CAAC,QAAApD,KAAA,GAhIwBO,cAAK,CAACiE,SAAS,GAAA/E,MAAA,CAC1BgF,mBAAmB,GAAG,OAAO,EAAAhF,MAAA,CAC7BiF,WAAW,GAAG,OAAO,EAAAjF,MAAA,CAMrBuD,IAAI,GAAc,UAC9BpC,YAA6B,EAC7Bd,MAAyB,EACzB0B,QAAiB,EACjBK,aAAuB,EACpB,CACH8C,wBAAW,CAAC3B,IAAI,CAACpC,YAAY,EAAEd,MAAM,EAAE0B,QAAQ,EAAEK,aAAa,CAAC,CACjE,CAAC,EAAApC,MAAA,CAGaM,KAAK,GAAe,YAAM,CACtC4E,wBAAW,CAAC5E,KAAK,CAAC,CAAC,CACrB,CAAC,EAAAN,MAAA,MAAAD,MAAA,CAwIH,SAASiB,UAAUA,CAACmE,EAA8B,EAAkB,CAClE,IAAIA,EAAE,EAAE,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAD6CC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAJF,IAAI,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA,GAEvDN,EAAE,CAAAO,KAAA,SAAIH,IAAI,CAAC,CACb,CACF","ignoreList":[]}
@@ -1,8 +1,9 @@
1
+ import React from 'react';
1
2
  import type { Nullable } from '../../typings/utility-types';
2
3
  import type { Action } from './Toast';
3
4
  export declare class ToastStatic {
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;
5
+ static push: (notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) => void;
6
+ static _push: (notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) => void;
6
7
  static close: () => void;
7
8
  private static node;
8
9
  private static instance;
@@ -1 +1 @@
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 type { Nullable } from '../../typings/utility-types';\n\nimport type { Action } from './Toast';\nimport { Toast, 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;;;;;AAKA,IAAAG,MAAA,GAAAH,OAAA,YAA+C,IAAAI,YAAA;;AAElCC,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":[]}
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 type { Nullable } from '../../typings/utility-types';\n\nimport type { Action } from './Toast';\nimport { Toast, ToastDataTids } from './Toast';\n\nexport class ToastStatic {\n public static push = (\n notification: React.ReactNode,\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: React.ReactNode,\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;;;;;AAKA,IAAAG,MAAA,GAAAH,OAAA,YAA+C,IAAAI,YAAA;;AAElCC,WAAW,GAAAC,OAAA,CAAAD,WAAA,YAAAA,YAAA,KAAAD,YAAA,GAAXC,WAAW,CAAXA,WAAW;AACRE,IAAI,GAAG;AACnBC,YAA6B;AAC7BC,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,YAA6B;AAC7BC,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":[]}
@@ -5,7 +5,7 @@ import type { CommonProps } from '../../internal/CommonWrapper';
5
5
  import type { Action } from './Toast';
6
6
  export interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {
7
7
  /** Задает контент тоста. */
8
- children?: string;
8
+ children?: React.ReactNode;
9
9
  /** Добавляет возможность действия и кнопку закрытия у тоста. */
10
10
  action?: Nullable<Action>;
11
11
  showCloseIcon?: boolean;
@@ -14,20 +14,6 @@ export interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, Comm
14
14
  onMouseLeave?: () => void;
15
15
  }
16
16
  export declare class ToastView extends React.Component<ToastViewProps> {
17
- static propTypes: {
18
- /**
19
- * Adds action handling and close icon for toast
20
- */
21
- action: import("prop-types").Requireable<import("prop-types").InferProps<{
22
- label: import("prop-types").Validator<string>;
23
- handler: import("prop-types").Validator<(...args: any[]) => any>;
24
- }>>;
25
- /**
26
- * Toast content
27
- */
28
- children: import("prop-types").Validator<string>;
29
- onClose: import("prop-types").Requireable<(...args: any[]) => any>;
30
- };
31
17
  private theme;
32
18
  private setRootNode;
33
19
  private readonly locale;
@@ -1,6 +1,5 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.ToastView = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
2
2
  var _react = _interopRequireDefault(require("react"));
3
- var _propTypes = require("prop-types");
4
3
 
5
4
  var _decorators = require("../../lib/locale/decorators");
6
5
 
@@ -17,23 +16,7 @@ var _ToastView2 = require("./ToastView.styles");
17
16
 
18
17
  var _Toast = require("./Toast");
19
18
 
20
- var _locale = require("./locale");var _dec, _class, _ToastView;var
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
- ToastView = exports.ToastView = (_dec = (0, _decorators.locale)('Toast', _locale.ToastLocaleHelper), (0, _rootNode.rootNode)(_class = _dec(_class = (_ToastView = /*#__PURE__*/function (_React$Component) {function ToastView() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
36
-
19
+ var _locale = require("./locale");var _dec, _class;var
37
20
 
38
21
 
39
22
 
@@ -48,6 +31,7 @@ ToastView = exports.ToastView = (_dec = (0, _decorators.locale)('Toast', _locale
48
31
 
49
32
 
50
33
 
34
+ ToastView = exports.ToastView = (_dec = (0, _decorators.locale)('Toast', _locale.ToastLocaleHelper), (0, _rootNode.rootNode)(_class = _dec(_class = /*#__PURE__*/function (_React$Component) {function ToastView() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
51
35
 
52
36
 
53
37
 
@@ -110,8 +94,4 @@ ToastView = exports.ToastView = (_dec = (0, _decorators.locale)('Toast', _locale
110
94
  )
111
95
  ));
112
96
 
113
- };return _this;}(0, _inheritsLoose2.default)(ToastView, _React$Component);var _proto = ToastView.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};return ToastView;}(_react.default.Component), _ToastView.propTypes = { /**
114
- * Adds action handling and close icon for toast
115
- */action: (0, _propTypes.shape)({ label: _propTypes.string.isRequired, handler: _propTypes.func.isRequired }), /**
116
- * Toast content
117
- */children: _propTypes.string.isRequired, onClose: _propTypes.func }, _ToastView)) || _class) || _class);
97
+ };return _this;}(0, _inheritsLoose2.default)(ToastView, _React$Component);var _proto = ToastView.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};return ToastView;}(_react.default.Component)) || _class) || _class);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_decorators","_ZIndex","_ThemeContext","_CommonWrapper","_rootNode","_CloseButtonIcon","_ToastView2","_Toast","_locale","_dec","_class","_ToastView","ToastView","exports","locale","ToastLocaleHelper","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","renderMain","_this$props","props","action","showCloseIcon","onClose","onMouseEnter","onMouseLeave","link","default","createElement","ToastDataTids","className","styles","theme","onClick","handler","label","close","closeWrapper","CloseButtonIcon","closeButtonAriaLabel","size","parseInt","toastCloseSize","side","color","toastCloseColor","colorHover","toastCloseHoverColor","tabbable","CommonWrapper","ZIndex","priority","wrapper","toastView","root","ref","setRootNode","children","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","React","Component","propTypes","shape","string","isRequired","func"],"sources":["ToastView.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { func, shape, string } from 'prop-types';\n\nimport { locale } from '../../lib/locale/decorators';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\n\nimport { styles } from './ToastView.styles';\nimport type { Action } from './Toast';\nimport { ToastDataTids } from './Toast';\nimport type { ToastLocale } from './locale';\nimport { ToastLocaleHelper } from './locale';\n\nexport interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает контент тоста. */\n children?: string;\n /** Добавляет возможность действия и кнопку закрытия у тоста. */\n action?: Nullable<Action>;\n showCloseIcon?: boolean;\n onClose?: () => void;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\n@rootNode\n@locale('Toast', ToastLocaleHelper)\nexport class ToastView extends React.Component<ToastViewProps> {\n public static propTypes = {\n /**\n * Adds action handling and close icon for toast\n */\n action: shape({\n label: string.isRequired,\n handler: func.isRequired,\n }),\n /**\n * Toast content\n */\n children: string.isRequired,\n onClose: func,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private readonly locale!: ToastLocale;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = () => {\n const { action, showCloseIcon, onClose, onMouseEnter, onMouseLeave } = this.props;\n\n const link = action ? (\n <button\n aria-label={action['aria-label']}\n data-tid={ToastDataTids.action}\n className={styles.link(this.theme)}\n onClick={action.handler}\n >\n {action.label}\n </button>\n ) : null;\n\n const close =\n action || showCloseIcon ? (\n <span className={styles.closeWrapper(this.theme)}>\n <CloseButtonIcon\n aria-label={this.locale.closeButtonAriaLabel}\n data-tid={ToastDataTids.close}\n onClick={onClose}\n size={parseInt(this.theme.toastCloseSize)}\n side={40}\n color={this.theme.toastCloseColor}\n colorHover={this.theme.toastCloseHoverColor}\n tabbable={false}\n />\n </span>\n ) : null;\n\n return (\n <CommonWrapper {...this.props}>\n <ZIndex priority=\"Toast\" className={styles.wrapper(this.theme)}>\n <div\n data-tid={ToastDataTids.toastView}\n className={styles.root(this.theme)}\n ref={this.setRootNode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <span>{this.props.children}</span>\n {link}\n {close}\n </div>\n </ZIndex>\n </CommonWrapper>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_decorators","_ZIndex","_ThemeContext","_CommonWrapper","_rootNode","_CloseButtonIcon","_ToastView2","_Toast","_locale","_dec","_class","ToastView","exports","locale","ToastLocaleHelper","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","renderMain","_this$props","props","action","showCloseIcon","onClose","onMouseEnter","onMouseLeave","link","default","createElement","ToastDataTids","className","styles","theme","onClick","handler","label","close","closeWrapper","CloseButtonIcon","closeButtonAriaLabel","size","parseInt","toastCloseSize","side","color","toastCloseColor","colorHover","toastCloseHoverColor","tabbable","CommonWrapper","ZIndex","priority","wrapper","toastView","root","ref","setRootNode","children","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","React","Component"],"sources":["ToastView.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport { locale } from '../../lib/locale/decorators';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\n\nimport { styles } from './ToastView.styles';\nimport type { Action } from './Toast';\nimport { ToastDataTids } from './Toast';\nimport type { ToastLocale } from './locale';\nimport { ToastLocaleHelper } from './locale';\n\nexport interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает контент тоста. */\n children?: React.ReactNode;\n /** Добавляет возможность действия и кнопку закрытия у тоста. */\n action?: Nullable<Action>;\n showCloseIcon?: boolean;\n onClose?: () => void;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\n@rootNode\n@locale('Toast', ToastLocaleHelper)\nexport class ToastView extends React.Component<ToastViewProps> {\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private readonly locale!: ToastLocale;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = () => {\n const { action, showCloseIcon, onClose, onMouseEnter, onMouseLeave } = this.props;\n\n const link = action ? (\n <button\n aria-label={action['aria-label']}\n data-tid={ToastDataTids.action}\n className={styles.link(this.theme)}\n onClick={action.handler}\n >\n {action.label}\n </button>\n ) : null;\n\n const close =\n action || showCloseIcon ? (\n <span className={styles.closeWrapper(this.theme)}>\n <CloseButtonIcon\n aria-label={this.locale.closeButtonAriaLabel}\n data-tid={ToastDataTids.close}\n onClick={onClose}\n size={parseInt(this.theme.toastCloseSize)}\n side={40}\n color={this.theme.toastCloseColor}\n colorHover={this.theme.toastCloseHoverColor}\n tabbable={false}\n />\n </span>\n ) : null;\n\n return (\n <CommonWrapper {...this.props}>\n <ZIndex priority=\"Toast\" className={styles.wrapper(this.theme)}>\n <div\n data-tid={ToastDataTids.toastView}\n className={styles.root(this.theme)}\n ref={this.setRootNode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <span>{this.props.children}</span>\n {link}\n {close}\n </div>\n </ZIndex>\n </CommonWrapper>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import type { AriaAttributes, InputHTMLAttributes } from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import type { CommonProps } from '../../internal/CommonWrapper';
5
4
  import type { SizeProp } from '../../lib/types/props';
6
5
  export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name'>, CommonProps {
@@ -57,15 +56,6 @@ type DefaultProps = Required<Pick<ToggleProps, 'disabled' | 'loading' | 'caption
57
56
  export declare class Toggle extends React.Component<ToggleProps, ToggleState> {
58
57
  static __KONTUR_REACT_UI__: string;
59
58
  static displayName: string;
60
- static propTypes: {
61
- checked: PropTypes.Requireable<boolean>;
62
- defaultChecked: PropTypes.Requireable<boolean>;
63
- disabled: PropTypes.Requireable<boolean>;
64
- error: PropTypes.Requireable<boolean>;
65
- loading: PropTypes.Requireable<boolean>;
66
- warning: PropTypes.Requireable<boolean>;
67
- onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
68
- };
69
59
  static defaultProps: DefaultProps;
70
60
  private getProps;
71
61
  private theme;
@@ -1,6 +1,5 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.ToggleDataTids = exports.Toggle = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
 
3
- var _propTypes = _interopRequireDefault(require("prop-types"));
4
3
 
5
4
  var _keyListener = require("../../lib/events/keyListener");
6
5
  var _ThemeContext = require("../../lib/theming/ThemeContext");
@@ -99,16 +98,6 @@ Toggle = exports.Toggle = (0, _rootNode.rootNode)(_class = (_Toggle = /*#__PURE_
99
98
 
100
99
 
101
100
 
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
-
110
-
111
-
112
101
 
113
102
 
114
103
 
@@ -351,4 +340,4 @@ Toggle = exports.Toggle = (0, _rootNode.rootNode)(_class = (_Toggle = /*#__PURE_
351
340
 
352
341
  isUncontrolled = function isUncontrolled() {
353
342
  return this.props.checked === undefined;
354
- };return Toggle;}(_react.default.Component), _Toggle.__KONTUR_REACT_UI__ = 'Toggle', _Toggle.displayName = 'Toggle', _Toggle.propTypes = { checked: _propTypes.default.bool, defaultChecked: _propTypes.default.bool, disabled: _propTypes.default.bool, error: _propTypes.default.bool, loading: _propTypes.default.bool, warning: _propTypes.default.bool, onValueChange: _propTypes.default.func }, _Toggle.defaultProps = { disabled: false, loading: false, captionPosition: 'right', disableAnimations: _currentEnvironment.isTestEnv, size: 'small' }, _Toggle)) || _class;
343
+ };return Toggle;}(_react.default.Component), _Toggle.__KONTUR_REACT_UI__ = 'Toggle', _Toggle.displayName = 'Toggle', _Toggle.defaultProps = { disabled: false, loading: false, captionPosition: 'right', disableAnimations: _currentEnvironment.isTestEnv, size: 'small' }, _Toggle)) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_keyListener","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_currentEnvironment","_FocusControlWrapper","_Toggle2","_class","_Toggle","ToggleDataTids","exports","root","Toggle","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","input","focus","keyListener","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","resetFocus","handleBlur","onBlur","state","defaultChecked","_inheritsLoose2","default","_proto","prototype","componentDidMount","autoFocus","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","getContainerSizeClassName","size","styles","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","_cx","_cx2","_cx4","_cx5","_this$props","children","warning","error","id","name","ariaDescribedby","ariaLabel","_this$getProps","loading","captionPosition","disableAnimations","disabled","containerClassNames","cx","container","containerDisabled","globalClasses","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","_cx3","captionClass","captionLeft","disabledCaption","className","CommonWrapper","_extends2","rootNodeRef","setRootNode","button","buttonRight","isWarning","isError","focused","FocusControlWrapper","onBlurWhenDisabled","type","ref","role","handle","handleDisabled","undefined","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","func","isTestEnv"],"sources":["Toggle.tsx"],"sourcesContent":["import React from 'react';\nimport type { AriaAttributes, InputHTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nexport interface ToggleProps\n extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name'>,\n CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает положение `children` относительно переключателя.\n * @default 'right' */\n captionPosition?: 'left' | 'right';\n\n /** Включает тогл.\n * @default false */\n checked?: boolean;\n\n /** Делает `тогл` включенным по умолчанию. Не работает при заданном пропе `checked`. */\n defaultChecked?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает функцию, вызывающуюся при изменении значения. */\n onValueChange?: (value: boolean) => void;\n\n /** Задает функцию, которая вызывается при клике на `тогл`. */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n\n /** Переводит контрол в состояние валидации \"предупреждение\".\n * @default false */\n warning?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\".\n * @default false */\n error?: boolean;\n\n /** Переводит тогл в состояние загрузки: добавляет стили для состояния `loading` и отключает `тогл`.*/\n loading?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\".\n * @default false */\n autoFocus?: boolean;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Задает функцию, которая вызывается, когда `тогл` получает фокус.*/\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n\n /** Задает функцию, которая вызывается, когда `тогл` теряет фокус. */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>\n>;\n\n/**\n * `Toggle` переключает состояния. Например, включает или отключает уведомления в настройках.\n * `Toggle` представляет из себя надпись + переключатель.\n *\n * `Toggle` нельзя использовать для выбора элементов в списке. Например, выбрать несколько писем.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n public static displayName = 'Toggle';\n\n public static propTypes = {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n loading: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getContainerSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.containerLarge(this.theme);\n case 'medium':\n return styles.containerMedium(this.theme);\n case 'small':\n default:\n return styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.handleLarge(this.theme);\n case 'medium':\n return styles.handleMedium(this.theme);\n case 'small':\n default:\n return styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.buttonLarge(this.theme);\n case 'medium':\n return styles.buttonMedium(this.theme);\n case 'small':\n default:\n return styles.buttonSmall(this.theme);\n }\n }\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 getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const {\n children,\n warning,\n error,\n id,\n name,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(this.getContainerSizeClassName(), {\n [styles.container(this.theme)]: true,\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(this.getCaptionSizeClassName(), {\n [styles.caption(this.theme)]: true,\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(this.getButtonSizeClassName(), {\n [styles.button(this.theme)]: true,\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), styles.input(this.theme))}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n name={name}\n role=\"switch\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n </FocusControlWrapper>\n <div className={containerClassNames} />\n <div\n className={cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [styles.handle(this.theme)]: true,\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private resetFocus = () => this.setState({ focusByTab: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_keyListener","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_currentEnvironment","_FocusControlWrapper","_Toggle2","_class","_Toggle","ToggleDataTids","exports","root","Toggle","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","input","focus","keyListener","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","resetFocus","handleBlur","onBlur","state","defaultChecked","_inheritsLoose2","default","_proto","prototype","componentDidMount","autoFocus","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","getContainerSizeClassName","size","styles","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","_cx","_cx2","_cx4","_cx5","_this$props","children","warning","error","id","name","ariaDescribedby","ariaLabel","_this$getProps","loading","captionPosition","disableAnimations","disabled","containerClassNames","cx","container","containerDisabled","globalClasses","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","_cx3","captionClass","captionLeft","disabledCaption","className","CommonWrapper","_extends2","rootNodeRef","setRootNode","button","buttonRight","isWarning","isError","focused","FocusControlWrapper","onBlurWhenDisabled","type","ref","role","handle","handleDisabled","undefined","React","Component","__KONTUR_REACT_UI__","displayName","isTestEnv"],"sources":["Toggle.tsx"],"sourcesContent":["import React from 'react';\nimport type { AriaAttributes, InputHTMLAttributes } from 'react';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nexport interface ToggleProps\n extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name'>,\n CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает положение `children` относительно переключателя.\n * @default 'right' */\n captionPosition?: 'left' | 'right';\n\n /** Включает тогл.\n * @default false */\n checked?: boolean;\n\n /** Делает `тогл` включенным по умолчанию. Не работает при заданном пропе `checked`. */\n defaultChecked?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает функцию, вызывающуюся при изменении значения. */\n onValueChange?: (value: boolean) => void;\n\n /** Задает функцию, которая вызывается при клике на `тогл`. */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n\n /** Переводит контрол в состояние валидации \"предупреждение\".\n * @default false */\n warning?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\".\n * @default false */\n error?: boolean;\n\n /** Переводит тогл в состояние загрузки: добавляет стили для состояния `loading` и отключает `тогл`.*/\n loading?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\".\n * @default false */\n autoFocus?: boolean;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Задает функцию, которая вызывается, когда `тогл` получает фокус.*/\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n\n /** Задает функцию, которая вызывается, когда `тогл` теряет фокус. */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>\n>;\n\n/**\n * `Toggle` переключает состояния. Например, включает или отключает уведомления в настройках.\n * `Toggle` представляет из себя надпись + переключатель.\n *\n * `Toggle` нельзя использовать для выбора элементов в списке. Например, выбрать несколько писем.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n public static displayName = 'Toggle';\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getContainerSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.containerLarge(this.theme);\n case 'medium':\n return styles.containerMedium(this.theme);\n case 'small':\n default:\n return styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.handleLarge(this.theme);\n case 'medium':\n return styles.handleMedium(this.theme);\n case 'small':\n default:\n return styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.buttonLarge(this.theme);\n case 'medium':\n return styles.buttonMedium(this.theme);\n case 'small':\n default:\n return styles.buttonSmall(this.theme);\n }\n }\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 getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const {\n children,\n warning,\n error,\n id,\n name,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(this.getContainerSizeClassName(), {\n [styles.container(this.theme)]: true,\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(this.getCaptionSizeClassName(), {\n [styles.caption(this.theme)]: true,\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(this.getButtonSizeClassName(), {\n [styles.button(this.theme)]: true,\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), styles.input(this.theme))}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n name={name}\n role=\"switch\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n </FocusControlWrapper>\n <div className={containerClassNames} />\n <div\n className={cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [styles.handle(this.theme)]: true,\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private resetFocus = () => this.setState({ focusByTab: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,89 +6,6 @@ import { Token } from '@skbkontur/react-ui';
6
6
  <Token>Example</Token>;
7
7
  ```
8
8
 
9
- ### Цвет токена
10
- У разных токенов может быть разный цвет.
11
-
12
- ```jsx harmony
13
- import { Gapped, Token } from '@skbkontur/react-ui';
14
-
15
- const colors = {
16
- default: {
17
- idle: 'defaultIdle',
18
- active: 'defaultActive',
19
- },
20
- gray: {
21
- idle: 'grayIdle',
22
- active: 'grayActive',
23
- },
24
- blue: {
25
- idle: 'blueIdle',
26
- active: 'blueActive',
27
- },
28
- green: {
29
- idle: 'greenIdle',
30
- active: 'greenActive',
31
- },
32
- yellow: {
33
- idle: 'yellowIdle',
34
- active: 'yellowActive',
35
- },
36
- red: {
37
- idle: 'redIdle',
38
- active: 'redActive',
39
- },
40
- mono: {
41
- idle: 'white',
42
- active: 'black',
43
- },
44
- };
45
-
46
- <Gapped gap={20} vertical>
47
- <Gapped gap={10}>
48
- <Token colors={colors.default}>Default</Token>
49
- <Token isActive colors={colors.default}>
50
- Default
51
- </Token>
52
- </Gapped>
53
- <Gapped gap={10}>
54
- <Token colors={colors.gray}>Gray</Token>
55
- <Token isActive colors={colors.gray}>
56
- Gray
57
- </Token>
58
- </Gapped>
59
- <Gapped gap={10}>
60
- <Token colors={colors.blue}>Blue</Token>
61
- <Token isActive colors={colors.blue}>
62
- Blue
63
- </Token>
64
- </Gapped>
65
- <Gapped gap={10}>
66
- <Token colors={colors.green}>Green</Token>
67
- <Token isActive colors={colors.green}>
68
- Green
69
- </Token>
70
- </Gapped>
71
- <Gapped gap={10}>
72
- <Token colors={colors.yellow}>Yellow</Token>
73
- <Token isActive colors={colors.yellow}>
74
- Yellow
75
- </Token>
76
- </Gapped>
77
- <Gapped gap={10}>
78
- <Token colors={colors.red}>Red</Token>
79
- <Token isActive colors={colors.red}>
80
- Red
81
- </Token>
82
- </Gapped>
83
- <Gapped gap={10}>
84
- <Token colors={colors.mono}>Monochrome</Token>
85
- <Token isActive colors={colors.mono}>
86
- Monochrome
87
- </Token>
88
- </Gapped>
89
- </Gapped>;
90
- ```
91
-
92
9
  ### Состояние валидации
93
10
 
94
11
  ```jsx harmony
@@ -87,8 +87,8 @@ export interface TokenInputProps<T> extends CommonProps, Pick<AriaAttributes, 'a
87
87
  /** Задает функцию для обработки ввода строки в инпут и последующую потерю фокуса компонентом.
88
88
  * Функция срабатывает с аргументом инпута строки
89
89
  *
90
- * Если при потере фокуса в выпадающем списке будет только один элемент и результат `valueToString` с этим элементом будет
91
- * совпадать со значение в текстовом поле, то сработает `onValueChange` со значением данного элемента
90
+ * Если при потере фокуса в выпадающем списке будет только один элемент и результат `valueToString` с этим элементом будет
91
+ * совпадать со значением в текстовом поле, то сработает `onValueChange` со значением данного элемента
92
92
  *
93
93
  * Сама функция также может вернуть значение, неравное `undefined`, с которым будет вызван `onValueChange`.
94
94
  * При возвращаемом значении `null` будет выполнена очистка текущего значения инпута, а в режиме редактирования токен будет удален. */
@@ -555,6 +555,7 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
555
555
 
556
556
 
557
557
 
558
+
558
559
 
559
560
 
560
561
  hasValueInItems = function (items, value) {
@@ -1218,7 +1219,7 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
1218
1219
  * @public
1219
1220
  */;_proto.blur = function blur() {var _this$input9;(_this$input9 = this.input) == null || _this$input9.blur();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.getLabelSizeClassName = function getLabelSizeClassName() {switch (this.getProps().size) {case 'large':return _TokenInput2.styles.labelLarge(this.theme);case 'medium':return _TokenInput2.styles.labelMedium(this.theme);case 'small':default:return _TokenInput2.styles.labelSmall(this.theme);}};_proto.getInputSizeClassName = function getInputSizeClassName() {switch (this.getProps().size) {case 'large':return _TokenInput2.styles.inputLarge(this.theme);case 'medium':return _TokenInput2.styles.inputMedium(this.theme);case 'small':default:return _TokenInput2.styles.inputSmall(this.theme);}};_proto.renderMain = function renderMain() {var _cx, _cx2, _cx3;if (this.type !== TokenInputType.WithoutReference && !this.props.getItems) {throw Error('Missed getItems for type ' + this.type);}var _this$props2 = this.props,maxMenuHeight = _this$props2.maxMenuHeight,error = _this$props2.error,warning = _this$props2.warning,disabled = _this$props2.disabled,renderNotFound = _this$props2.renderNotFound,hideMenuIfEmptyInputValue = _this$props2.hideMenuIfEmptyInputValue,inputMode = _this$props2.inputMode,renderTotalCount = _this$props2.renderTotalCount,totalCount = _this$props2.totalCount,ariaDescribedby = _this$props2['aria-describedby'],ariaLabel = _this$props2['aria-label'];var _this$getProps8 = this.getProps(),selectedItems = _this$getProps8.selectedItems,width = _this$getProps8.width,onMouseEnter = _this$getProps8.onMouseEnter,onMouseLeave = _this$getProps8.onMouseLeave,menuWidth = _this$getProps8.menuWidth,menuAlign = _this$getProps8.menuAlign,renderItem = _this$getProps8.renderItem;var _this$state3 = this.state,activeTokens = _this$state3.activeTokens,inFocus = _this$state3.inFocus,inputValueWidth = _this$state3.inputValueWidth,inputValueHeight = _this$state3.inputValueHeight,inputValue = _this$state3.inputValue,reservedInputValue = _this$state3.reservedInputValue,autocompleteItems = _this$state3.autocompleteItems,loading = _this$state3.loading;var showMenu = this.type !== TokenInputType.WithoutReference && this.isCursorVisible && activeTokens.length === 0 && (inputValue !== '' || !hideMenuIfEmptyInputValue);var theme = this.theme;var inputInlineStyles = { // вычисляем ширину чтобы input автоматически перенёсся на следующую строку при необходимости
1220
1221
  width: inputValueWidth, height: inputValueHeight, // в ie не работает, но альтернативный способ --- дать tabindex для label --- предположительно ещё сложнее
1221
- caretColor: this.isCursorVisible ? undefined : 'transparent' };var labelClassName = (0, _Emotion.cx)(_TokenInput2.styles.label(theme), this.getLabelSizeClassName(), (_cx = {}, _cx[_TokenInput2.styles.hovering(this.theme)] = !inFocus && !disabled && !warning && !error, _cx[_TokenInput2.styles.labelDisabled(theme)] = !!disabled, _cx[_TokenInput2.styles.labelFocused(theme)] = !!inFocus, _cx[_TokenInput2.styles.error(theme)] = !!error, _cx[_TokenInput2.styles.warning(theme)] = !!warning, _cx));var inputClassName = (0, _Emotion.cx)(_TokenInput2.styles.input(theme), this.getInputSizeClassName(), (_cx2 = {}, _cx2[_TokenInput2.styles.inputDisabled(theme)] = !!disabled, _cx2));var placeholder = selectedItems.length === 0 && !inputValue ? this.props.placeholder : '';var inputNode = /*#__PURE__*/_react.default.createElement(_TokenView.TokenView, { size: this.getProps().size, className: (0, _Emotion.cx)((_cx3 = {}, _cx3[_TokenInput2.styles.inputPlaceholderWrapper()] = Boolean(placeholder), _cx3)), hideCloseButton: Boolean(placeholder) }, /*#__PURE__*/_react.default.createElement("textarea", { id: this.textareaId, ref: this.inputRef, value: inputValue, style: inputInlineStyles, spellCheck: false, disabled: disabled, className: inputClassName, placeholder: placeholder, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onChange: this.handleChangeInputValue, onKeyDown: this.handleKeyDown, onPaste: this.handleInputPaste, inputMode: inputMode, "aria-label": ariaLabel, "aria-describedby": ariaDescribedby }));return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": TokenInputDataTids.root, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, /*#__PURE__*/_react.default.createElement("label", { ref: this.wrapperRef, style: { width: width }, className: labelClassName, onMouseDown: this.handleWrapperMouseDown, onMouseUp: this.handleWrapperMouseUp, htmlFor: this.textareaId, "aria-controls": this.rootId, "data-tid": TokenInputDataTids.label }, /*#__PURE__*/_react.default.createElement(_TextWidthHelper.TextWidthHelper, { ref: this.textHelperRef, text: inputValue, theme: this.theme, size: this.getProps().size }), this.renderTokensStart(), inputNode, showMenu && /*#__PURE__*/_react.default.createElement(_TokenInputMenu.TokenInputMenu, { popupMenuId: this.rootId, ref: this.tokensInputMenuRef, items: autocompleteItems, loading: loading, opened: showMenu, maxMenuHeight: maxMenuHeight, anchorElement: menuAlign === 'cursor' ? this.input : this.wrapper, renderNotFound: renderNotFound, renderItem: renderItem, onValueChange: this.selectItem, renderAddButton: this.renderAddButton, menuWidth: menuWidth, menuAlign: menuAlign, renderTotalCount: renderTotalCount, totalCount: totalCount, size: this.getProps().size }), this.renderTokensEnd(), this.isEditingMode ? /*#__PURE__*/_react.default.createElement(_TokenView.TokenView, { size: this.props.size }, /*#__PURE__*/_react.default.createElement("span", { className: _TokenInput2.styles.reservedInput(theme) }, reservedInputValue)) : null)));} /**
1222
+ caretColor: this.isCursorVisible ? undefined : 'transparent' };var labelClassName = (0, _Emotion.cx)(_TokenInput2.styles.label(theme), this.getLabelSizeClassName(), (_cx = {}, _cx[_TokenInput2.styles.hovering(this.theme)] = !inFocus && !disabled && !warning && !error, _cx[_TokenInput2.styles.labelDisabled(theme)] = !!disabled, _cx[_TokenInput2.styles.labelFocused(theme)] = !!inFocus, _cx[_TokenInput2.styles.error(theme)] = !!error, _cx[_TokenInput2.styles.warning(theme)] = !!warning, _cx));var inputClassName = (0, _Emotion.cx)(_TokenInput2.styles.input(theme), this.getInputSizeClassName(), (_cx2 = {}, _cx2[_TokenInput2.styles.inputDisabled(theme)] = !!disabled, _cx2));var placeholder = selectedItems.length === 0 && !inputValue ? this.props.placeholder : '';var inputNode = /*#__PURE__*/_react.default.createElement(_TokenView.TokenView, { size: this.getProps().size, className: (0, _Emotion.cx)((_cx3 = {}, _cx3[_TokenInput2.styles.inputPlaceholderWrapper()] = Boolean(placeholder), _cx3)), hideCloseButton: Boolean(placeholder) }, /*#__PURE__*/_react.default.createElement("textarea", { id: this.textareaId, ref: this.inputRef, value: inputValue, style: inputInlineStyles, spellCheck: false, disabled: disabled, className: inputClassName, placeholder: placeholder, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onChange: this.handleChangeInputValue, onKeyDown: this.handleKeyDown, onPaste: this.handleInputPaste, inputMode: inputMode, "aria-label": ariaLabel, "aria-describedby": ariaDescribedby }));return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": TokenInputDataTids.root, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, /*#__PURE__*/_react.default.createElement("label", { ref: this.wrapperRef, style: { width: width }, className: labelClassName, onMouseDown: this.handleWrapperMouseDown, onMouseUp: this.handleWrapperMouseUp, htmlFor: this.textareaId, "aria-controls": this.rootId, "data-tid": TokenInputDataTids.label }, /*#__PURE__*/_react.default.createElement(_TextWidthHelper.TextWidthHelper, { ref: this.textHelperRef, text: inputValue, theme: this.theme, size: this.getProps().size }), this.renderTokensStart(), inputNode, showMenu && /*#__PURE__*/_react.default.createElement(_TokenInputMenu.TokenInputMenu, { popupMenuId: this.rootId, ref: this.tokensInputMenuRef, items: autocompleteItems, loading: loading, opened: showMenu, maxMenuHeight: maxMenuHeight, anchorElementForCursor: this.input, anchorElementRoot: this.wrapper, renderNotFound: renderNotFound, renderItem: renderItem, onValueChange: this.selectItem, renderAddButton: this.renderAddButton, menuWidth: menuWidth, menuAlign: menuAlign, renderTotalCount: renderTotalCount, totalCount: totalCount, size: this.getProps().size }), this.renderTokensEnd(), this.isEditingMode ? /*#__PURE__*/_react.default.createElement(_TokenView.TokenView, { size: this.props.size }, /*#__PURE__*/_react.default.createElement("span", { className: _TokenInput2.styles.reservedInput(theme) }, reservedInputValue)) : null)));} /**
1222
1223
  * Сбрасывает введенное пользователем значение
1223
1224
  * @public
1224
1225
  */;_proto.reset = function reset() {this.dispatch({ type: 'RESET' });};_proto.isCursorVisibleForState = function isCursorVisibleForState(state) {return state.inFocus && (state.inputValue !== '' || state.activeTokens.length === 0);};_proto.updateInputTextWidth = function updateInputTextWidth() {if (this.textHelper) {// в IE текст иногда не помещается в input