rsuite 6.0.0-canary-20250624 → 6.0.0-canary-20250702

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 (247) hide show
  1. package/AutoComplete/styles/index.css +156 -161
  2. package/AvatarGroup/styles/index.css +1 -10
  3. package/Badge/styles/index.css +21 -21
  4. package/Button/styles/index.css +78 -63
  5. package/ButtonGroup/styles/index.css +15 -12
  6. package/ButtonToolbar/styles/index.css +1 -10
  7. package/CHANGELOG.md +9 -0
  8. package/Calendar/styles/index.css +92 -67
  9. package/Card/styles/index.css +7 -7
  10. package/CascadeTree/styles/index.css +8 -9
  11. package/Cascader/styles/index.css +160 -164
  12. package/CheckPicker/styles/index.css +173 -178
  13. package/CheckTree/styles/index.css +175 -180
  14. package/CheckTreePicker/styles/index.css +175 -180
  15. package/Checkbox/styles/index.css +21 -28
  16. package/CheckboxGroup/styles/index.css +1 -1
  17. package/DateInput/styles/index.css +8 -18
  18. package/DatePicker/styles/index.css +173 -168
  19. package/DateRangeInput/styles/index.css +8 -18
  20. package/DateRangePicker/styles/index.css +173 -168
  21. package/Dropdown/styles/index.css +110 -94
  22. package/IconButton/styles/index.css +95 -79
  23. package/InlineEdit/styles/index.css +12 -19
  24. package/Input/styles/index.css +8 -18
  25. package/InputGroup/styles/index.css +31 -38
  26. package/InputNumber/styles/index.css +115 -100
  27. package/InputPicker/styles/index.css +156 -161
  28. package/List/styles/index.css +10 -10
  29. package/Loader/styles/index.css +16 -16
  30. package/Menu/styles/index.css +2 -2
  31. package/Message/styles/index.css +2 -2
  32. package/MultiCascadeTree/styles/index.css +178 -191
  33. package/MultiCascader/styles/index.css +178 -200
  34. package/Nav/styles/index.css +162 -146
  35. package/Navbar/styles/index.css +140 -124
  36. package/NumberInput/styles/index.css +115 -100
  37. package/Pagination/styles/index.css +177 -200
  38. package/PasswordInput/styles/index.css +36 -43
  39. package/PinInput/styles/index.css +12 -22
  40. package/Radio/styles/index.css +22 -29
  41. package/RadioGroup/styles/index.css +11 -11
  42. package/SelectPicker/styles/index.css +156 -161
  43. package/Sidenav/styles/index.css +122 -129
  44. package/Stack/styles/index.css +1 -10
  45. package/Stat/styles/index.css +95 -79
  46. package/Steps/styles/index.css +26 -25
  47. package/Table/styles/index.css +11 -0
  48. package/Tabs/styles/index.css +162 -146
  49. package/Tag/styles/index.css +112 -96
  50. package/TagInput/styles/index.css +174 -179
  51. package/TagPicker/styles/index.css +174 -179
  52. package/TimePicker/styles/index.css +173 -168
  53. package/TimeRangePicker/styles/index.css +173 -168
  54. package/Toggle/styles/index.css +27 -30
  55. package/Tree/styles/index.css +157 -162
  56. package/TreePicker/styles/index.css +157 -162
  57. package/Uploader/styles/index.css +94 -65
  58. package/cjs/Badge/Badge.js +16 -11
  59. package/cjs/Breadcrumb/Breadcrumb.d.ts +2 -2
  60. package/cjs/Button/Button.js +9 -7
  61. package/cjs/ButtonGroup/ButtonGroup.js +7 -7
  62. package/cjs/Card/Card.js +6 -6
  63. package/cjs/Checkbox/Checkbox.js +6 -7
  64. package/cjs/CheckboxGroup/CheckboxGroup.js +3 -4
  65. package/cjs/Dropdown/Dropdown.js +3 -4
  66. package/cjs/Dropdown/DropdownItem.js +4 -4
  67. package/cjs/Dropdown/DropdownMenu.js +9 -10
  68. package/cjs/FormControl/FormControl.d.ts +1 -1
  69. package/cjs/FormControlLabel/FormControlLabel.d.ts +1 -1
  70. package/cjs/FormHelpText/FormHelpText.d.ts +1 -1
  71. package/cjs/IconButton/IconButton.d.ts +1 -1
  72. package/cjs/IconButton/IconButton.js +9 -9
  73. package/cjs/Image/Image.d.ts +1 -1
  74. package/cjs/InlineEdit/InlineEdit.js +3 -2
  75. package/cjs/InputGroup/InputGroup.js +12 -14
  76. package/cjs/InputGroup/InputGroupAddon.d.ts +2 -2
  77. package/cjs/InputPicker/InputAutosize.js +4 -6
  78. package/cjs/List/List.d.ts +1 -1
  79. package/cjs/List/List.js +7 -8
  80. package/cjs/List/ListItem.d.ts +2 -2
  81. package/cjs/List/ListItem.js +4 -4
  82. package/cjs/Loader/Loader.js +8 -7
  83. package/cjs/Menu/MenuSeparator.d.ts +2 -2
  84. package/cjs/Nav/Nav.d.ts +2 -2
  85. package/cjs/Nav/Nav.js +12 -13
  86. package/cjs/Nav/NavDropdownItem.js +4 -4
  87. package/cjs/Nav/NavDropdownMenu.js +10 -13
  88. package/cjs/Nav/NavItem.d.ts +2 -2
  89. package/cjs/Nav/NavItem.js +6 -8
  90. package/cjs/Navbar/Navbar.js +6 -6
  91. package/cjs/Navbar/NavbarDropdown.d.ts +1 -1
  92. package/cjs/Navbar/NavbarDropdown.js +3 -4
  93. package/cjs/Navbar/NavbarDropdownItem.js +4 -4
  94. package/cjs/Navbar/NavbarDropdownMenu.js +8 -11
  95. package/cjs/NumberInput/NumberInput.d.ts +1 -1
  96. package/cjs/Pagination/Pagination.js +3 -2
  97. package/cjs/Pagination/PaginationButton.d.ts +3 -3
  98. package/cjs/Pagination/PaginationButton.js +9 -17
  99. package/cjs/Pagination/PaginationGroup.js +2 -1
  100. package/cjs/Panel/PanelHeader.d.ts +1 -1
  101. package/cjs/Radio/Radio.js +6 -6
  102. package/cjs/RadioGroup/RadioGroup.js +4 -4
  103. package/cjs/Sidenav/ExpandedSidenavDropdown.d.ts +1 -1
  104. package/cjs/Sidenav/Sidenav.js +3 -2
  105. package/cjs/Sidenav/SidenavDropdown.js +3 -5
  106. package/cjs/Sidenav/SidenavDropdownItem.js +4 -4
  107. package/cjs/Sidenav/SidenavDropdownMenu.js +10 -13
  108. package/cjs/Sidenav/SidenavItem.d.ts +2 -2
  109. package/cjs/Sidenav/SidenavItem.js +4 -5
  110. package/cjs/Slider/Handle.d.ts +1 -1
  111. package/cjs/Stack/Stack.d.ts +1 -17
  112. package/cjs/Stack/Stack.js +3 -4
  113. package/cjs/Stack/StackItem.d.ts +4 -5
  114. package/cjs/Stack/StackItem.js +4 -10
  115. package/cjs/Steps/StepItem.js +7 -8
  116. package/cjs/Steps/Steps.d.ts +2 -1
  117. package/cjs/Steps/Steps.js +32 -34
  118. package/cjs/Tabs/Tabs.js +1 -1
  119. package/cjs/Tag/Tag.js +5 -2
  120. package/cjs/Toggle/Toggle.d.ts +1 -1
  121. package/cjs/Toggle/Toggle.js +7 -6
  122. package/cjs/Tree/types.d.ts +2 -2
  123. package/cjs/Uploader/Uploader.d.ts +2 -2
  124. package/cjs/internals/Box/Box.d.ts +1 -0
  125. package/cjs/internals/Box/index.d.ts +1 -1
  126. package/cjs/internals/Box/utils.js +5 -4
  127. package/cjs/internals/InputBase/InputBase.d.ts +1 -1
  128. package/cjs/internals/InputBase/InputBase.js +3 -2
  129. package/cjs/internals/Menu/MenuItem.js +1 -1
  130. package/cjs/internals/Overlay/Modal.d.ts +1 -1
  131. package/cjs/internals/Picker/PickerToggle.js +2 -4
  132. package/cjs/internals/SafeAnchor/SafeAnchor.d.ts +2 -2
  133. package/cjs/internals/Tree/TreeView.d.ts +2 -2
  134. package/cjs/internals/hooks/useCustom.js +24 -7
  135. package/cjs/internals/styled-system/css-alias.d.ts +7 -0
  136. package/cjs/internals/styled-system/css-alias.js +391 -0
  137. package/cjs/internals/styled-system/css-properties.d.ts +6 -0
  138. package/cjs/internals/styled-system/css-properties.js +30 -0
  139. package/cjs/internals/styled-system/index.d.ts +1 -1
  140. package/cjs/internals/styled-system/index.js +4 -4
  141. package/cjs/internals/styled-system/responsive.d.ts +0 -4
  142. package/cjs/internals/styled-system/responsive.js +12 -33
  143. package/cjs/internals/styled-system/types.d.ts +59 -5
  144. package/cjs/internals/styled-system/useStyled.js +3 -3
  145. package/cjs/internals/types/html.d.ts +6 -6
  146. package/cjs/internals/types/picker.d.ts +1 -1
  147. package/dist/rsuite-no-reset.css +641 -641
  148. package/dist/rsuite-no-reset.min.css +1 -1
  149. package/dist/rsuite.css +641 -641
  150. package/dist/rsuite.js +60 -60
  151. package/dist/rsuite.min.css +1 -1
  152. package/dist/rsuite.min.js +1 -1
  153. package/dist/rsuite.min.js.map +1 -1
  154. package/esm/Badge/Badge.js +16 -11
  155. package/esm/Breadcrumb/Breadcrumb.d.ts +2 -2
  156. package/esm/Button/Button.js +9 -7
  157. package/esm/ButtonGroup/ButtonGroup.js +7 -7
  158. package/esm/Card/Card.js +6 -6
  159. package/esm/Checkbox/Checkbox.js +6 -7
  160. package/esm/CheckboxGroup/CheckboxGroup.js +3 -4
  161. package/esm/Dropdown/Dropdown.js +3 -4
  162. package/esm/Dropdown/DropdownItem.js +4 -4
  163. package/esm/Dropdown/DropdownMenu.js +9 -10
  164. package/esm/FormControl/FormControl.d.ts +1 -1
  165. package/esm/FormControlLabel/FormControlLabel.d.ts +1 -1
  166. package/esm/FormHelpText/FormHelpText.d.ts +1 -1
  167. package/esm/IconButton/IconButton.d.ts +1 -1
  168. package/esm/IconButton/IconButton.js +9 -9
  169. package/esm/Image/Image.d.ts +1 -1
  170. package/esm/InlineEdit/InlineEdit.js +3 -2
  171. package/esm/InputGroup/InputGroup.js +12 -14
  172. package/esm/InputGroup/InputGroupAddon.d.ts +2 -2
  173. package/esm/InputPicker/InputAutosize.js +4 -6
  174. package/esm/List/List.d.ts +1 -1
  175. package/esm/List/List.js +7 -8
  176. package/esm/List/ListItem.d.ts +2 -2
  177. package/esm/List/ListItem.js +4 -4
  178. package/esm/Loader/Loader.js +8 -7
  179. package/esm/Menu/MenuSeparator.d.ts +2 -2
  180. package/esm/Nav/Nav.d.ts +2 -2
  181. package/esm/Nav/Nav.js +12 -13
  182. package/esm/Nav/NavDropdownItem.js +4 -4
  183. package/esm/Nav/NavDropdownMenu.js +10 -13
  184. package/esm/Nav/NavItem.d.ts +2 -2
  185. package/esm/Nav/NavItem.js +6 -8
  186. package/esm/Navbar/Navbar.js +7 -7
  187. package/esm/Navbar/NavbarDropdown.d.ts +1 -1
  188. package/esm/Navbar/NavbarDropdown.js +3 -4
  189. package/esm/Navbar/NavbarDropdownItem.js +4 -4
  190. package/esm/Navbar/NavbarDropdownMenu.js +8 -11
  191. package/esm/NumberInput/NumberInput.d.ts +1 -1
  192. package/esm/Pagination/Pagination.js +3 -2
  193. package/esm/Pagination/PaginationButton.d.ts +3 -3
  194. package/esm/Pagination/PaginationButton.js +9 -16
  195. package/esm/Pagination/PaginationGroup.js +2 -1
  196. package/esm/Panel/PanelHeader.d.ts +1 -1
  197. package/esm/Radio/Radio.js +6 -6
  198. package/esm/RadioGroup/RadioGroup.js +4 -4
  199. package/esm/Sidenav/ExpandedSidenavDropdown.d.ts +1 -1
  200. package/esm/Sidenav/Sidenav.js +3 -2
  201. package/esm/Sidenav/SidenavDropdown.js +3 -5
  202. package/esm/Sidenav/SidenavDropdownItem.js +4 -4
  203. package/esm/Sidenav/SidenavDropdownMenu.js +10 -13
  204. package/esm/Sidenav/SidenavItem.d.ts +2 -2
  205. package/esm/Sidenav/SidenavItem.js +4 -5
  206. package/esm/Slider/Handle.d.ts +1 -1
  207. package/esm/Stack/Stack.d.ts +1 -17
  208. package/esm/Stack/Stack.js +3 -4
  209. package/esm/Stack/StackItem.d.ts +4 -5
  210. package/esm/Stack/StackItem.js +5 -11
  211. package/esm/Steps/StepItem.js +7 -8
  212. package/esm/Steps/Steps.d.ts +2 -1
  213. package/esm/Steps/Steps.js +31 -34
  214. package/esm/Tabs/Tabs.js +1 -1
  215. package/esm/Tag/Tag.js +5 -2
  216. package/esm/Toggle/Toggle.d.ts +1 -1
  217. package/esm/Toggle/Toggle.js +7 -6
  218. package/esm/Tree/types.d.ts +2 -2
  219. package/esm/Uploader/Uploader.d.ts +2 -2
  220. package/esm/internals/Box/Box.d.ts +1 -0
  221. package/esm/internals/Box/index.d.ts +1 -1
  222. package/esm/internals/Box/utils.js +6 -5
  223. package/esm/internals/InputBase/InputBase.d.ts +1 -1
  224. package/esm/internals/InputBase/InputBase.js +3 -2
  225. package/esm/internals/Menu/MenuItem.js +1 -1
  226. package/esm/internals/Overlay/Modal.d.ts +1 -1
  227. package/esm/internals/Picker/PickerToggle.js +2 -4
  228. package/esm/internals/SafeAnchor/SafeAnchor.d.ts +2 -2
  229. package/esm/internals/Tree/TreeView.d.ts +2 -2
  230. package/esm/internals/hooks/useCustom.js +24 -7
  231. package/esm/internals/styled-system/css-alias.d.ts +7 -0
  232. package/esm/internals/styled-system/css-alias.js +387 -0
  233. package/esm/internals/styled-system/css-properties.d.ts +6 -0
  234. package/esm/internals/styled-system/css-properties.js +26 -0
  235. package/esm/internals/styled-system/index.d.ts +1 -1
  236. package/esm/internals/styled-system/index.js +1 -1
  237. package/esm/internals/styled-system/responsive.d.ts +0 -4
  238. package/esm/internals/styled-system/responsive.js +11 -31
  239. package/esm/internals/styled-system/types.d.ts +59 -5
  240. package/esm/internals/styled-system/useStyled.js +3 -3
  241. package/esm/internals/types/html.d.ts +6 -6
  242. package/esm/internals/types/picker.d.ts +1 -1
  243. package/package.json +1 -1
  244. package/cjs/internals/styled-system/css-property.d.ts +0 -6
  245. package/cjs/internals/styled-system/css-property.js +0 -289
  246. package/esm/internals/styled-system/css-property.d.ts +0 -6
  247. package/esm/internals/styled-system/css-property.js +0 -285
@@ -103,7 +103,7 @@ body{
103
103
  --rs-text-highlight-bg:#fff6c9;
104
104
  --rs-border-primary:var(--rs-gray-200);
105
105
  --rs-bg-overlay:var(--rs-gray-0);
106
- --rs-color-focus-ring:rgb(from var(--rs-primary-500) r g b / 25%);
106
+ --rs-focus-ring-color:rgb(from var(--rs-primary-500) r g b / 25%);
107
107
  --rs-state-error-outline:2px solid rgb(from var(--rs-color-red) r g b / 25%);
108
108
  --rs-btn-default-bg:var(--rs-gray-50);
109
109
  --rs-btn-default-text:var(--rs-gray-800);
@@ -166,7 +166,7 @@ body{
166
166
  }
167
167
  @supports not (color: rgb(from white r g b)){
168
168
  :root{
169
- --rs-color-focus-ring:rgba(52, 152, 255, 0.25);
169
+ --rs-focus-ring-color:rgba(52, 152, 255, 0.25);
170
170
  --rs-loader-ring:rgba(247, 247, 250, 0.8);
171
171
  --rs-loader-backdrop:rgba(255, 255, 255, 0.9);
172
172
  --rs-loader-ring-inverse:rgba(247, 247, 250, 0.3);
@@ -263,7 +263,6 @@ body{
263
263
  --rs-text-disabled:var(--rs-gray-400);
264
264
  --rs-border-primary:var(--rs-gray-600);
265
265
  --rs-bg-overlay:var(--rs-gray-700);
266
- --rs-color-focus-ring:0 0 0 2px rgb(from var(--rs-gray-500) r g b / 25%);
267
266
  --rs-state-error-outline:2px solid rgb(from var(--rs-color-red) r g b / 25%);
268
267
  --rs-btn-default-bg:var(--rs-gray-600);
269
268
  --rs-btn-default-text:var(--rs-gray-50);
@@ -325,7 +324,6 @@ body{
325
324
  @supports not (color: rgb(from white r g b)){
326
325
  [data-theme=dark],
327
326
  .rs-theme-dark{
328
- --rs-color-focus-ring:0 0 0 2px rgba(52, 195, 255, 0.25);
329
327
  --rs-loader-ring:rgba(233, 235, 240, 0.3);
330
328
  --rs-loader-backdrop:rgba(15, 19, 26, 0.83);
331
329
  --rs-loader-ring-inverse:rgba(233, 235, 240, 0.8);
@@ -423,7 +421,7 @@ body{
423
421
  --rs-text-highlight-bg:var(--rs-primary-500);
424
422
  --rs-border-primary:var(--rs-gray-100);
425
423
  --rs-bg-overlay:var(--rs-gray-800);
426
- --rs-color-focus-ring:var(--rs-gray-0);
424
+ --rs-focus-ring-color:var(--rs-gray-0);
427
425
  --rs-state-error-outline:2px solid rgb(from var(--rs-color-red) r g b / 25%);
428
426
  --rs-btn-default-bg:transparent;
429
427
  --rs-btn-default-text:var(--rs-primary-500);
@@ -524,7 +522,7 @@ body{
524
522
  --rs-ripple-bg:rgb(0 0 0 / 20%);
525
523
  --rs-zindex-dropdown:5;
526
524
  --rs-zindex-picker-toggle:5;
527
- --rs-zindex-picker-popup:calc(var(--rs-zindex-picker-toggle) + 2);
525
+ --rs-zindex-picker-popup:7;
528
526
  --rs-zindex-modal:1050;
529
527
  --rs-zindex-drawer:1050;
530
528
  }
@@ -588,7 +586,7 @@ body{
588
586
 
589
587
  .rs-cascade-search-view-row{
590
588
  display:flex;
591
- justify-content:space-between;
589
+ justify-content:flex-start;
592
590
  padding-inline:var(--rs-picker-item-content-padding-horizontal);
593
591
  padding-block:var(--rs-picker-item-content-padding-vertical);
594
592
  clear:both;
@@ -604,7 +602,7 @@ body{
604
602
  color:var(--rs-listbox-option-hover-text);
605
603
  }
606
604
  [data-theme=high-contrast] .rs-cascade-search-view-row:hover, .rs-theme-high-contrast .rs-cascade-search-view-row:hover{
607
- outline:2px solid var(--rs-color-focus-ring);
605
+ outline:2px solid var(--rs-focus-ring-color);
608
606
  outline-offset:-1px;
609
607
  outline-offset:-3px;
610
608
  outline-width:2px;
@@ -616,7 +614,7 @@ body{
616
614
  color:var(--rs-listbox-option-hover-text);
617
615
  }
618
616
  [data-theme=high-contrast] .rs-cascade-search-view-row.rs-cascade-search-view-row-focus, .rs-theme-high-contrast .rs-cascade-search-view-row.rs-cascade-search-view-row-focus{
619
- outline:2px solid var(--rs-color-focus-ring);
617
+ outline:2px solid var(--rs-focus-ring-color);
620
618
  outline-offset:-1px;
621
619
  outline-offset:-3px;
622
620
  outline-width:2px;
@@ -657,6 +655,7 @@ body{
657
655
 
658
656
  .rs-cascade-tree-column{
659
657
  overflow-y:auto;
658
+ overflow-x:hidden;
660
659
  }
661
660
  .rs-cascade-tree-column-loading{
662
661
  padding:4px;
@@ -688,7 +687,7 @@ body{
688
687
  color:var(--rs-listbox-option-hover-text);
689
688
  }
690
689
  [data-theme=high-contrast] .rs-cascade-tree-item:hover, .rs-theme-high-contrast .rs-cascade-tree-item:hover, [data-theme=high-contrast] .rs-cascade-tree-item:focus, .rs-theme-high-contrast .rs-cascade-tree-item:focus, [data-theme=high-contrast] .rs-cascade-tree-item.rs-cascade-tree-item-focus, .rs-theme-high-contrast .rs-cascade-tree-item.rs-cascade-tree-item-focus{
691
- outline:2px solid var(--rs-color-focus-ring);
690
+ outline:2px solid var(--rs-focus-ring-color);
692
691
  outline-offset:-1px;
693
692
  outline-offset:-3px;
694
693
  outline-width:2px;
@@ -735,7 +734,7 @@ body{
735
734
  position:relative;
736
735
  align-items:center;
737
736
  }
738
- .rs-checkbox-disabled label{
737
+ .rs-checkbox[data-disabled=true] label{
739
738
  cursor:var(--rs-cursor-disabled);
740
739
  }
741
740
  .rs-checkbox label{
@@ -745,14 +744,14 @@ body{
745
744
  .rs-checkbox-inner::before{
746
745
  border-color:var(--rs-checkbox-checked-bg);
747
746
  }
748
- .rs-checkbox-disabled label{
747
+ .rs-checkbox[data-disabled=true] label{
749
748
  cursor:var(--rs-cursor-disabled);
750
749
  }
751
- .rs-checkbox-disabled > .rs-checkbox-checker > label{
750
+ .rs-checkbox[data-disabled=true] > .rs-checkbox-checker > label{
752
751
  color:var(--rs-text-disabled);
753
752
  }
754
753
  .rs-checkbox [type=checkbox]:focus-visible ~ .rs-checkbox-inner::before{
755
- outline:2px solid var(--rs-color-focus-ring);
754
+ outline:2px solid var(--rs-focus-ring-color);
756
755
  outline-offset:-1px;
757
756
  }
758
757
 
@@ -783,7 +782,7 @@ body{
783
782
  [data-theme=high-contrast] .rs-checkbox-control .rs-checkbox-inner::after, .rs-theme-high-contrast .rs-checkbox-control .rs-checkbox-inner::after{
784
783
  transition:none;
785
784
  }
786
- .rs-checkbox-checked .rs-checkbox-control .rs-checkbox-inner::after, .rs-checkbox-indeterminate .rs-checkbox-control .rs-checkbox-inner::after{
785
+ .rs-checkbox[data-checked=true] .rs-checkbox-control .rs-checkbox-inner::after, .rs-checkbox[data-checked=mixed] .rs-checkbox-control .rs-checkbox-inner::after{
787
786
  border:solid var(--rs-checkbox-icon);
788
787
  width:6px;
789
788
  height:9px;
@@ -791,11 +790,11 @@ body{
791
790
  margin-inline-start:5px;
792
791
  opacity:1;
793
792
  }
794
- .rs-checkbox-checked .rs-checkbox-control .rs-checkbox-inner::after{
793
+ .rs-checkbox[data-checked=true] .rs-checkbox-control .rs-checkbox-inner::after{
795
794
  border-width:0 2px 2px 0;
796
795
  transform:rotate(45deg) scale(1);
797
796
  }
798
- .rs-checkbox-indeterminate .rs-checkbox-control .rs-checkbox-inner::after{
797
+ .rs-checkbox[data-checked=mixed] .rs-checkbox-control .rs-checkbox-inner::after{
799
798
  border-width:0 0 2px;
800
799
  transform:rotate(0deg) scale(1);
801
800
  width:10px;
@@ -829,7 +828,7 @@ body{
829
828
  [data-theme=high-contrast] .rs-checkbox-control::before, .rs-theme-high-contrast .rs-checkbox-control::before{
830
829
  transition:none;
831
830
  }
832
- .rs-checkbox-checked .rs-checkbox-control::before{
831
+ .rs-checkbox[data-checked=true] .rs-checkbox-control::before{
833
832
  transform:scale(1.5);
834
833
  opacity:0;
835
834
  visibility:visible;
@@ -846,49 +845,49 @@ body{
846
845
  label:hover .rs-checkbox-control .rs-checkbox-inner::before{
847
846
  border-color:var(--rs-checkbox-checked-bg);
848
847
  }
849
- .rs-checkbox-disabled:not(.rs-checkbox-checked):not(.rs-checkbox-indeterminate) .rs-checkbox-control .rs-checkbox-inner::before{
848
+ .rs-checkbox[data-disabled=true][data-checked=false] .rs-checkbox-control .rs-checkbox-inner::before{
850
849
  border-color:var(--rs-checkbox-disabled-bg);
851
850
  background-color:var(--rs-checkbox-disabled-bg);
852
851
  }
853
- .rs-checkbox-checked .rs-checkbox-control .rs-checkbox-inner::before, .rs-checkbox-indeterminate .rs-checkbox-control .rs-checkbox-inner::before{
852
+ .rs-checkbox[data-checked=true] .rs-checkbox-control .rs-checkbox-inner::before, .rs-checkbox[data-checked=mixed] .rs-checkbox-control .rs-checkbox-inner::before{
854
853
  border-color:var(--rs-checkbox-checked-bg);
855
854
  background-color:var(--rs-checkbox-checked-bg);
856
855
  }
857
- .rs-checkbox-disabled.rs-checkbox-checked .rs-checkbox-control .rs-checkbox-inner::before, .rs-checkbox-disabled.rs-checkbox-indeterminate .rs-checkbox-control .rs-checkbox-inner::before{
856
+ .rs-checkbox[data-disabled=true][data-checked=true] .rs-checkbox-control .rs-checkbox-inner::before, .rs-checkbox[data-disabled=true][data-checked=mixed] .rs-checkbox-control .rs-checkbox-inner::before{
858
857
  opacity:0.5;
859
858
  }
860
859
 
861
- .rs-checkbox-red{
860
+ .rs-checkbox[data-color=red]{
862
861
  --rs-checkbox-checked-bg:var(--rs-red-500);
863
862
  --rs-checkbox-border:var(--rs-red-500);
864
863
  }
865
864
 
866
- .rs-checkbox-orange{
865
+ .rs-checkbox[data-color=orange]{
867
866
  --rs-checkbox-checked-bg:var(--rs-orange-500);
868
867
  --rs-checkbox-border:var(--rs-orange-500);
869
868
  }
870
869
 
871
- .rs-checkbox-yellow{
870
+ .rs-checkbox[data-color=yellow]{
872
871
  --rs-checkbox-checked-bg:var(--rs-yellow-500);
873
872
  --rs-checkbox-border:var(--rs-yellow-500);
874
873
  }
875
874
 
876
- .rs-checkbox-green{
875
+ .rs-checkbox[data-color=green]{
877
876
  --rs-checkbox-checked-bg:var(--rs-green-500);
878
877
  --rs-checkbox-border:var(--rs-green-500);
879
878
  }
880
879
 
881
- .rs-checkbox-cyan{
880
+ .rs-checkbox[data-color=cyan]{
882
881
  --rs-checkbox-checked-bg:var(--rs-cyan-500);
883
882
  --rs-checkbox-border:var(--rs-cyan-500);
884
883
  }
885
884
 
886
- .rs-checkbox-blue{
885
+ .rs-checkbox[data-color=blue]{
887
886
  --rs-checkbox-checked-bg:var(--rs-blue-500);
888
887
  --rs-checkbox-border:var(--rs-blue-500);
889
888
  }
890
889
 
891
- .rs-checkbox-violet{
890
+ .rs-checkbox[data-color=violet]{
892
891
  --rs-checkbox-checked-bg:var(--rs-violet-500);
893
892
  --rs-checkbox-border:var(--rs-violet-500);
894
893
  }
@@ -899,9 +898,6 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
899
898
  --rs-stack-direction:row;
900
899
  --rs-stack-align:center;
901
900
  --rs-stack-justify:flex-start;
902
- --rs-stack-item-grow:0;
903
- --rs-stack-item-shrink:1;
904
- --rs-stack-item-basis:auto;
905
901
  }
906
902
 
907
903
  .rs-stack{
@@ -928,7 +924,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
928
924
  --rs-stack-align:center;
929
925
  flex-direction:row-reverse;
930
926
  }
931
- .rs-stack-wrap{
927
+ .rs-stack[data-wrap=true]{
932
928
  flex-wrap:wrap;
933
929
  }
934
930
  .rs-stack-xs-column{
@@ -1014,12 +1010,6 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1014
1010
  }
1015
1011
  }
1016
1012
 
1017
- .rs-stack-item{
1018
- align-self:var(--rs-stack-item-align-self);
1019
- order:var(--rs-stack-item-order);
1020
- flex:var(--rs-stack-item-flex, var(--rs-stack-item-grow) var(--rs-stack-item-shrink) var(--rs-stack-item-basis));
1021
- }
1022
-
1023
1013
  :root{
1024
1014
  --rs-loader-duration-fast:0.4s;
1025
1015
  --rs-loader-duration-normal:0.6s;
@@ -1036,7 +1026,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1036
1026
  --rs-loader-spin-ring-width:3px;
1037
1027
  }
1038
1028
 
1039
- .rs-loader{
1029
+ .rs-loader-box{
1040
1030
  display:inline-flex;
1041
1031
  align-items:center;
1042
1032
  justify-content:center;
@@ -1078,34 +1068,34 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1078
1068
  height:100%;
1079
1069
  background:var(--rs-loader-backdrop);
1080
1070
  }
1081
- .rs-loader-vertical .rs-loader{
1071
+ .rs-loader[data-direction=vertical] .rs-loader-box{
1082
1072
  flex-direction:column;
1083
1073
  }
1084
- .rs-loader-inverse .rs-loader-content{
1074
+ .rs-loader[data-inverse=true] .rs-loader-content{
1085
1075
  color:var(--rs-text-inverse);
1086
1076
  }
1087
- .rs-loader-inverse .rs-loader-backdrop{
1077
+ .rs-loader[data-inverse=true] .rs-loader-backdrop{
1088
1078
  background:var(--rs-loader-backdrop-inverse);
1089
1079
  }
1090
- .rs-loader-inverse .rs-loader-spin::before{
1080
+ .rs-loader[data-inverse=true] .rs-loader-spin::before{
1091
1081
  border-color:var(--rs-loader-ring-inverse);
1092
1082
  }
1093
- .rs-loader-inverse .rs-loader-spin::after{
1083
+ .rs-loader[data-inverse=true] .rs-loader-spin::after{
1094
1084
  border-top-color:var(--rs-loader-rotor-inverse);
1095
1085
  }
1096
- .rs-loader-speed-fast .rs-loader-spin::after{
1086
+ .rs-loader[data-speed=fast] .rs-loader-spin::after{
1097
1087
  animation-duration:var(--rs-loader-duration-fast);
1098
1088
  }
1099
- .rs-loader-speed-normal .rs-loader-spin::after{
1089
+ .rs-loader[data-speed=normal] .rs-loader-spin::after{
1100
1090
  animation-duration:var(--rs-loader-duration-normal);
1101
1091
  }
1102
- .rs-loader-speed-slow .rs-loader-spin::after{
1092
+ .rs-loader[data-speed=slow] .rs-loader-spin::after{
1103
1093
  animation-duration:var(--rs-loader-duration-slow);
1104
1094
  }
1105
- .rs-loader-speed-paused .rs-loader-spin::after{
1095
+ .rs-loader[data-speed=paused] .rs-loader-spin::after{
1106
1096
  animation-play-state:var(--rs-loader-duration-paused);
1107
1097
  }
1108
- .rs-loader-center{
1098
+ .rs-loader[data-center=true]{
1109
1099
  position:absolute;
1110
1100
  top:0;
1111
1101
  bottom:0;
@@ -1118,26 +1108,26 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1118
1108
  align-items:center;
1119
1109
  justify-content:center;
1120
1110
  }
1121
- .rs-loader-center .rs-loader-content{
1111
+ .rs-loader[data-center=true] .rs-loader-content{
1122
1112
  z-index:1;
1123
1113
  }
1124
1114
 
1125
- .rs-loader-xs{
1115
+ .rs-loader[data-size=xs]{
1126
1116
  --rs-loader-size:var(--rs-loader-size-xs);
1127
1117
  --rs-loader-font-size:var(--rs-loader-font-size-xs);
1128
1118
  }
1129
1119
 
1130
- .rs-loader-sm{
1120
+ .rs-loader[data-size=sm]{
1131
1121
  --rs-loader-size:var(--rs-loader-size-sm);
1132
1122
  --rs-loader-font-size:var(--rs-loader-font-size-sm);
1133
1123
  }
1134
1124
 
1135
- .rs-loader-md{
1125
+ .rs-loader[data-size=md]{
1136
1126
  --rs-loader-size:var(--rs-loader-size-md);
1137
1127
  --rs-loader-font-size:var(--rs-loader-font-size-md);
1138
1128
  }
1139
1129
 
1140
- .rs-loader-lg{
1130
+ .rs-loader[data-size=lg]{
1141
1131
  --rs-loader-size:var(--rs-loader-size-lg);
1142
1132
  --rs-loader-font-size:var(--rs-loader-font-size-lg);
1143
1133
  }
@@ -1199,32 +1189,32 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1199
1189
  border-color:var(--rs-input-focus-border);
1200
1190
  }
1201
1191
  .rs-input:focus-visible{
1202
- outline:2px solid var(--rs-color-focus-ring);
1192
+ outline:2px solid var(--rs-focus-ring-color);
1203
1193
  outline-offset:-1px;
1204
1194
  }
1205
1195
  .rs-input:disabled{
1206
1196
  background-color:var(--rs-input-disabled-bg);
1207
1197
  color:var(--rs-text-disabled);
1208
1198
  }
1209
- .rs-input.rs-input-xs{
1199
+ .rs-input[data-size=xs]{
1210
1200
  --rs-input-font-size:var(--rs-input-font-size-xs);
1211
1201
  --rs-input-line-height:var(--rs-input-line-height-xs);
1212
1202
  --rs-input-padding-block:var(--rs-input-padding-block-xs);
1213
1203
  --rs-input-padding-inline:var(--rs-input-padding-inline-xs);
1214
1204
  }
1215
- .rs-input.rs-input-sm{
1205
+ .rs-input[data-size=sm]{
1216
1206
  --rs-input-font-size:var(--rs-input-font-size-sm);
1217
1207
  --rs-input-line-height:var(--rs-input-line-height-sm);
1218
1208
  --rs-input-padding-block:var(--rs-input-padding-block-sm);
1219
1209
  --rs-input-padding-inline:var(--rs-input-padding-inline-sm);
1220
1210
  }
1221
- .rs-input.rs-input-md{
1211
+ .rs-input[data-size=md]{
1222
1212
  --rs-input-font-size:var(--rs-input-font-size-md);
1223
1213
  --rs-input-line-height:var(--rs-input-line-height-md);
1224
1214
  --rs-input-padding-block:var(--rs-input-padding-block-md);
1225
1215
  --rs-input-padding-inline:var(--rs-input-padding-inline-md);
1226
1216
  }
1227
- .rs-input.rs-input-lg{
1217
+ .rs-input[data-size=lg]{
1228
1218
  --rs-input-font-size:var(--rs-input-font-size-lg);
1229
1219
  --rs-input-line-height:var(--rs-input-line-height-lg);
1230
1220
  --rs-input-padding-block:var(--rs-input-padding-block-lg);
@@ -1264,25 +1254,25 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1264
1254
  border:1px solid var(--rs-border-primary);
1265
1255
  overflow:hidden;
1266
1256
  }
1267
- .rs-input-group.rs-input-group-xs{
1257
+ .rs-input-group[data-size=xs]{
1268
1258
  --rs-input-group-input-height:var(--rs-input-group-input-height-xs);
1269
1259
  --rs-input-group-inside-btn-spacing:var(--rs-input-group-inside-btn-m-x-xs);
1270
1260
  --rs-input-group-inside-btn-padding:var(--rs-input-group-inside-btn-p-x-xs);
1271
1261
  --rs-input-group-font-size:var(--rs-input-group-font-size-xs);
1272
1262
  }
1273
- .rs-input-group.rs-input-group-sm{
1263
+ .rs-input-group[data-size=sm]{
1274
1264
  --rs-input-group-input-height:var(--rs-input-group-input-height-sm);
1275
1265
  --rs-input-group-inside-btn-spacing:var(--rs-input-group-inside-btn-m-x-sm);
1276
1266
  --rs-input-group-inside-btn-padding:var(--rs-input-group-inside-btn-p-x-sm);
1277
1267
  --rs-input-group-font-size:var(--rs-input-group-font-size-sm);
1278
1268
  }
1279
- .rs-input-group.rs-input-group-md{
1269
+ .rs-input-group[data-size=md]{
1280
1270
  --rs-input-group-input-height:var(--rs-input-group-input-height-md);
1281
1271
  --rs-input-group-inside-btn-spacing:var(--rs-input-group-inside-btn-m-x-md);
1282
1272
  --rs-input-group-inside-btn-padding:var(--rs-input-group-inside-btn-p-x-md);
1283
1273
  --rs-input-group-font-size:var(--rs-input-group-font-size-md);
1284
1274
  }
1285
- .rs-input-group.rs-input-group-lg{
1275
+ .rs-input-group[data-size=lg]{
1286
1276
  --rs-input-group-input-height:var(--rs-input-group-input-height-lg);
1287
1277
  --rs-input-group-inside-btn-spacing:var(--rs-input-group-inside-btn-m-x-lg);
1288
1278
  --rs-input-group-inside-btn-padding:var(--rs-input-group-inside-btn-p-x-lg);
@@ -1291,11 +1281,11 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1291
1281
  [data-theme=high-contrast] .rs-input-group, .rs-theme-high-contrast .rs-input-group{
1292
1282
  transition:none;
1293
1283
  }
1294
- .rs-input-group:not(.rs-input-group-disabled).rs-input-group-focus, .rs-input-group:focus-within{
1284
+ .rs-input-group:not([data-disabled=true]).rs-input-group-focus, .rs-input-group:focus-within{
1295
1285
  border-color:var(--rs-input-focus-border);
1296
1286
  }
1297
- .rs-input-group:not(.rs-input-group-disabled).rs-input-group-focus, .rs-input-group:focus-within{
1298
- outline:2px solid var(--rs-color-focus-ring);
1287
+ .rs-input-group:not([data-disabled=true]).rs-input-group-focus, .rs-input-group:focus-within{
1288
+ outline:2px solid var(--rs-focus-ring-color);
1299
1289
  outline-offset:-1px;
1300
1290
  }
1301
1291
  .rs-input-group .rs-input-group{
@@ -1330,23 +1320,23 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1330
1320
  .rs-input-group > .rs-input-group-addon > .rs-icon{
1331
1321
  font-size:inherit;
1332
1322
  }
1333
- .rs-input-group.rs-input-group-inside{
1323
+ .rs-input-group[data-inside=true]{
1334
1324
  width:var(--rs-input-group-width);
1335
1325
  align-items:center;
1336
1326
  background-color:var(--rs-input-bg);
1337
1327
  }
1338
- .rs-input-group.rs-input-group-inside .rs-input{
1328
+ .rs-input-group[data-inside=true] .rs-input{
1339
1329
  display:block;
1340
1330
  width:100%;
1341
1331
  border:none;
1342
1332
  outline:none;
1343
1333
  }
1344
- .rs-input-group.rs-input-group-inside .rs-input-group-btn,
1345
- .rs-input-group.rs-input-group-inside .rs-input-group-addon{
1334
+ .rs-input-group[data-inside=true] .rs-input-group-btn,
1335
+ .rs-input-group[data-inside=true] .rs-input-group-addon{
1346
1336
  flex:0 0 auto;
1347
1337
  width:auto;
1348
1338
  }
1349
- .rs-input-group.rs-input-group-inside .rs-input-group-btn{
1339
+ .rs-input-group[data-inside=true] .rs-input-group-btn{
1350
1340
  border-radius:var(--rs-input-group-border-radius);
1351
1341
  height:calc(var(--rs-input-group-input-height) - var(--rs-input-group-inside-btn-spacing) * 2);
1352
1342
  margin-inline:var(--rs-input-group-inside-btn-spacing);
@@ -1355,42 +1345,42 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1355
1345
  background-color:transparent;
1356
1346
  color:inherit;
1357
1347
  }
1358
- .rs-input-group.rs-input-group-inside .rs-input-group-btn:hover{
1348
+ .rs-input-group[data-inside=true] .rs-input-group-btn:hover{
1359
1349
  color:var(--rs-btn-subtle-hover-text);
1360
1350
  background-color:var(--rs-btn-subtle-hover-bg);
1361
1351
  }
1362
- .rs-input-group.rs-input-group-inside .rs-input-group-btn:active, .rs-input-group.rs-input-group-inside .rs-input-group-btn.rs-btn-active{
1352
+ .rs-input-group[data-inside=true] .rs-input-group-btn:active, .rs-input-group[data-inside=true] .rs-input-group-btn[data-active=true]{
1363
1353
  color:var(--rs-btn-subtle-active-text);
1364
1354
  background-color:var(--rs-btn-subtle-active-bg);
1365
1355
  }
1366
- .rs-input-group.rs-input-group-inside .rs-input-group-btn:disabled, .rs-input-group.rs-input-group-inside .rs-input-group-btn.rs-btn-disabled{
1356
+ .rs-input-group[data-inside=true] .rs-input-group-btn:disabled, .rs-input-group[data-inside=true] .rs-input-group-btn[data-disabled=true]{
1367
1357
  color:var(--rs-btn-subtle-disabled-text);
1368
1358
  background:none;
1369
1359
  }
1370
- .rs-input-group.rs-input-group-inside .rs-input-group-btn:focus{
1360
+ .rs-input-group[data-inside=true] .rs-input-group-btn:focus{
1371
1361
  outline:none;
1372
1362
  }
1373
- .rs-input-group.rs-input-group-inside .rs-input-group-addon{
1363
+ .rs-input-group[data-inside=true] .rs-input-group-addon{
1374
1364
  background:none;
1375
1365
  border:none;
1376
1366
  }
1377
- .rs-input-group.rs-input-group-inside .rs-input:not(:first-child),
1378
- .rs-input-group.rs-input-group-inside .rs-auto-complete:not(:first-child) .rs-input{
1367
+ .rs-input-group[data-inside=true] .rs-input:not(:first-child),
1368
+ .rs-input-group[data-inside=true] .rs-auto-complete:not(:first-child) .rs-input{
1379
1369
  padding-inline-start:0;
1380
1370
  }
1381
- .rs-input-group.rs-input-group-inside .rs-input:not(:last-child),
1382
- .rs-input-group.rs-input-group-inside .rs-auto-complete:not(:last-child) .rs-input{
1371
+ .rs-input-group[data-inside=true] .rs-input:not(:last-child),
1372
+ .rs-input-group[data-inside=true] .rs-auto-complete:not(:last-child) .rs-input{
1383
1373
  padding-inline-end:0;
1384
1374
  }
1385
1375
 
1386
- .rs-input-group.rs-input-group-disabled{
1376
+ .rs-input-group[data-disabled=true]{
1387
1377
  background-color:var(--rs-input-disabled-bg);
1388
1378
  color:var(--rs-text-disabled);
1389
1379
  cursor:not-allowed;
1390
1380
  }
1391
- .rs-input-group.rs-input-group-disabled .rs-input,
1392
- .rs-input-group.rs-input-group-disabled .rs-input-group-btn,
1393
- .rs-input-group.rs-input-group-disabled .rs-input-group-addon{
1381
+ .rs-input-group[data-disabled=true] .rs-input,
1382
+ .rs-input-group[data-disabled=true] .rs-input-group-btn,
1383
+ .rs-input-group[data-disabled=true] .rs-input-group-addon{
1394
1384
  color:inherit;
1395
1385
  }
1396
1386
 
@@ -1410,16 +1400,16 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1410
1400
  padding-inline:var(--rs-spacing);
1411
1401
  min-width:var(--rs-input-group-input-height);
1412
1402
  }
1413
- .rs-input-group-addon.rs-input-sm{
1403
+ .rs-input-group-addon[data-size=sm]{
1414
1404
  padding-block:var(--rs-spacing-block-sm);
1415
1405
  padding-inline:var(--rs-spacing-inline-sm);
1416
1406
  font-size:var(--rs-font-size-sm);
1417
1407
  }
1418
- .rs-input-group-addon.rs-input-xs{
1408
+ .rs-input-group-addon[data-size=xs]{
1419
1409
  padding:var(--rs-spacing-inline-xs);
1420
1410
  font-size:var(--rs-font-size-xs);
1421
1411
  }
1422
- .rs-input-group-addon.rs-input-lg{
1412
+ .rs-input-group-addon[data-size=lg]{
1423
1413
  padding-block:var(--rs-spacing-block-lg);
1424
1414
  padding-inline:var(--rs-spacing-inline-lg);
1425
1415
  font-size:var(--rs-font-size-md);
@@ -1540,7 +1530,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1540
1530
  border-color:var(--rs-btn-default-border-color);
1541
1531
  }
1542
1532
  .rs-btn:focus-visible{
1543
- outline:2px solid var(--rs-color-focus-ring);
1533
+ outline:2px solid var(--rs-focus-ring-color);
1544
1534
  outline-offset:-1px;
1545
1535
  }
1546
1536
  .rs-btn:hover{
@@ -1548,16 +1538,16 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1548
1538
  background-color:var(--rs-btn-default-hover-bg);
1549
1539
  text-decoration:none;
1550
1540
  }
1551
- .rs-btn:active, .rs-btn.rs-btn-active{
1541
+ .rs-btn:active, .rs-btn.rs-btn[data-active=true]{
1552
1542
  color:var(--rs-btn-default-active-text);
1553
1543
  background-color:var(--rs-btn-default-active-bg);
1554
1544
  }
1555
- .rs-btn:disabled, .rs-btn.rs-btn-disabled{
1545
+ .rs-btn:disabled, .rs-btn.rs-btn[data-disabled=true]{
1556
1546
  cursor:var(--rs-cursor-disabled);
1557
1547
  color:var(--rs-btn-default-disabled-text);
1558
1548
  background-color:var(--rs-btn-default-disabled-bg);
1559
1549
  }
1560
- [data-theme=high-contrast] .rs-btn:disabled, .rs-theme-high-contrast .rs-btn:disabled, [data-theme=high-contrast] .rs-btn.rs-btn-disabled, .rs-theme-high-contrast .rs-btn.rs-btn-disabled{
1550
+ [data-theme=high-contrast] .rs-btn:disabled, .rs-theme-high-contrast .rs-btn:disabled, [data-theme=high-contrast] .rs-btn.rs-btn[data-disabled=true], .rs-theme-high-contrast .rs-btn.rs-btn[data-disabled=true]{
1561
1551
  border-color:var(--rs-btn-default-disabled-border-color);
1562
1552
  }
1563
1553
  .rs-btn{
@@ -1570,7 +1560,15 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1570
1560
  mask-image:radial-gradient(white, black);
1571
1561
  }
1572
1562
  }
1573
- .rs-btn.rs-btn-lg{
1563
+ .rs-btn{
1564
+ --rs-btn-size:var(--rs-btn-size-md);
1565
+ --rs-btn-font-size:var(--rs-btn-font-size-md);
1566
+ --rs-btn-line-height:var(--rs-btn-line-height-md);
1567
+ --rs-btn-padding-inline:var(--rs-btn-padding-inline-md);
1568
+ --rs-btn-padding-block:var(--rs-btn-padding-block-md);
1569
+ --rs-btn-icon-size:var(--rs-btn-icon-size-md);
1570
+ }
1571
+ .rs-btn[data-size=lg]{
1574
1572
  --rs-btn-size:var(--rs-btn-size-lg);
1575
1573
  --rs-btn-font-size:var(--rs-btn-font-size-lg);
1576
1574
  --rs-btn-line-height:var(--rs-btn-line-height-lg);
@@ -1578,7 +1576,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1578
1576
  --rs-btn-padding-block:var(--rs-btn-padding-block-lg);
1579
1577
  --rs-btn-icon-size:var(--rs-btn-icon-size-lg);
1580
1578
  }
1581
- .rs-btn.rs-btn-md{
1579
+ .rs-btn[data-size=md]{
1582
1580
  --rs-btn-size:var(--rs-btn-size-md);
1583
1581
  --rs-btn-font-size:var(--rs-btn-font-size-md);
1584
1582
  --rs-btn-line-height:var(--rs-btn-line-height-md);
@@ -1586,7 +1584,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1586
1584
  --rs-btn-padding-block:var(--rs-btn-padding-block-md);
1587
1585
  --rs-btn-icon-size:var(--rs-btn-icon-size-md);
1588
1586
  }
1589
- .rs-btn.rs-btn-sm{
1587
+ .rs-btn[data-size=sm]{
1590
1588
  --rs-btn-size:var(--rs-btn-size-sm);
1591
1589
  --rs-btn-font-size:var(--rs-btn-font-size-sm);
1592
1590
  --rs-btn-line-height:var(--rs-btn-line-height-sm);
@@ -1594,7 +1592,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1594
1592
  --rs-btn-padding-block:var(--rs-btn-padding-block-sm);
1595
1593
  --rs-btn-icon-size:var(--rs-btn-icon-size-sm);
1596
1594
  }
1597
- .rs-btn.rs-btn-xs{
1595
+ .rs-btn[data-size=xs]{
1598
1596
  --rs-btn-size:var(--rs-btn-size-xs);
1599
1597
  --rs-btn-font-size:var(--rs-btn-font-size-xs);
1600
1598
  --rs-btn-line-height:var(--rs-btn-line-height-xs);
@@ -1613,101 +1611,111 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1613
1611
  margin-inline-start:var(--rs-btn-icon-gap);
1614
1612
  }
1615
1613
 
1616
- .rs-btn-primary{
1614
+ .rs-btn[data-appearance=primary]{
1617
1615
  color:var(--rs-btn-primary-text);
1618
1616
  background-color:var(--rs-btn-primary-bg);
1619
1617
  border-color:var(--rs-btn-primary-border-color);
1620
1618
  }
1621
- .rs-btn-primary:hover{
1619
+ .rs-btn[data-appearance=primary]:hover{
1622
1620
  color:var(--rs-btn-primary-text);
1623
1621
  background-color:var(--rs-btn-primary-hover-bg);
1624
1622
  }
1625
- .rs-btn-primary:active, .rs-btn-primary.rs-btn-active{
1623
+ .rs-btn[data-appearance=primary]:active, .rs-btn[data-appearance=primary].rs-btn[data-active=true]{
1626
1624
  color:var(--rs-btn-primary-text);
1627
1625
  background-color:var(--rs-btn-primary-active-bg);
1628
1626
  }
1629
- .rs-btn-primary:disabled, .rs-btn-primary.rs-btn-disabled{
1627
+ .rs-btn[data-appearance=primary]:disabled, .rs-btn[data-appearance=primary].rs-btn[data-disabled=true]{
1630
1628
  color:var(--rs-btn-primary-text);
1631
1629
  background-color:var(--rs-btn-primary-bg);
1632
1630
  opacity:0.3;
1633
1631
  }
1634
- [data-theme=high-contrast] .rs-btn-primary:disabled, .rs-theme-high-contrast .rs-btn-primary:disabled, [data-theme=high-contrast] .rs-btn-primary.rs-btn-disabled, .rs-theme-high-contrast .rs-btn-primary.rs-btn-disabled{
1632
+ [data-theme=high-contrast] .rs-btn[data-appearance=primary]:disabled, .rs-theme-high-contrast .rs-btn[data-appearance=primary]:disabled, [data-theme=high-contrast] .rs-btn[data-appearance=primary].rs-btn[data-disabled=true], .rs-theme-high-contrast .rs-btn[data-appearance=primary].rs-btn[data-disabled=true]{
1635
1633
  border-color:var(--rs-btn-default-disabled-border-color);
1636
1634
  }
1637
1635
 
1636
+ .rs-btn[data-appearance=subtle],
1638
1637
  .rs-btn-subtle{
1639
1638
  color:var(--rs-btn-subtle-text);
1640
1639
  background-color:transparent;
1641
1640
  }
1641
+ .rs-btn[data-appearance=subtle]:hover,
1642
1642
  .rs-btn-subtle:hover{
1643
1643
  color:var(--rs-btn-subtle-hover-text);
1644
1644
  background-color:var(--rs-btn-subtle-hover-bg);
1645
1645
  }
1646
- .rs-btn-subtle:active, .rs-btn-subtle.rs-btn-active{
1646
+ .rs-btn[data-appearance=subtle]:active, .rs-btn[data-appearance=subtle].rs-btn[data-active=true],
1647
+ .rs-btn-subtle:active,
1648
+ .rs-btn-subtle.rs-btn[data-active=true]{
1647
1649
  color:var(--rs-btn-subtle-active-text);
1648
1650
  background-color:var(--rs-btn-subtle-active-bg);
1649
1651
  }
1650
- .rs-btn-subtle:disabled, .rs-btn-subtle.rs-btn-disabled{
1652
+ .rs-btn[data-appearance=subtle]:disabled, .rs-btn[data-appearance=subtle].rs-btn[data-disabled=true],
1653
+ .rs-btn-subtle:disabled,
1654
+ .rs-btn-subtle.rs-btn[data-disabled=true]{
1651
1655
  color:var(--rs-btn-subtle-disabled-text);
1652
1656
  background:none;
1653
1657
  }
1654
- [data-theme=high-contrast] .rs-btn-subtle:disabled, .rs-theme-high-contrast .rs-btn-subtle:disabled, [data-theme=high-contrast] .rs-btn-subtle.rs-btn-disabled, .rs-theme-high-contrast .rs-btn-subtle.rs-btn-disabled{
1658
+ [data-theme=high-contrast] .rs-btn[data-appearance=subtle]:disabled, .rs-theme-high-contrast .rs-btn[data-appearance=subtle]:disabled, [data-theme=high-contrast] .rs-btn[data-appearance=subtle].rs-btn[data-disabled=true], .rs-theme-high-contrast .rs-btn[data-appearance=subtle].rs-btn[data-disabled=true],
1659
+ [data-theme=high-contrast] .rs-btn-subtle:disabled,
1660
+ .rs-theme-high-contrast .rs-btn-subtle:disabled,
1661
+ [data-theme=high-contrast] .rs-btn-subtle.rs-btn[data-disabled=true],
1662
+ .rs-theme-high-contrast .rs-btn-subtle.rs-btn[data-disabled=true]{
1655
1663
  border-color:var(--rs-btn-default-disabled-border-color);
1656
1664
  }
1657
1665
 
1658
- .rs-btn-link{
1666
+ .rs-btn[data-appearance=link]{
1659
1667
  color:var(--rs-btn-link-text);
1660
1668
  background-color:transparent;
1661
1669
  }
1662
- .rs-btn-link:hover{
1670
+ .rs-btn[data-appearance=link]:hover{
1663
1671
  color:var(--rs-btn-link-hover-text);
1664
1672
  background-color:transparent;
1665
1673
  -webkit-text-decoration:var(--rs-link-hover-decoration);
1666
1674
  text-decoration:var(--rs-link-hover-decoration);
1667
1675
  }
1668
- .rs-btn-link:active, .rs-btn-link.rs-btn-active{
1676
+ .rs-btn[data-appearance=link]:active, .rs-btn[data-appearance=link].rs-btn[data-active=true]{
1669
1677
  color:var(--rs-btn-link-active-text);
1670
1678
  background-color:transparent;
1671
1679
  }
1672
- .rs-btn-link:disabled, .rs-btn-link.rs-btn-disabled{
1680
+ .rs-btn[data-appearance=link]:disabled, .rs-btn[data-appearance=link].rs-btn[data-disabled=true]{
1673
1681
  color:var(--rs-btn-link-hover-text);
1674
1682
  background-color:transparent;
1675
1683
  text-decoration:none;
1676
1684
  opacity:0.3;
1677
1685
  }
1678
- [data-theme=high-contrast] .rs-btn-link:disabled, .rs-theme-high-contrast .rs-btn-link:disabled, [data-theme=high-contrast] .rs-btn-link.rs-btn-disabled, .rs-theme-high-contrast .rs-btn-link.rs-btn-disabled{
1686
+ [data-theme=high-contrast] .rs-btn[data-appearance=link]:disabled, .rs-theme-high-contrast .rs-btn[data-appearance=link]:disabled, [data-theme=high-contrast] .rs-btn[data-appearance=link].rs-btn[data-disabled=true], .rs-theme-high-contrast .rs-btn[data-appearance=link].rs-btn[data-disabled=true]{
1679
1687
  border-color:var(--rs-btn-default-disabled-border-color);
1680
1688
  }
1681
1689
 
1682
- .rs-btn-ghost{
1690
+ .rs-btn[data-appearance=ghost]{
1683
1691
  color:var(--rs-btn-ghost-text);
1684
1692
  background-color:transparent;
1685
1693
  border:var(--rs-btn-ghost-border-width) solid var(--rs-btn-ghost-border);
1686
1694
  padding-inline:calc(var(--rs-btn-padding-inline) - var(--rs-btn-ghost-border-width));
1687
1695
  }
1688
- .rs-btn-ghost:hover{
1696
+ .rs-btn[data-appearance=ghost]:hover{
1689
1697
  color:var(--rs-btn-ghost-hover-text);
1690
1698
  background-color:transparent;
1691
1699
  border-color:var(--rs-btn-ghost-hover-border);
1692
1700
  box-shadow:0 0 0 1px var(--rs-btn-ghost-hover-border);
1693
1701
  }
1694
- .rs-btn-ghost:active, .rs-btn-ghost.rs-btn-active{
1702
+ .rs-btn[data-appearance=ghost]:active, .rs-btn[data-appearance=ghost].rs-btn[data-active=true]{
1695
1703
  color:var(--rs-btn-ghost-active-text);
1696
1704
  background-color:transparent;
1697
1705
  border-color:var(--rs-btn-ghost-active-border);
1698
1706
  }
1699
- .rs-btn-ghost:disabled, .rs-btn-ghost.rs-btn-disabled{
1707
+ .rs-btn[data-appearance=ghost]:disabled, .rs-btn[data-appearance=ghost].rs-btn[data-disabled=true]{
1700
1708
  color:var(--rs-btn-ghost-text);
1701
1709
  background-color:transparent;
1702
1710
  opacity:0.3;
1703
1711
  border-color:var(--rs-btn-ghost-border);
1704
1712
  box-shadow:var(--rs-shadow-none);
1705
1713
  }
1706
- [data-theme=high-contrast] .rs-btn-ghost:disabled, .rs-theme-high-contrast .rs-btn-ghost:disabled, [data-theme=high-contrast] .rs-btn-ghost.rs-btn-disabled, .rs-theme-high-contrast .rs-btn-ghost.rs-btn-disabled{
1714
+ [data-theme=high-contrast] .rs-btn[data-appearance=ghost]:disabled, .rs-theme-high-contrast .rs-btn[data-appearance=ghost]:disabled, [data-theme=high-contrast] .rs-btn[data-appearance=ghost].rs-btn[data-disabled=true], .rs-theme-high-contrast .rs-btn[data-appearance=ghost].rs-btn[data-disabled=true]{
1707
1715
  border-color:var(--rs-btn-default-disabled-border-color);
1708
1716
  }
1709
1717
 
1710
- .rs-btn-red{
1718
+ .rs-btn[data-color=red]{
1711
1719
  --rs-btn-primary-bg:var(--rs-red-500);
1712
1720
  --rs-btn-primary-hover-bg:var(--rs-red-700);
1713
1721
  --rs-btn-primary-active-bg:var(--rs-red-800);
@@ -1729,7 +1737,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1729
1737
  --rs-iconbtn-primary-activated-addon:var(--rs-red-800);
1730
1738
  --rs-iconbtn-primary-pressed-addon:var(--rs-red-900);
1731
1739
  }
1732
- [data-theme=dark] .rs-btn-red, .rs-theme-dark .rs-btn-red{
1740
+ [data-theme=dark] .rs-btn[data-color=red], .rs-theme-dark .rs-btn[data-color=red]{
1733
1741
  --rs-btn-primary-bg:var(--rs-red-700);
1734
1742
  --rs-btn-primary-hover-bg:var(--rs-red-500);
1735
1743
  --rs-btn-primary-active-bg:var(--rs-red-400);
@@ -1751,7 +1759,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1751
1759
  --rs-iconbtn-primary-activated-addon:var(--rs-red-400);
1752
1760
  --rs-iconbtn-primary-pressed-addon:var(--rs-red-300);
1753
1761
  }
1754
- [data-theme=high-contrast] .rs-btn-red, .rs-theme-high-contrast .rs-btn-red{
1762
+ [data-theme=high-contrast] .rs-btn[data-color=red], .rs-theme-high-contrast .rs-btn[data-color=red]{
1755
1763
  --rs-btn-primary-bg:var(--rs-red-700);
1756
1764
  --rs-btn-primary-hover-bg:var(--rs-red-600);
1757
1765
  --rs-btn-primary-active-bg:var(--rs-red-400);
@@ -1770,7 +1778,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1770
1778
  --rs-btn-link-active-text:var(--rs-red-200);
1771
1779
  }
1772
1780
 
1773
- .rs-btn-orange{
1781
+ .rs-btn[data-color=orange]{
1774
1782
  --rs-btn-primary-bg:var(--rs-orange-500);
1775
1783
  --rs-btn-primary-hover-bg:var(--rs-orange-700);
1776
1784
  --rs-btn-primary-active-bg:var(--rs-orange-800);
@@ -1792,7 +1800,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1792
1800
  --rs-iconbtn-primary-activated-addon:var(--rs-orange-800);
1793
1801
  --rs-iconbtn-primary-pressed-addon:var(--rs-orange-900);
1794
1802
  }
1795
- [data-theme=dark] .rs-btn-orange, .rs-theme-dark .rs-btn-orange{
1803
+ [data-theme=dark] .rs-btn[data-color=orange], .rs-theme-dark .rs-btn[data-color=orange]{
1796
1804
  --rs-btn-primary-bg:var(--rs-orange-700);
1797
1805
  --rs-btn-primary-hover-bg:var(--rs-orange-500);
1798
1806
  --rs-btn-primary-active-bg:var(--rs-orange-400);
@@ -1814,7 +1822,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1814
1822
  --rs-iconbtn-primary-activated-addon:var(--rs-orange-400);
1815
1823
  --rs-iconbtn-primary-pressed-addon:var(--rs-orange-300);
1816
1824
  }
1817
- [data-theme=high-contrast] .rs-btn-orange, .rs-theme-high-contrast .rs-btn-orange{
1825
+ [data-theme=high-contrast] .rs-btn[data-color=orange], .rs-theme-high-contrast .rs-btn[data-color=orange]{
1818
1826
  --rs-btn-primary-bg:var(--rs-orange-700);
1819
1827
  --rs-btn-primary-hover-bg:var(--rs-orange-600);
1820
1828
  --rs-btn-primary-active-bg:var(--rs-orange-400);
@@ -1833,7 +1841,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1833
1841
  --rs-btn-link-active-text:var(--rs-orange-200);
1834
1842
  }
1835
1843
 
1836
- .rs-btn-yellow{
1844
+ .rs-btn[data-color=yellow]{
1837
1845
  --rs-btn-primary-bg:var(--rs-yellow-500);
1838
1846
  --rs-btn-primary-hover-bg:var(--rs-yellow-700);
1839
1847
  --rs-btn-primary-active-bg:var(--rs-yellow-800);
@@ -1855,7 +1863,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1855
1863
  --rs-iconbtn-primary-activated-addon:var(--rs-yellow-800);
1856
1864
  --rs-iconbtn-primary-pressed-addon:var(--rs-yellow-900);
1857
1865
  }
1858
- [data-theme=dark] .rs-btn-yellow, .rs-theme-dark .rs-btn-yellow{
1866
+ [data-theme=dark] .rs-btn[data-color=yellow], .rs-theme-dark .rs-btn[data-color=yellow]{
1859
1867
  --rs-btn-primary-bg:var(--rs-yellow-700);
1860
1868
  --rs-btn-primary-hover-bg:var(--rs-yellow-500);
1861
1869
  --rs-btn-primary-active-bg:var(--rs-yellow-400);
@@ -1877,7 +1885,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1877
1885
  --rs-iconbtn-primary-activated-addon:var(--rs-yellow-400);
1878
1886
  --rs-iconbtn-primary-pressed-addon:var(--rs-yellow-300);
1879
1887
  }
1880
- [data-theme=high-contrast] .rs-btn-yellow, .rs-theme-high-contrast .rs-btn-yellow{
1888
+ [data-theme=high-contrast] .rs-btn[data-color=yellow], .rs-theme-high-contrast .rs-btn[data-color=yellow]{
1881
1889
  --rs-btn-primary-bg:var(--rs-yellow-700);
1882
1890
  --rs-btn-primary-hover-bg:var(--rs-yellow-600);
1883
1891
  --rs-btn-primary-active-bg:var(--rs-yellow-400);
@@ -1896,7 +1904,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1896
1904
  --rs-btn-link-active-text:var(--rs-yellow-200);
1897
1905
  }
1898
1906
 
1899
- .rs-btn-green{
1907
+ .rs-btn[data-color=green]{
1900
1908
  --rs-btn-primary-bg:var(--rs-green-500);
1901
1909
  --rs-btn-primary-hover-bg:var(--rs-green-700);
1902
1910
  --rs-btn-primary-active-bg:var(--rs-green-800);
@@ -1918,7 +1926,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1918
1926
  --rs-iconbtn-primary-activated-addon:var(--rs-green-800);
1919
1927
  --rs-iconbtn-primary-pressed-addon:var(--rs-green-900);
1920
1928
  }
1921
- [data-theme=dark] .rs-btn-green, .rs-theme-dark .rs-btn-green{
1929
+ [data-theme=dark] .rs-btn[data-color=green], .rs-theme-dark .rs-btn[data-color=green]{
1922
1930
  --rs-btn-primary-bg:var(--rs-green-700);
1923
1931
  --rs-btn-primary-hover-bg:var(--rs-green-500);
1924
1932
  --rs-btn-primary-active-bg:var(--rs-green-400);
@@ -1940,7 +1948,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1940
1948
  --rs-iconbtn-primary-activated-addon:var(--rs-green-400);
1941
1949
  --rs-iconbtn-primary-pressed-addon:var(--rs-green-300);
1942
1950
  }
1943
- [data-theme=high-contrast] .rs-btn-green, .rs-theme-high-contrast .rs-btn-green{
1951
+ [data-theme=high-contrast] .rs-btn[data-color=green], .rs-theme-high-contrast .rs-btn[data-color=green]{
1944
1952
  --rs-btn-primary-bg:var(--rs-green-700);
1945
1953
  --rs-btn-primary-hover-bg:var(--rs-green-600);
1946
1954
  --rs-btn-primary-active-bg:var(--rs-green-400);
@@ -1959,7 +1967,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1959
1967
  --rs-btn-link-active-text:var(--rs-green-200);
1960
1968
  }
1961
1969
 
1962
- .rs-btn-cyan{
1970
+ .rs-btn[data-color=cyan]{
1963
1971
  --rs-btn-primary-bg:var(--rs-cyan-500);
1964
1972
  --rs-btn-primary-hover-bg:var(--rs-cyan-700);
1965
1973
  --rs-btn-primary-active-bg:var(--rs-cyan-800);
@@ -1981,7 +1989,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
1981
1989
  --rs-iconbtn-primary-activated-addon:var(--rs-cyan-800);
1982
1990
  --rs-iconbtn-primary-pressed-addon:var(--rs-cyan-900);
1983
1991
  }
1984
- [data-theme=dark] .rs-btn-cyan, .rs-theme-dark .rs-btn-cyan{
1992
+ [data-theme=dark] .rs-btn[data-color=cyan], .rs-theme-dark .rs-btn[data-color=cyan]{
1985
1993
  --rs-btn-primary-bg:var(--rs-cyan-700);
1986
1994
  --rs-btn-primary-hover-bg:var(--rs-cyan-500);
1987
1995
  --rs-btn-primary-active-bg:var(--rs-cyan-400);
@@ -2003,7 +2011,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2003
2011
  --rs-iconbtn-primary-activated-addon:var(--rs-cyan-400);
2004
2012
  --rs-iconbtn-primary-pressed-addon:var(--rs-cyan-300);
2005
2013
  }
2006
- [data-theme=high-contrast] .rs-btn-cyan, .rs-theme-high-contrast .rs-btn-cyan{
2014
+ [data-theme=high-contrast] .rs-btn[data-color=cyan], .rs-theme-high-contrast .rs-btn[data-color=cyan]{
2007
2015
  --rs-btn-primary-bg:var(--rs-cyan-700);
2008
2016
  --rs-btn-primary-hover-bg:var(--rs-cyan-600);
2009
2017
  --rs-btn-primary-active-bg:var(--rs-cyan-400);
@@ -2022,7 +2030,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2022
2030
  --rs-btn-link-active-text:var(--rs-cyan-200);
2023
2031
  }
2024
2032
 
2025
- .rs-btn-blue{
2033
+ .rs-btn[data-color=blue]{
2026
2034
  --rs-btn-primary-bg:var(--rs-blue-500);
2027
2035
  --rs-btn-primary-hover-bg:var(--rs-blue-700);
2028
2036
  --rs-btn-primary-active-bg:var(--rs-blue-800);
@@ -2044,7 +2052,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2044
2052
  --rs-iconbtn-primary-activated-addon:var(--rs-blue-800);
2045
2053
  --rs-iconbtn-primary-pressed-addon:var(--rs-blue-900);
2046
2054
  }
2047
- [data-theme=dark] .rs-btn-blue, .rs-theme-dark .rs-btn-blue{
2055
+ [data-theme=dark] .rs-btn[data-color=blue], .rs-theme-dark .rs-btn[data-color=blue]{
2048
2056
  --rs-btn-primary-bg:var(--rs-blue-700);
2049
2057
  --rs-btn-primary-hover-bg:var(--rs-blue-500);
2050
2058
  --rs-btn-primary-active-bg:var(--rs-blue-400);
@@ -2066,7 +2074,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2066
2074
  --rs-iconbtn-primary-activated-addon:var(--rs-blue-400);
2067
2075
  --rs-iconbtn-primary-pressed-addon:var(--rs-blue-300);
2068
2076
  }
2069
- [data-theme=high-contrast] .rs-btn-blue, .rs-theme-high-contrast .rs-btn-blue{
2077
+ [data-theme=high-contrast] .rs-btn[data-color=blue], .rs-theme-high-contrast .rs-btn[data-color=blue]{
2070
2078
  --rs-btn-primary-bg:var(--rs-blue-700);
2071
2079
  --rs-btn-primary-hover-bg:var(--rs-blue-600);
2072
2080
  --rs-btn-primary-active-bg:var(--rs-blue-400);
@@ -2085,7 +2093,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2085
2093
  --rs-btn-link-active-text:var(--rs-blue-200);
2086
2094
  }
2087
2095
 
2088
- .rs-btn-violet{
2096
+ .rs-btn[data-color=violet]{
2089
2097
  --rs-btn-primary-bg:var(--rs-violet-500);
2090
2098
  --rs-btn-primary-hover-bg:var(--rs-violet-700);
2091
2099
  --rs-btn-primary-active-bg:var(--rs-violet-800);
@@ -2107,7 +2115,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2107
2115
  --rs-iconbtn-primary-activated-addon:var(--rs-violet-800);
2108
2116
  --rs-iconbtn-primary-pressed-addon:var(--rs-violet-900);
2109
2117
  }
2110
- [data-theme=dark] .rs-btn-violet, .rs-theme-dark .rs-btn-violet{
2118
+ [data-theme=dark] .rs-btn[data-color=violet], .rs-theme-dark .rs-btn[data-color=violet]{
2111
2119
  --rs-btn-primary-bg:var(--rs-violet-700);
2112
2120
  --rs-btn-primary-hover-bg:var(--rs-violet-500);
2113
2121
  --rs-btn-primary-active-bg:var(--rs-violet-400);
@@ -2129,7 +2137,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2129
2137
  --rs-iconbtn-primary-activated-addon:var(--rs-violet-400);
2130
2138
  --rs-iconbtn-primary-pressed-addon:var(--rs-violet-300);
2131
2139
  }
2132
- [data-theme=high-contrast] .rs-btn-violet, .rs-theme-high-contrast .rs-btn-violet{
2140
+ [data-theme=high-contrast] .rs-btn[data-color=violet], .rs-theme-high-contrast .rs-btn[data-color=violet]{
2133
2141
  --rs-btn-primary-bg:var(--rs-violet-700);
2134
2142
  --rs-btn-primary-hover-bg:var(--rs-violet-600);
2135
2143
  --rs-btn-primary-active-bg:var(--rs-violet-400);
@@ -2148,20 +2156,20 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2148
2156
  --rs-btn-link-active-text:var(--rs-violet-200);
2149
2157
  }
2150
2158
 
2151
- .rs-btn-block{
2159
+ .rs-btn[data-block=true]{
2152
2160
  width:100%;
2153
2161
  }
2154
- .rs-btn-block + .rs-btn-block{
2162
+ .rs-btn[data-block=true] + .rs-btn[data-block=true]{
2155
2163
  margin-top:5px;
2156
2164
  }
2157
2165
 
2158
- .rs-btn-loading{
2166
+ .rs-btn[data-loading=true]{
2159
2167
  color:transparent !important;
2160
2168
  position:relative;
2161
2169
  cursor:default;
2162
2170
  pointer-events:none;
2163
2171
  }
2164
- .rs-btn-loading > .rs-btn-spin::before, .rs-btn-loading > .rs-btn-spin::after{
2172
+ .rs-btn[data-loading=true] > .rs-btn-spin::before, .rs-btn[data-loading=true] > .rs-btn-spin::after{
2165
2173
  content:"";
2166
2174
  position:absolute;
2167
2175
  width:var(--rs-btn-loading-spin-default-diameter);
@@ -2174,29 +2182,29 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2174
2182
  border-radius:var(--rs-radius-full);
2175
2183
  z-index:1;
2176
2184
  }
2177
- .rs-btn-xs .rs-btn-loading > .rs-btn-spin::before, .rs-btn-xs .rs-btn-loading > .rs-btn-spin::after{
2185
+ .rs-btn[data-size=xs] .rs-btn[data-loading=true] > .rs-btn-spin::before, .rs-btn[data-size=xs] .rs-btn[data-loading=true] > .rs-btn-spin::after{
2178
2186
  width:var(--rs-btn-loading-spin-xs-diameter);
2179
2187
  height:var(--rs-btn-loading-spin-xs-diameter);
2180
2188
  }
2181
- .rs-btn-loading > .rs-btn-spin::before{
2189
+ .rs-btn[data-loading=true] > .rs-btn-spin::before{
2182
2190
  border:var(--rs-btn-loading-spin-ring-wide) solid var(--rs-loader-ring);
2183
2191
  }
2184
- .rs-btn-primary .rs-btn-loading > .rs-btn-spin::before{
2192
+ .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::before{
2185
2193
  border-color:rgba(248, 247, 250, 0.3);
2186
2194
  }
2187
- [data-theme=high-contrast] .rs-btn-primary .rs-btn-loading > .rs-btn-spin::before, .rs-theme-high-contrast .rs-btn-primary .rs-btn-loading > .rs-btn-spin::before{
2195
+ [data-theme=high-contrast] .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::before, .rs-theme-high-contrast .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::before{
2188
2196
  border-color:var(--rs-loader-ring-inverse);
2189
2197
  }
2190
- .rs-btn-loading > .rs-btn-spin::after{
2198
+ .rs-btn[data-loading=true] > .rs-btn-spin::after{
2191
2199
  border-width:var(--rs-btn-loading-spin-ring-wide);
2192
2200
  border-color:var(--rs-loader-rotor) transparent transparent;
2193
2201
  border-style:solid;
2194
2202
  animation:buttonSpin 0.6s infinite linear;
2195
2203
  }
2196
- .rs-btn-primary .rs-btn-loading > .rs-btn-spin::after{
2204
+ .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::after{
2197
2205
  border-top-color:#fff;
2198
2206
  }
2199
- [data-theme=high-contrast] .rs-btn-primary .rs-btn-loading > .rs-btn-spin::after, .rs-theme-high-contrast .rs-btn-primary .rs-btn-loading > .rs-btn-spin::after{
2207
+ [data-theme=high-contrast] .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::after, .rs-theme-high-contrast .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::after{
2200
2208
  border-top-color:var(--rs-loader-rotor-inverse);
2201
2209
  }
2202
2210
  @keyframes buttonSpin{
@@ -2216,14 +2224,14 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2216
2224
  font-size:var(--rs-btn-icon-size);
2217
2225
  vertical-align:bottom;
2218
2226
  }
2219
- .rs-btn-icon:not(.rs-btn-icon-with-text){
2227
+ .rs-btn-icon:not([data-with-text]){
2220
2228
  width:var(--rs-btn-size);
2221
2229
  }
2222
- .rs-btn-icon.rs-btn-icon-circle{
2230
+ .rs-btn-icon[data-shape=circle]{
2223
2231
  border-radius:var(--rs-radius-full);
2224
2232
  }
2225
2233
 
2226
- .rs-btn-icon-with-text > .rs-icon{
2234
+ .rs-btn-icon[data-with-text] > .rs-icon{
2227
2235
  position:absolute;
2228
2236
  top:0;
2229
2237
  display:block;
@@ -2233,45 +2241,45 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2233
2241
  height:var(--rs-btn-size);
2234
2242
  padding:calc((var(--rs-btn-size) - var(--rs-btn-icon-size)) / 2);
2235
2243
  }
2236
- .rs-btn-icon-with-text.rs-btn-icon-placement-left{
2244
+ .rs-btn-icon[data-with-text]:where([data-placement=start], [data-placement=left]){
2237
2245
  padding-inline-start:calc(var(--rs-btn-padding-inline) + var(--rs-btn-size));
2238
2246
  }
2239
- .rs-btn-icon-with-text.rs-btn-icon-placement-left > .rs-icon{
2247
+ .rs-btn-icon[data-with-text]:where([data-placement=start], [data-placement=left]) > .rs-icon{
2240
2248
  inset-inline-start:0;
2241
2249
  border-right-width:1px;
2242
2250
  }
2243
- .rs-btn-icon-with-text.rs-btn-icon-placement-right{
2251
+ .rs-btn-icon[data-with-text]:where([data-placement=end], [data-placement=right]){
2244
2252
  padding-inline-end:calc(var(--rs-btn-padding-inline) + var(--rs-btn-size));
2245
2253
  }
2246
- .rs-btn-icon-with-text.rs-btn-icon-placement-right > .rs-icon{
2254
+ .rs-btn-icon[data-with-text]:where([data-placement=end], [data-placement=right]) > .rs-icon{
2247
2255
  inset-inline-end:0;
2248
2256
  }
2249
- .rs-btn-icon-with-text:hover > .rs-icon{
2257
+ .rs-btn-icon[data-with-text]:hover > .rs-icon{
2250
2258
  background-color:var(--rs-iconbtn-activated-addon);
2251
2259
  }
2252
- .rs-btn-icon-with-text:active > .rs-icon, .rs-btn-icon-with-text.rs-btn-active > .rs-icon{
2260
+ .rs-btn-icon[data-with-text]:active > .rs-icon, .rs-btn-icon[data-with-text].rs-btn[data-active=true] > .rs-icon{
2253
2261
  background-color:var(--rs-iconbtn-pressed-addon);
2254
2262
  }
2255
- .rs-btn-icon-with-text:disabled > .rs-icon, .rs-btn-icon-with-text.rs-btn-disabled > .rs-icon{
2263
+ .rs-btn-icon[data-with-text]:disabled > .rs-icon, .rs-btn-icon[data-with-text].rs-btn[data-disabled=true] > .rs-icon{
2256
2264
  background-color:var(--rs-iconbtn-addon);
2257
2265
  }
2258
- [data-theme=high-contrast] .rs-btn-icon-with-text:disabled, .rs-theme-high-contrast .rs-btn-icon-with-text:disabled, [data-theme=high-contrast] .rs-btn-icon-with-text.rs-btn-disabled, .rs-theme-high-contrast .rs-btn-icon-with-text.rs-btn-disabled{
2266
+ [data-theme=high-contrast] .rs-btn-icon[data-with-text]:disabled, .rs-theme-high-contrast .rs-btn-icon[data-with-text]:disabled, [data-theme=high-contrast] .rs-btn-icon[data-with-text].rs-btn[data-disabled=true], .rs-theme-high-contrast .rs-btn-icon[data-with-text].rs-btn[data-disabled=true]{
2259
2267
  border-color:var(--rs-btn-default-disabled-border-color);
2260
2268
  }
2261
2269
 
2262
- .rs-btn-icon-with-text.rs-btn-primary > .rs-icon{
2270
+ .rs-btn-icon[data-with-text][data-appearance=primary] > .rs-icon{
2263
2271
  background-color:var(--rs-iconbtn-primary-addon);
2264
2272
  }
2265
- .rs-btn-icon-with-text.rs-btn-primary:hover > .rs-icon{
2273
+ .rs-btn-icon[data-with-text][data-appearance=primary]:hover > .rs-icon{
2266
2274
  background-color:var(--rs-iconbtn-primary-activated-addon);
2267
2275
  }
2268
- .rs-btn-icon-with-text.rs-btn-primary:active > .rs-icon, .rs-btn-icon-with-text.rs-btn-primary.rs-btn-active > .rs-icon{
2276
+ .rs-btn-icon[data-with-text][data-appearance=primary]:active > .rs-icon, .rs-btn-icon[data-with-text][data-appearance=primary].rs-btn[data-active=true] > .rs-icon{
2269
2277
  background-color:var(--rs-iconbtn-primary-pressed-addon);
2270
2278
  }
2271
- .rs-btn-icon-with-text.rs-btn-primary:disabled > .rs-icon, .rs-btn-icon-with-text.rs-btn-primary.rs-btn-disabled > .rs-icon{
2279
+ .rs-btn-icon[data-with-text][data-appearance=primary]:disabled > .rs-icon, .rs-btn-icon[data-with-text][data-appearance=primary].rs-btn[data-disabled=true] > .rs-icon{
2272
2280
  background-color:var(--rs-iconbtn-primary-addon);
2273
2281
  }
2274
- [data-theme=high-contrast] .rs-btn-icon-with-text.rs-btn-primary:disabled, .rs-theme-high-contrast .rs-btn-icon-with-text.rs-btn-primary:disabled, [data-theme=high-contrast] .rs-btn-icon-with-text.rs-btn-primary.rs-btn-disabled, .rs-theme-high-contrast .rs-btn-icon-with-text.rs-btn-primary.rs-btn-disabled{
2282
+ [data-theme=high-contrast] .rs-btn-icon[data-with-text][data-appearance=primary]:disabled, .rs-theme-high-contrast .rs-btn-icon[data-with-text][data-appearance=primary]:disabled, [data-theme=high-contrast] .rs-btn-icon[data-with-text][data-appearance=primary].rs-btn[data-disabled=true], .rs-theme-high-contrast .rs-btn-icon[data-with-text][data-appearance=primary].rs-btn[data-disabled=true]{
2275
2283
  border-color:var(--rs-btn-default-disabled-border-color);
2276
2284
  }
2277
2285
 
@@ -2347,7 +2355,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2347
2355
  }
2348
2356
  .rs-picker-toggle-active, .rs-picker.rs-picker-focused{
2349
2357
  --rs-picker-toggle-border-color:var(--rs-input-focus-border);
2350
- outline:2px solid var(--rs-color-focus-ring);
2358
+ outline:2px solid var(--rs-focus-ring-color);
2351
2359
  outline-offset:-1px;
2352
2360
  }
2353
2361
  .rs-picker-label.rs-input-group-addon{
@@ -2508,18 +2516,18 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2508
2516
  background-color:var(--rs-input-bg);
2509
2517
  outline:none;
2510
2518
  }
2511
- .rs-picker-toggle.rs-btn-lg .rs-picker-toggle-textbox{
2519
+ .rs-picker-toggle-textbox:where([readonly]){
2520
+ opacity:0;
2521
+ }
2522
+ .rs-picker-toggle:where([data-size=lg]) .rs-picker-toggle-textbox{
2512
2523
  padding-inline-start:14px;
2513
2524
  }
2514
- .rs-picker-toggle.rs-btn-sm .rs-picker-toggle-textbox{
2525
+ .rs-picker-toggle:where([data-size=sm]) .rs-picker-toggle-textbox{
2515
2526
  padding-inline-start:8px;
2516
2527
  }
2517
- .rs-picker-toggle.rs-btn-xs .rs-picker-toggle-textbox{
2528
+ .rs-picker-toggle:where([data-size=xs]) .rs-picker-toggle-textbox{
2518
2529
  padding-inline-start:6px;
2519
2530
  }
2520
- .rs-picker-toggle-read-only{
2521
- opacity:0;
2522
- }
2523
2531
  .rs-picker-toggle .rs-picker[data-variant=default], .rs-picker-toggle{
2524
2532
  transition:var(--rs-picker-transition);
2525
2533
  }
@@ -2534,22 +2542,10 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2534
2542
  background-color:transparent;
2535
2543
  transition:none;
2536
2544
  }
2537
- .rs-picker[data-variant=subtle] .rs-picker-toggle:hover{
2545
+ .rs-picker[data-variant=subtle] .rs-picker-toggle:hover,.rs-picker[data-variant=subtle] .rs-picker-toggle-active{
2538
2546
  color:var(--rs-btn-subtle-hover-text);
2539
2547
  background-color:var(--rs-btn-subtle-hover-bg);
2540
2548
  }
2541
- .rs-picker[data-variant=subtle] .rs-picker-toggle:active, .rs-picker[data-variant=subtle] .rs-picker-toggle.rs-btn-active{
2542
- color:var(--rs-btn-subtle-active-text);
2543
- background-color:var(--rs-btn-subtle-active-bg);
2544
- }
2545
- .rs-picker[data-variant=subtle] .rs-picker-toggle:disabled, .rs-picker[data-variant=subtle] .rs-picker-toggle.rs-btn-disabled{
2546
- color:var(--rs-btn-subtle-disabled-text);
2547
- background:none;
2548
- }
2549
- .rs-picker[data-variant=subtle] .rs-picker-toggle-active{
2550
- background-color:var(--rs-btn-subtle-hover-bg);
2551
- color:var(--rs-btn-subtle-hover-text);
2552
- }
2553
2549
  .rs-picker-toggle[data-size=lg] .rs-picker-clean .rs-icon{
2554
2550
  width:16px;
2555
2551
  height:16px;
@@ -2627,7 +2623,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2627
2623
  color:var(--rs-listbox-option-hover-text);
2628
2624
  }
2629
2625
  [data-theme=high-contrast] .rs-check-item:not(.rs-checkbox-disabled):hover, .rs-theme-high-contrast .rs-check-item:not(.rs-checkbox-disabled):hover, [data-theme=high-contrast] .rs-check-item:focus, .rs-theme-high-contrast .rs-check-item:focus, [data-theme=high-contrast] .rs-check-item.rs-check-item-focus, .rs-theme-high-contrast .rs-check-item.rs-check-item-focus{
2630
- outline:2px solid var(--rs-color-focus-ring);
2626
+ outline:2px solid var(--rs-focus-ring-color);
2631
2627
  outline-offset:-1px;
2632
2628
  outline-offset:-3px;
2633
2629
  outline-width:2px;
@@ -2689,22 +2685,4 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
2689
2685
  }
2690
2686
  .rs-cascade-tree-column.rs-cascade-tree-column-uncheckable .rs-check-item .rs-checkbox-checker > label{
2691
2687
  padding-inline-start:var(--rs-picker-item-content-padding-horizontal);
2692
- }
2693
-
2694
- .rs-cascade-tree-multi .rs-cascade-search-view-row{
2695
- padding-inline-start:0;
2696
- padding-top:0;
2697
- padding-bottom:0;
2698
- }
2699
- .rs-cascade-tree-multi .rs-cascade-search-view-col{
2700
- padding:0;
2701
- }
2702
-
2703
- .rs-picker-popup-multi-cascader .rs-cascade-search-view-row{
2704
- padding-inline-start:0;
2705
- padding-top:0;
2706
- padding-bottom:0;
2707
- }
2708
- .rs-picker-popup-multi-cascader .rs-cascade-search-view-col{
2709
- padding:0;
2710
2688
  }