@skbkontur/react-ui 0.0.0-b4292e4d5b → 0.0.0-b821a2f064

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 (887) hide show
  1. package/CHANGELOG.md +130 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +2 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js +1 -0
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +7 -2
  6. package/cjs/components/Button/Button.js +21 -4
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.md +68 -0
  9. package/cjs/components/Button/Button.mixins.js +1 -1
  10. package/cjs/components/Button/Button.mixins.js.map +1 -1
  11. package/cjs/components/Button/Button.styles.d.ts +2 -1
  12. package/cjs/components/Button/Button.styles.js +11 -3
  13. package/cjs/components/Button/Button.styles.js.map +1 -1
  14. package/cjs/components/Button/ButtonArrow.js +1 -1
  15. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  16. package/cjs/components/Button/ButtonIcon.d.ts +3 -2
  17. package/cjs/components/Button/ButtonIcon.js +2 -4
  18. package/cjs/components/Button/ButtonIcon.js.map +1 -1
  19. package/cjs/components/Button/getInnerLinkTheme.js +1 -0
  20. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  21. package/cjs/components/Calendar/Calendar.js +7 -6
  22. package/cjs/components/Calendar/Calendar.js.map +1 -1
  23. package/cjs/components/Checkbox/Checkbox.d.ts +6 -2
  24. package/cjs/components/Checkbox/Checkbox.js +12 -7
  25. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  26. package/cjs/components/ComboBox/ComboBox.d.ts +2 -1
  27. package/cjs/components/ComboBox/ComboBox.js +1 -0
  28. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  29. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -1
  30. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  31. package/cjs/components/DateInput/DateFragmentsView.js +2 -1
  32. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  33. package/cjs/components/DateInput/DateInput.d.ts +2 -1
  34. package/cjs/components/DateInput/DateInput.js +15 -6
  35. package/cjs/components/DateInput/DateInput.js.map +1 -1
  36. package/cjs/components/DateInput/helpers/SelectionHelpers.js +11 -10
  37. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  38. package/cjs/components/DatePicker/DatePicker.d.ts +2 -1
  39. package/cjs/components/DatePicker/DatePicker.js +1 -0
  40. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  41. package/cjs/components/Dropdown/Dropdown.d.ts +3 -2
  42. package/cjs/components/Dropdown/Dropdown.js +1 -0
  43. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  44. package/cjs/components/Dropdown/getDropdownTheme.js +21 -22
  45. package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
  46. package/cjs/components/FileUploader/FileUploader.d.ts +6 -2
  47. package/cjs/components/FileUploader/FileUploader.js +9 -5
  48. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  49. package/cjs/components/FileUploader/FileUploader.styles.d.ts +1 -1
  50. package/cjs/components/FileUploader/FileUploader.styles.js +10 -2
  51. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  52. package/cjs/components/FxInput/FxInput.js +1 -0
  53. package/cjs/components/FxInput/FxInput.js.map +1 -1
  54. package/cjs/components/FxInput/FxInputRestoreBtn.js +1 -0
  55. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  56. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -2
  57. package/cjs/components/GlobalLoader/GlobalLoader.js +10 -15
  58. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  59. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  60. package/cjs/components/GlobalLoader/GlobalLoaderView.js +3 -5
  61. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  62. package/cjs/components/Hint/Hint.js +5 -4
  63. package/cjs/components/Hint/Hint.js.map +1 -1
  64. package/cjs/components/Input/Input.d.ts +6 -2
  65. package/cjs/components/Input/Input.js +16 -10
  66. package/cjs/components/Input/Input.js.map +1 -1
  67. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -1
  68. package/cjs/components/Input/InputLayout/InputLayout.styles.js +7 -2
  69. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  70. package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -7
  71. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  72. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -0
  73. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  74. package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  75. package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
  76. package/cjs/components/Kebab/Kebab.d.ts +2 -1
  77. package/cjs/components/Kebab/Kebab.js +2 -1
  78. package/cjs/components/Kebab/Kebab.js.map +1 -1
  79. package/cjs/components/Link/Link.d.ts +6 -1
  80. package/cjs/components/Link/Link.js +19 -8
  81. package/cjs/components/Link/Link.js.map +1 -1
  82. package/cjs/components/Link/Link.md +69 -0
  83. package/cjs/components/Link/Link.styles.d.ts +1 -0
  84. package/cjs/components/Link/Link.styles.js +30 -22
  85. package/cjs/components/Link/Link.styles.js.map +1 -1
  86. package/cjs/components/Loader/Loader.js +8 -7
  87. package/cjs/components/Loader/Loader.js.map +1 -1
  88. package/cjs/components/MenuFooter/MenuFooter.d.ts +6 -2
  89. package/cjs/components/MenuFooter/MenuFooter.js +4 -0
  90. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  91. package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -2
  92. package/cjs/components/MenuHeader/MenuHeader.js +4 -0
  93. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  94. package/cjs/components/MenuItem/MenuItem.d.ts +6 -2
  95. package/cjs/components/MenuItem/MenuItem.js +6 -1
  96. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  97. package/cjs/components/MiniModal/MiniModal.d.ts +18 -0
  98. package/cjs/components/MiniModal/MiniModal.js +47 -0
  99. package/cjs/components/MiniModal/MiniModal.js.map +1 -0
  100. package/cjs/components/MiniModal/MiniModal.md +233 -0
  101. package/cjs/components/MiniModal/MiniModal.styles.d.ts +14 -0
  102. package/cjs/components/MiniModal/MiniModal.styles.js +87 -0
  103. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -0
  104. package/cjs/components/MiniModal/MiniModalBody.d.ts +7 -0
  105. package/cjs/components/MiniModal/MiniModalBody.js +24 -0
  106. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -0
  107. package/cjs/components/MiniModal/MiniModalFooter.d.ts +18 -0
  108. package/cjs/components/MiniModal/MiniModalFooter.js +60 -0
  109. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -0
  110. package/cjs/components/MiniModal/MiniModalHeader.d.ts +17 -0
  111. package/cjs/components/MiniModal/MiniModalHeader.js +47 -0
  112. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -0
  113. package/cjs/components/MiniModal/MiniModalIndent.d.ts +6 -0
  114. package/cjs/components/MiniModal/MiniModalIndent.js +29 -0
  115. package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -0
  116. package/cjs/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  117. package/cjs/components/MiniModal/getMiniModalTheme.js +24 -0
  118. package/cjs/components/MiniModal/getMiniModalTheme.js.map +1 -0
  119. package/cjs/components/MiniModal/index.d.ts +5 -0
  120. package/cjs/components/MiniModal/index.js +5 -0
  121. package/cjs/components/MiniModal/index.js.map +1 -0
  122. package/cjs/components/Modal/Modal.d.ts +6 -0
  123. package/cjs/components/Modal/Modal.js +15 -1
  124. package/cjs/components/Modal/Modal.js.map +1 -1
  125. package/cjs/components/Modal/Modal.styles.d.ts +5 -0
  126. package/cjs/components/Modal/Modal.styles.js +56 -39
  127. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  128. package/cjs/components/Modal/ModalClose.js +2 -1
  129. package/cjs/components/Modal/ModalClose.js.map +1 -1
  130. package/cjs/components/Modal/ModalHeader.js +1 -1
  131. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  132. package/cjs/components/Modal/ModalSeparator.d.ts +5 -0
  133. package/cjs/components/Modal/ModalSeparator.js +5 -0
  134. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  135. package/cjs/components/Modal/getModalTheme.d.ts +2 -2
  136. package/cjs/components/Modal/getModalTheme.js +6 -2
  137. package/cjs/components/Modal/getModalTheme.js.map +1 -1
  138. package/cjs/components/Paging/NavigationHelper.js +2 -1
  139. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  140. package/cjs/components/Paging/Paging.js +16 -15
  141. package/cjs/components/Paging/Paging.js.map +1 -1
  142. package/cjs/components/Paging/Paging.styles.d.ts +0 -1
  143. package/cjs/components/Paging/Paging.styles.js +5 -10
  144. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  145. package/cjs/components/PasswordInput/PasswordInput.js +4 -2
  146. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  147. package/cjs/components/Radio/Radio.d.ts +6 -2
  148. package/cjs/components/Radio/Radio.js +6 -1
  149. package/cjs/components/Radio/Radio.js.map +1 -1
  150. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +5 -6
  151. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  152. package/cjs/components/ScrollContainer/ScrollBar.d.ts +4 -7
  153. package/cjs/components/ScrollContainer/ScrollBar.js +14 -45
  154. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  155. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +1 -2
  156. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
  157. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +19 -3
  158. package/cjs/components/ScrollContainer/ScrollContainer.js +94 -20
  159. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  160. package/cjs/components/ScrollContainer/ScrollContainer.md +29 -2
  161. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  162. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +8 -30
  163. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  164. package/cjs/components/Select/Select.d.ts +5 -3
  165. package/cjs/components/Select/Select.js +10 -7
  166. package/cjs/components/Select/Select.js.map +1 -1
  167. package/cjs/components/SidePage/SidePage.js +12 -3
  168. package/cjs/components/SidePage/SidePage.js.map +1 -1
  169. package/cjs/components/SidePage/SidePageCloseButton.js +2 -1
  170. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  171. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  172. package/cjs/components/SidePage/SidePageHeader.js +8 -6
  173. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  174. package/cjs/components/SingleToast/SingleToast.d.ts +11 -0
  175. package/cjs/components/SingleToast/SingleToast.js +20 -0
  176. package/cjs/components/SingleToast/SingleToast.js.map +1 -0
  177. package/cjs/components/SingleToast/SingleToast.md +35 -0
  178. package/cjs/components/SingleToast/index.d.ts +1 -0
  179. package/cjs/components/SingleToast/index.js +1 -0
  180. package/cjs/components/SingleToast/index.js.map +1 -0
  181. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +6 -2
  182. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  183. package/cjs/components/Sticky/Sticky.js +7 -7
  184. package/cjs/components/Sticky/Sticky.js.map +1 -1
  185. package/cjs/components/Switcher/Switcher.d.ts +7 -3
  186. package/cjs/components/Switcher/Switcher.js +4 -0
  187. package/cjs/components/Switcher/Switcher.js.map +1 -1
  188. package/cjs/components/Tabs/Indicator.js +2 -1
  189. package/cjs/components/Tabs/Indicator.js.map +1 -1
  190. package/cjs/components/Tabs/Tab.d.ts +16 -32
  191. package/cjs/components/Tabs/Tab.js +8 -25
  192. package/cjs/components/Tabs/Tab.js.map +1 -1
  193. package/cjs/components/Tabs/Tab.md +71 -0
  194. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  195. package/cjs/components/Tabs/Tabs.d.ts +13 -18
  196. package/cjs/components/Tabs/Tabs.js +4 -9
  197. package/cjs/components/Tabs/Tabs.js.map +1 -1
  198. package/cjs/components/Tabs/Tabs.md +7 -22
  199. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  200. package/cjs/components/Tabs/TabsContext.d.ts +3 -2
  201. package/cjs/components/Tabs/TabsContext.js +1 -0
  202. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  203. package/cjs/components/Tabs/helpers.d.ts +5 -5
  204. package/cjs/components/Tabs/helpers.js +3 -2
  205. package/cjs/components/Tabs/helpers.js.map +1 -1
  206. package/cjs/components/Textarea/Textarea.d.ts +6 -2
  207. package/cjs/components/Textarea/Textarea.js +23 -9
  208. package/cjs/components/Textarea/Textarea.js.map +1 -1
  209. package/cjs/components/Textarea/TextareaCounter.d.ts +4 -3
  210. package/cjs/components/Textarea/TextareaCounter.js +3 -1
  211. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  212. package/cjs/components/Textarea/TextareaHelpers.d.ts +1 -1
  213. package/cjs/components/Textarea/TextareaHelpers.js +7 -2
  214. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  215. package/cjs/components/Toast/Toast.d.ts +10 -3
  216. package/cjs/components/Toast/Toast.js +26 -8
  217. package/cjs/components/Toast/Toast.js.map +1 -1
  218. package/cjs/components/Toast/Toast.md +0 -105
  219. package/cjs/components/Toast/ToastStatic.js +4 -3
  220. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  221. package/cjs/components/Toggle/Toggle.d.ts +6 -2
  222. package/cjs/components/Toggle/Toggle.js +4 -0
  223. package/cjs/components/Toggle/Toggle.js.map +1 -1
  224. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  225. package/cjs/components/TokenInput/TokenInput.js +42 -9
  226. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  227. package/cjs/components/Tooltip/Tooltip.js +5 -5
  228. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  229. package/cjs/hooks/useDrop.js +3 -2
  230. package/cjs/hooks/useDrop.js.map +1 -1
  231. package/cjs/index.d.ts +4 -0
  232. package/cjs/index.js +4 -0
  233. package/cjs/index.js.map +1 -1
  234. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +2 -1
  235. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  236. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -1
  237. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +1 -0
  238. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  239. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -9
  240. package/cjs/internal/CustomComboBox/ComboBoxView.js +16 -34
  241. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  242. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  243. package/cjs/internal/CustomComboBox/CustomComboBox.js +13 -8
  244. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  245. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +6 -2
  246. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  247. package/cjs/internal/DateSelect/DateSelect.js +19 -16
  248. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  249. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
  250. package/cjs/internal/DropdownContainer/DropdownContainer.js +13 -13
  251. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  252. package/cjs/internal/DropdownContainer/getManualPosition.js +6 -4
  253. package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -1
  254. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
  255. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -3
  256. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  257. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  258. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +1 -1
  259. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -1
  260. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
  261. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +1 -1
  262. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  263. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  264. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -1
  265. package/cjs/internal/FocusTrap/FocusTrap.js +6 -5
  266. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  267. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +19 -20
  268. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  269. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +2 -1
  270. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  271. package/cjs/internal/InputLikeText/InputLikeText.js +16 -16
  272. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  273. package/cjs/internal/InternalMenu/InternalMenu.js +7 -7
  274. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  275. package/cjs/internal/Menu/Menu.js +6 -6
  276. package/cjs/internal/Menu/Menu.js.map +1 -1
  277. package/cjs/internal/MenuMessage/MenuMessage.d.ts +3 -3
  278. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
  279. package/cjs/internal/Popup/Popup.js +11 -8
  280. package/cjs/internal/Popup/Popup.js.map +1 -1
  281. package/cjs/internal/Popup/PopupHelper.js +9 -7
  282. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  283. package/cjs/internal/PopupMenu/PopupMenu.js +3 -2
  284. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  285. package/cjs/internal/RenderContainer/RenderContainer.js +12 -12
  286. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  287. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
  288. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  289. package/cjs/internal/RenderLayer/RenderLayer.js +3 -2
  290. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  291. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  292. package/cjs/internal/ThemePlayground/SizesGroup.js +1 -0
  293. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  294. package/cjs/internal/ThemePlayground/VariableValue.js +1 -0
  295. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  296. package/cjs/internal/ThemePlayground/constants.js +1 -0
  297. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  298. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  299. package/cjs/internal/ThemeShowcase/VariablesCollector.js +6 -4
  300. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  301. package/cjs/internal/ZIndex/ZIndex.js +2 -2
  302. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  303. package/cjs/internal/ZIndex/ZIndexStorage.js +2 -2
  304. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  305. package/cjs/internal/icons/16px/index.d.ts +19 -19
  306. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  307. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  308. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  309. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  310. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  311. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  312. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  313. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  314. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  315. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  316. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  317. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  318. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  319. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  320. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  321. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  322. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  323. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  324. package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
  325. package/cjs/internal/icons2022/BaseIcon.js +3 -7
  326. package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
  327. package/cjs/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  328. package/cjs/internal/icons2022/BaseIcon.styles.js +14 -0
  329. package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -0
  330. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  331. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  332. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  333. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  334. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  335. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  336. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  337. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  338. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  339. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  340. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  341. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  342. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  343. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  344. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  345. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  346. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +20 -0
  347. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -0
  348. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  349. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  350. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  351. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  352. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  353. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  354. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  355. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  356. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  357. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  358. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  359. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  360. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  361. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  362. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  363. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  364. package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  365. package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  366. package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  367. package/cjs/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  368. package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  369. package/cjs/internal/themes/DefaultTheme.d.ts +46 -2
  370. package/cjs/internal/themes/DefaultTheme.js +102 -6
  371. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  372. package/cjs/internal/themes/Theme2022.d.ts +4 -3
  373. package/cjs/internal/themes/Theme2022.js +14 -6
  374. package/cjs/internal/themes/Theme2022.js.map +1 -1
  375. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -4
  376. package/cjs/internal/themes/Theme2022Dark.js +10 -5
  377. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  378. package/cjs/lib/LayoutEvents.js +5 -4
  379. package/cjs/lib/LayoutEvents.js.map +1 -1
  380. package/cjs/lib/ModalStack.js +2 -3
  381. package/cjs/lib/ModalStack.js.map +1 -1
  382. package/cjs/lib/SSRSafe.d.ts +1 -6
  383. package/cjs/lib/SSRSafe.js +4 -48
  384. package/cjs/lib/SSRSafe.js.map +1 -1
  385. package/cjs/lib/Upgrades.d.ts +1 -0
  386. package/cjs/lib/Upgrades.js +3 -1
  387. package/cjs/lib/Upgrades.js.map +1 -1
  388. package/cjs/lib/animation/index.js +6 -4
  389. package/cjs/lib/animation/index.js.map +1 -1
  390. package/cjs/lib/chars.d.ts +1 -1
  391. package/cjs/lib/chars.js +2 -2
  392. package/cjs/lib/chars.js.map +1 -1
  393. package/cjs/lib/client.d.ts +1 -7
  394. package/cjs/lib/client.js +6 -6
  395. package/cjs/lib/client.js.map +1 -1
  396. package/cjs/lib/dom/getScrollWidth.js +4 -4
  397. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  398. package/cjs/lib/dom/tabbableHelpers.d.ts +2 -1
  399. package/cjs/lib/dom/tabbableHelpers.js +7 -2
  400. package/cjs/lib/dom/tabbableHelpers.js.map +1 -1
  401. package/cjs/lib/events/MouseDrag.js +11 -11
  402. package/cjs/lib/events/MouseDrag.js.map +1 -1
  403. package/cjs/lib/events/fixClickFocusIE.js +5 -3
  404. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  405. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +5 -2
  406. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  407. package/cjs/lib/events/keyListener.js +9 -11
  408. package/cjs/lib/events/keyListener.js.map +1 -1
  409. package/cjs/lib/events/keyboard/identifiers.js +4 -2
  410. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  411. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +50 -0
  412. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +4 -0
  413. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +5 -0
  414. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -0
  415. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +6 -0
  416. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +12 -0
  417. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  418. package/cjs/lib/featureFlagsContext/index.d.ts +2 -0
  419. package/cjs/lib/featureFlagsContext/index.js +3 -0
  420. package/cjs/lib/featureFlagsContext/index.js.map +1 -0
  421. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  422. package/cjs/lib/forwardRefAndName.js +4 -1
  423. package/cjs/lib/forwardRefAndName.js.map +1 -1
  424. package/cjs/lib/listenFocusOutside.js +14 -15
  425. package/cjs/lib/listenFocusOutside.js.map +1 -1
  426. package/cjs/lib/needsPolyfillPlaceholder.js +5 -3
  427. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
  428. package/cjs/lib/net/fetch.js +24 -18
  429. package/cjs/lib/net/fetch.js.map +1 -1
  430. package/cjs/lib/rootNode/getRootNode.js +5 -6
  431. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  432. package/cjs/lib/taskWithDelayAndMinimalDuration.js +5 -5
  433. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  434. package/cjs/lib/theming/Emotion.js +4 -2
  435. package/cjs/lib/theming/Emotion.js.map +1 -1
  436. package/cjs/lib/types/props.d.ts +1 -0
  437. package/cjs/lib/types/props.js +1 -0
  438. package/cjs/lib/types/props.js.map +1 -0
  439. package/cjs/lib/utils.js +4 -5
  440. package/cjs/lib/utils.js.map +1 -1
  441. package/cjs/typings/global.d.ts +3 -4
  442. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  443. package/components/Autocomplete/Autocomplete.d.ts +2 -1
  444. package/components/Button/Button/Button.js +11 -3
  445. package/components/Button/Button/Button.js.map +1 -1
  446. package/components/Button/Button.d.ts +7 -2
  447. package/components/Button/Button.md +68 -0
  448. package/components/Button/Button.mixins/Button.mixins.js +1 -1
  449. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  450. package/components/Button/Button.styles/Button.styles.js +6 -2
  451. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  452. package/components/Button/Button.styles.d.ts +2 -1
  453. package/components/Button/ButtonArrow/ButtonArrow.js +1 -1
  454. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  455. package/components/Button/ButtonIcon/ButtonIcon.js +2 -4
  456. package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
  457. package/components/Button/ButtonIcon.d.ts +3 -2
  458. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
  459. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  460. package/components/Calendar/Calendar/Calendar.js +7 -6
  461. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  462. package/components/Checkbox/Checkbox/Checkbox.js +14 -5
  463. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  464. package/components/Checkbox/Checkbox.d.ts +6 -2
  465. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  466. package/components/ComboBox/ComboBox.d.ts +2 -1
  467. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +2 -1
  468. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  469. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +4 -1
  470. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  471. package/components/DateInput/DateInput/DateInput.js +23 -9
  472. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  473. package/components/DateInput/DateInput.d.ts +2 -1
  474. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
  475. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  476. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  477. package/components/DatePicker/DatePicker.d.ts +2 -1
  478. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  479. package/components/Dropdown/Dropdown.d.ts +3 -2
  480. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
  481. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
  482. package/components/FileUploader/FileUploader/FileUploader.js +9 -5
  483. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  484. package/components/FileUploader/FileUploader.d.ts +6 -2
  485. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +2 -2
  486. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  487. package/components/FileUploader/FileUploader.styles.d.ts +1 -1
  488. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  489. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  490. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +25 -29
  491. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  492. package/components/GlobalLoader/GlobalLoader.d.ts +1 -2
  493. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +2 -3
  494. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  495. package/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  496. package/components/Hint/Hint/Hint.js +5 -5
  497. package/components/Hint/Hint/Hint.js.map +1 -1
  498. package/components/Input/Input/Input.js +18 -11
  499. package/components/Input/Input/Input.js.map +1 -1
  500. package/components/Input/Input.d.ts +6 -2
  501. package/components/Input/InputLayout/InputLayout.d.ts +1 -1
  502. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -1
  503. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  504. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
  505. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
  506. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  507. package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +1 -1
  508. package/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  509. package/components/Kebab/Kebab/Kebab.js +2 -1
  510. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  511. package/components/Kebab/Kebab.d.ts +2 -1
  512. package/components/Link/Link/Link.js +8 -6
  513. package/components/Link/Link/Link.js.map +1 -1
  514. package/components/Link/Link.d.ts +6 -1
  515. package/components/Link/Link.md +69 -0
  516. package/components/Link/Link.styles/Link.styles.js +25 -22
  517. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  518. package/components/Link/Link.styles.d.ts +1 -0
  519. package/components/Loader/Loader/Loader.js +9 -6
  520. package/components/Loader/Loader/Loader.js.map +1 -1
  521. package/components/MenuFooter/MenuFooter/MenuFooter.js +4 -0
  522. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  523. package/components/MenuFooter/MenuFooter.d.ts +6 -2
  524. package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
  525. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  526. package/components/MenuHeader/MenuHeader.d.ts +6 -2
  527. package/components/MenuItem/MenuItem/MenuItem.js +7 -2
  528. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  529. package/components/MenuItem/MenuItem.d.ts +6 -2
  530. package/components/MiniModal/MiniModal/MiniModal.js +38 -0
  531. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -0
  532. package/components/MiniModal/MiniModal/package.json +6 -0
  533. package/components/MiniModal/MiniModal.d.ts +18 -0
  534. package/components/MiniModal/MiniModal.md +233 -0
  535. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +41 -0
  536. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -0
  537. package/components/MiniModal/MiniModal.styles/package.json +6 -0
  538. package/components/MiniModal/MiniModal.styles.d.ts +14 -0
  539. package/components/MiniModal/MiniModalBody/MiniModalBody.js +23 -0
  540. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -0
  541. package/components/MiniModal/MiniModalBody/package.json +6 -0
  542. package/components/MiniModal/MiniModalBody.d.ts +7 -0
  543. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +35 -0
  544. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -0
  545. package/components/MiniModal/MiniModalFooter/package.json +6 -0
  546. package/components/MiniModal/MiniModalFooter.d.ts +18 -0
  547. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js +33 -0
  548. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -0
  549. package/components/MiniModal/MiniModalHeader/package.json +6 -0
  550. package/components/MiniModal/MiniModalHeader.d.ts +17 -0
  551. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +27 -0
  552. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -0
  553. package/components/MiniModal/MiniModalIndent/package.json +6 -0
  554. package/components/MiniModal/MiniModalIndent.d.ts +6 -0
  555. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js +23 -0
  556. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js.map +1 -0
  557. package/components/MiniModal/getMiniModalTheme/package.json +6 -0
  558. package/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  559. package/components/MiniModal/index/index.js +5 -0
  560. package/components/MiniModal/index/index.js.map +1 -0
  561. package/components/MiniModal/index/package.json +6 -0
  562. package/components/MiniModal/index.d.ts +5 -0
  563. package/components/MiniModal/package.json +6 -0
  564. package/components/Modal/Modal/Modal.js +18 -14
  565. package/components/Modal/Modal/Modal.js.map +1 -1
  566. package/components/Modal/Modal.d.ts +6 -0
  567. package/components/Modal/Modal.styles/Modal.styles.js +44 -37
  568. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  569. package/components/Modal/Modal.styles.d.ts +5 -0
  570. package/components/Modal/ModalClose/ModalClose.js +2 -1
  571. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  572. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  573. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  574. package/components/Modal/ModalSeparator/ModalSeparator.js +6 -0
  575. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  576. package/components/Modal/ModalSeparator.d.ts +5 -0
  577. package/components/Modal/getModalTheme/getModalTheme.js +8 -3
  578. package/components/Modal/getModalTheme/getModalTheme.js.map +1 -1
  579. package/components/Modal/getModalTheme.d.ts +2 -2
  580. package/components/Paging/NavigationHelper/NavigationHelper.js +2 -1
  581. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  582. package/components/Paging/Paging/Paging.js +16 -11
  583. package/components/Paging/Paging/Paging.js.map +1 -1
  584. package/components/Paging/Paging.styles/Paging.styles.js +3 -6
  585. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  586. package/components/Paging/Paging.styles.d.ts +0 -1
  587. package/components/PasswordInput/PasswordInput/PasswordInput.js +4 -2
  588. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  589. package/components/Radio/Radio/Radio.js +6 -1
  590. package/components/Radio/Radio/Radio.js.map +1 -1
  591. package/components/Radio/Radio.d.ts +6 -2
  592. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
  593. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  594. package/components/ScrollContainer/ScrollBar/ScrollBar.js +16 -50
  595. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  596. package/components/ScrollContainer/ScrollBar.d.ts +4 -7
  597. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +98 -22
  598. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  599. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +1 -2
  600. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
  601. package/components/ScrollContainer/ScrollContainer.d.ts +19 -3
  602. package/components/ScrollContainer/ScrollContainer.md +29 -2
  603. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +6 -18
  604. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  605. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  606. package/components/Select/Select/Select.js +9 -8
  607. package/components/Select/Select/Select.js.map +1 -1
  608. package/components/Select/Select.d.ts +5 -3
  609. package/components/SidePage/SidePage/SidePage.js +8 -7
  610. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  611. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +2 -1
  612. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  613. package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -4
  614. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  615. package/components/SidePage/SidePageHeader.d.ts +1 -0
  616. package/components/SingleToast/SingleToast/SingleToast.js +53 -0
  617. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -0
  618. package/components/SingleToast/SingleToast/package.json +6 -0
  619. package/components/SingleToast/SingleToast.d.ts +11 -0
  620. package/components/SingleToast/SingleToast.md +35 -0
  621. package/components/SingleToast/index/index.js +1 -0
  622. package/components/SingleToast/index/index.js.map +1 -0
  623. package/components/SingleToast/index/package.json +6 -0
  624. package/components/SingleToast/index.d.ts +1 -0
  625. package/components/SingleToast/package.json +6 -0
  626. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
  627. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  628. package/components/Sticky/Sticky/Sticky.js +10 -6
  629. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  630. package/components/Switcher/Switcher/Switcher.js +4 -0
  631. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  632. package/components/Switcher/Switcher.d.ts +7 -3
  633. package/components/Tabs/Indicator/Indicator.js +2 -1
  634. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  635. package/components/Tabs/Tab/Tab.js +7 -14
  636. package/components/Tabs/Tab/Tab.js.map +1 -1
  637. package/components/Tabs/Tab.d.ts +16 -32
  638. package/components/Tabs/Tab.md +71 -0
  639. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  640. package/components/Tabs/Tabs/Tabs.js +3 -4
  641. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  642. package/components/Tabs/Tabs.d.ts +13 -18
  643. package/components/Tabs/Tabs.md +7 -22
  644. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  645. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  646. package/components/Tabs/TabsContext.d.ts +3 -2
  647. package/components/Tabs/helpers/helpers.js +3 -0
  648. package/components/Tabs/helpers/helpers.js.map +1 -1
  649. package/components/Tabs/helpers.d.ts +5 -5
  650. package/components/Textarea/Textarea/Textarea.js +25 -13
  651. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  652. package/components/Textarea/Textarea.d.ts +6 -2
  653. package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
  654. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  655. package/components/Textarea/TextareaCounter.d.ts +4 -3
  656. package/components/Textarea/TextareaHelpers/TextareaHelpers.js +6 -1
  657. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  658. package/components/Textarea/TextareaHelpers.d.ts +1 -1
  659. package/components/Toast/Toast/Toast.js +16 -7
  660. package/components/Toast/Toast/Toast.js.map +1 -1
  661. package/components/Toast/Toast.d.ts +10 -3
  662. package/components/Toast/Toast.md +0 -105
  663. package/components/Toast/ToastStatic/ToastStatic.js +4 -4
  664. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  665. package/components/Toggle/Toggle/Toggle.js +4 -0
  666. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  667. package/components/Toggle/Toggle.d.ts +6 -2
  668. package/components/TokenInput/TokenInput/TokenInput.js +51 -11
  669. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  670. package/components/TokenInput/TokenInput.d.ts +2 -0
  671. package/components/Tooltip/Tooltip/Tooltip.js +5 -5
  672. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  673. package/hooks/useDrop/useDrop.js +3 -2
  674. package/hooks/useDrop/useDrop.js.map +1 -1
  675. package/index.d.ts +4 -0
  676. package/index.js +4 -0
  677. package/index.js.map +1 -1
  678. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +2 -1
  679. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  680. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  681. package/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -1
  682. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +21 -32
  683. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  684. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -9
  685. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +11 -6
  686. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  687. package/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  688. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +7 -2
  689. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  690. package/internal/DateSelect/DateSelect/DateSelect.js +19 -20
  691. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  692. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +18 -17
  693. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  694. package/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
  695. package/internal/DropdownContainer/getManualPosition/getManualPosition.js +4 -3
  696. package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -1
  697. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +3 -2
  698. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  699. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
  700. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +1 -1
  701. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  702. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  703. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
  704. package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -1
  705. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  706. package/internal/FocusTrap/FocusTrap/FocusTrap.js +8 -3
  707. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  708. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +25 -26
  709. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  710. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +2 -1
  711. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  712. package/internal/InputLikeText/InputLikeText/InputLikeText.js +28 -19
  713. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  714. package/internal/InternalMenu/InternalMenu/InternalMenu.js +9 -9
  715. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  716. package/internal/Menu/Menu/Menu.js +8 -8
  717. package/internal/Menu/Menu/Menu.js.map +1 -1
  718. package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
  719. package/internal/MenuMessage/MenuMessage.d.ts +3 -3
  720. package/internal/Popup/Popup/Popup.js +11 -13
  721. package/internal/Popup/Popup/Popup.js.map +1 -1
  722. package/internal/Popup/PopupHelper/PopupHelper.js +8 -5
  723. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  724. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -2
  725. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  726. package/internal/RenderContainer/RenderContainer/RenderContainer.js +17 -10
  727. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  728. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  729. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  730. package/internal/RenderLayer/RenderLayer/RenderLayer.js +10 -5
  731. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  732. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  733. package/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  734. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  735. package/internal/ThemePlayground/constants/constants.js +3 -0
  736. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  737. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +5 -2
  738. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  739. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  740. package/internal/ZIndex/ZIndex/ZIndex.js +2 -2
  741. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  742. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -2
  743. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  744. package/internal/icons/16px/index.d.ts +19 -19
  745. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  746. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  747. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  748. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  749. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  750. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  751. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  752. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  753. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  754. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  755. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  756. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  757. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  758. package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  759. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  760. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  761. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  762. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  763. package/internal/icons2022/BaseIcon/BaseIcon.js +3 -6
  764. package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
  765. package/internal/icons2022/BaseIcon.d.ts +1 -1
  766. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js +11 -0
  767. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js.map +1 -0
  768. package/internal/icons2022/BaseIcon.styles/package.json +6 -0
  769. package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  770. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  771. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  772. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  773. package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  774. package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  775. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  776. package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  777. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  778. package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  779. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  780. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  781. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  782. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  783. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  784. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  785. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js +18 -0
  786. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js.map +1 -0
  787. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/package.json +6 -0
  788. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  789. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  790. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  791. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  792. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  793. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  794. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  795. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  796. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  797. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  798. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  799. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  800. package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  801. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  802. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  803. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  804. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  805. package/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  806. package/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  807. package/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  808. package/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  809. package/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  810. package/internal/themes/DefaultTheme/DefaultTheme.js +146 -6
  811. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  812. package/internal/themes/DefaultTheme.d.ts +46 -2
  813. package/internal/themes/Theme2022/Theme2022.js +18 -4
  814. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  815. package/internal/themes/Theme2022.d.ts +4 -3
  816. package/internal/themes/Theme2022Dark/Theme2022Dark.js +14 -4
  817. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  818. package/internal/themes/Theme2022Dark.d.ts +5 -4
  819. package/lib/LayoutEvents/LayoutEvents.js +5 -4
  820. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  821. package/lib/ModalStack/ModalStack.js +2 -2
  822. package/lib/ModalStack/ModalStack.js.map +1 -1
  823. package/lib/SSRSafe/SSRSafe.js +3 -35
  824. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  825. package/lib/SSRSafe.d.ts +1 -6
  826. package/lib/Upgrades/Upgrades.js +3 -1
  827. package/lib/Upgrades/Upgrades.js.map +1 -1
  828. package/lib/Upgrades.d.ts +1 -0
  829. package/lib/animation/index/index.js +6 -3
  830. package/lib/animation/index/index.js.map +1 -1
  831. package/lib/chars/chars.js +1 -1
  832. package/lib/chars/chars.js.map +1 -1
  833. package/lib/chars.d.ts +1 -1
  834. package/lib/client/client.js +7 -6
  835. package/lib/client/client.js.map +1 -1
  836. package/lib/client.d.ts +1 -7
  837. package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
  838. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  839. package/lib/dom/tabbableHelpers/tabbableHelpers.js +3 -2
  840. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -1
  841. package/lib/dom/tabbableHelpers.d.ts +2 -1
  842. package/lib/events/MouseDrag/MouseDrag.js +15 -11
  843. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  844. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +3 -2
  845. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  846. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +7 -2
  847. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  848. package/lib/events/keyListener/keyListener.js +9 -12
  849. package/lib/events/keyListener/keyListener.js.map +1 -1
  850. package/lib/events/keyboard/identifiers/identifiers.js +2 -1
  851. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  852. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +50 -0
  853. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js +5 -0
  854. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js.map +1 -0
  855. package/lib/featureFlagsContext/FeatureFlagsHelpers/package.json +6 -0
  856. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +4 -0
  857. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -0
  858. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  859. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
  860. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +6 -0
  861. package/lib/featureFlagsContext/index/index.js +2 -0
  862. package/lib/featureFlagsContext/index/index.js.map +1 -0
  863. package/lib/featureFlagsContext/index/package.json +6 -0
  864. package/lib/featureFlagsContext/index.d.ts +2 -0
  865. package/lib/featureFlagsContext/package.json +6 -0
  866. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  867. package/lib/forwardRefAndName.d.ts +1 -1
  868. package/lib/listenFocusOutside/listenFocusOutside.js +18 -10
  869. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  870. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +4 -3
  871. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
  872. package/lib/net/fetch/fetch.js +29 -21
  873. package/lib/net/fetch/fetch.js.map +1 -1
  874. package/lib/rootNode/getRootNode/getRootNode.js +5 -6
  875. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  876. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +5 -4
  877. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  878. package/lib/theming/Emotion/Emotion.js +6 -1
  879. package/lib/theming/Emotion/Emotion.js.map +1 -1
  880. package/lib/types/props/package.json +6 -0
  881. package/lib/types/props/props.js +1 -0
  882. package/lib/types/props/props.js.map +1 -0
  883. package/lib/types/props.d.ts +1 -0
  884. package/lib/utils/utils.js +4 -5
  885. package/lib/utils/utils.js.map +1 -1
  886. package/package.json +4 -4
  887. package/typings/global.d.ts +3 -4
@@ -1,13 +1,14 @@
1
- import { TextareaProps, TextareaSize } from './Textarea';
1
+ import { SizeProp } from '../../lib/types/props';
2
+ import { TextareaProps } from './Textarea';
2
3
  export interface TextareaCounterProps {
3
4
  value: TextareaProps['value'];
4
5
  length: number;
5
6
  help: TextareaProps['counterHelp'];
6
7
  onCloseHelp: () => void;
7
8
  textarea: HTMLTextAreaElement;
8
- size: TextareaSize;
9
+ size: SizeProp;
9
10
  }
10
11
  export interface TextareaCounterRef {
11
12
  reflow: () => void;
12
13
  }
13
- export declare const TextareaCounter: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<TextareaCounterRef, TextareaCounterProps>;
14
+ export declare const TextareaCounter: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<TextareaCounterRef, TextareaCounterProps> & Record<never, never>;
@@ -1,9 +1,14 @@
1
+ import { globalObject, isBrowser } from '@skbkontur/global-object';
1
2
  export function getTextAreaHeight(params) {
3
+ if (!isBrowser(globalObject)) {
4
+ return null;
5
+ }
6
+
2
7
  var node = params.node,
3
8
  minRows = params.minRows,
4
9
  maxRows = params.maxRows,
5
10
  extraRow = params.extraRow;
6
- var style = getComputedStyle(node);
11
+ var style = globalObject.getComputedStyle(node);
7
12
  var borderTop = style.borderTopWidth ? parseInt(style.borderTopWidth, 10) : 0;
8
13
  var borderBottom = style.borderBottomWidth ? parseInt(style.borderBottomWidth, 10) : 0;
9
14
  var lineHeight = style.lineHeight ? parseInt(style.lineHeight, 10) : 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["TextareaHelpers.tsx"],"names":["getTextAreaHeight","params","node","minRows","maxRows","extraRow","style","getComputedStyle","borderTop","borderTopWidth","parseInt","borderBottom","borderBottomWidth","lineHeight","paddingTop","paddingBottom","minHeight","maxHeight","extraRowHeight","expectedHeight","scrollHeight","height","Math","min","max","exceededMaxHeight"],"mappings":"AAAA,OAAO,SAASA,iBAAT,CAA2BC,MAA3B,EAA4D;AACjE,MAAQC,IAAR,GAA6CD,MAA7C,CAAQC,IAAR,CAAcC,OAAd,GAA6CF,MAA7C,CAAcE,OAAd,CAAuBC,OAAvB,GAA6CH,MAA7C,CAAuBG,OAAvB,CAAgCC,QAAhC,GAA6CJ,MAA7C,CAAgCI,QAAhC;AACA,MAAMC,KAA0B,GAAGC,gBAAgB,CAACL,IAAD,CAAnD;AACA,MAAMM,SAAS,GAAGF,KAAK,CAACG,cAAN,GAAuBC,QAAQ,CAACJ,KAAK,CAACG,cAAP,EAAuB,EAAvB,CAA/B,GAA4D,CAA9E;AACA,MAAME,YAAY,GAAGL,KAAK,CAACM,iBAAN,GAA0BF,QAAQ,CAACJ,KAAK,CAACM,iBAAP,EAA0B,EAA1B,CAAlC,GAAkE,CAAvF;AACA,MAAMC,UAAU,GAAGP,KAAK,CAACO,UAAN,GAAmBH,QAAQ,CAACJ,KAAK,CAACO,UAAP,EAAmB,EAAnB,CAA3B,GAAoD,CAAvE;AACA,MAAMC,UAAU,GAAGR,KAAK,CAACQ,UAAN,GAAmBJ,QAAQ,CAACJ,KAAK,CAACQ,UAAP,EAAmB,EAAnB,CAA3B,GAAoD,CAAvE;AACA,MAAMC,aAAa,GAAGT,KAAK,CAACS,aAAN,GAAsBL,QAAQ,CAACJ,KAAK,CAACS,aAAP,EAAsB,EAAtB,CAA9B,GAA0D,CAAhF;AACA,MAAMC,SAAS,GAAGR,SAAS,GAAGG,YAAZ,GAA2BG,UAA3B,GAAwCC,aAAxC,GAAwDF,UAAU,GAAGV,OAAvF;AACA,MAAMc,SAAS,GAAGT,SAAS,GAAGG,YAAZ,GAA2BG,UAA3B,GAAwCC,aAAxC,GAAwDF,UAAU,GAAGT,OAAvF;AACA,MAAMc,cAAc,GAAGb,QAAQ,GAAGQ,UAAH,GAAgB,CAA/C;AACA,MAAMM,cAAc,GAAGjB,IAAI,CAACkB,YAAL,GAAoBZ,SAApB,GAAgCG,YAAhC,GAA+CO,cAAtE;AACA,SAAO;AACLG,IAAAA,MAAM,EAAEC,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,GAAL,CAASL,cAAT,EAAyBH,SAAzB,CAAT,EAA8CC,SAA9C,CADH;AAELQ,IAAAA,iBAAiB,EAAEN,cAAc,GAAGF,SAAS,GAAGC,cAF3C,EAAP;;AAID","sourcesContent":["export function getTextAreaHeight(params: GetTextAreaHeightParams) {\n const { node, minRows, maxRows, extraRow } = params;\n const style: CSSStyleDeclaration = getComputedStyle(node);\n const borderTop = style.borderTopWidth ? parseInt(style.borderTopWidth, 10) : 0;\n const borderBottom = style.borderBottomWidth ? parseInt(style.borderBottomWidth, 10) : 0;\n const lineHeight = style.lineHeight ? parseInt(style.lineHeight, 10) : 0;\n const paddingTop = style.paddingTop ? parseInt(style.paddingTop, 10) : 0;\n const paddingBottom = style.paddingBottom ? parseInt(style.paddingBottom, 10) : 0;\n const minHeight = borderTop + borderBottom + paddingTop + paddingBottom + lineHeight * minRows;\n const maxHeight = borderTop + borderBottom + paddingTop + paddingBottom + lineHeight * maxRows;\n const extraRowHeight = extraRow ? lineHeight : 0;\n const expectedHeight = node.scrollHeight + borderTop + borderBottom + extraRowHeight;\n return {\n height: Math.min(Math.max(expectedHeight, minHeight), maxHeight),\n exceededMaxHeight: expectedHeight > maxHeight + extraRowHeight,\n };\n}\n\ninterface GetTextAreaHeightParams {\n node: HTMLTextAreaElement;\n minRows: number;\n maxRows: number;\n extraRow: boolean;\n}\n"]}
1
+ {"version":3,"sources":["TextareaHelpers.tsx"],"names":["globalObject","isBrowser","getTextAreaHeight","params","node","minRows","maxRows","extraRow","style","getComputedStyle","borderTop","borderTopWidth","parseInt","borderBottom","borderBottomWidth","lineHeight","paddingTop","paddingBottom","minHeight","maxHeight","extraRowHeight","expectedHeight","scrollHeight","height","Math","min","max","exceededMaxHeight"],"mappings":"AAAA,SAASA,YAAT,EAAuBC,SAAvB,QAAwC,0BAAxC;;AAEA,OAAO,SAASC,iBAAT,CAA2BC,MAA3B,EAA4D;AACjE,MAAI,CAACF,SAAS,CAACD,YAAD,CAAd,EAA8B;AAC5B,WAAO,IAAP;AACD;AACD,MAAQI,IAAR,GAA6CD,MAA7C,CAAQC,IAAR,CAAcC,OAAd,GAA6CF,MAA7C,CAAcE,OAAd,CAAuBC,OAAvB,GAA6CH,MAA7C,CAAuBG,OAAvB,CAAgCC,QAAhC,GAA6CJ,MAA7C,CAAgCI,QAAhC;AACA,MAAMC,KAAK,GAAGR,YAAY,CAACS,gBAAb,CAA8BL,IAA9B,CAAd;AACA,MAAMM,SAAS,GAAGF,KAAK,CAACG,cAAN,GAAuBC,QAAQ,CAACJ,KAAK,CAACG,cAAP,EAAuB,EAAvB,CAA/B,GAA4D,CAA9E;AACA,MAAME,YAAY,GAAGL,KAAK,CAACM,iBAAN,GAA0BF,QAAQ,CAACJ,KAAK,CAACM,iBAAP,EAA0B,EAA1B,CAAlC,GAAkE,CAAvF;AACA,MAAMC,UAAU,GAAGP,KAAK,CAACO,UAAN,GAAmBH,QAAQ,CAACJ,KAAK,CAACO,UAAP,EAAmB,EAAnB,CAA3B,GAAoD,CAAvE;AACA,MAAMC,UAAU,GAAGR,KAAK,CAACQ,UAAN,GAAmBJ,QAAQ,CAACJ,KAAK,CAACQ,UAAP,EAAmB,EAAnB,CAA3B,GAAoD,CAAvE;AACA,MAAMC,aAAa,GAAGT,KAAK,CAACS,aAAN,GAAsBL,QAAQ,CAACJ,KAAK,CAACS,aAAP,EAAsB,EAAtB,CAA9B,GAA0D,CAAhF;AACA,MAAMC,SAAS,GAAGR,SAAS,GAAGG,YAAZ,GAA2BG,UAA3B,GAAwCC,aAAxC,GAAwDF,UAAU,GAAGV,OAAvF;AACA,MAAMc,SAAS,GAAGT,SAAS,GAAGG,YAAZ,GAA2BG,UAA3B,GAAwCC,aAAxC,GAAwDF,UAAU,GAAGT,OAAvF;AACA,MAAMc,cAAc,GAAGb,QAAQ,GAAGQ,UAAH,GAAgB,CAA/C;AACA,MAAMM,cAAc,GAAGjB,IAAI,CAACkB,YAAL,GAAoBZ,SAApB,GAAgCG,YAAhC,GAA+CO,cAAtE;AACA,SAAO;AACLG,IAAAA,MAAM,EAAEC,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,GAAL,CAASL,cAAT,EAAyBH,SAAzB,CAAT,EAA8CC,SAA9C,CADH;AAELQ,IAAAA,iBAAiB,EAAEN,cAAc,GAAGF,SAAS,GAAGC,cAF3C,EAAP;;AAID","sourcesContent":["import { globalObject, isBrowser } from '@skbkontur/global-object';\n\nexport function getTextAreaHeight(params: GetTextAreaHeightParams) {\n if (!isBrowser(globalObject)) {\n return null;\n }\n const { node, minRows, maxRows, extraRow } = params;\n const style = globalObject.getComputedStyle(node);\n const borderTop = style.borderTopWidth ? parseInt(style.borderTopWidth, 10) : 0;\n const borderBottom = style.borderBottomWidth ? parseInt(style.borderBottomWidth, 10) : 0;\n const lineHeight = style.lineHeight ? parseInt(style.lineHeight, 10) : 0;\n const paddingTop = style.paddingTop ? parseInt(style.paddingTop, 10) : 0;\n const paddingBottom = style.paddingBottom ? parseInt(style.paddingBottom, 10) : 0;\n const minHeight = borderTop + borderBottom + paddingTop + paddingBottom + lineHeight * minRows;\n const maxHeight = borderTop + borderBottom + paddingTop + paddingBottom + lineHeight * maxRows;\n const extraRowHeight = extraRow ? lineHeight : 0;\n const expectedHeight = node.scrollHeight + borderTop + borderBottom + extraRowHeight;\n return {\n height: Math.min(Math.max(expectedHeight, minHeight), maxHeight),\n exceededMaxHeight: expectedHeight > maxHeight + extraRowHeight,\n };\n}\n\ninterface GetTextAreaHeightParams {\n node: HTMLTextAreaElement;\n minRows: number;\n maxRows: number;\n extraRow: boolean;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  export declare function getTextAreaHeight(params: GetTextAreaHeightParams): {
2
2
  height: number;
3
3
  exceededMaxHeight: boolean;
4
- };
4
+ } | null;
5
5
  interface GetTextAreaHeightParams {
6
6
  node: HTMLTextAreaElement;
7
7
  minRows: number;
@@ -5,6 +5,9 @@ var _class, _class2, _temp;
5
5
 
6
6
  import React from 'react';
7
7
  import { CSSTransition, TransitionGroup } from 'react-transition-group';
8
+ import { globalObject } from '@skbkontur/global-object';
9
+ import { ThemeFactory } from "../../../lib/theming/ThemeFactory";
10
+ import { ThemeContext } from "../../../lib/theming/ThemeContext";
8
11
  import { RenderContainer } from "../../../internal/RenderContainer";
9
12
  import { CommonWrapper } from "../../../internal/CommonWrapper";
10
13
  import { isTestEnv } from "../../../lib/currentEnvironment";
@@ -22,10 +25,10 @@ export var ToastDataTids = {
22
25
  * Показывает уведомления.
23
26
  *
24
27
  * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.
25
- * Однако, при его использовании не работает кастомизация и могут быть проблемы
26
- * с перекрытием уведомления другими элементами страницы.
28
+ * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.
29
+ *
30
+ * Для статических тостов <u>рекомендуется</u> использовать компонент [SingleToast](https://tech.skbkontur.ru/react-ui/#/Components/SingleToast) - в нём исправлены эти проблемы.
27
31
  *
28
- * Рекомендуется использовать Toast через `ref` (см. примеры).
29
32
  */
30
33
 
31
34
  export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
@@ -43,7 +46,6 @@ export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
43
46
  var _this;
44
47
 
45
48
  _this = _React$Component.call(this, props) || this;
46
- _this._timeout = null;
47
49
  _this.rootRef = /*#__PURE__*/React.createRef();
48
50
 
49
51
  _this.close = function () {
@@ -64,7 +66,7 @@ export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
64
66
 
65
67
  _this._clearTimer = function () {
66
68
  if (_this._timeout) {
67
- clearTimeout(_this._timeout);
69
+ globalObject.clearTimeout(_this._timeout);
68
70
  _this._timeout = null;
69
71
  }
70
72
  };
@@ -76,7 +78,7 @@ export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
76
78
 
77
79
  var showTime = _this.state.action ? 7000 : 3000;
78
80
  showTime = (_this$state$showTime = _this.state.showTime) != null ? _this$state$showTime : showTime;
79
- _this._timeout = window.setTimeout(_this.close, showTime);
81
+ _this._timeout = globalObject.setTimeout(_this.close, showTime);
80
82
  };
81
83
 
82
84
  _this._refToast = function (element) {
@@ -99,7 +101,14 @@ export var Toast = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
99
101
  };
100
102
 
101
103
  _proto.render = function render() {
102
- return /*#__PURE__*/React.createElement(RenderContainer, null, /*#__PURE__*/React.createElement(TransitionGroup, null, this._renderToast()));
104
+ var _this2 = this;
105
+
106
+ return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
107
+ _this2.theme = _this2.props.theme ? ThemeFactory.create(_this2.props.theme, theme) : theme;
108
+ return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
109
+ value: _this2.theme
110
+ }, /*#__PURE__*/React.createElement(RenderContainer, null, /*#__PURE__*/React.createElement(TransitionGroup, null, _this2._renderToast())));
111
+ });
103
112
  }
104
113
  /**
105
114
  * Показывает тост с `notification` в качестве сообщения.
@@ -1 +1 @@
1
- {"version":3,"sources":["Toast.tsx"],"names":["React","CSSTransition","TransitionGroup","RenderContainer","CommonWrapper","isTestEnv","rootNode","styles","ToastView","ToastStatic","ToastDataTids","toastStatic","toastView","action","close","Toast","push","notification","showTime","props","_timeout","rootRef","createRef","safelyCall","onClose","state","setState","setRootRef","element","setRootNode","current","_clearTimer","clearTimeout","_setTimer","window","setTimeout","_refToast","_toast","id","componentWillUnmount","render","_renderToast","onPush","toastProps","onMouseEnter","onMouseLeave","children","enter","enterActive","exit","exitActive","Component","__KONTUR_REACT_UI__","fn","args"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\n\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport { ToastView, ToastViewProps } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<string>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n onPush?: (notification: string, action?: Action) => void;\n onClose?: (notification: string, action?: Action) => void;\n}\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * Показывает уведомления.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация и могут быть проблемы\n * с перекрытием уведомления другими элементами страницы.\n *\n * Рекомендуется использовать Toast через `ref` (см. примеры).\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n private setRootNode!: TSetRootNode;\n\n public static push(notification: string, action?: Nullable<Action>, showTime?: number) {\n ToastStatic.push(notification, action, showTime);\n }\n\n public static close() {\n ToastStatic.close();\n }\n\n public _toast: Nullable<ToastView>;\n private _timeout: Nullable<number> = null;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {string} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n */\n public push(notification: string, action?: Nullable<Action>, showTime?: number) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n\n this._timeout = window.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"]}
1
+ {"version":3,"sources":["Toast.tsx"],"names":["React","CSSTransition","TransitionGroup","globalObject","ThemeFactory","ThemeContext","RenderContainer","CommonWrapper","isTestEnv","rootNode","styles","ToastView","ToastStatic","ToastDataTids","toastStatic","toastView","action","close","Toast","push","notification","showTime","props","rootRef","createRef","safelyCall","onClose","state","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","clearTimeout","_setTimer","setTimeout","_refToast","_toast","id","componentWillUnmount","render","theme","create","_renderToast","onPush","toastProps","onMouseEnter","onMouseLeave","children","enter","enterActive","exit","exitActive","Component","__KONTUR_REACT_UI__","fn","args"],"mappings":"2JAAA,OAAOA,KAAP,MAAsC,OAAtC;AACA,SAASC,aAAT,EAAwBC,eAAxB,QAA+C,wBAA/C;AACA,SAASC,YAAT,QAAwC,0BAAxC;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,eAAT,QAAgC,gCAAhC;;AAEA,SAAsBC,aAAtB,QAA2C,8BAA3C;AACA,SAASC,SAAT,QAA0B,8BAA1B;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,MAAT,QAAuB,gBAAvB;AACA,SAASC,SAAT,QAA0C,aAA1C;AACA,SAASC,WAAT,QAA4B,eAA5B;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,OAAO,IAAMC,aAAa,GAAG;AAC3BC,EAAAA,WAAW,EAAE,aADc;AAE3BC,EAAAA,SAAS,EAAE,iBAFgB;AAG3BC,EAAAA,MAAM,EAAE,mBAHmB;AAI3BC,EAAAA,KAAK,EAAE,kBAJoB,EAAtB;;;AAOP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAaC,KAAb,GADCT,QACD;;;;;AAKgBU,EAAAA,IALhB,GAKE,cAAmBC,YAAnB,EAAyCJ,MAAzC,EAAoEK,QAApE,EAAuF;AACrFT,IAAAA,WAAW,CAACO,IAAZ,CAAiBC,YAAjB,EAA+BJ,MAA/B,EAAuCK,QAAvC;AACD,GAPH;;AASgBJ,EAAAA,KAThB,GASE,iBAAsB;AACpBL,IAAAA,WAAW,CAACK,KAAZ;AACD,GAXH;;;;;;AAiBE,iBAAYK,KAAZ,EAA+B;AAC7B,wCAAMA,KAAN,UAD6B,MAFvBC,OAEuB,gBAFbvB,KAAK,CAACwB,SAAN,EAEa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDxBP,IAAAA,KAxDwB,GAwDhB,YAAM;AACnBQ,MAAAA,UAAU,CAAC,MAAKH,KAAL,CAAWI,OAAZ,EAAqB,MAAKC,KAAL,CAAWP,YAAhC,EAA8C,MAAKO,KAAL,CAAWX,MAAzD,CAAV;AACA,YAAKY,QAAL,CAAc,EAAER,YAAY,EAAE,IAAhB,EAAsBJ,MAAM,EAAE,IAA9B,EAAd;AACD,KA3D8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqGvBa,IAAAA,UArGuB,GAqGV,UAACC,OAAD,EAAgC;AACnD,YAAKC,WAAL,CAAiBD,OAAjB;AACA;AACA,YAAKP,OAAL,CAAaS,OAAb,GAAuBF,OAAvB;AACD,KAzG8B;;AA2GvBG,IAAAA,WA3GuB,GA2GT,YAAM;AAC1B,UAAI,MAAKC,QAAT,EAAmB;AACjB/B,QAAAA,YAAY,CAACgC,YAAb,CAA0B,MAAKD,QAA/B;AACA,cAAKA,QAAL,GAAgB,IAAhB;AACD;AACF,KAhH8B;;AAkHvBE,IAAAA,SAlHuB,GAkHX,YAAM;AACxB,YAAKH,WAAL;;AAEA,UAAIZ,QAAQ,GAAG,MAAKM,KAAL,CAAWX,MAAX,GAAoB,IAApB,GAA2B,IAA1C;AACAK,MAAAA,QAAQ,2BAAG,MAAKM,KAAL,CAAWN,QAAd,mCAA0BA,QAAlC;AACA,YAAKa,QAAL,GAAgB/B,YAAY,CAACkC,UAAb,CAAwB,MAAKpB,KAA7B,EAAoCI,QAApC,CAAhB;AACD,KAxH8B;;AA0HvBiB,IAAAA,SA1HuB,GA0HX,UAACR,OAAD,EAAwB;AAC1C,YAAKS,MAAL,GAAcT,OAAd;AACD,KA5H8B,CAE7B,MAAKH,KAAL,GAAa,EACXP,YAAY,EAAE,IADH,EAEXJ,MAAM,EAAE,IAFG,EAGXwB,EAAE,EAAE,CAHO,EAIXnB,QAAQ,EAAE,IAJC,EAAb,CAF6B,aAQ9B,CAzBH,oCA2BSoB,oBA3BT,GA2BE,gCAA8B,CAC5B,KAAKR,WAAL,GACD,CA7BH,QA+BSS,MA/BT,GA+BE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAa,MAAI,CAACrB,KAAL,CAAWqB,KAAX,GAAmBvC,YAAY,CAACwC,MAAb,CAAoB,MAAI,CAACtB,KAAL,CAAWqB,KAA/B,EAA+CA,KAA/C,CAAnB,GAA2EA,KAAxF,CACA,oBACE,oBAAC,YAAD,CAAc,QAAd,IAAuB,KAAK,EAAE,MAAI,CAACA,KAAnC,iBACE,oBAAC,eAAD,qBACE,oBAAC,eAAD,QAAkB,MAAI,CAACE,YAAL,EAAlB,CADF,CADF,CADF,CAOD,CAVH,CADF,CAcD,CA9CH,CAgDE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KA3DA,QA4DS1B,IA5DT,GA4DE,cAAYC,YAAZ,EAAkCJ,MAAlC,EAA6DK,QAA7D,EAAgF,CAC9E,IAAI,KAAKM,KAAL,CAAWP,YAAf,EAA6B,CAC3B,KAAKH,KAAL,GACD,CAEDQ,UAAU,CAAC,KAAKH,KAAL,CAAWwB,MAAZ,EAAoB1B,YAApB,EAAkCJ,MAAlC,CAAV,CAEA,KAAKY,QAAL,CAAc,qBAAGY,EAAH,QAAGA,EAAH,QAAa,EAAEpB,YAAY,EAAZA,YAAF,EAAgBJ,MAAM,EAANA,MAAhB,EAAwBwB,EAAE,EAAEA,EAAE,GAAG,CAAjC,EAAoCnB,QAAQ,EAARA,QAApC,EAAb,EAAd,EAA4E,KAAKe,SAAjF,EACD,CApEH,CAsEE;AACF;AACA,KAxEA,QA8EUS,YA9EV,GA8EE,wBAAuB,CACrB,kBAAqC,KAAKlB,KAA1C,CAAQP,YAAR,eAAQA,YAAR,CAAsBJ,MAAtB,eAAsBA,MAAtB,CAA8BwB,EAA9B,eAA8BA,EAA9B,CAEA,IAAI,CAACpB,YAAL,EAAmB,CACjB,OAAO,IAAP,CACD,CAED,IAAM2B,UAA0B,GAAG,EACjCC,YAAY,EAAE,KAAKf,WADc,EAEjCgB,YAAY,EAAE,KAAKb,SAFc,EAGjCV,OAAO,EAAE,KAAKT,KAHmB,EAIjCiC,QAAQ,EAAE9B,YAJuB,EAKjC,cAAc,KAAKE,KAAL,CAAW,YAAX,CALmB,EAMjCN,MAAM,EAANA,MANiC,EAAnC,CASA,oBACE,oBAAC,aAAD,IACE,GAAG,EAAEwB,EADP,EAEE,UAAU,EAAE,EACVW,KAAK,EAAEzC,MAAM,CAACyC,KAAP,EADG,EAEVC,WAAW,EAAE1C,MAAM,CAAC0C,WAAP,EAFH,EAGVC,IAAI,EAAE3C,MAAM,CAAC2C,IAAP,EAHI,EAIVC,UAAU,EAAE5C,MAAM,CAAC4C,UAAP,EAJF,EAFd,EAQE,OAAO,EAAE,EACPH,KAAK,EAAE,GADA,EAEPE,IAAI,EAAE,GAFC,EARX,EAYE,KAAK,EAAE,CAAC7C,SAZV,EAaE,IAAI,EAAE,CAACA,SAbT,EAcE,OAAO,EAAE,KAAKe,OAdhB,iBAgBE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKM,UAAjC,IAAiD,KAAKP,KAAtD,gBACE,oBAAC,SAAD,aAAW,GAAG,EAAE,KAAKgB,SAArB,IAAoCS,UAApC,EADF,CAhBF,CADF,CAsBD,CApHH,gBAA2B/C,KAAK,CAACuD,SAAjC,WACgBC,mBADhB,GACsC,OADtC,oBAgJA,SAAS/B,UAAT,CAAoBgC,EAApB,EAAoE,CAClE,IAAIA,EAAJ,EAAQ,mCAD6CC,IAC7C,uEAD6CA,IAC7C,8BACND,EAAE,MAAF,SAAMC,IAAN,EACD,CACF","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport { ToastView, ToastViewProps } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<string>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n onPush?: (notification: string, action?: Action) => void;\n onClose?: (notification: string, action?: Action) => void;\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n}\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * Показывает уведомления.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов <u>рекомендуется</u> использовать компонент [SingleToast](https://tech.skbkontur.ru/react-ui/#/Components/SingleToast) - в нём исправлены эти проблемы.\n *\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n public static push(notification: string, action?: Nullable<Action>, showTime?: number) {\n ToastStatic.push(notification, action, showTime);\n }\n\n public static close() {\n ToastStatic.close();\n }\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {string} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n */\n public push(notification: string, action?: Nullable<Action>, showTime?: number) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import React, { AriaAttributes } from 'react';
2
+ import { ThemeIn } from '../../lib/theming/Theme';
2
3
  import { Nullable } from '../../typings/utility-types';
3
4
  import { CommonProps } from '../../internal/CommonWrapper';
4
5
  import { ToastView } from './ToastView';
@@ -16,6 +17,11 @@ export interface ToastState {
16
17
  export interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {
17
18
  onPush?: (notification: string, action?: Action) => void;
18
19
  onClose?: (notification: string, action?: Action) => void;
20
+ /**
21
+ * Обычный объект с переменными темы.
22
+ * Он будет объединён с темой из контекста.
23
+ */
24
+ theme?: ThemeIn;
19
25
  }
20
26
  export declare const ToastDataTids: {
21
27
  readonly toastStatic: "StaticToast";
@@ -27,14 +33,15 @@ export declare const ToastDataTids: {
27
33
  * Показывает уведомления.
28
34
  *
29
35
  * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.
30
- * Однако, при его использовании не работает кастомизация и могут быть проблемы
31
- * с перекрытием уведомления другими элементами страницы.
36
+ * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.
37
+ *
38
+ * Для статических тостов <u>рекомендуется</u> использовать компонент [SingleToast](https://tech.skbkontur.ru/react-ui/#/Components/SingleToast) - в нём исправлены эти проблемы.
32
39
  *
33
- * Рекомендуется использовать Toast через `ref` (см. примеры).
34
40
  */
35
41
  export declare class Toast extends React.Component<ToastProps, ToastState> {
36
42
  static __KONTUR_REACT_UI__: string;
37
43
  private setRootNode;
44
+ private theme;
38
45
  static push(notification: string, action?: Nullable<Action>, showTime?: number): void;
39
46
  static close(): void;
40
47
  _toast: Nullable<ToastView>;
@@ -67,108 +67,3 @@ class Toaster extends React.Component {
67
67
 
68
68
  <Toaster />;
69
69
  ```
70
-
71
- ### SuperToast
72
-
73
- Вы можете объединить удобство статических методов и кастамизируемость классического способа через `ref`.
74
- Для этого можно добавить обёртку, которая позволяет Toast работать по примеру GlobalLoader.
75
-
76
- Т.е. кастомный Toast можно добавить в единственном месте в проекте, а статические методы будут всегда использовать последний отрендеренный экземпляр Toast:
77
-
78
- Также в обёртке можно изменить логику появления всплывашки, по рекомендации Гайдов:
79
- https://guides.kontur.ru/components/toast/#08
80
- ```static
81
- «Всегда показывается только 1 тост. Перед появлением следующего тоста, текущий скрывается, даже если время его показа еще не истекло»
82
- ```
83
-
84
- Для этого немного изменим метод `SuperToast.close` с помощью специального метода `ReactDOM.flushSync`.
85
-
86
- Итоговый вариант:
87
- ```js static
88
- const SuperToast = (props) => <Toast ref={SuperToast.ref} {...props} />;
89
- SuperToast.ref = React.createRef();
90
- SuperToast.push = (...args) => {
91
- SuperToast.close();
92
- SuperToast.ref.current && SuperToast.ref.current.push(...args);
93
- };
94
- SuperToast.close = () => {
95
- ReactDOM.flushSync(() => {
96
- SuperToast.ref.current && SuperToast.ref.current.close();
97
- });
98
- };
99
-
100
- ```
101
-
102
-
103
- Версия на typescript:
104
- ```typescript static
105
- class SuperToast extends React.Component<ToastProps> {
106
- public static ref = React.createRef<Toast>();
107
- public static push: typeof Toast.push = (...args) => {
108
- SuperToast.close();
109
- SuperToast.ref.current?.push(...args);
110
- };
111
- public static close: typeof Toast.close = () => {
112
- ReactDOM.flushSync(() => SuperToast.ref.current?.close());
113
- };
114
- render = () => {
115
- return <Toast ref={SuperToast.ref} {...this.props} />;
116
- };
117
- }
118
- ```
119
-
120
-
121
- ```jsx harmony
122
- import { Button, Toast, ThemeContext, ThemeFactory, THEME_2022 } from '@skbkontur/react-ui';
123
- import ReactDOM from 'react-dom';
124
-
125
- const SuperToast = (props) => <Toast ref={SuperToast.ref} {...props} />;
126
- SuperToast.ref = React.createRef();
127
- SuperToast.push = (...args) => {
128
- SuperToast.close();
129
- SuperToast.ref.current && SuperToast.ref.current.push(...args);
130
- };
131
- SuperToast.close = () => {
132
- ReactDOM.flushSync(() => {
133
- SuperToast.ref.current && SuperToast.ref.current.close();
134
- });
135
- };
136
-
137
- const RedToast = () => (
138
- <ThemeContext.Consumer>
139
- {(theme) => {
140
- return <ThemeContext.Provider
141
- value={ThemeFactory.create(
142
- {
143
- toastBg: "rgba(210, 15, 0, 0.76)",
144
- toastLinkBgActive: "rgba(210, 15, 0, 0.76)"
145
- },
146
- theme
147
- )}
148
- >
149
- <SuperToast />
150
- </ThemeContext.Provider>
151
- }}
152
- </ThemeContext.Consumer>
153
- );
154
-
155
- const rand = () => "Пример красного тоста №" + Math.round(Math.random() * 100).toString();
156
-
157
- const push = () => {
158
- SuperToast.push(rand(), {
159
- label: "Cancel",
160
- handler: () => SuperToast.push("Canceled")
161
- });
162
- };
163
-
164
- <div>
165
- <RedToast />
166
- <span />
167
- <span />
168
- <span />
169
- <Button onClick={push}>
170
- Show super red toast
171
- </Button>
172
- </div>
173
- ;
174
- ```
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import ReactDOM from 'react-dom';
3
+ import { globalObject } from '@skbkontur/global-object';
3
4
  import { Toast, ToastDataTids } from "../Toast";
4
5
  export var ToastStatic = function ToastStatic() {};
5
6
 
6
7
  ToastStatic.push = function (notification, action, showTime) {
7
- if (!ToastStatic.node) {
8
- ToastStatic.node = document.createElement('div');
9
- var _document = document,
10
- body = _document.body;
8
+ if (!ToastStatic.node && globalObject.document) {
9
+ ToastStatic.node = globalObject.document.createElement('div');
10
+ var body = globalObject.document.body;
11
11
 
12
12
  if (!body) {
13
13
  throw Error('There is no "body" element in "document"');
@@ -1 +1 @@
1
- {"version":3,"sources":["ToastStatic.tsx"],"names":["React","ReactDOM","Toast","ToastDataTids","ToastStatic","push","notification","action","showTime","node","document","createElement","body","Error","appendChild","render","toastStatic","el","instance","_push","close"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,WAArB;;;;AAIA,SAASC,KAAT,EAAwBC,aAAxB,QAA6C,SAA7C;;AAEA,WAAaC,WAAb,6BAAaA,W;AACGC,I,GAAO,UAACC,YAAD,EAAuBC,MAAvB,EAAkDC,QAAlD,EAAwE;AAC3F,MAAI,CAACJ,WAAW,CAACK,IAAjB,EAAuB;AACrBL,IAAAA,WAAW,CAACK,IAAZ,GAAmBC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAnB;AACA,oBAAiBD,QAAjB,CAAQE,IAAR,aAAQA,IAAR;AACA,QAAI,CAACA,IAAL,EAAW;AACT,YAAMC,KAAK,CAAC,0CAAD,CAAX;AACD;AACDD,IAAAA,IAAI,CAACE,WAAL,CAAiBV,WAAW,CAACK,IAA7B;;AAEAR,IAAAA,QAAQ,CAACc,MAAT;AACE,wBAAC,KAAD,IAAO,YAAUZ,aAAa,CAACa,WAA/B,EAA4C,GAAG,EAAE,aAACC,EAAD,UAASb,WAAW,CAACc,QAAZ,GAAuBD,EAAhC,EAAjD,GADF;AAEEb,IAAAA,WAAW,CAACK,IAFd;AAGE,wBAAML,WAAW,CAACe,KAAZ,CAAkBb,YAAlB,EAAgCC,MAAhC,EAAwCC,QAAxC,CAAN,EAHF;;AAKD,GAbD,MAaO;AACLJ,IAAAA,WAAW,CAACe,KAAZ,CAAkBb,YAAlB,EAAgCC,MAAhC,EAAwCC,QAAxC;AACD;AACF,C,CAlBUJ,W;;AAoBGe,K,GAAQ,UAACb,YAAD,EAAuBC,MAAvB,EAAkDC,QAAlD,EAAwE;AAC5F,MAAIJ,WAAW,CAACc,QAAhB,EAA0B;AACxBd,IAAAA,WAAW,CAACc,QAAZ,CAAqBb,IAArB,CAA0BC,YAA1B,EAAwCC,MAAxC,EAAgDC,QAAhD;AACD;AACF,C,CAxBUJ,W;;AA0BGgB,K,GAAQ,YAAM;AAC1B,MAAIhB,WAAW,CAACc,QAAhB,EAA0B;AACxBd,IAAAA,WAAW,CAACc,QAAZ,CAAqBE,KAArB;AACD;AACF,C,CA9BUhB,W;;;AAiCIc,Q,GAA4B,I","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { Toast, Action, ToastDataTids } from './Toast';\n\nexport class ToastStatic {\n public static push = (notification: string, action?: Nullable<Action>, showTime?: number) => {\n if (!ToastStatic.node) {\n ToastStatic.node = document.createElement('div');\n const { body } = document;\n if (!body) {\n throw Error('There is no \"body\" element in \"document\"');\n }\n body.appendChild(ToastStatic.node);\n\n ReactDOM.render(\n <Toast data-tid={ToastDataTids.toastStatic} ref={(el) => (ToastStatic.instance = el)} />,\n ToastStatic.node,\n () => ToastStatic._push(notification, action, showTime),\n );\n } else {\n ToastStatic._push(notification, action, showTime);\n }\n };\n\n public static _push = (notification: string, action?: Nullable<Action>, showTime?: number) => {\n if (ToastStatic.instance) {\n ToastStatic.instance.push(notification, action, showTime);\n }\n };\n\n public static close = () => {\n if (ToastStatic.instance) {\n ToastStatic.instance.close();\n }\n };\n\n private static node: HTMLDivElement;\n private static instance: Nullable<Toast> = null;\n}\n"]}
1
+ {"version":3,"sources":["ToastStatic.tsx"],"names":["React","ReactDOM","globalObject","Toast","ToastDataTids","ToastStatic","push","notification","action","showTime","node","document","createElement","body","Error","appendChild","render","toastStatic","el","instance","_push","close"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,WAArB;AACA,SAASC,YAAT,QAA6B,0BAA7B;;;;AAIA,SAASC,KAAT,EAAwBC,aAAxB,QAA6C,SAA7C;;AAEA,WAAaC,WAAb,6BAAaA,W;AACGC,I,GAAO,UAACC,YAAD,EAAuBC,MAAvB,EAAkDC,QAAlD,EAAwE;AAC3F,MAAI,CAACJ,WAAW,CAACK,IAAb,IAAqBR,YAAY,CAACS,QAAtC,EAAgD;AAC9CN,IAAAA,WAAW,CAACK,IAAZ,GAAmBR,YAAY,CAACS,QAAb,CAAsBC,aAAtB,CAAoC,KAApC,CAAnB;AACA,QAAQC,IAAR,GAAiBX,YAAY,CAACS,QAA9B,CAAQE,IAAR;AACA,QAAI,CAACA,IAAL,EAAW;AACT,YAAMC,KAAK,CAAC,0CAAD,CAAX;AACD;AACDD,IAAAA,IAAI,CAACE,WAAL,CAAiBV,WAAW,CAACK,IAA7B;;AAEAT,IAAAA,QAAQ,CAACe,MAAT;AACE,wBAAC,KAAD,IAAO,YAAUZ,aAAa,CAACa,WAA/B,EAA4C,GAAG,EAAE,aAACC,EAAD,UAASb,WAAW,CAACc,QAAZ,GAAuBD,EAAhC,EAAjD,GADF;AAEEb,IAAAA,WAAW,CAACK,IAFd;AAGE,wBAAML,WAAW,CAACe,KAAZ,CAAkBb,YAAlB,EAAgCC,MAAhC,EAAwCC,QAAxC,CAAN,EAHF;;AAKD,GAbD,MAaO;AACLJ,IAAAA,WAAW,CAACe,KAAZ,CAAkBb,YAAlB,EAAgCC,MAAhC,EAAwCC,QAAxC;AACD;AACF,C,CAlBUJ,W;;AAoBGe,K,GAAQ,UAACb,YAAD,EAAuBC,MAAvB,EAAkDC,QAAlD,EAAwE;AAC5F,MAAIJ,WAAW,CAACc,QAAhB,EAA0B;AACxBd,IAAAA,WAAW,CAACc,QAAZ,CAAqBb,IAArB,CAA0BC,YAA1B,EAAwCC,MAAxC,EAAgDC,QAAhD;AACD;AACF,C,CAxBUJ,W;;AA0BGgB,K,GAAQ,YAAM;AAC1B,MAAIhB,WAAW,CAACc,QAAhB,EAA0B;AACxBd,IAAAA,WAAW,CAACc,QAAZ,CAAqBE,KAArB;AACD;AACF,C,CA9BUhB,W;;;AAiCIc,Q,GAA4B,I","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { Toast, Action, ToastDataTids } from './Toast';\n\nexport class ToastStatic {\n public static push = (notification: string, action?: Nullable<Action>, showTime?: number) => {\n if (!ToastStatic.node && globalObject.document) {\n ToastStatic.node = globalObject.document.createElement('div');\n const { body } = globalObject.document;\n if (!body) {\n throw Error('There is no \"body\" element in \"document\"');\n }\n body.appendChild(ToastStatic.node);\n\n ReactDOM.render(\n <Toast data-tid={ToastDataTids.toastStatic} ref={(el) => (ToastStatic.instance = el)} />,\n ToastStatic.node,\n () => ToastStatic._push(notification, action, showTime),\n );\n } else {\n ToastStatic._push(notification, action, showTime);\n }\n };\n\n public static _push = (notification: string, action?: Nullable<Action>, showTime?: number) => {\n if (ToastStatic.instance) {\n ToastStatic.instance.push(notification, action, showTime);\n }\n };\n\n public static close = () => {\n if (ToastStatic.instance) {\n ToastStatic.instance.close();\n }\n };\n\n private static node: HTMLDivElement;\n private static instance: Nullable<Toast> = null;\n}\n"]}
@@ -15,6 +15,10 @@ import { createPropsGetter } from "../../../lib/createPropsGetter";
15
15
  import { isTestEnv } from "../../../lib/currentEnvironment";
16
16
  import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
17
17
  import { styles, globalClasses } from "../Toggle.styles";
18
+ /**
19
+ * @deprecated use SizeProp
20
+ */
21
+
18
22
  var colorWarningShown = false;
19
23
  export var ToggleDataTids = {
20
24
  root: 'Toggle__root'
@@ -1 +1 @@
1
- {"version":3,"sources":["Toggle.tsx"],"names":["React","PropTypes","warning","keyListener","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","isTestEnv","isTheme2022","styles","globalClasses","colorWarningShown","ToggleDataTids","root","Toggle","props","getProps","defaultProps","input","focus","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","handleBlur","onBlur","state","defaultChecked","componentDidMount","autoFocus","render","theme","renderMain","getContainerSizeClassName","size","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getActiveHandleSizeClassName","activeHandleLarge","activeHandleMedium","activeHandleSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","children","error","color","id","ariaDescribedby","ariaLabel","loading","captionPosition","disableAnimations","disabled","containerClassNames","container","containerDisabled","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","captionClass","captionLeft","disabledCaption","setRootNode","button","buttonRight","isWarning","isError","focused","input2022","backgroundColor","boxShadow","undefined","activeBackground","background","activeBackgroundLoading","disabledBackground","handle","handleDisabled","Component","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nexport type ToggleSize = 'small' | 'medium' | 'large';\n\nlet colorWarningShown = false;\n\nexport interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, CommonProps {\n children?: React.ReactNode;\n /**\n * Положение `children` относительно переключателя.\n * @default 'right'\n */\n captionPosition?: 'left' | 'right';\n /**\n * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.\n * @default false\n */\n checked?: boolean;\n /**\n * Делает `тогл` включенным по умолчанию.\n */\n defaultChecked?: boolean;\n /**\n * Отключает `тогл`.\n */\n disabled?: boolean;\n /**\n * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * Событие вызывающееся при клике на `тогл`.\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Состояние валидации при предупреждении.\n * @default false\n */\n warning?: boolean;\n /**\n * Состояние валидации при ошибке.\n * @default false\n */\n error?: boolean;\n /**\n * Добавляет стили для состояния `loading` и отключает `тогл`.\n */\n loading?: boolean;\n /**\n * Если true, выставляет фокус на `тогле` после загрузки страницы.\n */\n autoFocus?: boolean;\n /** Размер */\n size?: ToggleSize;\n /**\n * Событие вызывающееся, когда `тогл` получает фокус.\n */\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * Событие вызывающееся, когда `тогл` теряет фокус.\n */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * @deprecated используйте переменную темы `toggleBgChecked` вместо этого пропа.\n */\n color?: React.CSSProperties['color'];\n /**\n * HTML-атрибут `id` для передачи во внутренний `<input />`.\n */\n id?: string;\n /**\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 * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = '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 color: (props: ToggleProps) => {\n if (props.color && !colorWarningShown) {\n warning(false, `[Toggle]: prop 'color' is deprecated. Please, use theme variable 'toggleBgChecked' instead. `);\n colorWarningShown = true;\n }\n },\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 getActiveHandleSizeClassName() {\n if (isTheme2022(this.theme)) {\n return '';\n }\n switch (this.getProps().size) {\n case 'large':\n return styles.activeHandleLarge(this.theme);\n case 'medium':\n return styles.activeHandleMedium(this.theme);\n case 'small':\n default:\n return styles.activeHandleSmall(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 color,\n id,\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(), this.getActiveHandleSizeClassName(), {\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 <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), isTheme2022(this.theme) && styles.input2022(this.theme), {\n [styles.input(this.theme)]: true,\n })}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n role=\"switch\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n <div\n className={containerClassNames}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n >\n {!isTheme2022(this.theme) && (\n <div\n className={cx(styles.activeBackground(), globalClasses.background, {\n [styles.activeBackgroundLoading(this.theme)]: loading,\n [styles.disabledBackground(this.theme)]: disabled,\n })}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n />\n )}\n </div>\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 handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n this.setState({\n focusByTab: false,\n });\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"]}
1
+ {"version":3,"sources":["Toggle.tsx"],"names":["React","PropTypes","warning","keyListener","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","isTestEnv","isTheme2022","styles","globalClasses","colorWarningShown","ToggleDataTids","root","Toggle","props","getProps","defaultProps","input","focus","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","handleBlur","onBlur","state","defaultChecked","componentDidMount","autoFocus","render","theme","renderMain","getContainerSizeClassName","size","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getActiveHandleSizeClassName","activeHandleLarge","activeHandleMedium","activeHandleSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","children","error","color","id","ariaDescribedby","ariaLabel","loading","captionPosition","disableAnimations","disabled","containerClassNames","container","containerDisabled","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","captionClass","captionLeft","disabledCaption","setRootNode","button","buttonRight","isWarning","isError","focused","input2022","backgroundColor","boxShadow","undefined","activeBackground","background","activeBackgroundLoading","disabledBackground","handle","handleDisabled","Component","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"2JAAA,OAAOA,KAAP,MAAsC,OAAtC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,OAAP,MAAoB,SAApB;;AAEA,SAASC,WAAT,QAA4B,8BAA5B;AACA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAAsBC,aAAtB,QAA2C,8BAA3C;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;AACA,SAASC,iBAAT,QAAkC,6BAAlC;AACA,SAASC,SAAT,QAA0B,8BAA1B;AACA,SAASC,WAAT,QAA4B,gCAA5B;;;AAGA,SAASC,MAAT,EAAiBC,aAAjB,QAAsC,iBAAtC;;AAEA;AACA;AACA;;;AAGA,IAAIC,iBAAiB,GAAG,KAAxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EA,OAAO,IAAMC,cAAc,GAAG;AAC5BC,EAAAA,IAAI,EAAE,cADsB,EAAvB;;;;;;;;;;;AAYP,OAJA;AACA;AACA,GAEA,IAAaC,MAAb,GADCT,QACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCE,kBAAYU,KAAZ,EAAgC;AAC9B,wCAAMA,KAAN,UAD8B,MANxBC,QAMwB,GANbV,iBAAiB,CAACQ,MAAM,CAACG,YAAR,CAMJ,OAHxBC,KAGwB,GAHS,IAGT;;;;;;;;;;;;;;;;;;AAmBzBC,IAAAA,KAnByB,GAmBjB,YAAM;AACnB,UAAI,MAAKD,KAAT,EAAgB;AACdjB,QAAAA,WAAW,CAACmB,YAAZ,GAA2B,IAA3B;AACA,cAAKF,KAAL,CAAWC,KAAX;AACD;AACF,KAxB+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyOxBE,IAAAA,QAzOwB,GAyOb,UAACC,OAAD,EAA+B;AAChD,YAAKJ,KAAL,GAAaI,OAAb;AACD,KA3O+B;;AA6OxBC,IAAAA,YA7OwB,GA6OT,UAACC,KAAD,EAAgD;AACrE,UAAI,MAAKT,KAAL,CAAWU,aAAf,EAA8B;AAC5B,cAAKV,KAAL,CAAWU,aAAX,CAAyBD,KAAK,CAACE,MAAN,CAAaC,OAAtC;AACD;;AAED,UAAI,MAAKC,cAAL,EAAJ,EAA2B;AACzB,cAAKC,QAAL,CAAc;AACZF,UAAAA,OAAO,EAAEH,KAAK,CAACE,MAAN,CAAaC,OADV,EAAd;;AAGD;;AAED,UAAI,MAAKZ,KAAL,CAAWe,QAAf,EAAyB;AACvB,cAAKf,KAAL,CAAWe,QAAX,CAAoBN,KAApB;AACD;AACF,KA3P+B;;AA6PxBO,IAAAA,WA7PwB,GA6PV,UAACP,KAAD,EAA+C;AACnE,UAAI,MAAKT,KAAL,CAAWiB,OAAf,EAAwB;AACtB,cAAKjB,KAAL,CAAWiB,OAAX,CAAmBR,KAAnB;AACD;;AAED,UAAIvB,WAAW,CAACmB,YAAhB,EAA8B;AAC5B,cAAKS,QAAL,CAAc,EAAEI,UAAU,EAAE,IAAd,EAAd;AACD;AACF,KArQ+B;;AAuQxBC,IAAAA,UAvQwB,GAuQX,UAACV,KAAD,EAA+C;AAClE,UAAI,MAAKT,KAAL,CAAWoB,MAAf,EAAuB;AACrB,cAAKpB,KAAL,CAAWoB,MAAX,CAAkBX,KAAlB;AACD;AACD,YAAKK,QAAL,CAAc;AACZI,QAAAA,UAAU,EAAE,KADA,EAAd;;AAGD,KA9Q+B,CAG9B,MAAKG,KAAL,GAAa,EACXH,UAAU,EAAE,KADD,EAEXN,OAAO,EAAEZ,KAAK,CAACsB,cAFJ,EAAb,CAH8B,aAO/B,CAxCH,qCA0CSC,iBA1CT,GA0CE,6BAA2B,CACzB,IAAI,KAAKvB,KAAL,CAAWwB,SAAf,EAA0B,CACxBtC,WAAW,CAACmB,YAAZ,GAA2B,IAA3B,CACA,KAAKD,KAAL,GACD,CACF,CA/CH,CAiDE;AACF;AACA,KAnDA,QA2DSqB,MA3DT,GA2DE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACC,UAAL,EAAP,CACD,CAJH,CADF,CAQD,CApEH,QAsEUC,yBAtEV,GAsEE,qCAAoC,CAClC,QAAQ,KAAK3B,QAAL,GAAgB4B,IAAxB,GACE,KAAK,OAAL,CACE,OAAOnC,MAAM,CAACoC,cAAP,CAAsB,KAAKJ,KAA3B,CAAP,CACF,KAAK,QAAL,CACE,OAAOhC,MAAM,CAACqC,eAAP,CAAuB,KAAKL,KAA5B,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAOhC,MAAM,CAACsC,cAAP,CAAsB,KAAKN,KAA3B,CAAP,CAPJ,CASD,CAhFH,QAkFUO,sBAlFV,GAkFE,kCAAiC,CAC/B,QAAQ,KAAKhC,QAAL,GAAgB4B,IAAxB,GACE,KAAK,OAAL,CACE,OAAOnC,MAAM,CAACwC,WAAP,CAAmB,KAAKR,KAAxB,CAAP,CACF,KAAK,QAAL,CACE,OAAOhC,MAAM,CAACyC,YAAP,CAAoB,KAAKT,KAAzB,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAOhC,MAAM,CAAC0C,WAAP,CAAmB,KAAKV,KAAxB,CAAP,CAPJ,CASD,CA5FH,QA8FUW,sBA9FV,GA8FE,kCAAiC,CAC/B,QAAQ,KAAKpC,QAAL,GAAgB4B,IAAxB,GACE,KAAK,OAAL,CACE,OAAOnC,MAAM,CAAC4C,WAAP,CAAmB,KAAKZ,KAAxB,CAAP,CACF,KAAK,QAAL,CACE,OAAOhC,MAAM,CAAC6C,YAAP,CAAoB,KAAKb,KAAzB,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAOhC,MAAM,CAAC8C,WAAP,CAAmB,KAAKd,KAAxB,CAAP,CAPJ,CASD,CAxGH,QA0GUe,oBA1GV,GA0GE,gCAA+B,CAC7B,QAAQ,KAAKxC,QAAL,GAAgB4B,IAAxB,GACE,KAAK,OAAL,CACE,OAAOnC,MAAM,CAACgD,SAAP,CAAiB,KAAKhB,KAAtB,CAAP,CACF,KAAK,QAAL,CACE,OAAOhC,MAAM,CAACiD,UAAP,CAAkB,KAAKjB,KAAvB,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAOhC,MAAM,CAACkD,SAAP,CAAiB,KAAKlB,KAAtB,CAAP,CAPJ,CASD,CApHH,QAsHUmB,qBAtHV,GAsHE,iCAAgC,CAC9B,QAAQ,KAAK5C,QAAL,GAAgB4B,IAAxB,GACE,KAAK,OAAL,CACE,OAAOnC,MAAM,CAACoD,UAAP,CAAkB,KAAKpB,KAAvB,CAAP,CACF,KAAK,QAAL,CACE,OAAOhC,MAAM,CAACqD,WAAP,CAAmB,KAAKrB,KAAxB,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAOhC,MAAM,CAACsD,UAAP,CAAkB,KAAKtB,KAAvB,CAAP,CAPJ,CASD,CAhIH,QAkIUuB,4BAlIV,GAkIE,wCAAuC,CACrC,IAAIxD,WAAW,CAAC,KAAKiC,KAAN,CAAf,EAA6B,CAC3B,OAAO,EAAP,CACD,CACD,QAAQ,KAAKzB,QAAL,GAAgB4B,IAAxB,GACE,KAAK,OAAL,CACE,OAAOnC,MAAM,CAACwD,iBAAP,CAAyB,KAAKxB,KAA9B,CAAP,CACF,KAAK,QAAL,CACE,OAAOhC,MAAM,CAACyD,kBAAP,CAA0B,KAAKzB,KAA/B,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAOhC,MAAM,CAAC0D,iBAAP,CAAyB,KAAK1B,KAA9B,CAAP,CAPJ,CASD,CA/IH,QAiJU2B,uBAjJV,GAiJE,mCAAkC,CAChC,QAAQ,KAAKpD,QAAL,GAAgB4B,IAAxB,GACE,KAAK,OAAL,CACE,OAAOnC,MAAM,CAAC4D,YAAP,CAAoB,KAAK5B,KAAzB,CAAP,CACF,KAAK,QAAL,CACE,OAAOhC,MAAM,CAAC6D,aAAP,CAAqB,KAAK7B,KAA1B,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAOhC,MAAM,CAAC8D,YAAP,CAAoB,KAAK9B,KAAzB,CAAP,CAPJ,CASD,CA3JH,QA6JUC,UA7JV,GA6JE,sBAAqB,uCACnB,kBAQI,KAAK3B,KART,CACEyD,QADF,eACEA,QADF,CAEExE,OAFF,eAEEA,OAFF,CAGEyE,KAHF,eAGEA,KAHF,CAIEC,KAJF,eAIEA,KAJF,CAKEC,EALF,eAKEA,EALF,CAMsBC,eANtB,eAME,kBANF,EAOgBC,SAPhB,eAOE,YAPF,EASA,qBAAwD,KAAK7D,QAAL,EAAxD,CAAQ8D,OAAR,kBAAQA,OAAR,CAAiBC,eAAjB,kBAAiBA,eAAjB,CAAkCC,iBAAlC,kBAAkCA,iBAAlC,CACA,IAAMC,QAAQ,GAAG,KAAKjE,QAAL,GAAgBiE,QAAhB,IAA4BH,OAA7C,CACA,IAAMnD,OAAO,GAAG,KAAKC,cAAL,KAAwB,KAAKQ,KAAL,CAAWT,OAAnC,GAA6C,KAAKZ,KAAL,CAAWY,OAAxE,CAEA,IAAMuD,mBAAmB,GAAG9E,EAAE,CAAC,KAAKuC,yBAAL,EAAD,iBAC3BlC,MAAM,CAAC0E,SAAP,CAAiB,KAAK1C,KAAtB,CAD2B,IACI,IADJ,MAE3BhC,MAAM,CAAC2E,iBAAP,CAAyB,KAAK3C,KAA9B,CAF2B,IAEY,CAAC,CAACwC,QAFd,MAG3BvE,aAAa,CAACyE,SAHa,IAGD,IAHC,MAI3BzE,aAAa,CAAC0E,iBAJa,IAIO,CAAC,CAACH,QAJT,MAK3BvE,aAAa,CAAC2E,gBALa,IAKMP,OALN,OAA9B,CAQA,IAAMQ,eAAe,GAAGlF,EAAE,CAAC,KAAKoD,oBAAL,EAAD,EAA8B,KAAKQ,4BAAL,EAA9B,mBACvBvD,MAAM,CAACI,IAAP,CAAY,KAAK4B,KAAjB,CADuB,IACG,IADH,OAEvBhC,MAAM,CAAC8E,QAAP,EAFuB,IAEHR,eAAe,KAAK,MAFjB,OAGvBtE,MAAM,CAACwE,QAAP,EAHuB,IAGH,CAAC,CAACA,QAHC,OAIvBvE,aAAa,CAACuE,QAJS,IAIE,CAAC,CAACA,QAJJ,OAKvBxE,MAAM,CAAC+E,gBAAP,EALuB,IAKKR,iBALL,QAA1B,CAQA,IAAIS,OAAO,GAAG,IAAd,CACA,IAAIjB,QAAJ,EAAc,UACZ,IAAMkB,YAAY,GAAGtF,EAAE,CAAC,KAAKgE,uBAAL,EAAD,mBACpB3D,MAAM,CAACgF,OAAP,CAAe,KAAKhD,KAApB,CADoB,IACS,IADT,OAEpBhC,MAAM,CAACkF,WAAP,CAAmB,KAAKlD,KAAxB,CAFoB,IAEasC,eAAe,KAAK,MAFjC,OAGpBtE,MAAM,CAACmF,eAAP,CAAuB,KAAKnD,KAA5B,CAHoB,IAGiB,CAAC,CAACwC,QAHnB,QAAvB,CAKAQ,OAAO,gBAAG,8BAAM,SAAS,EAAEC,YAAjB,IAAgClB,QAAhC,CAAV,CACD,CAED,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKqB,WAAjC,IAAkD,KAAK9E,KAAvD,gBACE,+BAAO,YAAUH,cAAc,CAACC,IAAhC,EAAsC,SAAS,EAAEyE,eAAjD,iBACE,6BACE,SAAS,EAAElF,EAAE,CAAC,KAAKgD,sBAAL,EAAD,mBACV3C,MAAM,CAACqF,MAAP,CAAc,KAAKrD,KAAnB,CADU,IACkB,IADlB,OAEVhC,MAAM,CAACsF,WAAP,EAFU,IAEahB,eAAe,KAAK,MAFjC,OAGVtE,MAAM,CAACuF,SAAP,CAAiB,KAAKvD,KAAtB,CAHU,IAGqB,CAAC,CAACzC,OAHvB,OAIVS,MAAM,CAACwF,OAAP,CAAe,KAAKxD,KAApB,CAJU,IAImB,CAAC,CAACgC,KAJrB,OAKVhE,MAAM,CAACyF,OAAP,CAAe,KAAKzD,KAApB,CALU,IAKmB,CAACwC,QAAD,IAAa,CAAC,CAAC,KAAK7C,KAAL,CAAWH,UAL7C,QADf,iBASE,+BACE,IAAI,EAAC,UADP,EAEE,OAAO,EAAEN,OAFX,EAGE,QAAQ,EAAE,KAAKJ,YAHjB,EAIE,SAAS,EAAEnB,EAAE,CAAC,KAAKwD,qBAAL,EAAD,EAA+BpD,WAAW,CAAC,KAAKiC,KAAN,CAAX,IAA2BhC,MAAM,CAAC0F,SAAP,CAAiB,KAAK1D,KAAtB,CAA1D,mBACVhC,MAAM,CAACS,KAAP,CAAa,KAAKuB,KAAlB,CADU,IACiB,IADjB,QAJf,EAOE,OAAO,EAAE,KAAKV,WAPhB,EAQE,MAAM,EAAE,KAAKG,UARf,EASE,GAAG,EAAE,KAAKb,QATZ,EAUE,QAAQ,EAAE4D,QAVZ,EAWE,EAAE,EAAEN,EAXN,EAYE,IAAI,EAAC,QAZP,EAaE,cAAYE,SAbd,EAcE,oBAAkBD,eAdpB,GATF,eAyBE,6BACE,SAAS,EAAEM,mBADb,EAEE,KAAK,EACHvD,OAAO,IAAI+C,KAAX,IAAoB,CAACO,QAArB,GACI,EACEmB,eAAe,EAAE1B,KADnB,EAEE2B,SAAS,uBAAqB3B,KAFhC,EADJ,GAKI4B,SARR,IAWG,CAAC9F,WAAW,CAAC,KAAKiC,KAAN,CAAZ,iBACC,6BACE,SAAS,EAAErC,EAAE,CAACK,MAAM,CAAC8F,gBAAP,EAAD,EAA4B7F,aAAa,CAAC8F,UAA1C,mBACV/F,MAAM,CAACgG,uBAAP,CAA+B,KAAKhE,KAApC,CADU,IACmCqC,OADnC,OAEVrE,MAAM,CAACiG,kBAAP,CAA0B,KAAKjE,KAA/B,CAFU,IAE8BwC,QAF9B,QADf,EAKE,KAAK,EACHtD,OAAO,IAAI+C,KAAX,IAAoB,CAACO,QAArB,GACI,EACEmB,eAAe,EAAE1B,KADnB,EAEE2B,SAAS,uBAAqB3B,KAFhC,EADJ,GAKI4B,SAXR,GAZJ,CAzBF,eAqDE,6BACE,SAAS,EAAElG,EAAE,CAAC,KAAK4C,sBAAL,EAAD,EAAgCtC,aAAa,CAACiG,MAA9C,mBACVlG,MAAM,CAACkG,MAAP,CAAc,KAAKlE,KAAnB,CADU,IACkB,IADlB,OAEVhC,MAAM,CAACmG,cAAP,CAAsB,KAAKnE,KAA3B,CAFU,IAE0BwC,QAF1B,QADf,GArDF,CADF,EA6DGQ,OA7DH,CADF,CADF,CAmED,CAxQH,QAiTU7D,cAjTV,GAiTE,0BAAyB;AACvB,WAAO,KAAKb,KAAL,CAAWY,OAAX,KAAuB2E,SAA9B;AACD,GAnTH,iBAA4BxG,KAAK,CAAC+G,SAAlC,WACgBC,mBADhB,GACsC,QADtC,UAGgBC,SAHhB,GAG4B,EACxBpF,OAAO,EAAE5B,SAAS,CAACiH,IADK,EAExB3E,cAAc,EAAEtC,SAAS,CAACiH,IAFF,EAGxB/B,QAAQ,EAAElF,SAAS,CAACiH,IAHI,EAIxBvC,KAAK,EAAE1E,SAAS,CAACiH,IAJO,EAKxBlC,OAAO,EAAE/E,SAAS,CAACiH,IALK,EAMxBhH,OAAO,EAAED,SAAS,CAACiH,IANK,EAOxBvF,aAAa,EAAE1B,SAAS,CAACkH,IAPD,EAQxBvC,KAAK,EAAE,eAAC3D,KAAD,EAAwB,CAC7B,IAAIA,KAAK,CAAC2D,KAAN,IAAe,CAAC/D,iBAApB,EAAuC,CACrCX,OAAO,CAAC,KAAD,iGAAP,CACAW,iBAAiB,GAAG,IAApB,CACD,CACF,CAbuB,EAH5B,UAmBgBM,YAnBhB,GAmB6C,EACzCgE,QAAQ,EAAE,KAD+B,EAEzCH,OAAO,EAAE,KAFgC,EAGzCC,eAAe,EAAE,OAHwB,EAIzCC,iBAAiB,EAAEzE,SAJsB,EAKzCqC,IAAI,EAAE,OALmC,EAnB7C","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\n/**\n * @deprecated use SizeProp\n */\nexport type ToggleSize = SizeProp;\n\nlet colorWarningShown = false;\n\nexport interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, CommonProps {\n children?: React.ReactNode;\n /**\n * Положение `children` относительно переключателя.\n * @default 'right'\n */\n captionPosition?: 'left' | 'right';\n /**\n * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.\n * @default false\n */\n checked?: boolean;\n /**\n * Делает `тогл` включенным по умолчанию.\n */\n defaultChecked?: boolean;\n /**\n * Отключает `тогл`.\n */\n disabled?: boolean;\n /**\n * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * Событие вызывающееся при клике на `тогл`.\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Состояние валидации при предупреждении.\n * @default false\n */\n warning?: boolean;\n /**\n * Состояние валидации при ошибке.\n * @default false\n */\n error?: boolean;\n /**\n * Добавляет стили для состояния `loading` и отключает `тогл`.\n */\n loading?: boolean;\n /**\n * Если true, выставляет фокус на `тогле` после загрузки страницы.\n */\n autoFocus?: boolean;\n /** Размер */\n size?: SizeProp;\n /**\n * Событие вызывающееся, когда `тогл` получает фокус.\n */\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * Событие вызывающееся, когда `тогл` теряет фокус.\n */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * @deprecated используйте переменную темы `toggleBgChecked` вместо этого пропа.\n */\n color?: React.CSSProperties['color'];\n /**\n * HTML-атрибут `id` для передачи во внутренний `<input />`.\n */\n id?: string;\n /**\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 * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = '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 color: (props: ToggleProps) => {\n if (props.color && !colorWarningShown) {\n warning(false, `[Toggle]: prop 'color' is deprecated. Please, use theme variable 'toggleBgChecked' instead. `);\n colorWarningShown = true;\n }\n },\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 getActiveHandleSizeClassName() {\n if (isTheme2022(this.theme)) {\n return '';\n }\n switch (this.getProps().size) {\n case 'large':\n return styles.activeHandleLarge(this.theme);\n case 'medium':\n return styles.activeHandleMedium(this.theme);\n case 'small':\n default:\n return styles.activeHandleSmall(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 color,\n id,\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(), this.getActiveHandleSizeClassName(), {\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 <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), isTheme2022(this.theme) && styles.input2022(this.theme), {\n [styles.input(this.theme)]: true,\n })}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n role=\"switch\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n <div\n className={containerClassNames}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n >\n {!isTheme2022(this.theme) && (\n <div\n className={cx(styles.activeBackground(), globalClasses.background, {\n [styles.activeBackgroundLoading(this.theme)]: loading,\n [styles.disabledBackground(this.theme)]: disabled,\n })}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n />\n )}\n </div>\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 handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n this.setState({\n focusByTab: false,\n });\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"]}
@@ -1,7 +1,11 @@
1
1
  import React, { AriaAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { CommonProps } from '../../internal/CommonWrapper';
4
- export declare type ToggleSize = 'small' | 'medium' | 'large';
4
+ import { SizeProp } from '../../lib/types/props';
5
+ /**
6
+ * @deprecated use SizeProp
7
+ */
8
+ export declare type ToggleSize = SizeProp;
5
9
  export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, CommonProps {
6
10
  children?: React.ReactNode;
7
11
  /**
@@ -49,7 +53,7 @@ export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-d
49
53
  */
50
54
  autoFocus?: boolean;
51
55
  /** Размер */
52
- size?: ToggleSize;
56
+ size?: SizeProp;
53
57
  /**
54
58
  * Событие вызывающееся, когда `тогл` получает фокус.
55
59
  */