@skbkontur/react-ui 6.4.2-static-css.0 → 6.4.3-6344a.0

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 (941) hide show
  1. package/README.md +0 -97
  2. package/components/Autocomplete/Autocomplete.css.d.ts +5 -0
  3. package/components/Autocomplete/Autocomplete.css.js +3 -0
  4. package/components/Autocomplete/Autocomplete.css.js.map +1 -0
  5. package/components/Autocomplete/Autocomplete.d.ts +1 -0
  6. package/components/Autocomplete/Autocomplete.js +5 -14
  7. package/components/Autocomplete/Autocomplete.js.map +1 -1
  8. package/components/Button/Button.css.d.ts +95 -0
  9. package/components/Button/Button.css.js +5 -0
  10. package/components/Button/Button.css.js.map +1 -0
  11. package/components/Button/Button.d.ts +1 -15
  12. package/components/Button/Button.js +77 -162
  13. package/components/Button/Button.js.map +1 -1
  14. package/components/Button/Button.mixins.d.ts +4 -0
  15. package/components/Button/Button.mixins.js +26 -0
  16. package/components/Button/Button.mixins.js.map +1 -0
  17. package/components/Button/ButtonArrow.d.ts +4 -3
  18. package/components/Button/ButtonArrow.js +11 -9
  19. package/components/Button/ButtonArrow.js.map +1 -1
  20. package/components/Button/ButtonIcon.css.d.ts +16 -0
  21. package/components/Button/ButtonIcon.css.js +3 -0
  22. package/components/Button/ButtonIcon.css.js.map +1 -0
  23. package/components/Button/ButtonIcon.js +18 -8
  24. package/components/Button/ButtonIcon.js.map +1 -1
  25. package/components/Button/LoadingButtonIcon.js +1 -1
  26. package/components/Button/LoadingButtonIcon.js.map +1 -1
  27. package/components/Calendar/Calendar.css.d.ts +6 -0
  28. package/components/Calendar/Calendar.css.js +3 -0
  29. package/components/Calendar/Calendar.css.js.map +1 -0
  30. package/components/Calendar/Calendar.d.ts +1 -0
  31. package/components/Calendar/Calendar.js +4 -4
  32. package/components/Calendar/Calendar.js.map +1 -1
  33. package/components/Calendar/CalendarDay.js +8 -12
  34. package/components/Calendar/CalendarDay.js.map +1 -1
  35. package/components/Calendar/DayCellView.css.d.ts +9 -0
  36. package/components/Calendar/DayCellView.css.js +3 -0
  37. package/components/Calendar/DayCellView.css.js.map +1 -0
  38. package/components/Calendar/DayCellView.js +4 -2
  39. package/components/Calendar/DayCellView.js.map +1 -1
  40. package/components/Calendar/Month.js +12 -8
  41. package/components/Calendar/Month.js.map +1 -1
  42. package/components/Calendar/MonthView.css.d.ts +13 -0
  43. package/components/Calendar/MonthView.css.js +3 -0
  44. package/components/Calendar/MonthView.css.js.map +1 -0
  45. package/components/Calendar/MonthView.js +8 -8
  46. package/components/Calendar/MonthView.js.map +1 -1
  47. package/components/Center/Center.css.d.ts +7 -0
  48. package/components/Center/Center.css.js +3 -0
  49. package/components/Center/Center.css.js.map +1 -0
  50. package/components/Center/Center.d.ts +1 -0
  51. package/components/Center/Center.js +2 -2
  52. package/components/Center/Center.js.map +1 -1
  53. package/components/Checkbox/Checkbox.css.d.ts +35 -0
  54. package/components/Checkbox/Checkbox.css.js +5 -0
  55. package/components/Checkbox/Checkbox.css.js.map +1 -0
  56. package/components/Checkbox/Checkbox.d.ts +1 -8
  57. package/components/Checkbox/Checkbox.js +27 -58
  58. package/components/Checkbox/Checkbox.js.map +1 -1
  59. package/components/Checkbox/Checkbox.mixins.d.ts +4 -0
  60. package/components/Checkbox/Checkbox.mixins.js +15 -0
  61. package/components/Checkbox/Checkbox.mixins.js.map +1 -0
  62. package/components/DateInput/DateFragmentsView.css.d.ts +7 -0
  63. package/components/DateInput/DateFragmentsView.css.js +3 -0
  64. package/components/DateInput/DateFragmentsView.css.js.map +1 -0
  65. package/components/DateInput/DateFragmentsView.d.ts +2 -0
  66. package/components/DateInput/DateFragmentsView.js +8 -11
  67. package/components/DateInput/DateFragmentsView.js.map +1 -1
  68. package/components/DateInput/DateInput.css.d.ts +10 -0
  69. package/components/DateInput/DateInput.css.js +3 -0
  70. package/components/DateInput/DateInput.css.js.map +1 -0
  71. package/components/DateInput/DateInput.d.ts +2 -0
  72. package/components/DateInput/DateInput.js +9 -7
  73. package/components/DateInput/DateInput.js.map +1 -1
  74. package/components/DatePicker/DatePicker.css.d.ts +5 -0
  75. package/components/DatePicker/DatePicker.css.js +3 -0
  76. package/components/DatePicker/DatePicker.css.js.map +1 -0
  77. package/components/DatePicker/DatePicker.d.ts +1 -0
  78. package/components/DatePicker/DatePicker.js +3 -3
  79. package/components/DatePicker/DatePicker.js.map +1 -1
  80. package/components/DatePicker/MobilePicker.css.d.ts +3 -0
  81. package/components/DatePicker/MobilePicker.css.js +3 -0
  82. package/components/DatePicker/MobilePicker.css.js.map +1 -0
  83. package/components/DatePicker/MobilePicker.js +1 -1
  84. package/components/DatePicker/MobilePicker.js.map +1 -1
  85. package/components/DatePicker/getMobilePickerTheme.js +9 -27
  86. package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
  87. package/components/DateRangePicker/DateRangePicker.css.d.ts +20 -0
  88. package/components/DateRangePicker/DateRangePicker.css.js +3 -0
  89. package/components/DateRangePicker/DateRangePicker.css.js.map +1 -0
  90. package/components/DateRangePicker/DateRangePicker.d.ts +4 -4
  91. package/components/DateRangePicker/DateRangePicker.js +28 -21
  92. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  93. package/components/DateRangePicker/DateRangePickerTheme.js +10 -30
  94. package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
  95. package/components/Dropdown/getDropdownTheme.d.ts +0 -11
  96. package/components/Dropdown/getDropdownTheme.js +4 -23
  97. package/components/Dropdown/getDropdownTheme.js.map +1 -1
  98. package/components/DropdownMenu/getDropdownMenuTheme.js +2 -9
  99. package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  100. package/components/FileUploader/FileUploader.css.d.ts +74 -0
  101. package/components/FileUploader/FileUploader.css.js +6 -0
  102. package/components/FileUploader/FileUploader.css.js.map +1 -0
  103. package/components/FileUploader/FileUploader.d.ts +1 -2
  104. package/components/FileUploader/FileUploader.js +46 -51
  105. package/components/FileUploader/FileUploader.js.map +1 -1
  106. package/components/FileUploader/FileUploader.mixins.d.ts +1 -0
  107. package/components/FileUploader/FileUploader.mixins.js +4 -0
  108. package/components/FileUploader/FileUploader.mixins.js.map +1 -0
  109. package/components/FileUploader/FileUploaderFile.css.d.ts +60 -0
  110. package/components/FileUploader/FileUploaderFile.css.js +5 -0
  111. package/components/FileUploader/FileUploaderFile.css.js.map +1 -0
  112. package/components/FileUploader/FileUploaderFile.js +31 -29
  113. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  114. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.d.ts +34 -0
  115. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js +5 -0
  116. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js.map +1 -0
  117. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +20 -18
  118. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  119. package/components/FileUploader/FileUploaderFileStatusIcon.js +5 -3
  120. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  121. package/components/FileUploader/FileUploaderFileTypeIcon.js +52 -47
  122. package/components/FileUploader/FileUploaderFileTypeIcon.js.map +1 -1
  123. package/components/FxInput/FxInput.d.ts +1 -1
  124. package/components/FxInput/FxInput.js +3 -7
  125. package/components/FxInput/FxInput.js.map +1 -1
  126. package/components/FxInput/FxInputRestoreBtn.js +15 -23
  127. package/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  128. package/components/GlobalLoader/GlobalLoaderView.css.d.ts +21 -0
  129. package/components/GlobalLoader/GlobalLoaderView.css.js +4 -0
  130. package/components/GlobalLoader/GlobalLoaderView.css.js.map +1 -0
  131. package/components/GlobalLoader/GlobalLoaderView.js +20 -30
  132. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  133. package/components/Group/Group.css.d.ts +8 -0
  134. package/components/Group/Group.css.js +3 -0
  135. package/components/Group/Group.css.js.map +1 -0
  136. package/components/Group/Group.d.ts +1 -0
  137. package/components/Group/Group.js +4 -3
  138. package/components/Group/Group.js.map +1 -1
  139. package/components/Hint/Hint.css.d.ts +5 -0
  140. package/components/Hint/Hint.css.js +3 -0
  141. package/components/Hint/Hint.css.js.map +1 -0
  142. package/components/Hint/Hint.d.ts +1 -0
  143. package/components/Hint/Hint.js +4 -4
  144. package/components/Hint/Hint.js.map +1 -1
  145. package/components/Input/Input.css.d.ts +21 -0
  146. package/components/Input/Input.css.js +3 -0
  147. package/components/Input/Input.css.js.map +1 -0
  148. package/components/Input/Input.d.ts +1 -0
  149. package/components/Input/Input.js +14 -14
  150. package/components/Input/Input.js.map +1 -1
  151. package/components/Input/InputLayout/InputLayout.css.d.ts +18 -0
  152. package/components/Input/InputLayout/InputLayout.css.js +4 -0
  153. package/components/Input/InputLayout/InputLayout.css.js.map +1 -0
  154. package/components/Input/InputLayout/InputLayout.js +1 -1
  155. package/components/Input/InputLayout/InputLayout.js.map +1 -1
  156. package/components/Input/InputLayout/InputLayoutAside.js +1 -1
  157. package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  158. package/components/Input/InputLayout/InputLayoutAsideCounter.js +9 -9
  159. package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
  160. package/components/Input/InputLayout/InputLayoutAsideIcon.js +26 -20
  161. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  162. package/components/Input/InputLayout/InputLayoutAsideText.js +5 -5
  163. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  164. package/components/Kebab/Kebab.css.d.ts +11 -0
  165. package/components/Kebab/Kebab.css.js +3 -0
  166. package/components/Kebab/Kebab.css.js.map +1 -0
  167. package/components/Kebab/Kebab.d.ts +1 -0
  168. package/components/Kebab/Kebab.js +3 -3
  169. package/components/Kebab/Kebab.js.map +1 -1
  170. package/components/Link/Link.css.d.ts +24 -0
  171. package/components/Link/Link.css.js +3 -0
  172. package/components/Link/Link.css.js.map +1 -0
  173. package/components/Link/Link.d.ts +1 -0
  174. package/components/Link/Link.js +19 -23
  175. package/components/Link/Link.js.map +1 -1
  176. package/components/Link/Link.mixins.d.ts +2 -0
  177. package/components/Link/Link.mixins.js +7 -0
  178. package/components/Link/Link.mixins.js.map +1 -0
  179. package/components/Link/LinkIcon.js +7 -5
  180. package/components/Link/LinkIcon.js.map +1 -1
  181. package/components/Loader/Loader.css.d.ts +8 -0
  182. package/components/Loader/Loader.css.js +3 -0
  183. package/components/Loader/Loader.css.js.map +1 -0
  184. package/components/Loader/Loader.d.ts +2 -0
  185. package/components/Loader/Loader.js +4 -3
  186. package/components/Loader/Loader.js.map +1 -1
  187. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.d.ts +6 -0
  188. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js +4 -0
  189. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js.map +1 -0
  190. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +22 -16
  191. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  192. package/components/MaskedInput/MaskedInput.css.d.ts +7 -0
  193. package/components/MaskedInput/MaskedInput.css.js +4 -0
  194. package/components/MaskedInput/MaskedInput.css.js.map +1 -0
  195. package/components/MaskedInput/MaskedInputLegacy.js +7 -5
  196. package/components/MaskedInput/MaskedInputLegacy.js.map +1 -1
  197. package/components/MaskedInputV2/MaskedInputV2.css.d.ts +7 -0
  198. package/components/MaskedInputV2/MaskedInputV2.css.js +4 -0
  199. package/components/MaskedInputV2/MaskedInputV2.css.js.map +1 -0
  200. package/components/MaskedInputV2/MaskedInputV2.js +7 -5
  201. package/components/MaskedInputV2/MaskedInputV2.js.map +1 -1
  202. package/components/MaskedInputV2/internal/MaskOverlay.js +9 -9
  203. package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -1
  204. package/components/MaskedInputV2/internal/MaskedCore.js +6 -8
  205. package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -1
  206. package/components/MaskedInputV2/internal/MaskedInternal.css.d.ts +15 -0
  207. package/components/MaskedInputV2/internal/MaskedInternal.css.js +4 -0
  208. package/components/MaskedInputV2/internal/MaskedInternal.css.js.map +1 -0
  209. package/components/MenuFooter/MenuFooter.css.d.ts +10 -0
  210. package/components/MenuFooter/MenuFooter.css.js +3 -0
  211. package/components/MenuFooter/MenuFooter.css.js.map +1 -0
  212. package/components/MenuFooter/MenuFooter.js +13 -11
  213. package/components/MenuFooter/MenuFooter.js.map +1 -1
  214. package/components/MenuFooter/MenuFooter.mixins.d.ts +2 -0
  215. package/components/MenuFooter/MenuFooter.mixins.js +8 -0
  216. package/components/MenuFooter/MenuFooter.mixins.js.map +1 -0
  217. package/components/MenuHeader/MenuHeader.css.d.ts +10 -0
  218. package/components/MenuHeader/MenuHeader.css.js +3 -0
  219. package/components/MenuHeader/MenuHeader.css.js.map +1 -0
  220. package/components/MenuHeader/MenuHeader.js +12 -10
  221. package/components/MenuHeader/MenuHeader.js.map +1 -1
  222. package/components/MenuHeader/MenuHeader.mixins.d.ts +2 -0
  223. package/components/MenuHeader/MenuHeader.mixins.js +8 -0
  224. package/components/MenuHeader/MenuHeader.mixins.js.map +1 -0
  225. package/components/MenuItem/MenuItem.css.d.ts +27 -0
  226. package/components/MenuItem/MenuItem.css.js +3 -0
  227. package/components/MenuItem/MenuItem.css.js.map +1 -0
  228. package/components/MenuItem/MenuItem.d.ts +1 -0
  229. package/components/MenuItem/MenuItem.js +22 -22
  230. package/components/MenuItem/MenuItem.js.map +1 -1
  231. package/components/MenuItem/MenuItem.mixins.d.ts +0 -6
  232. package/components/MenuItem/MenuItem.mixins.js +0 -6
  233. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  234. package/components/MenuSeparator/MenuSeparator.css.d.ts +5 -0
  235. package/components/MenuSeparator/MenuSeparator.css.js +3 -0
  236. package/components/MenuSeparator/MenuSeparator.css.js.map +1 -0
  237. package/components/MenuSeparator/MenuSeparator.js +7 -5
  238. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  239. package/components/MiniModal/MiniModal.css.d.ts +11 -0
  240. package/components/MiniModal/MiniModal.css.js +4 -0
  241. package/components/MiniModal/MiniModal.css.js.map +1 -0
  242. package/components/MiniModal/MiniModalBody.js +4 -4
  243. package/components/MiniModal/MiniModalBody.js.map +1 -1
  244. package/components/MiniModal/MiniModalFooter.js +7 -5
  245. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  246. package/components/MiniModal/MiniModalHeader.js +7 -5
  247. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  248. package/components/MiniModal/MiniModalIndent.js +5 -3
  249. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  250. package/components/MiniModal/getMiniModalTheme.js +13 -39
  251. package/components/MiniModal/getMiniModalTheme.js.map +1 -1
  252. package/components/Modal/Modal.css.d.ts +55 -0
  253. package/components/Modal/Modal.css.js +4 -0
  254. package/components/Modal/Modal.css.js.map +1 -0
  255. package/components/Modal/Modal.d.ts +1 -0
  256. package/components/Modal/Modal.js +9 -9
  257. package/components/Modal/Modal.js.map +1 -1
  258. package/components/Modal/ModalBody.d.ts +1 -0
  259. package/components/Modal/ModalBody.js +8 -8
  260. package/components/Modal/ModalBody.js.map +1 -1
  261. package/components/Modal/ModalClose.js +10 -8
  262. package/components/Modal/ModalClose.js.map +1 -1
  263. package/components/Modal/ModalFooter.js +4 -4
  264. package/components/Modal/ModalFooter.js.map +1 -1
  265. package/components/Modal/ModalHeader.js +4 -4
  266. package/components/Modal/ModalHeader.js.map +1 -1
  267. package/components/Modal/ModalSeparator.js +7 -5
  268. package/components/Modal/ModalSeparator.js.map +1 -1
  269. package/components/Paging/Paging.css.d.ts +32 -0
  270. package/components/Paging/Paging.css.js +3 -0
  271. package/components/Paging/Paging.css.js.map +1 -0
  272. package/components/Paging/Paging.d.ts +2 -0
  273. package/components/Paging/Paging.js +38 -33
  274. package/components/Paging/Paging.js.map +1 -1
  275. package/components/PasswordInput/PasswordInput.css.d.ts +11 -0
  276. package/components/PasswordInput/PasswordInput.css.js +3 -0
  277. package/components/PasswordInput/PasswordInput.css.js.map +1 -0
  278. package/components/PasswordInput/PasswordInput.d.ts +2 -0
  279. package/components/PasswordInput/PasswordInput.js +12 -7
  280. package/components/PasswordInput/PasswordInput.js.map +1 -1
  281. package/components/Radio/Radio.css.d.ts +35 -0
  282. package/components/Radio/Radio.css.js +5 -0
  283. package/components/Radio/Radio.css.js.map +1 -0
  284. package/components/Radio/Radio.d.ts +1 -8
  285. package/components/Radio/Radio.js +29 -60
  286. package/components/Radio/Radio.js.map +1 -1
  287. package/components/Radio/Radio.mixins.d.ts +7 -0
  288. package/components/Radio/Radio.mixins.js +27 -0
  289. package/components/Radio/Radio.mixins.js.map +1 -0
  290. package/components/RadioGroup/RadioGroup.css.d.ts +6 -0
  291. package/components/RadioGroup/RadioGroup.css.js +3 -0
  292. package/components/RadioGroup/RadioGroup.css.js.map +1 -0
  293. package/components/RadioGroup/RadioGroup.d.ts +1 -0
  294. package/components/RadioGroup/RadioGroup.js +3 -2
  295. package/components/RadioGroup/RadioGroup.js.map +1 -1
  296. package/components/ScrollContainer/ScrollBar.d.ts +3 -1
  297. package/components/ScrollContainer/ScrollBar.js +15 -10
  298. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  299. package/components/ScrollContainer/ScrollContainer.css.d.ts +21 -0
  300. package/components/ScrollContainer/ScrollContainer.css.js +4 -0
  301. package/components/ScrollContainer/ScrollContainer.css.js.map +1 -0
  302. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  303. package/components/ScrollContainer/ScrollContainer.js +2 -2
  304. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  305. package/components/Select/Select.css.d.ts +18 -0
  306. package/components/Select/Select.css.js +3 -0
  307. package/components/Select/Select.css.js.map +1 -0
  308. package/components/Select/Select.d.ts +1 -0
  309. package/components/Select/Select.js +14 -14
  310. package/components/Select/Select.js.map +1 -1
  311. package/components/Select/selectTheme.js +7 -31
  312. package/components/Select/selectTheme.js.map +1 -1
  313. package/components/SidePage/SidePage.css.d.ts +50 -0
  314. package/components/SidePage/SidePage.css.js +3 -0
  315. package/components/SidePage/SidePage.css.js.map +1 -0
  316. package/components/SidePage/SidePage.d.ts +6 -0
  317. package/components/SidePage/SidePage.js +28 -10
  318. package/components/SidePage/SidePage.js.map +1 -1
  319. package/components/SidePage/SidePageBody.d.ts +1 -0
  320. package/components/SidePage/SidePageBody.js +9 -8
  321. package/components/SidePage/SidePageBody.js.map +1 -1
  322. package/components/SidePage/SidePageCloseButton.js +9 -7
  323. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  324. package/components/SidePage/SidePageContainer.d.ts +2 -0
  325. package/components/SidePage/SidePageContainer.js +14 -12
  326. package/components/SidePage/SidePageContainer.js.map +1 -1
  327. package/components/SidePage/SidePageContext.d.ts +2 -0
  328. package/components/SidePage/SidePageContext.js.map +1 -1
  329. package/components/SidePage/SidePageFooter.d.ts +2 -0
  330. package/components/SidePage/SidePageFooter.js +18 -13
  331. package/components/SidePage/SidePageFooter.js.map +1 -1
  332. package/components/SidePage/SidePageHeader.d.ts +2 -0
  333. package/components/SidePage/SidePageHeader.js +21 -12
  334. package/components/SidePage/SidePageHeader.js.map +1 -1
  335. package/components/Spinner/Spinner.css.d.ts +13 -0
  336. package/components/Spinner/Spinner.css.js +3 -0
  337. package/components/Spinner/Spinner.css.js.map +1 -0
  338. package/components/Spinner/Spinner.d.ts +2 -0
  339. package/components/Spinner/Spinner.js +11 -8
  340. package/components/Spinner/Spinner.js.map +1 -1
  341. package/components/Sticky/Sticky.css.d.ts +7 -0
  342. package/components/Sticky/Sticky.css.js +3 -0
  343. package/components/Sticky/Sticky.css.js.map +1 -0
  344. package/components/Sticky/Sticky.d.ts +1 -0
  345. package/components/Sticky/Sticky.js +2 -2
  346. package/components/Sticky/Sticky.js.map +1 -1
  347. package/components/Switcher/Switcher.css.d.ts +12 -0
  348. package/components/Switcher/Switcher.css.js +3 -0
  349. package/components/Switcher/Switcher.css.js.map +1 -0
  350. package/components/Switcher/Switcher.d.ts +1 -0
  351. package/components/Switcher/Switcher.js +7 -7
  352. package/components/Switcher/Switcher.js.map +1 -1
  353. package/components/Switcher/switcherTheme.js +4 -12
  354. package/components/Switcher/switcherTheme.js.map +1 -1
  355. package/components/Tabs/Indicator.css.d.ts +8 -0
  356. package/components/Tabs/Indicator.css.js +3 -0
  357. package/components/Tabs/Indicator.css.js.map +1 -0
  358. package/components/Tabs/Indicator.d.ts +1 -0
  359. package/components/Tabs/Indicator.js +3 -3
  360. package/components/Tabs/Indicator.js.map +1 -1
  361. package/components/Tabs/Tab.css.d.ts +33 -0
  362. package/components/Tabs/Tab.css.js +6 -0
  363. package/components/Tabs/Tab.css.js.map +1 -0
  364. package/components/Tabs/Tab.d.ts +2 -0
  365. package/components/Tabs/Tab.js +25 -20
  366. package/components/Tabs/Tab.js.map +1 -1
  367. package/components/Tabs/Tabs.css.d.ts +7 -0
  368. package/components/Tabs/Tabs.css.js +3 -0
  369. package/components/Tabs/Tabs.css.js.map +1 -0
  370. package/components/Tabs/Tabs.d.ts +2 -0
  371. package/components/Tabs/Tabs.js +30 -25
  372. package/components/Tabs/Tabs.js.map +1 -1
  373. package/components/Tabs/helpers.d.ts +6 -0
  374. package/components/Tabs/helpers.js +25 -0
  375. package/components/Tabs/helpers.js.map +1 -0
  376. package/components/Textarea/Textarea.css.d.ts +23 -0
  377. package/components/Textarea/Textarea.css.js +3 -0
  378. package/components/Textarea/Textarea.css.js.map +1 -0
  379. package/components/Textarea/Textarea.d.ts +2 -0
  380. package/components/Textarea/Textarea.js +25 -18
  381. package/components/Textarea/Textarea.js.map +1 -1
  382. package/components/Textarea/Textarea.mixins.d.ts +2 -0
  383. package/components/Textarea/Textarea.mixins.js +7 -0
  384. package/components/Textarea/Textarea.mixins.js.map +1 -0
  385. package/components/Textarea/TextareaCounter.js +15 -23
  386. package/components/Textarea/TextareaCounter.js.map +1 -1
  387. package/components/TimePicker/TimePicker.css.d.ts +12 -0
  388. package/components/TimePicker/TimePicker.css.js +3 -0
  389. package/components/TimePicker/TimePicker.css.js.map +1 -0
  390. package/components/TimePicker/TimePicker.js +1 -1
  391. package/components/TimePicker/TimePicker.js.map +1 -1
  392. package/components/TimePicker/TimePickerItems.js +7 -7
  393. package/components/TimePicker/TimePickerItems.js.map +1 -1
  394. package/components/TimePicker/TimePickerPopup.js +2 -2
  395. package/components/TimePicker/TimePickerPopup.js.map +1 -1
  396. package/components/Toast/Toast.css.d.ts +6 -0
  397. package/components/Toast/Toast.css.js +3 -0
  398. package/components/Toast/Toast.css.js.map +1 -0
  399. package/components/Toast/Toast.d.ts +1 -0
  400. package/components/Toast/Toast.js +2 -2
  401. package/components/Toast/Toast.js.map +1 -1
  402. package/components/Toast/ToastView.css.d.ts +18 -0
  403. package/components/Toast/ToastView.css.js +3 -0
  404. package/components/Toast/ToastView.css.js.map +1 -0
  405. package/components/Toast/ToastView.d.ts +1 -0
  406. package/components/Toast/ToastView.js +18 -10
  407. package/components/Toast/ToastView.js.map +1 -1
  408. package/components/Toggle/Toggle.css.d.ts +50 -0
  409. package/components/Toggle/Toggle.css.js +5 -0
  410. package/components/Toggle/Toggle.css.js.map +1 -0
  411. package/components/Toggle/Toggle.d.ts +1 -1
  412. package/components/Toggle/Toggle.js +40 -56
  413. package/components/Toggle/Toggle.js.map +1 -1
  414. package/components/Toggle/Toggle.mixins.d.ts +8 -0
  415. package/components/Toggle/Toggle.mixins.js +29 -0
  416. package/components/Toggle/Toggle.mixins.js.map +1 -0
  417. package/components/Token/Token.css.d.ts +23 -0
  418. package/components/Token/Token.css.js +4 -0
  419. package/components/Token/Token.css.js.map +1 -0
  420. package/components/Token/Token.d.ts +2 -0
  421. package/components/Token/Token.js +11 -6
  422. package/components/Token/Token.js.map +1 -1
  423. package/components/Token/Token.mixins.d.ts +1 -0
  424. package/components/Token/Token.mixins.js +4 -0
  425. package/components/Token/Token.mixins.js.map +1 -0
  426. package/components/Token/TokenView.js +11 -9
  427. package/components/Token/TokenView.js.map +1 -1
  428. package/components/TokenInput/TextWidthHelper.d.ts +1 -0
  429. package/components/TokenInput/TextWidthHelper.js +5 -5
  430. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  431. package/components/TokenInput/TokenInput.css.d.ts +21 -0
  432. package/components/TokenInput/TokenInput.css.js +4 -0
  433. package/components/TokenInput/TokenInput.css.js.map +1 -0
  434. package/components/TokenInput/TokenInput.d.ts +2 -1
  435. package/components/TokenInput/TokenInput.js +23 -21
  436. package/components/TokenInput/TokenInput.js.map +1 -1
  437. package/components/TokenInput/TokenInput.mixins.d.ts +2 -0
  438. package/components/TokenInput/TokenInput.mixins.js +7 -0
  439. package/components/TokenInput/TokenInput.mixins.js.map +1 -0
  440. package/components/Tooltip/Tooltip.css.d.ts +11 -0
  441. package/components/Tooltip/Tooltip.css.js +3 -0
  442. package/components/Tooltip/Tooltip.css.js.map +1 -0
  443. package/components/Tooltip/Tooltip.d.ts +1 -0
  444. package/components/Tooltip/Tooltip.js +13 -13
  445. package/components/Tooltip/Tooltip.js.map +1 -1
  446. package/index.d.ts +0 -4
  447. package/index.js +0 -12
  448. package/index.js.map +1 -1
  449. package/internal/ClearCrossIcon/ClearCrossIcon.css.d.ts +11 -0
  450. package/internal/ClearCrossIcon/ClearCrossIcon.css.js +3 -0
  451. package/internal/ClearCrossIcon/ClearCrossIcon.css.js.map +1 -0
  452. package/internal/ClearCrossIcon/ClearCrossIcon.js +10 -8
  453. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  454. package/internal/CloseButtonIcon/CloseButtonIcon.css.d.ts +9 -0
  455. package/internal/CloseButtonIcon/CloseButtonIcon.css.js +3 -0
  456. package/internal/CloseButtonIcon/CloseButtonIcon.css.js.map +1 -0
  457. package/internal/CloseButtonIcon/CloseButtonIcon.d.ts +11 -21
  458. package/internal/CloseButtonIcon/CloseButtonIcon.js +19 -29
  459. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  460. package/internal/CommonWrapper/CommonWrapper.d.ts +4 -3
  461. package/internal/CommonWrapper/CommonWrapper.js +17 -104
  462. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  463. package/internal/CustomComboBox/ComboBoxView.d.ts +2 -1
  464. package/internal/CustomComboBox/ComboBoxView.js +9 -10
  465. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  466. package/internal/CustomComboBox/CustomComboBox.css.d.ts +4 -0
  467. package/internal/CustomComboBox/CustomComboBox.css.js +3 -0
  468. package/internal/CustomComboBox/CustomComboBox.css.js.map +1 -0
  469. package/internal/DateSelect/DateSelect.css.d.ts +9 -0
  470. package/internal/DateSelect/DateSelect.css.js +4 -0
  471. package/internal/DateSelect/DateSelect.css.js.map +1 -0
  472. package/internal/DateSelect/DateSelect.d.ts +1 -0
  473. package/internal/DateSelect/DateSelect.js +3 -3
  474. package/internal/DateSelect/DateSelect.js.map +1 -1
  475. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.d.ts +3 -0
  476. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js +3 -0
  477. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js.map +1 -0
  478. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +2 -16
  479. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +12 -37
  480. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  481. package/internal/InputLikeText/InputLikeText.css.d.ts +8 -0
  482. package/internal/InputLikeText/InputLikeText.css.js +3 -0
  483. package/internal/InputLikeText/InputLikeText.css.js.map +1 -0
  484. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  485. package/internal/InputLikeText/InputLikeText.js +19 -23
  486. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  487. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.d.ts +5 -0
  488. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js +4 -0
  489. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js.map +1 -0
  490. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +1 -0
  491. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +17 -17
  492. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  493. package/internal/MaskCharLowLine/MaskCharLowLine.css.d.ts +3 -0
  494. package/internal/MaskCharLowLine/MaskCharLowLine.css.js +3 -0
  495. package/internal/MaskCharLowLine/MaskCharLowLine.css.js.map +1 -0
  496. package/internal/MaskCharLowLine/MaskCharLowLine.js +1 -1
  497. package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  498. package/internal/Menu/Menu.css.d.ts +16 -0
  499. package/internal/Menu/Menu.css.js +3 -0
  500. package/internal/Menu/Menu.css.js.map +1 -0
  501. package/internal/Menu/Menu.d.ts +1 -0
  502. package/internal/Menu/Menu.js +10 -10
  503. package/internal/Menu/Menu.js.map +1 -1
  504. package/internal/MenuMessage/MenuMessage.css.d.ts +11 -0
  505. package/internal/MenuMessage/MenuMessage.css.js +3 -0
  506. package/internal/MenuMessage/MenuMessage.css.js.map +1 -0
  507. package/internal/MenuMessage/MenuMessage.js +11 -11
  508. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  509. package/internal/MobilePopup/MobilePopup.css.d.ts +17 -0
  510. package/internal/MobilePopup/MobilePopup.css.js +3 -0
  511. package/internal/MobilePopup/MobilePopup.css.js.map +1 -0
  512. package/internal/MobilePopup/MobilePopup.d.ts +1 -0
  513. package/internal/MobilePopup/MobilePopup.js +12 -24
  514. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  515. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.d.ts +7 -0
  516. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js +3 -0
  517. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js.map +1 -0
  518. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +1 -0
  519. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +6 -6
  520. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  521. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.d.ts +14 -0
  522. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js +3 -0
  523. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js.map +1 -0
  524. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
  525. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +11 -11
  526. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  527. package/internal/NativeDateInput/NativeDateInput.css.d.ts +3 -0
  528. package/internal/NativeDateInput/NativeDateInput.css.js +3 -0
  529. package/internal/NativeDateInput/NativeDateInput.css.js.map +1 -0
  530. package/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
  531. package/internal/NativeDateInput/NativeDateInput.js +2 -2
  532. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  533. package/internal/NativeTimeInput/NativeTimeInput.css.d.ts +3 -0
  534. package/internal/NativeTimeInput/NativeTimeInput.css.js +3 -0
  535. package/internal/NativeTimeInput/NativeTimeInput.css.js.map +1 -0
  536. package/internal/NativeTimeInput/NativeTimeInput.js +3 -2
  537. package/internal/NativeTimeInput/NativeTimeInput.js.map +1 -1
  538. package/internal/Popup/Popup.css.d.ts +22 -0
  539. package/internal/Popup/Popup.css.js +3 -0
  540. package/internal/Popup/Popup.css.js.map +1 -0
  541. package/internal/Popup/Popup.d.ts +1 -0
  542. package/internal/Popup/Popup.js +6 -6
  543. package/internal/Popup/Popup.js.map +1 -1
  544. package/internal/Popup/PopupPin.css.d.ts +9 -0
  545. package/internal/Popup/PopupPin.css.js +3 -0
  546. package/internal/Popup/PopupPin.css.js.map +1 -0
  547. package/internal/Popup/PopupPin.d.ts +1 -0
  548. package/internal/Popup/PopupPin.js +2 -2
  549. package/internal/Popup/PopupPin.js.map +1 -1
  550. package/internal/PopupMenu/PopupMenu.css.d.ts +4 -0
  551. package/internal/PopupMenu/PopupMenu.css.js +3 -0
  552. package/internal/PopupMenu/PopupMenu.css.js.map +1 -0
  553. package/internal/PopupMenu/PopupMenu.d.ts +1 -0
  554. package/internal/PopupMenu/PopupMenu.js +2 -2
  555. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  556. package/internal/RenderContainer/RenderContainer.d.ts +1 -0
  557. package/internal/RenderContainer/RenderContainer.js +26 -1
  558. package/internal/RenderContainer/RenderContainer.js.map +1 -1
  559. package/internal/RenderContainer/RenderInnerContainer.js +2 -4
  560. package/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  561. package/internal/ResizeDetector/ResizeDetector.css.d.ts +7 -0
  562. package/internal/ResizeDetector/ResizeDetector.css.js +3 -0
  563. package/internal/ResizeDetector/ResizeDetector.css.js.map +1 -0
  564. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  565. package/internal/ResizeDetector/ResizeDetector.js +2 -2
  566. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  567. package/internal/SpinnerIcon/SpinnerIcon.css.d.ts +6 -0
  568. package/internal/SpinnerIcon/SpinnerIcon.css.js +3 -0
  569. package/internal/SpinnerIcon/SpinnerIcon.css.js.map +1 -0
  570. package/internal/SpinnerIcon/SpinnerIcon.js +3 -3
  571. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  572. package/internal/TextWidthHelper/TextWidthHelper.css.d.ts +4 -0
  573. package/internal/TextWidthHelper/TextWidthHelper.css.js +3 -0
  574. package/internal/TextWidthHelper/TextWidthHelper.css.js.map +1 -0
  575. package/internal/TextWidthHelper/TextWidthHelper.d.ts +1 -0
  576. package/internal/TextWidthHelper/TextWidthHelper.js +2 -2
  577. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  578. package/internal/TimeInput/TimeFragments.css.d.ts +32 -0
  579. package/internal/TimeInput/TimeFragments.css.js +3 -0
  580. package/internal/TimeInput/TimeFragments.css.js.map +1 -0
  581. package/internal/TimeInput/TimeFragments.js +16 -20
  582. package/internal/TimeInput/TimeFragments.js.map +1 -1
  583. package/internal/TimeInput/TimeInput.css.d.ts +7 -0
  584. package/internal/TimeInput/TimeInput.css.js +3 -0
  585. package/internal/TimeInput/TimeInput.css.js.map +1 -0
  586. package/internal/TimeInput/TimeInput.js +5 -5
  587. package/internal/TimeInput/TimeInput.js.map +1 -1
  588. package/internal/icons2022/BaseIcon.css.d.ts +3 -0
  589. package/internal/icons2022/BaseIcon.css.js +3 -0
  590. package/internal/icons2022/BaseIcon.css.js.map +1 -0
  591. package/internal/icons2022/BaseIcon.js +2 -9
  592. package/internal/icons2022/BaseIcon.js.map +1 -1
  593. package/internal/icons2022/LoadingIcon.js +6 -4
  594. package/internal/icons2022/LoadingIcon.js.map +1 -1
  595. package/internal/themes/BasicTheme.d.ts +0 -10
  596. package/internal/themes/BasicTheme.js +6 -17
  597. package/internal/themes/BasicTheme.js.map +1 -1
  598. package/internal/themes/DarkTheme6_0.js +342 -62
  599. package/internal/themes/DarkTheme6_0.js.map +1 -1
  600. package/internal/themes/DarkTheme6_1.js +3 -11
  601. package/internal/themes/DarkTheme6_1.js.map +1 -1
  602. package/internal/themes/DarkTheme6_4.js +1 -11
  603. package/internal/themes/DarkTheme6_4.js.map +1 -1
  604. package/lib/Upgrades.d.ts +2 -12
  605. package/lib/Upgrades.js +16 -12
  606. package/lib/Upgrades.js.map +1 -1
  607. package/lib/chars.d.ts +8 -0
  608. package/lib/chars.js +9 -0
  609. package/lib/chars.js.map +1 -0
  610. package/lib/globalObject.js +1 -4
  611. package/lib/globalObject.js.map +1 -1
  612. package/lib/renderEnvironment/RenderEnvironmentContext.d.ts +6 -38
  613. package/lib/renderEnvironment/RenderEnvironmentContext.js +19 -21
  614. package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
  615. package/lib/renderEnvironment/RenderEnvironmentDecorator.js +3 -6
  616. package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
  617. package/lib/styles/LabGrotesqueBaseline.css.d.ts +1 -0
  618. package/lib/styles/LabGrotesqueBaseline.css.js +0 -0
  619. package/lib/styles/LabGrotesqueBaseline.css.js.map +1 -0
  620. package/lib/styles/Mixins.d.ts +2 -0
  621. package/lib/styles/Mixins.js +7 -0
  622. package/lib/styles/Mixins.js.map +1 -0
  623. package/lib/styles/UiFont.d.ts +3 -0
  624. package/lib/styles/UiFont.js +18 -0
  625. package/lib/styles/UiFont.js.map +1 -0
  626. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +7 -0
  627. package/lib/styles/getLabGrotesqueBaselineCompensation.js +36 -0
  628. package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
  629. package/lib/theming/AnimationKeyframes.d.ts +7 -0
  630. package/lib/theming/AnimationKeyframes.js +24 -0
  631. package/lib/theming/AnimationKeyframes.js.map +1 -0
  632. package/lib/theming/Emotion.d.ts +11 -41
  633. package/lib/theming/Emotion.js +49 -61
  634. package/lib/theming/Emotion.js.map +1 -1
  635. package/lib/theming/StaticStyles.d.ts +30 -0
  636. package/lib/theming/StaticStyles.js +410 -0
  637. package/lib/theming/StaticStyles.js.map +1 -0
  638. package/lib/theming/bindStaticStyles.d.ts +4 -0
  639. package/lib/theming/bindStaticStyles.js +18 -0
  640. package/lib/theming/bindStaticStyles.js.map +1 -0
  641. package/lib/theming/themeVars.d.ts +26 -0
  642. package/lib/theming/themeVars.js +72 -0
  643. package/lib/theming/themeVars.js.map +1 -0
  644. package/lib/theming/useTheme.d.ts +2 -0
  645. package/lib/theming/useTheme.js +6 -0
  646. package/lib/theming/useTheme.js.map +1 -0
  647. package/package.json +17 -48
  648. package/react-ui.css +5678 -6528
  649. package/typings/stylis-plugin-extra-scope.d.ts +3 -0
  650. package/components/Autocomplete/Autocomplete.styles.d.ts +0 -5
  651. package/components/Autocomplete/Autocomplete.styles.js +0 -7
  652. package/components/Autocomplete/Autocomplete.styles.js.map +0 -1
  653. package/components/Button/Button.styles.d.ts +0 -111
  654. package/components/Button/Button.styles.js +0 -113
  655. package/components/Button/Button.styles.js.map +0 -1
  656. package/components/Button/ButtonIcon.styles.d.ts +0 -16
  657. package/components/Button/ButtonIcon.styles.js +0 -18
  658. package/components/Button/ButtonIcon.styles.js.map +0 -1
  659. package/components/Calendar/Calendar.styles.d.ts +0 -6
  660. package/components/Calendar/Calendar.styles.js +0 -8
  661. package/components/Calendar/Calendar.styles.js.map +0 -1
  662. package/components/Calendar/DayCellView.styles.d.ts +0 -11
  663. package/components/Calendar/DayCellView.styles.js +0 -13
  664. package/components/Calendar/DayCellView.styles.js.map +0 -1
  665. package/components/Calendar/MonthView.styles.d.ts +0 -13
  666. package/components/Calendar/MonthView.styles.js +0 -15
  667. package/components/Calendar/MonthView.styles.js.map +0 -1
  668. package/components/Center/Center.styles.d.ts +0 -8
  669. package/components/Center/Center.styles.js +0 -10
  670. package/components/Center/Center.styles.js.map +0 -1
  671. package/components/Checkbox/Checkbox.styles.d.ts +0 -37
  672. package/components/Checkbox/Checkbox.styles.js +0 -40
  673. package/components/Checkbox/Checkbox.styles.js.map +0 -1
  674. package/components/DateInput/DateFragmentsView.styles.d.ts +0 -9
  675. package/components/DateInput/DateFragmentsView.styles.js +0 -11
  676. package/components/DateInput/DateFragmentsView.styles.js.map +0 -1
  677. package/components/DateInput/DateInput.styles.d.ts +0 -10
  678. package/components/DateInput/DateInput.styles.js +0 -12
  679. package/components/DateInput/DateInput.styles.js.map +0 -1
  680. package/components/DatePicker/DatePicker.styles.d.ts +0 -5
  681. package/components/DatePicker/DatePicker.styles.js +0 -7
  682. package/components/DatePicker/DatePicker.styles.js.map +0 -1
  683. package/components/DatePicker/MobilePicker.styles.d.ts +0 -4
  684. package/components/DatePicker/MobilePicker.styles.js +0 -6
  685. package/components/DatePicker/MobilePicker.styles.js.map +0 -1
  686. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -22
  687. package/components/DateRangePicker/DateRangePicker.styles.js +0 -33
  688. package/components/DateRangePicker/DateRangePicker.styles.js.map +0 -1
  689. package/components/FileUploader/FileUploader.styles.d.ts +0 -75
  690. package/components/FileUploader/FileUploader.styles.js +0 -78
  691. package/components/FileUploader/FileUploader.styles.js.map +0 -1
  692. package/components/FileUploader/FileUploaderFile.styles.d.ts +0 -60
  693. package/components/FileUploader/FileUploaderFile.styles.js +0 -62
  694. package/components/FileUploader/FileUploaderFile.styles.js.map +0 -1
  695. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -34
  696. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js +0 -36
  697. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +0 -1
  698. package/components/FileUploader/FileUploaderFileTypeIcon.styles.d.ts +0 -14
  699. package/components/FileUploader/FileUploaderFileTypeIcon.styles.js +0 -16
  700. package/components/FileUploader/FileUploaderFileTypeIcon.styles.js.map +0 -1
  701. package/components/FxInput/FxInput.styles.d.ts +0 -4
  702. package/components/FxInput/FxInput.styles.js +0 -6
  703. package/components/FxInput/FxInput.styles.js.map +0 -1
  704. package/components/FxInput/FxInputRestoreBtn.styles.d.ts +0 -6
  705. package/components/FxInput/FxInputRestoreBtn.styles.js +0 -8
  706. package/components/FxInput/FxInputRestoreBtn.styles.js.map +0 -1
  707. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +0 -23
  708. package/components/GlobalLoader/GlobalLoaderView.styles.js +0 -25
  709. package/components/GlobalLoader/GlobalLoaderView.styles.js.map +0 -1
  710. package/components/Group/Group.styles.d.ts +0 -8
  711. package/components/Group/Group.styles.js +0 -10
  712. package/components/Group/Group.styles.js.map +0 -1
  713. package/components/Hint/Hint.styles.d.ts +0 -5
  714. package/components/Hint/Hint.styles.js +0 -7
  715. package/components/Hint/Hint.styles.js.map +0 -1
  716. package/components/Input/Input.styles.d.ts +0 -21
  717. package/components/Input/Input.styles.js +0 -23
  718. package/components/Input/Input.styles.js.map +0 -1
  719. package/components/Input/InputLayout/InputLayout.styles.d.ts +0 -27
  720. package/components/Input/InputLayout/InputLayout.styles.js +0 -29
  721. package/components/Input/InputLayout/InputLayout.styles.js.map +0 -1
  722. package/components/Kebab/Kebab.styles.d.ts +0 -11
  723. package/components/Kebab/Kebab.styles.js +0 -13
  724. package/components/Kebab/Kebab.styles.js.map +0 -1
  725. package/components/Link/Link.styles.d.ts +0 -24
  726. package/components/Link/Link.styles.js +0 -26
  727. package/components/Link/Link.styles.js.map +0 -1
  728. package/components/Loader/Loader.styles.d.ts +0 -8
  729. package/components/Loader/Loader.styles.js +0 -10
  730. package/components/Loader/Loader.styles.js.map +0 -1
  731. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.d.ts +0 -7
  732. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +0 -10
  733. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +0 -1
  734. package/components/MaskedInput/MaskedInput.styles.d.ts +0 -7
  735. package/components/MaskedInput/MaskedInput.styles.js +0 -10
  736. package/components/MaskedInput/MaskedInput.styles.js.map +0 -1
  737. package/components/MaskedInputV2/MaskedInputV2.styles.d.ts +0 -7
  738. package/components/MaskedInputV2/MaskedInputV2.styles.js +0 -10
  739. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +0 -1
  740. package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +0 -15
  741. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +0 -18
  742. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +0 -1
  743. package/components/MenuFooter/MenuFooter.styles.d.ts +0 -10
  744. package/components/MenuFooter/MenuFooter.styles.js +0 -12
  745. package/components/MenuFooter/MenuFooter.styles.js.map +0 -1
  746. package/components/MenuHeader/MenuHeader.styles.d.ts +0 -10
  747. package/components/MenuHeader/MenuHeader.styles.js +0 -12
  748. package/components/MenuHeader/MenuHeader.styles.js.map +0 -1
  749. package/components/MenuItem/MenuItem.styles.d.ts +0 -29
  750. package/components/MenuItem/MenuItem.styles.js +0 -31
  751. package/components/MenuItem/MenuItem.styles.js.map +0 -1
  752. package/components/MenuSeparator/MenuSeparator.styles.d.ts +0 -5
  753. package/components/MenuSeparator/MenuSeparator.styles.js +0 -7
  754. package/components/MenuSeparator/MenuSeparator.styles.js.map +0 -1
  755. package/components/MiniModal/MiniModal.styles.d.ts +0 -11
  756. package/components/MiniModal/MiniModal.styles.js +0 -13
  757. package/components/MiniModal/MiniModal.styles.js.map +0 -1
  758. package/components/Modal/Modal.styles.d.ts +0 -55
  759. package/components/Modal/Modal.styles.js +0 -58
  760. package/components/Modal/Modal.styles.js.map +0 -1
  761. package/components/Paging/Paging.styles.d.ts +0 -32
  762. package/components/Paging/Paging.styles.js +0 -34
  763. package/components/Paging/Paging.styles.js.map +0 -1
  764. package/components/PasswordInput/PasswordInput.styles.d.ts +0 -11
  765. package/components/PasswordInput/PasswordInput.styles.js +0 -13
  766. package/components/PasswordInput/PasswordInput.styles.js.map +0 -1
  767. package/components/Radio/Radio.styles.d.ts +0 -37
  768. package/components/Radio/Radio.styles.js +0 -40
  769. package/components/Radio/Radio.styles.js.map +0 -1
  770. package/components/RadioGroup/RadioGroup.styles.d.ts +0 -6
  771. package/components/RadioGroup/RadioGroup.styles.js +0 -8
  772. package/components/RadioGroup/RadioGroup.styles.js.map +0 -1
  773. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -21
  774. package/components/ScrollContainer/ScrollContainer.styles.js +0 -24
  775. package/components/ScrollContainer/ScrollContainer.styles.js.map +0 -1
  776. package/components/Select/Select.styles.d.ts +0 -18
  777. package/components/Select/Select.styles.js +0 -20
  778. package/components/Select/Select.styles.js.map +0 -1
  779. package/components/SidePage/SidePage.styles.d.ts +0 -50
  780. package/components/SidePage/SidePage.styles.js +0 -52
  781. package/components/SidePage/SidePage.styles.js.map +0 -1
  782. package/components/Spinner/Spinner.styles.d.ts +0 -13
  783. package/components/Spinner/Spinner.styles.js +0 -15
  784. package/components/Spinner/Spinner.styles.js.map +0 -1
  785. package/components/Sticky/Sticky.styles.d.ts +0 -8
  786. package/components/Sticky/Sticky.styles.js +0 -10
  787. package/components/Sticky/Sticky.styles.js.map +0 -1
  788. package/components/Switcher/Switcher.styles.d.ts +0 -12
  789. package/components/Switcher/Switcher.styles.js +0 -14
  790. package/components/Switcher/Switcher.styles.js.map +0 -1
  791. package/components/Tabs/Indicator.styles.d.ts +0 -8
  792. package/components/Tabs/Indicator.styles.js +0 -10
  793. package/components/Tabs/Indicator.styles.js.map +0 -1
  794. package/components/Tabs/Tab.styles.d.ts +0 -33
  795. package/components/Tabs/Tab.styles.js +0 -36
  796. package/components/Tabs/Tab.styles.js.map +0 -1
  797. package/components/Tabs/Tabs.styles.d.ts +0 -7
  798. package/components/Tabs/Tabs.styles.js +0 -9
  799. package/components/Tabs/Tabs.styles.js.map +0 -1
  800. package/components/Textarea/Textarea.styles.d.ts +0 -27
  801. package/components/Textarea/Textarea.styles.js +0 -29
  802. package/components/Textarea/Textarea.styles.js.map +0 -1
  803. package/components/TimePicker/TimePicker.styles.d.ts +0 -12
  804. package/components/TimePicker/TimePicker.styles.js +0 -14
  805. package/components/TimePicker/TimePicker.styles.js.map +0 -1
  806. package/components/Toast/Toast.styles.d.ts +0 -7
  807. package/components/Toast/Toast.styles.js +0 -9
  808. package/components/Toast/Toast.styles.js.map +0 -1
  809. package/components/Toast/ToastView.styles.d.ts +0 -20
  810. package/components/Toast/ToastView.styles.js +0 -22
  811. package/components/Toast/ToastView.styles.js.map +0 -1
  812. package/components/Toggle/Toggle.styles.d.ts +0 -50
  813. package/components/Toggle/Toggle.styles.js +0 -52
  814. package/components/Toggle/Toggle.styles.js.map +0 -1
  815. package/components/Token/Token.styles.d.ts +0 -24
  816. package/components/Token/Token.styles.js +0 -27
  817. package/components/Token/Token.styles.js.map +0 -1
  818. package/components/TokenInput/TokenInput.styles.d.ts +0 -22
  819. package/components/TokenInput/TokenInput.styles.js +0 -24
  820. package/components/TokenInput/TokenInput.styles.js.map +0 -1
  821. package/components/Tooltip/Tooltip.styles.d.ts +0 -12
  822. package/components/Tooltip/Tooltip.styles.js +0 -14
  823. package/components/Tooltip/Tooltip.styles.js.map +0 -1
  824. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +0 -11
  825. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +0 -13
  826. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +0 -1
  827. package/internal/CloseButtonIcon/CloseButtonIcon.styles.d.ts +0 -8
  828. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js +0 -10
  829. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +0 -1
  830. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +0 -6
  831. package/internal/CustomComboBox/CustomComboBox.styles.js +0 -8
  832. package/internal/CustomComboBox/CustomComboBox.styles.js.map +0 -1
  833. package/internal/DateSelect/DateSelect.styles.d.ts +0 -9
  834. package/internal/DateSelect/DateSelect.styles.js +0 -12
  835. package/internal/DateSelect/DateSelect.styles.js.map +0 -1
  836. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.styles.d.ts +0 -5
  837. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.styles.js +0 -7
  838. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.styles.js.map +0 -1
  839. package/internal/InputLikeText/InputLikeText.styles.d.ts +0 -8
  840. package/internal/InputLikeText/InputLikeText.styles.js +0 -10
  841. package/internal/InputLikeText/InputLikeText.styles.js.map +0 -1
  842. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +0 -4
  843. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +0 -6
  844. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +0 -1
  845. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +0 -4
  846. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js +0 -6
  847. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +0 -1
  848. package/internal/Menu/Menu.styles.d.ts +0 -16
  849. package/internal/Menu/Menu.styles.js +0 -18
  850. package/internal/Menu/Menu.styles.js.map +0 -1
  851. package/internal/MenuMessage/MenuMessage.styles.d.ts +0 -11
  852. package/internal/MenuMessage/MenuMessage.styles.js +0 -13
  853. package/internal/MenuMessage/MenuMessage.styles.js.map +0 -1
  854. package/internal/MobilePopup/MobilePopup.styles.d.ts +0 -17
  855. package/internal/MobilePopup/MobilePopup.styles.js +0 -19
  856. package/internal/MobilePopup/MobilePopup.styles.js.map +0 -1
  857. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +0 -7
  858. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +0 -9
  859. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +0 -1
  860. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +0 -14
  861. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +0 -16
  862. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +0 -1
  863. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +0 -4
  864. package/internal/NativeDateInput/NativeDateInput.styles.js +0 -6
  865. package/internal/NativeDateInput/NativeDateInput.styles.js.map +0 -1
  866. package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +0 -4
  867. package/internal/NativeTimeInput/NativeTimeInput.styles.js +0 -6
  868. package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +0 -1
  869. package/internal/Popup/Popup.styles.d.ts +0 -22
  870. package/internal/Popup/Popup.styles.js +0 -24
  871. package/internal/Popup/Popup.styles.js.map +0 -1
  872. package/internal/Popup/PopupPin.styles.d.ts +0 -10
  873. package/internal/Popup/PopupPin.styles.js +0 -12
  874. package/internal/Popup/PopupPin.styles.js.map +0 -1
  875. package/internal/PopupMenu/PopupMenu.styles.d.ts +0 -5
  876. package/internal/PopupMenu/PopupMenu.styles.js +0 -7
  877. package/internal/PopupMenu/PopupMenu.styles.js.map +0 -1
  878. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +0 -8
  879. package/internal/ResizeDetector/ResizeDetector.styles.js +0 -10
  880. package/internal/ResizeDetector/ResizeDetector.styles.js.map +0 -1
  881. package/internal/SpinnerIcon/SpinnerIcon.styles.d.ts +0 -7
  882. package/internal/SpinnerIcon/SpinnerIcon.styles.js +0 -9
  883. package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +0 -1
  884. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -5
  885. package/internal/TextWidthHelper/TextWidthHelper.styles.js +0 -7
  886. package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +0 -1
  887. package/internal/TimeInput/TimeFragments.styles.d.ts +0 -20
  888. package/internal/TimeInput/TimeFragments.styles.js +0 -22
  889. package/internal/TimeInput/TimeFragments.styles.js.map +0 -1
  890. package/internal/TimeInput/TimeInput.styles.d.ts +0 -7
  891. package/internal/TimeInput/TimeInput.styles.js +0 -9
  892. package/internal/TimeInput/TimeInput.styles.js.map +0 -1
  893. package/internal/icons2022/BaseIcon.styles.d.ts +0 -6
  894. package/internal/icons2022/BaseIcon.styles.js +0 -8
  895. package/internal/icons2022/BaseIcon.styles.js.map +0 -1
  896. package/lib/classNames.generated.d.ts +0 -1235
  897. package/lib/classNames.generated.js +0 -1233
  898. package/lib/classNames.generated.js.map +0 -1
  899. package/lib/styles/baselineCompensation.d.ts +0 -63
  900. package/lib/styles/baselineCompensation.js +0 -122
  901. package/lib/styles/baselineCompensation.js.map +0 -1
  902. package/lib/theming/declaredTheme.d.ts +0 -43
  903. package/lib/theming/declaredTheme.js +0 -56
  904. package/lib/theming/declaredTheme.js.map +0 -1
  905. package/lib/theming/hashString.d.ts +0 -19
  906. package/lib/theming/hashString.js +0 -52
  907. package/lib/theming/hashString.js.map +0 -1
  908. package/lib/theming/staticStyles.d.ts +0 -17
  909. package/lib/theming/staticStyles.js +0 -8
  910. package/lib/theming/staticStyles.js.map +0 -1
  911. package/lib/theming/staticThemeDelta.d.ts +0 -17
  912. package/lib/theming/staticThemeDelta.js +0 -37
  913. package/lib/theming/staticThemeDelta.js.map +0 -1
  914. package/lib/theming/staticThemeVars.d.ts +0 -21
  915. package/lib/theming/staticThemeVars.js +0 -35
  916. package/lib/theming/staticThemeVars.js.map +0 -1
  917. package/lib/theming/themeCssVarsClass.d.ts +0 -89
  918. package/lib/theming/themeCssVarsClass.js +0 -253
  919. package/lib/theming/themeCssVarsClass.js.map +0 -1
  920. package/lib/theming/themeCssVarsDelta.d.ts +0 -13
  921. package/lib/theming/themeCssVarsDelta.js +0 -67
  922. package/lib/theming/themeCssVarsDelta.js.map +0 -1
  923. package/lib/theming/themeToCssVars.d.ts +0 -47
  924. package/lib/theming/themeToCssVars.js +0 -861
  925. package/lib/theming/themeToCssVars.js.map +0 -1
  926. package/react-ui-tailwind.css +0 -544
  927. package/react-ui-themes.css +0 -8628
  928. package/react-ui-token-map.json +0 -9029
  929. package/react-ui.layer.css +0 -7778
  930. package/themes/dark-6-0.css +0 -1439
  931. package/themes/dark-6-0.scoped.css +0 -1439
  932. package/themes/dark-6-1.css +0 -1439
  933. package/themes/dark-6-1.scoped.css +0 -1439
  934. package/themes/dark.css +0 -1439
  935. package/themes/dark.scoped.css +0 -1439
  936. package/themes/light-6-0.css +0 -1437
  937. package/themes/light-6-0.scoped.css +0 -1437
  938. package/themes/light-6-1.css +0 -1437
  939. package/themes/light-6-1.scoped.css +0 -1437
  940. package/themes/light.css +0 -1437
  941. package/themes/light.scoped.css +0 -1437
@@ -64,7 +64,7 @@ import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
64
64
  import { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';
65
65
  import { isKonturIcon } from '../../lib/utils.js';
66
66
  import { Link } from '../Link/index.js';
67
- import { getActiveStyles, getStyles, globalClasses } from './Button.styles.js';
67
+ import { getActiveStyles, getStyles, globalClasses } from './Button.css.js';
68
68
  import { useButtonArrow as getButtonArrow } from './ButtonArrow.js';
69
69
  import { ButtonIcon, getButtonIconSizes } from './ButtonIcon.js';
70
70
  import { getInnerLinkTheme } from './getInnerLinkTheme.js';
@@ -79,22 +79,6 @@ var SpanComponent = function (_a) {
79
79
  var children = _a.children, rest = __rest(_a, ["children"]);
80
80
  return React.createElement("span", __assign({}, rest), children);
81
81
  };
82
- /**
83
- * Фон рисуется градиентом, только если концы градиента отличаются.
84
- *
85
- * Сравниваются значения объекта темы, а не подстановки `var(--kontur-*)`: в
86
- * поставляемых темах оба конца — `none`, и `linear-gradient(none, none)` не
87
- * «плоский цвет», а невалидное значение.
88
- */
89
- var hasGradient = function (backgroundStart, backgroundEnd) { return backgroundStart !== backgroundEnd; };
90
- /**
91
- * Граница нужна вторым слоем тени поверх фона, только если её цвет задан и
92
- * отличается от цвета фона: у `use="text"` они совпадают и полупрозрачны, и
93
- * второй слой того же цвета удвоил бы альфу.
94
- */
95
- var isBorderAboveBg = function (borderColor, background) {
96
- return borderColor !== '' && borderColor !== background;
97
- };
98
82
  /** Кнопка запускает действие, сценарий или позволяет перейти на другую страницу. */
99
83
  var Button = /** @class */ (function (_super) {
100
84
  __extends(Button, _super);
@@ -112,35 +96,38 @@ var Button = /** @class */ (function (_super) {
112
96
  var sizeClass = _this.getSizeClassName();
113
97
  var isFocused = _this.state.focusedByTab || visuallyFocused;
114
98
  var isLink = use === 'link';
115
- var _h = getButtonArrow(__assign(__assign({}, _this.props), { isFocused: Boolean(isFocused), size: _this.size }), _this.styles, _this.cx), rootClassNameWithArrow = _h[0], arrowNode = _h[1];
99
+ var _h = getButtonArrow(__assign(__assign({}, _this.props), { isFocused: Boolean(isFocused), size: _this.size }), _this.theme, _this.styles, _this.cx), rootClassNameWithArrow = _h[0], arrowNode = _h[1];
116
100
  var isUseStateWithoutOutlineInDisabledState = !['default', 'backless', 'outline'].includes(use);
117
101
  var isAriaDisabled = ariaDisabled === true || ariaDisabled === 'true';
118
102
  var nonInteractive = disabled || loading;
119
103
  var _j = _this.getUseStyle(use), style = _j.style, styleActive = _j.styleActive;
120
- var rootClassName = _this.cx.apply(_this, __spreadArray(__spreadArray(__spreadArray([_this.styles.root()], style, false), [sizeClass,
104
+ var rootClassName = _this.cx.apply(_this, __spreadArray([_this.styles.root(_this.theme),
105
+ style,
106
+ sizeClass,
121
107
  narrow && _this.styles.narrow(),
122
108
  _noPadding && _this.styles.noPadding(),
123
109
  _noRightPadding && _this.styles.noRightPadding(),
124
- rootClassNameWithArrow], false), (nonInteractive || isAriaDisabled
110
+ rootClassNameWithArrow], (nonInteractive || isAriaDisabled
125
111
  ? [
126
- _this.styles.disabled(),
127
- isUseStateWithoutOutlineInDisabledState && _this.styles.disabledWithoutOutline(),
128
- checked && _this.styles.checkedDisabled(),
112
+ _this.styles.disabled(_this.theme),
113
+ isUseStateWithoutOutlineInDisabledState && _this.styles.disabledWithoutOutline(_this.theme),
114
+ checked && _this.styles.checkedDisabled(_this.theme),
129
115
  borderless && _this.styles.borderless(),
130
- (use === 'backless' || use === 'outline') && _this.styles.backlessDisabled(),
116
+ (use === 'backless' || use === 'outline') && _this.styles.backlessDisabled(_this.theme),
131
117
  use === 'text' && _this.styles.textDisabled(),
132
118
  globalClasses.disabled,
133
119
  ]
134
- : __spreadArray(__spreadArray([], (active && !checked ? styleActive : []), true), [
135
- isFocused && _this.styles.focus(),
136
- checked && _this.styles.checked(),
137
- checked && isFocused && _this.styles.checkedFocused(),
120
+ : [
121
+ active && !checked && styleActive,
122
+ isFocused && _this.styles.focus(_this.theme),
123
+ checked && _this.styles.checked(_this.theme),
124
+ checked && isFocused && _this.styles.checkedFocused(_this.theme),
138
125
  borderless && !checked && !isFocused && _this.styles.borderless(),
139
- ], false)), false));
126
+ ]), false));
140
127
  var rootProps = __assign(__assign({}, rest), { className: rootClassName, style: __assign({ textAlign: align }, corners), onFocus: _this.handleFocus, onBlur: _this.handleBlur, tabIndex: _this.getTabIndex({ disableFocus: disableFocus, disabled: nonInteractive, tabIndex: tabIndex }) });
141
128
  var wrapProps = {
142
129
  className: _this.cx(globalClasses.root, (_a = {},
143
- _a[_this.styles.wrap()] = true,
130
+ _a[_this.styles.wrap(_this.theme)] = true,
144
131
  _a[_this.getSizeWrapClassName()] = true,
145
132
  _a)),
146
133
  style: {
@@ -152,11 +139,11 @@ var Button = /** @class */ (function (_super) {
152
139
  var outlineNode = null;
153
140
  if ((!isFocused || isLink) && !nonInteractive) {
154
141
  outlineNode = (React.createElement("div", { className: _this.cx(_this.styles.outlineDefault(), (_b = {},
155
- _b[_this.styles.outlineWarning()] = warning,
156
- _b[_this.styles.outlineError()] = error,
142
+ _b[_this.styles.outlineWarning(_this.theme)] = warning,
143
+ _b[_this.styles.outlineError(_this.theme)] = error,
157
144
  _b[_this.styles.outlineLink()] = isLink,
158
- _b[_this.styles.outlineLinkWarning()] = isLink && warning,
159
- _b[_this.styles.outlineLinkError()] = isLink && error,
145
+ _b[_this.styles.outlineLinkWarning(_this.theme)] = isLink && warning,
146
+ _b[_this.styles.outlineLinkError(_this.theme)] = isLink && error,
160
147
  _b)) }));
161
148
  }
162
149
  var iconProps = {
@@ -170,16 +157,16 @@ var Button = /** @class */ (function (_super) {
170
157
  // Force disable all props and features, that cannot be use with Link
171
158
  if (isLink) {
172
159
  rootProps.className = _this.cx((_c = {},
173
- _c[_this.styles.root()] = true,
160
+ _c[_this.styles.root(_this.theme)] = true,
174
161
  _c[sizeClass] = true,
175
- _c[_this.styles.link()] = true,
162
+ _c[_this.styles.link(_this.theme)] = true,
176
163
  _c[_this.styles.linkLineHeight()] = !isSafari,
177
164
  _c[_this.styles.linkLineHeightSafariFallback()] = isSafari,
178
- _c[_this.styles.linkFocus()] = isFocused,
179
- _c[_this.styles.linkDisabled()] = nonInteractive,
165
+ _c[_this.styles.linkFocus(_this.theme)] = isFocused,
166
+ _c[_this.styles.linkDisabled(_this.theme)] = nonInteractive,
180
167
  _c));
181
168
  Object.assign(wrapProps, {
182
- className: _this.cx(_this.styles.wrap(), _this.styles.wrapLink()),
169
+ className: _this.cx(_this.styles.wrap(_this.theme), _this.styles.wrapLink()),
183
170
  style: { width: wrapProps.style.width },
184
171
  });
185
172
  rootProps.style.textAlign = undefined;
@@ -268,16 +255,11 @@ var Button = /** @class */ (function (_super) {
268
255
  };
269
256
  Button.prototype.render = function () {
270
257
  var _this = this;
271
- this.styles = getStyles();
272
- this.activeStyles = getActiveStyles();
258
+ this.styles = getStyles(this.emotion);
259
+ this.activeStyles = getActiveStyles(this.emotion);
273
260
  return (React.createElement(ThemeContext.Consumer, null, function (theme) {
274
261
  _this.theme = _this.props.theme ? ThemeFactory.create(_this.props.theme, theme) : theme;
275
- return (
276
- // Слитую тему надо отдать в контекст, а не только в `this.theme`:
277
- // блок переменных `--kontur-*` на корне печатает `CommonWrapper`,
278
- // а он берёт тему из контекста. Без этого стили кнопки читали бы
279
- // `var(--kontur-*)` внешней темы, а проп `theme` не работал.
280
- React.createElement(ThemeContext.Provider, { value: _this.theme },
262
+ return (React.createElement(ThemeContext.Provider, { value: _this.theme },
281
263
  React.createElement(CommonWrapper, __assign({ rootNodeRef: _this.setRootNode }, _this.props), _this.renderMain)));
282
264
  }));
283
265
  };
@@ -297,113 +279,46 @@ var Button = /** @class */ (function (_super) {
297
279
  }
298
280
  return icon;
299
281
  };
300
- /**
301
- * Классы use-стиля: базовый плюс варианты, выбранные по значениям темы.
302
- *
303
- * Все решения по теме собраны здесь — в стилях их нет вовсе. В стилевом файле
304
- * значения приходят строками `var(--kontur-*)`, и сравнение сравнивало бы имена
305
- * переменных, а не цвета; поэтому сравниваются значения объекта темы, а класс
306
- * с готовым содержимым только выбирается — как для `checked` или `disabled`.
307
- *
308
- * Обе ветки рисовать всегда нельзя: `linear-gradient(none, none)` при равных
309
- * `BgStart` и `BgEnd` — невалидное значение, а второй слой тени полупрозрачным
310
- * цветом (у `use="text"` цвет границы и фона совпадают) удваивает альфу.
311
- *
312
- * Порядок в массиве — порядок объявлений в слитом классе: вариант идёт сразу
313
- * за базовым классом и перебивает его при равном весе.
314
- */
315
282
  Button.prototype.getUseStyle = function (use) {
316
- var _a = this, styles = _a.styles, activeStyles = _a.activeStyles, t = _a.theme;
283
+ var style;
284
+ var styleActive;
285
+ var _a = this, styles = _a.styles, activeStyles = _a.activeStyles;
317
286
  switch (use) {
318
287
  case 'primary':
319
- case 'accent': {
320
- var activeBorderAboveBg = isBorderAboveBg(t.btnPrimaryActiveBorderColor, t.btnPrimaryActiveBg);
321
- return {
322
- style: [
323
- styles.accent(),
324
- hasGradient(t.btnPrimaryBgStart, t.btnPrimaryBgEnd) && styles.accentGradient(),
325
- hasGradient(t.btnPrimaryHoverBgStart, t.btnPrimaryHoverBgEnd) && styles.accentHoverGradient(),
326
- isBorderAboveBg(t.btnPrimaryHoverBorderColor, t.btnPrimaryHoverBg) && styles.accentHoverBorderAboveBg(),
327
- activeBorderAboveBg && styles.accentActiveBorderAboveBg(),
328
- ],
329
- styleActive: [activeStyles.accent(), activeBorderAboveBg && activeStyles.accentBorderAboveBg()],
330
- };
331
- }
288
+ case 'accent':
289
+ style = styles.accent(this.theme);
290
+ styleActive = activeStyles.accent(this.theme);
291
+ break;
332
292
  case 'backless':
333
- case 'outline': {
334
- var activeBorderAboveBg = isBorderAboveBg(t.btnBacklessActiveBorderColor, t.btnBacklessActiveBg);
335
- return {
336
- style: [
337
- styles.outline(),
338
- isBorderAboveBg(t.btnBacklessHoverBorderColor, t.btnBacklessHoverBg) && styles.outlineHoverBorderAboveBg(),
339
- activeBorderAboveBg && styles.outlineActiveBorderAboveBg(),
340
- ],
341
- styleActive: [activeStyles.outline(), activeBorderAboveBg && activeStyles.outlineBorderAboveBg()],
342
- };
343
- }
293
+ case 'outline':
294
+ style = styles.outline(this.theme);
295
+ styleActive = activeStyles.outline(this.theme);
296
+ break;
344
297
  case 'fill':
345
- return { style: [styles.fill()], styleActive: [activeStyles.fill()] };
346
- case 'success': {
347
- var activeBorderAboveBg = isBorderAboveBg(t.btnSuccessActiveBorderColor, t.btnSuccessActiveBg);
348
- return {
349
- style: [
350
- styles.success(),
351
- hasGradient(t.btnSuccessBgStart, t.btnSuccessBgEnd) && styles.successGradient(),
352
- hasGradient(t.btnSuccessHoverBgStart, t.btnSuccessHoverBgEnd) && styles.successHoverGradient(),
353
- isBorderAboveBg(t.btnSuccessHoverBorderColor, t.btnSuccessHoverBg) && styles.successHoverBorderAboveBg(),
354
- activeBorderAboveBg && styles.successActiveBorderAboveBg(),
355
- ],
356
- styleActive: [activeStyles.success(), activeBorderAboveBg && activeStyles.successBorderAboveBg()],
357
- };
358
- }
359
- case 'danger': {
360
- var activeBorderAboveBg = isBorderAboveBg(t.btnDangerActiveBorderColor, t.btnDangerActiveBg);
361
- return {
362
- style: [
363
- styles.danger(),
364
- hasGradient(t.btnDangerBgStart, t.btnDangerBgEnd) && styles.dangerGradient(),
365
- hasGradient(t.btnDangerHoverBgStart, t.btnDangerHoverBgEnd) && styles.dangerHoverGradient(),
366
- isBorderAboveBg(t.btnDangerHoverBorderColor, t.btnDangerHoverBg) && styles.dangerHoverBorderAboveBg(),
367
- activeBorderAboveBg && styles.dangerActiveBorderAboveBg(),
368
- ],
369
- styleActive: [activeStyles.danger(), activeBorderAboveBg && activeStyles.dangerBorderAboveBg()],
370
- };
371
- }
372
- case 'pay': {
373
- var activeBorderAboveBg = isBorderAboveBg(t.btnPayActiveBorderColor, t.btnPayActiveBg);
374
- return {
375
- style: [
376
- styles.pay(),
377
- hasGradient(t.btnPayBgStart, t.btnPayBgEnd) && styles.payGradient(),
378
- hasGradient(t.btnPayHoverBgStart, t.btnPayHoverBgEnd) && styles.payHoverGradient(),
379
- isBorderAboveBg(t.btnPayHoverBorderColor, t.btnPayHoverBg) && styles.payHoverBorderAboveBg(),
380
- activeBorderAboveBg && styles.payActiveBorderAboveBg(),
381
- ],
382
- styleActive: [activeStyles.pay(), activeBorderAboveBg && activeStyles.payBorderAboveBg()],
383
- };
384
- }
298
+ style = styles.fill(this.theme);
299
+ styleActive = activeStyles.fill(this.theme);
300
+ break;
301
+ case 'success':
302
+ style = styles.success(this.theme);
303
+ styleActive = activeStyles.success(this.theme);
304
+ break;
305
+ case 'danger':
306
+ style = styles.danger(this.theme);
307
+ styleActive = activeStyles.danger(this.theme);
308
+ break;
309
+ case 'pay':
310
+ style = styles.pay(this.theme);
311
+ styleActive = activeStyles.pay(this.theme);
312
+ break;
385
313
  case 'text':
386
- return {
387
- style: [
388
- styles.text(),
389
- isBorderAboveBg(t.btnTextHoverBorderColor, t.btnTextHoverBg) && styles.textHoverBorderAboveBg(),
390
- ],
391
- styleActive: [activeStyles.text()],
392
- };
393
- default: {
394
- var activeBorderAboveBg = isBorderAboveBg(t.btnDefaultActiveBorderColor, t.btnDefaultActiveBg);
395
- return {
396
- style: [
397
- styles.default(),
398
- hasGradient(t.btnDefaultBgStart, t.btnDefaultBgEnd) && styles.defaultGradient(),
399
- hasGradient(t.btnDefaultHoverBgStart, t.btnDefaultHoverBgEnd) && styles.defaultHoverGradient(),
400
- isBorderAboveBg(t.btnDefaultHoverBorderColor, t.btnDefaultHoverBg) && styles.defaultHoverBorderAboveBg(),
401
- activeBorderAboveBg && styles.defaultActiveBorderAboveBg(),
402
- ],
403
- styleActive: [activeStyles.default(), activeBorderAboveBg && activeStyles.defaultBorderAboveBg()],
404
- };
405
- }
314
+ style = styles.text(this.theme);
315
+ styleActive = activeStyles.text(this.theme);
316
+ break;
317
+ default:
318
+ style = styles.default(this.theme);
319
+ styleActive = activeStyles.default(this.theme);
406
320
  }
321
+ return { style: style, styleActive: styleActive };
407
322
  };
408
323
  Button.prototype.getSizeClassName = function () {
409
324
  var _a, _b, _c;
@@ -411,40 +326,40 @@ var Button = /** @class */ (function (_super) {
411
326
  switch (this.size) {
412
327
  case 'large': {
413
328
  var commonClasses = (_a = {},
414
- _a[this.styles.sizeLargeWithIcon()] = !!icon,
415
- _a[this.styles.sizeLargeWithRightIcon()] = !!rightIcon,
416
- _a[this.styles.sizeLargeWithIconWithoutText()] = (!!icon || !!rightIcon) && !children,
329
+ _a[this.styles.sizeLargeWithIcon(this.theme)] = !!icon,
330
+ _a[this.styles.sizeLargeWithRightIcon(this.theme)] = !!rightIcon,
331
+ _a[this.styles.sizeLargeWithIconWithoutText(this.theme)] = (!!icon || !!rightIcon) && !children,
417
332
  _a);
418
- return this.cx(this.styles.sizeLarge(), commonClasses);
333
+ return this.cx(this.styles.sizeLarge(this.theme), commonClasses);
419
334
  }
420
335
  case 'medium': {
421
336
  var commonClasses = (_b = {},
422
- _b[this.styles.sizeMediumWithIcon()] = !!icon,
423
- _b[this.styles.sizeMediumWithRightIcon()] = !!rightIcon,
424
- _b[this.styles.sizeMediumWithIconWithoutText()] = (!!icon || !!rightIcon) && !children,
337
+ _b[this.styles.sizeMediumWithIcon(this.theme)] = !!icon,
338
+ _b[this.styles.sizeMediumWithRightIcon(this.theme)] = !!rightIcon,
339
+ _b[this.styles.sizeMediumWithIconWithoutText(this.theme)] = (!!icon || !!rightIcon) && !children,
425
340
  _b);
426
- return this.cx(this.styles.sizeMedium(), commonClasses);
341
+ return this.cx(this.styles.sizeMedium(this.theme), commonClasses);
427
342
  }
428
343
  case 'small':
429
344
  default: {
430
345
  var commonClasses = (_c = {},
431
- _c[this.styles.sizeSmallWithIcon()] = !!icon,
432
- _c[this.styles.sizeSmallWithRightIcon()] = !!rightIcon,
433
- _c[this.styles.sizeSmallWithIconWithoutText()] = (!!icon || !!rightIcon) && !children,
346
+ _c[this.styles.sizeSmallWithIcon(this.theme)] = !!icon,
347
+ _c[this.styles.sizeSmallWithRightIcon(this.theme)] = !!rightIcon,
348
+ _c[this.styles.sizeSmallWithIconWithoutText(this.theme)] = (!!icon || !!rightIcon) && !children,
434
349
  _c);
435
- return this.cx(this.styles.sizeSmall(), commonClasses);
350
+ return this.cx(this.styles.sizeSmall(this.theme), commonClasses);
436
351
  }
437
352
  }
438
353
  };
439
354
  Button.prototype.getSizeWrapClassName = function () {
440
355
  switch (this.size) {
441
356
  case 'large':
442
- return this.styles.wrapLarge();
357
+ return this.styles.wrapLarge(this.theme);
443
358
  case 'medium':
444
- return this.styles.wrapMedium();
359
+ return this.styles.wrapMedium(this.theme);
445
360
  case 'small':
446
361
  default:
447
- return this.styles.wrapSmall();
362
+ return this.styles.wrapSmall(this.theme);
448
363
  }
449
364
  };
450
365
  var Button_1;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["Button.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { HTMLAttributes, JSX } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { IconProps } from '../../internal/icons2022/BaseIcon.js';\nimport { isSafari } from '../../lib/client.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { KeyListener } from '../../lib/events/keyListener.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { ClassNames } from '../../lib/theming/Emotion.js';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport type { ButtonLinkAllowedValues } from '../../lib/types/button-link.js';\nimport type { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isKonturIcon } from '../../lib/utils.js';\nimport { Link } from '../Link/index.js';\nimport { getActiveStyles, getStyles, globalClasses } from './Button.styles.js';\nimport { useButtonArrow as getButtonArrow } from './ButtonArrow.js';\nimport { ButtonIcon, getButtonIconSizes } from './ButtonIcon.js';\nimport type { ButtonIconProps } from './ButtonIcon.js';\nimport { getInnerLinkTheme } from './getInnerLinkTheme.js';\nimport { LoadingButtonIcon } from './LoadingButtonIcon.js';\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse =\n | 'default'\n | 'outline'\n | 'fill'\n | 'text'\n | 'accent'\n | 'danger'\n | 'success'\n | 'pay'\n /** @deprecated Используйте компонент <Link component=\"button\" /> */\n | 'link'\n /** @deprecated Используйте use=\"outline\" */\n | 'backless'\n /** @deprecated Используйте use=\"accent\" */\n | 'primary';\n\nexport interface ButtonInnerProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * @ignore\n * @deprecated Проп будет удален вместе с use=\"default\" в 7.0\n */\n _noWarningForUseDefault?: boolean;\n\n /** Применяет к кнопке стили псевдокласса `:active`. */\n active?: boolean;\n\n /** Выравнивание текста в кнопке. */\n align?: React.CSSProperties['textAlign'];\n\n /** Преобразует обычную кнопку в кнопку со стрелкой. */\n arrow?: boolean | 'left';\n\n /** Устанавливает фокус на кнопке после окончания загрузки страницы.*/\n autoFocus?: boolean;\n\n /** Убирает обводку у кнопки.\n *\n * **Не рекомендуем использовать, противоречит дизайн-требованиям.\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в 7.0.\n *\n * Альтернативный вариант использования — use=\"fill\" или переменную темы `btnBorderWidth` */\n borderless?: boolean;\n\n /** @ignore */\n checked?: boolean;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /** Блокирует кнопку и перекрашивает в серый. */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /** Переводит кнопку в состояние валидации \"Ошибка\".\n *\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в 7.0. */\n error?: boolean;\n\n /** Добавляет иконку слева от текста кнопки. */\n icon?: React.ReactElement;\n\n /** Добавляет иконку справа от текста кнопки. */\n rightIcon?: React.ReactElement;\n\n /** Переводит кнопку в состояние загрузки. */\n loading?: boolean;\n\n /** Сужает кнопку.\n *\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в 7.0.\n *\n * Альтернативный вариант использования — через переменные темы `btnPaddingXSmall`, `btnPaddingXMedium`, `btnPaddingXLarge` */\n narrow?: boolean;\n\n /** Размер кнопки. */\n size?: SizeProp;\n\n /** HTML-атрибут `type`. */\n type?: ButtonType;\n\n /** HTML-атрибут `title`. */\n title?: string;\n\n /** Стиль кнопки.\n * - accent — кнопка основного действия\n * - outline — кнопка второстепенного действия с границами без фона\n * - fill — кнопка второстепенного действия с фоном без границ\n * - text — кнопка второстепенного действия без фона и обводки\n * - danger — кнопка деструктивного действия\n * - success — кнопка позитивного действия\n * - pay — кнопка, связанная с оплатой\n *\n * ⚠️ Deprecated-стили, будут удалены в 7.0:\n * - use=\"primary\" → use=\"accent\"\n * - use=\"backless\" → use=\"outline\"\n * - use=\"link\" → `<Link component=\"button\">`\n * - use=\"default\" → use=\"outline\" или use=\"fill\"\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /** Переводит кнопку в состояние валидации \"Предупреждение\".\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в 7.0. */\n warning?: boolean;\n\n /** Ширина кнопки. */\n width?: number | string;\n\n /** Объект с переменными темы. */\n theme?: ThemeIn;\n}\n\nexport const BUTTON_DEFAULT_COMPONENT = 'button';\n\nexport type ButtonProps<C extends ButtonLinkAllowedValues = typeof BUTTON_DEFAULT_COMPONENT> =\n PolymorphicPropsWithoutRef<ButtonInnerProps, C>;\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n rootElement: 'Button__rootElement',\n root: 'Button__root',\n spinner: 'Button__spinner',\n} as const;\n\ntype DefaultProps = Required<Pick<ButtonProps<ButtonLinkAllowedValues>, 'type' | 'component'>>;\n\nconst SpanComponent: React.FunctionComponent<HTMLAttributes<HTMLSpanElement>> = ({ children, ...rest }) => {\n return <span {...rest}>{children}</span>;\n};\n\n/**\n * Фон рисуется градиентом, только если концы градиента отличаются.\n *\n * Сравниваются значения объекта темы, а не подстановки `var(--kontur-*)`: в\n * поставляемых темах оба конца — `none`, и `linear-gradient(none, none)` не\n * «плоский цвет», а невалидное значение.\n */\nconst hasGradient = (backgroundStart: string, backgroundEnd: string): boolean => backgroundStart !== backgroundEnd;\n\n/**\n * Граница нужна вторым слоем тени поверх фона, только если её цвет задан и\n * отличается от цвета фона: у `use=\"text\"` они совпадают и полупрозрачны, и\n * второй слой того же цвета удвоил бы альфу.\n */\nconst isBorderAboveBg = (borderColor: string, background: string): boolean =>\n borderColor !== '' && borderColor !== background;\n\n/** Кнопка запускает действие, сценарий или позволяет перейти на другую страницу. */\n@withRenderEnvironment\n@withSize\n@rootNode\nexport class Button<C extends ButtonLinkAllowedValues = typeof BUTTON_DEFAULT_COMPONENT> extends React.Component<\n ButtonProps<C>,\n ButtonState\n> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static displayName = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps: DefaultProps = {\n // By default, the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type: 'button',\n component: BUTTON_DEFAULT_COMPONENT,\n };\n\n private getProps = createPropsGetter(Button.defaultProps);\n\n public state = {\n focusedByTab: false,\n };\n\n private globalObject!: GlobalObject;\n private cx!: ClassNames;\n private styles!: ReturnType<typeof getStyles>;\n private activeStyles!: ReturnType<typeof getActiveStyles>;\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private size!: SizeProp;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private keyListener!: KeyListener;\n\n public componentDidMount() {\n this.keyListener = new KeyListener(this.globalObject);\n if (this.props.autoFocus) {\n this.keyListener.isTabPressed = true;\n this.focus();\n }\n warning(\n this.props.use !== 'link',\n '[Button]: `use=\"link\"` has been deprecated. Please, use `<Link component=\"button\" />` instead.',\n );\n warning(\n this.props.use !== 'primary',\n '[Button]: `use=\"primary\"` has been deprecated. Please, use `use=\"accent\"` instead.',\n );\n warning(\n this.props.use !== 'backless',\n '[Button]: `use=\"backless\"` has been deprecated. Please, use `use=\"outline\"` instead.',\n );\n if (!this.props._noWarningForUseDefault) {\n warning(\n this.props.use !== 'default',\n '[Button]: `use=\"default\"` has been deprecated. Please, use `use=\"outline\"` or `use=\"fill\"` instead.',\n );\n }\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /** Программно устанавливает фокус на кнопке. Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus(): void {\n this.node?.focus();\n }\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur(): void {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n this.styles = getStyles();\n this.activeStyles = getActiveStyles();\n\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 // Слитую тему надо отдать в контекст, а не только в `this.theme`:\n // блок переменных `--kontur-*` на корне печатает `CommonWrapper`,\n // а он берёт тему из контекста. Без этого стили кнопки читали бы\n // `var(--kontur-*)` внешней темы, а проп `theme` не работал.\n <ThemeContext.Provider value={this.theme}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTabIndex({\n disableFocus,\n disabled,\n tabIndex = 0,\n }: Pick<ButtonProps, 'disableFocus' | 'disabled' | 'tabIndex'>) {\n if (disableFocus || disabled) {\n return -1;\n }\n\n return tabIndex;\n }\n\n private renderMain = (props: CommonWrapperRestProps<ButtonProps>) => {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n narrow,\n arrow,\n icon,\n rightIcon,\n _noPadding,\n _noRightPadding,\n _noWarningForUseDefault,\n visuallyFocused,\n align,\n disableFocus,\n width,\n tabIndex,\n component: _component,\n use: useProp,\n theme,\n ...rest\n } = props;\n const {\n use = isThemeGTE(this.theme, '6.1') ? 'outline' : 'default',\n component,\n children,\n 'aria-disabled': ariaDisabled,\n } = this.getProps();\n\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n\n const [rootClassNameWithArrow, arrowNode] = getButtonArrow(\n { ...this.props, isFocused: Boolean(isFocused), size: this.size },\n this.styles,\n this.cx,\n );\n const isUseStateWithoutOutlineInDisabledState = !['default', 'backless', 'outline'].includes(use);\n\n const isAriaDisabled = ariaDisabled === true || ariaDisabled === 'true';\n const nonInteractive = disabled || loading;\n const { style, styleActive } = this.getUseStyle(use);\n\n const rootClassName = this.cx(\n this.styles.root(),\n ...style,\n sizeClass,\n narrow && this.styles.narrow(),\n _noPadding && this.styles.noPadding(),\n _noRightPadding && this.styles.noRightPadding(),\n rootClassNameWithArrow,\n ...(nonInteractive || isAriaDisabled\n ? [\n this.styles.disabled(),\n isUseStateWithoutOutlineInDisabledState && this.styles.disabledWithoutOutline(),\n checked && this.styles.checkedDisabled(),\n borderless && this.styles.borderless(),\n (use === 'backless' || use === 'outline') && this.styles.backlessDisabled(),\n use === 'text' && this.styles.textDisabled(),\n globalClasses.disabled,\n ]\n : [\n ...(active && !checked ? styleActive : []),\n isFocused && this.styles.focus(),\n checked && this.styles.checked(),\n checked && isFocused && this.styles.checkedFocused(),\n borderless && !checked && !isFocused && this.styles.borderless(),\n ]),\n );\n\n const rootProps = {\n ...rest,\n className: rootClassName,\n style: {\n textAlign: align,\n ...corners,\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: this.getTabIndex({ disableFocus, disabled: nonInteractive, tabIndex }),\n };\n\n const wrapProps = {\n className: this.cx(globalClasses.root, {\n [this.styles.wrap()]: true,\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const buttonOnlyProps = component === 'button' ? { disabled: nonInteractive } : {};\n\n const innerShadowNode = null;\n\n let outlineNode = null;\n if ((!isFocused || isLink) && !nonInteractive) {\n outlineNode = (\n <div\n className={this.cx(this.styles.outlineDefault(), {\n [this.styles.outlineWarning()]: warning,\n [this.styles.outlineError()]: error,\n [this.styles.outlineLink()]: isLink,\n [this.styles.outlineLinkWarning()]: isLink && warning,\n [this.styles.outlineLinkError()]: isLink && error,\n })}\n />\n );\n }\n\n const iconProps: Omit<ButtonIconProps, 'position'> = {\n use,\n size: this.size,\n hasChildren: !!children,\n loading: loading || false,\n };\n const leftIconNode = icon && <ButtonIcon {...iconProps} position=\"left\" icon={icon} />;\n const rightIconNode = rightIcon && (\n <ButtonIcon {...iconProps} hasBothIcons={!!icon && !!rightIcon} position=\"right\" icon={rightIcon} />\n );\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = this.cx({\n [this.styles.root()]: true,\n [sizeClass]: true,\n [this.styles.link()]: true,\n [this.styles.linkLineHeight()]: !isSafari,\n [this.styles.linkLineHeightSafariFallback()]: isSafari,\n [this.styles.linkFocus()]: isFocused,\n [this.styles.linkDisabled()]: nonInteractive,\n });\n Object.assign(wrapProps, {\n className: this.cx(this.styles.wrap(), this.styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n\n rootProps.style.textAlign = undefined;\n }\n\n const hasLoadingNode = loading && !icon && !rightIcon;\n const loadingNode = hasLoadingNode && <LoadingButtonIcon size={this.size} />;\n\n let captionNode = (\n <div\n className={this.cx(this.styles.caption(), globalClasses.caption, {\n [this.styles.captionLink()]: isLink,\n [this.styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {loadingNode}\n {leftIconNode}\n <span\n className={this.cx(globalClasses.text, {\n [this.styles.visibilityHidden()]: hasLoadingNode,\n })}\n >\n {children}\n </span>\n {rightIconNode}\n </div>\n );\n if (isLink && !loading) {\n captionNode = (\n <ThemeContext.Provider value={getInnerLinkTheme(this.theme)}>\n {\n <Link<typeof SpanComponent>\n focused={isFocused}\n disabled={disabled}\n icon={this.renderIcon2022(icon)}\n rightIcon={this.renderIcon2022(rightIcon)}\n tabIndex={-1}\n component={SpanComponent}\n >\n {children}\n </Link>\n }\n </ThemeContext.Provider>\n );\n }\n\n const Root: React.ElementType = component;\n\n return (\n <span {...wrapProps} data-tid={ButtonDataTids.root}>\n <Root data-tid={ButtonDataTids.rootElement} ref={this._ref} {...rootProps} {...buttonOnlyProps}>\n {innerShadowNode}\n {outlineNode}\n {arrowNode}\n {captionNode}\n </Root>\n </span>\n );\n };\n\n private renderIcon2022(icon: React.ReactElement | undefined) {\n if (icon?.props && isKonturIcon(icon)) {\n const iconProps = icon.props as IconProps;\n const sizes = getButtonIconSizes(this.theme);\n return React.cloneElement(icon, { size: iconProps.size ?? sizes[this.size] } as IconProps);\n }\n\n return icon;\n }\n\n /**\n * Классы use-стиля: базовый плюс варианты, выбранные по значениям темы.\n *\n * Все решения по теме собраны здесь — в стилях их нет вовсе. В стилевом файле\n * значения приходят строками `var(--kontur-*)`, и сравнение сравнивало бы имена\n * переменных, а не цвета; поэтому сравниваются значения объекта темы, а класс\n * с готовым содержимым только выбирается — как для `checked` или `disabled`.\n *\n * Обе ветки рисовать всегда нельзя: `linear-gradient(none, none)` при равных\n * `BgStart` и `BgEnd` — невалидное значение, а второй слой тени полупрозрачным\n * цветом (у `use=\"text\"` цвет границы и фона совпадают) удваивает альфу.\n *\n * Порядок в массиве — порядок объявлений в слитом классе: вариант идёт сразу\n * за базовым классом и перебивает его при равном весе.\n */\n private getUseStyle(use: ButtonUse) {\n const { styles, activeStyles, theme: t } = this;\n\n switch (use) {\n case 'primary':\n case 'accent': {\n const activeBorderAboveBg = isBorderAboveBg(t.btnPrimaryActiveBorderColor, t.btnPrimaryActiveBg);\n return {\n style: [\n styles.accent(),\n hasGradient(t.btnPrimaryBgStart, t.btnPrimaryBgEnd) && styles.accentGradient(),\n hasGradient(t.btnPrimaryHoverBgStart, t.btnPrimaryHoverBgEnd) && styles.accentHoverGradient(),\n isBorderAboveBg(t.btnPrimaryHoverBorderColor, t.btnPrimaryHoverBg) && styles.accentHoverBorderAboveBg(),\n activeBorderAboveBg && styles.accentActiveBorderAboveBg(),\n ],\n styleActive: [activeStyles.accent(), activeBorderAboveBg && activeStyles.accentBorderAboveBg()],\n };\n }\n case 'backless':\n case 'outline': {\n const activeBorderAboveBg = isBorderAboveBg(t.btnBacklessActiveBorderColor, t.btnBacklessActiveBg);\n return {\n style: [\n styles.outline(),\n isBorderAboveBg(t.btnBacklessHoverBorderColor, t.btnBacklessHoverBg) && styles.outlineHoverBorderAboveBg(),\n activeBorderAboveBg && styles.outlineActiveBorderAboveBg(),\n ],\n styleActive: [activeStyles.outline(), activeBorderAboveBg && activeStyles.outlineBorderAboveBg()],\n };\n }\n case 'fill':\n return { style: [styles.fill()], styleActive: [activeStyles.fill()] };\n case 'success': {\n const activeBorderAboveBg = isBorderAboveBg(t.btnSuccessActiveBorderColor, t.btnSuccessActiveBg);\n return {\n style: [\n styles.success(),\n hasGradient(t.btnSuccessBgStart, t.btnSuccessBgEnd) && styles.successGradient(),\n hasGradient(t.btnSuccessHoverBgStart, t.btnSuccessHoverBgEnd) && styles.successHoverGradient(),\n isBorderAboveBg(t.btnSuccessHoverBorderColor, t.btnSuccessHoverBg) && styles.successHoverBorderAboveBg(),\n activeBorderAboveBg && styles.successActiveBorderAboveBg(),\n ],\n styleActive: [activeStyles.success(), activeBorderAboveBg && activeStyles.successBorderAboveBg()],\n };\n }\n case 'danger': {\n const activeBorderAboveBg = isBorderAboveBg(t.btnDangerActiveBorderColor, t.btnDangerActiveBg);\n return {\n style: [\n styles.danger(),\n hasGradient(t.btnDangerBgStart, t.btnDangerBgEnd) && styles.dangerGradient(),\n hasGradient(t.btnDangerHoverBgStart, t.btnDangerHoverBgEnd) && styles.dangerHoverGradient(),\n isBorderAboveBg(t.btnDangerHoverBorderColor, t.btnDangerHoverBg) && styles.dangerHoverBorderAboveBg(),\n activeBorderAboveBg && styles.dangerActiveBorderAboveBg(),\n ],\n styleActive: [activeStyles.danger(), activeBorderAboveBg && activeStyles.dangerBorderAboveBg()],\n };\n }\n case 'pay': {\n const activeBorderAboveBg = isBorderAboveBg(t.btnPayActiveBorderColor, t.btnPayActiveBg);\n return {\n style: [\n styles.pay(),\n hasGradient(t.btnPayBgStart, t.btnPayBgEnd) && styles.payGradient(),\n hasGradient(t.btnPayHoverBgStart, t.btnPayHoverBgEnd) && styles.payHoverGradient(),\n isBorderAboveBg(t.btnPayHoverBorderColor, t.btnPayHoverBg) && styles.payHoverBorderAboveBg(),\n activeBorderAboveBg && styles.payActiveBorderAboveBg(),\n ],\n styleActive: [activeStyles.pay(), activeBorderAboveBg && activeStyles.payBorderAboveBg()],\n };\n }\n case 'text':\n return {\n style: [\n styles.text(),\n isBorderAboveBg(t.btnTextHoverBorderColor, t.btnTextHoverBg) && styles.textHoverBorderAboveBg(),\n ],\n styleActive: [activeStyles.text()],\n };\n default: {\n const activeBorderAboveBg = isBorderAboveBg(t.btnDefaultActiveBorderColor, t.btnDefaultActiveBg);\n return {\n style: [\n styles.default(),\n hasGradient(t.btnDefaultBgStart, t.btnDefaultBgEnd) && styles.defaultGradient(),\n hasGradient(t.btnDefaultHoverBgStart, t.btnDefaultHoverBgEnd) && styles.defaultHoverGradient(),\n isBorderAboveBg(t.btnDefaultHoverBorderColor, t.btnDefaultHoverBg) && styles.defaultHoverBorderAboveBg(),\n activeBorderAboveBg && styles.defaultActiveBorderAboveBg(),\n ],\n styleActive: [activeStyles.default(), activeBorderAboveBg && activeStyles.defaultBorderAboveBg()],\n };\n }\n }\n }\n\n private getSizeClassName() {\n const { icon, rightIcon, children } = this.getProps();\n\n switch (this.size) {\n case 'large': {\n const commonClasses = {\n [this.styles.sizeLargeWithIcon()]: !!icon,\n [this.styles.sizeLargeWithRightIcon()]: !!rightIcon,\n [this.styles.sizeLargeWithIconWithoutText()]: (!!icon || !!rightIcon) && !children,\n };\n\n return this.cx(this.styles.sizeLarge(), commonClasses);\n }\n case 'medium': {\n const commonClasses = {\n [this.styles.sizeMediumWithIcon()]: !!icon,\n [this.styles.sizeMediumWithRightIcon()]: !!rightIcon,\n [this.styles.sizeMediumWithIconWithoutText()]: (!!icon || !!rightIcon) && !children,\n };\n\n return this.cx(this.styles.sizeMedium(), commonClasses);\n }\n case 'small':\n default: {\n const commonClasses = {\n [this.styles.sizeSmallWithIcon()]: !!icon,\n [this.styles.sizeSmallWithRightIcon()]: !!rightIcon,\n [this.styles.sizeSmallWithIconWithoutText()]: (!!icon || !!rightIcon) && !children,\n };\n\n return this.cx(this.styles.sizeSmall(), commonClasses);\n }\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.wrapLarge();\n case 'medium':\n return this.styles.wrapMedium();\n case 'small':\n default:\n return this.styles.wrapSmall();\n }\n }\n\n private handleFocus = (e: React.FocusEvent) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n this.globalObject.requestAnimationFrame?.(() => {\n if (this.keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLElement | null) => {\n this.node = node;\n };\n}\n"]}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["Button.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { HTMLAttributes, JSX } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { IconProps } from '../../internal/icons2022/BaseIcon.js';\nimport { isSafari } from '../../lib/client.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { KeyListener } from '../../lib/events/keyListener.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport type { ButtonLinkAllowedValues } from '../../lib/types/button-link.js';\nimport type { PolymorphicPropsWithoutRef } from '../../lib/types/polymorphic-component.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isKonturIcon } from '../../lib/utils.js';\nimport { Link } from '../Link/index.js';\nimport { getActiveStyles, getStyles, globalClasses } from './Button.css.js';\nimport { useButtonArrow as getButtonArrow } from './ButtonArrow.js';\nimport { ButtonIcon, getButtonIconSizes } from './ButtonIcon.js';\nimport type { ButtonIconProps } from './ButtonIcon.js';\nimport { getInnerLinkTheme } from './getInnerLinkTheme.js';\nimport { LoadingButtonIcon } from './LoadingButtonIcon.js';\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse =\n | 'default'\n | 'outline'\n | 'fill'\n | 'text'\n | 'accent'\n | 'danger'\n | 'success'\n | 'pay'\n /** @deprecated Используйте компонент <Link component=\"button\" /> */\n | 'link'\n /** @deprecated Используйте use=\"outline\" */\n | 'backless'\n /** @deprecated Используйте use=\"accent\" */\n | 'primary';\n\nexport interface ButtonInnerProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * @ignore\n * @deprecated Проп будет удален вместе с use=\"default\" в 7.0\n */\n _noWarningForUseDefault?: boolean;\n\n /** Применяет к кнопке стили псевдокласса `:active`. */\n active?: boolean;\n\n /** Выравнивание текста в кнопке. */\n align?: React.CSSProperties['textAlign'];\n\n /** Преобразует обычную кнопку в кнопку со стрелкой. */\n arrow?: boolean | 'left';\n\n /** Устанавливает фокус на кнопке после окончания загрузки страницы.*/\n autoFocus?: boolean;\n\n /** Убирает обводку у кнопки.\n *\n * **Не рекомендуем использовать, противоречит дизайн-требованиям.\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в 7.0.\n *\n * Альтернативный вариант использования — use=\"fill\" или переменную темы `btnBorderWidth` */\n borderless?: boolean;\n\n /** @ignore */\n checked?: boolean;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /** Блокирует кнопку и перекрашивает в серый. */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /** Переводит кнопку в состояние валидации \"Ошибка\".\n *\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в 7.0. */\n error?: boolean;\n\n /** Добавляет иконку слева от текста кнопки. */\n icon?: React.ReactElement;\n\n /** Добавляет иконку справа от текста кнопки. */\n rightIcon?: React.ReactElement;\n\n /** Переводит кнопку в состояние загрузки. */\n loading?: boolean;\n\n /** Сужает кнопку.\n *\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в 7.0.\n *\n * Альтернативный вариант использования — через переменные темы `btnPaddingXSmall`, `btnPaddingXMedium`, `btnPaddingXLarge` */\n narrow?: boolean;\n\n /** Размер кнопки. */\n size?: SizeProp;\n\n /** HTML-атрибут `type`. */\n type?: ButtonType;\n\n /** HTML-атрибут `title`. */\n title?: string;\n\n /** Стиль кнопки.\n * - accent — кнопка основного действия\n * - outline — кнопка второстепенного действия с границами без фона\n * - fill — кнопка второстепенного действия с фоном без границ\n * - text — кнопка второстепенного действия без фона и обводки\n * - danger — кнопка деструктивного действия\n * - success — кнопка позитивного действия\n * - pay — кнопка, связанная с оплатой\n *\n * ⚠️ Deprecated-стили, будут удалены в 7.0:\n * - use=\"primary\" → use=\"accent\"\n * - use=\"backless\" → use=\"outline\"\n * - use=\"link\" → `<Link component=\"button\">`\n * - use=\"default\" → use=\"outline\" или use=\"fill\"\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /** Переводит кнопку в состояние валидации \"Предупреждение\".\n * @deprecated Состояние не соответствует Контур.Гайдам, проп будет удален в 7.0. */\n warning?: boolean;\n\n /** Ширина кнопки. */\n width?: number | string;\n\n /** Объект с переменными темы. */\n theme?: ThemeIn;\n}\n\nexport const BUTTON_DEFAULT_COMPONENT = 'button';\n\nexport type ButtonProps<C extends ButtonLinkAllowedValues = typeof BUTTON_DEFAULT_COMPONENT> =\n PolymorphicPropsWithoutRef<ButtonInnerProps, C>;\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n rootElement: 'Button__rootElement',\n root: 'Button__root',\n spinner: 'Button__spinner',\n} as const;\n\ntype DefaultProps = Required<Pick<ButtonProps<ButtonLinkAllowedValues>, 'type' | 'component'>>;\n\nconst SpanComponent: React.FunctionComponent<HTMLAttributes<HTMLSpanElement>> = ({ children, ...rest }) => {\n return <span {...rest}>{children}</span>;\n};\n\n/** Кнопка запускает действие, сценарий или позволяет перейти на другую страницу. */\n@withRenderEnvironment\n@withSize\n@rootNode\nexport class Button<C extends ButtonLinkAllowedValues = typeof BUTTON_DEFAULT_COMPONENT> extends React.Component<\n ButtonProps<C>,\n ButtonState\n> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static displayName = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps: DefaultProps = {\n // By default, the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type: 'button',\n component: BUTTON_DEFAULT_COMPONENT,\n };\n\n private getProps = createPropsGetter(Button.defaultProps);\n\n public state = {\n focusedByTab: false,\n };\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private activeStyles!: ReturnType<typeof getActiveStyles>;\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private size!: SizeProp;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private keyListener!: KeyListener;\n\n public componentDidMount() {\n this.keyListener = new KeyListener(this.globalObject);\n if (this.props.autoFocus) {\n this.keyListener.isTabPressed = true;\n this.focus();\n }\n warning(\n this.props.use !== 'link',\n '[Button]: `use=\"link\"` has been deprecated. Please, use `<Link component=\"button\" />` instead.',\n );\n warning(\n this.props.use !== 'primary',\n '[Button]: `use=\"primary\"` has been deprecated. Please, use `use=\"accent\"` instead.',\n );\n warning(\n this.props.use !== 'backless',\n '[Button]: `use=\"backless\"` has been deprecated. Please, use `use=\"outline\"` instead.',\n );\n if (!this.props._noWarningForUseDefault) {\n warning(\n this.props.use !== 'default',\n '[Button]: `use=\"default\"` has been deprecated. Please, use `use=\"outline\"` or `use=\"fill\"` instead.',\n );\n }\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /** Программно устанавливает фокус на кнопке. Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus(): void {\n this.node?.focus();\n }\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur(): void {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n this.activeStyles = getActiveStyles(this.emotion);\n\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 <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTabIndex({\n disableFocus,\n disabled,\n tabIndex = 0,\n }: Pick<ButtonProps, 'disableFocus' | 'disabled' | 'tabIndex'>) {\n if (disableFocus || disabled) {\n return -1;\n }\n\n return tabIndex;\n }\n\n private renderMain = (props: CommonWrapperRestProps<ButtonProps>) => {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n narrow,\n arrow,\n icon,\n rightIcon,\n _noPadding,\n _noRightPadding,\n _noWarningForUseDefault,\n visuallyFocused,\n align,\n disableFocus,\n width,\n tabIndex,\n component: _component,\n use: useProp,\n theme,\n ...rest\n } = props;\n const {\n use = isThemeGTE(this.theme, '6.1') ? 'outline' : 'default',\n component,\n children,\n 'aria-disabled': ariaDisabled,\n } = this.getProps();\n\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n\n const [rootClassNameWithArrow, arrowNode] = getButtonArrow(\n { ...this.props, isFocused: Boolean(isFocused), size: this.size },\n this.theme,\n this.styles,\n this.cx,\n );\n const isUseStateWithoutOutlineInDisabledState = !['default', 'backless', 'outline'].includes(use);\n\n const isAriaDisabled = ariaDisabled === true || ariaDisabled === 'true';\n const nonInteractive = disabled || loading;\n const { style, styleActive } = this.getUseStyle(use);\n\n const rootClassName = this.cx(\n this.styles.root(this.theme),\n style,\n sizeClass,\n narrow && this.styles.narrow(),\n _noPadding && this.styles.noPadding(),\n _noRightPadding && this.styles.noRightPadding(),\n rootClassNameWithArrow,\n ...(nonInteractive || isAriaDisabled\n ? [\n this.styles.disabled(this.theme),\n isUseStateWithoutOutlineInDisabledState && this.styles.disabledWithoutOutline(this.theme),\n checked && this.styles.checkedDisabled(this.theme),\n borderless && this.styles.borderless(),\n (use === 'backless' || use === 'outline') && this.styles.backlessDisabled(this.theme),\n use === 'text' && this.styles.textDisabled(),\n globalClasses.disabled,\n ]\n : [\n active && !checked && styleActive,\n isFocused && this.styles.focus(this.theme),\n checked && this.styles.checked(this.theme),\n checked && isFocused && this.styles.checkedFocused(this.theme),\n borderless && !checked && !isFocused && this.styles.borderless(),\n ]),\n );\n\n const rootProps = {\n ...rest,\n className: rootClassName,\n style: {\n textAlign: align,\n ...corners,\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: this.getTabIndex({ disableFocus, disabled: nonInteractive, tabIndex }),\n };\n\n const wrapProps = {\n className: this.cx(globalClasses.root, {\n [this.styles.wrap(this.theme)]: true,\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const buttonOnlyProps = component === 'button' ? { disabled: nonInteractive } : {};\n\n const innerShadowNode = null;\n\n let outlineNode = null;\n if ((!isFocused || isLink) && !nonInteractive) {\n outlineNode = (\n <div\n className={this.cx(this.styles.outlineDefault(), {\n [this.styles.outlineWarning(this.theme)]: warning,\n [this.styles.outlineError(this.theme)]: error,\n [this.styles.outlineLink()]: isLink,\n [this.styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [this.styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n const iconProps: Omit<ButtonIconProps, 'position'> = {\n use,\n size: this.size,\n hasChildren: !!children,\n loading: loading || false,\n };\n const leftIconNode = icon && <ButtonIcon {...iconProps} position=\"left\" icon={icon} />;\n const rightIconNode = rightIcon && (\n <ButtonIcon {...iconProps} hasBothIcons={!!icon && !!rightIcon} position=\"right\" icon={rightIcon} />\n );\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = this.cx({\n [this.styles.root(this.theme)]: true,\n [sizeClass]: true,\n [this.styles.link(this.theme)]: true,\n [this.styles.linkLineHeight()]: !isSafari,\n [this.styles.linkLineHeightSafariFallback()]: isSafari,\n [this.styles.linkFocus(this.theme)]: isFocused,\n [this.styles.linkDisabled(this.theme)]: nonInteractive,\n });\n Object.assign(wrapProps, {\n className: this.cx(this.styles.wrap(this.theme), this.styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n\n rootProps.style.textAlign = undefined;\n }\n\n const hasLoadingNode = loading && !icon && !rightIcon;\n const loadingNode = hasLoadingNode && <LoadingButtonIcon size={this.size} />;\n\n let captionNode = (\n <div\n className={this.cx(this.styles.caption(), globalClasses.caption, {\n [this.styles.captionLink()]: isLink,\n [this.styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {loadingNode}\n {leftIconNode}\n <span\n className={this.cx(globalClasses.text, {\n [this.styles.visibilityHidden()]: hasLoadingNode,\n })}\n >\n {children}\n </span>\n {rightIconNode}\n </div>\n );\n if (isLink && !loading) {\n captionNode = (\n <ThemeContext.Provider value={getInnerLinkTheme(this.theme)}>\n {\n <Link<typeof SpanComponent>\n focused={isFocused}\n disabled={disabled}\n icon={this.renderIcon2022(icon)}\n rightIcon={this.renderIcon2022(rightIcon)}\n tabIndex={-1}\n component={SpanComponent}\n >\n {children}\n </Link>\n }\n </ThemeContext.Provider>\n );\n }\n\n const Root: React.ElementType = component;\n\n return (\n <span {...wrapProps} data-tid={ButtonDataTids.root}>\n <Root data-tid={ButtonDataTids.rootElement} ref={this._ref} {...rootProps} {...buttonOnlyProps}>\n {innerShadowNode}\n {outlineNode}\n {arrowNode}\n {captionNode}\n </Root>\n </span>\n );\n };\n\n private renderIcon2022(icon: React.ReactElement | undefined) {\n if (icon?.props && isKonturIcon(icon)) {\n const iconProps = icon.props as IconProps;\n const sizes = getButtonIconSizes(this.theme);\n return React.cloneElement(icon, { size: iconProps.size ?? sizes[this.size] } as IconProps);\n }\n\n return icon;\n }\n\n private getUseStyle(use: ButtonUse) {\n let style;\n let styleActive;\n const { styles, activeStyles } = this;\n\n switch (use) {\n case 'primary':\n case 'accent':\n style = styles.accent(this.theme);\n styleActive = activeStyles.accent(this.theme);\n break;\n case 'backless':\n case 'outline':\n style = styles.outline(this.theme);\n styleActive = activeStyles.outline(this.theme);\n break;\n case 'fill':\n style = styles.fill(this.theme);\n styleActive = activeStyles.fill(this.theme);\n break;\n case 'success':\n style = styles.success(this.theme);\n styleActive = activeStyles.success(this.theme);\n break;\n case 'danger':\n style = styles.danger(this.theme);\n styleActive = activeStyles.danger(this.theme);\n break;\n case 'pay':\n style = styles.pay(this.theme);\n styleActive = activeStyles.pay(this.theme);\n break;\n case 'text':\n style = styles.text(this.theme);\n styleActive = activeStyles.text(this.theme);\n break;\n default:\n style = styles.default(this.theme);\n styleActive = activeStyles.default(this.theme);\n }\n\n return { style, styleActive };\n }\n\n private getSizeClassName() {\n const { icon, rightIcon, children } = this.getProps();\n\n switch (this.size) {\n case 'large': {\n const commonClasses = {\n [this.styles.sizeLargeWithIcon(this.theme)]: !!icon,\n [this.styles.sizeLargeWithRightIcon(this.theme)]: !!rightIcon,\n [this.styles.sizeLargeWithIconWithoutText(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return this.cx(this.styles.sizeLarge(this.theme), commonClasses);\n }\n case 'medium': {\n const commonClasses = {\n [this.styles.sizeMediumWithIcon(this.theme)]: !!icon,\n [this.styles.sizeMediumWithRightIcon(this.theme)]: !!rightIcon,\n [this.styles.sizeMediumWithIconWithoutText(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return this.cx(this.styles.sizeMedium(this.theme), commonClasses);\n }\n case 'small':\n default: {\n const commonClasses = {\n [this.styles.sizeSmallWithIcon(this.theme)]: !!icon,\n [this.styles.sizeSmallWithRightIcon(this.theme)]: !!rightIcon,\n [this.styles.sizeSmallWithIconWithoutText(this.theme)]: (!!icon || !!rightIcon) && !children,\n };\n\n return this.cx(this.styles.sizeSmall(this.theme), commonClasses);\n }\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.wrapLarge(this.theme);\n case 'medium':\n return this.styles.wrapMedium(this.theme);\n case 'small':\n default:\n return this.styles.wrapSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n this.globalObject.requestAnimationFrame?.(() => {\n if (this.keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLElement | null) => {\n this.node = node;\n };\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare const buttonUseMixin: (btnBackground: string, btnBackgroundStart: string, btnBackgroundEnd: string, color: string, borderColor: string, borderWidth: string) => string;
2
+ export declare const buttonHoverMixin: (btnBackground: string, btnBackgroundStart: string, btnBackgroundEnd: string, color: string, borderColor: string, borderWidth: string) => string;
3
+ export declare const buttonActiveMixin: (btnBackground: string, btnShadow: string, borderColor: string, borderWidth: string) => string;
4
+ export declare const buttonSizeMixin: (fontSize: string, lineHeight: string, paddingX: string, paddingY: string) => string;
@@ -0,0 +1,26 @@
1
+ import { tokenDefault } from '../../lib/theming/themeVars.js';
2
+ import { globalClasses } from './Button.classes.js';
3
+ var getBtnPadding = function (paddingY, paddingX) {
4
+ return "".concat(paddingY, " ").concat(paddingX, " ").concat(paddingY);
5
+ };
6
+ // Токены при сборке — строки `var(...)`, поэтому условие «есть ли градиент» решает браузер: при `none`
7
+ // градиент невалиден, `background-image` сбрасывается в `none` и виден `background-color`.
8
+ var backgroundMixin = function (background, start, end) { return "\n background-color: ".concat(background, ";\n background-image: linear-gradient(").concat(start, ", ").concat(end, ");\n"); };
9
+ var isBorderAboveBackground = function (borderColor, background) {
10
+ return tokenDefault(borderColor) !== '' && tokenDefault(borderColor) !== tokenDefault(background);
11
+ };
12
+ export var buttonUseMixin = function (btnBackground, btnBackgroundStart, btnBackgroundEnd, color, borderColor, borderWidth) {
13
+ return "\n ".concat(backgroundMixin(btnBackground, btnBackgroundStart, btnBackgroundEnd), "\n color: ").concat(color, ";\n box-shadow: 0 0 0 ").concat(borderWidth, " ").concat(borderColor, ";\n\n :enabled:hover,\n :enabled {\n .").concat(globalClasses.arrow, " svg {\n color: ").concat(color, ";\n }\n }\n ");
14
+ };
15
+ export var buttonHoverMixin = function (btnBackground, btnBackgroundStart, btnBackgroundEnd, color, borderColor, borderWidth) {
16
+ var isBorderAboveBg = isBorderAboveBackground(borderColor, btnBackground);
17
+ return "\n ".concat(backgroundMixin(btnBackground, btnBackgroundStart, btnBackgroundEnd), "\n box-shadow: 0 0 0 ").concat(borderWidth, " ").concat(borderColor).concat(isBorderAboveBg ? ", 0 0 0 ".concat(borderWidth, " ").concat(btnBackground) : '', ";\n color: ").concat(color, ";\n ");
18
+ };
19
+ export var buttonActiveMixin = function (btnBackground, btnShadow, borderColor, borderWidth) {
20
+ var isBorderAboveBg = isBorderAboveBackground(borderColor, btnBackground);
21
+ return "\n &,\n &:hover {\n background-image: none !important; // override :hover styles\n background-color: ".concat(btnBackground, " !important; // override :hover styles\n box-shadow: 0 0 0 ").concat(borderWidth, " ").concat(borderColor).concat(isBorderAboveBg ? ", 0 0 0 ".concat(borderWidth, " ").concat(btnBackground) : '', " !important; // override :hover styles\n\n .").concat(globalClasses.innerShadow, " {\n box-shadow: ").concat(btnShadow, ";\n }\n }\n ");
22
+ };
23
+ export var buttonSizeMixin = function (fontSize, lineHeight, paddingX, paddingY) {
24
+ return "\n font-size: ".concat(fontSize, ";\n box-sizing: border-box;\n padding: ").concat(getBtnPadding(paddingY, paddingX), ";\n line-height: ").concat(lineHeight, ";\n ");
25
+ };
26
+ //# sourceMappingURL=Button.mixins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.mixins.js","sourceRoot":"","sources":["Button.mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,IAAM,aAAa,GAAG,UAAC,QAAgB,EAAE,QAAgB;IACvD,OAAO,UAAG,QAAQ,cAAI,QAAQ,cAAI,QAAQ,CAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,uGAAuG;AACvG,2FAA2F;AAC3F,IAAM,eAAe,GAAG,UAAC,UAAkB,EAAE,KAAa,EAAE,GAAW,IAAa,OAAA,kCAC5D,UAAU,sDACM,KAAK,eAAK,GAAG,SACpD,EAHmF,CAGnF,CAAC;AAEF,IAAM,uBAAuB,GAAG,UAAC,WAAmB,EAAE,UAAkB;IACtE,OAAA,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,YAAY,CAAC,WAAW,CAAC,KAAK,YAAY,CAAC,UAAU,CAAC;AAA1F,CAA0F,CAAC;AAE7F,MAAM,CAAC,IAAM,cAAc,GAAG,UAC5B,aAAqB,EACrB,kBAA0B,EAC1B,gBAAwB,EACxB,KAAa,EACb,WAAmB,EACnB,WAAmB;IAEnB,OAAO,gBACH,eAAe,CAAC,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,0BAC7D,KAAK,sCACM,WAAW,cAAI,WAAW,8DAIzC,aAAa,CAAC,KAAK,oCACX,KAAK,0BAGnB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAC9B,aAAqB,EACrB,kBAA0B,EAC1B,gBAAwB,EACxB,KAAa,EACb,WAAmB,EACnB,WAAmB;IAEnB,IAAM,eAAe,GAAG,uBAAuB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC5E,OAAO,gBACH,eAAe,CAAC,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,qCAClD,WAAW,cAAI,WAAW,SAAG,eAAe,CAAC,CAAC,CAAC,kBAAW,WAAW,cAAI,aAAa,CAAE,CAAC,CAAC,CAAC,EAAE,2BACxG,KAAK,UACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAC/B,aAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,WAAmB;IAEnB,IAAM,eAAe,GAAG,uBAAuB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC5E,OAAO,+HAIiB,aAAa,6EACb,WAAW,cAAI,WAAW,SAAG,eAAe,CAAC,CAAC,CAAC,kBAAW,WAAW,cAAI,aAAa,CAAE,CAAC,CAAC,CAAC,EAAE,8DAE9G,aAAa,CAAC,WAAW,qCACZ,SAAS,0BAG5B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,QAAgB,EAAE,UAAkB,EAAE,QAAgB,EAAE,QAAgB;IACtG,OAAO,2BACQ,QAAQ,0DAEV,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,iCAC7B,UAAU,UAC1B,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { tokenDefault } from '../../lib/theming/themeVars.js';\nimport { globalClasses } from './Button.classes.js';\n\nconst getBtnPadding = (paddingY: string, paddingX: string): string => {\n return `${paddingY} ${paddingX} ${paddingY}`;\n};\n\n// Токены при сборке — строки `var(...)`, поэтому условие «есть ли градиент» решает браузер: при `none`\n// градиент невалиден, `background-image` сбрасывается в `none` и виден `background-color`.\nconst backgroundMixin = (background: string, start: string, end: string): string => `\n background-color: ${background};\n background-image: linear-gradient(${start}, ${end});\n`;\n\nconst isBorderAboveBackground = (borderColor: string, background: string): boolean =>\n tokenDefault(borderColor) !== '' && tokenDefault(borderColor) !== tokenDefault(background);\n\nexport const buttonUseMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n color: string,\n borderColor: string,\n borderWidth: string,\n): string => {\n return `\n ${backgroundMixin(btnBackground, btnBackgroundStart, btnBackgroundEnd)}\n color: ${color};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor};\n\n :enabled:hover,\n :enabled {\n .${globalClasses.arrow} svg {\n color: ${color};\n }\n }\n `;\n};\n\nexport const buttonHoverMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n color: string,\n borderColor: string,\n borderWidth: string,\n): string => {\n const isBorderAboveBg = isBorderAboveBackground(borderColor, btnBackground);\n return `\n ${backgroundMixin(btnBackground, btnBackgroundStart, btnBackgroundEnd)}\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${isBorderAboveBg ? `, 0 0 0 ${borderWidth} ${btnBackground}` : ''};\n color: ${color};\n `;\n};\n\nexport const buttonActiveMixin = (\n btnBackground: string,\n btnShadow: string,\n borderColor: string,\n borderWidth: string,\n): string => {\n const isBorderAboveBg = isBorderAboveBackground(borderColor, btnBackground);\n return `\n &,\n &:hover {\n background-image: none !important; // override :hover styles\n background-color: ${btnBackground} !important; // override :hover styles\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${isBorderAboveBg ? `, 0 0 0 ${borderWidth} ${btnBackground}` : ''} !important; // override :hover styles\n\n .${globalClasses.innerShadow} {\n box-shadow: ${btnShadow};\n }\n }\n `;\n};\n\nexport const buttonSizeMixin = (fontSize: string, lineHeight: string, paddingX: string, paddingY: string): string => {\n return `\n font-size: ${fontSize};\n box-sizing: border-box;\n padding: ${getBtnPadding(paddingY, paddingX)};\n line-height: ${lineHeight};\n `;\n};\n"]}
@@ -1,9 +1,10 @@
1
+ import type { Emotion } from '@emotion/css/create-instance';
1
2
  import React from 'react';
2
- import type { ClassNames } from '../../lib/theming/Emotion.js';
3
+ import type { Theme } from '../../lib/theming/Theme.js';
4
+ import { getStyles } from './Button.css.js';
3
5
  import type { ButtonInnerProps } from './Button.js';
4
- import { getStyles } from './Button.styles.js';
5
6
  type ButtonArrowProps = Pick<ButtonInnerProps, 'size' | 'arrow' | 'checked' | 'disabled' | 'error' | 'use' | 'warning'> & {
6
7
  isFocused: boolean;
7
8
  };
8
- export declare function useButtonArrow(props: ButtonArrowProps, styles: ReturnType<typeof getStyles>, cx: ClassNames): [string, React.ReactNode];
9
+ export declare function useButtonArrow(props: ButtonArrowProps, theme: Theme, styles: ReturnType<typeof getStyles>, cx: Emotion['cx']): [string, React.ReactNode];
9
10
  export {};