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
@@ -93,7 +93,7 @@ body{
93
93
  --rs-violet-900:#390085;
94
94
  --rs-body:var(--rs-gray-0);
95
95
  --rs-text-primary:var(--rs-gray-800);
96
- --rs-color-focus-ring:rgb(from var(--rs-primary-500) r g b / 25%);
96
+ --rs-focus-ring-color:rgb(from var(--rs-primary-500) r g b / 25%);
97
97
  --rs-btn-default-bg:var(--rs-gray-50);
98
98
  --rs-btn-default-text:var(--rs-gray-800);
99
99
  --rs-btn-default-border-color:var(--rs-gray-200);
@@ -135,7 +135,7 @@ body{
135
135
  }
136
136
  @supports not (color: rgb(from white r g b)){
137
137
  :root{
138
- --rs-color-focus-ring:rgba(52, 152, 255, 0.25);
138
+ --rs-focus-ring-color:rgba(52, 152, 255, 0.25);
139
139
  --rs-loader-ring:rgba(247, 247, 250, 0.8);
140
140
  --rs-loader-ring-inverse:rgba(247, 247, 250, 0.3);
141
141
  }
@@ -221,7 +221,6 @@ body{
221
221
  --rs-violet-900:#390085;
222
222
  --rs-body:var(--rs-gray-900);
223
223
  --rs-text-primary:var(--rs-gray-50);
224
- --rs-color-focus-ring:0 0 0 2px rgb(from var(--rs-gray-500) r g b / 25%);
225
224
  --rs-btn-default-bg:var(--rs-gray-600);
226
225
  --rs-btn-default-text:var(--rs-gray-50);
227
226
  --rs-btn-default-border-color:var(--rs-gray-700);
@@ -264,7 +263,6 @@ body{
264
263
  @supports not (color: rgb(from white r g b)){
265
264
  [data-theme=dark],
266
265
  .rs-theme-dark{
267
- --rs-color-focus-ring:0 0 0 2px rgba(52, 195, 255, 0.25);
268
266
  --rs-loader-ring:rgba(233, 235, 240, 0.3);
269
267
  --rs-loader-ring-inverse:rgba(233, 235, 240, 0.8);
270
268
  }
@@ -350,7 +348,7 @@ body{
350
348
  --rs-violet-900:#390085;
351
349
  --rs-body:var(--rs-gray-900);
352
350
  --rs-text-primary:var(--rs-gray-50);
353
- --rs-color-focus-ring:var(--rs-gray-0);
351
+ --rs-focus-ring-color:var(--rs-gray-0);
354
352
  --rs-btn-default-bg:transparent;
355
353
  --rs-btn-default-text:var(--rs-primary-500);
356
354
  --rs-btn-default-border-color:var(--rs-primary-500);
@@ -558,7 +556,7 @@ body{
558
556
  border-color:var(--rs-btn-default-border-color);
559
557
  }
560
558
  .rs-btn:focus-visible{
561
- outline:2px solid var(--rs-color-focus-ring);
559
+ outline:2px solid var(--rs-focus-ring-color);
562
560
  outline-offset:-1px;
563
561
  }
564
562
  .rs-btn:hover{
@@ -566,16 +564,16 @@ body{
566
564
  background-color:var(--rs-btn-default-hover-bg);
567
565
  text-decoration:none;
568
566
  }
569
- .rs-btn:active, .rs-btn.rs-btn-active{
567
+ .rs-btn:active, .rs-btn.rs-btn[data-active=true]{
570
568
  color:var(--rs-btn-default-active-text);
571
569
  background-color:var(--rs-btn-default-active-bg);
572
570
  }
573
- .rs-btn:disabled, .rs-btn.rs-btn-disabled{
571
+ .rs-btn:disabled, .rs-btn.rs-btn[data-disabled=true]{
574
572
  cursor:var(--rs-cursor-disabled);
575
573
  color:var(--rs-btn-default-disabled-text);
576
574
  background-color:var(--rs-btn-default-disabled-bg);
577
575
  }
578
- [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{
576
+ [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]{
579
577
  border-color:var(--rs-btn-default-disabled-border-color);
580
578
  }
581
579
  .rs-btn{
@@ -588,7 +586,15 @@ body{
588
586
  mask-image:radial-gradient(white, black);
589
587
  }
590
588
  }
591
- .rs-btn.rs-btn-lg{
589
+ .rs-btn{
590
+ --rs-btn-size:var(--rs-btn-size-md);
591
+ --rs-btn-font-size:var(--rs-btn-font-size-md);
592
+ --rs-btn-line-height:var(--rs-btn-line-height-md);
593
+ --rs-btn-padding-inline:var(--rs-btn-padding-inline-md);
594
+ --rs-btn-padding-block:var(--rs-btn-padding-block-md);
595
+ --rs-btn-icon-size:var(--rs-btn-icon-size-md);
596
+ }
597
+ .rs-btn[data-size=lg]{
592
598
  --rs-btn-size:var(--rs-btn-size-lg);
593
599
  --rs-btn-font-size:var(--rs-btn-font-size-lg);
594
600
  --rs-btn-line-height:var(--rs-btn-line-height-lg);
@@ -596,7 +602,7 @@ body{
596
602
  --rs-btn-padding-block:var(--rs-btn-padding-block-lg);
597
603
  --rs-btn-icon-size:var(--rs-btn-icon-size-lg);
598
604
  }
599
- .rs-btn.rs-btn-md{
605
+ .rs-btn[data-size=md]{
600
606
  --rs-btn-size:var(--rs-btn-size-md);
601
607
  --rs-btn-font-size:var(--rs-btn-font-size-md);
602
608
  --rs-btn-line-height:var(--rs-btn-line-height-md);
@@ -604,7 +610,7 @@ body{
604
610
  --rs-btn-padding-block:var(--rs-btn-padding-block-md);
605
611
  --rs-btn-icon-size:var(--rs-btn-icon-size-md);
606
612
  }
607
- .rs-btn.rs-btn-sm{
613
+ .rs-btn[data-size=sm]{
608
614
  --rs-btn-size:var(--rs-btn-size-sm);
609
615
  --rs-btn-font-size:var(--rs-btn-font-size-sm);
610
616
  --rs-btn-line-height:var(--rs-btn-line-height-sm);
@@ -612,7 +618,7 @@ body{
612
618
  --rs-btn-padding-block:var(--rs-btn-padding-block-sm);
613
619
  --rs-btn-icon-size:var(--rs-btn-icon-size-sm);
614
620
  }
615
- .rs-btn.rs-btn-xs{
621
+ .rs-btn[data-size=xs]{
616
622
  --rs-btn-size:var(--rs-btn-size-xs);
617
623
  --rs-btn-font-size:var(--rs-btn-font-size-xs);
618
624
  --rs-btn-line-height:var(--rs-btn-line-height-xs);
@@ -631,101 +637,111 @@ body{
631
637
  margin-inline-start:var(--rs-btn-icon-gap);
632
638
  }
633
639
 
634
- .rs-btn-primary{
640
+ .rs-btn[data-appearance=primary]{
635
641
  color:var(--rs-btn-primary-text);
636
642
  background-color:var(--rs-btn-primary-bg);
637
643
  border-color:var(--rs-btn-primary-border-color);
638
644
  }
639
- .rs-btn-primary:hover{
645
+ .rs-btn[data-appearance=primary]:hover{
640
646
  color:var(--rs-btn-primary-text);
641
647
  background-color:var(--rs-btn-primary-hover-bg);
642
648
  }
643
- .rs-btn-primary:active, .rs-btn-primary.rs-btn-active{
649
+ .rs-btn[data-appearance=primary]:active, .rs-btn[data-appearance=primary].rs-btn[data-active=true]{
644
650
  color:var(--rs-btn-primary-text);
645
651
  background-color:var(--rs-btn-primary-active-bg);
646
652
  }
647
- .rs-btn-primary:disabled, .rs-btn-primary.rs-btn-disabled{
653
+ .rs-btn[data-appearance=primary]:disabled, .rs-btn[data-appearance=primary].rs-btn[data-disabled=true]{
648
654
  color:var(--rs-btn-primary-text);
649
655
  background-color:var(--rs-btn-primary-bg);
650
656
  opacity:0.3;
651
657
  }
652
- [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{
658
+ [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]{
653
659
  border-color:var(--rs-btn-default-disabled-border-color);
654
660
  }
655
661
 
662
+ .rs-btn[data-appearance=subtle],
656
663
  .rs-btn-subtle{
657
664
  color:var(--rs-btn-subtle-text);
658
665
  background-color:transparent;
659
666
  }
667
+ .rs-btn[data-appearance=subtle]:hover,
660
668
  .rs-btn-subtle:hover{
661
669
  color:var(--rs-btn-subtle-hover-text);
662
670
  background-color:var(--rs-btn-subtle-hover-bg);
663
671
  }
664
- .rs-btn-subtle:active, .rs-btn-subtle.rs-btn-active{
672
+ .rs-btn[data-appearance=subtle]:active, .rs-btn[data-appearance=subtle].rs-btn[data-active=true],
673
+ .rs-btn-subtle:active,
674
+ .rs-btn-subtle.rs-btn[data-active=true]{
665
675
  color:var(--rs-btn-subtle-active-text);
666
676
  background-color:var(--rs-btn-subtle-active-bg);
667
677
  }
668
- .rs-btn-subtle:disabled, .rs-btn-subtle.rs-btn-disabled{
678
+ .rs-btn[data-appearance=subtle]:disabled, .rs-btn[data-appearance=subtle].rs-btn[data-disabled=true],
679
+ .rs-btn-subtle:disabled,
680
+ .rs-btn-subtle.rs-btn[data-disabled=true]{
669
681
  color:var(--rs-btn-subtle-disabled-text);
670
682
  background:none;
671
683
  }
672
- [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{
684
+ [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],
685
+ [data-theme=high-contrast] .rs-btn-subtle:disabled,
686
+ .rs-theme-high-contrast .rs-btn-subtle:disabled,
687
+ [data-theme=high-contrast] .rs-btn-subtle.rs-btn[data-disabled=true],
688
+ .rs-theme-high-contrast .rs-btn-subtle.rs-btn[data-disabled=true]{
673
689
  border-color:var(--rs-btn-default-disabled-border-color);
674
690
  }
675
691
 
676
- .rs-btn-link{
692
+ .rs-btn[data-appearance=link]{
677
693
  color:var(--rs-btn-link-text);
678
694
  background-color:transparent;
679
695
  }
680
- .rs-btn-link:hover{
696
+ .rs-btn[data-appearance=link]:hover{
681
697
  color:var(--rs-btn-link-hover-text);
682
698
  background-color:transparent;
683
699
  -webkit-text-decoration:var(--rs-link-hover-decoration);
684
700
  text-decoration:var(--rs-link-hover-decoration);
685
701
  }
686
- .rs-btn-link:active, .rs-btn-link.rs-btn-active{
702
+ .rs-btn[data-appearance=link]:active, .rs-btn[data-appearance=link].rs-btn[data-active=true]{
687
703
  color:var(--rs-btn-link-active-text);
688
704
  background-color:transparent;
689
705
  }
690
- .rs-btn-link:disabled, .rs-btn-link.rs-btn-disabled{
706
+ .rs-btn[data-appearance=link]:disabled, .rs-btn[data-appearance=link].rs-btn[data-disabled=true]{
691
707
  color:var(--rs-btn-link-hover-text);
692
708
  background-color:transparent;
693
709
  text-decoration:none;
694
710
  opacity:0.3;
695
711
  }
696
- [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{
712
+ [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]{
697
713
  border-color:var(--rs-btn-default-disabled-border-color);
698
714
  }
699
715
 
700
- .rs-btn-ghost{
716
+ .rs-btn[data-appearance=ghost]{
701
717
  color:var(--rs-btn-ghost-text);
702
718
  background-color:transparent;
703
719
  border:var(--rs-btn-ghost-border-width) solid var(--rs-btn-ghost-border);
704
720
  padding-inline:calc(var(--rs-btn-padding-inline) - var(--rs-btn-ghost-border-width));
705
721
  }
706
- .rs-btn-ghost:hover{
722
+ .rs-btn[data-appearance=ghost]:hover{
707
723
  color:var(--rs-btn-ghost-hover-text);
708
724
  background-color:transparent;
709
725
  border-color:var(--rs-btn-ghost-hover-border);
710
726
  box-shadow:0 0 0 1px var(--rs-btn-ghost-hover-border);
711
727
  }
712
- .rs-btn-ghost:active, .rs-btn-ghost.rs-btn-active{
728
+ .rs-btn[data-appearance=ghost]:active, .rs-btn[data-appearance=ghost].rs-btn[data-active=true]{
713
729
  color:var(--rs-btn-ghost-active-text);
714
730
  background-color:transparent;
715
731
  border-color:var(--rs-btn-ghost-active-border);
716
732
  }
717
- .rs-btn-ghost:disabled, .rs-btn-ghost.rs-btn-disabled{
733
+ .rs-btn[data-appearance=ghost]:disabled, .rs-btn[data-appearance=ghost].rs-btn[data-disabled=true]{
718
734
  color:var(--rs-btn-ghost-text);
719
735
  background-color:transparent;
720
736
  opacity:0.3;
721
737
  border-color:var(--rs-btn-ghost-border);
722
738
  box-shadow:var(--rs-shadow-none);
723
739
  }
724
- [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{
740
+ [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]{
725
741
  border-color:var(--rs-btn-default-disabled-border-color);
726
742
  }
727
743
 
728
- .rs-btn-red{
744
+ .rs-btn[data-color=red]{
729
745
  --rs-btn-primary-bg:var(--rs-red-500);
730
746
  --rs-btn-primary-hover-bg:var(--rs-red-700);
731
747
  --rs-btn-primary-active-bg:var(--rs-red-800);
@@ -747,7 +763,7 @@ body{
747
763
  --rs-iconbtn-primary-activated-addon:var(--rs-red-800);
748
764
  --rs-iconbtn-primary-pressed-addon:var(--rs-red-900);
749
765
  }
750
- [data-theme=dark] .rs-btn-red, .rs-theme-dark .rs-btn-red{
766
+ [data-theme=dark] .rs-btn[data-color=red], .rs-theme-dark .rs-btn[data-color=red]{
751
767
  --rs-btn-primary-bg:var(--rs-red-700);
752
768
  --rs-btn-primary-hover-bg:var(--rs-red-500);
753
769
  --rs-btn-primary-active-bg:var(--rs-red-400);
@@ -769,7 +785,7 @@ body{
769
785
  --rs-iconbtn-primary-activated-addon:var(--rs-red-400);
770
786
  --rs-iconbtn-primary-pressed-addon:var(--rs-red-300);
771
787
  }
772
- [data-theme=high-contrast] .rs-btn-red, .rs-theme-high-contrast .rs-btn-red{
788
+ [data-theme=high-contrast] .rs-btn[data-color=red], .rs-theme-high-contrast .rs-btn[data-color=red]{
773
789
  --rs-btn-primary-bg:var(--rs-red-700);
774
790
  --rs-btn-primary-hover-bg:var(--rs-red-600);
775
791
  --rs-btn-primary-active-bg:var(--rs-red-400);
@@ -788,7 +804,7 @@ body{
788
804
  --rs-btn-link-active-text:var(--rs-red-200);
789
805
  }
790
806
 
791
- .rs-btn-orange{
807
+ .rs-btn[data-color=orange]{
792
808
  --rs-btn-primary-bg:var(--rs-orange-500);
793
809
  --rs-btn-primary-hover-bg:var(--rs-orange-700);
794
810
  --rs-btn-primary-active-bg:var(--rs-orange-800);
@@ -810,7 +826,7 @@ body{
810
826
  --rs-iconbtn-primary-activated-addon:var(--rs-orange-800);
811
827
  --rs-iconbtn-primary-pressed-addon:var(--rs-orange-900);
812
828
  }
813
- [data-theme=dark] .rs-btn-orange, .rs-theme-dark .rs-btn-orange{
829
+ [data-theme=dark] .rs-btn[data-color=orange], .rs-theme-dark .rs-btn[data-color=orange]{
814
830
  --rs-btn-primary-bg:var(--rs-orange-700);
815
831
  --rs-btn-primary-hover-bg:var(--rs-orange-500);
816
832
  --rs-btn-primary-active-bg:var(--rs-orange-400);
@@ -832,7 +848,7 @@ body{
832
848
  --rs-iconbtn-primary-activated-addon:var(--rs-orange-400);
833
849
  --rs-iconbtn-primary-pressed-addon:var(--rs-orange-300);
834
850
  }
835
- [data-theme=high-contrast] .rs-btn-orange, .rs-theme-high-contrast .rs-btn-orange{
851
+ [data-theme=high-contrast] .rs-btn[data-color=orange], .rs-theme-high-contrast .rs-btn[data-color=orange]{
836
852
  --rs-btn-primary-bg:var(--rs-orange-700);
837
853
  --rs-btn-primary-hover-bg:var(--rs-orange-600);
838
854
  --rs-btn-primary-active-bg:var(--rs-orange-400);
@@ -851,7 +867,7 @@ body{
851
867
  --rs-btn-link-active-text:var(--rs-orange-200);
852
868
  }
853
869
 
854
- .rs-btn-yellow{
870
+ .rs-btn[data-color=yellow]{
855
871
  --rs-btn-primary-bg:var(--rs-yellow-500);
856
872
  --rs-btn-primary-hover-bg:var(--rs-yellow-700);
857
873
  --rs-btn-primary-active-bg:var(--rs-yellow-800);
@@ -873,7 +889,7 @@ body{
873
889
  --rs-iconbtn-primary-activated-addon:var(--rs-yellow-800);
874
890
  --rs-iconbtn-primary-pressed-addon:var(--rs-yellow-900);
875
891
  }
876
- [data-theme=dark] .rs-btn-yellow, .rs-theme-dark .rs-btn-yellow{
892
+ [data-theme=dark] .rs-btn[data-color=yellow], .rs-theme-dark .rs-btn[data-color=yellow]{
877
893
  --rs-btn-primary-bg:var(--rs-yellow-700);
878
894
  --rs-btn-primary-hover-bg:var(--rs-yellow-500);
879
895
  --rs-btn-primary-active-bg:var(--rs-yellow-400);
@@ -895,7 +911,7 @@ body{
895
911
  --rs-iconbtn-primary-activated-addon:var(--rs-yellow-400);
896
912
  --rs-iconbtn-primary-pressed-addon:var(--rs-yellow-300);
897
913
  }
898
- [data-theme=high-contrast] .rs-btn-yellow, .rs-theme-high-contrast .rs-btn-yellow{
914
+ [data-theme=high-contrast] .rs-btn[data-color=yellow], .rs-theme-high-contrast .rs-btn[data-color=yellow]{
899
915
  --rs-btn-primary-bg:var(--rs-yellow-700);
900
916
  --rs-btn-primary-hover-bg:var(--rs-yellow-600);
901
917
  --rs-btn-primary-active-bg:var(--rs-yellow-400);
@@ -914,7 +930,7 @@ body{
914
930
  --rs-btn-link-active-text:var(--rs-yellow-200);
915
931
  }
916
932
 
917
- .rs-btn-green{
933
+ .rs-btn[data-color=green]{
918
934
  --rs-btn-primary-bg:var(--rs-green-500);
919
935
  --rs-btn-primary-hover-bg:var(--rs-green-700);
920
936
  --rs-btn-primary-active-bg:var(--rs-green-800);
@@ -936,7 +952,7 @@ body{
936
952
  --rs-iconbtn-primary-activated-addon:var(--rs-green-800);
937
953
  --rs-iconbtn-primary-pressed-addon:var(--rs-green-900);
938
954
  }
939
- [data-theme=dark] .rs-btn-green, .rs-theme-dark .rs-btn-green{
955
+ [data-theme=dark] .rs-btn[data-color=green], .rs-theme-dark .rs-btn[data-color=green]{
940
956
  --rs-btn-primary-bg:var(--rs-green-700);
941
957
  --rs-btn-primary-hover-bg:var(--rs-green-500);
942
958
  --rs-btn-primary-active-bg:var(--rs-green-400);
@@ -958,7 +974,7 @@ body{
958
974
  --rs-iconbtn-primary-activated-addon:var(--rs-green-400);
959
975
  --rs-iconbtn-primary-pressed-addon:var(--rs-green-300);
960
976
  }
961
- [data-theme=high-contrast] .rs-btn-green, .rs-theme-high-contrast .rs-btn-green{
977
+ [data-theme=high-contrast] .rs-btn[data-color=green], .rs-theme-high-contrast .rs-btn[data-color=green]{
962
978
  --rs-btn-primary-bg:var(--rs-green-700);
963
979
  --rs-btn-primary-hover-bg:var(--rs-green-600);
964
980
  --rs-btn-primary-active-bg:var(--rs-green-400);
@@ -977,7 +993,7 @@ body{
977
993
  --rs-btn-link-active-text:var(--rs-green-200);
978
994
  }
979
995
 
980
- .rs-btn-cyan{
996
+ .rs-btn[data-color=cyan]{
981
997
  --rs-btn-primary-bg:var(--rs-cyan-500);
982
998
  --rs-btn-primary-hover-bg:var(--rs-cyan-700);
983
999
  --rs-btn-primary-active-bg:var(--rs-cyan-800);
@@ -999,7 +1015,7 @@ body{
999
1015
  --rs-iconbtn-primary-activated-addon:var(--rs-cyan-800);
1000
1016
  --rs-iconbtn-primary-pressed-addon:var(--rs-cyan-900);
1001
1017
  }
1002
- [data-theme=dark] .rs-btn-cyan, .rs-theme-dark .rs-btn-cyan{
1018
+ [data-theme=dark] .rs-btn[data-color=cyan], .rs-theme-dark .rs-btn[data-color=cyan]{
1003
1019
  --rs-btn-primary-bg:var(--rs-cyan-700);
1004
1020
  --rs-btn-primary-hover-bg:var(--rs-cyan-500);
1005
1021
  --rs-btn-primary-active-bg:var(--rs-cyan-400);
@@ -1021,7 +1037,7 @@ body{
1021
1037
  --rs-iconbtn-primary-activated-addon:var(--rs-cyan-400);
1022
1038
  --rs-iconbtn-primary-pressed-addon:var(--rs-cyan-300);
1023
1039
  }
1024
- [data-theme=high-contrast] .rs-btn-cyan, .rs-theme-high-contrast .rs-btn-cyan{
1040
+ [data-theme=high-contrast] .rs-btn[data-color=cyan], .rs-theme-high-contrast .rs-btn[data-color=cyan]{
1025
1041
  --rs-btn-primary-bg:var(--rs-cyan-700);
1026
1042
  --rs-btn-primary-hover-bg:var(--rs-cyan-600);
1027
1043
  --rs-btn-primary-active-bg:var(--rs-cyan-400);
@@ -1040,7 +1056,7 @@ body{
1040
1056
  --rs-btn-link-active-text:var(--rs-cyan-200);
1041
1057
  }
1042
1058
 
1043
- .rs-btn-blue{
1059
+ .rs-btn[data-color=blue]{
1044
1060
  --rs-btn-primary-bg:var(--rs-blue-500);
1045
1061
  --rs-btn-primary-hover-bg:var(--rs-blue-700);
1046
1062
  --rs-btn-primary-active-bg:var(--rs-blue-800);
@@ -1062,7 +1078,7 @@ body{
1062
1078
  --rs-iconbtn-primary-activated-addon:var(--rs-blue-800);
1063
1079
  --rs-iconbtn-primary-pressed-addon:var(--rs-blue-900);
1064
1080
  }
1065
- [data-theme=dark] .rs-btn-blue, .rs-theme-dark .rs-btn-blue{
1081
+ [data-theme=dark] .rs-btn[data-color=blue], .rs-theme-dark .rs-btn[data-color=blue]{
1066
1082
  --rs-btn-primary-bg:var(--rs-blue-700);
1067
1083
  --rs-btn-primary-hover-bg:var(--rs-blue-500);
1068
1084
  --rs-btn-primary-active-bg:var(--rs-blue-400);
@@ -1084,7 +1100,7 @@ body{
1084
1100
  --rs-iconbtn-primary-activated-addon:var(--rs-blue-400);
1085
1101
  --rs-iconbtn-primary-pressed-addon:var(--rs-blue-300);
1086
1102
  }
1087
- [data-theme=high-contrast] .rs-btn-blue, .rs-theme-high-contrast .rs-btn-blue{
1103
+ [data-theme=high-contrast] .rs-btn[data-color=blue], .rs-theme-high-contrast .rs-btn[data-color=blue]{
1088
1104
  --rs-btn-primary-bg:var(--rs-blue-700);
1089
1105
  --rs-btn-primary-hover-bg:var(--rs-blue-600);
1090
1106
  --rs-btn-primary-active-bg:var(--rs-blue-400);
@@ -1103,7 +1119,7 @@ body{
1103
1119
  --rs-btn-link-active-text:var(--rs-blue-200);
1104
1120
  }
1105
1121
 
1106
- .rs-btn-violet{
1122
+ .rs-btn[data-color=violet]{
1107
1123
  --rs-btn-primary-bg:var(--rs-violet-500);
1108
1124
  --rs-btn-primary-hover-bg:var(--rs-violet-700);
1109
1125
  --rs-btn-primary-active-bg:var(--rs-violet-800);
@@ -1125,7 +1141,7 @@ body{
1125
1141
  --rs-iconbtn-primary-activated-addon:var(--rs-violet-800);
1126
1142
  --rs-iconbtn-primary-pressed-addon:var(--rs-violet-900);
1127
1143
  }
1128
- [data-theme=dark] .rs-btn-violet, .rs-theme-dark .rs-btn-violet{
1144
+ [data-theme=dark] .rs-btn[data-color=violet], .rs-theme-dark .rs-btn[data-color=violet]{
1129
1145
  --rs-btn-primary-bg:var(--rs-violet-700);
1130
1146
  --rs-btn-primary-hover-bg:var(--rs-violet-500);
1131
1147
  --rs-btn-primary-active-bg:var(--rs-violet-400);
@@ -1147,7 +1163,7 @@ body{
1147
1163
  --rs-iconbtn-primary-activated-addon:var(--rs-violet-400);
1148
1164
  --rs-iconbtn-primary-pressed-addon:var(--rs-violet-300);
1149
1165
  }
1150
- [data-theme=high-contrast] .rs-btn-violet, .rs-theme-high-contrast .rs-btn-violet{
1166
+ [data-theme=high-contrast] .rs-btn[data-color=violet], .rs-theme-high-contrast .rs-btn[data-color=violet]{
1151
1167
  --rs-btn-primary-bg:var(--rs-violet-700);
1152
1168
  --rs-btn-primary-hover-bg:var(--rs-violet-600);
1153
1169
  --rs-btn-primary-active-bg:var(--rs-violet-400);
@@ -1166,20 +1182,20 @@ body{
1166
1182
  --rs-btn-link-active-text:var(--rs-violet-200);
1167
1183
  }
1168
1184
 
1169
- .rs-btn-block{
1185
+ .rs-btn[data-block=true]{
1170
1186
  width:100%;
1171
1187
  }
1172
- .rs-btn-block + .rs-btn-block{
1188
+ .rs-btn[data-block=true] + .rs-btn[data-block=true]{
1173
1189
  margin-top:5px;
1174
1190
  }
1175
1191
 
1176
- .rs-btn-loading{
1192
+ .rs-btn[data-loading=true]{
1177
1193
  color:transparent !important;
1178
1194
  position:relative;
1179
1195
  cursor:default;
1180
1196
  pointer-events:none;
1181
1197
  }
1182
- .rs-btn-loading > .rs-btn-spin::before, .rs-btn-loading > .rs-btn-spin::after{
1198
+ .rs-btn[data-loading=true] > .rs-btn-spin::before, .rs-btn[data-loading=true] > .rs-btn-spin::after{
1183
1199
  content:"";
1184
1200
  position:absolute;
1185
1201
  width:var(--rs-btn-loading-spin-default-diameter);
@@ -1192,29 +1208,29 @@ body{
1192
1208
  border-radius:var(--rs-radius-full);
1193
1209
  z-index:1;
1194
1210
  }
1195
- .rs-btn-xs .rs-btn-loading > .rs-btn-spin::before, .rs-btn-xs .rs-btn-loading > .rs-btn-spin::after{
1211
+ .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{
1196
1212
  width:var(--rs-btn-loading-spin-xs-diameter);
1197
1213
  height:var(--rs-btn-loading-spin-xs-diameter);
1198
1214
  }
1199
- .rs-btn-loading > .rs-btn-spin::before{
1215
+ .rs-btn[data-loading=true] > .rs-btn-spin::before{
1200
1216
  border:var(--rs-btn-loading-spin-ring-wide) solid var(--rs-loader-ring);
1201
1217
  }
1202
- .rs-btn-primary .rs-btn-loading > .rs-btn-spin::before{
1218
+ .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::before{
1203
1219
  border-color:rgba(248, 247, 250, 0.3);
1204
1220
  }
1205
- [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{
1221
+ [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{
1206
1222
  border-color:var(--rs-loader-ring-inverse);
1207
1223
  }
1208
- .rs-btn-loading > .rs-btn-spin::after{
1224
+ .rs-btn[data-loading=true] > .rs-btn-spin::after{
1209
1225
  border-width:var(--rs-btn-loading-spin-ring-wide);
1210
1226
  border-color:var(--rs-loader-rotor) transparent transparent;
1211
1227
  border-style:solid;
1212
1228
  animation:buttonSpin 0.6s infinite linear;
1213
1229
  }
1214
- .rs-btn-primary .rs-btn-loading > .rs-btn-spin::after{
1230
+ .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::after{
1215
1231
  border-top-color:#fff;
1216
1232
  }
1217
- [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{
1233
+ [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{
1218
1234
  border-top-color:var(--rs-loader-rotor-inverse);
1219
1235
  }
1220
1236
  @keyframes buttonSpin{
@@ -1234,14 +1250,14 @@ body{
1234
1250
  font-size:var(--rs-btn-icon-size);
1235
1251
  vertical-align:bottom;
1236
1252
  }
1237
- .rs-btn-icon:not(.rs-btn-icon-with-text){
1253
+ .rs-btn-icon:not([data-with-text]){
1238
1254
  width:var(--rs-btn-size);
1239
1255
  }
1240
- .rs-btn-icon.rs-btn-icon-circle{
1256
+ .rs-btn-icon[data-shape=circle]{
1241
1257
  border-radius:var(--rs-radius-full);
1242
1258
  }
1243
1259
 
1244
- .rs-btn-icon-with-text > .rs-icon{
1260
+ .rs-btn-icon[data-with-text] > .rs-icon{
1245
1261
  position:absolute;
1246
1262
  top:0;
1247
1263
  display:block;
@@ -1251,44 +1267,44 @@ body{
1251
1267
  height:var(--rs-btn-size);
1252
1268
  padding:calc((var(--rs-btn-size) - var(--rs-btn-icon-size)) / 2);
1253
1269
  }
1254
- .rs-btn-icon-with-text.rs-btn-icon-placement-left{
1270
+ .rs-btn-icon[data-with-text]:where([data-placement=start], [data-placement=left]){
1255
1271
  padding-inline-start:calc(var(--rs-btn-padding-inline) + var(--rs-btn-size));
1256
1272
  }
1257
- .rs-btn-icon-with-text.rs-btn-icon-placement-left > .rs-icon{
1273
+ .rs-btn-icon[data-with-text]:where([data-placement=start], [data-placement=left]) > .rs-icon{
1258
1274
  inset-inline-start:0;
1259
1275
  border-right-width:1px;
1260
1276
  }
1261
- .rs-btn-icon-with-text.rs-btn-icon-placement-right{
1277
+ .rs-btn-icon[data-with-text]:where([data-placement=end], [data-placement=right]){
1262
1278
  padding-inline-end:calc(var(--rs-btn-padding-inline) + var(--rs-btn-size));
1263
1279
  }
1264
- .rs-btn-icon-with-text.rs-btn-icon-placement-right > .rs-icon{
1280
+ .rs-btn-icon[data-with-text]:where([data-placement=end], [data-placement=right]) > .rs-icon{
1265
1281
  inset-inline-end:0;
1266
1282
  }
1267
- .rs-btn-icon-with-text:hover > .rs-icon{
1283
+ .rs-btn-icon[data-with-text]:hover > .rs-icon{
1268
1284
  background-color:var(--rs-iconbtn-activated-addon);
1269
1285
  }
1270
- .rs-btn-icon-with-text:active > .rs-icon, .rs-btn-icon-with-text.rs-btn-active > .rs-icon{
1286
+ .rs-btn-icon[data-with-text]:active > .rs-icon, .rs-btn-icon[data-with-text].rs-btn[data-active=true] > .rs-icon{
1271
1287
  background-color:var(--rs-iconbtn-pressed-addon);
1272
1288
  }
1273
- .rs-btn-icon-with-text:disabled > .rs-icon, .rs-btn-icon-with-text.rs-btn-disabled > .rs-icon{
1289
+ .rs-btn-icon[data-with-text]:disabled > .rs-icon, .rs-btn-icon[data-with-text].rs-btn[data-disabled=true] > .rs-icon{
1274
1290
  background-color:var(--rs-iconbtn-addon);
1275
1291
  }
1276
- [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{
1292
+ [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]{
1277
1293
  border-color:var(--rs-btn-default-disabled-border-color);
1278
1294
  }
1279
1295
 
1280
- .rs-btn-icon-with-text.rs-btn-primary > .rs-icon{
1296
+ .rs-btn-icon[data-with-text][data-appearance=primary] > .rs-icon{
1281
1297
  background-color:var(--rs-iconbtn-primary-addon);
1282
1298
  }
1283
- .rs-btn-icon-with-text.rs-btn-primary:hover > .rs-icon{
1299
+ .rs-btn-icon[data-with-text][data-appearance=primary]:hover > .rs-icon{
1284
1300
  background-color:var(--rs-iconbtn-primary-activated-addon);
1285
1301
  }
1286
- .rs-btn-icon-with-text.rs-btn-primary:active > .rs-icon, .rs-btn-icon-with-text.rs-btn-primary.rs-btn-active > .rs-icon{
1302
+ .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{
1287
1303
  background-color:var(--rs-iconbtn-primary-pressed-addon);
1288
1304
  }
1289
- .rs-btn-icon-with-text.rs-btn-primary:disabled > .rs-icon, .rs-btn-icon-with-text.rs-btn-primary.rs-btn-disabled > .rs-icon{
1305
+ .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{
1290
1306
  background-color:var(--rs-iconbtn-primary-addon);
1291
1307
  }
1292
- [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{
1308
+ [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]{
1293
1309
  border-color:var(--rs-btn-default-disabled-border-color);
1294
1310
  }
@@ -31,7 +31,7 @@ body{
31
31
  --rs-text-secondary:var(--rs-gray-600);
32
32
  --rs-text-disabled:var(--rs-gray-600);
33
33
  --rs-border-primary:var(--rs-gray-200);
34
- --rs-color-focus-ring:rgb(from var(--rs-primary-500) r g b / 25%);
34
+ --rs-focus-ring-color:rgb(from var(--rs-primary-500) r g b / 25%);
35
35
  --rs-input-bg:var(--rs-gray-0);
36
36
  --rs-input-focus-border:var(--rs-primary-500);
37
37
  --rs-input-disabled-bg:var(--rs-gray-50);
@@ -39,7 +39,7 @@ body{
39
39
  }
40
40
  @supports not (color: rgb(from white r g b)){
41
41
  :root{
42
- --rs-color-focus-ring:rgba(52, 152, 255, 0.25);
42
+ --rs-focus-ring-color:rgba(52, 152, 255, 0.25);
43
43
  }
44
44
  }
45
45
 
@@ -61,18 +61,11 @@ body{
61
61
  --rs-text-secondary:var(--rs-gray-200);
62
62
  --rs-text-disabled:var(--rs-gray-400);
63
63
  --rs-border-primary:var(--rs-gray-600);
64
- --rs-color-focus-ring:0 0 0 2px rgb(from var(--rs-gray-500) r g b / 25%);
65
64
  --rs-input-bg:var(--rs-gray-800);
66
65
  --rs-input-focus-border:var(--rs-primary-500);
67
66
  --rs-input-disabled-bg:var(--rs-gray-700);
68
67
  --rs-inline-edit-hover-bg:var(--rs-gray-500);
69
68
  }
70
- @supports not (color: rgb(from white r g b)){
71
- [data-theme=dark],
72
- .rs-theme-dark{
73
- --rs-color-focus-ring:0 0 0 2px rgba(52, 195, 255, 0.25);
74
- }
75
- }
76
69
 
77
70
  [data-theme=high-contrast],
78
71
  .rs-theme-high-contrast{
@@ -92,7 +85,7 @@ body{
92
85
  --rs-text-secondary:var(--rs-gray-200);
93
86
  --rs-text-disabled:var(--rs-gray-400);
94
87
  --rs-border-primary:var(--rs-gray-100);
95
- --rs-color-focus-ring:var(--rs-gray-0);
88
+ --rs-focus-ring-color:var(--rs-gray-0);
96
89
  --rs-input-bg:var(--rs-gray-800);
97
90
  --rs-input-focus-border:var(--rs-primary-500);
98
91
  --rs-input-disabled-bg:var(--rs-gray-700);
@@ -216,32 +209,32 @@ body{
216
209
  border-color:var(--rs-input-focus-border);
217
210
  }
218
211
  .rs-input:focus-visible{
219
- outline:2px solid var(--rs-color-focus-ring);
212
+ outline:2px solid var(--rs-focus-ring-color);
220
213
  outline-offset:-1px;
221
214
  }
222
215
  .rs-input:disabled{
223
216
  background-color:var(--rs-input-disabled-bg);
224
217
  color:var(--rs-text-disabled);
225
218
  }
226
- .rs-input.rs-input-xs{
219
+ .rs-input[data-size=xs]{
227
220
  --rs-input-font-size:var(--rs-input-font-size-xs);
228
221
  --rs-input-line-height:var(--rs-input-line-height-xs);
229
222
  --rs-input-padding-block:var(--rs-input-padding-block-xs);
230
223
  --rs-input-padding-inline:var(--rs-input-padding-inline-xs);
231
224
  }
232
- .rs-input.rs-input-sm{
225
+ .rs-input[data-size=sm]{
233
226
  --rs-input-font-size:var(--rs-input-font-size-sm);
234
227
  --rs-input-line-height:var(--rs-input-line-height-sm);
235
228
  --rs-input-padding-block:var(--rs-input-padding-block-sm);
236
229
  --rs-input-padding-inline:var(--rs-input-padding-inline-sm);
237
230
  }
238
- .rs-input.rs-input-md{
231
+ .rs-input[data-size=md]{
239
232
  --rs-input-font-size:var(--rs-input-font-size-md);
240
233
  --rs-input-line-height:var(--rs-input-line-height-md);
241
234
  --rs-input-padding-block:var(--rs-input-padding-block-md);
242
235
  --rs-input-padding-inline:var(--rs-input-padding-inline-md);
243
236
  }
244
- .rs-input.rs-input-lg{
237
+ .rs-input[data-size=lg]{
245
238
  --rs-input-font-size:var(--rs-input-font-size-lg);
246
239
  --rs-input-line-height:var(--rs-input-line-height-lg);
247
240
  --rs-input-padding-block:var(--rs-input-padding-block-lg);
@@ -252,25 +245,25 @@ body{
252
245
  position:relative;
253
246
  display:inline-block;
254
247
  }
255
- .rs-inline-edit.rs-inline-edit-xs{
248
+ .rs-inline-edit[data-size=xs]{
256
249
  --rs-inline-edit-font-size:var(--rs-input-font-size-xs);
257
250
  --rs-inline-edit-line-height:var(--rs-input-line-height-xs);
258
251
  --rs-inline-edit-padding-block:calc(var(--rs-input-padding-block-xs) + var(--rs-input-border-width));
259
252
  --rs-inline-edit-padding-inline:calc(var(--rs-input-padding-inline-xs) + var(--rs-input-border-width));
260
253
  }
261
- .rs-inline-edit.rs-inline-edit-sm{
254
+ .rs-inline-edit[data-size=sm]{
262
255
  --rs-inline-edit-font-size:var(--rs-input-font-size-sm);
263
256
  --rs-inline-edit-line-height:var(--rs-input-line-height-sm);
264
257
  --rs-inline-edit-padding-block:calc(var(--rs-input-padding-block-sm) + var(--rs-input-border-width));
265
258
  --rs-inline-edit-padding-inline:calc(var(--rs-input-padding-inline-sm) + var(--rs-input-border-width));
266
259
  }
267
- .rs-inline-edit.rs-inline-edit-md{
260
+ .rs-inline-edit[data-size=md]{
268
261
  --rs-inline-edit-font-size:var(--rs-input-font-size-md);
269
262
  --rs-inline-edit-line-height:var(--rs-input-line-height-md);
270
263
  --rs-inline-edit-padding-block:calc(var(--rs-input-padding-block-md) + var(--rs-input-border-width));
271
264
  --rs-inline-edit-padding-inline:calc(var(--rs-input-padding-inline-md) + var(--rs-input-border-width));
272
265
  }
273
- .rs-inline-edit.rs-inline-edit-lg{
266
+ .rs-inline-edit[data-size=lg]{
274
267
  --rs-inline-edit-font-size:var(--rs-input-font-size-lg);
275
268
  --rs-inline-edit-line-height:var(--rs-input-line-height-lg);
276
269
  --rs-inline-edit-padding-block:calc(var(--rs-input-padding-block-lg) + var(--rs-input-border-width));