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
@@ -110,49 +110,52 @@ body{
110
110
  z-index:2;
111
111
  }
112
112
 
113
- .rs-btn-group:not(.rs-btn-group-vertical) > .rs-btn{
113
+ .rs-btn-group:not([data-vertical=true]) > .rs-btn{
114
114
  float:inline-start;
115
115
  }
116
- .rs-btn-group:not(.rs-btn-group-vertical) > .rs-btn:not(:last-child){
116
+ .rs-btn-group:not([data-vertical=true]) > .rs-btn:not(:last-child){
117
117
  border-end-end-radius:0;
118
118
  border-start-end-radius:0;
119
119
  }
120
- .rs-btn-group:not(.rs-btn-group-vertical) > .rs-btn:not(:first-child){
120
+ .rs-btn-group:not([data-vertical=true]) > .rs-btn:not(:first-child){
121
121
  border-end-start-radius:0;
122
122
  border-start-start-radius:0;
123
123
  }
124
- .rs-btn-group:not(.rs-btn-group-vertical) > .rs-btn-ghost + .rs-btn-ghost{
124
+ .rs-btn-group:not([data-vertical=true]) > .rs-btn[data-appearance=ghost] + .rs-btn[data-appearance=ghost]{
125
125
  margin-inline-start:-1px;
126
126
  }
127
- .rs-btn-group:not(.rs-btn-group-vertical).rs-btn-group-divided > .rs-btn:not(:last-child){
127
+ .rs-btn-group:not([data-vertical=true])[data-divided=true] > .rs-btn:not(:last-child){
128
128
  border-right-width:1px;
129
129
  }
130
130
 
131
- .rs-btn-group-vertical > .rs-btn{
131
+ .rs-btn-group[data-vertical=true] > .rs-btn{
132
132
  display:block;
133
133
  width:100%;
134
134
  max-width:100%;
135
135
  }
136
- .rs-btn-group-vertical > .rs-btn:not(:last-child){
136
+ .rs-btn-group[data-vertical=true] > .rs-btn:not(:last-child){
137
137
  border-end-end-radius:0;
138
138
  border-end-start-radius:0;
139
139
  }
140
- .rs-btn-group-vertical > .rs-btn:not(:first-child){
140
+ .rs-btn-group[data-vertical=true] > .rs-btn:not(:first-child){
141
141
  border-start-end-radius:0;
142
142
  border-start-start-radius:0;
143
143
  }
144
- .rs-btn-group-vertical > .rs-btn-ghost + .rs-btn-ghost{
144
+ .rs-btn-group[data-vertical=true] > .rs-btn[data-appearance=ghost] + .rs-btn[data-appearance=ghost]{
145
145
  margin-top:-1px;
146
146
  }
147
- .rs-btn-group-vertical.rs-btn-group-divided > .rs-btn:not(:last-child){
147
+ .rs-btn-group[data-vertical=true][data-divided=true] > .rs-btn:not(:last-child){
148
148
  border-bottom-width:1px;
149
149
  }
150
+ .rs-btn-group[data-vertical=true][data-block=true]{
151
+ width:100%;
152
+ }
150
153
 
151
- .rs-btn-group-justified{
154
+ .rs-btn-group[data-justified=true]{
152
155
  display:flex;
153
156
  width:100%;
154
157
  }
155
- .rs-btn-group-justified > .rs-btn{
158
+ .rs-btn-group[data-justified=true] > .rs-btn{
156
159
  flex:1 1 1%;
157
160
  overflow:hidden;
158
161
  text-overflow:ellipsis;
@@ -106,9 +106,6 @@ body{
106
106
  --rs-stack-direction:row;
107
107
  --rs-stack-align:center;
108
108
  --rs-stack-justify:flex-start;
109
- --rs-stack-item-grow:0;
110
- --rs-stack-item-shrink:1;
111
- --rs-stack-item-basis:auto;
112
109
  }
113
110
 
114
111
  .rs-stack{
@@ -135,7 +132,7 @@ body{
135
132
  --rs-stack-align:center;
136
133
  flex-direction:row-reverse;
137
134
  }
138
- .rs-stack-wrap{
135
+ .rs-stack[data-wrap=true]{
139
136
  flex-wrap:wrap;
140
137
  }
141
138
  .rs-stack-xs-column{
@@ -221,12 +218,6 @@ body{
221
218
  }
222
219
  }
223
220
 
224
- .rs-stack-item{
225
- align-self:var(--rs-stack-item-align-self);
226
- order:var(--rs-stack-item-order);
227
- flex:var(--rs-stack-item-flex, var(--rs-stack-item-grow) var(--rs-stack-item-shrink) var(--rs-stack-item-basis));
228
- }
229
-
230
221
  .rs-btn-toolbar{
231
222
  line-height:0;
232
223
  }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## [5.83.1](https://github.com/rsuite/rsuite/compare/v5.83.0...v5.83.1) (2025-06-27)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * allow TimePicker and TimeRangePicker locale prop to override global locale ([#4333](https://github.com/rsuite/rsuite/issues/4333)) ([6f66dfd](https://github.com/rsuite/rsuite/commit/6f66dfdc570c930b99e2954bc339446707947b92))
7
+
8
+
9
+
1
10
  # [5.83.0](https://github.com/rsuite/rsuite/compare/v5.82.0...v5.83.0) (2025-06-19)
2
11
 
3
12
 
@@ -97,7 +97,7 @@ body{
97
97
  --rs-bg-well:var(--rs-gray-50);
98
98
  --rs-bg-active:var(--rs-primary-500);
99
99
  --rs-state-hover-bg:var(--rs-primary-50);
100
- --rs-color-focus-ring:rgb(from var(--rs-primary-500) r g b / 25%);
100
+ --rs-focus-ring-color:rgb(from var(--rs-primary-500) r g b / 25%);
101
101
  --rs-btn-default-bg:var(--rs-gray-50);
102
102
  --rs-btn-default-text:var(--rs-gray-800);
103
103
  --rs-btn-default-border-color:var(--rs-gray-200);
@@ -141,7 +141,7 @@ body{
141
141
  }
142
142
  @supports not (color: rgb(from white r g b)){
143
143
  :root{
144
- --rs-color-focus-ring:rgba(52, 152, 255, 0.25);
144
+ --rs-focus-ring-color:rgba(52, 152, 255, 0.25);
145
145
  --rs-loader-ring:rgba(247, 247, 250, 0.8);
146
146
  --rs-loader-ring-inverse:rgba(247, 247, 250, 0.3);
147
147
  --rs-listbox-option-hover-bg:rgba(#CCE9FF, 0.5);
@@ -232,7 +232,6 @@ body{
232
232
  --rs-bg-well:var(--rs-gray-900);
233
233
  --rs-bg-active:var(--rs-primary-700);
234
234
  --rs-state-hover-bg:var(--rs-gray-600);
235
- --rs-color-focus-ring:0 0 0 2px rgb(from var(--rs-gray-500) r g b / 25%);
236
235
  --rs-btn-default-bg:var(--rs-gray-600);
237
236
  --rs-btn-default-text:var(--rs-gray-50);
238
237
  --rs-btn-default-border-color:var(--rs-gray-700);
@@ -277,7 +276,6 @@ body{
277
276
  @supports not (color: rgb(from white r g b)){
278
277
  [data-theme=dark],
279
278
  .rs-theme-dark{
280
- --rs-color-focus-ring:0 0 0 2px rgba(52, 195, 255, 0.25);
281
279
  --rs-loader-ring:rgba(233, 235, 240, 0.3);
282
280
  --rs-loader-ring-inverse:rgba(233, 235, 240, 0.8);
283
281
  --rs-calendar-range-bg:rgba(#006199, 0.5);
@@ -367,7 +365,7 @@ body{
367
365
  --rs-bg-well:var(--rs-gray-900);
368
366
  --rs-bg-active:var(--rs-primary-500);
369
367
  --rs-state-hover-bg:var(--rs-gray-600);
370
- --rs-color-focus-ring:var(--rs-gray-0);
368
+ --rs-focus-ring-color:var(--rs-gray-0);
371
369
  --rs-btn-default-bg:transparent;
372
370
  --rs-btn-default-text:var(--rs-primary-500);
373
371
  --rs-btn-default-border-color:var(--rs-primary-500);
@@ -578,7 +576,7 @@ body{
578
576
  border-color:var(--rs-btn-default-border-color);
579
577
  }
580
578
  .rs-btn:focus-visible{
581
- outline:2px solid var(--rs-color-focus-ring);
579
+ outline:2px solid var(--rs-focus-ring-color);
582
580
  outline-offset:-1px;
583
581
  }
584
582
  .rs-btn:hover{
@@ -586,16 +584,16 @@ body{
586
584
  background-color:var(--rs-btn-default-hover-bg);
587
585
  text-decoration:none;
588
586
  }
589
- .rs-btn:active, .rs-btn.rs-btn-active{
587
+ .rs-btn:active, .rs-btn.rs-btn[data-active=true]{
590
588
  color:var(--rs-btn-default-active-text);
591
589
  background-color:var(--rs-btn-default-active-bg);
592
590
  }
593
- .rs-btn:disabled, .rs-btn.rs-btn-disabled{
591
+ .rs-btn:disabled, .rs-btn.rs-btn[data-disabled=true]{
594
592
  cursor:var(--rs-cursor-disabled);
595
593
  color:var(--rs-btn-default-disabled-text);
596
594
  background-color:var(--rs-btn-default-disabled-bg);
597
595
  }
598
- [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{
596
+ [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]{
599
597
  border-color:var(--rs-btn-default-disabled-border-color);
600
598
  }
601
599
  .rs-btn{
@@ -608,28 +606,35 @@ body{
608
606
  mask-image:radial-gradient(white, black);
609
607
  }
610
608
  }
611
- .rs-btn.rs-btn-lg{
609
+ .rs-btn{
610
+ --rs-btn-size:var(--rs-btn-size-md);
611
+ --rs-btn-font-size:var(--rs-btn-font-size-md);
612
+ --rs-btn-line-height:var(--rs-btn-line-height-md);
613
+ --rs-btn-padding-inline:var(--rs-btn-padding-inline-md);
614
+ --rs-btn-padding-block:var(--rs-btn-padding-block-md);
615
+ }
616
+ .rs-btn[data-size=lg]{
612
617
  --rs-btn-size:var(--rs-btn-size-lg);
613
618
  --rs-btn-font-size:var(--rs-btn-font-size-lg);
614
619
  --rs-btn-line-height:var(--rs-btn-line-height-lg);
615
620
  --rs-btn-padding-inline:var(--rs-btn-padding-inline-lg);
616
621
  --rs-btn-padding-block:var(--rs-btn-padding-block-lg);
617
622
  }
618
- .rs-btn.rs-btn-md{
623
+ .rs-btn[data-size=md]{
619
624
  --rs-btn-size:var(--rs-btn-size-md);
620
625
  --rs-btn-font-size:var(--rs-btn-font-size-md);
621
626
  --rs-btn-line-height:var(--rs-btn-line-height-md);
622
627
  --rs-btn-padding-inline:var(--rs-btn-padding-inline-md);
623
628
  --rs-btn-padding-block:var(--rs-btn-padding-block-md);
624
629
  }
625
- .rs-btn.rs-btn-sm{
630
+ .rs-btn[data-size=sm]{
626
631
  --rs-btn-size:var(--rs-btn-size-sm);
627
632
  --rs-btn-font-size:var(--rs-btn-font-size-sm);
628
633
  --rs-btn-line-height:var(--rs-btn-line-height-sm);
629
634
  --rs-btn-padding-inline:var(--rs-btn-padding-inline-sm);
630
635
  --rs-btn-padding-block:var(--rs-btn-padding-block-sm);
631
636
  }
632
- .rs-btn.rs-btn-xs{
637
+ .rs-btn[data-size=xs]{
633
638
  --rs-btn-size:var(--rs-btn-size-xs);
634
639
  --rs-btn-font-size:var(--rs-btn-font-size-xs);
635
640
  --rs-btn-line-height:var(--rs-btn-line-height-xs);
@@ -647,101 +652,121 @@ body{
647
652
  margin-inline-start:var(--rs-btn-icon-gap);
648
653
  }
649
654
 
650
- .rs-btn-primary{
655
+ .rs-btn[data-appearance=primary]{
651
656
  color:var(--rs-btn-primary-text);
652
657
  background-color:var(--rs-btn-primary-bg);
653
658
  border-color:var(--rs-btn-primary-border-color);
654
659
  }
655
- .rs-btn-primary:hover{
660
+ .rs-btn[data-appearance=primary]:hover{
656
661
  color:var(--rs-btn-primary-text);
657
662
  background-color:var(--rs-btn-primary-hover-bg);
658
663
  }
659
- .rs-btn-primary:active, .rs-btn-primary.rs-btn-active{
664
+ .rs-btn[data-appearance=primary]:active, .rs-btn[data-appearance=primary].rs-btn[data-active=true]{
660
665
  color:var(--rs-btn-primary-text);
661
666
  background-color:var(--rs-btn-primary-active-bg);
662
667
  }
663
- .rs-btn-primary:disabled, .rs-btn-primary.rs-btn-disabled{
668
+ .rs-btn[data-appearance=primary]:disabled, .rs-btn[data-appearance=primary].rs-btn[data-disabled=true]{
664
669
  color:var(--rs-btn-primary-text);
665
670
  background-color:var(--rs-btn-primary-bg);
666
671
  opacity:0.3;
667
672
  }
668
- [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{
673
+ [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]{
669
674
  border-color:var(--rs-btn-default-disabled-border-color);
670
675
  }
671
676
 
672
- .rs-btn-subtle, .rs-calendar-header-error{
677
+ .rs-btn[data-appearance=subtle],
678
+ .rs-btn-subtle,
679
+ .rs-calendar-header-error{
673
680
  color:var(--rs-btn-subtle-text);
674
681
  background-color:transparent;
675
682
  }
676
- .rs-btn-subtle:hover, .rs-calendar-header-error:hover{
683
+ .rs-btn[data-appearance=subtle]:hover,
684
+ .rs-btn-subtle:hover,
685
+ .rs-calendar-header-error:hover{
677
686
  color:var(--rs-btn-subtle-hover-text);
678
687
  background-color:var(--rs-btn-subtle-hover-bg);
679
688
  }
680
- .rs-btn-subtle:active, .rs-calendar-header-error:active, .rs-btn-subtle.rs-btn-active, .rs-btn-active.rs-calendar-header-error{
689
+ .rs-btn[data-appearance=subtle]:active, .rs-btn[data-appearance=subtle].rs-btn[data-active=true],
690
+ .rs-btn-subtle:active,
691
+ .rs-calendar-header-error:active,
692
+ .rs-btn-subtle.rs-btn[data-active=true],
693
+ .rs-btn[data-active=true].rs-calendar-header-error{
681
694
  color:var(--rs-btn-subtle-active-text);
682
695
  background-color:var(--rs-btn-subtle-active-bg);
683
696
  }
684
- .rs-btn-subtle:disabled, .rs-calendar-header-error:disabled, .rs-btn-subtle.rs-btn-disabled, .rs-btn-disabled.rs-calendar-header-error{
697
+ .rs-btn[data-appearance=subtle]:disabled, .rs-btn[data-appearance=subtle].rs-btn[data-disabled=true],
698
+ .rs-btn-subtle:disabled,
699
+ .rs-calendar-header-error:disabled,
700
+ .rs-btn-subtle.rs-btn[data-disabled=true],
701
+ .rs-btn[data-disabled=true].rs-calendar-header-error{
685
702
  color:var(--rs-btn-subtle-disabled-text);
686
703
  background:none;
687
704
  }
688
- [data-theme=high-contrast] .rs-btn-subtle:disabled, [data-theme=high-contrast] .rs-calendar-header-error:disabled, .rs-theme-high-contrast .rs-btn-subtle:disabled, .rs-theme-high-contrast .rs-calendar-header-error:disabled, [data-theme=high-contrast] .rs-btn-subtle.rs-btn-disabled, [data-theme=high-contrast] .rs-btn-disabled.rs-calendar-header-error, .rs-theme-high-contrast .rs-btn-subtle.rs-btn-disabled, .rs-theme-high-contrast .rs-btn-disabled.rs-calendar-header-error{
705
+ [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],
706
+ [data-theme=high-contrast] .rs-btn-subtle:disabled,
707
+ [data-theme=high-contrast] .rs-calendar-header-error:disabled,
708
+ .rs-theme-high-contrast .rs-btn-subtle:disabled,
709
+ .rs-theme-high-contrast .rs-calendar-header-error:disabled,
710
+ [data-theme=high-contrast] .rs-btn-subtle.rs-btn[data-disabled=true],
711
+ [data-theme=high-contrast] .rs-btn[data-disabled=true].rs-calendar-header-error,
712
+ .rs-theme-high-contrast .rs-btn-subtle.rs-btn[data-disabled=true],
713
+ .rs-theme-high-contrast .rs-btn[data-disabled=true].rs-calendar-header-error{
689
714
  border-color:var(--rs-btn-default-disabled-border-color);
690
715
  }
691
716
 
692
- .rs-btn-link{
717
+ .rs-btn[data-appearance=link]{
693
718
  color:var(--rs-btn-link-text);
694
719
  background-color:transparent;
695
720
  }
696
- .rs-btn-link:hover{
721
+ .rs-btn[data-appearance=link]:hover{
697
722
  color:var(--rs-btn-link-hover-text);
698
723
  background-color:transparent;
699
724
  -webkit-text-decoration:var(--rs-link-hover-decoration);
700
725
  text-decoration:var(--rs-link-hover-decoration);
701
726
  }
702
- .rs-btn-link:active, .rs-btn-link.rs-btn-active{
727
+ .rs-btn[data-appearance=link]:active, .rs-btn[data-appearance=link].rs-btn[data-active=true]{
703
728
  color:var(--rs-btn-link-active-text);
704
729
  background-color:transparent;
705
730
  }
706
- .rs-btn-link:disabled, .rs-btn-link.rs-btn-disabled{
731
+ .rs-btn[data-appearance=link]:disabled, .rs-btn[data-appearance=link].rs-btn[data-disabled=true]{
707
732
  color:var(--rs-btn-link-hover-text);
708
733
  background-color:transparent;
709
734
  text-decoration:none;
710
735
  opacity:0.3;
711
736
  }
712
- [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{
737
+ [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]{
713
738
  border-color:var(--rs-btn-default-disabled-border-color);
714
739
  }
715
740
 
716
- .rs-btn-ghost{
741
+ .rs-btn[data-appearance=ghost]{
717
742
  color:var(--rs-btn-ghost-text);
718
743
  background-color:transparent;
719
744
  border:var(--rs-btn-ghost-border-width) solid var(--rs-btn-ghost-border);
720
745
  padding-inline:calc(var(--rs-btn-padding-inline) - var(--rs-btn-ghost-border-width));
721
746
  }
722
- .rs-btn-ghost:hover{
747
+ .rs-btn[data-appearance=ghost]:hover{
723
748
  color:var(--rs-btn-ghost-hover-text);
724
749
  background-color:transparent;
725
750
  border-color:var(--rs-btn-ghost-hover-border);
726
751
  box-shadow:0 0 0 1px var(--rs-btn-ghost-hover-border);
727
752
  }
728
- .rs-btn-ghost:active, .rs-btn-ghost.rs-btn-active{
753
+ .rs-btn[data-appearance=ghost]:active, .rs-btn[data-appearance=ghost].rs-btn[data-active=true]{
729
754
  color:var(--rs-btn-ghost-active-text);
730
755
  background-color:transparent;
731
756
  border-color:var(--rs-btn-ghost-active-border);
732
757
  }
733
- .rs-btn-ghost:disabled, .rs-btn-ghost.rs-btn-disabled{
758
+ .rs-btn[data-appearance=ghost]:disabled, .rs-btn[data-appearance=ghost].rs-btn[data-disabled=true]{
734
759
  color:var(--rs-btn-ghost-text);
735
760
  background-color:transparent;
736
761
  opacity:0.3;
737
762
  border-color:var(--rs-btn-ghost-border);
738
763
  box-shadow:var(--rs-shadow-none);
739
764
  }
740
- [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{
765
+ [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]{
741
766
  border-color:var(--rs-btn-default-disabled-border-color);
742
767
  }
743
768
 
744
- .rs-btn-red{
769
+ .rs-btn[data-color=red]{
745
770
  --rs-btn-primary-bg:var(--rs-red-500);
746
771
  --rs-btn-primary-hover-bg:var(--rs-red-700);
747
772
  --rs-btn-primary-active-bg:var(--rs-red-800);
@@ -760,7 +785,7 @@ body{
760
785
  --rs-btn-link-hover-text:var(--rs-red-800);
761
786
  --rs-btn-link-active-text:var(--rs-red-900);
762
787
  }
763
- [data-theme=dark] .rs-btn-red, .rs-theme-dark .rs-btn-red{
788
+ [data-theme=dark] .rs-btn[data-color=red], .rs-theme-dark .rs-btn[data-color=red]{
764
789
  --rs-btn-primary-bg:var(--rs-red-700);
765
790
  --rs-btn-primary-hover-bg:var(--rs-red-500);
766
791
  --rs-btn-primary-active-bg:var(--rs-red-400);
@@ -779,7 +804,7 @@ body{
779
804
  --rs-btn-link-hover-text:var(--rs-red-400);
780
805
  --rs-btn-link-active-text:var(--rs-red-200);
781
806
  }
782
- [data-theme=high-contrast] .rs-btn-red, .rs-theme-high-contrast .rs-btn-red{
807
+ [data-theme=high-contrast] .rs-btn[data-color=red], .rs-theme-high-contrast .rs-btn[data-color=red]{
783
808
  --rs-btn-primary-bg:var(--rs-red-700);
784
809
  --rs-btn-primary-hover-bg:var(--rs-red-600);
785
810
  --rs-btn-primary-active-bg:var(--rs-red-400);
@@ -798,7 +823,7 @@ body{
798
823
  --rs-btn-link-active-text:var(--rs-red-200);
799
824
  }
800
825
 
801
- .rs-btn-orange{
826
+ .rs-btn[data-color=orange]{
802
827
  --rs-btn-primary-bg:var(--rs-orange-500);
803
828
  --rs-btn-primary-hover-bg:var(--rs-orange-700);
804
829
  --rs-btn-primary-active-bg:var(--rs-orange-800);
@@ -817,7 +842,7 @@ body{
817
842
  --rs-btn-link-hover-text:var(--rs-orange-800);
818
843
  --rs-btn-link-active-text:var(--rs-orange-900);
819
844
  }
820
- [data-theme=dark] .rs-btn-orange, .rs-theme-dark .rs-btn-orange{
845
+ [data-theme=dark] .rs-btn[data-color=orange], .rs-theme-dark .rs-btn[data-color=orange]{
821
846
  --rs-btn-primary-bg:var(--rs-orange-700);
822
847
  --rs-btn-primary-hover-bg:var(--rs-orange-500);
823
848
  --rs-btn-primary-active-bg:var(--rs-orange-400);
@@ -836,7 +861,7 @@ body{
836
861
  --rs-btn-link-hover-text:var(--rs-orange-400);
837
862
  --rs-btn-link-active-text:var(--rs-orange-200);
838
863
  }
839
- [data-theme=high-contrast] .rs-btn-orange, .rs-theme-high-contrast .rs-btn-orange{
864
+ [data-theme=high-contrast] .rs-btn[data-color=orange], .rs-theme-high-contrast .rs-btn[data-color=orange]{
840
865
  --rs-btn-primary-bg:var(--rs-orange-700);
841
866
  --rs-btn-primary-hover-bg:var(--rs-orange-600);
842
867
  --rs-btn-primary-active-bg:var(--rs-orange-400);
@@ -855,7 +880,7 @@ body{
855
880
  --rs-btn-link-active-text:var(--rs-orange-200);
856
881
  }
857
882
 
858
- .rs-btn-yellow{
883
+ .rs-btn[data-color=yellow]{
859
884
  --rs-btn-primary-bg:var(--rs-yellow-500);
860
885
  --rs-btn-primary-hover-bg:var(--rs-yellow-700);
861
886
  --rs-btn-primary-active-bg:var(--rs-yellow-800);
@@ -874,7 +899,7 @@ body{
874
899
  --rs-btn-link-hover-text:var(--rs-yellow-800);
875
900
  --rs-btn-link-active-text:var(--rs-yellow-900);
876
901
  }
877
- [data-theme=dark] .rs-btn-yellow, .rs-theme-dark .rs-btn-yellow{
902
+ [data-theme=dark] .rs-btn[data-color=yellow], .rs-theme-dark .rs-btn[data-color=yellow]{
878
903
  --rs-btn-primary-bg:var(--rs-yellow-700);
879
904
  --rs-btn-primary-hover-bg:var(--rs-yellow-500);
880
905
  --rs-btn-primary-active-bg:var(--rs-yellow-400);
@@ -893,7 +918,7 @@ body{
893
918
  --rs-btn-link-hover-text:var(--rs-yellow-400);
894
919
  --rs-btn-link-active-text:var(--rs-yellow-200);
895
920
  }
896
- [data-theme=high-contrast] .rs-btn-yellow, .rs-theme-high-contrast .rs-btn-yellow{
921
+ [data-theme=high-contrast] .rs-btn[data-color=yellow], .rs-theme-high-contrast .rs-btn[data-color=yellow]{
897
922
  --rs-btn-primary-bg:var(--rs-yellow-700);
898
923
  --rs-btn-primary-hover-bg:var(--rs-yellow-600);
899
924
  --rs-btn-primary-active-bg:var(--rs-yellow-400);
@@ -912,7 +937,7 @@ body{
912
937
  --rs-btn-link-active-text:var(--rs-yellow-200);
913
938
  }
914
939
 
915
- .rs-btn-green{
940
+ .rs-btn[data-color=green]{
916
941
  --rs-btn-primary-bg:var(--rs-green-500);
917
942
  --rs-btn-primary-hover-bg:var(--rs-green-700);
918
943
  --rs-btn-primary-active-bg:var(--rs-green-800);
@@ -931,7 +956,7 @@ body{
931
956
  --rs-btn-link-hover-text:var(--rs-green-800);
932
957
  --rs-btn-link-active-text:var(--rs-green-900);
933
958
  }
934
- [data-theme=dark] .rs-btn-green, .rs-theme-dark .rs-btn-green{
959
+ [data-theme=dark] .rs-btn[data-color=green], .rs-theme-dark .rs-btn[data-color=green]{
935
960
  --rs-btn-primary-bg:var(--rs-green-700);
936
961
  --rs-btn-primary-hover-bg:var(--rs-green-500);
937
962
  --rs-btn-primary-active-bg:var(--rs-green-400);
@@ -950,7 +975,7 @@ body{
950
975
  --rs-btn-link-hover-text:var(--rs-green-400);
951
976
  --rs-btn-link-active-text:var(--rs-green-200);
952
977
  }
953
- [data-theme=high-contrast] .rs-btn-green, .rs-theme-high-contrast .rs-btn-green{
978
+ [data-theme=high-contrast] .rs-btn[data-color=green], .rs-theme-high-contrast .rs-btn[data-color=green]{
954
979
  --rs-btn-primary-bg:var(--rs-green-700);
955
980
  --rs-btn-primary-hover-bg:var(--rs-green-600);
956
981
  --rs-btn-primary-active-bg:var(--rs-green-400);
@@ -969,7 +994,7 @@ body{
969
994
  --rs-btn-link-active-text:var(--rs-green-200);
970
995
  }
971
996
 
972
- .rs-btn-cyan{
997
+ .rs-btn[data-color=cyan]{
973
998
  --rs-btn-primary-bg:var(--rs-cyan-500);
974
999
  --rs-btn-primary-hover-bg:var(--rs-cyan-700);
975
1000
  --rs-btn-primary-active-bg:var(--rs-cyan-800);
@@ -988,7 +1013,7 @@ body{
988
1013
  --rs-btn-link-hover-text:var(--rs-cyan-800);
989
1014
  --rs-btn-link-active-text:var(--rs-cyan-900);
990
1015
  }
991
- [data-theme=dark] .rs-btn-cyan, .rs-theme-dark .rs-btn-cyan{
1016
+ [data-theme=dark] .rs-btn[data-color=cyan], .rs-theme-dark .rs-btn[data-color=cyan]{
992
1017
  --rs-btn-primary-bg:var(--rs-cyan-700);
993
1018
  --rs-btn-primary-hover-bg:var(--rs-cyan-500);
994
1019
  --rs-btn-primary-active-bg:var(--rs-cyan-400);
@@ -1007,7 +1032,7 @@ body{
1007
1032
  --rs-btn-link-hover-text:var(--rs-cyan-400);
1008
1033
  --rs-btn-link-active-text:var(--rs-cyan-200);
1009
1034
  }
1010
- [data-theme=high-contrast] .rs-btn-cyan, .rs-theme-high-contrast .rs-btn-cyan{
1035
+ [data-theme=high-contrast] .rs-btn[data-color=cyan], .rs-theme-high-contrast .rs-btn[data-color=cyan]{
1011
1036
  --rs-btn-primary-bg:var(--rs-cyan-700);
1012
1037
  --rs-btn-primary-hover-bg:var(--rs-cyan-600);
1013
1038
  --rs-btn-primary-active-bg:var(--rs-cyan-400);
@@ -1026,7 +1051,7 @@ body{
1026
1051
  --rs-btn-link-active-text:var(--rs-cyan-200);
1027
1052
  }
1028
1053
 
1029
- .rs-btn-blue{
1054
+ .rs-btn[data-color=blue]{
1030
1055
  --rs-btn-primary-bg:var(--rs-blue-500);
1031
1056
  --rs-btn-primary-hover-bg:var(--rs-blue-700);
1032
1057
  --rs-btn-primary-active-bg:var(--rs-blue-800);
@@ -1045,7 +1070,7 @@ body{
1045
1070
  --rs-btn-link-hover-text:var(--rs-blue-800);
1046
1071
  --rs-btn-link-active-text:var(--rs-blue-900);
1047
1072
  }
1048
- [data-theme=dark] .rs-btn-blue, .rs-theme-dark .rs-btn-blue{
1073
+ [data-theme=dark] .rs-btn[data-color=blue], .rs-theme-dark .rs-btn[data-color=blue]{
1049
1074
  --rs-btn-primary-bg:var(--rs-blue-700);
1050
1075
  --rs-btn-primary-hover-bg:var(--rs-blue-500);
1051
1076
  --rs-btn-primary-active-bg:var(--rs-blue-400);
@@ -1064,7 +1089,7 @@ body{
1064
1089
  --rs-btn-link-hover-text:var(--rs-blue-400);
1065
1090
  --rs-btn-link-active-text:var(--rs-blue-200);
1066
1091
  }
1067
- [data-theme=high-contrast] .rs-btn-blue, .rs-theme-high-contrast .rs-btn-blue{
1092
+ [data-theme=high-contrast] .rs-btn[data-color=blue], .rs-theme-high-contrast .rs-btn[data-color=blue]{
1068
1093
  --rs-btn-primary-bg:var(--rs-blue-700);
1069
1094
  --rs-btn-primary-hover-bg:var(--rs-blue-600);
1070
1095
  --rs-btn-primary-active-bg:var(--rs-blue-400);
@@ -1083,7 +1108,7 @@ body{
1083
1108
  --rs-btn-link-active-text:var(--rs-blue-200);
1084
1109
  }
1085
1110
 
1086
- .rs-btn-violet{
1111
+ .rs-btn[data-color=violet]{
1087
1112
  --rs-btn-primary-bg:var(--rs-violet-500);
1088
1113
  --rs-btn-primary-hover-bg:var(--rs-violet-700);
1089
1114
  --rs-btn-primary-active-bg:var(--rs-violet-800);
@@ -1102,7 +1127,7 @@ body{
1102
1127
  --rs-btn-link-hover-text:var(--rs-violet-800);
1103
1128
  --rs-btn-link-active-text:var(--rs-violet-900);
1104
1129
  }
1105
- [data-theme=dark] .rs-btn-violet, .rs-theme-dark .rs-btn-violet{
1130
+ [data-theme=dark] .rs-btn[data-color=violet], .rs-theme-dark .rs-btn[data-color=violet]{
1106
1131
  --rs-btn-primary-bg:var(--rs-violet-700);
1107
1132
  --rs-btn-primary-hover-bg:var(--rs-violet-500);
1108
1133
  --rs-btn-primary-active-bg:var(--rs-violet-400);
@@ -1121,7 +1146,7 @@ body{
1121
1146
  --rs-btn-link-hover-text:var(--rs-violet-400);
1122
1147
  --rs-btn-link-active-text:var(--rs-violet-200);
1123
1148
  }
1124
- [data-theme=high-contrast] .rs-btn-violet, .rs-theme-high-contrast .rs-btn-violet{
1149
+ [data-theme=high-contrast] .rs-btn[data-color=violet], .rs-theme-high-contrast .rs-btn[data-color=violet]{
1125
1150
  --rs-btn-primary-bg:var(--rs-violet-700);
1126
1151
  --rs-btn-primary-hover-bg:var(--rs-violet-600);
1127
1152
  --rs-btn-primary-active-bg:var(--rs-violet-400);
@@ -1140,20 +1165,20 @@ body{
1140
1165
  --rs-btn-link-active-text:var(--rs-violet-200);
1141
1166
  }
1142
1167
 
1143
- .rs-btn-block{
1168
+ .rs-btn[data-block=true]{
1144
1169
  width:100%;
1145
1170
  }
1146
- .rs-btn-block + .rs-btn-block{
1171
+ .rs-btn[data-block=true] + .rs-btn[data-block=true]{
1147
1172
  margin-top:5px;
1148
1173
  }
1149
1174
 
1150
- .rs-btn-loading{
1175
+ .rs-btn[data-loading=true]{
1151
1176
  color:transparent !important;
1152
1177
  position:relative;
1153
1178
  cursor:default;
1154
1179
  pointer-events:none;
1155
1180
  }
1156
- .rs-btn-loading > .rs-btn-spin::before, .rs-btn-loading > .rs-btn-spin::after{
1181
+ .rs-btn[data-loading=true] > .rs-btn-spin::before, .rs-btn[data-loading=true] > .rs-btn-spin::after{
1157
1182
  content:"";
1158
1183
  position:absolute;
1159
1184
  width:var(--rs-btn-loading-spin-default-diameter);
@@ -1166,29 +1191,29 @@ body{
1166
1191
  border-radius:var(--rs-radius-full);
1167
1192
  z-index:1;
1168
1193
  }
1169
- .rs-btn-xs .rs-btn-loading > .rs-btn-spin::before, .rs-btn-xs .rs-btn-loading > .rs-btn-spin::after{
1194
+ .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{
1170
1195
  width:var(--rs-btn-loading-spin-xs-diameter);
1171
1196
  height:var(--rs-btn-loading-spin-xs-diameter);
1172
1197
  }
1173
- .rs-btn-loading > .rs-btn-spin::before{
1198
+ .rs-btn[data-loading=true] > .rs-btn-spin::before{
1174
1199
  border:var(--rs-btn-loading-spin-ring-wide) solid var(--rs-loader-ring);
1175
1200
  }
1176
- .rs-btn-primary .rs-btn-loading > .rs-btn-spin::before{
1201
+ .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::before{
1177
1202
  border-color:rgba(248, 247, 250, 0.3);
1178
1203
  }
1179
- [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{
1204
+ [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{
1180
1205
  border-color:var(--rs-loader-ring-inverse);
1181
1206
  }
1182
- .rs-btn-loading > .rs-btn-spin::after{
1207
+ .rs-btn[data-loading=true] > .rs-btn-spin::after{
1183
1208
  border-width:var(--rs-btn-loading-spin-ring-wide);
1184
1209
  border-color:var(--rs-loader-rotor) transparent transparent;
1185
1210
  border-style:solid;
1186
1211
  animation:buttonSpin 0.6s infinite linear;
1187
1212
  }
1188
- .rs-btn-primary .rs-btn-loading > .rs-btn-spin::after{
1213
+ .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::after{
1189
1214
  border-top-color:#fff;
1190
1215
  }
1191
- [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{
1216
+ [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{
1192
1217
  border-top-color:var(--rs-loader-rotor-inverse);
1193
1218
  }
1194
1219
  @keyframes buttonSpin{
@@ -1776,7 +1801,7 @@ body{
1776
1801
  color:var(--rs-listbox-option-hover-text);
1777
1802
  }
1778
1803
  [data-theme=high-contrast] .rs-calendar-time-dropdown-cell:hover, .rs-theme-high-contrast .rs-calendar-time-dropdown-cell:hover{
1779
- outline:2px solid var(--rs-color-focus-ring);
1804
+ outline:2px solid var(--rs-focus-ring-color);
1780
1805
  outline-offset:-1px;
1781
1806
  outline-offset:-3px;
1782
1807
  outline-width:2px;
@@ -1793,7 +1818,7 @@ body{
1793
1818
  color:var(--rs-listbox-option-hover-text);
1794
1819
  }
1795
1820
  [data-theme=high-contrast] .rs-calendar-time-dropdown-cell.rs-calendar-time-dropdown-cell-active:hover, .rs-theme-high-contrast .rs-calendar-time-dropdown-cell.rs-calendar-time-dropdown-cell-active:hover{
1796
- outline:2px solid var(--rs-color-focus-ring);
1821
+ outline:2px solid var(--rs-focus-ring-color);
1797
1822
  outline-offset:-1px;
1798
1823
  outline-offset:-3px;
1799
1824
  outline-width:2px;
@@ -130,26 +130,26 @@ body{
130
130
  position:relative;
131
131
  width:var(--rs-card-width);
132
132
  }
133
- .rs-card-bordered{
133
+ .rs-card[data-bordered=true]{
134
134
  border:1px solid var(--rs-border-primary);
135
135
  background-color:var(--rs-card-bg);
136
136
  }
137
- .rs-card-shaded,.rs-card-shaded-hover:hover{
137
+ .rs-card[data-shaded=true],.rs-card[data-shaded=hover]:hover{
138
138
  box-shadow:var(--rs-card-shadow);
139
139
  }
140
- .rs-card-shaded-hover:hover{
140
+ .rs-card[data-shaded=hover]:hover{
141
141
  cursor:pointer;
142
142
  }
143
- .rs-card-sm{
143
+ .rs-card[data-size=sm]{
144
144
  --rs-card-padding:calc(var(--rs-spacing) * 2);
145
145
  }
146
- .rs-card-md{
146
+ .rs-card[data-size=md]{
147
147
  --rs-card-padding:calc(var(--rs-spacing) * 4);
148
148
  }
149
- .rs-card-lg{
149
+ .rs-card[data-size=lg]{
150
150
  --rs-card-padding:calc(var(--rs-spacing) * 6);
151
151
  }
152
- .rs-card-row{
152
+ .rs-card[data-direction=row]{
153
153
  flex-direction:row;
154
154
  }
155
155
  .rs-card-header{