rsuite 6.0.0-canary-2025032014 → 6.0.0-canary-20250416

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 (484) hide show
  1. package/AutoComplete/styles/index.css +112 -62
  2. package/AutoComplete/styles/index.less +1 -1
  3. package/Box/styles/index.css +12 -0
  4. package/CHANGELOG.md +24 -0
  5. package/Calendar/styles/index.css +11 -9
  6. package/Calendar/styles/index.less +3 -1
  7. package/Cascader/styles/index.css +112 -62
  8. package/CheckPicker/styles/index.css +112 -62
  9. package/CheckPicker/styles/index.less +1 -1
  10. package/CheckTree/styles/index.css +113 -63
  11. package/CheckTree/styles/index.less +1 -1
  12. package/CheckTreePicker/styles/index.css +113 -63
  13. package/DateInput/styles/index.css +0 -7
  14. package/DatePicker/styles/index.css +122 -74
  15. package/DatePicker/styles/index.less +5 -11
  16. package/DateRangeInput/styles/index.css +0 -7
  17. package/DateRangePicker/styles/index.css +132 -78
  18. package/DateRangePicker/styles/index.less +10 -4
  19. package/Divider/styles/index.css +2 -2
  20. package/Divider/styles/index.less +2 -2
  21. package/Grid/styles/columns.less +1 -2
  22. package/Grid/styles/grid-framework.less +1 -0
  23. package/Grid/styles/index.css +9 -4
  24. package/Grid/styles/row.less +2 -2
  25. package/Input/styles/index.css +0 -7
  26. package/Input/styles/index.less +0 -6
  27. package/Input/styles/mixin.less +0 -4
  28. package/InputGroup/styles/index.css +1 -1
  29. package/InputGroup/styles/index.less +1 -1
  30. package/InputNumber/styles/index.css +1 -8
  31. package/InputPicker/styles/index.css +121 -70
  32. package/InputPicker/styles/index.less +4 -4
  33. package/Link/package.json +7 -0
  34. package/Link/styles/index.css +32 -0
  35. package/Link/styles/index.less +39 -0
  36. package/Message/styles/index.css +9 -0
  37. package/Message/styles/index.less +11 -0
  38. package/MultiCascadeTree/styles/index.css +112 -62
  39. package/MultiCascader/styles/index.css +112 -62
  40. package/Nav/styles/index.css +1 -0
  41. package/Nav/styles/index.less +1 -0
  42. package/Pagination/styles/index.css +114 -64
  43. package/PasswordInput/package.json +7 -0
  44. package/PasswordInput/styles/index.css +172 -0
  45. package/PasswordInput/styles/index.less +1 -0
  46. package/PasswordStrengthMeter/package.json +7 -0
  47. package/PasswordStrengthMeter/styles/index.css +33 -0
  48. package/PasswordStrengthMeter/styles/index.less +39 -0
  49. package/README.md +3 -3
  50. package/RadioGroup/styles/index.css +1 -0
  51. package/RadioGroup/styles/index.less +1 -0
  52. package/RangeSlider/styles/index.css +76 -43
  53. package/Rate/styles/index.css +48 -34
  54. package/Rate/styles/index.less +32 -21
  55. package/SelectPicker/styles/index.css +112 -62
  56. package/SelectPicker/styles/index.less +1 -1
  57. package/Slider/styles/index.css +76 -43
  58. package/Slider/styles/index.less +95 -48
  59. package/Tabs/styles/index.css +1 -0
  60. package/TagInput/styles/index.css +152 -91
  61. package/TagInput/styles/index.less +1 -1
  62. package/TagPicker/styles/index.css +151 -90
  63. package/TagPicker/styles/index.less +52 -41
  64. package/Textarea/package.json +7 -0
  65. package/Textarea/styles/index.css +6 -0
  66. package/Textarea/styles/index.less +7 -0
  67. package/TimePicker/styles/index.css +122 -74
  68. package/TimeRangePicker/styles/index.css +132 -78
  69. package/Toggle/styles/index.css +146 -87
  70. package/Toggle/styles/index.less +66 -38
  71. package/Tree/styles/index.css +113 -63
  72. package/Tree/styles/index.less +1 -1
  73. package/TreePicker/styles/index.css +113 -63
  74. package/cjs/AutoComplete/AutoComplete.d.ts +1 -1
  75. package/cjs/AutoComplete/AutoComplete.js +13 -11
  76. package/cjs/Avatar/Avatar.d.ts +3 -4
  77. package/cjs/Breadcrumb/Breadcrumb.js +2 -2
  78. package/cjs/Breadcrumb/BreadcrumbItem.js +1 -1
  79. package/cjs/Button/Button.js +9 -10
  80. package/cjs/Calendar/CalendarProvider.js +0 -0
  81. package/cjs/Calendar/hooks/useCalendar.js +0 -0
  82. package/cjs/Carousel/Carousel.js +2 -2
  83. package/cjs/Cascader/Cascader.js +42 -45
  84. package/cjs/Cascader/useActive.d.ts +6 -4
  85. package/cjs/Cascader/useActive.js +10 -8
  86. package/cjs/CheckPicker/CheckPicker.js +38 -41
  87. package/cjs/CheckTreePicker/CheckTreePicker.js +20 -22
  88. package/cjs/CustomProvider/CustomProvider.d.ts +1 -4
  89. package/cjs/CustomProvider/types.d.ts +10 -2
  90. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  91. package/cjs/DatePicker/DatePicker.js +28 -25
  92. package/cjs/DatePicker/utils.d.ts +3 -3
  93. package/cjs/DatePicker/utils.js +3 -3
  94. package/cjs/DateRangePicker/DateRangePicker.js +39 -33
  95. package/cjs/DateRangePicker/utils.js +0 -0
  96. package/cjs/Divider/Divider.d.ts +3 -2
  97. package/cjs/Divider/Divider.js +2 -2
  98. package/cjs/Form/hooks/useFormValidate.js +0 -0
  99. package/cjs/Form/hooks/useSchemaModel.js +2 -54
  100. package/cjs/Form/utils/constructFlatSchema.d.ts +4 -0
  101. package/cjs/Form/utils/constructFlatSchema.js +41 -0
  102. package/cjs/FormControl/hooks/useField.js +0 -0
  103. package/cjs/FormControl/utils.js +0 -0
  104. package/cjs/Grid/Row.d.ts +2 -2
  105. package/cjs/Grid/Row.js +2 -20
  106. package/cjs/Grid/types.d.ts +1 -0
  107. package/cjs/Grid/utils/styles.d.ts +6 -0
  108. package/cjs/Grid/utils/styles.js +43 -0
  109. package/cjs/Image/Image.js +12 -11
  110. package/cjs/Image/hooks/useImage.d.ts +2 -0
  111. package/cjs/Image/hooks/useImage.js +19 -43
  112. package/cjs/InlineEdit/InlineEdit.js +3 -1
  113. package/cjs/InlineEdit/useEditState.d.ts +2 -0
  114. package/cjs/InlineEdit/useEditState.js +8 -0
  115. package/cjs/Input/Input.d.ts +3 -12
  116. package/cjs/Input/Input.js +12 -73
  117. package/cjs/InputPicker/InputPicker.js +27 -28
  118. package/cjs/Link/ExternalLinkIcon.d.ts +3 -0
  119. package/cjs/Link/ExternalLinkIcon.js +23 -0
  120. package/cjs/Link/Link.d.ts +14 -0
  121. package/cjs/Link/Link.js +52 -0
  122. package/cjs/Link/index.d.ts +4 -0
  123. package/cjs/Link/index.js +11 -0
  124. package/cjs/List/List.js +6 -2
  125. package/cjs/List/helper/useSortHelper.d.ts +7 -5
  126. package/cjs/List/helper/useSortHelper.js +109 -16
  127. package/cjs/List/helper/utils.js +14 -6
  128. package/cjs/MultiCascader/MultiCascader.js +40 -43
  129. package/cjs/Nav/NavItem.js +1 -1
  130. package/cjs/Nav/NavMegaMenu.d.ts +5 -0
  131. package/cjs/Nav/NavMegaMenu.js +5 -0
  132. package/cjs/Navbar/NavbarItem.js +1 -1
  133. package/cjs/Navbar/NavbarMegaMenu.js +1 -1
  134. package/cjs/PasswordInput/PasswordInput.d.ts +14 -0
  135. package/cjs/PasswordInput/PasswordInput.js +71 -0
  136. package/cjs/PasswordInput/index.d.ts +4 -0
  137. package/cjs/PasswordInput/index.js +11 -0
  138. package/cjs/PasswordStrengthMeter/PasswordStrengthMeter.d.ts +12 -0
  139. package/cjs/PasswordStrengthMeter/PasswordStrengthMeter.js +50 -0
  140. package/cjs/PasswordStrengthMeter/index.d.ts +4 -0
  141. package/cjs/PasswordStrengthMeter/index.js +11 -0
  142. package/cjs/RangeSlider/RangeSlider.js +18 -3
  143. package/cjs/Rate/Character.d.ts +4 -3
  144. package/cjs/Rate/Character.js +19 -15
  145. package/cjs/Rate/Rate.d.ts +10 -2
  146. package/cjs/Rate/Rate.js +47 -42
  147. package/cjs/Rate/types.d.ts +8 -0
  148. package/cjs/Rate/types.js +4 -0
  149. package/cjs/Rate/useRatingStates.d.ts +20 -0
  150. package/cjs/Rate/useRatingStates.js +48 -0
  151. package/cjs/Rate/utils.d.ts +14 -3
  152. package/cjs/Rate/utils.js +50 -9
  153. package/cjs/SelectPicker/SelectPicker.js +45 -46
  154. package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +1 -1
  155. package/cjs/Sidenav/SidenavItem.js +1 -1
  156. package/cjs/Slider/Graduated.d.ts +4 -0
  157. package/cjs/Slider/Graduated.js +43 -20
  158. package/cjs/Slider/Handle.d.ts +1 -1
  159. package/cjs/Slider/Handle.js +12 -12
  160. package/cjs/Slider/Slider.d.ts +16 -1
  161. package/cjs/Slider/Slider.js +7 -2
  162. package/cjs/Slider/useDrag.d.ts +1 -0
  163. package/cjs/Slider/useDrag.js +8 -3
  164. package/cjs/Steps/Steps.js +2 -2
  165. package/cjs/Tabs/Tabs.js +2 -2
  166. package/cjs/Textarea/Textarea.d.ts +32 -0
  167. package/cjs/Textarea/Textarea.js +51 -0
  168. package/cjs/Textarea/index.d.ts +4 -0
  169. package/cjs/Textarea/index.js +11 -0
  170. package/cjs/Timeline/Timeline.js +2 -2
  171. package/cjs/Toggle/Toggle.d.ts +10 -1
  172. package/cjs/Toggle/Toggle.js +12 -9
  173. package/cjs/TreePicker/TreePicker.js +18 -19
  174. package/cjs/index.d.ts +4 -1
  175. package/cjs/index.js +24 -6
  176. package/cjs/internals/Box/Box.d.ts +4 -0
  177. package/cjs/internals/Box/Box.js +1 -1
  178. package/cjs/internals/Box/utils.js +5 -1
  179. package/cjs/internals/InputBase/InputBase.d.ts +45 -0
  180. package/cjs/internals/InputBase/InputBase.js +96 -0
  181. package/cjs/internals/InputBase/index.d.ts +3 -0
  182. package/cjs/internals/InputBase/index.js +8 -0
  183. package/cjs/internals/Overlay/Modal.d.ts +1 -1
  184. package/cjs/internals/Overlay/OverlayTrigger.d.ts +4 -3
  185. package/cjs/internals/Overlay/OverlayTrigger.js +8 -3
  186. package/cjs/internals/Picker/Listbox.js +7 -9
  187. package/cjs/internals/Picker/PickerDrawer.d.ts +8 -0
  188. package/cjs/internals/Picker/PickerDrawer.js +31 -0
  189. package/cjs/internals/Picker/PickerPopup.js +5 -3
  190. package/cjs/internals/Picker/PickerToggle.d.ts +1 -0
  191. package/cjs/internals/Picker/PickerToggle.js +10 -3
  192. package/cjs/internals/Picker/PickerToggleTrigger.d.ts +51 -11
  193. package/cjs/internals/Picker/PickerToggleTrigger.js +59 -13
  194. package/cjs/internals/Picker/hooks/index.d.ts +0 -1
  195. package/cjs/internals/Picker/hooks/index.js +2 -4
  196. package/cjs/internals/Picker/hooks/useCombobox.d.ts +1 -0
  197. package/cjs/internals/Picker/hooks/useCombobox.js +3 -1
  198. package/cjs/internals/Picker/index.d.ts +1 -2
  199. package/cjs/internals/Picker/index.js +10 -12
  200. package/{esm → cjs/internals}/SafeAnchor/SafeAnchor.d.ts +2 -2
  201. package/cjs/{SafeAnchor → internals/SafeAnchor}/SafeAnchor.js +3 -3
  202. package/cjs/internals/Tree/TreeView.js +3 -4
  203. package/cjs/internals/hooks/useRootClose.js +4 -4
  204. package/cjs/internals/index.d.ts +4 -0
  205. package/cjs/internals/index.js +13 -1
  206. package/cjs/internals/types/html.d.ts +2 -0
  207. package/cjs/internals/utils/{dom.d.ts → html/dom.d.ts} +1 -0
  208. package/cjs/internals/utils/{dom.js → html/dom.js} +8 -0
  209. package/cjs/internals/utils/{events.js → html/events.js} +0 -0
  210. package/cjs/internals/utils/{htmlPropsUtils.js → html/htmlPropsUtils.js} +0 -0
  211. package/cjs/internals/utils/html/index.d.ts +4 -0
  212. package/cjs/internals/utils/html/index.js +28 -0
  213. package/cjs/internals/utils/{safeSetSelection.js → html/safeSetSelection.js} +1 -1
  214. package/cjs/internals/utils/index.d.ts +3 -15
  215. package/cjs/internals/utils/index.js +20 -49
  216. package/cjs/internals/utils/{ReactChildren.d.ts → react/ReactChildren.d.ts} +2 -8
  217. package/cjs/internals/utils/{ReactChildren.js → react/ReactChildren.js} +5 -25
  218. package/cjs/internals/utils/react/ReactIs.d.ts +7 -0
  219. package/cjs/internals/utils/react/ReactIs.js +26 -0
  220. package/{esm/internals/utils → cjs/internals/utils/react}/createComponent.d.ts +2 -2
  221. package/cjs/internals/utils/{createComponent.js → react/createComponent.js} +3 -3
  222. package/cjs/internals/utils/{deprecateComponent.js → react/deprecateComponent.js} +1 -1
  223. package/cjs/internals/utils/{forwardRef.d.ts → react/forwardRef.d.ts} +1 -1
  224. package/cjs/internals/utils/react/index.d.ts +7 -0
  225. package/cjs/internals/utils/react/index.js +46 -0
  226. package/cjs/internals/utils/{mergeRefs.js → react/mergeRefs.js} +0 -0
  227. package/cjs/internals/utils/{getStringLength.d.ts → string/getStringLength.d.ts} +0 -1
  228. package/cjs/internals/utils/{getStringLength.js → string/getStringLength.js} +1 -3
  229. package/cjs/internals/utils/string/index.d.ts +4 -0
  230. package/cjs/internals/utils/string/index.js +28 -0
  231. package/cjs/internals/utils/{stringifyReactNode.js → string/stringifyReactNode.js} +0 -0
  232. package/cjs/internals/utils/{tplTransform.js → string/tplTransform.js} +0 -0
  233. package/cjs/locales/en_GB.js +2 -2
  234. package/cjs/locales/en_US.js +2 -2
  235. package/cjs/locales/index.js +0 -0
  236. package/cjs/locales/pl_PL.js +2 -3
  237. package/cjs/useBreakpointValue/useBreakpointValue.d.ts +6 -2
  238. package/cjs/useBreakpointValue/useBreakpointValue.js +9 -4
  239. package/cjs/useMediaQuery/breakpoints.d.ts +24 -0
  240. package/cjs/useMediaQuery/breakpoints.js +248 -0
  241. package/cjs/useMediaQuery/index.d.ts +1 -1
  242. package/cjs/useMediaQuery/types.d.ts +45 -0
  243. package/cjs/useMediaQuery/types.js +4 -0
  244. package/cjs/useMediaQuery/useMediaQuery.d.ts +4 -13
  245. package/cjs/useMediaQuery/useMediaQuery.js +30 -12
  246. package/cjs/useToaster/useToaster.d.ts +1 -1
  247. package/cjs/useToaster/useToaster.js +1 -1
  248. package/dist/rsuite-no-reset-rtl.css +565 -276
  249. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  250. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  251. package/dist/rsuite-no-reset.css +565 -276
  252. package/dist/rsuite-no-reset.min.css +1 -1
  253. package/dist/rsuite-no-reset.min.css.map +1 -1
  254. package/dist/rsuite-rtl.css +565 -276
  255. package/dist/rsuite-rtl.min.css +1 -1
  256. package/dist/rsuite-rtl.min.css.map +1 -1
  257. package/dist/rsuite.css +565 -276
  258. package/dist/rsuite.js +508 -211
  259. package/dist/rsuite.js.map +1 -1
  260. package/dist/rsuite.min.css +1 -1
  261. package/dist/rsuite.min.css.map +1 -1
  262. package/dist/rsuite.min.js +1 -1
  263. package/dist/rsuite.min.js.map +1 -1
  264. package/esm/AutoComplete/AutoComplete.d.ts +1 -1
  265. package/esm/AutoComplete/AutoComplete.js +13 -11
  266. package/esm/Avatar/Avatar.d.ts +3 -4
  267. package/esm/Breadcrumb/Breadcrumb.js +3 -3
  268. package/esm/Breadcrumb/BreadcrumbItem.js +1 -1
  269. package/esm/Button/Button.js +10 -11
  270. package/esm/Calendar/CalendarProvider.js +0 -0
  271. package/esm/Calendar/hooks/useCalendar.js +0 -0
  272. package/esm/Carousel/Carousel.js +3 -3
  273. package/esm/Cascader/Cascader.js +43 -46
  274. package/esm/Cascader/useActive.d.ts +6 -4
  275. package/esm/Cascader/useActive.js +10 -8
  276. package/esm/CheckPicker/CheckPicker.js +39 -42
  277. package/esm/CheckTreePicker/CheckTreePicker.js +21 -23
  278. package/esm/CustomProvider/CustomProvider.d.ts +1 -4
  279. package/esm/CustomProvider/types.d.ts +10 -2
  280. package/esm/DatePicker/DatePicker.d.ts +1 -1
  281. package/esm/DatePicker/DatePicker.js +29 -26
  282. package/esm/DatePicker/utils.d.ts +3 -3
  283. package/esm/DatePicker/utils.js +4 -4
  284. package/esm/DateRangePicker/DateRangePicker.js +35 -29
  285. package/esm/DateRangePicker/utils.js +0 -0
  286. package/esm/Divider/Divider.d.ts +3 -2
  287. package/esm/Divider/Divider.js +2 -2
  288. package/esm/Form/hooks/useFormValidate.js +0 -0
  289. package/esm/Form/hooks/useSchemaModel.js +3 -55
  290. package/esm/Form/utils/constructFlatSchema.d.ts +4 -0
  291. package/esm/Form/utils/constructFlatSchema.js +37 -0
  292. package/esm/FormControl/hooks/useField.js +0 -0
  293. package/esm/FormControl/utils.js +0 -0
  294. package/esm/Grid/Row.d.ts +2 -2
  295. package/esm/Grid/Row.js +2 -20
  296. package/esm/Grid/types.d.ts +1 -0
  297. package/esm/Grid/utils/styles.d.ts +6 -0
  298. package/esm/Grid/utils/styles.js +37 -0
  299. package/esm/Image/Image.js +12 -11
  300. package/esm/Image/hooks/useImage.d.ts +2 -0
  301. package/esm/Image/hooks/useImage.js +20 -43
  302. package/esm/InlineEdit/InlineEdit.js +3 -1
  303. package/esm/InlineEdit/useEditState.d.ts +2 -0
  304. package/esm/InlineEdit/useEditState.js +8 -0
  305. package/esm/Input/Input.d.ts +3 -12
  306. package/esm/Input/Input.js +12 -74
  307. package/esm/InputPicker/InputPicker.js +28 -29
  308. package/esm/Link/ExternalLinkIcon.d.ts +3 -0
  309. package/esm/Link/ExternalLinkIcon.js +18 -0
  310. package/esm/Link/Link.d.ts +14 -0
  311. package/esm/Link/Link.js +47 -0
  312. package/esm/Link/index.d.ts +4 -0
  313. package/esm/Link/index.js +8 -0
  314. package/esm/List/List.js +6 -2
  315. package/esm/List/helper/useSortHelper.d.ts +7 -5
  316. package/esm/List/helper/useSortHelper.js +109 -16
  317. package/esm/List/helper/utils.js +14 -6
  318. package/esm/MultiCascader/MultiCascader.js +41 -44
  319. package/esm/Nav/NavItem.js +1 -1
  320. package/esm/Nav/NavMegaMenu.d.ts +5 -0
  321. package/esm/Nav/NavMegaMenu.js +5 -0
  322. package/esm/Navbar/NavbarItem.js +1 -1
  323. package/esm/Navbar/NavbarMegaMenu.js +1 -1
  324. package/esm/PasswordInput/PasswordInput.d.ts +14 -0
  325. package/esm/PasswordInput/PasswordInput.js +66 -0
  326. package/esm/PasswordInput/index.d.ts +4 -0
  327. package/esm/PasswordInput/index.js +8 -0
  328. package/esm/PasswordStrengthMeter/PasswordStrengthMeter.d.ts +12 -0
  329. package/esm/PasswordStrengthMeter/PasswordStrengthMeter.js +45 -0
  330. package/esm/PasswordStrengthMeter/index.d.ts +4 -0
  331. package/esm/PasswordStrengthMeter/index.js +8 -0
  332. package/esm/RangeSlider/RangeSlider.js +18 -3
  333. package/esm/Rate/Character.d.ts +4 -3
  334. package/esm/Rate/Character.js +20 -16
  335. package/esm/Rate/Rate.d.ts +10 -2
  336. package/esm/Rate/Rate.js +49 -42
  337. package/esm/Rate/types.d.ts +8 -0
  338. package/esm/Rate/types.js +2 -0
  339. package/esm/Rate/useRatingStates.d.ts +20 -0
  340. package/esm/Rate/useRatingStates.js +43 -0
  341. package/esm/Rate/utils.d.ts +14 -3
  342. package/esm/Rate/utils.js +46 -7
  343. package/esm/SelectPicker/SelectPicker.js +46 -47
  344. package/esm/Sidenav/ExpandedSidenavDropdownItem.js +1 -1
  345. package/esm/Sidenav/SidenavItem.js +1 -1
  346. package/esm/Slider/Graduated.d.ts +4 -0
  347. package/esm/Slider/Graduated.js +43 -20
  348. package/esm/Slider/Handle.d.ts +1 -1
  349. package/esm/Slider/Handle.js +12 -12
  350. package/esm/Slider/Slider.d.ts +16 -1
  351. package/esm/Slider/Slider.js +7 -2
  352. package/esm/Slider/useDrag.d.ts +1 -0
  353. package/esm/Slider/useDrag.js +8 -3
  354. package/esm/Steps/Steps.js +3 -3
  355. package/esm/Tabs/Tabs.js +3 -3
  356. package/esm/Textarea/Textarea.d.ts +32 -0
  357. package/esm/Textarea/Textarea.js +46 -0
  358. package/esm/Textarea/index.d.ts +4 -0
  359. package/esm/Textarea/index.js +8 -0
  360. package/esm/Timeline/Timeline.js +3 -3
  361. package/esm/Toggle/Toggle.d.ts +10 -1
  362. package/esm/Toggle/Toggle.js +12 -9
  363. package/esm/TreePicker/TreePicker.js +19 -20
  364. package/esm/index.d.ts +4 -1
  365. package/esm/index.js +4 -1
  366. package/esm/internals/Box/Box.d.ts +4 -0
  367. package/esm/internals/Box/Box.js +1 -1
  368. package/esm/internals/Box/utils.js +5 -1
  369. package/esm/internals/InputBase/InputBase.d.ts +45 -0
  370. package/esm/internals/InputBase/InputBase.js +89 -0
  371. package/esm/internals/InputBase/index.d.ts +3 -0
  372. package/esm/internals/InputBase/index.js +3 -0
  373. package/esm/internals/Overlay/Modal.d.ts +1 -1
  374. package/esm/internals/Overlay/OverlayTrigger.d.ts +4 -3
  375. package/esm/internals/Overlay/OverlayTrigger.js +8 -2
  376. package/esm/internals/Picker/Listbox.js +8 -10
  377. package/esm/internals/Picker/PickerDrawer.d.ts +8 -0
  378. package/esm/internals/Picker/PickerDrawer.js +26 -0
  379. package/esm/internals/Picker/PickerPopup.js +5 -3
  380. package/esm/internals/Picker/PickerToggle.d.ts +1 -0
  381. package/esm/internals/Picker/PickerToggle.js +10 -3
  382. package/esm/internals/Picker/PickerToggleTrigger.d.ts +51 -11
  383. package/esm/internals/Picker/PickerToggleTrigger.js +59 -12
  384. package/esm/internals/Picker/hooks/index.d.ts +0 -1
  385. package/esm/internals/Picker/hooks/index.js +1 -2
  386. package/esm/internals/Picker/hooks/useCombobox.d.ts +1 -0
  387. package/esm/internals/Picker/hooks/useCombobox.js +3 -1
  388. package/esm/internals/Picker/index.d.ts +1 -2
  389. package/esm/internals/Picker/index.js +1 -2
  390. package/{cjs → esm/internals}/SafeAnchor/SafeAnchor.d.ts +2 -2
  391. package/esm/{SafeAnchor → internals/SafeAnchor}/SafeAnchor.js +3 -3
  392. package/esm/internals/Tree/TreeView.js +4 -5
  393. package/esm/internals/hooks/useRootClose.js +1 -1
  394. package/esm/internals/index.d.ts +4 -0
  395. package/esm/internals/index.js +5 -0
  396. package/esm/internals/types/html.d.ts +2 -0
  397. package/esm/internals/utils/{dom.d.ts → html/dom.d.ts} +1 -0
  398. package/esm/internals/utils/{dom.js → html/dom.js} +7 -0
  399. package/esm/internals/utils/{events.js → html/events.js} +0 -0
  400. package/esm/internals/utils/{htmlPropsUtils.js → html/htmlPropsUtils.js} +0 -0
  401. package/esm/internals/utils/html/index.d.ts +4 -0
  402. package/esm/internals/utils/html/index.js +5 -0
  403. package/esm/internals/utils/{safeSetSelection.js → html/safeSetSelection.js} +1 -1
  404. package/esm/internals/utils/index.d.ts +3 -15
  405. package/esm/internals/utils/index.js +3 -14
  406. package/esm/internals/utils/{ReactChildren.d.ts → react/ReactChildren.d.ts} +2 -8
  407. package/esm/internals/utils/{ReactChildren.js → react/ReactChildren.js} +3 -21
  408. package/esm/internals/utils/react/ReactIs.d.ts +7 -0
  409. package/esm/internals/utils/react/ReactIs.js +22 -0
  410. package/{cjs/internals/utils → esm/internals/utils/react}/createComponent.d.ts +2 -2
  411. package/esm/internals/utils/{createComponent.js → react/createComponent.js} +3 -3
  412. package/esm/internals/utils/{deprecateComponent.js → react/deprecateComponent.js} +1 -1
  413. package/esm/internals/utils/{forwardRef.d.ts → react/forwardRef.d.ts} +1 -1
  414. package/esm/internals/utils/react/index.d.ts +7 -0
  415. package/esm/internals/utils/react/index.js +8 -0
  416. package/esm/internals/utils/{mergeRefs.js → react/mergeRefs.js} +0 -0
  417. package/esm/internals/utils/{getStringLength.d.ts → string/getStringLength.d.ts} +0 -1
  418. package/esm/internals/utils/{getStringLength.js → string/getStringLength.js} +1 -2
  419. package/esm/internals/utils/string/index.d.ts +4 -0
  420. package/esm/internals/utils/string/index.js +5 -0
  421. package/esm/internals/utils/{stringifyReactNode.js → string/stringifyReactNode.js} +0 -0
  422. package/esm/internals/utils/{tplTransform.js → string/tplTransform.js} +0 -0
  423. package/esm/locales/en_GB.js +2 -2
  424. package/esm/locales/en_US.js +2 -2
  425. package/esm/locales/index.js +0 -0
  426. package/esm/locales/pl_PL.js +1 -1
  427. package/esm/useBreakpointValue/useBreakpointValue.d.ts +6 -2
  428. package/esm/useBreakpointValue/useBreakpointValue.js +9 -4
  429. package/esm/useMediaQuery/breakpoints.d.ts +24 -0
  430. package/esm/useMediaQuery/breakpoints.js +244 -0
  431. package/esm/useMediaQuery/index.d.ts +1 -1
  432. package/esm/useMediaQuery/types.d.ts +45 -0
  433. package/esm/useMediaQuery/types.js +2 -0
  434. package/esm/useMediaQuery/useMediaQuery.d.ts +4 -13
  435. package/esm/useMediaQuery/useMediaQuery.js +29 -11
  436. package/esm/useToaster/useToaster.d.ts +1 -1
  437. package/esm/useToaster/useToaster.js +1 -1
  438. package/internals/Box/styles/index.less +4 -0
  439. package/internals/Picker/styles/index.less +105 -23
  440. package/internals/Picker/styles/mixin.less +6 -6
  441. package/package.json +3 -2
  442. package/styles/color-modes/dark.less +2 -2
  443. package/styles/color-modes/high-contrast.less +2 -2
  444. package/styles/color-modes/light.less +2 -2
  445. package/styles/index.less +3 -0
  446. package/styles/root.less +2 -0
  447. package/styles/variables.less +0 -24
  448. package/SafeAnchor/package.json +0 -7
  449. package/cjs/Form/hooks/useFormClassNames.d.ts +0 -5
  450. package/cjs/Form/hooks/useFormClassNames.js +0 -29
  451. package/cjs/internals/Picker/hooks/usePickerClassName.d.ts +0 -19
  452. package/cjs/internals/Picker/hooks/usePickerClassName.js +0 -45
  453. package/esm/Form/hooks/useFormClassNames.d.ts +0 -5
  454. package/esm/Form/hooks/useFormClassNames.js +0 -25
  455. package/esm/internals/Picker/hooks/usePickerClassName.d.ts +0 -19
  456. package/esm/internals/Picker/hooks/usePickerClassName.js +0 -40
  457. /package/cjs/{SafeAnchor → internals/SafeAnchor}/index.d.ts +0 -0
  458. /package/cjs/{SafeAnchor → internals/SafeAnchor}/index.js +0 -0
  459. /package/cjs/internals/utils/{events.d.ts → html/events.d.ts} +0 -0
  460. /package/cjs/internals/utils/{htmlPropsUtils.d.ts → html/htmlPropsUtils.d.ts} +0 -0
  461. /package/cjs/internals/utils/{safeSetSelection.d.ts → html/safeSetSelection.d.ts} +0 -0
  462. /package/cjs/internals/utils/{deprecateComponent.d.ts → react/deprecateComponent.d.ts} +0 -0
  463. /package/cjs/internals/utils/{forwardRef.js → react/forwardRef.js} +0 -0
  464. /package/cjs/internals/utils/{getDOMNode.d.ts → react/getDOMNode.d.ts} +0 -0
  465. /package/cjs/internals/utils/{getDOMNode.js → react/getDOMNode.js} +0 -0
  466. /package/cjs/internals/utils/{mergeRefs.d.ts → react/mergeRefs.d.ts} +0 -0
  467. /package/cjs/internals/utils/{getSafeRegExpString.d.ts → string/getSafeRegExpString.d.ts} +0 -0
  468. /package/cjs/internals/utils/{getSafeRegExpString.js → string/getSafeRegExpString.js} +0 -0
  469. /package/cjs/internals/utils/{stringifyReactNode.d.ts → string/stringifyReactNode.d.ts} +0 -0
  470. /package/cjs/internals/utils/{tplTransform.d.ts → string/tplTransform.d.ts} +0 -0
  471. /package/esm/{SafeAnchor → internals/SafeAnchor}/index.d.ts +0 -0
  472. /package/esm/{SafeAnchor → internals/SafeAnchor}/index.js +0 -0
  473. /package/esm/internals/utils/{events.d.ts → html/events.d.ts} +0 -0
  474. /package/esm/internals/utils/{htmlPropsUtils.d.ts → html/htmlPropsUtils.d.ts} +0 -0
  475. /package/esm/internals/utils/{safeSetSelection.d.ts → html/safeSetSelection.d.ts} +0 -0
  476. /package/esm/internals/utils/{deprecateComponent.d.ts → react/deprecateComponent.d.ts} +0 -0
  477. /package/esm/internals/utils/{forwardRef.js → react/forwardRef.js} +0 -0
  478. /package/esm/internals/utils/{getDOMNode.d.ts → react/getDOMNode.d.ts} +0 -0
  479. /package/esm/internals/utils/{getDOMNode.js → react/getDOMNode.js} +0 -0
  480. /package/esm/internals/utils/{mergeRefs.d.ts → react/mergeRefs.d.ts} +0 -0
  481. /package/esm/internals/utils/{getSafeRegExpString.d.ts → string/getSafeRegExpString.d.ts} +0 -0
  482. /package/esm/internals/utils/{getSafeRegExpString.js → string/getSafeRegExpString.js} +0 -0
  483. /package/esm/internals/utils/{stringifyReactNode.d.ts → string/stringifyReactNode.d.ts} +0 -0
  484. /package/esm/internals/utils/{tplTransform.d.ts → string/tplTransform.d.ts} +0 -0
@@ -254,16 +254,19 @@
254
254
  }
255
255
  /* rtl:end:ignore */
256
256
  .rs-slider {
257
+ --rs-slider-size: 6px;
258
+ --rs-slider-mark-mt: 9px;
259
+ --rs-slider-handle-size: 12px;
260
+ --rs-slider-handle-bw: 2px;
261
+ --rs-slider-calibration-size: 4px;
262
+ --rs-slider-transition: 0.15s ease-in-out;
263
+ --rs-tooltip-offset: 0;
257
264
  position: relative;
258
265
  }
259
266
  .rs-slider .rs-tooltip {
267
+ left: var(--rs-tooltip-offset);
260
268
  display: none;
261
269
  }
262
- .rs-slider .rs-tooltip.rs-tooltip-placement-top .rs-tooltip::after {
263
- margin: auto;
264
- inset-inline-start: 0;
265
- inset-inline-end: 0;
266
- }
267
270
  .rs-slider-disabled {
268
271
  opacity: 0.5;
269
272
  cursor: not-allowed;
@@ -273,10 +276,30 @@
273
276
  pointer-events: none;
274
277
  }
275
278
  .rs-slider-with-mark:not(.rs-slider-vertical) {
276
- margin-bottom: 29px;
279
+ margin-bottom: calc(20px + var(--rs-slider-mark-mt));
280
+ }
281
+ .rs-slider:where([data-size='xs']) {
282
+ --rs-slider-size: 4px;
283
+ --rs-slider-handle-size: 8px;
284
+ --rs-slider-calibration-size: 0;
285
+ }
286
+ .rs-slider:where([data-size='md']) {
287
+ --rs-slider-size: 8px;
288
+ --rs-slider-handle-size: 16px;
289
+ --rs-slider-calibration-size: 6px;
290
+ }
291
+ .rs-slider:where([data-size='lg']) {
292
+ --rs-slider-size: 10px;
293
+ --rs-slider-handle-size: 20px;
294
+ --rs-slider-calibration-size: 8px;
295
+ }
296
+ .rs-slider:where([data-size='xl']) {
297
+ --rs-slider-size: 12px;
298
+ --rs-slider-handle-size: 24px;
299
+ --rs-slider-calibration-size: 10px;
277
300
  }
278
301
  .rs-slider-bar {
279
- height: 6px;
302
+ height: var(--rs-slider-size);
280
303
  border-radius: var(--rs-radius-sm);
281
304
  background-color: var(--rs-slider-bar);
282
305
  transition: background-color ease-in-out 0.3s;
@@ -287,26 +310,27 @@
287
310
  }
288
311
  .rs-slider-vertical .rs-slider-bar {
289
312
  height: 100%;
290
- width: 6px;
313
+ width: var(--rs-slider-size);
291
314
  }
292
315
  .rs-slider-handle {
293
316
  position: absolute;
294
317
  top: -50%;
295
318
  outline: none;
319
+ left: var(--rs-slider-offset);
296
320
  }
297
321
  .rs-slider-handle::before {
298
322
  content: '';
299
323
  position: absolute;
300
- width: 12px;
301
- height: 12px;
324
+ width: var(--rs-slider-handle-size);
325
+ height: var(--rs-slider-handle-size);
302
326
  border-radius: var(--rs-radius-full);
303
- border: 2px solid var(--rs-slider-thumb-border);
327
+ border-width: var(--rs-slider-handle-bw);
328
+ border-style: solid;
329
+ border-color: var(--rs-slider-thumb-border);
304
330
  background-color: var(--rs-slider-thumb-bg);
305
- margin-inline-start: -6px;
331
+ margin-inline-start: calc(var(--rs-slider-handle-size) / -2);
306
332
  cursor: pointer;
307
- /* stylelint-disable */
308
- transition: box-shadow 0.15s ease-in-out, background-color 0.15s ease-in-out, transform 0.15s ease-in-out;
309
- /* stylelint-enable */
333
+ transition: box-shadow var(--rs-slider-transition), background-color var(--rs-slider-transition), transform var(--rs-slider-transition);
310
334
  }
311
335
  .rs-slider-handle:hover::before,
312
336
  .rs-slider-handle:focus::before {
@@ -317,11 +341,13 @@
317
341
  transform: scale(1.2);
318
342
  }
319
343
  .rs-slider-vertical .rs-slider-handle {
344
+ left: unset;
320
345
  top: unset;
346
+ bottom: var(--rs-slider-offset);
321
347
  }
322
348
  .rs-slider-vertical .rs-slider-handle::before {
323
- inset-inline-start: 3px;
324
- margin-top: -6px;
349
+ inset-inline-start: calc((var(--rs-slider-handle-size) - var(--rs-slider-size)) / 2);
350
+ margin-top: calc(var(--rs-slider-handle-size) / -2);
325
351
  }
326
352
  .rs-slider-handle:hover .rs-tooltip,
327
353
  .rs-slider-handle.active .rs-tooltip {
@@ -331,28 +357,38 @@
331
357
  }
332
358
  .rs-slider-vertical .rs-slider-handle:hover .rs-tooltip,
333
359
  .rs-slider-vertical .rs-slider-handle.active .rs-tooltip {
334
- top: -33px;
335
- margin-inline-start: 3px;
360
+ top: -12px;
361
+ margin-inline-start: -36px;
336
362
  }
337
363
  .rs-slider-mark {
338
364
  position: absolute;
339
- top: 15px;
340
- inset-inline-start: -2px;
365
+ top: calc(var(--rs-slider-size) + var(--rs-slider-mark-mt));
341
366
  white-space: nowrap;
342
367
  }
343
368
  .rs-slider-mark-content {
344
- margin-inline-start: -50%;
369
+ margin-inline-start: calc(-50% + 2px);
345
370
  }
346
371
  .rs-slider-mark-last {
347
372
  inset-inline-start: auto;
348
- inset-inline-end: -2px;
373
+ inset-inline-end: 0;
349
374
  }
350
375
  .rs-slider-mark-last .rs-slider-mark-content {
351
- margin-inline-start: 50%;
376
+ margin-inline-start: calc(50% - 2px);
352
377
  }
353
378
  .rs-slider-graduator {
379
+ --rs-slider-tick-offset: 0;
354
380
  width: 100%;
355
381
  }
382
+ .rs-slider-graduator .rs-slider-tick[data-active='true']::before {
383
+ visibility: hidden;
384
+ }
385
+ .rs-slider-graduator[data-with-marks='true'] .rs-slider-tick {
386
+ position: absolute;
387
+ left: var(--rs-slider-tick-offset);
388
+ }
389
+ .rs-slider-graduator[data-with-marks='true'] .rs-slider-tick:last-child::after {
390
+ display: none;
391
+ }
356
392
  .rs-slider-graduator ol,
357
393
  .rs-slider-graduator li {
358
394
  list-style: none;
@@ -371,41 +407,38 @@
371
407
  content: '';
372
408
  display: block;
373
409
  position: absolute;
374
- width: 8px;
375
- height: 8px;
410
+ width: var(--rs-slider-calibration-size);
411
+ height: var(--rs-slider-calibration-size);
376
412
  border-radius: var(--rs-radius-full);
377
413
  background-color: var(--rs-slider-thumb-bg);
378
414
  box-sizing: border-box;
379
- border: 2px solid var(--rs-slider-bar);
380
- margin-inline-start: -4px;
381
- top: -1px;
415
+ margin-inline: 2px;
416
+ top: 1px;
382
417
  }
383
418
  .rs-slider-vertical .rs-slider-graduator > ol > li:last-child::after,
384
419
  .rs-slider-vertical .rs-slider-graduator > ol > li::before {
385
420
  top: unset;
386
- bottom: -4px;
387
- margin-inline-start: -1px;
421
+ bottom: 2px;
422
+ margin-inline-start: 1px;
388
423
  }
389
424
  .rs-slider-graduator > ol > li:last-child::after {
390
- inset-inline-end: -4px;
425
+ inset-inline-end: 0;
391
426
  }
392
427
  .rs-slider-vertical .rs-slider-graduator > ol > li:last-child::after {
393
428
  inset-inline-start: 0;
394
429
  bottom: unset;
395
- top: -4px;
396
- }
397
- .rs-slider-graduator > ol > li.rs-slider-pass::before {
398
- border-color: var(--rs-slider-progress);
399
- }
400
- .rs-slider-graduator > ol > li.rs-slider-active::before {
401
- visibility: hidden;
430
+ top: 2px;
402
431
  }
403
432
  .rs-slider-vertical .rs-slider-graduator {
404
433
  display: block;
405
434
  height: 100%;
406
435
  }
436
+ .rs-slider-vertical .rs-slider-graduator[data-with-marks='true'] .rs-slider-tick {
437
+ left: unset;
438
+ bottom: var(--rs-slider-tick-offset);
439
+ }
407
440
  .rs-slider-vertical .rs-slider-graduator > ol {
408
- width: 6px;
441
+ width: var(--rs-slider-size);
409
442
  display: flex;
410
443
  flex-direction: column-reverse;
411
444
  height: 100%;
@@ -417,13 +450,13 @@
417
450
  }
418
451
  .rs-slider-progress-bar {
419
452
  position: absolute;
420
- height: 6px;
453
+ height: var(--rs-slider-size);
421
454
  border-top-left-radius: var(--rs-radius-sm);
422
455
  border-bottom-left-radius: var(--rs-radius-sm);
423
456
  background-color: var(--rs-slider-progress);
424
457
  }
425
458
  .rs-slider-vertical .rs-slider-progress-bar {
426
- width: 6px;
459
+ width: var(--rs-slider-size);
427
460
  border-bottom-left-radius: var(--rs-radius-sm);
428
461
  border-bottom-right-radius: var(--rs-radius-sm);
429
462
  }
@@ -433,7 +466,7 @@
433
466
  .rs-slider-vertical .rs-slider-mark {
434
467
  top: unset;
435
468
  bottom: -8px;
436
- inset-inline-start: 15px;
469
+ inset-inline-start: calc(var(--rs-slider-size) + var(--rs-slider-mark-mt));
437
470
  }
438
471
  .rs-slider-vertical .rs-slider-mark-content {
439
472
  margin-inline-start: auto;
@@ -16,6 +16,7 @@
16
16
  --rs-font-size-2xl: 1.5rem;
17
17
  --rs-font-size-3xl: 1.875rem;
18
18
  --rs-font-size-4xl: 2.25rem;
19
+ --rs-font-size-5xl: 3rem;
19
20
  --rs-spacing: 0.25rem;
20
21
  }
21
22
  :root,
@@ -31,7 +32,7 @@
31
32
  --rs-blue-500: #2196f3;
32
33
  --rs-violet-500: #673ab7;
33
34
  --rs-rate-symbol: var(--rs-gray-600);
34
- --rs-rate-symbol-checked: var(--rs-blue-500);
35
+ --rs-rate-color: var(--rs-blue-500);
35
36
  }
36
37
  .rs-theme-dark {
37
38
  --rs-gray-100: #cbced4;
@@ -45,7 +46,7 @@
45
46
  --rs-blue-500: #1499ef;
46
47
  --rs-violet-500: #673ab7;
47
48
  --rs-rate-symbol: var(--rs-gray-600);
48
- --rs-rate-symbol-checked: var(--rs-yellow-500);
49
+ --rs-rate-color: var(--rs-yellow-500);
49
50
  }
50
51
  .rs-theme-high-contrast {
51
52
  --rs-gray-100: #cbced4;
@@ -59,17 +60,20 @@
59
60
  --rs-blue-500: #1499ef;
60
61
  --rs-violet-500: #673ab7;
61
62
  --rs-rate-symbol: var(--rs-gray-100);
62
- --rs-rate-symbol-checked: var(--rs-primary-500);
63
+ --rs-rate-color: var(--rs-primary-500);
63
64
  }
64
65
  .rs-rate {
65
- --rate-font-size-xs: var(--rs-font-size-lg);
66
- --rate-font-size-sm: var(--rs-font-size-2xl);
67
- --rate-font-size-md: var(--rs-font-size-3xl);
68
- --rate-font-size-lg: var(--rs-font-size-4xl);
66
+ --rs-rate-size-xs: var(--rs-font-size-lg);
67
+ --rs-rate-size-sm: var(--rs-font-size-2xl);
68
+ --rs-rate-size-md: var(--rs-font-size-3xl);
69
+ --rs-rate-size-lg: var(--rs-font-size-4xl);
70
+ --rs-rate-size-xl: var(--rs-font-size-5xl);
71
+ --rs-rate-size: var(--rs-rate-size-md);
72
+ --rs-rate-before-size: 50%;
69
73
  position: relative;
70
74
  display: inline-flex;
71
- color: var(--rs-rate-symbol-checked);
72
- font-size: var(--rate-font-size, var(--rate-font-size-md));
75
+ color: var(--rs-rate-color);
76
+ font-size: var(--rs-rate-size);
73
77
  list-style: none;
74
78
  vertical-align: middle;
75
79
  margin: 0;
@@ -83,12 +87,14 @@
83
87
  -webkit-user-select: none;
84
88
  -moz-user-select: none;
85
89
  user-select: none;
86
- width: var(--rate-font-size);
87
- height: var(--rate-font-size);
90
+ width: -moz-max-content;
91
+ width: max-content;
92
+ height: -moz-max-content;
93
+ height: max-content;
88
94
  }
89
95
  .rs-rate-character-before {
90
96
  position: absolute;
91
- width: 50%;
97
+ width: var(--rs-rate-before-size);
92
98
  height: 100%;
93
99
  overflow: hidden;
94
100
  opacity: 0;
@@ -110,76 +116,84 @@
110
116
  .rs-rate-character-after > .rs-icon {
111
117
  font-size: inherit;
112
118
  }
113
- .rs-rate-character-half .rs-rate-character-before {
119
+ .rs-rate-character:where([data-status='half']) .rs-rate-character-before,
120
+ .rs-rate-character:where([data-status='frac']) .rs-rate-character-before {
114
121
  opacity: 1;
115
122
  filter: none;
116
123
  }
117
- .rs-rate-character-full .rs-rate-character-after {
124
+ .rs-rate-character:where([data-status='full']) .rs-rate-character-after {
118
125
  color: inherit;
119
126
  filter: none;
120
127
  }
121
- .rs-rate-character-full .rs-rate-character-after > .rs-icon {
128
+ .rs-rate-character:where([data-status='full']) .rs-rate-character-after > .rs-icon {
122
129
  fill: currentColor;
123
130
  }
124
131
  .rs-rate-character-vertical {
125
132
  width: 100%;
126
- height: 50%;
133
+ height: var(--rs-rate-before-size);
127
134
  flex-direction: column-reverse;
128
135
  bottom: 0;
129
136
  }
130
137
  .rs-rate-character .rs-icon,
131
138
  .rs-rate-character svg {
132
- position: absolute;
133
139
  height: 1em;
134
140
  width: 1em;
135
141
  }
136
- .rs-rate:not(.rs-rate-readonly).rs-rate:not(.rs-rate-disabled) .rs-rate-character:hover {
142
+ .rs-rate-character-before .rs-icon,
143
+ .rs-rate-character-before svg {
144
+ position: absolute;
145
+ }
146
+ .rs-rate-character:hover {
137
147
  transform: scale(1.1);
138
148
  }
139
- .rs-rate:not(.rs-rate-readonly).rs-rate:not(.rs-rate-disabled) .rs-rate-character:active {
149
+ .rs-rate-character:active {
140
150
  transform: scale(1);
141
151
  }
142
- .rs-rate-disabled {
152
+ .rs-rate:where([data-disabled='true']) {
153
+ cursor: not-allowed;
143
154
  opacity: 0.5;
144
155
  outline: none;
145
156
  }
146
- .rs-rate-disabled .rs-rate-character {
147
- cursor: not-allowed;
157
+ .rs-rate:where([data-disabled='true']) .rs-rate-character {
158
+ pointer-events: none;
148
159
  }
149
- .rs-rate-readonly .rs-rate-character {
160
+ .rs-rate:where([data-readonly='true']) .rs-rate-character {
150
161
  cursor: default;
151
162
  pointer-events: none;
152
163
  }
164
+ .rs-rate.rs-rate-xl {
165
+ --rs-rate-size: var(--rs-rate-size-xl);
166
+ }
153
167
  .rs-rate.rs-rate-lg {
154
- --rate-font-size: var(--rate-font-size-lg);
168
+ --rs-rate-size: var(--rs-rate-size-lg);
155
169
  }
156
170
  .rs-rate.rs-rate-md {
157
- --rate-font-size: var(--rate-font-size-md);
171
+ --rs-rate-size: var(--rs-rate-size-md);
158
172
  }
159
173
  .rs-rate.rs-rate-sm {
160
- --rate-font-size: var(--rate-font-size-sm);
174
+ --rs-rate-size: var(--rs-rate-size-sm);
161
175
  }
162
176
  .rs-rate.rs-rate-xs {
163
- --rate-font-size: var(--rate-font-size-xs);
177
+ --rs-rate-size: var(--rs-rate-size-xs);
164
178
  }
165
179
  .rs-rate.rs-rate-red {
166
- --rs-rate-symbol-checked: var(--rs-red-500);
180
+ --rs-rate-color: var(--rs-red-500);
167
181
  }
168
182
  .rs-rate.rs-rate-orange {
169
- --rs-rate-symbol-checked: var(--rs-orange-500);
183
+ --rs-rate-color: var(--rs-orange-500);
170
184
  }
171
185
  .rs-rate.rs-rate-yellow {
172
- --rs-rate-symbol-checked: var(--rs-yellow-500);
186
+ --rs-rate-color: var(--rs-yellow-500);
173
187
  }
174
188
  .rs-rate.rs-rate-green {
175
- --rs-rate-symbol-checked: var(--rs-green-500);
189
+ --rs-rate-color: var(--rs-green-500);
176
190
  }
177
191
  .rs-rate.rs-rate-cyan {
178
- --rs-rate-symbol-checked: var(--rs-cyan-500);
192
+ --rs-rate-color: var(--rs-cyan-500);
179
193
  }
180
194
  .rs-rate.rs-rate-blue {
181
- --rs-rate-symbol-checked: var(--rs-blue-500);
195
+ --rs-rate-color: var(--rs-blue-500);
182
196
  }
183
197
  .rs-rate.rs-rate-violet {
184
- --rs-rate-symbol-checked: var(--rs-violet-500);
198
+ --rs-rate-color: var(--rs-violet-500);
185
199
  }
@@ -4,15 +4,18 @@
4
4
  // ----------------------
5
5
 
6
6
  .rs-rate {
7
- --rate-font-size-xs: var(--rs-font-size-lg);
8
- --rate-font-size-sm: var(--rs-font-size-2xl);
9
- --rate-font-size-md: var(--rs-font-size-3xl);
10
- --rate-font-size-lg: var(--rs-font-size-4xl);
7
+ --rs-rate-size-xs: var(--rs-font-size-lg);
8
+ --rs-rate-size-sm: var(--rs-font-size-2xl);
9
+ --rs-rate-size-md: var(--rs-font-size-3xl);
10
+ --rs-rate-size-lg: var(--rs-font-size-4xl);
11
+ --rs-rate-size-xl: var(--rs-font-size-5xl);
12
+ --rs-rate-size: var(--rs-rate-size-md);
13
+ --rs-rate-before-size: 50%;
11
14
 
12
15
  position: relative;
13
16
  display: inline-flex;
14
- color: var(--rs-rate-symbol-checked);
15
- font-size: var(--rate-font-size, var(--rate-font-size-md));
17
+ color: var(--rs-rate-color);
18
+ font-size: var(--rs-rate-size);
16
19
  list-style: none;
17
20
  vertical-align: middle;
18
21
  margin: 0;
@@ -24,12 +27,12 @@
24
27
  cursor: pointer;
25
28
  outline: none;
26
29
  user-select: none;
27
- width: var(--rate-font-size);
28
- height: var(--rate-font-size);
30
+ width: max-content;
31
+ height: max-content;
29
32
 
30
33
  &-before {
31
34
  position: absolute;
32
- width: 50%;
35
+ width: var(--rs-rate-before-size);
33
36
  height: 100%;
34
37
  overflow: hidden;
35
38
  opacity: 0;
@@ -57,12 +60,13 @@
57
60
  }
58
61
  }
59
62
 
60
- &-half &-before {
63
+ &:where([data-status='half']) &-before,
64
+ &:where([data-status='frac']) &-before {
61
65
  opacity: 1;
62
66
  filter: none;
63
67
  }
64
68
 
65
- &-full &-after {
69
+ &:where([data-status='full']) &-after {
66
70
  color: inherit;
67
71
  filter: none;
68
72
 
@@ -73,20 +77,26 @@
73
77
 
74
78
  &-vertical {
75
79
  width: 100%;
76
- height: 50%;
80
+ height: var(--rs-rate-before-size);
77
81
  flex-direction: column-reverse;
78
82
  bottom: 0;
79
83
  }
80
84
 
81
85
  .rs-icon,
82
86
  svg {
83
- position: absolute;
84
87
  height: 1em;
85
88
  width: 1em;
86
89
  }
90
+
91
+ &-before {
92
+ .rs-icon,
93
+ svg {
94
+ position: absolute;
95
+ }
96
+ }
87
97
  }
88
98
 
89
- &:not(&-readonly)&:not(&-disabled) &-character {
99
+ &-character {
90
100
  &:hover {
91
101
  transform: scale(1.1);
92
102
  }
@@ -96,33 +106,34 @@
96
106
  }
97
107
  }
98
108
 
99
- &-disabled {
109
+ &:where([data-disabled='true']) {
110
+ cursor: @cursor-disabled;
100
111
  opacity: 0.5;
101
112
  outline: none;
102
113
  }
103
114
 
104
- &-disabled &-character {
105
- cursor: @cursor-disabled;
115
+ &:where([data-disabled='true']) &-character {
116
+ pointer-events: none;
106
117
  }
107
118
 
108
- &-readonly &-character {
119
+ &:where([data-readonly='true']) &-character {
109
120
  cursor: default;
110
121
  pointer-events: none;
111
122
  }
112
123
 
113
124
  // Size variants
114
- @sizes: lg, md, sm, xs;
125
+ @sizes: xl, lg, md, sm, xs;
115
126
 
116
127
  each(@sizes, .(@size) {
117
128
  &&-@{size} {
118
- --rate-font-size: var(~'--rate-font-size-@{size}');
129
+ --rs-rate-size: var(~'--rs-rate-size-@{size}');
119
130
  }
120
131
  });
121
132
 
122
133
  // Color variants
123
134
  each(@spectrum, .(@color) {
124
135
  &&-@{color} {
125
- --rs-rate-symbol-checked: var(~'--rs-@{color}-500');
136
+ --rs-rate-color: var(~'--rs-@{color}-500');
126
137
  }
127
138
  });
128
139
  }