@skbkontur/react-ui 6.4.2-static-css.0 → 6.4.3-5e1c3.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 (691) hide show
  1. package/README.md +0 -97
  2. package/components/Autocomplete/Autocomplete.d.ts +1 -0
  3. package/components/Autocomplete/Autocomplete.js +4 -13
  4. package/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/components/Autocomplete/Autocomplete.styles.d.ts +4 -4
  6. package/components/Autocomplete/Autocomplete.styles.js +16 -5
  7. package/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  8. package/components/Button/Button.d.ts +1 -15
  9. package/components/Button/Button.js +76 -162
  10. package/components/Button/Button.js.map +1 -1
  11. package/components/Button/Button.mixins.d.ts +4 -0
  12. package/components/Button/Button.mixins.js +21 -0
  13. package/components/Button/Button.mixins.js.map +1 -0
  14. package/components/Button/Button.styles.d.ts +91 -107
  15. package/components/Button/Button.styles.js +255 -108
  16. package/components/Button/Button.styles.js.map +1 -1
  17. package/components/Button/ButtonArrow.d.ts +3 -2
  18. package/components/Button/ButtonArrow.js +10 -8
  19. package/components/Button/ButtonArrow.js.map +1 -1
  20. package/components/Button/ButtonIcon.js +17 -7
  21. package/components/Button/ButtonIcon.js.map +1 -1
  22. package/components/Button/ButtonIcon.styles.d.ts +15 -15
  23. package/components/Button/ButtonIcon.styles.js +51 -16
  24. package/components/Button/ButtonIcon.styles.js.map +1 -1
  25. package/components/Calendar/Calendar.d.ts +1 -0
  26. package/components/Calendar/Calendar.js +3 -3
  27. package/components/Calendar/Calendar.js.map +1 -1
  28. package/components/Calendar/Calendar.styles.d.ts +5 -5
  29. package/components/Calendar/Calendar.styles.js +20 -6
  30. package/components/Calendar/Calendar.styles.js.map +1 -1
  31. package/components/Calendar/CalendarDay.js +7 -11
  32. package/components/Calendar/CalendarDay.js.map +1 -1
  33. package/components/Calendar/DayCellView.js +3 -1
  34. package/components/Calendar/DayCellView.js.map +1 -1
  35. package/components/Calendar/DayCellView.styles.d.ts +8 -10
  36. package/components/Calendar/DayCellView.styles.js +29 -11
  37. package/components/Calendar/DayCellView.styles.js.map +1 -1
  38. package/components/Calendar/Month.js +10 -6
  39. package/components/Calendar/Month.js.map +1 -1
  40. package/components/Calendar/MonthView.js +7 -7
  41. package/components/Calendar/MonthView.js.map +1 -1
  42. package/components/Calendar/MonthView.styles.d.ts +12 -12
  43. package/components/Calendar/MonthView.styles.js +45 -13
  44. package/components/Calendar/MonthView.styles.js.map +1 -1
  45. package/components/Center/Center.d.ts +1 -0
  46. package/components/Center/Center.js +1 -1
  47. package/components/Center/Center.js.map +1 -1
  48. package/components/Center/Center.styles.d.ts +6 -7
  49. package/components/Center/Center.styles.js +25 -8
  50. package/components/Center/Center.styles.js.map +1 -1
  51. package/components/Checkbox/Checkbox.d.ts +1 -8
  52. package/components/Checkbox/Checkbox.js +26 -57
  53. package/components/Checkbox/Checkbox.js.map +1 -1
  54. package/components/Checkbox/Checkbox.mixins.d.ts +4 -0
  55. package/components/Checkbox/Checkbox.mixins.js +18 -0
  56. package/components/Checkbox/Checkbox.mixins.js.map +1 -0
  57. package/components/Checkbox/Checkbox.styles.d.ts +30 -33
  58. package/components/Checkbox/Checkbox.styles.js +95 -35
  59. package/components/Checkbox/Checkbox.styles.js.map +1 -1
  60. package/components/DateInput/DateFragmentsView.d.ts +2 -0
  61. package/components/DateInput/DateFragmentsView.js +7 -10
  62. package/components/DateInput/DateFragmentsView.js.map +1 -1
  63. package/components/DateInput/DateFragmentsView.styles.d.ts +6 -8
  64. package/components/DateInput/DateFragmentsView.styles.js +26 -9
  65. package/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  66. package/components/DateInput/DateInput.d.ts +2 -0
  67. package/components/DateInput/DateInput.js +8 -6
  68. package/components/DateInput/DateInput.js.map +1 -1
  69. package/components/DateInput/DateInput.styles.d.ts +11 -10
  70. package/components/DateInput/DateInput.styles.js +28 -11
  71. package/components/DateInput/DateInput.styles.js.map +1 -1
  72. package/components/DatePicker/DatePicker.d.ts +1 -0
  73. package/components/DatePicker/DatePicker.js +2 -2
  74. package/components/DatePicker/DatePicker.js.map +1 -1
  75. package/components/DatePicker/DatePicker.styles.d.ts +4 -4
  76. package/components/DatePicker/DatePicker.styles.js +16 -5
  77. package/components/DatePicker/DatePicker.styles.js.map +1 -1
  78. package/components/DatePicker/MobilePicker.styles.d.ts +2 -3
  79. package/components/DatePicker/MobilePicker.styles.js +13 -4
  80. package/components/DatePicker/MobilePicker.styles.js.map +1 -1
  81. package/components/DatePicker/getMobilePickerTheme.js +9 -27
  82. package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
  83. package/components/DateRangePicker/DateRangePicker.d.ts +4 -4
  84. package/components/DateRangePicker/DateRangePicker.js +28 -26
  85. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  86. package/components/DateRangePicker/DateRangePicker.styles.d.ts +14 -20
  87. package/components/DateRangePicker/DateRangePicker.styles.js +49 -25
  88. package/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  89. package/components/DateRangePicker/DateRangePickerTheme.js +10 -30
  90. package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
  91. package/components/Dropdown/getDropdownTheme.d.ts +0 -11
  92. package/components/Dropdown/getDropdownTheme.js +4 -23
  93. package/components/Dropdown/getDropdownTheme.js.map +1 -1
  94. package/components/DropdownMenu/getDropdownMenuTheme.js +2 -9
  95. package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  96. package/components/FileUploader/FileUploader.d.ts +1 -2
  97. package/components/FileUploader/FileUploader.js +45 -50
  98. package/components/FileUploader/FileUploader.js.map +1 -1
  99. package/components/FileUploader/FileUploader.mixins.d.ts +1 -0
  100. package/components/FileUploader/FileUploader.mixins.js +4 -0
  101. package/components/FileUploader/FileUploader.mixins.js.map +1 -0
  102. package/components/FileUploader/FileUploader.styles.d.ts +68 -69
  103. package/components/FileUploader/FileUploader.styles.js +214 -71
  104. package/components/FileUploader/FileUploader.styles.js.map +1 -1
  105. package/components/FileUploader/FileUploaderFile.js +30 -28
  106. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  107. package/components/FileUploader/FileUploaderFile.styles.d.ts +57 -57
  108. package/components/FileUploader/FileUploaderFile.styles.js +180 -58
  109. package/components/FileUploader/FileUploaderFile.styles.js.map +1 -1
  110. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +19 -17
  111. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  112. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.d.ts +31 -31
  113. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js +99 -32
  114. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -1
  115. package/components/FileUploader/FileUploaderFileStatusIcon.js +4 -2
  116. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  117. package/components/FileUploader/FileUploaderFileTypeIcon.js +52 -47
  118. package/components/FileUploader/FileUploaderFileTypeIcon.js.map +1 -1
  119. package/components/FxInput/FxInput.d.ts +1 -1
  120. package/components/FxInput/FxInput.js +3 -7
  121. package/components/FxInput/FxInput.js.map +1 -1
  122. package/components/FxInput/FxInputRestoreBtn.js +15 -23
  123. package/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  124. package/components/GlobalLoader/GlobalLoaderView.js +14 -30
  125. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  126. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +16 -22
  127. package/components/GlobalLoader/GlobalLoaderView.styles.js +67 -22
  128. package/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
  129. package/components/Group/Group.d.ts +1 -0
  130. package/components/Group/Group.js +3 -2
  131. package/components/Group/Group.js.map +1 -1
  132. package/components/Group/Group.styles.d.ts +7 -7
  133. package/components/Group/Group.styles.js +28 -8
  134. package/components/Group/Group.styles.js.map +1 -1
  135. package/components/Hint/Hint.d.ts +1 -0
  136. package/components/Hint/Hint.js +3 -3
  137. package/components/Hint/Hint.js.map +1 -1
  138. package/components/Hint/Hint.styles.d.ts +4 -4
  139. package/components/Hint/Hint.styles.js +16 -5
  140. package/components/Hint/Hint.styles.js.map +1 -1
  141. package/components/Input/Input.d.ts +1 -0
  142. package/components/Input/Input.js +13 -13
  143. package/components/Input/Input.js.map +1 -1
  144. package/components/Input/Input.styles.d.ts +20 -20
  145. package/components/Input/Input.styles.js +66 -21
  146. package/components/Input/Input.styles.js.map +1 -1
  147. package/components/Input/InputLayout/InputLayout.styles.d.ts +17 -26
  148. package/components/Input/InputLayout/InputLayout.styles.js +57 -27
  149. package/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  150. package/components/Input/InputLayout/InputLayoutAsideCounter.js +8 -8
  151. package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
  152. package/components/Input/InputLayout/InputLayoutAsideIcon.js +25 -19
  153. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  154. package/components/Input/InputLayout/InputLayoutAsideText.js +4 -4
  155. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  156. package/components/Kebab/Kebab.d.ts +1 -0
  157. package/components/Kebab/Kebab.js +2 -2
  158. package/components/Kebab/Kebab.js.map +1 -1
  159. package/components/Kebab/Kebab.styles.d.ts +10 -10
  160. package/components/Kebab/Kebab.styles.js +34 -11
  161. package/components/Kebab/Kebab.styles.js.map +1 -1
  162. package/components/Link/Link.d.ts +1 -0
  163. package/components/Link/Link.js +18 -23
  164. package/components/Link/Link.js.map +1 -1
  165. package/components/Link/Link.mixins.d.ts +2 -0
  166. package/components/Link/Link.mixins.js +7 -0
  167. package/components/Link/Link.mixins.js.map +1 -0
  168. package/components/Link/Link.styles.d.ts +23 -23
  169. package/components/Link/Link.styles.js +81 -25
  170. package/components/Link/Link.styles.js.map +1 -1
  171. package/components/Link/LinkIcon.js +6 -4
  172. package/components/Link/LinkIcon.js.map +1 -1
  173. package/components/Loader/Loader.d.ts +2 -0
  174. package/components/Loader/Loader.js +3 -2
  175. package/components/Loader/Loader.js.map +1 -1
  176. package/components/Loader/Loader.styles.d.ts +7 -7
  177. package/components/Loader/Loader.styles.js +25 -8
  178. package/components/Loader/Loader.styles.js.map +1 -1
  179. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +21 -15
  180. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  181. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.d.ts +2 -3
  182. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +13 -5
  183. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +1 -1
  184. package/components/MaskedInput/MaskedInput.styles.d.ts +3 -3
  185. package/components/MaskedInput/MaskedInput.styles.js +14 -5
  186. package/components/MaskedInput/MaskedInput.styles.js.map +1 -1
  187. package/components/MaskedInput/MaskedInputLegacy.js +6 -4
  188. package/components/MaskedInput/MaskedInputLegacy.js.map +1 -1
  189. package/components/MaskedInputV2/MaskedInputV2.js +6 -4
  190. package/components/MaskedInputV2/MaskedInputV2.js.map +1 -1
  191. package/components/MaskedInputV2/MaskedInputV2.styles.d.ts +3 -3
  192. package/components/MaskedInputV2/MaskedInputV2.styles.js +14 -5
  193. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +1 -1
  194. package/components/MaskedInputV2/internal/MaskOverlay.js +8 -8
  195. package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -1
  196. package/components/MaskedInputV2/internal/MaskedCore.js +5 -7
  197. package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -1
  198. package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +7 -7
  199. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +25 -9
  200. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +1 -1
  201. package/components/MenuFooter/MenuFooter.js +12 -10
  202. package/components/MenuFooter/MenuFooter.js.map +1 -1
  203. package/components/MenuFooter/MenuFooter.mixins.d.ts +2 -0
  204. package/components/MenuFooter/MenuFooter.mixins.js +8 -0
  205. package/components/MenuFooter/MenuFooter.mixins.js.map +1 -0
  206. package/components/MenuFooter/MenuFooter.styles.d.ts +9 -9
  207. package/components/MenuFooter/MenuFooter.styles.js +32 -10
  208. package/components/MenuFooter/MenuFooter.styles.js.map +1 -1
  209. package/components/MenuHeader/MenuHeader.js +11 -9
  210. package/components/MenuHeader/MenuHeader.js.map +1 -1
  211. package/components/MenuHeader/MenuHeader.mixins.d.ts +2 -0
  212. package/components/MenuHeader/MenuHeader.mixins.js +8 -0
  213. package/components/MenuHeader/MenuHeader.mixins.js.map +1 -0
  214. package/components/MenuHeader/MenuHeader.styles.d.ts +9 -9
  215. package/components/MenuHeader/MenuHeader.styles.js +32 -10
  216. package/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  217. package/components/MenuItem/MenuItem.d.ts +1 -0
  218. package/components/MenuItem/MenuItem.js +30 -24
  219. package/components/MenuItem/MenuItem.js.map +1 -1
  220. package/components/MenuItem/MenuItem.mixins.d.ts +0 -6
  221. package/components/MenuItem/MenuItem.mixins.js +1 -7
  222. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  223. package/components/MenuItem/MenuItem.styles.d.ts +26 -26
  224. package/components/MenuItem/MenuItem.styles.js +85 -28
  225. package/components/MenuItem/MenuItem.styles.js.map +1 -1
  226. package/components/MenuSeparator/MenuSeparator.js +6 -4
  227. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  228. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  229. package/components/MenuSeparator/MenuSeparator.styles.js +16 -5
  230. package/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  231. package/components/MiniModal/MiniModal.styles.d.ts +10 -10
  232. package/components/MiniModal/MiniModal.styles.js +35 -11
  233. package/components/MiniModal/MiniModal.styles.js.map +1 -1
  234. package/components/MiniModal/MiniModalBody.js +3 -3
  235. package/components/MiniModal/MiniModalBody.js.map +1 -1
  236. package/components/MiniModal/MiniModalFooter.js +6 -4
  237. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  238. package/components/MiniModal/MiniModalHeader.js +6 -4
  239. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  240. package/components/MiniModal/MiniModalIndent.js +4 -2
  241. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  242. package/components/MiniModal/getMiniModalTheme.js +13 -39
  243. package/components/MiniModal/getMiniModalTheme.js.map +1 -1
  244. package/components/Modal/Modal.d.ts +1 -0
  245. package/components/Modal/Modal.js +8 -8
  246. package/components/Modal/Modal.js.map +1 -1
  247. package/components/Modal/Modal.styles.d.ts +50 -50
  248. package/components/Modal/Modal.styles.js +161 -52
  249. package/components/Modal/Modal.styles.js.map +1 -1
  250. package/components/Modal/ModalBody.d.ts +1 -0
  251. package/components/Modal/ModalBody.js +7 -7
  252. package/components/Modal/ModalBody.js.map +1 -1
  253. package/components/Modal/ModalClose.js +9 -7
  254. package/components/Modal/ModalClose.js.map +1 -1
  255. package/components/Modal/ModalFooter.js +3 -3
  256. package/components/Modal/ModalFooter.js.map +1 -1
  257. package/components/Modal/ModalHeader.js +3 -3
  258. package/components/Modal/ModalHeader.js.map +1 -1
  259. package/components/Modal/ModalSeparator.js +6 -4
  260. package/components/Modal/ModalSeparator.js.map +1 -1
  261. package/components/Paging/Paging.d.ts +2 -0
  262. package/components/Paging/Paging.js +37 -32
  263. package/components/Paging/Paging.js.map +1 -1
  264. package/components/Paging/Paging.styles.d.ts +31 -31
  265. package/components/Paging/Paging.styles.js +97 -32
  266. package/components/Paging/Paging.styles.js.map +1 -1
  267. package/components/PasswordInput/PasswordInput.d.ts +2 -0
  268. package/components/PasswordInput/PasswordInput.js +11 -6
  269. package/components/PasswordInput/PasswordInput.js.map +1 -1
  270. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  271. package/components/PasswordInput/PasswordInput.styles.js +34 -11
  272. package/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  273. package/components/Radio/Radio.d.ts +1 -8
  274. package/components/Radio/Radio.js +28 -59
  275. package/components/Radio/Radio.js.map +1 -1
  276. package/components/Radio/Radio.mixins.d.ts +7 -0
  277. package/components/Radio/Radio.mixins.js +30 -0
  278. package/components/Radio/Radio.mixins.js.map +1 -0
  279. package/components/Radio/Radio.styles.d.ts +30 -33
  280. package/components/Radio/Radio.styles.js +95 -35
  281. package/components/Radio/Radio.styles.js.map +1 -1
  282. package/components/RadioGroup/RadioGroup.d.ts +1 -0
  283. package/components/RadioGroup/RadioGroup.js +2 -1
  284. package/components/RadioGroup/RadioGroup.js.map +1 -1
  285. package/components/RadioGroup/RadioGroup.styles.d.ts +5 -5
  286. package/components/RadioGroup/RadioGroup.styles.js +22 -6
  287. package/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  288. package/components/ScrollContainer/ScrollBar.d.ts +3 -1
  289. package/components/ScrollContainer/ScrollBar.js +14 -9
  290. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  291. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  292. package/components/ScrollContainer/ScrollContainer.js +1 -1
  293. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  294. package/components/ScrollContainer/ScrollContainer.styles.d.ts +13 -13
  295. package/components/ScrollContainer/ScrollContainer.styles.js +43 -15
  296. package/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  297. package/components/Select/Select.d.ts +1 -0
  298. package/components/Select/Select.js +12 -12
  299. package/components/Select/Select.js.map +1 -1
  300. package/components/Select/Select.styles.d.ts +17 -17
  301. package/components/Select/Select.styles.js +55 -18
  302. package/components/Select/Select.styles.js.map +1 -1
  303. package/components/Select/selectTheme.js +7 -31
  304. package/components/Select/selectTheme.js.map +1 -1
  305. package/components/SidePage/SidePage.d.ts +6 -0
  306. package/components/SidePage/SidePage.js +27 -9
  307. package/components/SidePage/SidePage.js.map +1 -1
  308. package/components/SidePage/SidePage.styles.d.ts +49 -49
  309. package/components/SidePage/SidePage.styles.js +156 -50
  310. package/components/SidePage/SidePage.styles.js.map +1 -1
  311. package/components/SidePage/SidePageBody.d.ts +1 -0
  312. package/components/SidePage/SidePageBody.js +8 -7
  313. package/components/SidePage/SidePageBody.js.map +1 -1
  314. package/components/SidePage/SidePageCloseButton.js +8 -6
  315. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  316. package/components/SidePage/SidePageContainer.d.ts +2 -0
  317. package/components/SidePage/SidePageContainer.js +13 -11
  318. package/components/SidePage/SidePageContainer.js.map +1 -1
  319. package/components/SidePage/SidePageContext.d.ts +2 -0
  320. package/components/SidePage/SidePageContext.js.map +1 -1
  321. package/components/SidePage/SidePageFooter.d.ts +2 -0
  322. package/components/SidePage/SidePageFooter.js +17 -12
  323. package/components/SidePage/SidePageFooter.js.map +1 -1
  324. package/components/SidePage/SidePageHeader.d.ts +2 -0
  325. package/components/SidePage/SidePageHeader.js +20 -11
  326. package/components/SidePage/SidePageHeader.js.map +1 -1
  327. package/components/Spinner/Spinner.d.ts +2 -0
  328. package/components/Spinner/Spinner.js +10 -7
  329. package/components/Spinner/Spinner.js.map +1 -1
  330. package/components/Spinner/Spinner.styles.d.ts +12 -12
  331. package/components/Spinner/Spinner.styles.js +41 -13
  332. package/components/Spinner/Spinner.styles.js.map +1 -1
  333. package/components/Sticky/Sticky.d.ts +1 -0
  334. package/components/Sticky/Sticky.js +1 -1
  335. package/components/Sticky/Sticky.js.map +1 -1
  336. package/components/Sticky/Sticky.styles.d.ts +6 -7
  337. package/components/Sticky/Sticky.styles.js +25 -8
  338. package/components/Sticky/Sticky.styles.js.map +1 -1
  339. package/components/Switcher/Switcher.d.ts +1 -0
  340. package/components/Switcher/Switcher.js +6 -6
  341. package/components/Switcher/Switcher.js.map +1 -1
  342. package/components/Switcher/Switcher.styles.d.ts +11 -11
  343. package/components/Switcher/Switcher.styles.js +37 -12
  344. package/components/Switcher/Switcher.styles.js.map +1 -1
  345. package/components/Switcher/switcherTheme.js +4 -12
  346. package/components/Switcher/switcherTheme.js.map +1 -1
  347. package/components/Tabs/Indicator.d.ts +1 -0
  348. package/components/Tabs/Indicator.js +2 -2
  349. package/components/Tabs/Indicator.js.map +1 -1
  350. package/components/Tabs/Indicator.styles.d.ts +7 -7
  351. package/components/Tabs/Indicator.styles.js +25 -8
  352. package/components/Tabs/Indicator.styles.js.map +1 -1
  353. package/components/Tabs/Tab.d.ts +18 -4
  354. package/components/Tabs/Tab.js +24 -19
  355. package/components/Tabs/Tab.js.map +1 -1
  356. package/components/Tabs/Tab.styles.d.ts +27 -27
  357. package/components/Tabs/Tab.styles.js +99 -30
  358. package/components/Tabs/Tab.styles.js.map +1 -1
  359. package/components/Tabs/Tabs.d.ts +2 -0
  360. package/components/Tabs/Tabs.js +29 -24
  361. package/components/Tabs/Tabs.js.map +1 -1
  362. package/components/Tabs/Tabs.styles.d.ts +6 -6
  363. package/components/Tabs/Tabs.styles.js +25 -8
  364. package/components/Tabs/Tabs.styles.js.map +1 -1
  365. package/components/Tabs/helpers.d.ts +6 -0
  366. package/components/Tabs/helpers.js +25 -0
  367. package/components/Tabs/helpers.js.map +1 -0
  368. package/components/Textarea/Textarea.d.ts +2 -0
  369. package/components/Textarea/Textarea.js +24 -17
  370. package/components/Textarea/Textarea.js.map +1 -1
  371. package/components/Textarea/Textarea.mixins.d.ts +2 -0
  372. package/components/Textarea/Textarea.mixins.js +7 -0
  373. package/components/Textarea/Textarea.mixins.js.map +1 -0
  374. package/components/Textarea/Textarea.styles.d.ts +22 -26
  375. package/components/Textarea/Textarea.styles.js +71 -27
  376. package/components/Textarea/Textarea.styles.js.map +1 -1
  377. package/components/Textarea/TextareaCounter.js +14 -22
  378. package/components/Textarea/TextareaCounter.js.map +1 -1
  379. package/components/TimePicker/TimePicker.styles.d.ts +11 -11
  380. package/components/TimePicker/TimePicker.styles.js +37 -12
  381. package/components/TimePicker/TimePicker.styles.js.map +1 -1
  382. package/components/TimePicker/TimePickerItems.js +6 -6
  383. package/components/TimePicker/TimePickerItems.js.map +1 -1
  384. package/components/TimePicker/TimePickerPopup.js +1 -1
  385. package/components/TimePicker/TimePickerPopup.js.map +1 -1
  386. package/components/Toast/Toast.d.ts +1 -0
  387. package/components/Toast/Toast.js +1 -1
  388. package/components/Toast/Toast.js.map +1 -1
  389. package/components/Toast/Toast.styles.d.ts +5 -6
  390. package/components/Toast/Toast.styles.js +22 -7
  391. package/components/Toast/Toast.styles.js.map +1 -1
  392. package/components/Toast/ToastView.d.ts +1 -0
  393. package/components/Toast/ToastView.js +17 -9
  394. package/components/Toast/ToastView.js.map +1 -1
  395. package/components/Toast/ToastView.styles.d.ts +17 -19
  396. package/components/Toast/ToastView.styles.js +65 -20
  397. package/components/Toast/ToastView.styles.js.map +1 -1
  398. package/components/Toggle/Toggle.d.ts +1 -1
  399. package/components/Toggle/Toggle.js +39 -55
  400. package/components/Toggle/Toggle.js.map +1 -1
  401. package/components/Toggle/Toggle.mixins.d.ts +8 -0
  402. package/components/Toggle/Toggle.mixins.js +32 -0
  403. package/components/Toggle/Toggle.mixins.js.map +1 -0
  404. package/components/Toggle/Toggle.styles.d.ts +46 -47
  405. package/components/Toggle/Toggle.styles.js +143 -48
  406. package/components/Toggle/Toggle.styles.js.map +1 -1
  407. package/components/Token/Token.d.ts +2 -0
  408. package/components/Token/Token.js +10 -5
  409. package/components/Token/Token.js.map +1 -1
  410. package/components/Token/Token.mixins.d.ts +1 -0
  411. package/components/Token/Token.mixins.js +4 -0
  412. package/components/Token/Token.mixins.js.map +1 -0
  413. package/components/Token/Token.styles.d.ts +19 -20
  414. package/components/Token/Token.styles.js +62 -22
  415. package/components/Token/Token.styles.js.map +1 -1
  416. package/components/Token/TokenView.js +10 -8
  417. package/components/Token/TokenView.js.map +1 -1
  418. package/components/TokenInput/TextWidthHelper.d.ts +1 -0
  419. package/components/TokenInput/TextWidthHelper.js +4 -4
  420. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  421. package/components/TokenInput/TokenInput.d.ts +2 -1
  422. package/components/TokenInput/TokenInput.js +22 -20
  423. package/components/TokenInput/TokenInput.js.map +1 -1
  424. package/components/TokenInput/TokenInput.mixins.d.ts +2 -0
  425. package/components/TokenInput/TokenInput.mixins.js +7 -0
  426. package/components/TokenInput/TokenInput.mixins.js.map +1 -0
  427. package/components/TokenInput/TokenInput.styles.d.ts +20 -21
  428. package/components/TokenInput/TokenInput.styles.js +66 -22
  429. package/components/TokenInput/TokenInput.styles.js.map +1 -1
  430. package/components/Tooltip/Tooltip.d.ts +1 -0
  431. package/components/Tooltip/Tooltip.js +12 -12
  432. package/components/Tooltip/Tooltip.js.map +1 -1
  433. package/components/Tooltip/Tooltip.styles.d.ts +10 -11
  434. package/components/Tooltip/Tooltip.styles.js +34 -12
  435. package/components/Tooltip/Tooltip.styles.js.map +1 -1
  436. package/index.d.ts +0 -4
  437. package/index.js +0 -12
  438. package/index.js.map +1 -1
  439. package/internal/ClearCrossIcon/ClearCrossIcon.js +9 -7
  440. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  441. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +12 -11
  442. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +35 -12
  443. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  444. package/internal/CloseButtonIcon/CloseButtonIcon.d.ts +11 -21
  445. package/internal/CloseButtonIcon/CloseButtonIcon.js +13 -28
  446. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  447. package/internal/CloseButtonIcon/CloseButtonIcon.styles.d.ts +8 -8
  448. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js +23 -9
  449. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  450. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -5
  451. package/internal/CommonWrapper/CommonWrapper.js +6 -107
  452. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  453. package/internal/CustomComboBox/ComboBoxView.d.ts +2 -1
  454. package/internal/CustomComboBox/ComboBoxView.js +7 -8
  455. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  456. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +3 -5
  457. package/internal/CustomComboBox/CustomComboBox.styles.js +16 -6
  458. package/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  459. package/internal/DateSelect/DateSelect.d.ts +1 -0
  460. package/internal/DateSelect/DateSelect.js +2 -2
  461. package/internal/DateSelect/DateSelect.js.map +1 -1
  462. package/internal/DateSelect/DateSelect.styles.d.ts +5 -5
  463. package/internal/DateSelect/DateSelect.styles.js +19 -7
  464. package/internal/DateSelect/DateSelect.styles.js.map +1 -1
  465. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -15
  466. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +15 -36
  467. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  468. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  469. package/internal/InputLikeText/InputLikeText.js +17 -21
  470. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  471. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  472. package/internal/InputLikeText/InputLikeText.styles.js +28 -8
  473. package/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  474. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +1 -0
  475. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +14 -14
  476. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  477. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +2 -3
  478. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +13 -4
  479. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -1
  480. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +2 -3
  481. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js +13 -4
  482. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  483. package/internal/Menu/Menu.d.ts +1 -0
  484. package/internal/Menu/Menu.js +9 -9
  485. package/internal/Menu/Menu.js.map +1 -1
  486. package/internal/Menu/Menu.styles.d.ts +15 -15
  487. package/internal/Menu/Menu.styles.js +49 -16
  488. package/internal/Menu/Menu.styles.js.map +1 -1
  489. package/internal/MenuMessage/MenuMessage.js +10 -10
  490. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  491. package/internal/MenuMessage/MenuMessage.styles.d.ts +10 -10
  492. package/internal/MenuMessage/MenuMessage.styles.js +39 -11
  493. package/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
  494. package/internal/MobilePopup/MobilePopup.d.ts +1 -0
  495. package/internal/MobilePopup/MobilePopup.js +11 -23
  496. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  497. package/internal/MobilePopup/MobilePopup.styles.d.ts +16 -16
  498. package/internal/MobilePopup/MobilePopup.styles.js +55 -17
  499. package/internal/MobilePopup/MobilePopup.styles.js.map +1 -1
  500. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +1 -0
  501. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +5 -5
  502. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  503. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +6 -6
  504. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +23 -7
  505. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -1
  506. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
  507. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +10 -10
  508. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  509. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +13 -13
  510. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +45 -14
  511. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -1
  512. package/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
  513. package/internal/NativeDateInput/NativeDateInput.js +1 -1
  514. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  515. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +2 -3
  516. package/internal/NativeDateInput/NativeDateInput.styles.js +13 -4
  517. package/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -1
  518. package/internal/NativeTimeInput/NativeTimeInput.js +2 -1
  519. package/internal/NativeTimeInput/NativeTimeInput.js.map +1 -1
  520. package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +2 -3
  521. package/internal/NativeTimeInput/NativeTimeInput.styles.js +13 -4
  522. package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +1 -1
  523. package/internal/Popup/Popup.d.ts +1 -0
  524. package/internal/Popup/Popup.js +5 -5
  525. package/internal/Popup/Popup.js.map +1 -1
  526. package/internal/Popup/Popup.styles.d.ts +21 -21
  527. package/internal/Popup/Popup.styles.js +67 -22
  528. package/internal/Popup/Popup.styles.js.map +1 -1
  529. package/internal/Popup/PopupPin.d.ts +1 -0
  530. package/internal/Popup/PopupPin.js +1 -1
  531. package/internal/Popup/PopupPin.js.map +1 -1
  532. package/internal/Popup/PopupPin.styles.d.ts +8 -9
  533. package/internal/Popup/PopupPin.styles.js +31 -10
  534. package/internal/Popup/PopupPin.styles.js.map +1 -1
  535. package/internal/PopupMenu/PopupMenu.d.ts +1 -0
  536. package/internal/PopupMenu/PopupMenu.js +1 -1
  537. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  538. package/internal/PopupMenu/PopupMenu.styles.d.ts +3 -4
  539. package/internal/PopupMenu/PopupMenu.styles.js +16 -5
  540. package/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  541. package/internal/RenderContainer/RenderInnerContainer.js +2 -4
  542. package/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  543. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  544. package/internal/ResizeDetector/ResizeDetector.js +1 -1
  545. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  546. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +6 -7
  547. package/internal/ResizeDetector/ResizeDetector.styles.js +25 -8
  548. package/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  549. package/internal/SpinnerIcon/SpinnerIcon.js +2 -2
  550. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  551. package/internal/SpinnerIcon/SpinnerIcon.styles.d.ts +5 -6
  552. package/internal/SpinnerIcon/SpinnerIcon.styles.js +22 -7
  553. package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +1 -1
  554. package/internal/TextWidthHelper/TextWidthHelper.d.ts +1 -0
  555. package/internal/TextWidthHelper/TextWidthHelper.js +1 -1
  556. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  557. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +3 -4
  558. package/internal/TextWidthHelper/TextWidthHelper.styles.js +16 -5
  559. package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -1
  560. package/internal/TimeInput/TimeFragments.js +15 -19
  561. package/internal/TimeInput/TimeFragments.js.map +1 -1
  562. package/internal/TimeInput/TimeFragments.styles.d.ts +31 -19
  563. package/internal/TimeInput/TimeFragments.styles.js +76 -20
  564. package/internal/TimeInput/TimeFragments.styles.js.map +1 -1
  565. package/internal/TimeInput/TimeInput.js +4 -4
  566. package/internal/TimeInput/TimeInput.js.map +1 -1
  567. package/internal/TimeInput/TimeInput.styles.d.ts +6 -6
  568. package/internal/TimeInput/TimeInput.styles.js +22 -7
  569. package/internal/TimeInput/TimeInput.styles.js.map +1 -1
  570. package/internal/icons2022/BaseIcon.js +1 -8
  571. package/internal/icons2022/BaseIcon.js.map +1 -1
  572. package/internal/icons2022/BaseIcon.styles.d.ts +2 -5
  573. package/internal/icons2022/BaseIcon.styles.js +14 -6
  574. package/internal/icons2022/BaseIcon.styles.js.map +1 -1
  575. package/internal/icons2022/LoadingIcon.js +5 -3
  576. package/internal/icons2022/LoadingIcon.js.map +1 -1
  577. package/internal/themes/BasicTheme.d.ts +40 -10
  578. package/internal/themes/BasicTheme.js +78 -17
  579. package/internal/themes/BasicTheme.js.map +1 -1
  580. package/internal/themes/DarkTheme6_0.js +361 -62
  581. package/internal/themes/DarkTheme6_0.js.map +1 -1
  582. package/internal/themes/DarkTheme6_1.js +3 -11
  583. package/internal/themes/DarkTheme6_1.js.map +1 -1
  584. package/internal/themes/DarkTheme6_4.js +1 -11
  585. package/internal/themes/DarkTheme6_4.js.map +1 -1
  586. package/internal/themes/DarkTheme6_5.d.ts +1 -0
  587. package/internal/themes/DarkTheme6_5.js +87 -0
  588. package/internal/themes/DarkTheme6_5.js.map +1 -0
  589. package/internal/themes/LightTheme6_5.d.ts +1 -0
  590. package/internal/themes/LightTheme6_5.js +87 -0
  591. package/internal/themes/LightTheme6_5.js.map +1 -0
  592. package/lib/Upgrades.d.ts +2 -12
  593. package/lib/Upgrades.js +16 -12
  594. package/lib/Upgrades.js.map +1 -1
  595. package/lib/chars.d.ts +8 -0
  596. package/lib/chars.js +9 -0
  597. package/lib/chars.js.map +1 -0
  598. package/lib/globalObject.js +1 -4
  599. package/lib/globalObject.js.map +1 -1
  600. package/lib/renderEnvironment/RenderEnvironmentContext.d.ts +6 -38
  601. package/lib/renderEnvironment/RenderEnvironmentContext.js +19 -21
  602. package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
  603. package/lib/renderEnvironment/RenderEnvironmentDecorator.js +3 -6
  604. package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
  605. package/lib/styles/Mixins.d.ts +2 -0
  606. package/lib/styles/Mixins.js +7 -0
  607. package/lib/styles/Mixins.js.map +1 -0
  608. package/lib/styles/UiFont.d.ts +3 -0
  609. package/lib/styles/UiFont.js +18 -0
  610. package/lib/styles/UiFont.js.map +1 -0
  611. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  612. package/lib/styles/getLabGrotesqueBaselineCompensation.js +10 -0
  613. package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
  614. package/lib/theming/AnimationKeyframes.d.ts +7 -0
  615. package/lib/theming/AnimationKeyframes.js +24 -0
  616. package/lib/theming/AnimationKeyframes.js.map +1 -0
  617. package/lib/theming/Emotion.d.ts +9 -43
  618. package/lib/theming/Emotion.js +35 -70
  619. package/lib/theming/Emotion.js.map +1 -1
  620. package/lib/theming/ThemeVersions.d.ts +1 -1
  621. package/lib/theming/ThemeVersions.js.map +1 -1
  622. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  623. package/lib/theming/themes/DarkTheme.js +3 -1
  624. package/lib/theming/themes/DarkTheme.js.map +1 -1
  625. package/lib/theming/themes/LightTheme.d.ts +1 -0
  626. package/lib/theming/themes/LightTheme.js +3 -1
  627. package/lib/theming/themes/LightTheme.js.map +1 -1
  628. package/lib/theming/useTheme.d.ts +2 -0
  629. package/lib/theming/useTheme.js +6 -0
  630. package/lib/theming/useTheme.js.map +1 -0
  631. package/package.json +5 -46
  632. package/typings/stylis-plugin-extra-scope.d.ts +3 -0
  633. package/components/FileUploader/FileUploaderFileTypeIcon.styles.d.ts +0 -14
  634. package/components/FileUploader/FileUploaderFileTypeIcon.styles.js +0 -16
  635. package/components/FileUploader/FileUploaderFileTypeIcon.styles.js.map +0 -1
  636. package/components/FxInput/FxInput.styles.d.ts +0 -4
  637. package/components/FxInput/FxInput.styles.js +0 -6
  638. package/components/FxInput/FxInput.styles.js.map +0 -1
  639. package/components/FxInput/FxInputRestoreBtn.styles.d.ts +0 -6
  640. package/components/FxInput/FxInputRestoreBtn.styles.js +0 -8
  641. package/components/FxInput/FxInputRestoreBtn.styles.js.map +0 -1
  642. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.styles.d.ts +0 -5
  643. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.styles.js +0 -7
  644. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.styles.js.map +0 -1
  645. package/lib/classNames.generated.d.ts +0 -1235
  646. package/lib/classNames.generated.js +0 -1233
  647. package/lib/classNames.generated.js.map +0 -1
  648. package/lib/styles/baselineCompensation.d.ts +0 -63
  649. package/lib/styles/baselineCompensation.js +0 -122
  650. package/lib/styles/baselineCompensation.js.map +0 -1
  651. package/lib/theming/declaredTheme.d.ts +0 -43
  652. package/lib/theming/declaredTheme.js +0 -56
  653. package/lib/theming/declaredTheme.js.map +0 -1
  654. package/lib/theming/hashString.d.ts +0 -19
  655. package/lib/theming/hashString.js +0 -52
  656. package/lib/theming/hashString.js.map +0 -1
  657. package/lib/theming/staticStyles.d.ts +0 -17
  658. package/lib/theming/staticStyles.js +0 -8
  659. package/lib/theming/staticStyles.js.map +0 -1
  660. package/lib/theming/staticThemeDelta.d.ts +0 -17
  661. package/lib/theming/staticThemeDelta.js +0 -37
  662. package/lib/theming/staticThemeDelta.js.map +0 -1
  663. package/lib/theming/staticThemeVars.d.ts +0 -21
  664. package/lib/theming/staticThemeVars.js +0 -35
  665. package/lib/theming/staticThemeVars.js.map +0 -1
  666. package/lib/theming/themeCssVarsClass.d.ts +0 -89
  667. package/lib/theming/themeCssVarsClass.js +0 -253
  668. package/lib/theming/themeCssVarsClass.js.map +0 -1
  669. package/lib/theming/themeCssVarsDelta.d.ts +0 -13
  670. package/lib/theming/themeCssVarsDelta.js +0 -67
  671. package/lib/theming/themeCssVarsDelta.js.map +0 -1
  672. package/lib/theming/themeToCssVars.d.ts +0 -47
  673. package/lib/theming/themeToCssVars.js +0 -861
  674. package/lib/theming/themeToCssVars.js.map +0 -1
  675. package/react-ui-tailwind.css +0 -544
  676. package/react-ui-themes.css +0 -8628
  677. package/react-ui-token-map.json +0 -9029
  678. package/react-ui.css +0 -7776
  679. package/react-ui.layer.css +0 -7778
  680. package/themes/dark-6-0.css +0 -1439
  681. package/themes/dark-6-0.scoped.css +0 -1439
  682. package/themes/dark-6-1.css +0 -1439
  683. package/themes/dark-6-1.scoped.css +0 -1439
  684. package/themes/dark.css +0 -1439
  685. package/themes/dark.scoped.css +0 -1439
  686. package/themes/light-6-0.css +0 -1437
  687. package/themes/light-6-0.scoped.css +0 -1437
  688. package/themes/light-6-1.css +0 -1437
  689. package/themes/light-6-1.scoped.css +0 -1437
  690. package/themes/light.css +0 -1437
  691. package/themes/light.scoped.css +0 -1437
@@ -51,6 +51,7 @@ import { locale } from '../../lib/locale/decorators.js';
51
51
  import { withRenderEnvironment } from '../../lib/renderEnvironment/RenderEnvironmentDecorator.js';
52
52
  import { rootNode } from '../../lib/rootNode/index.js';
53
53
  import { withSize } from '../../lib/size/SizeDecorator.js';
54
+ import { ThemeContext } from '../../lib/theming/ThemeContext.js';
54
55
  import { isNonNullable } from '../../lib/utils.js';
55
56
  import { Input } from '../Input/index.js';
56
57
  import { PasswordInputLocaleHelper } from './locale/index.js';
@@ -141,7 +142,7 @@ var PasswordInput = /** @class */ (function (_super) {
141
142
  var capsLockEnabled = _this.state.capsLockEnabled;
142
143
  return (React.createElement("span", { className: _this.styles.iconWrapper() },
143
144
  capsLockEnabled && (React.createElement("span", { className: _this.styles.capsLockDetector(), "data-tid": PasswordInputDataTids.capsLockDetector })),
144
- React.createElement("span", { className: _this.cx(_this.styles.toggleVisibility(), _this.getEyeWrapperClassname()) }, !_this.props.disabled && (React.createElement("button", { type: "button", "aria-label": _this.state.visible ? _this.locale.eyeClosedAriaLabel : _this.locale.eyeOpenedAriaLabel, onClick: _this.handleToggleVisibility, className: _this.styles.icon(), "data-tid": PasswordInputDataTids.eyeIcon },
145
+ React.createElement("span", { className: _this.cx(_this.styles.toggleVisibility(_this.theme), _this.getEyeWrapperClassname()) }, !_this.props.disabled && (React.createElement("button", { type: "button", "aria-label": _this.state.visible ? _this.locale.eyeClosedAriaLabel : _this.locale.eyeOpenedAriaLabel, onClick: _this.handleToggleVisibility, className: _this.styles.icon(), "data-tid": PasswordInputDataTids.eyeIcon },
145
146
  React.createElement(PasswordInputIcon, { size: _this.size, visible: _this.state.visible }))))));
146
147
  };
147
148
  _this.refInput = function (element) {
@@ -170,18 +171,22 @@ var PasswordInput = /** @class */ (function (_super) {
170
171
  return state;
171
172
  };
172
173
  PasswordInput.prototype.render = function () {
173
- this.styles = getStyles();
174
- return (React.createElement(CommonWrapper, __assign({ rootNodeRef: this.setRootNode }, this.getProps()), this.renderMain));
174
+ var _this = this;
175
+ this.styles = getStyles(this.emotion);
176
+ return (React.createElement(ThemeContext.Consumer, null, function (theme) {
177
+ _this.theme = theme;
178
+ return (React.createElement(CommonWrapper, __assign({ rootNodeRef: _this.setRootNode }, _this.getProps()), _this.renderMain));
179
+ }));
175
180
  };
176
181
  PasswordInput.prototype.getEyeWrapperClassname = function () {
177
182
  switch (this.size) {
178
183
  case 'large':
179
- return this.styles.eyeWrapperLarge();
184
+ return this.styles.eyeWrapperLarge(this.theme);
180
185
  case 'medium':
181
- return this.styles.eyeWrapperMedium();
186
+ return this.styles.eyeWrapperMedium(this.theme);
182
187
  case 'small':
183
188
  default:
184
- return this.styles.eyeWrapperSmall();
189
+ return this.styles.eyeWrapperSmall(this.theme);
185
190
  }
186
191
  };
187
192
  PasswordInput.__KONTUR_REACT_UI__ = 'PasswordInput';
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordInput.js","sourceRoot":"","sources":["PasswordInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes, JSX } from 'react';\nimport React from 'react';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers.js';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/RenderEnvironmentDecorator.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 { SizeProp } from '../../lib/types/props.js';\nimport { isNonNullable } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { Input } from '../Input/index.js';\nimport type { InputProps } from '../Input/index.js';\nimport type { PasswordInputLocale } from './locale/index.js';\nimport { PasswordInputLocaleHelper } from './locale/index.js';\nimport { getStyles } from './PasswordInput.styles.js';\nimport { PasswordInputIcon } from './PasswordInputIcon.js';\n\nexport interface PasswordInputProps\n extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Omit<InputProps, 'showClearIcon'> {\n /** Визуально показывает, что активен CapsLock. */\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n focused: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\n/**\n * Однострочное поле для ввода пароля, в котором символы заменяются на точки.\n */\n@withRenderEnvironment\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\n@withSize\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n public static displayName = 'PasswordInput';\n\n public state: PasswordInputState = {\n visible: false,\n focused: false,\n capsLockEnabled: false,\n };\n private size!: SizeProp;\n\n private cx!: ClassNames;\n private styles!: ReturnType<typeof getStyles>;\n\n private input: Nullable<Input>;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n private getProps = createPropsGetter({});\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render(): JSX.Element {\n this.styles = getStyles();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = (): void => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = (): void => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.focusOnInput);\n };\n\n private focusOnInput = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleFocusOutside = () => {\n this.hideSymbols();\n\n if (this.state.focused) {\n this.setState({ focused: false });\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.size) {\n case 'large':\n return this.styles.eyeWrapperLarge();\n case 'medium':\n return this.styles.eyeWrapperMedium();\n case 'small':\n default:\n return this.styles.eyeWrapperSmall();\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={this.styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={this.styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={this.cx(this.styles.toggleVisibility(), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <button\n type=\"button\"\n aria-label={this.state.visible ? this.locale.eyeClosedAriaLabel : this.locale.eyeOpenedAriaLabel}\n onClick={this.handleToggleVisibility}\n className={this.styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon size={this.size} visible={this.state.visible} />\n </button>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n return (\n <RenderLayer\n active={this.state.focused}\n onFocusOutside={this.handleFocusOutside}\n onClickOutside={this.handleFocusOutside}\n >\n <div data-tid={PasswordInputDataTids.root} className={this.styles.root()}>\n <Input\n ref={this.refInput}\n type={this.state.visible ? 'text' : 'password'}\n {...rest}\n onKeyDown={this.handleKeydown}\n onKeyPress={this.handleKeyPress}\n rightIcon={this.renderEye()}\n onFocus={this.handleFocus}\n />\n </div>\n </RenderLayer>\n );\n };\n}\n"]}
1
+ {"version":3,"file":"PasswordInput.js","sourceRoot":"","sources":["PasswordInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, JSX } from 'react';\nimport React from 'react';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers.js';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/RenderEnvironmentDecorator.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 } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isNonNullable } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { Input } from '../Input/index.js';\nimport type { InputProps } from '../Input/index.js';\nimport type { PasswordInputLocale } from './locale/index.js';\nimport { PasswordInputLocaleHelper } from './locale/index.js';\nimport { getStyles } from './PasswordInput.styles.js';\nimport { PasswordInputIcon } from './PasswordInputIcon.js';\n\nexport interface PasswordInputProps\n extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Omit<InputProps, 'showClearIcon'> {\n /** Визуально показывает, что активен CapsLock. */\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n focused: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\n/**\n * Однострочное поле для ввода пароля, в котором символы заменяются на точки.\n */\n@withRenderEnvironment\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\n@withSize\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n public static displayName = 'PasswordInput';\n\n public state: PasswordInputState = {\n visible: false,\n focused: false,\n capsLockEnabled: false,\n };\n private size!: SizeProp;\n\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n\n private input: Nullable<Input>;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n private getProps = createPropsGetter({});\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = (): void => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = (): void => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.focusOnInput);\n };\n\n private focusOnInput = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleFocusOutside = () => {\n this.hideSymbols();\n\n if (this.state.focused) {\n this.setState({ focused: false });\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.size) {\n case 'large':\n return this.styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return this.styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return this.styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={this.styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={this.styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={this.cx(this.styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <button\n type=\"button\"\n aria-label={this.state.visible ? this.locale.eyeClosedAriaLabel : this.locale.eyeOpenedAriaLabel}\n onClick={this.handleToggleVisibility}\n className={this.styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon size={this.size} visible={this.state.visible} />\n </button>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n return (\n <RenderLayer\n active={this.state.focused}\n onFocusOutside={this.handleFocusOutside}\n onClickOutside={this.handleFocusOutside}\n >\n <div data-tid={PasswordInputDataTids.root} className={this.styles.root()}>\n <Input\n ref={this.refInput}\n type={this.state.visible ? 'text' : 'password'}\n {...rest}\n onKeyDown={this.handleKeydown}\n onKeyPress={this.handleKeyPress}\n rightIcon={this.renderEye()}\n onFocus={this.handleFocus}\n />\n </div>\n </RenderLayer>\n );\n };\n}\n"]}
@@ -1,11 +1,11 @@
1
- /** Правила — в `PasswordInput.css`; здесь только имена классов. */
2
- export declare const getStyles: (ignored?: unknown) => import("../../lib/theming/staticStyles.js").StaticStyles<{
3
- root: string;
4
- toggleVisibility: string;
5
- capsLockDetector: string;
6
- iconWrapper: string;
7
- eyeWrapperSmall: string;
8
- eyeWrapperMedium: string;
9
- eyeWrapperLarge: string;
10
- icon: string;
1
+ import type { Theme } from '../../lib/theming/Theme.js';
2
+ export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
3
+ root(): string;
4
+ toggleVisibility(t: Theme): string;
5
+ capsLockDetector(): string;
6
+ iconWrapper(): string;
7
+ eyeWrapperSmall(t: Theme): string;
8
+ eyeWrapperMedium(t: Theme): string;
9
+ eyeWrapperLarge(t: Theme): string;
10
+ icon(): string;
11
11
  }>;
@@ -1,13 +1,36 @@
1
- import { staticStyles } from '../../lib/theming/staticStyles.js';
2
- /** Правила — в `PasswordInput.css`; здесь только имена классов. */
3
- export var getStyles = staticStyles({
4
- root: 'react-ui-PasswordInput-root',
5
- toggleVisibility: 'react-ui-PasswordInput-toggleVisibility',
6
- capsLockDetector: 'react-ui-PasswordInput-capsLockDetector',
7
- iconWrapper: 'react-ui-PasswordInput-iconWrapper',
8
- eyeWrapperSmall: 'react-ui-PasswordInput-eyeWrapperSmall',
9
- eyeWrapperMedium: 'react-ui-PasswordInput-eyeWrapperMedium',
10
- eyeWrapperLarge: 'react-ui-PasswordInput-eyeWrapperLarge',
11
- icon: 'react-ui-PasswordInput-icon',
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import { memoizeGetStyles } from '../../lib/theming/Emotion.js';
6
+ export var getStyles = memoizeGetStyles(function (_a) {
7
+ var css = _a.css;
8
+ return ({
9
+ root: function () {
10
+ return css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n display: inline-block;\n line-height: normal;\n width: 100%;\n\n input::-ms-clear,\n input::-ms-reveal {\n display: none;\n }\n "], ["\n position: relative;\n display: inline-block;\n line-height: normal;\n width: 100%;\n\n input::-ms-clear,\n input::-ms-reveal {\n display: none;\n }\n "])));
11
+ },
12
+ toggleVisibility: function (t) {
13
+ return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n color: ", ";\n cursor: pointer;\n opacity: ", ";\n user-select: none;\n\n &:hover {\n color: ", ";\n opacity: ", ";\n }\n "], ["\n color: ", ";\n cursor: pointer;\n opacity: ", ";\n user-select: none;\n\n &:hover {\n color: ", ";\n opacity: ", ";\n }\n "])), t.passwordInputVisibilityIconColor, t.passwordInputVisibilityIconOpacity, t.passwordInputVisibilityIconHoverColor, t.passwordInputVisibilityIconHoverOpacity);
14
+ },
15
+ capsLockDetector: function () {
16
+ return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: inline-block;\n font-size: 9px;\n margin-right: 8px;\n color: #fff;\n cursor: default;\n background: #999;\n padding: 2px 5px;\n border-radius: 3px;\n z-index: 9;\n box-sizing: border-box;\n line-height: normal;\n\n &::before {\n content: 'CapsLock';\n }\n "], ["\n display: inline-block;\n font-size: 9px;\n margin-right: 8px;\n color: #fff;\n cursor: default;\n background: #999;\n padding: 2px 5px;\n border-radius: 3px;\n z-index: 9;\n box-sizing: border-box;\n line-height: normal;\n\n &::before {\n content: 'CapsLock';\n }\n "])));
17
+ },
18
+ iconWrapper: function () {
19
+ return css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n "], ["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n "])));
20
+ },
21
+ eyeWrapperSmall: function (t) {
22
+ return css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n min-width: ", ";\n "], ["\n min-width: ", ";\n "])), t.inputIconSizeSmall);
23
+ },
24
+ eyeWrapperMedium: function (t) {
25
+ return css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n min-width: ", ";\n "], ["\n min-width: ", ";\n "])), t.inputIconSizeMedium);
26
+ },
27
+ eyeWrapperLarge: function (t) {
28
+ return css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n min-width: ", ";\n "], ["\n min-width: ", ";\n "])), t.inputIconSizeLarge);
29
+ },
30
+ icon: function () {
31
+ return css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n padding: 0;\n border: none;\n font: inherit;\n color: inherit;\n background-color: transparent;\n cursor: pointer;\n "], ["\n padding: 0;\n border: none;\n font: inherit;\n color: inherit;\n background-color: transparent;\n cursor: pointer;\n "])));
32
+ },
33
+ });
12
34
  });
35
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
13
36
  //# sourceMappingURL=PasswordInput.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordInput.styles.js","sourceRoot":"","sources":["PasswordInput.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,mEAAmE;AACnE,MAAM,CAAC,IAAM,SAAS,GAAG,YAAY,CAAC;IACpC,IAAI,EAAE,6BAA6B;IACnC,gBAAgB,EAAE,yCAAyC;IAC3D,gBAAgB,EAAE,yCAAyC;IAC3D,WAAW,EAAE,oCAAoC;IACjD,eAAe,EAAE,wCAAwC;IACzD,gBAAgB,EAAE,yCAAyC;IAC3D,eAAe,EAAE,wCAAwC;IACzD,IAAI,EAAE,6BAA6B;CACpC,CAAC,CAAC","sourcesContent":["import { staticStyles } from '../../lib/theming/staticStyles.js';\n\n/** Правила — в `PasswordInput.css`; здесь только имена классов. */\nexport const getStyles = staticStyles({\n root: 'react-ui-PasswordInput-root',\n toggleVisibility: 'react-ui-PasswordInput-toggleVisibility',\n capsLockDetector: 'react-ui-PasswordInput-capsLockDetector',\n iconWrapper: 'react-ui-PasswordInput-iconWrapper',\n eyeWrapperSmall: 'react-ui-PasswordInput-eyeWrapperSmall',\n eyeWrapperMedium: 'react-ui-PasswordInput-eyeWrapperMedium',\n eyeWrapperLarge: 'react-ui-PasswordInput-eyeWrapperLarge',\n icon: 'react-ui-PasswordInput-icon',\n});\n"]}
1
+ {"version":3,"file":"PasswordInput.styles.js","sourceRoot":"","sources":["PasswordInput.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI;YACF,OAAO,GAAG,2QAAA,wMAUT,KAAC;QACJ,CAAC;QACD,gBAAgB,YAAC,CAAQ;YACvB,OAAO,GAAG,iPAAA,iBACC,EAAkC,4CAEhC,EAAoC,iEAIpC,EAAuC,sBACrC,EAAyC,kBAEvD,KATU,CAAC,CAAC,gCAAgC,EAEhC,CAAC,CAAC,kCAAkC,EAIpC,CAAC,CAAC,qCAAqC,EACrC,CAAC,CAAC,uCAAuC,EAEtD;QACJ,CAAC;QACD,gBAAgB;YACd,OAAO,GAAG,6ZAAA,0VAgBT,KAAC;QACJ,CAAC;QACD,WAAW;YACT,OAAO,GAAG,+JAAA,4FAIT,KAAC;QACJ,CAAC;QAED,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,mGAAA,qBACK,EAAoB,SAClC,KADc,CAAC,CAAC,kBAAkB,EACjC;QACJ,CAAC;QAED,gBAAgB,YAAC,CAAQ;YACvB,OAAO,GAAG,mGAAA,qBACK,EAAqB,SACnC,KADc,CAAC,CAAC,mBAAmB,EAClC;QACJ,CAAC;QAED,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,mGAAA,qBACK,EAAoB,SAClC,KADc,CAAC,CAAC,kBAAkB,EACjC;QACJ,CAAC;QACD,IAAI;YACF,OAAO,GAAG,8NAAA,2JAOT,KAAC;QACJ,CAAC;KACF,CAAC;AAjF8D,CAiF9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n position: relative;\n display: inline-block;\n line-height: normal;\n width: 100%;\n\n input::-ms-clear,\n input::-ms-reveal {\n display: none;\n }\n `;\n },\n toggleVisibility(t: Theme) {\n return css`\n color: ${t.passwordInputVisibilityIconColor};\n cursor: pointer;\n opacity: ${t.passwordInputVisibilityIconOpacity};\n user-select: none;\n\n &:hover {\n color: ${t.passwordInputVisibilityIconHoverColor};\n opacity: ${t.passwordInputVisibilityIconHoverOpacity};\n }\n `;\n },\n capsLockDetector() {\n return css`\n display: inline-block;\n font-size: 9px;\n margin-right: 8px;\n color: #fff;\n cursor: default;\n background: #999;\n padding: 2px 5px;\n border-radius: 3px;\n z-index: 9;\n box-sizing: border-box;\n line-height: normal;\n\n &::before {\n content: 'CapsLock';\n }\n `;\n },\n iconWrapper() {\n return css`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n `;\n },\n\n eyeWrapperSmall(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeSmall};\n `;\n },\n\n eyeWrapperMedium(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeMedium};\n `;\n },\n\n eyeWrapperLarge(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeLarge};\n `;\n },\n icon() {\n return css`\n padding: 0;\n border: none;\n font: inherit;\n color: inherit;\n background-color: transparent;\n cursor: pointer;\n `;\n },\n}));\n"]}
@@ -57,20 +57,13 @@ export declare class Radio<T> extends React.Component<RadioProps<T>, RadioState>
57
57
  getRootNode: TGetRootNode;
58
58
  private setRootNode;
59
59
  private globalObject;
60
+ private emotion;
60
61
  private cx;
61
62
  private styles;
62
63
  private theme;
63
64
  private keyListener;
64
65
  private getRootSizeClassName;
65
66
  private getCircleSizeClassName;
66
- private getRadioFontSize;
67
- /**
68
- * Ветвление компенсации базовой линии немонотонно (на 17px компенсации нет) и
69
- * в `calc()` не выражается, поэтому размер шрифта читается из темы здесь, а в
70
- * разметку уходит один из готовых статических классов. Класс идёт в `cx`
71
- * после размерного и перебивает `margin-top` его шортката `margin`.
72
- */
73
- private getCircleBaselineCompensationClassName;
74
67
  private getCheckedSizeClassName;
75
68
  componentDidMount(): void;
76
69
  render(): React.JSX.Element;
@@ -50,7 +50,6 @@ import { KeyListener } from '../../lib/events/keyListener.js';
50
50
  import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
51
51
  import { rootNode } from '../../lib/rootNode/index.js';
52
52
  import { withSize } from '../../lib/size/SizeDecorator.js';
53
- import { getBaselineCompensationVariant } from '../../lib/styles/baselineCompensation.js';
54
53
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
55
54
  import { RadioGroupContext } from '../RadioGroup/RadioGroupContext.js';
56
55
  import { getStyles, globalClasses } from './Radio.styles.js';
@@ -80,17 +79,17 @@ var Radio = /** @class */ (function (_super) {
80
79
  var isChecked = isCheckedByGroup || !!_this.props.checked;
81
80
  var radioProps = {
82
81
  className: _this.cx((_a = {},
83
- _a[_this.styles.circle()] = true,
82
+ _a[_this.styles.circle(_this.theme)] = true,
84
83
  _a[_this.getCircleSizeClassName()] = true,
85
- _a[_this.styles.checked()] = isChecked,
84
+ _a[_this.styles.checked(_this.theme)] = isChecked,
86
85
  _a[_this.getCheckedSizeClassName()] = isChecked,
87
- _a[_this.styles.focus()] = isFocused,
88
- _a[_this.styles.error()] = error,
89
- _a[_this.styles.warning()] = warning,
90
- _a[_this.styles.disabled()] = disabled,
91
- _a[_this.styles.checkedDisabled()] = isChecked && disabled,
86
+ _a[_this.styles.focus(_this.theme)] = isFocused,
87
+ _a[_this.styles.error(_this.theme)] = error,
88
+ _a[_this.styles.warning(_this.theme)] = warning,
89
+ _a[_this.styles.disabled(_this.theme)] = disabled,
90
+ _a[_this.styles.checkedDisabled(_this.theme)] = isChecked && disabled,
92
91
  _a[globalClasses.circle] = true,
93
- _a), _this.getCircleBaselineCompensationClassName()),
92
+ _a)),
94
93
  };
95
94
  var value;
96
95
  if (typeof _this.props.value === 'string' || typeof _this.props.value === 'number') {
@@ -104,8 +103,8 @@ var Radio = /** @class */ (function (_super) {
104
103
  }
105
104
  : {}));
106
105
  var labelProps = {
107
- className: _this.cx(_this.styles.root(), _this.getRootSizeClassName(), (_b = {},
108
- _b[_this.styles.rootChecked()] = isChecked,
106
+ className: _this.cx(_this.styles.root(_this.theme), _this.getRootSizeClassName(), (_b = {},
107
+ _b[_this.styles.rootChecked(_this.theme)] = isChecked,
109
108
  _b)),
110
109
  onMouseOver: _this.handleMouseOver,
111
110
  onMouseEnter: _this.handleMouseEnter,
@@ -117,7 +116,7 @@ var Radio = /** @class */ (function (_super) {
117
116
  React.createElement("input", __assign({}, inputProps))),
118
117
  React.createElement("span", __assign({}, radioProps),
119
118
  React.createElement("span", { className: _this.styles.placeholder() })),
120
- _this.props.children && (React.createElement("div", { className: _this.styles.captionWrapper() },
119
+ _this.props.children && (React.createElement("div", { className: _this.styles.captionWrapper(_this.theme) },
121
120
  _this.renderCaption(),
122
121
  _this.props.comment && _this.renderComment()))));
123
122
  };
@@ -169,64 +168,34 @@ var Radio = /** @class */ (function (_super) {
169
168
  Radio.prototype.getRootSizeClassName = function () {
170
169
  switch (this.size) {
171
170
  case 'large':
172
- return this.styles.rootLarge();
171
+ return this.styles.rootLarge(this.theme);
173
172
  case 'medium':
174
- return this.styles.rootMedium();
173
+ return this.styles.rootMedium(this.theme);
175
174
  case 'small':
176
175
  default:
177
- return this.styles.rootSmall();
176
+ return this.styles.rootSmall(this.theme);
178
177
  }
179
178
  };
180
179
  Radio.prototype.getCircleSizeClassName = function () {
181
180
  switch (this.size) {
182
181
  case 'large':
183
- return this.styles.circleLarge();
182
+ return this.styles.circleLarge(this.theme);
184
183
  case 'medium':
185
- return this.styles.circleMedium();
184
+ return this.styles.circleMedium(this.theme);
186
185
  case 'small':
187
186
  default:
188
- return this.styles.circleSmall();
189
- }
190
- };
191
- Radio.prototype.getRadioFontSize = function () {
192
- switch (this.size) {
193
- case 'large':
194
- return this.theme.radioFontSizeLarge;
195
- case 'medium':
196
- return this.theme.radioFontSizeMedium;
197
- case 'small':
198
- default:
199
- return this.theme.radioFontSizeSmall;
200
- }
201
- };
202
- /**
203
- * Ветвление компенсации базовой линии немонотонно (на 17px компенсации нет) и
204
- * в `calc()` не выражается, поэтому размер шрифта читается из темы здесь, а в
205
- * разметку уходит один из готовых статических классов. Класс идёт в `cx`
206
- * после размерного и перебивает `margin-top` его шортката `margin`.
207
- */
208
- Radio.prototype.getCircleBaselineCompensationClassName = function () {
209
- switch (getBaselineCompensationVariant(parseInt(this.getRadioFontSize()))) {
210
- case 'lessThan16':
211
- return this.styles.circleBaselineCompensationLessThan16();
212
- case 'exactly16':
213
- return this.styles.circleBaselineCompensationExactly16();
214
- case 'exactly18':
215
- return this.styles.circleBaselineCompensationExactly18();
216
- case 'none':
217
- default:
218
- return undefined;
187
+ return this.styles.circleSmall(this.theme);
219
188
  }
220
189
  };
221
190
  Radio.prototype.getCheckedSizeClassName = function () {
222
191
  switch (this.size) {
223
192
  case 'large':
224
- return this.styles.checkedLarge();
193
+ return this.styles.checkedLarge(this.theme);
225
194
  case 'medium':
226
- return this.styles.checkedMedium();
195
+ return this.styles.checkedMedium(this.theme);
227
196
  case 'small':
228
197
  default:
229
- return this.styles.checkedSmall();
198
+ return this.styles.checkedSmall(this.theme);
230
199
  }
231
200
  };
232
201
  Radio.prototype.componentDidMount = function () {
@@ -234,7 +203,7 @@ var Radio = /** @class */ (function (_super) {
234
203
  };
235
204
  Radio.prototype.render = function () {
236
205
  var _this = this;
237
- this.styles = getStyles();
206
+ this.styles = getStyles(this.emotion);
238
207
  return (React.createElement(ThemeContext.Consumer, null, function (theme) {
239
208
  _this.theme = theme;
240
209
  return (React.createElement(CommonWrapper, __assign({ rootNodeRef: _this.setRootNode }, _this.getProps()), _this.renderMain));
@@ -258,26 +227,26 @@ var Radio = /** @class */ (function (_super) {
258
227
  Radio.prototype.renderCaption = function () {
259
228
  var _a;
260
229
  var captionClassNames = this.cx((_a = {},
261
- _a[this.styles.caption()] = true,
262
- _a[this.styles.captionDisabled()] = !!(this.props.disabled || this.context.disabled),
230
+ _a[this.styles.caption(this.theme)] = true,
231
+ _a[this.styles.captionDisabled(this.theme)] = !!(this.props.disabled || this.context.disabled),
263
232
  _a));
264
233
  return React.createElement("div", { className: captionClassNames }, this.props.children);
265
234
  };
266
235
  Radio.prototype.getSubcaptionSizeClassName = function () {
267
236
  switch (this.size) {
268
237
  case 'large':
269
- return this.styles.subcaptionLarge();
238
+ return this.styles.subcaptionLarge(this.theme);
270
239
  case 'medium':
271
- return this.styles.subcaptionMedium();
240
+ return this.styles.subcaptionMedium(this.theme);
272
241
  case 'small':
273
242
  default:
274
- return this.styles.subcaptionSmall();
243
+ return this.styles.subcaptionSmall(this.theme);
275
244
  }
276
245
  };
277
246
  Radio.prototype.renderComment = function () {
278
247
  var _a;
279
- return (React.createElement("div", { className: this.cx(this.styles.subcaption(), this.getSubcaptionSizeClassName(), (_a = {},
280
- _a[this.styles.subcaptionDisabled()] = !!(this.props.disabled || this.context.disabled),
248
+ return (React.createElement("div", { className: this.cx(this.styles.subcaption(this.theme), this.getSubcaptionSizeClassName(), (_a = {},
249
+ _a[this.styles.subcaptionDisabled(this.theme)] = !!(this.props.disabled || this.context.disabled),
281
250
  _a)) }, this.props.comment));
282
251
  };
283
252
  var Radio_1;
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","sourceRoot":"","sources":["Radio.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel.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 { getBaselineCompensationVariant } from '../../lib/styles/baselineCompensation.js';\nimport type { ClassNames } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport { RadioGroupContext } from '../RadioGroup/RadioGroupContext.js';\nimport type { RadioGroupContextType } from '../RadioGroup/RadioGroupContext.js';\nimport { getStyles, globalClasses } from './Radio.styles.js';\n\nexport interface RadioProps<T>\n extends\n Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** Переводит контрол в состояние ошибки. */\n error?: boolean;\n\n /** Переводит контрол в состояние предупреждения. */\n warning?: boolean;\n\n /** Размер радиокнопки. */\n size?: SizeProp;\n\n /** Задаёт состояние фокуса. */\n focused?: boolean;\n\n /** Событие изменения `value`. */\n onValueChange?: (value: T) => void;\n\n /** HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Значение. */\n value: T;\n\n /** Задаёт второстепенный пояснительный текст под основным текстом радиокнопки. */\n comment?: React.ReactNode;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused'>>;\n\n/** Радиокнопка позволяет выбрать одно значение из нескольких. Подходит при небольшом количестве вариантов — 2–5.\n *\n * Для создания группы радиокнопок используйте специальный контейнер — компонент [RadioGroup](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_input-data-radiogroup--docs).\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n public static displayName = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n private size!: SizeProp;\n\n private inputEl = React.createRef<HTMLInputElement>();\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private globalObject!: GlobalObject;\n private cx!: ClassNames;\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private keyListener!: KeyListener;\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.rootLarge();\n case 'medium':\n return this.styles.rootMedium();\n case 'small':\n default:\n return this.styles.rootSmall();\n }\n }\n\n private getCircleSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.circleLarge();\n case 'medium':\n return this.styles.circleMedium();\n case 'small':\n default:\n return this.styles.circleSmall();\n }\n }\n\n private getRadioFontSize() {\n switch (this.size) {\n case 'large':\n return this.theme.radioFontSizeLarge;\n case 'medium':\n return this.theme.radioFontSizeMedium;\n case 'small':\n default:\n return this.theme.radioFontSizeSmall;\n }\n }\n\n /**\n * Ветвление компенсации базовой линии немонотонно (на 17px компенсации нет) и\n * в `calc()` не выражается, поэтому размер шрифта читается из темы здесь, а в\n * разметку уходит один из готовых статических классов. Класс идёт в `cx`\n * после размерного и перебивает `margin-top` его шортката `margin`.\n */\n private getCircleBaselineCompensationClassName() {\n switch (getBaselineCompensationVariant(parseInt(this.getRadioFontSize()))) {\n case 'lessThan16':\n return this.styles.circleBaselineCompensationLessThan16();\n case 'exactly16':\n return this.styles.circleBaselineCompensationExactly16();\n case 'exactly18':\n return this.styles.circleBaselineCompensationExactly18();\n case 'none':\n default:\n return undefined;\n }\n }\n\n private getCheckedSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.checkedLarge();\n case 'medium':\n return this.styles.checkedMedium();\n case 'small':\n default:\n return this.styles.checkedSmall();\n }\n }\n\n public componentDidMount() {\n this.keyListener = new KeyListener(this.globalObject);\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles();\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /** Программно устанавливает фокус на радиокнопку. Появляется фокусная обводка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus(): void {\n this.keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /** Программно снимает фокус с радиокнопки.\n * @public\n */\n public blur(): void {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>): React.JSX.Element => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n size,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const isFocused = this.getProps().focused || this.state.focusedByKeyboard;\n const isInRadioGroup = this._isInRadioGroup();\n const isCheckedByGroup = isInRadioGroup && this.props.value === this.context.activeItem;\n const isChecked = isCheckedByGroup || !!this.props.checked;\n\n const radioProps = {\n className: this.cx(\n {\n [this.styles.circle()]: true,\n [this.getCircleSizeClassName()]: true,\n [this.styles.checked()]: isChecked,\n [this.getCheckedSizeClassName()]: isChecked,\n [this.styles.focus()]: isFocused,\n [this.styles.error()]: error,\n [this.styles.warning()]: warning,\n [this.styles.disabled()]: disabled,\n [this.styles.checkedDisabled()]: isChecked && disabled,\n [globalClasses.circle]: true,\n },\n this.getCircleBaselineCompensationClassName(),\n ),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: this.styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n ...(isInRadioGroup\n ? {\n checked: isCheckedByGroup,\n name: this.context.name,\n suppressHydrationWarning: true,\n }\n : {}),\n };\n\n const labelProps = {\n className: this.cx(this.styles.root(), this.getRootSizeClassName(), {\n [this.styles.rootChecked()]: isChecked,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} />\n </FocusControlWrapper>\n <span {...radioProps}>\n <span className={this.styles.placeholder()} />\n </span>\n {this.props.children && (\n <div className={this.styles.captionWrapper()}>\n {this.renderCaption()}\n {this.props.comment && this.renderComment()}\n </div>\n )}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = this.cx({\n [this.styles.caption()]: true,\n [this.styles.captionDisabled()]: !!(this.props.disabled || this.context.disabled),\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private getSubcaptionSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.subcaptionLarge();\n case 'medium':\n return this.styles.subcaptionMedium();\n case 'small':\n default:\n return this.styles.subcaptionSmall();\n }\n }\n\n private renderComment() {\n return (\n <div\n className={this.cx(this.styles.subcaption(), this.getSubcaptionSizeClassName(), {\n [this.styles.subcaptionDisabled()]: !!(this.props.disabled || this.context.disabled),\n })}\n >\n {this.props.comment}\n </div>\n );\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n this.globalObject.requestAnimationFrame?.(() => {\n if (this.keyListener.isArrowPressed || this.keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByKeyboard: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n}\n"]}
1
+ {"version":3,"file":"Radio.js","sourceRoot":"","sources":["Radio.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel.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 } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport { RadioGroupContext } from '../RadioGroup/RadioGroupContext.js';\nimport type { RadioGroupContextType } from '../RadioGroup/RadioGroupContext.js';\nimport { getStyles, globalClasses } from './Radio.styles.js';\n\nexport interface RadioProps<T>\n extends\n Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** Переводит контрол в состояние ошибки. */\n error?: boolean;\n\n /** Переводит контрол в состояние предупреждения. */\n warning?: boolean;\n\n /** Размер радиокнопки. */\n size?: SizeProp;\n\n /** Задаёт состояние фокуса. */\n focused?: boolean;\n\n /** Событие изменения `value`. */\n onValueChange?: (value: T) => void;\n\n /** HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Значение. */\n value: T;\n\n /** Задаёт второстепенный пояснительный текст под основным текстом радиокнопки. */\n comment?: React.ReactNode;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused'>>;\n\n/** Радиокнопка позволяет выбрать одно значение из нескольких. Подходит при небольшом количестве вариантов — 2–5.\n *\n * Для создания группы радиокнопок используйте специальный контейнер — компонент [RadioGroup](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_input-data-radiogroup--docs).\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n public static displayName = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n private size!: SizeProp;\n\n private inputEl = React.createRef<HTMLInputElement>();\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private keyListener!: KeyListener;\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.rootLarge(this.theme);\n case 'medium':\n return this.styles.rootMedium(this.theme);\n case 'small':\n default:\n return this.styles.rootSmall(this.theme);\n }\n }\n\n private getCircleSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.circleLarge(this.theme);\n case 'medium':\n return this.styles.circleMedium(this.theme);\n case 'small':\n default:\n return this.styles.circleSmall(this.theme);\n }\n }\n\n private getCheckedSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.checkedLarge(this.theme);\n case 'medium':\n return this.styles.checkedMedium(this.theme);\n case 'small':\n default:\n return this.styles.checkedSmall(this.theme);\n }\n }\n\n public componentDidMount() {\n this.keyListener = new KeyListener(this.globalObject);\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /** Программно устанавливает фокус на радиокнопку. Появляется фокусная обводка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus(): void {\n this.keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /** Программно снимает фокус с радиокнопки.\n * @public\n */\n public blur(): void {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>): React.JSX.Element => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n size,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const isFocused = this.getProps().focused || this.state.focusedByKeyboard;\n const isInRadioGroup = this._isInRadioGroup();\n const isCheckedByGroup = isInRadioGroup && this.props.value === this.context.activeItem;\n const isChecked = isCheckedByGroup || !!this.props.checked;\n\n const radioProps = {\n className: this.cx({\n [this.styles.circle(this.theme)]: true,\n [this.getCircleSizeClassName()]: true,\n [this.styles.checked(this.theme)]: isChecked,\n [this.getCheckedSizeClassName()]: isChecked,\n [this.styles.focus(this.theme)]: isFocused,\n [this.styles.error(this.theme)]: error,\n [this.styles.warning(this.theme)]: warning,\n [this.styles.disabled(this.theme)]: disabled,\n [this.styles.checkedDisabled(this.theme)]: isChecked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: this.styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n ...(isInRadioGroup\n ? {\n checked: isCheckedByGroup,\n name: this.context.name,\n suppressHydrationWarning: true,\n }\n : {}),\n };\n\n const labelProps = {\n className: this.cx(this.styles.root(this.theme), this.getRootSizeClassName(), {\n [this.styles.rootChecked(this.theme)]: isChecked,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} />\n </FocusControlWrapper>\n <span {...radioProps}>\n <span className={this.styles.placeholder()} />\n </span>\n {this.props.children && (\n <div className={this.styles.captionWrapper(this.theme)}>\n {this.renderCaption()}\n {this.props.comment && this.renderComment()}\n </div>\n )}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = this.cx({\n [this.styles.caption(this.theme)]: true,\n [this.styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private getSubcaptionSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.subcaptionLarge(this.theme);\n case 'medium':\n return this.styles.subcaptionMedium(this.theme);\n case 'small':\n default:\n return this.styles.subcaptionSmall(this.theme);\n }\n }\n\n private renderComment() {\n return (\n <div\n className={this.cx(this.styles.subcaption(this.theme), this.getSubcaptionSizeClassName(), {\n [this.styles.subcaptionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n })}\n >\n {this.props.comment}\n </div>\n );\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n this.globalObject.requestAnimationFrame?.(() => {\n if (this.keyListener.isArrowPressed || this.keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByKeyboard: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n}\n"]}
@@ -0,0 +1,7 @@
1
+ export declare const radioSizeMixin: (fontSize: string, lineHeight: string, paddingY: string, radioSize: string) => string;
2
+ export declare const circleSizeMixin: (labGrotesqueBaselineCompensation: string, fontSize: string, radioSize: string, radioBorderWidthCompensation: string, radioCircleOffsetY: string) => string;
3
+ export declare const radioCheckedMixin: (bulletSize: string) => string;
4
+ export declare const afterOutlineMixin: (radioOutlineWidth: string) => string;
5
+ export declare const outlineColorMixin: (shadow: string, borderColor: string) => string;
6
+ export declare const subcaptionMixin: (fontSize: string, lineHeight: string) => string;
7
+ export declare const disabledTextColorMixin: (textColor: string) => string;
@@ -0,0 +1,30 @@
1
+ import { isChrome, isFirefox } from '../../lib/client.js';
2
+ import { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation.js';
3
+ export var radioSizeMixin = function (fontSize, lineHeight, paddingY, radioSize) {
4
+ return "\n font-size: ".concat(fontSize, ";\n line-height: ").concat(lineHeight, ";\n padding: ").concat(paddingY, " 0;\n &::before {\n width: ").concat(radioSize, ";\n }\n ");
5
+ };
6
+ export var circleSizeMixin = function (labGrotesqueBaselineCompensation, fontSize, radioSize, radioBorderWidthCompensation, radioCircleOffsetY) {
7
+ var labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);
8
+ var radioFontSize = parseInt(fontSize);
9
+ var baselineCompensation = getLabGrotesqueBaselineCompensation(radioFontSize, labGrotesqueCompenstation, isChrome, isFirefox);
10
+ var circleSize = "calc(".concat(radioSize, " - 2 * ").concat(radioBorderWidthCompensation, ")");
11
+ var circleOffsetY = "calc(".concat(radioCircleOffsetY, " + ").concat(radioBorderWidthCompensation, " + ").concat(baselineCompensation, "px)");
12
+ var circleMarginX = radioBorderWidthCompensation;
13
+ return "\n height: ".concat(circleSize, ";\n width: ").concat(circleSize, ";\n margin: ").concat(circleOffsetY, " ").concat(circleMarginX, " 0;\n ");
14
+ };
15
+ export var radioCheckedMixin = function (bulletSize) {
16
+ return "\n &::before {\n height: ".concat(bulletSize, ";\n width: ").concat(bulletSize, ";\n }\n ");
17
+ };
18
+ export var afterOutlineMixin = function (radioOutlineWidth) {
19
+ return "\n content: ' ';\n position: absolute;\n top: -".concat(radioOutlineWidth, ";\n bottom: -").concat(radioOutlineWidth, ";\n left: -").concat(radioOutlineWidth, ";\n right: -").concat(radioOutlineWidth, ";\n border-width: ").concat(radioOutlineWidth, ";\n border-style: solid;\n border-radius: 50%;\n box-sizing: border-box;\n ");
20
+ };
21
+ export var outlineColorMixin = function (shadow, borderColor) {
22
+ return "\n box-shadow: ".concat(shadow, ";\n border-color: ").concat(borderColor, ";\n ");
23
+ };
24
+ export var subcaptionMixin = function (fontSize, lineHeight) {
25
+ return "\n font-size: ".concat(fontSize, ";\n line-height: ").concat(lineHeight, ";\n ");
26
+ };
27
+ export var disabledTextColorMixin = function (textColor) {
28
+ return "\n color: ".concat(textColor, ";\n ");
29
+ };
30
+ //# sourceMappingURL=Radio.mixins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio.mixins.js","sourceRoot":"","sources":["Radio.mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAE9G,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,QAAgB,EAAE,UAAkB,EAAE,QAAgB,EAAE,SAAiB;IACtG,OAAO,2BACQ,QAAQ,iCACN,UAAU,6BACd,QAAQ,gDAER,SAAS,iBAErB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG,UAC7B,gCAAwC,EACxC,QAAgB,EAChB,SAAiB,EACjB,4BAAoC,EACpC,kBAA0B;IAE1B,IAAM,yBAAyB,GAAG,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC7E,IAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAM,oBAAoB,GAAG,mCAAmC,CAC9D,aAAa,EACb,yBAAyB,EACzB,QAAQ,EACR,SAAS,CACV,CAAC;IACF,IAAM,UAAU,GAAG,eAAQ,SAAS,oBAAU,4BAA4B,MAAG,CAAC;IAC9E,IAAM,aAAa,GAAG,eAAQ,kBAAkB,gBAAM,4BAA4B,gBAAM,oBAAoB,QAAK,CAAC;IAClH,IAAM,aAAa,GAAG,4BAA4B,CAAC;IACnD,OAAO,wBACK,UAAU,2BACX,UAAU,4BACT,aAAa,cAAI,aAAa,YACzC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,UAAkB;IAClD,OAAO,2CAEO,UAAU,6BACX,UAAU,iBAEtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,iBAAyB;IACzD,OAAO,kEAGG,iBAAiB,6BACd,iBAAiB,2BACnB,iBAAiB,4BAChB,iBAAiB,kCACX,iBAAiB,0FAIlC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,MAAc,EAAE,WAAmB;IACnE,OAAO,4BACS,MAAM,kCACJ,WAAW,UAC5B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,QAAgB,EAAE,UAAkB;IAClE,OAAO,2BACQ,QAAQ,iCACN,UAAU,UAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,SAAiB;IACtD,OAAO,uBACI,SAAS,UACnB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { isChrome, isFirefox } from '../../lib/client.js';\nimport { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation.js';\n\nexport const radioSizeMixin = (fontSize: string, lineHeight: string, paddingY: string, radioSize: string): string => {\n return `\n font-size: ${fontSize};\n line-height: ${lineHeight};\n padding: ${paddingY} 0;\n &::before {\n width: ${radioSize};\n }\n `;\n};\n\nexport const circleSizeMixin = (\n labGrotesqueBaselineCompensation: string,\n fontSize: string,\n radioSize: string,\n radioBorderWidthCompensation: string,\n radioCircleOffsetY: string,\n): string => {\n const labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);\n const radioFontSize = parseInt(fontSize);\n\n const baselineCompensation = getLabGrotesqueBaselineCompensation(\n radioFontSize,\n labGrotesqueCompenstation,\n isChrome,\n isFirefox,\n );\n const circleSize = `calc(${radioSize} - 2 * ${radioBorderWidthCompensation})`;\n const circleOffsetY = `calc(${radioCircleOffsetY} + ${radioBorderWidthCompensation} + ${baselineCompensation}px)`;\n const circleMarginX = radioBorderWidthCompensation;\n return `\n height: ${circleSize};\n width: ${circleSize};\n margin: ${circleOffsetY} ${circleMarginX} 0;\n `;\n};\n\nexport const radioCheckedMixin = (bulletSize: string): string => {\n return `\n &::before {\n height: ${bulletSize};\n width: ${bulletSize};\n }\n `;\n};\n\nexport const afterOutlineMixin = (radioOutlineWidth: string): string => {\n return `\n content: ' ';\n position: absolute;\n top: -${radioOutlineWidth};\n bottom: -${radioOutlineWidth};\n left: -${radioOutlineWidth};\n right: -${radioOutlineWidth};\n border-width: ${radioOutlineWidth};\n border-style: solid;\n border-radius: 50%;\n box-sizing: border-box;\n `;\n};\n\nexport const outlineColorMixin = (shadow: string, borderColor: string): string => {\n return `\n box-shadow: ${shadow};\n border-color: ${borderColor};\n `;\n};\n\nexport const subcaptionMixin = (fontSize: string, lineHeight: string): string => {\n return `\n font-size: ${fontSize};\n line-height: ${lineHeight};\n `;\n};\n\nexport const disabledTextColorMixin = (textColor: string): string => {\n return `\n color: ${textColor};\n `;\n};\n"]}