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
@@ -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-avatar-group{
231
222
  --rs-avatar-group-spacing:0;
232
223
  display:flex;
@@ -135,10 +135,10 @@ body{
135
135
  display:none !important;
136
136
  }
137
137
  }
138
- :root{
138
+ .rs-badge{
139
139
  --rs-badge-offset-x:5%;
140
140
  --rs-badge-offset-y:5%;
141
- --rs-badge-move:40%;
141
+ --rs-badge-move:var(--rs-badge-offset, 40%);
142
142
  --rs-badge-one-char-size:20px;
143
143
  --rs-badge-dot-size:10px;
144
144
  --rs-badge-transform-top-start:translate(calc(-1 * var(--rs-badge-move)), calc(-1 * var(--rs-badge-move)));
@@ -161,10 +161,10 @@ body{
161
161
  .rs-badge{
162
162
  display:inline-flex;
163
163
  }
164
- .rs-badge-circle{
165
- --rs-badge-move:30%;
164
+ .rs-badge[data-shape=circle]{
165
+ --rs-badge-offset:30%;
166
166
  }
167
- .rs-badge-independent, .rs-badge-content{
167
+ .rs-badge:where([data-independent=true]), .rs-badge-content{
168
168
  opacity:1;
169
169
  display:inline-flex;
170
170
  justify-content:center;
@@ -177,17 +177,17 @@ body{
177
177
  padding-inline:0.3125rem;
178
178
  transition:opacity 0.3s ease-in-out;
179
179
  }
180
- .rs-badge-one-char .rs-badge-content, .rs-badge.rs-badge-one-char.rs-badge-independent{
180
+ .rs-badge[data-one-char=true] .rs-badge-content, .rs-badge[data-one-char=true][data-independent=true]{
181
181
  width:var(--rs-badge-one-char-size);
182
182
  height:var(--rs-badge-one-char-size);
183
183
  }
184
184
  .rs-badge-content{
185
185
  box-sizing:border-box;
186
186
  }
187
- .rs-badge-hidden .rs-badge-content, .rs-badge.rs-badge-hidden.rs-badge-independent{
187
+ .rs-badge[data-hidden=true] .rs-badge-content, .rs-badge[data-hidden=true][data-independent=true]{
188
188
  opacity:0;
189
189
  }
190
- .rs-badge-compact .rs-badge-content, .rs-badge.rs-badge-compact.rs-badge-independent{
190
+ .rs-badge[data-compact=true] .rs-badge-content, .rs-badge[data-compact=true][data-independent=true]{
191
191
  padding:0;
192
192
  }
193
193
  .rs-badge:empty, .rs-badge-content:empty{
@@ -201,58 +201,58 @@ body{
201
201
  position:absolute;
202
202
  z-index:var(--rs-zindex-badge-content);
203
203
  }
204
- .rs-badge-outline .rs-badge-content{
204
+ .rs-badge[data-outline=true] .rs-badge-content{
205
205
  border:2px solid var(--rs-badge-border);
206
206
  }
207
- .rs-badge-top-start .rs-badge-content{
207
+ .rs-badge[data-placement=topStart] .rs-badge-content{
208
208
  transform:var(--rs-badge-transform-top-start);
209
209
  top:var(--rs-badge-offset-y);
210
210
  inset-inline-start:var(--rs-badge-offset-x);
211
211
  }
212
- .rs-badge-top-end .rs-badge-content{
212
+ .rs-badge[data-placement=topEnd] .rs-badge-content{
213
213
  transform:var(--rs-badge-transform-top-end);
214
214
  top:var(--rs-badge-offset-y);
215
215
  inset-inline-end:var(--rs-badge-offset-x);
216
216
  }
217
- .rs-badge-bottom-start .rs-badge-content{
217
+ .rs-badge[data-placement=bottomStart] .rs-badge-content{
218
218
  transform:var(--rs-badge-transform-bottom-start);
219
219
  bottom:var(--rs-badge-offset-y);
220
220
  inset-inline-start:var(--rs-badge-offset-x);
221
221
  }
222
- .rs-badge-bottom-end .rs-badge-content{
222
+ .rs-badge[data-placement=bottomEnd] .rs-badge-content{
223
223
  transform:var(--rs-badge-transform-bottom-end);
224
224
  bottom:var(--rs-badge-offset-y);
225
225
  inset-inline-end:var(--rs-badge-offset-x);
226
226
  }
227
227
 
228
- .rs-badge-red{
228
+ .rs-badge[data-color=red]{
229
229
  --rs-badge-bg:var(--rs-red-500);
230
230
  }
231
231
 
232
- .rs-badge-orange{
232
+ .rs-badge[data-color=orange]{
233
233
  --rs-badge-bg:var(--rs-orange-500);
234
234
  }
235
235
 
236
- .rs-badge-yellow{
236
+ .rs-badge[data-color=yellow]{
237
237
  --rs-badge-bg:var(--rs-yellow-500);
238
238
  }
239
239
 
240
- .rs-badge-green{
240
+ .rs-badge[data-color=green]{
241
241
  --rs-badge-bg:var(--rs-green-500);
242
242
  }
243
243
 
244
- .rs-badge-cyan{
244
+ .rs-badge[data-color=cyan]{
245
245
  --rs-badge-bg:var(--rs-cyan-500);
246
246
  }
247
247
 
248
- .rs-badge-blue{
248
+ .rs-badge[data-color=blue]{
249
249
  --rs-badge-bg:var(--rs-blue-500);
250
250
  }
251
251
 
252
- .rs-badge-violet{
252
+ .rs-badge[data-color=violet]{
253
253
  --rs-badge-bg:var(--rs-violet-500);
254
254
  }
255
255
 
256
- .rs-badge-pink{
256
+ .rs-badge[data-color=pink]{
257
257
  --rs-badge-bg:var(--rs-pink-500);
258
258
  }
@@ -84,7 +84,7 @@ body{
84
84
  --rs-violet-900:#390085;
85
85
  --rs-body:var(--rs-gray-0);
86
86
  --rs-text-primary:var(--rs-gray-800);
87
- --rs-color-focus-ring:rgb(from var(--rs-primary-500) r g b / 25%);
87
+ --rs-focus-ring-color:rgb(from var(--rs-primary-500) r g b / 25%);
88
88
  --rs-btn-default-bg:var(--rs-gray-50);
89
89
  --rs-btn-default-text:var(--rs-gray-800);
90
90
  --rs-btn-default-border-color:var(--rs-gray-200);
@@ -120,7 +120,7 @@ body{
120
120
  }
121
121
  @supports not (color: rgb(from white r g b)){
122
122
  :root{
123
- --rs-color-focus-ring:rgba(52, 152, 255, 0.25);
123
+ --rs-focus-ring-color:rgba(52, 152, 255, 0.25);
124
124
  --rs-loader-ring:rgba(247, 247, 250, 0.8);
125
125
  --rs-loader-ring-inverse:rgba(247, 247, 250, 0.3);
126
126
  }
@@ -197,7 +197,6 @@ body{
197
197
  --rs-violet-900:#390085;
198
198
  --rs-body:var(--rs-gray-900);
199
199
  --rs-text-primary:var(--rs-gray-50);
200
- --rs-color-focus-ring:0 0 0 2px rgb(from var(--rs-gray-500) r g b / 25%);
201
200
  --rs-btn-default-bg:var(--rs-gray-600);
202
201
  --rs-btn-default-text:var(--rs-gray-50);
203
202
  --rs-btn-default-border-color:var(--rs-gray-700);
@@ -234,7 +233,6 @@ body{
234
233
  @supports not (color: rgb(from white r g b)){
235
234
  [data-theme=dark],
236
235
  .rs-theme-dark{
237
- --rs-color-focus-ring:0 0 0 2px rgba(52, 195, 255, 0.25);
238
236
  --rs-loader-ring:rgba(233, 235, 240, 0.3);
239
237
  --rs-loader-ring-inverse:rgba(233, 235, 240, 0.8);
240
238
  }
@@ -311,7 +309,7 @@ body{
311
309
  --rs-violet-900:#390085;
312
310
  --rs-body:var(--rs-gray-900);
313
311
  --rs-text-primary:var(--rs-gray-50);
314
- --rs-color-focus-ring:var(--rs-gray-0);
312
+ --rs-focus-ring-color:var(--rs-gray-0);
315
313
  --rs-btn-default-bg:transparent;
316
314
  --rs-btn-default-text:var(--rs-primary-500);
317
315
  --rs-btn-default-border-color:var(--rs-primary-500);
@@ -509,7 +507,7 @@ body{
509
507
  border-color:var(--rs-btn-default-border-color);
510
508
  }
511
509
  .rs-btn:focus-visible{
512
- outline:2px solid var(--rs-color-focus-ring);
510
+ outline:2px solid var(--rs-focus-ring-color);
513
511
  outline-offset:-1px;
514
512
  }
515
513
  .rs-btn:hover{
@@ -517,16 +515,16 @@ body{
517
515
  background-color:var(--rs-btn-default-hover-bg);
518
516
  text-decoration:none;
519
517
  }
520
- .rs-btn:active, .rs-btn.rs-btn-active{
518
+ .rs-btn:active, .rs-btn.rs-btn[data-active=true]{
521
519
  color:var(--rs-btn-default-active-text);
522
520
  background-color:var(--rs-btn-default-active-bg);
523
521
  }
524
- .rs-btn:disabled, .rs-btn.rs-btn-disabled{
522
+ .rs-btn:disabled, .rs-btn.rs-btn[data-disabled=true]{
525
523
  cursor:var(--rs-cursor-disabled);
526
524
  color:var(--rs-btn-default-disabled-text);
527
525
  background-color:var(--rs-btn-default-disabled-bg);
528
526
  }
529
- [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{
527
+ [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]{
530
528
  border-color:var(--rs-btn-default-disabled-border-color);
531
529
  }
532
530
  .rs-btn{
@@ -539,28 +537,35 @@ body{
539
537
  mask-image:radial-gradient(white, black);
540
538
  }
541
539
  }
542
- .rs-btn.rs-btn-lg{
540
+ .rs-btn{
541
+ --rs-btn-size:var(--rs-btn-size-md);
542
+ --rs-btn-font-size:var(--rs-btn-font-size-md);
543
+ --rs-btn-line-height:var(--rs-btn-line-height-md);
544
+ --rs-btn-padding-inline:var(--rs-btn-padding-inline-md);
545
+ --rs-btn-padding-block:var(--rs-btn-padding-block-md);
546
+ }
547
+ .rs-btn[data-size=lg]{
543
548
  --rs-btn-size:var(--rs-btn-size-lg);
544
549
  --rs-btn-font-size:var(--rs-btn-font-size-lg);
545
550
  --rs-btn-line-height:var(--rs-btn-line-height-lg);
546
551
  --rs-btn-padding-inline:var(--rs-btn-padding-inline-lg);
547
552
  --rs-btn-padding-block:var(--rs-btn-padding-block-lg);
548
553
  }
549
- .rs-btn.rs-btn-md{
554
+ .rs-btn[data-size=md]{
550
555
  --rs-btn-size:var(--rs-btn-size-md);
551
556
  --rs-btn-font-size:var(--rs-btn-font-size-md);
552
557
  --rs-btn-line-height:var(--rs-btn-line-height-md);
553
558
  --rs-btn-padding-inline:var(--rs-btn-padding-inline-md);
554
559
  --rs-btn-padding-block:var(--rs-btn-padding-block-md);
555
560
  }
556
- .rs-btn.rs-btn-sm{
561
+ .rs-btn[data-size=sm]{
557
562
  --rs-btn-size:var(--rs-btn-size-sm);
558
563
  --rs-btn-font-size:var(--rs-btn-font-size-sm);
559
564
  --rs-btn-line-height:var(--rs-btn-line-height-sm);
560
565
  --rs-btn-padding-inline:var(--rs-btn-padding-inline-sm);
561
566
  --rs-btn-padding-block:var(--rs-btn-padding-block-sm);
562
567
  }
563
- .rs-btn.rs-btn-xs{
568
+ .rs-btn[data-size=xs]{
564
569
  --rs-btn-size:var(--rs-btn-size-xs);
565
570
  --rs-btn-font-size:var(--rs-btn-font-size-xs);
566
571
  --rs-btn-line-height:var(--rs-btn-line-height-xs);
@@ -578,101 +583,111 @@ body{
578
583
  margin-inline-start:var(--rs-btn-icon-gap);
579
584
  }
580
585
 
581
- .rs-btn-primary{
586
+ .rs-btn[data-appearance=primary]{
582
587
  color:var(--rs-btn-primary-text);
583
588
  background-color:var(--rs-btn-primary-bg);
584
589
  border-color:var(--rs-btn-primary-border-color);
585
590
  }
586
- .rs-btn-primary:hover{
591
+ .rs-btn[data-appearance=primary]:hover{
587
592
  color:var(--rs-btn-primary-text);
588
593
  background-color:var(--rs-btn-primary-hover-bg);
589
594
  }
590
- .rs-btn-primary:active, .rs-btn-primary.rs-btn-active{
595
+ .rs-btn[data-appearance=primary]:active, .rs-btn[data-appearance=primary].rs-btn[data-active=true]{
591
596
  color:var(--rs-btn-primary-text);
592
597
  background-color:var(--rs-btn-primary-active-bg);
593
598
  }
594
- .rs-btn-primary:disabled, .rs-btn-primary.rs-btn-disabled{
599
+ .rs-btn[data-appearance=primary]:disabled, .rs-btn[data-appearance=primary].rs-btn[data-disabled=true]{
595
600
  color:var(--rs-btn-primary-text);
596
601
  background-color:var(--rs-btn-primary-bg);
597
602
  opacity:0.3;
598
603
  }
599
- [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{
604
+ [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]{
600
605
  border-color:var(--rs-btn-default-disabled-border-color);
601
606
  }
602
607
 
608
+ .rs-btn[data-appearance=subtle],
603
609
  .rs-btn-subtle{
604
610
  color:var(--rs-btn-subtle-text);
605
611
  background-color:transparent;
606
612
  }
613
+ .rs-btn[data-appearance=subtle]:hover,
607
614
  .rs-btn-subtle:hover{
608
615
  color:var(--rs-btn-subtle-hover-text);
609
616
  background-color:var(--rs-btn-subtle-hover-bg);
610
617
  }
611
- .rs-btn-subtle:active, .rs-btn-subtle.rs-btn-active{
618
+ .rs-btn[data-appearance=subtle]:active, .rs-btn[data-appearance=subtle].rs-btn[data-active=true],
619
+ .rs-btn-subtle:active,
620
+ .rs-btn-subtle.rs-btn[data-active=true]{
612
621
  color:var(--rs-btn-subtle-active-text);
613
622
  background-color:var(--rs-btn-subtle-active-bg);
614
623
  }
615
- .rs-btn-subtle:disabled, .rs-btn-subtle.rs-btn-disabled{
624
+ .rs-btn[data-appearance=subtle]:disabled, .rs-btn[data-appearance=subtle].rs-btn[data-disabled=true],
625
+ .rs-btn-subtle:disabled,
626
+ .rs-btn-subtle.rs-btn[data-disabled=true]{
616
627
  color:var(--rs-btn-subtle-disabled-text);
617
628
  background:none;
618
629
  }
619
- [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{
630
+ [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],
631
+ [data-theme=high-contrast] .rs-btn-subtle:disabled,
632
+ .rs-theme-high-contrast .rs-btn-subtle:disabled,
633
+ [data-theme=high-contrast] .rs-btn-subtle.rs-btn[data-disabled=true],
634
+ .rs-theme-high-contrast .rs-btn-subtle.rs-btn[data-disabled=true]{
620
635
  border-color:var(--rs-btn-default-disabled-border-color);
621
636
  }
622
637
 
623
- .rs-btn-link{
638
+ .rs-btn[data-appearance=link]{
624
639
  color:var(--rs-btn-link-text);
625
640
  background-color:transparent;
626
641
  }
627
- .rs-btn-link:hover{
642
+ .rs-btn[data-appearance=link]:hover{
628
643
  color:var(--rs-btn-link-hover-text);
629
644
  background-color:transparent;
630
645
  -webkit-text-decoration:var(--rs-link-hover-decoration);
631
646
  text-decoration:var(--rs-link-hover-decoration);
632
647
  }
633
- .rs-btn-link:active, .rs-btn-link.rs-btn-active{
648
+ .rs-btn[data-appearance=link]:active, .rs-btn[data-appearance=link].rs-btn[data-active=true]{
634
649
  color:var(--rs-btn-link-active-text);
635
650
  background-color:transparent;
636
651
  }
637
- .rs-btn-link:disabled, .rs-btn-link.rs-btn-disabled{
652
+ .rs-btn[data-appearance=link]:disabled, .rs-btn[data-appearance=link].rs-btn[data-disabled=true]{
638
653
  color:var(--rs-btn-link-hover-text);
639
654
  background-color:transparent;
640
655
  text-decoration:none;
641
656
  opacity:0.3;
642
657
  }
643
- [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{
658
+ [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]{
644
659
  border-color:var(--rs-btn-default-disabled-border-color);
645
660
  }
646
661
 
647
- .rs-btn-ghost{
662
+ .rs-btn[data-appearance=ghost]{
648
663
  color:var(--rs-btn-ghost-text);
649
664
  background-color:transparent;
650
665
  border:var(--rs-btn-ghost-border-width) solid var(--rs-btn-ghost-border);
651
666
  padding-inline:calc(var(--rs-btn-padding-inline) - var(--rs-btn-ghost-border-width));
652
667
  }
653
- .rs-btn-ghost:hover{
668
+ .rs-btn[data-appearance=ghost]:hover{
654
669
  color:var(--rs-btn-ghost-hover-text);
655
670
  background-color:transparent;
656
671
  border-color:var(--rs-btn-ghost-hover-border);
657
672
  box-shadow:0 0 0 1px var(--rs-btn-ghost-hover-border);
658
673
  }
659
- .rs-btn-ghost:active, .rs-btn-ghost.rs-btn-active{
674
+ .rs-btn[data-appearance=ghost]:active, .rs-btn[data-appearance=ghost].rs-btn[data-active=true]{
660
675
  color:var(--rs-btn-ghost-active-text);
661
676
  background-color:transparent;
662
677
  border-color:var(--rs-btn-ghost-active-border);
663
678
  }
664
- .rs-btn-ghost:disabled, .rs-btn-ghost.rs-btn-disabled{
679
+ .rs-btn[data-appearance=ghost]:disabled, .rs-btn[data-appearance=ghost].rs-btn[data-disabled=true]{
665
680
  color:var(--rs-btn-ghost-text);
666
681
  background-color:transparent;
667
682
  opacity:0.3;
668
683
  border-color:var(--rs-btn-ghost-border);
669
684
  box-shadow:var(--rs-shadow-none);
670
685
  }
671
- [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{
686
+ [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]{
672
687
  border-color:var(--rs-btn-default-disabled-border-color);
673
688
  }
674
689
 
675
- .rs-btn-red{
690
+ .rs-btn[data-color=red]{
676
691
  --rs-btn-primary-bg:var(--rs-red-500);
677
692
  --rs-btn-primary-hover-bg:var(--rs-red-700);
678
693
  --rs-btn-primary-active-bg:var(--rs-red-800);
@@ -691,7 +706,7 @@ body{
691
706
  --rs-btn-link-hover-text:var(--rs-red-800);
692
707
  --rs-btn-link-active-text:var(--rs-red-900);
693
708
  }
694
- [data-theme=dark] .rs-btn-red, .rs-theme-dark .rs-btn-red{
709
+ [data-theme=dark] .rs-btn[data-color=red], .rs-theme-dark .rs-btn[data-color=red]{
695
710
  --rs-btn-primary-bg:var(--rs-red-700);
696
711
  --rs-btn-primary-hover-bg:var(--rs-red-500);
697
712
  --rs-btn-primary-active-bg:var(--rs-red-400);
@@ -710,7 +725,7 @@ body{
710
725
  --rs-btn-link-hover-text:var(--rs-red-400);
711
726
  --rs-btn-link-active-text:var(--rs-red-200);
712
727
  }
713
- [data-theme=high-contrast] .rs-btn-red, .rs-theme-high-contrast .rs-btn-red{
728
+ [data-theme=high-contrast] .rs-btn[data-color=red], .rs-theme-high-contrast .rs-btn[data-color=red]{
714
729
  --rs-btn-primary-bg:var(--rs-red-700);
715
730
  --rs-btn-primary-hover-bg:var(--rs-red-600);
716
731
  --rs-btn-primary-active-bg:var(--rs-red-400);
@@ -729,7 +744,7 @@ body{
729
744
  --rs-btn-link-active-text:var(--rs-red-200);
730
745
  }
731
746
 
732
- .rs-btn-orange{
747
+ .rs-btn[data-color=orange]{
733
748
  --rs-btn-primary-bg:var(--rs-orange-500);
734
749
  --rs-btn-primary-hover-bg:var(--rs-orange-700);
735
750
  --rs-btn-primary-active-bg:var(--rs-orange-800);
@@ -748,7 +763,7 @@ body{
748
763
  --rs-btn-link-hover-text:var(--rs-orange-800);
749
764
  --rs-btn-link-active-text:var(--rs-orange-900);
750
765
  }
751
- [data-theme=dark] .rs-btn-orange, .rs-theme-dark .rs-btn-orange{
766
+ [data-theme=dark] .rs-btn[data-color=orange], .rs-theme-dark .rs-btn[data-color=orange]{
752
767
  --rs-btn-primary-bg:var(--rs-orange-700);
753
768
  --rs-btn-primary-hover-bg:var(--rs-orange-500);
754
769
  --rs-btn-primary-active-bg:var(--rs-orange-400);
@@ -767,7 +782,7 @@ body{
767
782
  --rs-btn-link-hover-text:var(--rs-orange-400);
768
783
  --rs-btn-link-active-text:var(--rs-orange-200);
769
784
  }
770
- [data-theme=high-contrast] .rs-btn-orange, .rs-theme-high-contrast .rs-btn-orange{
785
+ [data-theme=high-contrast] .rs-btn[data-color=orange], .rs-theme-high-contrast .rs-btn[data-color=orange]{
771
786
  --rs-btn-primary-bg:var(--rs-orange-700);
772
787
  --rs-btn-primary-hover-bg:var(--rs-orange-600);
773
788
  --rs-btn-primary-active-bg:var(--rs-orange-400);
@@ -786,7 +801,7 @@ body{
786
801
  --rs-btn-link-active-text:var(--rs-orange-200);
787
802
  }
788
803
 
789
- .rs-btn-yellow{
804
+ .rs-btn[data-color=yellow]{
790
805
  --rs-btn-primary-bg:var(--rs-yellow-500);
791
806
  --rs-btn-primary-hover-bg:var(--rs-yellow-700);
792
807
  --rs-btn-primary-active-bg:var(--rs-yellow-800);
@@ -805,7 +820,7 @@ body{
805
820
  --rs-btn-link-hover-text:var(--rs-yellow-800);
806
821
  --rs-btn-link-active-text:var(--rs-yellow-900);
807
822
  }
808
- [data-theme=dark] .rs-btn-yellow, .rs-theme-dark .rs-btn-yellow{
823
+ [data-theme=dark] .rs-btn[data-color=yellow], .rs-theme-dark .rs-btn[data-color=yellow]{
809
824
  --rs-btn-primary-bg:var(--rs-yellow-700);
810
825
  --rs-btn-primary-hover-bg:var(--rs-yellow-500);
811
826
  --rs-btn-primary-active-bg:var(--rs-yellow-400);
@@ -824,7 +839,7 @@ body{
824
839
  --rs-btn-link-hover-text:var(--rs-yellow-400);
825
840
  --rs-btn-link-active-text:var(--rs-yellow-200);
826
841
  }
827
- [data-theme=high-contrast] .rs-btn-yellow, .rs-theme-high-contrast .rs-btn-yellow{
842
+ [data-theme=high-contrast] .rs-btn[data-color=yellow], .rs-theme-high-contrast .rs-btn[data-color=yellow]{
828
843
  --rs-btn-primary-bg:var(--rs-yellow-700);
829
844
  --rs-btn-primary-hover-bg:var(--rs-yellow-600);
830
845
  --rs-btn-primary-active-bg:var(--rs-yellow-400);
@@ -843,7 +858,7 @@ body{
843
858
  --rs-btn-link-active-text:var(--rs-yellow-200);
844
859
  }
845
860
 
846
- .rs-btn-green{
861
+ .rs-btn[data-color=green]{
847
862
  --rs-btn-primary-bg:var(--rs-green-500);
848
863
  --rs-btn-primary-hover-bg:var(--rs-green-700);
849
864
  --rs-btn-primary-active-bg:var(--rs-green-800);
@@ -862,7 +877,7 @@ body{
862
877
  --rs-btn-link-hover-text:var(--rs-green-800);
863
878
  --rs-btn-link-active-text:var(--rs-green-900);
864
879
  }
865
- [data-theme=dark] .rs-btn-green, .rs-theme-dark .rs-btn-green{
880
+ [data-theme=dark] .rs-btn[data-color=green], .rs-theme-dark .rs-btn[data-color=green]{
866
881
  --rs-btn-primary-bg:var(--rs-green-700);
867
882
  --rs-btn-primary-hover-bg:var(--rs-green-500);
868
883
  --rs-btn-primary-active-bg:var(--rs-green-400);
@@ -881,7 +896,7 @@ body{
881
896
  --rs-btn-link-hover-text:var(--rs-green-400);
882
897
  --rs-btn-link-active-text:var(--rs-green-200);
883
898
  }
884
- [data-theme=high-contrast] .rs-btn-green, .rs-theme-high-contrast .rs-btn-green{
899
+ [data-theme=high-contrast] .rs-btn[data-color=green], .rs-theme-high-contrast .rs-btn[data-color=green]{
885
900
  --rs-btn-primary-bg:var(--rs-green-700);
886
901
  --rs-btn-primary-hover-bg:var(--rs-green-600);
887
902
  --rs-btn-primary-active-bg:var(--rs-green-400);
@@ -900,7 +915,7 @@ body{
900
915
  --rs-btn-link-active-text:var(--rs-green-200);
901
916
  }
902
917
 
903
- .rs-btn-cyan{
918
+ .rs-btn[data-color=cyan]{
904
919
  --rs-btn-primary-bg:var(--rs-cyan-500);
905
920
  --rs-btn-primary-hover-bg:var(--rs-cyan-700);
906
921
  --rs-btn-primary-active-bg:var(--rs-cyan-800);
@@ -919,7 +934,7 @@ body{
919
934
  --rs-btn-link-hover-text:var(--rs-cyan-800);
920
935
  --rs-btn-link-active-text:var(--rs-cyan-900);
921
936
  }
922
- [data-theme=dark] .rs-btn-cyan, .rs-theme-dark .rs-btn-cyan{
937
+ [data-theme=dark] .rs-btn[data-color=cyan], .rs-theme-dark .rs-btn[data-color=cyan]{
923
938
  --rs-btn-primary-bg:var(--rs-cyan-700);
924
939
  --rs-btn-primary-hover-bg:var(--rs-cyan-500);
925
940
  --rs-btn-primary-active-bg:var(--rs-cyan-400);
@@ -938,7 +953,7 @@ body{
938
953
  --rs-btn-link-hover-text:var(--rs-cyan-400);
939
954
  --rs-btn-link-active-text:var(--rs-cyan-200);
940
955
  }
941
- [data-theme=high-contrast] .rs-btn-cyan, .rs-theme-high-contrast .rs-btn-cyan{
956
+ [data-theme=high-contrast] .rs-btn[data-color=cyan], .rs-theme-high-contrast .rs-btn[data-color=cyan]{
942
957
  --rs-btn-primary-bg:var(--rs-cyan-700);
943
958
  --rs-btn-primary-hover-bg:var(--rs-cyan-600);
944
959
  --rs-btn-primary-active-bg:var(--rs-cyan-400);
@@ -957,7 +972,7 @@ body{
957
972
  --rs-btn-link-active-text:var(--rs-cyan-200);
958
973
  }
959
974
 
960
- .rs-btn-blue{
975
+ .rs-btn[data-color=blue]{
961
976
  --rs-btn-primary-bg:var(--rs-blue-500);
962
977
  --rs-btn-primary-hover-bg:var(--rs-blue-700);
963
978
  --rs-btn-primary-active-bg:var(--rs-blue-800);
@@ -976,7 +991,7 @@ body{
976
991
  --rs-btn-link-hover-text:var(--rs-blue-800);
977
992
  --rs-btn-link-active-text:var(--rs-blue-900);
978
993
  }
979
- [data-theme=dark] .rs-btn-blue, .rs-theme-dark .rs-btn-blue{
994
+ [data-theme=dark] .rs-btn[data-color=blue], .rs-theme-dark .rs-btn[data-color=blue]{
980
995
  --rs-btn-primary-bg:var(--rs-blue-700);
981
996
  --rs-btn-primary-hover-bg:var(--rs-blue-500);
982
997
  --rs-btn-primary-active-bg:var(--rs-blue-400);
@@ -995,7 +1010,7 @@ body{
995
1010
  --rs-btn-link-hover-text:var(--rs-blue-400);
996
1011
  --rs-btn-link-active-text:var(--rs-blue-200);
997
1012
  }
998
- [data-theme=high-contrast] .rs-btn-blue, .rs-theme-high-contrast .rs-btn-blue{
1013
+ [data-theme=high-contrast] .rs-btn[data-color=blue], .rs-theme-high-contrast .rs-btn[data-color=blue]{
999
1014
  --rs-btn-primary-bg:var(--rs-blue-700);
1000
1015
  --rs-btn-primary-hover-bg:var(--rs-blue-600);
1001
1016
  --rs-btn-primary-active-bg:var(--rs-blue-400);
@@ -1014,7 +1029,7 @@ body{
1014
1029
  --rs-btn-link-active-text:var(--rs-blue-200);
1015
1030
  }
1016
1031
 
1017
- .rs-btn-violet{
1032
+ .rs-btn[data-color=violet]{
1018
1033
  --rs-btn-primary-bg:var(--rs-violet-500);
1019
1034
  --rs-btn-primary-hover-bg:var(--rs-violet-700);
1020
1035
  --rs-btn-primary-active-bg:var(--rs-violet-800);
@@ -1033,7 +1048,7 @@ body{
1033
1048
  --rs-btn-link-hover-text:var(--rs-violet-800);
1034
1049
  --rs-btn-link-active-text:var(--rs-violet-900);
1035
1050
  }
1036
- [data-theme=dark] .rs-btn-violet, .rs-theme-dark .rs-btn-violet{
1051
+ [data-theme=dark] .rs-btn[data-color=violet], .rs-theme-dark .rs-btn[data-color=violet]{
1037
1052
  --rs-btn-primary-bg:var(--rs-violet-700);
1038
1053
  --rs-btn-primary-hover-bg:var(--rs-violet-500);
1039
1054
  --rs-btn-primary-active-bg:var(--rs-violet-400);
@@ -1052,7 +1067,7 @@ body{
1052
1067
  --rs-btn-link-hover-text:var(--rs-violet-400);
1053
1068
  --rs-btn-link-active-text:var(--rs-violet-200);
1054
1069
  }
1055
- [data-theme=high-contrast] .rs-btn-violet, .rs-theme-high-contrast .rs-btn-violet{
1070
+ [data-theme=high-contrast] .rs-btn[data-color=violet], .rs-theme-high-contrast .rs-btn[data-color=violet]{
1056
1071
  --rs-btn-primary-bg:var(--rs-violet-700);
1057
1072
  --rs-btn-primary-hover-bg:var(--rs-violet-600);
1058
1073
  --rs-btn-primary-active-bg:var(--rs-violet-400);
@@ -1071,20 +1086,20 @@ body{
1071
1086
  --rs-btn-link-active-text:var(--rs-violet-200);
1072
1087
  }
1073
1088
 
1074
- .rs-btn-block{
1089
+ .rs-btn[data-block=true]{
1075
1090
  width:100%;
1076
1091
  }
1077
- .rs-btn-block + .rs-btn-block{
1092
+ .rs-btn[data-block=true] + .rs-btn[data-block=true]{
1078
1093
  margin-top:5px;
1079
1094
  }
1080
1095
 
1081
- .rs-btn-loading{
1096
+ .rs-btn[data-loading=true]{
1082
1097
  color:transparent !important;
1083
1098
  position:relative;
1084
1099
  cursor:default;
1085
1100
  pointer-events:none;
1086
1101
  }
1087
- .rs-btn-loading > .rs-btn-spin::before, .rs-btn-loading > .rs-btn-spin::after{
1102
+ .rs-btn[data-loading=true] > .rs-btn-spin::before, .rs-btn[data-loading=true] > .rs-btn-spin::after{
1088
1103
  content:"";
1089
1104
  position:absolute;
1090
1105
  width:var(--rs-btn-loading-spin-default-diameter);
@@ -1097,29 +1112,29 @@ body{
1097
1112
  border-radius:var(--rs-radius-full);
1098
1113
  z-index:1;
1099
1114
  }
1100
- .rs-btn-xs .rs-btn-loading > .rs-btn-spin::before, .rs-btn-xs .rs-btn-loading > .rs-btn-spin::after{
1115
+ .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{
1101
1116
  width:var(--rs-btn-loading-spin-xs-diameter);
1102
1117
  height:var(--rs-btn-loading-spin-xs-diameter);
1103
1118
  }
1104
- .rs-btn-loading > .rs-btn-spin::before{
1119
+ .rs-btn[data-loading=true] > .rs-btn-spin::before{
1105
1120
  border:var(--rs-btn-loading-spin-ring-wide) solid var(--rs-loader-ring);
1106
1121
  }
1107
- .rs-btn-primary .rs-btn-loading > .rs-btn-spin::before{
1122
+ .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::before{
1108
1123
  border-color:rgba(248, 247, 250, 0.3);
1109
1124
  }
1110
- [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{
1125
+ [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{
1111
1126
  border-color:var(--rs-loader-ring-inverse);
1112
1127
  }
1113
- .rs-btn-loading > .rs-btn-spin::after{
1128
+ .rs-btn[data-loading=true] > .rs-btn-spin::after{
1114
1129
  border-width:var(--rs-btn-loading-spin-ring-wide);
1115
1130
  border-color:var(--rs-loader-rotor) transparent transparent;
1116
1131
  border-style:solid;
1117
1132
  animation:buttonSpin 0.6s infinite linear;
1118
1133
  }
1119
- .rs-btn-primary .rs-btn-loading > .rs-btn-spin::after{
1134
+ .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::after{
1120
1135
  border-top-color:#fff;
1121
1136
  }
1122
- [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{
1137
+ [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{
1123
1138
  border-top-color:var(--rs-loader-rotor-inverse);
1124
1139
  }
1125
1140
  @keyframes buttonSpin{