@skbkontur/react-ui 6.4.3-5e1c3.0 → 6.4.3-82331.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 (843) hide show
  1. package/README.md +42 -0
  2. package/components/Autocomplete/Autocomplete.css.d.ts +5 -0
  3. package/components/Autocomplete/Autocomplete.css.js +5 -0
  4. package/components/Autocomplete/Autocomplete.css.js.map +1 -0
  5. package/components/Autocomplete/Autocomplete.js +1 -1
  6. package/components/Autocomplete/Autocomplete.js.map +1 -1
  7. package/components/Autocomplete/getAutocompleteTheme.d.ts +1 -2
  8. package/components/Autocomplete/getAutocompleteTheme.js +3 -2
  9. package/components/Autocomplete/getAutocompleteTheme.js.map +1 -1
  10. package/components/Button/Button.css.d.ts +94 -0
  11. package/components/Button/Button.css.js +78 -0
  12. package/components/Button/Button.css.js.map +1 -0
  13. package/components/Button/Button.js +5 -4
  14. package/components/Button/Button.js.map +1 -1
  15. package/components/Button/ButtonArrow.d.ts +2 -2
  16. package/components/Button/ButtonArrow.js +1 -1
  17. package/components/Button/ButtonArrow.js.map +1 -1
  18. package/components/Button/ButtonIcon.css.d.ts +16 -0
  19. package/components/Button/ButtonIcon.css.js +16 -0
  20. package/components/Button/ButtonIcon.css.js.map +1 -0
  21. package/components/Button/ButtonIcon.js +1 -1
  22. package/components/Button/ButtonIcon.js.map +1 -1
  23. package/components/Button/LoadingButtonIcon.js +1 -1
  24. package/components/Button/LoadingButtonIcon.js.map +1 -1
  25. package/components/Button/getInnerLinkTheme.d.ts +1 -2
  26. package/components/Button/getInnerLinkTheme.js +3 -2
  27. package/components/Button/getInnerLinkTheme.js.map +1 -1
  28. package/components/Calendar/Calendar.css.d.ts +6 -0
  29. package/components/Calendar/Calendar.css.js +6 -0
  30. package/components/Calendar/Calendar.css.js.map +1 -0
  31. package/components/Calendar/Calendar.js +1 -1
  32. package/components/Calendar/Calendar.js.map +1 -1
  33. package/components/Calendar/CalendarDay.js +1 -1
  34. package/components/Calendar/CalendarDay.js.map +1 -1
  35. package/components/Calendar/DayCellView.css.d.ts +9 -0
  36. package/components/Calendar/DayCellView.css.js +9 -0
  37. package/components/Calendar/DayCellView.css.js.map +1 -0
  38. package/components/Calendar/DayCellView.js +1 -1
  39. package/components/Calendar/DayCellView.js.map +1 -1
  40. package/components/Calendar/Month.js +2 -2
  41. package/components/Calendar/Month.js.map +1 -1
  42. package/components/Calendar/MonthView.css.d.ts +12 -0
  43. package/components/Calendar/MonthView.css.js +12 -0
  44. package/components/Calendar/MonthView.css.js.map +1 -0
  45. package/components/Calendar/MonthView.js +1 -1
  46. package/components/Calendar/MonthView.js.map +1 -1
  47. package/components/Center/Center.css.d.ts +8 -0
  48. package/components/Center/Center.css.js +8 -0
  49. package/components/Center/Center.css.js.map +1 -0
  50. package/components/Center/Center.js +1 -1
  51. package/components/Center/Center.js.map +1 -1
  52. package/components/Checkbox/Checkbox.css.d.ts +35 -0
  53. package/components/Checkbox/Checkbox.css.js +33 -0
  54. package/components/Checkbox/Checkbox.css.js.map +1 -0
  55. package/components/Checkbox/Checkbox.js +1 -1
  56. package/components/Checkbox/Checkbox.js.map +1 -1
  57. package/components/Checkbox/Checkbox.mixins.d.ts +19 -4
  58. package/components/Checkbox/Checkbox.mixins.js +16 -15
  59. package/components/Checkbox/Checkbox.mixins.js.map +1 -1
  60. package/components/DateInput/DateFragmentsView.css.d.ts +7 -0
  61. package/components/DateInput/DateFragmentsView.css.js +7 -0
  62. package/components/DateInput/DateFragmentsView.css.js.map +1 -0
  63. package/components/DateInput/DateFragmentsView.js +1 -1
  64. package/components/DateInput/DateFragmentsView.js.map +1 -1
  65. package/components/DateInput/DateInput.css.d.ts +10 -0
  66. package/components/DateInput/DateInput.css.js +10 -0
  67. package/components/DateInput/DateInput.css.js.map +1 -0
  68. package/components/DateInput/DateInput.js +1 -1
  69. package/components/DateInput/DateInput.js.map +1 -1
  70. package/components/DatePicker/DatePicker.css.d.ts +5 -0
  71. package/components/DatePicker/DatePicker.css.js +5 -0
  72. package/components/DatePicker/DatePicker.css.js.map +1 -0
  73. package/components/DatePicker/DatePicker.js +6 -2
  74. package/components/DatePicker/DatePicker.js.map +1 -1
  75. package/components/DatePicker/MobilePicker.css.d.ts +4 -0
  76. package/components/DatePicker/MobilePicker.css.js +4 -0
  77. package/components/DatePicker/MobilePicker.css.js.map +1 -0
  78. package/components/DatePicker/MobilePicker.js +1 -1
  79. package/components/DatePicker/MobilePicker.js.map +1 -1
  80. package/components/DatePicker/getMobilePickerTheme.d.ts +1 -2
  81. package/components/DatePicker/getMobilePickerTheme.js +3 -2
  82. package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
  83. package/components/DateRangePicker/DateRangePicker.css.d.ts +19 -0
  84. package/components/DateRangePicker/DateRangePicker.css.js +19 -0
  85. package/components/DateRangePicker/DateRangePicker.css.js.map +1 -0
  86. package/components/DateRangePicker/DateRangePicker.d.ts +6 -6
  87. package/components/DateRangePicker/DateRangePicker.js +32 -28
  88. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  89. package/components/DateRangePicker/DateRangePickerTheme.d.ts +2 -3
  90. package/components/DateRangePicker/DateRangePickerTheme.js +5 -4
  91. package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
  92. package/components/Dropdown/getDropdownTheme.d.ts +1 -2
  93. package/components/Dropdown/getDropdownTheme.js +3 -2
  94. package/components/Dropdown/getDropdownTheme.js.map +1 -1
  95. package/components/DropdownMenu/getDropdownMenuTheme.d.ts +1 -2
  96. package/components/DropdownMenu/getDropdownMenuTheme.js +3 -2
  97. package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  98. package/components/FileUploader/FileUploader.css.d.ts +72 -0
  99. package/components/FileUploader/FileUploader.css.js +66 -0
  100. package/components/FileUploader/FileUploader.css.js.map +1 -0
  101. package/components/FileUploader/FileUploader.js +1 -1
  102. package/components/FileUploader/FileUploader.js.map +1 -1
  103. package/components/FileUploader/FileUploader.mixins.d.ts +6 -1
  104. package/components/FileUploader/FileUploader.mixins.js +6 -1
  105. package/components/FileUploader/FileUploader.mixins.js.map +1 -1
  106. package/components/FileUploader/FileUploaderFile.css.d.ts +61 -0
  107. package/components/FileUploader/FileUploaderFile.css.js +57 -0
  108. package/components/FileUploader/FileUploaderFile.css.js.map +1 -0
  109. package/components/FileUploader/FileUploaderFile.js +1 -1
  110. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  111. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.d.ts +36 -0
  112. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js +32 -0
  113. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js.map +1 -0
  114. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +1 -1
  115. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  116. package/components/FileUploader/FileUploaderFileStatusIcon.js +1 -1
  117. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  118. package/components/GlobalLoader/GlobalLoaderView.css.d.ts +17 -0
  119. package/components/GlobalLoader/GlobalLoaderView.css.js +15 -0
  120. package/components/GlobalLoader/GlobalLoaderView.css.js.map +1 -0
  121. package/components/GlobalLoader/GlobalLoaderView.js +13 -7
  122. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  123. package/components/Group/Group.css.d.ts +9 -0
  124. package/components/Group/Group.css.js +9 -0
  125. package/components/Group/Group.css.js.map +1 -0
  126. package/components/Group/Group.js +1 -1
  127. package/components/Group/Group.js.map +1 -1
  128. package/components/Hint/Hint.css.d.ts +5 -0
  129. package/components/Hint/Hint.css.js +5 -0
  130. package/components/Hint/Hint.css.js.map +1 -0
  131. package/components/Hint/Hint.js +6 -6
  132. package/components/Hint/Hint.js.map +1 -1
  133. package/components/Input/Input.css.d.ts +56 -0
  134. package/components/Input/Input.css.js +23 -0
  135. package/components/Input/Input.css.js.map +1 -0
  136. package/components/Input/Input.js +1 -1
  137. package/components/Input/Input.js.map +1 -1
  138. package/components/Input/InputLayout/InputLayout.css.d.ts +18 -0
  139. package/components/Input/InputLayout/InputLayout.css.js +19 -0
  140. package/components/Input/InputLayout/InputLayout.css.js.map +1 -0
  141. package/components/Input/InputLayout/InputLayout.js +1 -1
  142. package/components/Input/InputLayout/InputLayout.js.map +1 -1
  143. package/components/Input/InputLayout/InputLayoutAside.js +1 -1
  144. package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  145. package/components/Input/InputLayout/InputLayoutAsideCounter.js +1 -1
  146. package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
  147. package/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
  148. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  149. package/components/Input/InputLayout/InputLayoutAsideText.js +1 -1
  150. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  151. package/components/Kebab/Kebab.css.d.ts +11 -0
  152. package/components/Kebab/Kebab.css.js +11 -0
  153. package/components/Kebab/Kebab.css.js.map +1 -0
  154. package/components/Kebab/Kebab.js +4 -4
  155. package/components/Kebab/Kebab.js.map +1 -1
  156. package/components/Link/Link.css.d.ts +23 -0
  157. package/components/Link/Link.css.js +23 -0
  158. package/components/Link/Link.css.js.map +1 -0
  159. package/components/Link/Link.js +5 -4
  160. package/components/Link/Link.js.map +1 -1
  161. package/components/Link/LinkIcon.js +1 -1
  162. package/components/Link/LinkIcon.js.map +1 -1
  163. package/components/Loader/Loader.css.d.ts +8 -0
  164. package/components/Loader/Loader.css.js +8 -0
  165. package/components/Loader/Loader.css.js.map +1 -0
  166. package/components/Loader/Loader.js +1 -1
  167. package/components/Loader/Loader.js.map +1 -1
  168. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.d.ts +7 -0
  169. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js +5 -0
  170. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js.map +1 -0
  171. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +1 -1
  172. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  173. package/components/MaskedInput/MaskedInput.css.d.ts +7 -0
  174. package/components/MaskedInput/MaskedInput.css.js +5 -0
  175. package/components/MaskedInput/MaskedInput.css.js.map +1 -0
  176. package/components/MaskedInput/MaskedInputLegacy.js +1 -1
  177. package/components/MaskedInput/MaskedInputLegacy.js.map +1 -1
  178. package/components/MaskedInputV2/MaskedInputV2.css.d.ts +7 -0
  179. package/components/MaskedInputV2/MaskedInputV2.css.js +5 -0
  180. package/components/MaskedInputV2/MaskedInputV2.css.js.map +1 -0
  181. package/components/MaskedInputV2/MaskedInputV2.js +1 -1
  182. package/components/MaskedInputV2/MaskedInputV2.js.map +1 -1
  183. package/components/MaskedInputV2/internal/MaskOverlay.js +3 -3
  184. package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -1
  185. package/components/MaskedInputV2/internal/MaskedCore.js +3 -3
  186. package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -1
  187. package/components/MaskedInputV2/internal/MaskedInternal.css.d.ts +15 -0
  188. package/components/MaskedInputV2/internal/MaskedInternal.css.js +9 -0
  189. package/components/MaskedInputV2/internal/MaskedInternal.css.js.map +1 -0
  190. package/components/MenuFooter/MenuFooter.css.d.ts +10 -0
  191. package/components/MenuFooter/MenuFooter.css.js +10 -0
  192. package/components/MenuFooter/MenuFooter.css.js.map +1 -0
  193. package/components/MenuFooter/MenuFooter.js +2 -2
  194. package/components/MenuFooter/MenuFooter.js.map +1 -1
  195. package/components/MenuFooter/MenuFooter.mixins.d.ts +8 -2
  196. package/components/MenuFooter/MenuFooter.mixins.js +8 -4
  197. package/components/MenuFooter/MenuFooter.mixins.js.map +1 -1
  198. package/components/MenuHeader/MenuHeader.css.d.ts +10 -0
  199. package/components/MenuHeader/MenuHeader.css.js +10 -0
  200. package/components/MenuHeader/MenuHeader.css.js.map +1 -0
  201. package/components/MenuHeader/MenuHeader.js +2 -2
  202. package/components/MenuHeader/MenuHeader.js.map +1 -1
  203. package/components/MenuHeader/MenuHeader.mixins.d.ts +8 -2
  204. package/components/MenuHeader/MenuHeader.mixins.js +8 -4
  205. package/components/MenuHeader/MenuHeader.mixins.js.map +1 -1
  206. package/components/MenuItem/MenuItem.css.d.ts +27 -0
  207. package/components/MenuItem/MenuItem.css.js +27 -0
  208. package/components/MenuItem/MenuItem.css.js.map +1 -0
  209. package/components/MenuItem/MenuItem.js +4 -10
  210. package/components/MenuItem/MenuItem.js.map +1 -1
  211. package/components/MenuItem/MenuItem.mixins.d.ts +12 -4
  212. package/components/MenuItem/MenuItem.mixins.js +12 -19
  213. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  214. package/components/MenuSeparator/MenuSeparator.css.d.ts +5 -0
  215. package/components/MenuSeparator/MenuSeparator.css.js +5 -0
  216. package/components/MenuSeparator/MenuSeparator.css.js.map +1 -0
  217. package/components/MenuSeparator/MenuSeparator.js +5 -7
  218. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  219. package/components/MiniModal/MiniModal.css.d.ts +10 -0
  220. package/components/MiniModal/MiniModal.css.js +11 -0
  221. package/components/MiniModal/MiniModal.css.js.map +1 -0
  222. package/components/MiniModal/MiniModalBody.js +1 -1
  223. package/components/MiniModal/MiniModalBody.js.map +1 -1
  224. package/components/MiniModal/MiniModalFooter.js +1 -1
  225. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  226. package/components/MiniModal/MiniModalHeader.js +1 -1
  227. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  228. package/components/MiniModal/MiniModalIndent.js +1 -1
  229. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  230. package/components/MiniModal/getMiniModalTheme.d.ts +1 -2
  231. package/components/MiniModal/getMiniModalTheme.js +3 -2
  232. package/components/MiniModal/getMiniModalTheme.js.map +1 -1
  233. package/components/Modal/Modal.css.d.ts +55 -0
  234. package/components/Modal/Modal.css.js +52 -0
  235. package/components/Modal/Modal.css.js.map +1 -0
  236. package/components/Modal/Modal.js +1 -1
  237. package/components/Modal/Modal.js.map +1 -1
  238. package/components/Modal/ModalBody.js +1 -1
  239. package/components/Modal/ModalBody.js.map +1 -1
  240. package/components/Modal/ModalClose.js +11 -13
  241. package/components/Modal/ModalClose.js.map +1 -1
  242. package/components/Modal/ModalFooter.js +1 -1
  243. package/components/Modal/ModalFooter.js.map +1 -1
  244. package/components/Modal/ModalHeader.js +1 -1
  245. package/components/Modal/ModalHeader.js.map +1 -1
  246. package/components/Modal/ModalSeparator.js +1 -1
  247. package/components/Modal/ModalSeparator.js.map +1 -1
  248. package/components/Modal/getModalBodyTheme.d.ts +1 -2
  249. package/components/Modal/getModalBodyTheme.js +3 -2
  250. package/components/Modal/getModalBodyTheme.js.map +1 -1
  251. package/components/Modal/getModalTheme.d.ts +1 -2
  252. package/components/Modal/getModalTheme.js +3 -2
  253. package/components/Modal/getModalTheme.js.map +1 -1
  254. package/components/Paging/Paging.css.d.ts +32 -0
  255. package/components/Paging/Paging.css.js +32 -0
  256. package/components/Paging/Paging.css.js.map +1 -0
  257. package/components/Paging/Paging.js +1 -1
  258. package/components/Paging/Paging.js.map +1 -1
  259. package/components/PasswordInput/PasswordInput.css.d.ts +11 -0
  260. package/components/PasswordInput/PasswordInput.css.js +11 -0
  261. package/components/PasswordInput/PasswordInput.css.js.map +1 -0
  262. package/components/PasswordInput/PasswordInput.js +1 -1
  263. package/components/PasswordInput/PasswordInput.js.map +1 -1
  264. package/components/Radio/Radio.css.d.ts +34 -0
  265. package/components/Radio/Radio.css.js +32 -0
  266. package/components/Radio/Radio.css.js.map +1 -0
  267. package/components/Radio/Radio.js +1 -1
  268. package/components/Radio/Radio.js.map +1 -1
  269. package/components/Radio/Radio.mixins.d.ts +39 -7
  270. package/components/Radio/Radio.mixins.js +37 -23
  271. package/components/Radio/Radio.mixins.js.map +1 -1
  272. package/components/RadioGroup/RadioGroup.css.d.ts +7 -0
  273. package/components/RadioGroup/RadioGroup.css.js +7 -0
  274. package/components/RadioGroup/RadioGroup.css.js.map +1 -0
  275. package/components/RadioGroup/RadioGroup.js +1 -1
  276. package/components/RadioGroup/RadioGroup.js.map +1 -1
  277. package/components/ScrollContainer/ScrollBar.js +1 -1
  278. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  279. package/components/ScrollContainer/ScrollContainer.css.d.ts +21 -0
  280. package/components/ScrollContainer/ScrollContainer.css.js +15 -0
  281. package/components/ScrollContainer/ScrollContainer.css.js.map +1 -0
  282. package/components/ScrollContainer/ScrollContainer.js +1 -1
  283. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  284. package/components/Select/Select.css.d.ts +17 -0
  285. package/components/Select/Select.css.js +17 -0
  286. package/components/Select/Select.css.js.map +1 -0
  287. package/components/Select/Select.js +8 -6
  288. package/components/Select/Select.js.map +1 -1
  289. package/components/Select/selectTheme.d.ts +1 -3
  290. package/components/Select/selectTheme.js +8 -7
  291. package/components/Select/selectTheme.js.map +1 -1
  292. package/components/SidePage/SidePage.css.d.ts +50 -0
  293. package/components/SidePage/SidePage.css.js +50 -0
  294. package/components/SidePage/SidePage.css.js.map +1 -0
  295. package/components/SidePage/SidePage.js +1 -1
  296. package/components/SidePage/SidePage.js.map +1 -1
  297. package/components/SidePage/SidePageBody.js +1 -1
  298. package/components/SidePage/SidePageBody.js.map +1 -1
  299. package/components/SidePage/SidePageCloseButton.js +1 -1
  300. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  301. package/components/SidePage/SidePageContainer.js +1 -1
  302. package/components/SidePage/SidePageContainer.js.map +1 -1
  303. package/components/SidePage/SidePageFooter.js +1 -1
  304. package/components/SidePage/SidePageFooter.js.map +1 -1
  305. package/components/SidePage/SidePageHeader.js +1 -1
  306. package/components/SidePage/SidePageHeader.js.map +1 -1
  307. package/components/Spinner/Spinner.css.d.ts +13 -0
  308. package/components/Spinner/Spinner.css.js +13 -0
  309. package/components/Spinner/Spinner.css.js.map +1 -0
  310. package/components/Spinner/Spinner.js +1 -1
  311. package/components/Spinner/Spinner.js.map +1 -1
  312. package/components/Sticky/Sticky.css.d.ts +8 -0
  313. package/components/Sticky/Sticky.css.js +8 -0
  314. package/components/Sticky/Sticky.css.js.map +1 -0
  315. package/components/Sticky/Sticky.js +1 -1
  316. package/components/Sticky/Sticky.js.map +1 -1
  317. package/components/Switcher/Switcher.css.d.ts +12 -0
  318. package/components/Switcher/Switcher.css.js +12 -0
  319. package/components/Switcher/Switcher.css.js.map +1 -0
  320. package/components/Switcher/Switcher.js +1 -1
  321. package/components/Switcher/Switcher.js.map +1 -1
  322. package/components/Switcher/switcherTheme.d.ts +1 -2
  323. package/components/Switcher/switcherTheme.js +3 -2
  324. package/components/Switcher/switcherTheme.js.map +1 -1
  325. package/components/Tabs/Indicator.css.d.ts +8 -0
  326. package/components/Tabs/Indicator.css.js +8 -0
  327. package/components/Tabs/Indicator.css.js.map +1 -0
  328. package/components/Tabs/Indicator.js +1 -1
  329. package/components/Tabs/Indicator.js.map +1 -1
  330. package/components/Tabs/Tab.css.d.ts +35 -0
  331. package/components/Tabs/Tab.css.js +29 -0
  332. package/components/Tabs/Tab.css.js.map +1 -0
  333. package/components/Tabs/Tab.d.ts +4 -16
  334. package/components/Tabs/Tab.js +1 -1
  335. package/components/Tabs/Tab.js.map +1 -1
  336. package/components/Tabs/Tabs.css.d.ts +7 -0
  337. package/components/Tabs/Tabs.css.js +7 -0
  338. package/components/Tabs/Tabs.css.js.map +1 -0
  339. package/components/Tabs/Tabs.js +1 -1
  340. package/components/Tabs/Tabs.js.map +1 -1
  341. package/components/Textarea/Textarea.css.d.ts +23 -0
  342. package/components/Textarea/Textarea.css.js +23 -0
  343. package/components/Textarea/Textarea.css.js.map +1 -0
  344. package/components/Textarea/Textarea.js +1 -1
  345. package/components/Textarea/Textarea.js.map +1 -1
  346. package/components/Textarea/Textarea.mixins.d.ts +8 -2
  347. package/components/Textarea/Textarea.mixins.js +8 -6
  348. package/components/Textarea/Textarea.mixins.js.map +1 -1
  349. package/components/Textarea/TextareaCounter.js +1 -1
  350. package/components/Textarea/TextareaCounter.js.map +1 -1
  351. package/components/TimePicker/TimePicker.css.d.ts +11 -0
  352. package/components/TimePicker/TimePicker.css.js +11 -0
  353. package/components/TimePicker/TimePicker.css.js.map +1 -0
  354. package/components/TimePicker/TimePicker.js +3 -3
  355. package/components/TimePicker/TimePicker.js.map +1 -1
  356. package/components/TimePicker/TimePickerItems.js +1 -1
  357. package/components/TimePicker/TimePickerItems.js.map +1 -1
  358. package/components/TimePicker/TimePickerPopup.js +1 -1
  359. package/components/TimePicker/TimePickerPopup.js.map +1 -1
  360. package/components/TimePicker/helpers/TimePicker.constants.d.ts +1 -0
  361. package/components/TimePicker/helpers/TimePicker.constants.js +3 -0
  362. package/components/TimePicker/helpers/TimePicker.constants.js.map +1 -1
  363. package/components/TimePicker/helpers/TimePicker.value.d.ts +0 -1
  364. package/components/TimePicker/helpers/TimePicker.value.js +0 -5
  365. package/components/TimePicker/helpers/TimePicker.value.js.map +1 -1
  366. package/components/Toast/Toast.css.d.ts +7 -0
  367. package/components/Toast/Toast.css.js +7 -0
  368. package/components/Toast/Toast.css.js.map +1 -0
  369. package/components/Toast/Toast.js +3 -3
  370. package/components/Toast/Toast.js.map +1 -1
  371. package/components/Toast/ToastView.css.d.ts +17 -0
  372. package/components/Toast/ToastView.css.js +17 -0
  373. package/components/Toast/ToastView.css.js.map +1 -0
  374. package/components/Toast/ToastView.js +1 -1
  375. package/components/Toast/ToastView.js.map +1 -1
  376. package/components/Toggle/Toggle.css.d.ts +50 -0
  377. package/components/Toggle/Toggle.css.js +49 -0
  378. package/components/Toggle/Toggle.css.js.map +1 -0
  379. package/components/Toggle/Toggle.js +1 -1
  380. package/components/Toggle/Toggle.js.map +1 -1
  381. package/components/Token/Token.css.d.ts +23 -0
  382. package/components/Token/Token.css.js +21 -0
  383. package/components/Token/Token.css.js.map +1 -0
  384. package/components/Token/Token.js +1 -1
  385. package/components/Token/Token.js.map +1 -1
  386. package/components/Token/Token.mixins.d.ts +6 -1
  387. package/components/Token/Token.mixins.js +6 -3
  388. package/components/Token/Token.mixins.js.map +1 -1
  389. package/components/Token/TokenView.js +1 -1
  390. package/components/Token/TokenView.js.map +1 -1
  391. package/components/TokenInput/TextWidthHelper.js +1 -1
  392. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  393. package/components/TokenInput/TokenInput.css.d.ts +21 -0
  394. package/components/TokenInput/TokenInput.css.js +22 -0
  395. package/components/TokenInput/TokenInput.css.js.map +1 -0
  396. package/components/TokenInput/TokenInput.js +1 -1
  397. package/components/TokenInput/TokenInput.js.map +1 -1
  398. package/components/TokenInput/TokenInput.mixins.d.ts +8 -2
  399. package/components/TokenInput/TokenInput.mixins.js +8 -6
  400. package/components/TokenInput/TokenInput.mixins.js.map +1 -1
  401. package/components/TokenInput/TokenInputMenu.js +5 -3
  402. package/components/TokenInput/TokenInputMenu.js.map +1 -1
  403. package/components/Tooltip/Tooltip.css.d.ts +11 -0
  404. package/components/Tooltip/Tooltip.css.js +11 -0
  405. package/components/Tooltip/Tooltip.css.js.map +1 -0
  406. package/components/Tooltip/Tooltip.js +17 -10
  407. package/components/Tooltip/Tooltip.js.map +1 -1
  408. package/components/TooltipMenu/TooltipMenu.js +10 -6
  409. package/components/TooltipMenu/TooltipMenu.js.map +1 -1
  410. package/internal/ClearCrossIcon/ClearCrossIcon.css.d.ts +11 -0
  411. package/internal/ClearCrossIcon/ClearCrossIcon.css.js +11 -0
  412. package/internal/ClearCrossIcon/ClearCrossIcon.css.js.map +1 -0
  413. package/internal/ClearCrossIcon/ClearCrossIcon.js +1 -1
  414. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  415. package/internal/CloseButtonIcon/CloseButtonIcon.css.d.ts +9 -0
  416. package/internal/CloseButtonIcon/CloseButtonIcon.css.js +9 -0
  417. package/internal/CloseButtonIcon/CloseButtonIcon.css.js.map +1 -0
  418. package/internal/CloseButtonIcon/CloseButtonIcon.js +13 -8
  419. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  420. package/internal/CommonWrapper/CommonWrapper.d.ts +6 -1
  421. package/internal/CommonWrapper/CommonWrapper.js +28 -4
  422. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  423. package/internal/CustomComboBox/ComboBoxView.js +2 -2
  424. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  425. package/internal/CustomComboBox/CustomComboBox.css.d.ts +5 -0
  426. package/internal/CustomComboBox/CustomComboBox.css.js +5 -0
  427. package/internal/CustomComboBox/CustomComboBox.css.js.map +1 -0
  428. package/internal/CustomComboBox/getComboBoxTheme.d.ts +1 -2
  429. package/internal/CustomComboBox/getComboBoxTheme.js +3 -2
  430. package/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  431. package/internal/DateSelect/DateSelect.css.d.ts +9 -0
  432. package/internal/DateSelect/DateSelect.css.js +7 -0
  433. package/internal/DateSelect/DateSelect.css.js.map +1 -0
  434. package/internal/DateSelect/DateSelect.js +1 -1
  435. package/internal/DateSelect/DateSelect.js.map +1 -1
  436. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.d.ts +4 -0
  437. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js +4 -0
  438. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js.map +1 -0
  439. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -1
  440. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +7 -11
  441. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  442. package/internal/InputLikeText/InputLikeText.css.d.ts +6 -0
  443. package/internal/InputLikeText/InputLikeText.css.js +6 -0
  444. package/internal/InputLikeText/InputLikeText.css.js.map +1 -0
  445. package/internal/InputLikeText/InputLikeText.js +3 -3
  446. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  447. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.d.ts +5 -0
  448. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js +6 -0
  449. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js.map +1 -0
  450. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +21 -17
  451. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  452. package/internal/MaskCharLowLine/MaskCharLowLine.css.d.ts +4 -0
  453. package/internal/MaskCharLowLine/MaskCharLowLine.css.js +4 -0
  454. package/internal/MaskCharLowLine/MaskCharLowLine.css.js.map +1 -0
  455. package/internal/MaskCharLowLine/MaskCharLowLine.js +1 -1
  456. package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  457. package/internal/Menu/Menu.css.d.ts +16 -0
  458. package/internal/Menu/Menu.css.js +16 -0
  459. package/internal/Menu/Menu.css.js.map +1 -0
  460. package/internal/Menu/Menu.js +6 -2
  461. package/internal/Menu/Menu.js.map +1 -1
  462. package/internal/MenuMessage/MenuMessage.css.d.ts +11 -0
  463. package/internal/MenuMessage/MenuMessage.css.js +11 -0
  464. package/internal/MenuMessage/MenuMessage.css.js.map +1 -0
  465. package/internal/MenuMessage/MenuMessage.js +1 -1
  466. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  467. package/internal/MobilePopup/MobilePopup.css.d.ts +17 -0
  468. package/internal/MobilePopup/MobilePopup.css.js +17 -0
  469. package/internal/MobilePopup/MobilePopup.css.js.map +1 -0
  470. package/internal/MobilePopup/MobilePopup.js +1 -1
  471. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  472. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.d.ts +7 -0
  473. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js +7 -0
  474. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js.map +1 -0
  475. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +1 -1
  476. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  477. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.d.ts +14 -0
  478. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js +14 -0
  479. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js.map +1 -0
  480. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  481. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  482. package/internal/NativeDateInput/NativeDateInput.css.d.ts +4 -0
  483. package/internal/NativeDateInput/NativeDateInput.css.js +4 -0
  484. package/internal/NativeDateInput/NativeDateInput.css.js.map +1 -0
  485. package/internal/NativeDateInput/NativeDateInput.js +1 -1
  486. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  487. package/internal/NativeTimeInput/NativeTimeInput.css.d.ts +4 -0
  488. package/internal/NativeTimeInput/NativeTimeInput.css.js +4 -0
  489. package/internal/NativeTimeInput/NativeTimeInput.css.js.map +1 -0
  490. package/internal/NativeTimeInput/NativeTimeInput.js +1 -1
  491. package/internal/NativeTimeInput/NativeTimeInput.js.map +1 -1
  492. package/internal/Popup/Popup.css.d.ts +17 -0
  493. package/internal/Popup/Popup.css.js +17 -0
  494. package/internal/Popup/Popup.css.js.map +1 -0
  495. package/internal/Popup/Popup.js +8 -6
  496. package/internal/Popup/Popup.js.map +1 -1
  497. package/internal/Popup/PopupPin.css.d.ts +10 -0
  498. package/internal/Popup/PopupPin.css.js +10 -0
  499. package/internal/Popup/PopupPin.css.js.map +1 -0
  500. package/internal/Popup/PopupPin.js +1 -1
  501. package/internal/Popup/PopupPin.js.map +1 -1
  502. package/internal/PopupMenu/PopupMenu.css.d.ts +5 -0
  503. package/internal/PopupMenu/PopupMenu.css.js +5 -0
  504. package/internal/PopupMenu/PopupMenu.css.js.map +1 -0
  505. package/internal/PopupMenu/PopupMenu.js +6 -4
  506. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  507. package/internal/RenderContainer/RenderContainer.d.ts +2 -0
  508. package/internal/RenderContainer/RenderContainer.js +37 -3
  509. package/internal/RenderContainer/RenderContainer.js.map +1 -1
  510. package/internal/ResizeDetector/ResizeDetector.css.d.ts +8 -0
  511. package/internal/ResizeDetector/ResizeDetector.css.js +8 -0
  512. package/internal/ResizeDetector/ResizeDetector.css.js.map +1 -0
  513. package/internal/ResizeDetector/ResizeDetector.js +1 -1
  514. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  515. package/internal/SpinnerIcon/SpinnerIcon.css.d.ts +7 -0
  516. package/internal/SpinnerIcon/SpinnerIcon.css.js +7 -0
  517. package/internal/SpinnerIcon/SpinnerIcon.css.js.map +1 -0
  518. package/internal/SpinnerIcon/SpinnerIcon.js +1 -1
  519. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  520. package/internal/TextWidthHelper/TextWidthHelper.css.d.ts +5 -0
  521. package/internal/TextWidthHelper/TextWidthHelper.css.js +5 -0
  522. package/internal/TextWidthHelper/TextWidthHelper.css.js.map +1 -0
  523. package/internal/TextWidthHelper/TextWidthHelper.js +1 -1
  524. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  525. package/internal/TimeInput/TimeFragments.css.d.ts +32 -0
  526. package/internal/TimeInput/TimeFragments.css.js +19 -0
  527. package/internal/TimeInput/TimeFragments.css.js.map +1 -0
  528. package/internal/TimeInput/TimeFragments.js +1 -1
  529. package/internal/TimeInput/TimeFragments.js.map +1 -1
  530. package/internal/TimeInput/TimeInput.css.d.ts +7 -0
  531. package/internal/TimeInput/TimeInput.css.js +7 -0
  532. package/internal/TimeInput/TimeInput.css.js.map +1 -0
  533. package/internal/TimeInput/TimeInput.js +1 -1
  534. package/internal/TimeInput/TimeInput.js.map +1 -1
  535. package/internal/icons2022/BaseIcon.css.d.ts +4 -0
  536. package/internal/icons2022/BaseIcon.css.js +4 -0
  537. package/internal/icons2022/BaseIcon.css.js.map +1 -0
  538. package/internal/icons2022/BaseIcon.js +1 -1
  539. package/internal/icons2022/BaseIcon.js.map +1 -1
  540. package/internal/icons2022/LoadingIcon.js +1 -1
  541. package/internal/icons2022/LoadingIcon.js.map +1 -1
  542. package/internal/themes/BasicTheme.d.ts +0 -40
  543. package/internal/themes/BasicTheme.js +1 -73
  544. package/internal/themes/BasicTheme.js.map +1 -1
  545. package/internal/themes/DarkTheme6_0.js +0 -19
  546. package/internal/themes/DarkTheme6_0.js.map +1 -1
  547. package/lib/renderEnvironment/RenderEnvironmentContext.d.ts +1 -1
  548. package/lib/renderEnvironment/RenderEnvironmentContext.js +4 -6
  549. package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
  550. package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
  551. package/lib/styles/LabGrotesqueBaseline.css.d.ts +1 -0
  552. package/lib/styles/LabGrotesqueBaseline.css.js +0 -0
  553. package/lib/styles/LabGrotesqueBaseline.css.js.map +1 -0
  554. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +6 -1
  555. package/lib/styles/getLabGrotesqueBaselineCompensation.js +23 -6
  556. package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
  557. package/lib/theming/Emotion.d.ts +15 -13
  558. package/lib/theming/Emotion.js +30 -46
  559. package/lib/theming/Emotion.js.map +1 -1
  560. package/lib/theming/ThemeVersions.d.ts +1 -1
  561. package/lib/theming/ThemeVersions.js.map +1 -1
  562. package/lib/theming/bindStaticStyles.d.ts +6 -0
  563. package/lib/theming/bindStaticStyles.js +22 -0
  564. package/lib/theming/bindStaticStyles.js.map +1 -0
  565. package/lib/theming/memoizeTheme.d.ts +11 -0
  566. package/lib/theming/memoizeTheme.js +37 -0
  567. package/lib/theming/memoizeTheme.js.map +1 -0
  568. package/lib/theming/themeVars.d.ts +25 -0
  569. package/lib/theming/themeVars.js +74 -0
  570. package/lib/theming/themeVars.js.map +1 -0
  571. package/lib/theming/themes/DarkTheme.d.ts +0 -1
  572. package/lib/theming/themes/DarkTheme.js +1 -3
  573. package/lib/theming/themes/DarkTheme.js.map +1 -1
  574. package/lib/theming/themes/LightTheme.d.ts +0 -1
  575. package/lib/theming/themes/LightTheme.js +1 -3
  576. package/lib/theming/themes/LightTheme.js.map +1 -1
  577. package/package.json +17 -6
  578. package/react-ui.css +6044 -0
  579. package/components/Autocomplete/Autocomplete.styles.d.ts +0 -5
  580. package/components/Autocomplete/Autocomplete.styles.js +0 -18
  581. package/components/Autocomplete/Autocomplete.styles.js.map +0 -1
  582. package/components/Button/Button.mixins.d.ts +0 -4
  583. package/components/Button/Button.mixins.js +0 -21
  584. package/components/Button/Button.mixins.js.map +0 -1
  585. package/components/Button/Button.styles.d.ts +0 -95
  586. package/components/Button/Button.styles.js +0 -260
  587. package/components/Button/Button.styles.js.map +0 -1
  588. package/components/Button/ButtonIcon.styles.d.ts +0 -16
  589. package/components/Button/ButtonIcon.styles.js +0 -53
  590. package/components/Button/ButtonIcon.styles.js.map +0 -1
  591. package/components/Calendar/Calendar.styles.d.ts +0 -6
  592. package/components/Calendar/Calendar.styles.js +0 -22
  593. package/components/Calendar/Calendar.styles.js.map +0 -1
  594. package/components/Calendar/DayCellView.styles.d.ts +0 -9
  595. package/components/Calendar/DayCellView.styles.js +0 -31
  596. package/components/Calendar/DayCellView.styles.js.map +0 -1
  597. package/components/Calendar/MonthView.styles.d.ts +0 -13
  598. package/components/Calendar/MonthView.styles.js +0 -47
  599. package/components/Calendar/MonthView.styles.js.map +0 -1
  600. package/components/Center/Center.styles.d.ts +0 -7
  601. package/components/Center/Center.styles.js +0 -27
  602. package/components/Center/Center.styles.js.map +0 -1
  603. package/components/Checkbox/Checkbox.styles.d.ts +0 -34
  604. package/components/Checkbox/Checkbox.styles.js +0 -100
  605. package/components/Checkbox/Checkbox.styles.js.map +0 -1
  606. package/components/DateInput/DateFragmentsView.styles.d.ts +0 -7
  607. package/components/DateInput/DateFragmentsView.styles.js +0 -28
  608. package/components/DateInput/DateFragmentsView.styles.js.map +0 -1
  609. package/components/DateInput/DateInput.styles.d.ts +0 -11
  610. package/components/DateInput/DateInput.styles.js +0 -29
  611. package/components/DateInput/DateInput.styles.js.map +0 -1
  612. package/components/DatePicker/DatePicker.styles.d.ts +0 -5
  613. package/components/DatePicker/DatePicker.styles.js +0 -18
  614. package/components/DatePicker/DatePicker.styles.js.map +0 -1
  615. package/components/DatePicker/MobilePicker.styles.d.ts +0 -3
  616. package/components/DatePicker/MobilePicker.styles.js +0 -15
  617. package/components/DatePicker/MobilePicker.styles.js.map +0 -1
  618. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -16
  619. package/components/DateRangePicker/DateRangePicker.styles.js +0 -57
  620. package/components/DateRangePicker/DateRangePicker.styles.js.map +0 -1
  621. package/components/FileUploader/FileUploader.styles.d.ts +0 -74
  622. package/components/FileUploader/FileUploader.styles.js +0 -221
  623. package/components/FileUploader/FileUploader.styles.js.map +0 -1
  624. package/components/FileUploader/FileUploaderFile.styles.d.ts +0 -60
  625. package/components/FileUploader/FileUploaderFile.styles.js +0 -184
  626. package/components/FileUploader/FileUploaderFile.styles.js.map +0 -1
  627. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -34
  628. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js +0 -103
  629. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +0 -1
  630. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +0 -17
  631. package/components/GlobalLoader/GlobalLoaderView.styles.js +0 -70
  632. package/components/GlobalLoader/GlobalLoaderView.styles.js.map +0 -1
  633. package/components/Group/Group.styles.d.ts +0 -8
  634. package/components/Group/Group.styles.js +0 -30
  635. package/components/Group/Group.styles.js.map +0 -1
  636. package/components/Hint/Hint.styles.d.ts +0 -5
  637. package/components/Hint/Hint.styles.js +0 -18
  638. package/components/Hint/Hint.styles.js.map +0 -1
  639. package/components/Input/Input.styles.d.ts +0 -21
  640. package/components/Input/Input.styles.js +0 -68
  641. package/components/Input/Input.styles.js.map +0 -1
  642. package/components/Input/InputLayout/InputLayout.styles.d.ts +0 -18
  643. package/components/Input/InputLayout/InputLayout.styles.js +0 -59
  644. package/components/Input/InputLayout/InputLayout.styles.js.map +0 -1
  645. package/components/Kebab/Kebab.styles.d.ts +0 -11
  646. package/components/Kebab/Kebab.styles.js +0 -36
  647. package/components/Kebab/Kebab.styles.js.map +0 -1
  648. package/components/Link/Link.mixins.d.ts +0 -2
  649. package/components/Link/Link.mixins.js +0 -7
  650. package/components/Link/Link.mixins.js.map +0 -1
  651. package/components/Link/Link.styles.d.ts +0 -24
  652. package/components/Link/Link.styles.js +0 -82
  653. package/components/Link/Link.styles.js.map +0 -1
  654. package/components/Loader/Loader.styles.d.ts +0 -8
  655. package/components/Loader/Loader.styles.js +0 -27
  656. package/components/Loader/Loader.styles.js.map +0 -1
  657. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.d.ts +0 -6
  658. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +0 -18
  659. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +0 -1
  660. package/components/MaskedInput/MaskedInput.styles.d.ts +0 -7
  661. package/components/MaskedInput/MaskedInput.styles.js +0 -19
  662. package/components/MaskedInput/MaskedInput.styles.js.map +0 -1
  663. package/components/MaskedInputV2/MaskedInputV2.styles.d.ts +0 -7
  664. package/components/MaskedInputV2/MaskedInputV2.styles.js +0 -19
  665. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +0 -1
  666. package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +0 -15
  667. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +0 -34
  668. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +0 -1
  669. package/components/MenuFooter/MenuFooter.styles.d.ts +0 -10
  670. package/components/MenuFooter/MenuFooter.styles.js +0 -34
  671. package/components/MenuFooter/MenuFooter.styles.js.map +0 -1
  672. package/components/MenuHeader/MenuHeader.styles.d.ts +0 -10
  673. package/components/MenuHeader/MenuHeader.styles.js +0 -34
  674. package/components/MenuHeader/MenuHeader.styles.js.map +0 -1
  675. package/components/MenuItem/MenuItem.styles.d.ts +0 -29
  676. package/components/MenuItem/MenuItem.styles.js +0 -88
  677. package/components/MenuItem/MenuItem.styles.js.map +0 -1
  678. package/components/MenuSeparator/MenuSeparator.styles.d.ts +0 -5
  679. package/components/MenuSeparator/MenuSeparator.styles.js +0 -18
  680. package/components/MenuSeparator/MenuSeparator.styles.js.map +0 -1
  681. package/components/MiniModal/MiniModal.styles.d.ts +0 -11
  682. package/components/MiniModal/MiniModal.styles.js +0 -37
  683. package/components/MiniModal/MiniModal.styles.js.map +0 -1
  684. package/components/Modal/Modal.styles.d.ts +0 -55
  685. package/components/Modal/Modal.styles.js +0 -167
  686. package/components/Modal/Modal.styles.js.map +0 -1
  687. package/components/Paging/Paging.styles.d.ts +0 -32
  688. package/components/Paging/Paging.styles.js +0 -99
  689. package/components/Paging/Paging.styles.js.map +0 -1
  690. package/components/PasswordInput/PasswordInput.styles.d.ts +0 -11
  691. package/components/PasswordInput/PasswordInput.styles.js +0 -36
  692. package/components/PasswordInput/PasswordInput.styles.js.map +0 -1
  693. package/components/Radio/Radio.styles.d.ts +0 -34
  694. package/components/Radio/Radio.styles.js +0 -100
  695. package/components/Radio/Radio.styles.js.map +0 -1
  696. package/components/RadioGroup/RadioGroup.styles.d.ts +0 -6
  697. package/components/RadioGroup/RadioGroup.styles.js +0 -24
  698. package/components/RadioGroup/RadioGroup.styles.js.map +0 -1
  699. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -21
  700. package/components/ScrollContainer/ScrollContainer.styles.js +0 -52
  701. package/components/ScrollContainer/ScrollContainer.styles.js.map +0 -1
  702. package/components/Select/Select.styles.d.ts +0 -18
  703. package/components/Select/Select.styles.js +0 -57
  704. package/components/Select/Select.styles.js.map +0 -1
  705. package/components/SidePage/SidePage.styles.d.ts +0 -50
  706. package/components/SidePage/SidePage.styles.js +0 -158
  707. package/components/SidePage/SidePage.styles.js.map +0 -1
  708. package/components/Spinner/Spinner.styles.d.ts +0 -13
  709. package/components/Spinner/Spinner.styles.js +0 -43
  710. package/components/Spinner/Spinner.styles.js.map +0 -1
  711. package/components/Sticky/Sticky.styles.d.ts +0 -7
  712. package/components/Sticky/Sticky.styles.js +0 -27
  713. package/components/Sticky/Sticky.styles.js.map +0 -1
  714. package/components/Switcher/Switcher.styles.d.ts +0 -12
  715. package/components/Switcher/Switcher.styles.js +0 -39
  716. package/components/Switcher/Switcher.styles.js.map +0 -1
  717. package/components/Tabs/Indicator.styles.d.ts +0 -8
  718. package/components/Tabs/Indicator.styles.js +0 -27
  719. package/components/Tabs/Indicator.styles.js.map +0 -1
  720. package/components/Tabs/Tab.styles.d.ts +0 -33
  721. package/components/Tabs/Tab.styles.js +0 -105
  722. package/components/Tabs/Tab.styles.js.map +0 -1
  723. package/components/Tabs/Tabs.styles.d.ts +0 -7
  724. package/components/Tabs/Tabs.styles.js +0 -26
  725. package/components/Tabs/Tabs.styles.js.map +0 -1
  726. package/components/Tabs/helpers.d.ts +0 -6
  727. package/components/Tabs/helpers.js +0 -25
  728. package/components/Tabs/helpers.js.map +0 -1
  729. package/components/Textarea/Textarea.styles.d.ts +0 -23
  730. package/components/Textarea/Textarea.styles.js +0 -73
  731. package/components/Textarea/Textarea.styles.js.map +0 -1
  732. package/components/TimePicker/TimePicker.styles.d.ts +0 -12
  733. package/components/TimePicker/TimePicker.styles.js +0 -39
  734. package/components/TimePicker/TimePicker.styles.js.map +0 -1
  735. package/components/Toast/Toast.styles.d.ts +0 -6
  736. package/components/Toast/Toast.styles.js +0 -24
  737. package/components/Toast/Toast.styles.js.map +0 -1
  738. package/components/Toast/ToastView.styles.d.ts +0 -18
  739. package/components/Toast/ToastView.styles.js +0 -67
  740. package/components/Toast/ToastView.styles.js.map +0 -1
  741. package/components/Toggle/Toggle.mixins.d.ts +0 -8
  742. package/components/Toggle/Toggle.mixins.js +0 -32
  743. package/components/Toggle/Toggle.mixins.js.map +0 -1
  744. package/components/Toggle/Toggle.styles.d.ts +0 -49
  745. package/components/Toggle/Toggle.styles.js +0 -147
  746. package/components/Toggle/Toggle.styles.js.map +0 -1
  747. package/components/Token/Token.styles.d.ts +0 -23
  748. package/components/Token/Token.styles.js +0 -67
  749. package/components/Token/Token.styles.js.map +0 -1
  750. package/components/TokenInput/TokenInput.styles.d.ts +0 -21
  751. package/components/TokenInput/TokenInput.styles.js +0 -68
  752. package/components/TokenInput/TokenInput.styles.js.map +0 -1
  753. package/components/Tooltip/Tooltip.styles.d.ts +0 -11
  754. package/components/Tooltip/Tooltip.styles.js +0 -36
  755. package/components/Tooltip/Tooltip.styles.js.map +0 -1
  756. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +0 -12
  757. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +0 -36
  758. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +0 -1
  759. package/internal/CloseButtonIcon/CloseButtonIcon.styles.d.ts +0 -8
  760. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js +0 -24
  761. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +0 -1
  762. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +0 -4
  763. package/internal/CustomComboBox/CustomComboBox.styles.js +0 -18
  764. package/internal/CustomComboBox/CustomComboBox.styles.js.map +0 -1
  765. package/internal/DateSelect/DateSelect.styles.d.ts +0 -9
  766. package/internal/DateSelect/DateSelect.styles.js +0 -24
  767. package/internal/DateSelect/DateSelect.styles.js.map +0 -1
  768. package/internal/InputLikeText/InputLikeText.styles.d.ts +0 -8
  769. package/internal/InputLikeText/InputLikeText.styles.js +0 -30
  770. package/internal/InputLikeText/InputLikeText.styles.js.map +0 -1
  771. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +0 -3
  772. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +0 -15
  773. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +0 -1
  774. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +0 -3
  775. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js +0 -15
  776. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +0 -1
  777. package/internal/Menu/Menu.styles.d.ts +0 -16
  778. package/internal/Menu/Menu.styles.js +0 -51
  779. package/internal/Menu/Menu.styles.js.map +0 -1
  780. package/internal/MenuMessage/MenuMessage.styles.d.ts +0 -11
  781. package/internal/MenuMessage/MenuMessage.styles.js +0 -41
  782. package/internal/MenuMessage/MenuMessage.styles.js.map +0 -1
  783. package/internal/MobilePopup/MobilePopup.styles.d.ts +0 -17
  784. package/internal/MobilePopup/MobilePopup.styles.js +0 -57
  785. package/internal/MobilePopup/MobilePopup.styles.js.map +0 -1
  786. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +0 -7
  787. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +0 -25
  788. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +0 -1
  789. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +0 -14
  790. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +0 -47
  791. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +0 -1
  792. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +0 -3
  793. package/internal/NativeDateInput/NativeDateInput.styles.js +0 -15
  794. package/internal/NativeDateInput/NativeDateInput.styles.js.map +0 -1
  795. package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +0 -3
  796. package/internal/NativeTimeInput/NativeTimeInput.styles.js +0 -15
  797. package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +0 -1
  798. package/internal/Popup/Popup.styles.d.ts +0 -22
  799. package/internal/Popup/Popup.styles.js +0 -69
  800. package/internal/Popup/Popup.styles.js.map +0 -1
  801. package/internal/Popup/PopupPin.styles.d.ts +0 -9
  802. package/internal/Popup/PopupPin.styles.js +0 -33
  803. package/internal/Popup/PopupPin.styles.js.map +0 -1
  804. package/internal/PopupMenu/PopupMenu.styles.d.ts +0 -4
  805. package/internal/PopupMenu/PopupMenu.styles.js +0 -18
  806. package/internal/PopupMenu/PopupMenu.styles.js.map +0 -1
  807. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +0 -7
  808. package/internal/ResizeDetector/ResizeDetector.styles.js +0 -27
  809. package/internal/ResizeDetector/ResizeDetector.styles.js.map +0 -1
  810. package/internal/SpinnerIcon/SpinnerIcon.styles.d.ts +0 -6
  811. package/internal/SpinnerIcon/SpinnerIcon.styles.js +0 -24
  812. package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +0 -1
  813. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
  814. package/internal/TextWidthHelper/TextWidthHelper.styles.js +0 -18
  815. package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +0 -1
  816. package/internal/TimeInput/TimeFragments.styles.d.ts +0 -32
  817. package/internal/TimeInput/TimeFragments.styles.js +0 -78
  818. package/internal/TimeInput/TimeFragments.styles.js.map +0 -1
  819. package/internal/TimeInput/TimeInput.styles.d.ts +0 -7
  820. package/internal/TimeInput/TimeInput.styles.js +0 -24
  821. package/internal/TimeInput/TimeInput.styles.js.map +0 -1
  822. package/internal/icons2022/BaseIcon.styles.d.ts +0 -3
  823. package/internal/icons2022/BaseIcon.styles.js +0 -16
  824. package/internal/icons2022/BaseIcon.styles.js.map +0 -1
  825. package/internal/themes/DarkTheme6_5.d.ts +0 -1
  826. package/internal/themes/DarkTheme6_5.js +0 -87
  827. package/internal/themes/DarkTheme6_5.js.map +0 -1
  828. package/internal/themes/LightTheme6_5.d.ts +0 -1
  829. package/internal/themes/LightTheme6_5.js +0 -87
  830. package/internal/themes/LightTheme6_5.js.map +0 -1
  831. package/lib/Upgrades.d.ts +0 -6
  832. package/lib/Upgrades.js +0 -34
  833. package/lib/Upgrades.js.map +0 -1
  834. package/lib/styles/Mixins.d.ts +0 -2
  835. package/lib/styles/Mixins.js +0 -7
  836. package/lib/styles/Mixins.js.map +0 -1
  837. package/lib/styles/UiFont.d.ts +0 -3
  838. package/lib/styles/UiFont.js +0 -18
  839. package/lib/styles/UiFont.js.map +0 -1
  840. package/lib/theming/AnimationKeyframes.d.ts +0 -7
  841. package/lib/theming/AnimationKeyframes.js +0 -24
  842. package/lib/theming/AnimationKeyframes.js.map +0 -1
  843. package/typings/stylis-plugin-extra-scope.d.ts +0 -3
@@ -1 +1 @@
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
+ {"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 { Emotion } 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 { 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.css.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"]}
@@ -0,0 +1,34 @@
1
+ import '../../lib/styles/LabGrotesqueBaseline.css.js';
2
+ export declare const globalClasses: {
3
+ circle: string;
4
+ };
5
+ export declare const root: string;
6
+ export declare const rootSmall: string;
7
+ export declare const rootMedium: string;
8
+ export declare const rootLarge: string;
9
+ export declare const rootChecked: string;
10
+ export declare const circle: string;
11
+ export declare const circleSmall: string;
12
+ export declare const circleMedium: string;
13
+ export declare const circleLarge: string;
14
+ export declare const focus: string;
15
+ export declare const warning: string;
16
+ export declare const error: string;
17
+ export declare const checked: string;
18
+ export declare const checkedSmall: string;
19
+ export declare const checkedMedium: string;
20
+ export declare const checkedLarge: string;
21
+ export declare const checkedDisabled: string;
22
+ export declare const input: string;
23
+ export declare const disabled: string;
24
+ export declare const caption: string;
25
+ export declare const placeholder: string;
26
+ export declare const captionWrapper: string;
27
+ export declare const subcaption: string;
28
+ export declare const subcaptionSmall: string;
29
+ export declare const subcaptionMedium: string;
30
+ export declare const subcaptionLarge: string;
31
+ export declare const captionDisabled: string;
32
+ export declare const getStyles: (_emotion?: unknown) => {
33
+ [x: string]: (...args: unknown[]) => string;
34
+ };
@@ -0,0 +1,32 @@
1
+
2
+
3
+ import { bindStaticStyles as _b9cd9 } from '../../lib/theming/bindStaticStyles.js';
4
+ export var caption = 'react-ui-Radio__caption';
5
+ export var captionDisabled = 'react-ui-Radio__captionDisabled';
6
+ export var captionWrapper = 'react-ui-Radio__captionWrapper';
7
+ export var checked = 'react-ui-Radio__checked';
8
+ export var checkedDisabled = 'react-ui-Radio__checkedDisabled';
9
+ export var checkedLarge = 'react-ui-Radio__checkedLarge';
10
+ export var checkedMedium = 'react-ui-Radio__checkedMedium';
11
+ export var checkedSmall = 'react-ui-Radio__checkedSmall';
12
+ export var circle = 'react-ui-Radio__circle';
13
+ export var circleLarge = 'react-ui-Radio__circleLarge';
14
+ export var circleMedium = 'react-ui-Radio__circleMedium';
15
+ export var circleSmall = 'react-ui-Radio__circleSmall';
16
+ export var disabled = 'react-ui-Radio__disabled';
17
+ export var error = 'react-ui-Radio__error';
18
+ export var focus = 'react-ui-Radio__focus';
19
+ export var getStyles = _b9cd9({root:'react-ui-Radio__root',rootSmall:'react-ui-Radio__rootSmall',rootMedium:'react-ui-Radio__rootMedium',rootLarge:'react-ui-Radio__rootLarge',rootChecked:'react-ui-Radio__rootChecked',circle:'react-ui-Radio__circle',circleSmall:'react-ui-Radio__circleSmall',circleMedium:'react-ui-Radio__circleMedium',circleLarge:'react-ui-Radio__circleLarge',focus:'react-ui-Radio__focus',warning:'react-ui-Radio__warning',error:'react-ui-Radio__error',checked:'react-ui-Radio__checked',checkedSmall:'react-ui-Radio__checkedSmall',checkedMedium:'react-ui-Radio__checkedMedium',checkedLarge:'react-ui-Radio__checkedLarge',checkedDisabled:'react-ui-Radio__checkedDisabled',input:'react-ui-Radio__input',disabled:'react-ui-Radio__disabled',caption:'react-ui-Radio__caption',captionDisabled:'react-ui-Radio__captionDisabled',placeholder:'react-ui-Radio__placeholder',captionWrapper:'react-ui-Radio__captionWrapper',subcaption:'react-ui-Radio__subcaption',subcaptionDisabled:'react-ui-Radio__captionDisabled',subcaptionSmall:'react-ui-Radio__subcaptionSmall',subcaptionMedium:'react-ui-Radio__subcaptionMedium',subcaptionLarge:'react-ui-Radio__subcaptionLarge'});
20
+ export var globalClasses = {circle:'react-ui-radio-circle'};
21
+ export var input = 'react-ui-Radio__input';
22
+ export var placeholder = 'react-ui-Radio__placeholder';
23
+ export var root = 'react-ui-Radio__root';
24
+ export var rootChecked = 'react-ui-Radio__rootChecked';
25
+ export var rootLarge = 'react-ui-Radio__rootLarge';
26
+ export var rootMedium = 'react-ui-Radio__rootMedium';
27
+ export var rootSmall = 'react-ui-Radio__rootSmall';
28
+ export var subcaption = 'react-ui-Radio__subcaption';
29
+ export var subcaptionLarge = 'react-ui-Radio__subcaptionLarge';
30
+ export var subcaptionMedium = 'react-ui-Radio__subcaptionMedium';
31
+ export var subcaptionSmall = 'react-ui-Radio__subcaptionSmall';
32
+ export var warning = 'react-ui-Radio__warning';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio.css.js","sourceRoot":"","sources":["Radio.css.ts"],"names":[],"mappings":"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","sourcesContent":["import { globalStyle, style } from '@vanilla-extract/css';\n\nimport '../../lib/styles/LabGrotesqueBaseline.css.js';\nimport { prefix } from '../../lib/theming/Emotion.js';\nimport { exportStyles, t } from '../../lib/theming/vanilla.js';\nimport {\n afterOutlineMixin,\n circleSizeMixin,\n disabledTextColorMixin,\n outlineColorMixin,\n radioCheckedMixin,\n radioSizeMixin,\n subcaptionMixin,\n} from './Radio.mixins.js';\n\nexport const globalClasses = prefix('radio')({\n circle: 'circle',\n});\n\nexport const root = style({\n cursor: 'pointer',\n position: 'relative',\n whiteSpace: 'nowrap',\n display: 'inline-flex',\n alignItems: 'baseline',\n});\n\nexport const rootSmall = style(radioSizeMixin(t.radioFontSizeSmall, t.radioLineHeightSmall, t.radioPaddingYSmall));\n\nexport const rootMedium = style(radioSizeMixin(t.radioFontSizeMedium, t.radioLineHeightMedium, t.radioPaddingYMedium));\n\nexport const rootLarge = style(radioSizeMixin(t.radioFontSizeLarge, t.radioLineHeightLarge, t.radioPaddingYLarge));\n\nexport const rootChecked = style({});\n\nexport const circle = style({\n backgroundImage: t.radioBgImage,\n borderRadius: '50%',\n border: t.radioBorder,\n boxShadow: t.radioBoxShadow,\n boxSizing: 'border-box',\n display: 'inline-block',\n position: 'absolute',\n left: 0,\n backgroundColor: t.radioBgColor,\n});\n\nexport const circleSmall = style(\n circleSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.radioFontSizeSmall,\n t.radioSizeSmall,\n t.radioBorderWidthCompensation,\n t.radioCircleOffsetY,\n ),\n);\n\nexport const circleMedium = style(\n circleSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.radioFontSizeMedium,\n t.radioSizeMedium,\n t.radioBorderWidthCompensation,\n t.radioCircleOffsetY,\n ),\n);\n\nexport const circleLarge = style(\n circleSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.radioFontSizeLarge,\n t.radioSizeLarge,\n t.radioBorderWidthCompensation,\n t.radioCircleOffsetY,\n ),\n);\n\nexport const focus = style({});\n\nexport const warning = style({});\n\nexport const error = style({});\n\nexport const checked = style({\n backgroundColor: t.radioCheckedBgColor,\n borderColor: t.radioCheckedBorderColor,\n});\n\nexport const checkedSmall = style({});\n\nexport const checkedMedium = style({});\n\nexport const checkedLarge = style({});\n\nexport const checkedDisabled = style({});\n\nexport const input = style({\n display: 'inline-block',\n height: 0,\n opacity: 0,\n position: 'absolute',\n width: 0,\n zIndex: -1,\n});\n\nexport const disabled = style({\n // !important — перебить hover и active корня\n background: `${t.radioDisabledBg} !important`,\n borderColor: `${t.radioDisabledBorderColor} !important`,\n boxShadow: `${t.radioDisabledShadow} !important`,\n});\n\nexport const caption = style({\n display: t.radioCaptionDisplay,\n whiteSpace: 'normal',\n color: t.radioTextColor,\n});\n\nexport const placeholder = style({ display: 'inline-block' });\n\nexport const captionWrapper = style({\n display: 'inline-block',\n paddingLeft: t.radioCaptionGap,\n});\n\nexport const subcaption = style({\n marginTop: 2,\n color: t.radioCommentTextColor,\n});\n\nexport const subcaptionSmall = style(subcaptionMixin(t.radioCommentFontSizeSmall, t.radioCommentLineHeightSmall));\n\nexport const subcaptionMedium = style(subcaptionMixin(t.radioCommentFontSizeMedium, t.radioCommentLineHeightMedium));\n\nexport const subcaptionLarge = style(subcaptionMixin(t.radioCommentFontSizeLarge, t.radioCommentLineHeightLarge));\n\n// модификатор — после базовых: в cx(...) он шёл последним; один класс и для подписи, и для подзаголовка\nexport const captionDisabled = style(disabledTextColorMixin(t.textColorDisabled));\n\n// вложенные правила — после баз всех классов файла, как было в склеенном CSS Emotion\nconst circleClass = `.${globalClasses.circle}`;\n\nglobalStyle(`${root} ${circleClass}`, {\n transition: `background ${t.transitionDuration} ${t.transitionTimingFunction}`,\n});\nglobalStyle(`${root}:hover ${circleClass}`, {\n background: t.radioHoverBg,\n boxShadow: t.radioHoverShadow,\n});\nglobalStyle(`${root}:active ${circleClass}`, {\n background: t.radioActiveBg,\n boxShadow: t.radioActiveShadow,\n});\nglobalStyle(`${root}::before`, {\n // non-breaking space.\n // makes a correct space for absolutely positioned circle,\n // and also height and baseline for radio without caption.\n content: \"'\\\\00A0'\",\n display: 'inline-block',\n flex: '0 0 auto',\n});\n\nglobalStyle(`${rootSmall}::before`, { width: t.radioSizeSmall });\nglobalStyle(`${rootMedium}::before`, { width: t.radioSizeMedium });\nglobalStyle(`${rootLarge}::before`, { width: t.radioSizeLarge });\n\nglobalStyle(`${rootChecked}:hover ${circleClass}`, { background: t.radioCheckedHoverBgColor });\n\nglobalStyle(`${focus}::after`, {\n ...afterOutlineMixin(t.radioOutlineWidth),\n ...outlineColorMixin(t.radioFocusShadow, t.radioBorderColorFocus),\n});\nglobalStyle(`${warning}::after`, {\n ...afterOutlineMixin(t.radioOutlineWidth),\n ...outlineColorMixin(t.radioFocusShadow, t.radioBorderColorWarning),\n});\nglobalStyle(`${error}::after`, {\n ...afterOutlineMixin(t.radioOutlineWidth),\n ...outlineColorMixin(t.radioFocusShadow, t.radioBorderColorError),\n});\n\nglobalStyle(`${checked}::before`, {\n content: \"' '\",\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n margin: 'auto',\n borderRadius: '50%',\n background: t.radioCheckedBulletColor,\n});\nglobalStyle(`${checkedSmall}::before`, radioCheckedMixin(t.radioBulletSizeSmall));\nglobalStyle(`${checkedMedium}::before`, radioCheckedMixin(t.radioBulletSizeMedium));\nglobalStyle(`${checkedLarge}::before`, radioCheckedMixin(t.radioBulletSizeLarge));\n\nglobalStyle(`${checkedDisabled}::before`, { background: t.radioCheckedDisabledBulletBg });\n\nexport const getStyles = exportStyles({\n root,\n rootSmall,\n rootMedium,\n rootLarge,\n rootChecked,\n circle,\n circleSmall,\n circleMedium,\n circleLarge,\n focus,\n warning,\n error,\n checked,\n checkedSmall,\n checkedMedium,\n checkedLarge,\n checkedDisabled,\n input,\n disabled,\n caption,\n captionDisabled,\n placeholder,\n captionWrapper,\n subcaption,\n subcaptionDisabled: captionDisabled,\n subcaptionSmall,\n subcaptionMedium,\n subcaptionLarge,\n});\n"]}
@@ -52,7 +52,7 @@ import { rootNode } from '../../lib/rootNode/index.js';
52
52
  import { withSize } from '../../lib/size/SizeDecorator.js';
53
53
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
54
54
  import { RadioGroupContext } from '../RadioGroup/RadioGroupContext.js';
55
- import { getStyles, globalClasses } from './Radio.styles.js';
55
+ import { getStyles, globalClasses } from './Radio.css.js';
56
56
  export var RadioDataTids = {
57
57
  root: 'Radio__root',
58
58
  };
@@ -1 +1 @@
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"]}
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 type { Emotion } 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.css.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"]}
@@ -1,7 +1,39 @@
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;
1
+ /** Размер корня; ширину `::before` (`radioSize`) задаёт отдельное вложенное правило. */
2
+ export declare const radioSizeMixin: (fontSize: string, lineHeight: string, paddingY: string) => {
3
+ fontSize: string;
4
+ lineHeight: string;
5
+ padding: string;
6
+ };
7
+ export declare const circleSizeMixin: (labGrotesqueBaselineCompensation: string, fontSize: string, radioSize: string, radioBorderWidthCompensation: string, radioCircleOffsetY: string) => {
8
+ height: string;
9
+ width: string;
10
+ margin: string;
11
+ };
12
+ /** Правило для `::before` отмеченной радиокнопки. */
13
+ export declare const radioCheckedMixin: (bulletSize: string) => {
14
+ height: string;
15
+ width: string;
16
+ };
17
+ export declare const afterOutlineMixin: (radioOutlineWidth: string) => {
18
+ readonly content: "' '";
19
+ readonly position: "absolute";
20
+ readonly top: `calc(-1 * ${string})`;
21
+ readonly bottom: `calc(-1 * ${string})`;
22
+ readonly left: `calc(-1 * ${string})`;
23
+ readonly right: `calc(-1 * ${string})`;
24
+ readonly borderWidth: string;
25
+ readonly borderStyle: "solid";
26
+ readonly borderRadius: "50%";
27
+ readonly boxSizing: "border-box";
28
+ };
29
+ export declare const outlineColorMixin: (shadow: string, borderColor: string) => {
30
+ boxShadow: string;
31
+ borderColor: string;
32
+ };
33
+ export declare const subcaptionMixin: (fontSize: string, lineHeight: string) => {
34
+ fontSize: string;
35
+ lineHeight: string;
36
+ };
37
+ export declare const disabledTextColorMixin: (textColor: string) => {
38
+ color: string;
39
+ };
@@ -1,30 +1,44 @@
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
- };
1
+ import { getLabGrotesqueBaselineCompensationCss } from '../../lib/styles/getLabGrotesqueBaselineCompensation.js';
2
+ /** Размер корня; ширину `::before` (`radioSize`) задаёт отдельное вложенное правило. */
3
+ export var radioSizeMixin = function (fontSize, lineHeight, paddingY) { return ({
4
+ fontSize: fontSize,
5
+ lineHeight: lineHeight,
6
+ padding: "".concat(paddingY, " 0"),
7
+ }); };
6
8
  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);
9
+ var baselineCompensation = getLabGrotesqueBaselineCompensationCss(fontSize, labGrotesqueBaselineCompensation);
10
10
  var circleSize = "calc(".concat(radioSize, " - 2 * ").concat(radioBorderWidthCompensation, ")");
11
- var circleOffsetY = "calc(".concat(radioCircleOffsetY, " + ").concat(radioBorderWidthCompensation, " + ").concat(baselineCompensation, "px)");
11
+ var circleOffsetY = "calc(".concat(radioCircleOffsetY, " + ").concat(radioBorderWidthCompensation, " + ").concat(baselineCompensation, ")");
12
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 ");
13
+ return {
14
+ height: circleSize,
15
+ width: circleSize,
16
+ margin: "".concat(circleOffsetY, " ").concat(circleMarginX, " 0"),
17
+ };
17
18
  };
19
+ /** Правило для `::before` отмеченной радиокнопки. */
20
+ export var radioCheckedMixin = function (bulletSize) { return ({
21
+ height: bulletSize,
22
+ width: bulletSize,
23
+ }); };
18
24
  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 ");
25
+ return ({
26
+ content: "' '",
27
+ position: 'absolute',
28
+ top: "calc(-1 * ".concat(radioOutlineWidth, ")"),
29
+ bottom: "calc(-1 * ".concat(radioOutlineWidth, ")"),
30
+ left: "calc(-1 * ".concat(radioOutlineWidth, ")"),
31
+ right: "calc(-1 * ".concat(radioOutlineWidth, ")"),
32
+ borderWidth: radioOutlineWidth,
33
+ borderStyle: 'solid',
34
+ borderRadius: '50%',
35
+ boxSizing: 'border-box',
36
+ });
29
37
  };
38
+ export var outlineColorMixin = function (shadow, borderColor) { return ({
39
+ boxShadow: shadow,
40
+ borderColor: borderColor,
41
+ }); };
42
+ export var subcaptionMixin = function (fontSize, lineHeight) { return ({ fontSize: fontSize, lineHeight: lineHeight }); };
43
+ export var disabledTextColorMixin = function (textColor) { return ({ color: textColor }); };
30
44
  //# sourceMappingURL=Radio.mixins.js.map
@@ -1 +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"]}
1
+ {"version":3,"file":"Radio.mixins.js","sourceRoot":"","sources":["Radio.mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sCAAsC,EAAE,MAAM,yDAAyD,CAAC;AAEjH,wFAAwF;AACxF,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,QAAgB,EAAE,UAAkB,EAAE,QAAgB,IAAK,OAAA,CAAC;IACzF,QAAQ,UAAA;IACR,UAAU,YAAA;IACV,OAAO,EAAE,UAAG,QAAQ,OAAI;CACzB,CAAC,EAJwF,CAIxF,CAAC;AAEH,MAAM,CAAC,IAAM,eAAe,GAAG,UAC7B,gCAAwC,EACxC,QAAgB,EAChB,SAAiB,EACjB,4BAAoC,EACpC,kBAA0B;IAE1B,IAAM,oBAAoB,GAAG,sCAAsC,CAAC,QAAQ,EAAE,gCAAgC,CAAC,CAAC;IAChH,IAAM,UAAU,GAAG,eAAQ,SAAS,oBAAU,4BAA4B,MAAG,CAAC;IAC9E,IAAM,aAAa,GAAG,eAAQ,kBAAkB,gBAAM,4BAA4B,gBAAM,oBAAoB,MAAG,CAAC;IAChH,IAAM,aAAa,GAAG,4BAA4B,CAAC;IACnD,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,UAAG,aAAa,cAAI,aAAa,OAAI;KAC9C,CAAC;AACJ,CAAC,CAAC;AAEF,qDAAqD;AACrD,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,UAAkB,IAAK,OAAA,CAAC;IACxD,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,UAAU;CAClB,CAAC,EAHuD,CAGvD,CAAC;AAEH,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,iBAAyB;IACzD,OAAA,CAAC;QACC,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,oBAAa,iBAAiB,MAAG;QACtC,MAAM,EAAE,oBAAa,iBAAiB,MAAG;QACzC,IAAI,EAAE,oBAAa,iBAAiB,MAAG;QACvC,KAAK,EAAE,oBAAa,iBAAiB,MAAG;QACxC,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,YAAY;KACxB,CAAU;AAXX,CAWW,CAAC;AAEd,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,MAAc,EAAE,WAAmB,IAAK,OAAA,CAAC;IACzE,SAAS,EAAE,MAAM;IACjB,WAAW,aAAA;CACZ,CAAC,EAHwE,CAGxE,CAAC;AAEH,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,QAAgB,EAAE,UAAkB,IAAK,OAAA,CAAC,EAAE,QAAQ,UAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAA1B,CAA0B,CAAC;AAEpG,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,SAAiB,IAAK,OAAA,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAtB,CAAsB,CAAC","sourcesContent":["import { getLabGrotesqueBaselineCompensationCss } from '../../lib/styles/getLabGrotesqueBaselineCompensation.js';\n\n/** Размер корня; ширину `::before` (`radioSize`) задаёт отдельное вложенное правило. */\nexport const radioSizeMixin = (fontSize: string, lineHeight: string, paddingY: string) => ({\n fontSize,\n lineHeight,\n padding: `${paddingY} 0`,\n});\n\nexport const circleSizeMixin = (\n labGrotesqueBaselineCompensation: string,\n fontSize: string,\n radioSize: string,\n radioBorderWidthCompensation: string,\n radioCircleOffsetY: string,\n) => {\n const baselineCompensation = getLabGrotesqueBaselineCompensationCss(fontSize, labGrotesqueBaselineCompensation);\n const circleSize = `calc(${radioSize} - 2 * ${radioBorderWidthCompensation})`;\n const circleOffsetY = `calc(${radioCircleOffsetY} + ${radioBorderWidthCompensation} + ${baselineCompensation})`;\n const circleMarginX = radioBorderWidthCompensation;\n return {\n height: circleSize,\n width: circleSize,\n margin: `${circleOffsetY} ${circleMarginX} 0`,\n };\n};\n\n/** Правило для `::before` отмеченной радиокнопки. */\nexport const radioCheckedMixin = (bulletSize: string) => ({\n height: bulletSize,\n width: bulletSize,\n});\n\nexport const afterOutlineMixin = (radioOutlineWidth: string) =>\n ({\n content: \"' '\",\n position: 'absolute',\n top: `calc(-1 * ${radioOutlineWidth})`,\n bottom: `calc(-1 * ${radioOutlineWidth})`,\n left: `calc(-1 * ${radioOutlineWidth})`,\n right: `calc(-1 * ${radioOutlineWidth})`,\n borderWidth: radioOutlineWidth,\n borderStyle: 'solid',\n borderRadius: '50%',\n boxSizing: 'border-box',\n }) as const;\n\nexport const outlineColorMixin = (shadow: string, borderColor: string) => ({\n boxShadow: shadow,\n borderColor,\n});\n\nexport const subcaptionMixin = (fontSize: string, lineHeight: string) => ({ fontSize, lineHeight });\n\nexport const disabledTextColorMixin = (textColor: string) => ({ color: textColor });\n"]}
@@ -0,0 +1,7 @@
1
+ export declare const root: string;
2
+ export declare const item: string;
3
+ export declare const itemFirst: string;
4
+ export declare const itemInline: string;
5
+ export declare const getStyles: (_emotion?: unknown) => {
6
+ [x: string]: (...args: unknown[]) => string;
7
+ };
@@ -0,0 +1,7 @@
1
+
2
+ import { bindStaticStyles as _b9cd9 } from '../../lib/theming/bindStaticStyles.js';
3
+ export var getStyles = _b9cd9({root:'react-ui-RadioGroup__root',item:'react-ui-RadioGroup__item',itemFirst:'react-ui-RadioGroup__itemFirst',itemInline:'react-ui-RadioGroup__itemInline'});
4
+ export var item = 'react-ui-RadioGroup__item';
5
+ export var itemFirst = 'react-ui-RadioGroup__itemFirst';
6
+ export var itemInline = 'react-ui-RadioGroup__itemInline';
7
+ export var root = 'react-ui-RadioGroup__root';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.css.js","sourceRoot":"","sources":["RadioGroup.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,CAAC,IAAM,IAAI,GAAG,KAAK,CAAC;IACxB,OAAO,EAAE,cAAc;IACvB,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,QAAQ;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,IAAI,GAAG,KAAK,CAAC;IACxB,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,MAAM;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,SAAS,GAAG,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAEjD,MAAM,CAAC,IAAM,UAAU,GAAG,KAAK,CAAC;IAC9B,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,MAAM;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,SAAS,GAAG,YAAY,CAAC;IACpC,IAAI,MAAA;IACJ,IAAI,MAAA;IACJ,SAAS,WAAA;IACT,UAAU,YAAA;CACX,CAAC,CAAC","sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { exportStyles } from '../../lib/theming/vanilla.js';\n\nexport const root = style({\n display: 'inline-block',\n userSelect: 'none',\n cursor: 'default',\n lineHeight: 'normal',\n verticalAlign: 'bottom',\n});\n\nexport const item = style({\n display: 'table',\n marginTop: 0,\n width: '100%',\n});\n\nexport const itemFirst = style({ marginTop: 0 });\n\nexport const itemInline = style({\n display: 'inline-table',\n marginRight: 15,\n marginTop: 0,\n width: 'auto',\n});\n\nexport const getStyles = exportStyles({\n root,\n item,\n itemFirst,\n itemInline,\n});\n"]}
@@ -41,7 +41,7 @@ import { rootNode } from '../../lib/rootNode/index.js';
41
41
  import { getRandomID, isNonNullable } from '../../lib/utils.js';
42
42
  import { Radio } from '../Radio/index.js';
43
43
  import { Prevent } from './Prevent.js';
44
- import { getStyles } from './RadioGroup.styles.js';
44
+ import { getStyles } from './RadioGroup.css.js';
45
45
  import { RadioGroupContext } from './RadioGroupContext.js';
46
46
  export var RadioGroupDataTids = {
47
47
  root: 'RadioGroup__root',
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","sourceRoot":"","sources":["RadioGroup.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport invariant from 'invariant';\nimport type { AriaAttributes, JSX } from 'react';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes.js';\nimport { FocusTrap } from '../../internal/FocusTrap/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.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 { getRandomID, isNonNullable } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { Radio } from '../Radio/index.js';\nimport { Prevent } from './Prevent.js';\nimport { getStyles } from './RadioGroup.styles.js';\nimport { RadioGroupContext } from './RadioGroupContext.js';\nimport type { RadioGroupContextType } from './RadioGroupContext.js';\n\nexport interface RadioGroupProps<T = string | number> extends CommonProps {\n /** Значение по умолчанию. Должно быть одним из значений дочерних радиокнопок или значений из `items`. */\n defaultValue?: T;\n\n /** Значение группы радиокнопок. Должно быть одним из значений радиокнопок.\n * Если не указано, то компонент будет работать как неконтролируемый. */\n value?: T;\n\n /** Массив параметров радиокнопок. Может быть типа `Array<Value>` или `Array<[Value, Data]>`,\n * где тип `Value` — значение радиокнопки, а `Data` — значение которое будет использовано вторым параметром в `renderItem`.\n * Тип `Array<Value>` будет приведен к типу `Array<[Value, Value]>`.\n * Может быть использовано, если не передан `children`. */\n items?: T[] | Array<[T, React.ReactNode]>;\n\n /** Устанавливает атрибут `name` для дочерних радиокнопок. Если не указан, то сгенерируется случайное имя. */\n name?: string;\n\n /** Получает уникальный ключ по элементу.\n * @param item - элемент, по которому нужно получить ключ. */\n toKey?: (item: T) => string | number;\n\n /** Блокирует все радиокнопки в группе. */\n disabled?: boolean;\n\n /** Переводит контрол в состояние предупреждения. */\n warning?: boolean;\n\n /** Переводит контрол в состояние ошибки. */\n error?: boolean;\n\n /** Размещает радиокнопки в строку. Работает только со значениями, переданными через `items`, не работает с `children`. */\n inline?: boolean;\n\n /** Ширина радиогруппы. Работает только со значениями, переданными через `items`, не работает с `children`. */\n width?: React.CSSProperties['width'];\n\n /** Отрисовывает контент радиокнопки. Работает только со значениями, переданными через `items`, не работает с `children`.\n * @param {Value} itemValue - значение радиокнопки.\n * @param {Data} data - значение для отрисовки радиокнопки. */\n renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n\n /** Событие изменения `value`. */\n onValueChange?: (value: T) => void;\n\n /** Событие потери радиогруппой фокуса. */\n onBlur?: (event: FocusEvent) => void;\n\n /** Событие ухода мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: () => any;\n\n /** Событие наведения мышкой (событие `onmouseover`). */\n onMouseOver?: () => any;\n\n /** Событие наведения мышкой (событие `onmouseenter`). Смотрите разницу с `onMouseOver` в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: () => any;\n}\n\nexport interface RadioGroupState<T> {\n activeItem?: T;\n}\n\nexport const RadioGroupDataTids = {\n root: 'RadioGroup__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;\n\n/** Группирует радиокнопки. Контейнер для компонента [Radio](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_input-data-radio--docs). */\n@withRenderEnvironment\n@rootNode\nexport class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {\n public static __KONTUR_REACT_UI__ = 'RadioGroup';\n public static displayName = 'RadioGroup';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n };\n\n public static Prevent = Prevent;\n\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n constructor(props: RadioGroupProps<T>) {\n super(props);\n\n this.state = {\n activeItem: this.props.defaultValue,\n };\n }\n\n private getRadioGroupContextValue = (): RadioGroupContextType<T> => {\n return {\n activeItem: this.getValue(),\n onSelect: this.handleSelect,\n name: this.getName(),\n disabled: this.props.disabled,\n error: this.props.error,\n warning: this.props.warning,\n };\n };\n\n public render(): React.JSX.Element {\n const {\n width,\n onMouseLeave,\n onMouseOver,\n onMouseEnter,\n onBlur,\n 'aria-describedby': ariaDescribedby,\n disabled,\n } = this.props;\n const style = {\n width: width ?? 'auto',\n };\n const handlers = {\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n };\n this.styles = getStyles(this.emotion);\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props} {...getVisualStateDataAttributes({ disabled })}>\n <FocusTrap onBlur={onBlur}>\n <span\n data-tid={RadioGroupDataTids.root}\n ref={this.ref}\n style={style}\n className={this.cx({\n [this.styles.root()]: true,\n })}\n role=\"radiogroup\"\n {...handlers}\n aria-describedby={ariaDescribedby}\n >\n <RadioGroupContext.Provider value={this.getRadioGroupContextValue()}>\n {this.renderChildren()}\n </RadioGroupContext.Provider>\n </span>\n </FocusTrap>\n </CommonWrapper>\n );\n }\n\n /** Программно устанавливает фокус на радиокнопку. Появляется фокусная обводка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus(): void {\n const node = this.node;\n if (!node) {\n return;\n }\n\n let radio = node.querySelector('input[type=\"radio\"]:checked') as Nullable<HTMLInputElement>;\n\n // If no checked radios, try get first radio\n if (!radio || radio.disabled) {\n radio = node.querySelector('input[type=\"radio\"]:not([disabled])') as Nullable<HTMLInputElement>;\n }\n\n if (radio) {\n radio.focus();\n }\n }\n\n private getValue = () => (this.isControlled() ? this.props.value : this.state.activeItem);\n\n private getName = () => this.props.name || this.name;\n\n private isControlled = () => isNonNullable(this.props.value);\n\n private handleSelect = (value: T) => {\n if (!this.isControlled()) {\n this.setState({ activeItem: value });\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private renderChildren() {\n const { items, children } = this.props;\n invariant((!items && children) || (items && !children), 'Either items or children must be passed, not both');\n return items ? mapItems<T>(this.renderRadio, items) : children;\n }\n\n private renderRadio = (itemValue: T, data: React.ReactNode, index: number): JSX.Element => {\n const itemProps = {\n key: this.getKeyByItem(itemValue),\n className: this.cx({\n [this.styles.item()]: true,\n [this.styles.itemFirst()]: index === 0,\n [this.styles.itemInline()]: !!this.props.inline,\n }),\n };\n\n return (\n <span {...itemProps} role=\"presentation\">\n <Radio value={itemValue}>{this.getProps().renderItem(itemValue, data)}</Radio>\n </span>\n );\n };\n\n private getKeyByItem = (itemValue: T) => {\n if (this.props.toKey) {\n return this.props.toKey(itemValue);\n }\n return typeof itemValue === 'string' || typeof itemValue === 'number' ? itemValue : undefined;\n };\n\n private ref = (element: HTMLSpanElement) => {\n this.node = element;\n };\n}\n\nfunction renderItem<T>(_value: T, data: React.ReactNode) {\n return data;\n}\n\nfunction mapItems<T>(\n fn: (value: T, data: React.ReactNode, index: number) => React.ReactNode,\n items: T[] | Array<[T, React.ReactNode]>,\n) {\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, data] = normalizeEntry<T>(entry);\n result.push(fn(value, data, index));\n ++index;\n }\n return result;\n}\n\nfunction normalizeEntry<T>(entry: T | [T, React.ReactNode]): [T, React.ReactNode] {\n if (!Array.isArray(entry)) {\n return [entry, entry as unknown as React.ReactNode];\n }\n return entry;\n}\n"]}
1
+ {"version":3,"file":"RadioGroup.js","sourceRoot":"","sources":["RadioGroup.tsx"],"names":[],"mappings":"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","sourcesContent":["import invariant from 'invariant';\nimport type { AriaAttributes, JSX } from 'react';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes.js';\nimport { FocusTrap } from '../../internal/FocusTrap/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.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 type { Emotion } from '../../lib/theming/Emotion.js';\nimport { getRandomID, isNonNullable } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { Radio } from '../Radio/index.js';\nimport { Prevent } from './Prevent.js';\nimport { getStyles } from './RadioGroup.css.js';\nimport { RadioGroupContext } from './RadioGroupContext.js';\nimport type { RadioGroupContextType } from './RadioGroupContext.js';\n\nexport interface RadioGroupProps<T = string | number> extends CommonProps {\n /** Значение по умолчанию. Должно быть одним из значений дочерних радиокнопок или значений из `items`. */\n defaultValue?: T;\n\n /** Значение группы радиокнопок. Должно быть одним из значений радиокнопок.\n * Если не указано, то компонент будет работать как неконтролируемый. */\n value?: T;\n\n /** Массив параметров радиокнопок. Может быть типа `Array<Value>` или `Array<[Value, Data]>`,\n * где тип `Value` — значение радиокнопки, а `Data` — значение которое будет использовано вторым параметром в `renderItem`.\n * Тип `Array<Value>` будет приведен к типу `Array<[Value, Value]>`.\n * Может быть использовано, если не передан `children`. */\n items?: T[] | Array<[T, React.ReactNode]>;\n\n /** Устанавливает атрибут `name` для дочерних радиокнопок. Если не указан, то сгенерируется случайное имя. */\n name?: string;\n\n /** Получает уникальный ключ по элементу.\n * @param item - элемент, по которому нужно получить ключ. */\n toKey?: (item: T) => string | number;\n\n /** Блокирует все радиокнопки в группе. */\n disabled?: boolean;\n\n /** Переводит контрол в состояние предупреждения. */\n warning?: boolean;\n\n /** Переводит контрол в состояние ошибки. */\n error?: boolean;\n\n /** Размещает радиокнопки в строку. Работает только со значениями, переданными через `items`, не работает с `children`. */\n inline?: boolean;\n\n /** Ширина радиогруппы. Работает только со значениями, переданными через `items`, не работает с `children`. */\n width?: React.CSSProperties['width'];\n\n /** Отрисовывает контент радиокнопки. Работает только со значениями, переданными через `items`, не работает с `children`.\n * @param {Value} itemValue - значение радиокнопки.\n * @param {Data} data - значение для отрисовки радиокнопки. */\n renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n\n /** Событие изменения `value`. */\n onValueChange?: (value: T) => void;\n\n /** Событие потери радиогруппой фокуса. */\n onBlur?: (event: FocusEvent) => void;\n\n /** Событие ухода мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: () => any;\n\n /** Событие наведения мышкой (событие `onmouseover`). */\n onMouseOver?: () => any;\n\n /** Событие наведения мышкой (событие `onmouseenter`). Смотрите разницу с `onMouseOver` в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: () => any;\n}\n\nexport interface RadioGroupState<T> {\n activeItem?: T;\n}\n\nexport const RadioGroupDataTids = {\n root: 'RadioGroup__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;\n\n/** Группирует радиокнопки. Контейнер для компонента [Radio](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_input-data-radio--docs). */\n@withRenderEnvironment\n@rootNode\nexport class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {\n public static __KONTUR_REACT_UI__ = 'RadioGroup';\n public static displayName = 'RadioGroup';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n };\n\n public static Prevent = Prevent;\n\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n constructor(props: RadioGroupProps<T>) {\n super(props);\n\n this.state = {\n activeItem: this.props.defaultValue,\n };\n }\n\n private getRadioGroupContextValue = (): RadioGroupContextType<T> => {\n return {\n activeItem: this.getValue(),\n onSelect: this.handleSelect,\n name: this.getName(),\n disabled: this.props.disabled,\n error: this.props.error,\n warning: this.props.warning,\n };\n };\n\n public render(): React.JSX.Element {\n const {\n width,\n onMouseLeave,\n onMouseOver,\n onMouseEnter,\n onBlur,\n 'aria-describedby': ariaDescribedby,\n disabled,\n } = this.props;\n const style = {\n width: width ?? 'auto',\n };\n const handlers = {\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n };\n this.styles = getStyles(this.emotion);\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props} {...getVisualStateDataAttributes({ disabled })}>\n <FocusTrap onBlur={onBlur}>\n <span\n data-tid={RadioGroupDataTids.root}\n ref={this.ref}\n style={style}\n className={this.cx({\n [this.styles.root()]: true,\n })}\n role=\"radiogroup\"\n {...handlers}\n aria-describedby={ariaDescribedby}\n >\n <RadioGroupContext.Provider value={this.getRadioGroupContextValue()}>\n {this.renderChildren()}\n </RadioGroupContext.Provider>\n </span>\n </FocusTrap>\n </CommonWrapper>\n );\n }\n\n /** Программно устанавливает фокус на радиокнопку. Появляется фокусная обводка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus(): void {\n const node = this.node;\n if (!node) {\n return;\n }\n\n let radio = node.querySelector('input[type=\"radio\"]:checked') as Nullable<HTMLInputElement>;\n\n // If no checked radios, try get first radio\n if (!radio || radio.disabled) {\n radio = node.querySelector('input[type=\"radio\"]:not([disabled])') as Nullable<HTMLInputElement>;\n }\n\n if (radio) {\n radio.focus();\n }\n }\n\n private getValue = () => (this.isControlled() ? this.props.value : this.state.activeItem);\n\n private getName = () => this.props.name || this.name;\n\n private isControlled = () => isNonNullable(this.props.value);\n\n private handleSelect = (value: T) => {\n if (!this.isControlled()) {\n this.setState({ activeItem: value });\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private renderChildren() {\n const { items, children } = this.props;\n invariant((!items && children) || (items && !children), 'Either items or children must be passed, not both');\n return items ? mapItems<T>(this.renderRadio, items) : children;\n }\n\n private renderRadio = (itemValue: T, data: React.ReactNode, index: number): JSX.Element => {\n const itemProps = {\n key: this.getKeyByItem(itemValue),\n className: this.cx({\n [this.styles.item()]: true,\n [this.styles.itemFirst()]: index === 0,\n [this.styles.itemInline()]: !!this.props.inline,\n }),\n };\n\n return (\n <span {...itemProps} role=\"presentation\">\n <Radio value={itemValue}>{this.getProps().renderItem(itemValue, data)}</Radio>\n </span>\n );\n };\n\n private getKeyByItem = (itemValue: T) => {\n if (this.props.toKey) {\n return this.props.toKey(itemValue);\n }\n return typeof itemValue === 'string' || typeof itemValue === 'number' ? itemValue : undefined;\n };\n\n private ref = (element: HTMLSpanElement) => {\n this.node = element;\n };\n}\n\nfunction renderItem<T>(_value: T, data: React.ReactNode) {\n return data;\n}\n\nfunction mapItems<T>(\n fn: (value: T, data: React.ReactNode, index: number) => React.ReactNode,\n items: T[] | Array<[T, React.ReactNode]>,\n) {\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, data] = normalizeEntry<T>(entry);\n result.push(fn(value, data, index));\n ++index;\n }\n return result;\n}\n\nfunction normalizeEntry<T>(entry: T | [T, React.ReactNode]): [T, React.ReactNode] {\n if (!Array.isArray(entry)) {\n return [entry, entry as unknown as React.ReactNode];\n }\n return entry;\n}\n"]}
@@ -35,8 +35,8 @@ import { isInstanceOf } from '../../lib/isInstanceOf.js';
35
35
  import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
36
36
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
37
37
  import { defaultScrollbarState, scrollSizeParametersNames } from './ScrollContainer.constants.js';
38
+ import { getStyles, globalClasses } from './ScrollContainer.css.js';
38
39
  import { getScrollSizeParams } from './ScrollContainer.helpers.js';
39
- import { getStyles, globalClasses } from './ScrollContainer.styles.js';
40
40
  var ScrollBar = /** @class */ (function (_super) {
41
41
  __extends(ScrollBar, _super);
42
42
  function ScrollBar() {