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
@@ -97,7 +97,7 @@ body{
97
97
  --rs-text-primary:var(--rs-gray-800);
98
98
  --rs-text-secondary:var(--rs-gray-600);
99
99
  --rs-border-primary:var(--rs-gray-200);
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);
@@ -142,7 +142,7 @@ body{
142
142
  }
143
143
  @supports not (color: rgb(from white r g b)){
144
144
  :root{
145
- --rs-color-focus-ring:rgba(52, 152, 255, 0.25);
145
+ --rs-focus-ring-color:rgba(52, 152, 255, 0.25);
146
146
  --rs-loader-ring:rgba(247, 247, 250, 0.8);
147
147
  --rs-loader-ring-inverse:rgba(247, 247, 250, 0.3);
148
148
  }
@@ -232,7 +232,6 @@ body{
232
232
  --rs-text-primary:var(--rs-gray-50);
233
233
  --rs-text-secondary:var(--rs-gray-200);
234
234
  --rs-border-primary: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);
@@ -278,7 +277,6 @@ body{
278
277
  @supports not (color: rgb(from white r g b)){
279
278
  [data-theme=dark],
280
279
  .rs-theme-dark{
281
- --rs-color-focus-ring:0 0 0 2px rgba(52, 195, 255, 0.25);
282
280
  --rs-loader-ring:rgba(233, 235, 240, 0.3);
283
281
  --rs-loader-ring-inverse:rgba(233, 235, 240, 0.8);
284
282
  }
@@ -368,7 +366,7 @@ body{
368
366
  --rs-text-primary:var(--rs-gray-50);
369
367
  --rs-text-secondary:var(--rs-gray-200);
370
368
  --rs-border-primary:var(--rs-gray-100);
371
- --rs-color-focus-ring:var(--rs-gray-0);
369
+ --rs-focus-ring-color:var(--rs-gray-0);
372
370
  --rs-btn-default-bg:transparent;
373
371
  --rs-btn-default-text:var(--rs-primary-500);
374
372
  --rs-btn-default-border-color:var(--rs-primary-500);
@@ -583,7 +581,7 @@ body{
583
581
  border-color:var(--rs-btn-default-border-color);
584
582
  }
585
583
  .rs-btn:focus-visible{
586
- outline:2px solid var(--rs-color-focus-ring);
584
+ outline:2px solid var(--rs-focus-ring-color);
587
585
  outline-offset:-1px;
588
586
  }
589
587
  .rs-btn:hover{
@@ -591,16 +589,16 @@ body{
591
589
  background-color:var(--rs-btn-default-hover-bg);
592
590
  text-decoration:none;
593
591
  }
594
- .rs-btn:active, .rs-btn.rs-btn-active{
592
+ .rs-btn:active, .rs-btn.rs-btn[data-active=true]{
595
593
  color:var(--rs-btn-default-active-text);
596
594
  background-color:var(--rs-btn-default-active-bg);
597
595
  }
598
- .rs-btn:disabled, .rs-btn.rs-btn-disabled{
596
+ .rs-btn:disabled, .rs-btn.rs-btn[data-disabled=true]{
599
597
  cursor:var(--rs-cursor-disabled);
600
598
  color:var(--rs-btn-default-disabled-text);
601
599
  background-color:var(--rs-btn-default-disabled-bg);
602
600
  }
603
- [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{
601
+ [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]{
604
602
  border-color:var(--rs-btn-default-disabled-border-color);
605
603
  }
606
604
  .rs-btn{
@@ -613,7 +611,15 @@ body{
613
611
  mask-image:radial-gradient(white, black);
614
612
  }
615
613
  }
616
- .rs-btn.rs-btn-lg{
614
+ .rs-btn{
615
+ --rs-btn-size:var(--rs-btn-size-md);
616
+ --rs-btn-font-size:var(--rs-btn-font-size-md);
617
+ --rs-btn-line-height:var(--rs-btn-line-height-md);
618
+ --rs-btn-padding-inline:var(--rs-btn-padding-inline-md);
619
+ --rs-btn-padding-block:var(--rs-btn-padding-block-md);
620
+ --rs-btn-icon-size:var(--rs-btn-icon-size-md);
621
+ }
622
+ .rs-btn[data-size=lg]{
617
623
  --rs-btn-size:var(--rs-btn-size-lg);
618
624
  --rs-btn-font-size:var(--rs-btn-font-size-lg);
619
625
  --rs-btn-line-height:var(--rs-btn-line-height-lg);
@@ -621,7 +627,7 @@ body{
621
627
  --rs-btn-padding-block:var(--rs-btn-padding-block-lg);
622
628
  --rs-btn-icon-size:var(--rs-btn-icon-size-lg);
623
629
  }
624
- .rs-btn.rs-btn-md{
630
+ .rs-btn[data-size=md]{
625
631
  --rs-btn-size:var(--rs-btn-size-md);
626
632
  --rs-btn-font-size:var(--rs-btn-font-size-md);
627
633
  --rs-btn-line-height:var(--rs-btn-line-height-md);
@@ -629,7 +635,7 @@ body{
629
635
  --rs-btn-padding-block:var(--rs-btn-padding-block-md);
630
636
  --rs-btn-icon-size:var(--rs-btn-icon-size-md);
631
637
  }
632
- .rs-btn.rs-btn-sm{
638
+ .rs-btn[data-size=sm]{
633
639
  --rs-btn-size:var(--rs-btn-size-sm);
634
640
  --rs-btn-font-size:var(--rs-btn-font-size-sm);
635
641
  --rs-btn-line-height:var(--rs-btn-line-height-sm);
@@ -637,7 +643,7 @@ body{
637
643
  --rs-btn-padding-block:var(--rs-btn-padding-block-sm);
638
644
  --rs-btn-icon-size:var(--rs-btn-icon-size-sm);
639
645
  }
640
- .rs-btn.rs-btn-xs{
646
+ .rs-btn[data-size=xs]{
641
647
  --rs-btn-size:var(--rs-btn-size-xs);
642
648
  --rs-btn-font-size:var(--rs-btn-font-size-xs);
643
649
  --rs-btn-line-height:var(--rs-btn-line-height-xs);
@@ -656,101 +662,111 @@ body{
656
662
  margin-inline-start:var(--rs-btn-icon-gap);
657
663
  }
658
664
 
659
- .rs-btn-primary{
665
+ .rs-btn[data-appearance=primary]{
660
666
  color:var(--rs-btn-primary-text);
661
667
  background-color:var(--rs-btn-primary-bg);
662
668
  border-color:var(--rs-btn-primary-border-color);
663
669
  }
664
- .rs-btn-primary:hover{
670
+ .rs-btn[data-appearance=primary]:hover{
665
671
  color:var(--rs-btn-primary-text);
666
672
  background-color:var(--rs-btn-primary-hover-bg);
667
673
  }
668
- .rs-btn-primary:active, .rs-btn-primary.rs-btn-active{
674
+ .rs-btn[data-appearance=primary]:active, .rs-btn[data-appearance=primary].rs-btn[data-active=true]{
669
675
  color:var(--rs-btn-primary-text);
670
676
  background-color:var(--rs-btn-primary-active-bg);
671
677
  }
672
- .rs-btn-primary:disabled, .rs-btn-primary.rs-btn-disabled{
678
+ .rs-btn[data-appearance=primary]:disabled, .rs-btn[data-appearance=primary].rs-btn[data-disabled=true]{
673
679
  color:var(--rs-btn-primary-text);
674
680
  background-color:var(--rs-btn-primary-bg);
675
681
  opacity:0.3;
676
682
  }
677
- [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{
683
+ [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]{
678
684
  border-color:var(--rs-btn-default-disabled-border-color);
679
685
  }
680
686
 
687
+ .rs-btn[data-appearance=subtle],
681
688
  .rs-btn-subtle{
682
689
  color:var(--rs-btn-subtle-text);
683
690
  background-color:transparent;
684
691
  }
692
+ .rs-btn[data-appearance=subtle]:hover,
685
693
  .rs-btn-subtle:hover{
686
694
  color:var(--rs-btn-subtle-hover-text);
687
695
  background-color:var(--rs-btn-subtle-hover-bg);
688
696
  }
689
- .rs-btn-subtle:active, .rs-btn-subtle.rs-btn-active{
697
+ .rs-btn[data-appearance=subtle]:active, .rs-btn[data-appearance=subtle].rs-btn[data-active=true],
698
+ .rs-btn-subtle:active,
699
+ .rs-btn-subtle.rs-btn[data-active=true]{
690
700
  color:var(--rs-btn-subtle-active-text);
691
701
  background-color:var(--rs-btn-subtle-active-bg);
692
702
  }
693
- .rs-btn-subtle:disabled, .rs-btn-subtle.rs-btn-disabled{
703
+ .rs-btn[data-appearance=subtle]:disabled, .rs-btn[data-appearance=subtle].rs-btn[data-disabled=true],
704
+ .rs-btn-subtle:disabled,
705
+ .rs-btn-subtle.rs-btn[data-disabled=true]{
694
706
  color:var(--rs-btn-subtle-disabled-text);
695
707
  background:none;
696
708
  }
697
- [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{
709
+ [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],
710
+ [data-theme=high-contrast] .rs-btn-subtle:disabled,
711
+ .rs-theme-high-contrast .rs-btn-subtle:disabled,
712
+ [data-theme=high-contrast] .rs-btn-subtle.rs-btn[data-disabled=true],
713
+ .rs-theme-high-contrast .rs-btn-subtle.rs-btn[data-disabled=true]{
698
714
  border-color:var(--rs-btn-default-disabled-border-color);
699
715
  }
700
716
 
701
- .rs-btn-link{
717
+ .rs-btn[data-appearance=link]{
702
718
  color:var(--rs-btn-link-text);
703
719
  background-color:transparent;
704
720
  }
705
- .rs-btn-link:hover{
721
+ .rs-btn[data-appearance=link]:hover{
706
722
  color:var(--rs-btn-link-hover-text);
707
723
  background-color:transparent;
708
724
  -webkit-text-decoration:var(--rs-link-hover-decoration);
709
725
  text-decoration:var(--rs-link-hover-decoration);
710
726
  }
711
- .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]{
712
728
  color:var(--rs-btn-link-active-text);
713
729
  background-color:transparent;
714
730
  }
715
- .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]{
716
732
  color:var(--rs-btn-link-hover-text);
717
733
  background-color:transparent;
718
734
  text-decoration:none;
719
735
  opacity:0.3;
720
736
  }
721
- [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]{
722
738
  border-color:var(--rs-btn-default-disabled-border-color);
723
739
  }
724
740
 
725
- .rs-btn-ghost{
741
+ .rs-btn[data-appearance=ghost]{
726
742
  color:var(--rs-btn-ghost-text);
727
743
  background-color:transparent;
728
744
  border:var(--rs-btn-ghost-border-width) solid var(--rs-btn-ghost-border);
729
745
  padding-inline:calc(var(--rs-btn-padding-inline) - var(--rs-btn-ghost-border-width));
730
746
  }
731
- .rs-btn-ghost:hover{
747
+ .rs-btn[data-appearance=ghost]:hover{
732
748
  color:var(--rs-btn-ghost-hover-text);
733
749
  background-color:transparent;
734
750
  border-color:var(--rs-btn-ghost-hover-border);
735
751
  box-shadow:0 0 0 1px var(--rs-btn-ghost-hover-border);
736
752
  }
737
- .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]{
738
754
  color:var(--rs-btn-ghost-active-text);
739
755
  background-color:transparent;
740
756
  border-color:var(--rs-btn-ghost-active-border);
741
757
  }
742
- .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]{
743
759
  color:var(--rs-btn-ghost-text);
744
760
  background-color:transparent;
745
761
  opacity:0.3;
746
762
  border-color:var(--rs-btn-ghost-border);
747
763
  box-shadow:var(--rs-shadow-none);
748
764
  }
749
- [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]{
750
766
  border-color:var(--rs-btn-default-disabled-border-color);
751
767
  }
752
768
 
753
- .rs-btn-red{
769
+ .rs-btn[data-color=red]{
754
770
  --rs-btn-primary-bg:var(--rs-red-500);
755
771
  --rs-btn-primary-hover-bg:var(--rs-red-700);
756
772
  --rs-btn-primary-active-bg:var(--rs-red-800);
@@ -772,7 +788,7 @@ body{
772
788
  --rs-iconbtn-primary-activated-addon:var(--rs-red-800);
773
789
  --rs-iconbtn-primary-pressed-addon:var(--rs-red-900);
774
790
  }
775
- [data-theme=dark] .rs-btn-red, .rs-theme-dark .rs-btn-red{
791
+ [data-theme=dark] .rs-btn[data-color=red], .rs-theme-dark .rs-btn[data-color=red]{
776
792
  --rs-btn-primary-bg:var(--rs-red-700);
777
793
  --rs-btn-primary-hover-bg:var(--rs-red-500);
778
794
  --rs-btn-primary-active-bg:var(--rs-red-400);
@@ -794,7 +810,7 @@ body{
794
810
  --rs-iconbtn-primary-activated-addon:var(--rs-red-400);
795
811
  --rs-iconbtn-primary-pressed-addon:var(--rs-red-300);
796
812
  }
797
- [data-theme=high-contrast] .rs-btn-red, .rs-theme-high-contrast .rs-btn-red{
813
+ [data-theme=high-contrast] .rs-btn[data-color=red], .rs-theme-high-contrast .rs-btn[data-color=red]{
798
814
  --rs-btn-primary-bg:var(--rs-red-700);
799
815
  --rs-btn-primary-hover-bg:var(--rs-red-600);
800
816
  --rs-btn-primary-active-bg:var(--rs-red-400);
@@ -813,7 +829,7 @@ body{
813
829
  --rs-btn-link-active-text:var(--rs-red-200);
814
830
  }
815
831
 
816
- .rs-btn-orange{
832
+ .rs-btn[data-color=orange]{
817
833
  --rs-btn-primary-bg:var(--rs-orange-500);
818
834
  --rs-btn-primary-hover-bg:var(--rs-orange-700);
819
835
  --rs-btn-primary-active-bg:var(--rs-orange-800);
@@ -835,7 +851,7 @@ body{
835
851
  --rs-iconbtn-primary-activated-addon:var(--rs-orange-800);
836
852
  --rs-iconbtn-primary-pressed-addon:var(--rs-orange-900);
837
853
  }
838
- [data-theme=dark] .rs-btn-orange, .rs-theme-dark .rs-btn-orange{
854
+ [data-theme=dark] .rs-btn[data-color=orange], .rs-theme-dark .rs-btn[data-color=orange]{
839
855
  --rs-btn-primary-bg:var(--rs-orange-700);
840
856
  --rs-btn-primary-hover-bg:var(--rs-orange-500);
841
857
  --rs-btn-primary-active-bg:var(--rs-orange-400);
@@ -857,7 +873,7 @@ body{
857
873
  --rs-iconbtn-primary-activated-addon:var(--rs-orange-400);
858
874
  --rs-iconbtn-primary-pressed-addon:var(--rs-orange-300);
859
875
  }
860
- [data-theme=high-contrast] .rs-btn-orange, .rs-theme-high-contrast .rs-btn-orange{
876
+ [data-theme=high-contrast] .rs-btn[data-color=orange], .rs-theme-high-contrast .rs-btn[data-color=orange]{
861
877
  --rs-btn-primary-bg:var(--rs-orange-700);
862
878
  --rs-btn-primary-hover-bg:var(--rs-orange-600);
863
879
  --rs-btn-primary-active-bg:var(--rs-orange-400);
@@ -876,7 +892,7 @@ body{
876
892
  --rs-btn-link-active-text:var(--rs-orange-200);
877
893
  }
878
894
 
879
- .rs-btn-yellow{
895
+ .rs-btn[data-color=yellow]{
880
896
  --rs-btn-primary-bg:var(--rs-yellow-500);
881
897
  --rs-btn-primary-hover-bg:var(--rs-yellow-700);
882
898
  --rs-btn-primary-active-bg:var(--rs-yellow-800);
@@ -898,7 +914,7 @@ body{
898
914
  --rs-iconbtn-primary-activated-addon:var(--rs-yellow-800);
899
915
  --rs-iconbtn-primary-pressed-addon:var(--rs-yellow-900);
900
916
  }
901
- [data-theme=dark] .rs-btn-yellow, .rs-theme-dark .rs-btn-yellow{
917
+ [data-theme=dark] .rs-btn[data-color=yellow], .rs-theme-dark .rs-btn[data-color=yellow]{
902
918
  --rs-btn-primary-bg:var(--rs-yellow-700);
903
919
  --rs-btn-primary-hover-bg:var(--rs-yellow-500);
904
920
  --rs-btn-primary-active-bg:var(--rs-yellow-400);
@@ -920,7 +936,7 @@ body{
920
936
  --rs-iconbtn-primary-activated-addon:var(--rs-yellow-400);
921
937
  --rs-iconbtn-primary-pressed-addon:var(--rs-yellow-300);
922
938
  }
923
- [data-theme=high-contrast] .rs-btn-yellow, .rs-theme-high-contrast .rs-btn-yellow{
939
+ [data-theme=high-contrast] .rs-btn[data-color=yellow], .rs-theme-high-contrast .rs-btn[data-color=yellow]{
924
940
  --rs-btn-primary-bg:var(--rs-yellow-700);
925
941
  --rs-btn-primary-hover-bg:var(--rs-yellow-600);
926
942
  --rs-btn-primary-active-bg:var(--rs-yellow-400);
@@ -939,7 +955,7 @@ body{
939
955
  --rs-btn-link-active-text:var(--rs-yellow-200);
940
956
  }
941
957
 
942
- .rs-btn-green{
958
+ .rs-btn[data-color=green]{
943
959
  --rs-btn-primary-bg:var(--rs-green-500);
944
960
  --rs-btn-primary-hover-bg:var(--rs-green-700);
945
961
  --rs-btn-primary-active-bg:var(--rs-green-800);
@@ -961,7 +977,7 @@ body{
961
977
  --rs-iconbtn-primary-activated-addon:var(--rs-green-800);
962
978
  --rs-iconbtn-primary-pressed-addon:var(--rs-green-900);
963
979
  }
964
- [data-theme=dark] .rs-btn-green, .rs-theme-dark .rs-btn-green{
980
+ [data-theme=dark] .rs-btn[data-color=green], .rs-theme-dark .rs-btn[data-color=green]{
965
981
  --rs-btn-primary-bg:var(--rs-green-700);
966
982
  --rs-btn-primary-hover-bg:var(--rs-green-500);
967
983
  --rs-btn-primary-active-bg:var(--rs-green-400);
@@ -983,7 +999,7 @@ body{
983
999
  --rs-iconbtn-primary-activated-addon:var(--rs-green-400);
984
1000
  --rs-iconbtn-primary-pressed-addon:var(--rs-green-300);
985
1001
  }
986
- [data-theme=high-contrast] .rs-btn-green, .rs-theme-high-contrast .rs-btn-green{
1002
+ [data-theme=high-contrast] .rs-btn[data-color=green], .rs-theme-high-contrast .rs-btn[data-color=green]{
987
1003
  --rs-btn-primary-bg:var(--rs-green-700);
988
1004
  --rs-btn-primary-hover-bg:var(--rs-green-600);
989
1005
  --rs-btn-primary-active-bg:var(--rs-green-400);
@@ -1002,7 +1018,7 @@ body{
1002
1018
  --rs-btn-link-active-text:var(--rs-green-200);
1003
1019
  }
1004
1020
 
1005
- .rs-btn-cyan{
1021
+ .rs-btn[data-color=cyan]{
1006
1022
  --rs-btn-primary-bg:var(--rs-cyan-500);
1007
1023
  --rs-btn-primary-hover-bg:var(--rs-cyan-700);
1008
1024
  --rs-btn-primary-active-bg:var(--rs-cyan-800);
@@ -1024,7 +1040,7 @@ body{
1024
1040
  --rs-iconbtn-primary-activated-addon:var(--rs-cyan-800);
1025
1041
  --rs-iconbtn-primary-pressed-addon:var(--rs-cyan-900);
1026
1042
  }
1027
- [data-theme=dark] .rs-btn-cyan, .rs-theme-dark .rs-btn-cyan{
1043
+ [data-theme=dark] .rs-btn[data-color=cyan], .rs-theme-dark .rs-btn[data-color=cyan]{
1028
1044
  --rs-btn-primary-bg:var(--rs-cyan-700);
1029
1045
  --rs-btn-primary-hover-bg:var(--rs-cyan-500);
1030
1046
  --rs-btn-primary-active-bg:var(--rs-cyan-400);
@@ -1046,7 +1062,7 @@ body{
1046
1062
  --rs-iconbtn-primary-activated-addon:var(--rs-cyan-400);
1047
1063
  --rs-iconbtn-primary-pressed-addon:var(--rs-cyan-300);
1048
1064
  }
1049
- [data-theme=high-contrast] .rs-btn-cyan, .rs-theme-high-contrast .rs-btn-cyan{
1065
+ [data-theme=high-contrast] .rs-btn[data-color=cyan], .rs-theme-high-contrast .rs-btn[data-color=cyan]{
1050
1066
  --rs-btn-primary-bg:var(--rs-cyan-700);
1051
1067
  --rs-btn-primary-hover-bg:var(--rs-cyan-600);
1052
1068
  --rs-btn-primary-active-bg:var(--rs-cyan-400);
@@ -1065,7 +1081,7 @@ body{
1065
1081
  --rs-btn-link-active-text:var(--rs-cyan-200);
1066
1082
  }
1067
1083
 
1068
- .rs-btn-blue{
1084
+ .rs-btn[data-color=blue]{
1069
1085
  --rs-btn-primary-bg:var(--rs-blue-500);
1070
1086
  --rs-btn-primary-hover-bg:var(--rs-blue-700);
1071
1087
  --rs-btn-primary-active-bg:var(--rs-blue-800);
@@ -1087,7 +1103,7 @@ body{
1087
1103
  --rs-iconbtn-primary-activated-addon:var(--rs-blue-800);
1088
1104
  --rs-iconbtn-primary-pressed-addon:var(--rs-blue-900);
1089
1105
  }
1090
- [data-theme=dark] .rs-btn-blue, .rs-theme-dark .rs-btn-blue{
1106
+ [data-theme=dark] .rs-btn[data-color=blue], .rs-theme-dark .rs-btn[data-color=blue]{
1091
1107
  --rs-btn-primary-bg:var(--rs-blue-700);
1092
1108
  --rs-btn-primary-hover-bg:var(--rs-blue-500);
1093
1109
  --rs-btn-primary-active-bg:var(--rs-blue-400);
@@ -1109,7 +1125,7 @@ body{
1109
1125
  --rs-iconbtn-primary-activated-addon:var(--rs-blue-400);
1110
1126
  --rs-iconbtn-primary-pressed-addon:var(--rs-blue-300);
1111
1127
  }
1112
- [data-theme=high-contrast] .rs-btn-blue, .rs-theme-high-contrast .rs-btn-blue{
1128
+ [data-theme=high-contrast] .rs-btn[data-color=blue], .rs-theme-high-contrast .rs-btn[data-color=blue]{
1113
1129
  --rs-btn-primary-bg:var(--rs-blue-700);
1114
1130
  --rs-btn-primary-hover-bg:var(--rs-blue-600);
1115
1131
  --rs-btn-primary-active-bg:var(--rs-blue-400);
@@ -1128,7 +1144,7 @@ body{
1128
1144
  --rs-btn-link-active-text:var(--rs-blue-200);
1129
1145
  }
1130
1146
 
1131
- .rs-btn-violet{
1147
+ .rs-btn[data-color=violet]{
1132
1148
  --rs-btn-primary-bg:var(--rs-violet-500);
1133
1149
  --rs-btn-primary-hover-bg:var(--rs-violet-700);
1134
1150
  --rs-btn-primary-active-bg:var(--rs-violet-800);
@@ -1150,7 +1166,7 @@ body{
1150
1166
  --rs-iconbtn-primary-activated-addon:var(--rs-violet-800);
1151
1167
  --rs-iconbtn-primary-pressed-addon:var(--rs-violet-900);
1152
1168
  }
1153
- [data-theme=dark] .rs-btn-violet, .rs-theme-dark .rs-btn-violet{
1169
+ [data-theme=dark] .rs-btn[data-color=violet], .rs-theme-dark .rs-btn[data-color=violet]{
1154
1170
  --rs-btn-primary-bg:var(--rs-violet-700);
1155
1171
  --rs-btn-primary-hover-bg:var(--rs-violet-500);
1156
1172
  --rs-btn-primary-active-bg:var(--rs-violet-400);
@@ -1172,7 +1188,7 @@ body{
1172
1188
  --rs-iconbtn-primary-activated-addon:var(--rs-violet-400);
1173
1189
  --rs-iconbtn-primary-pressed-addon:var(--rs-violet-300);
1174
1190
  }
1175
- [data-theme=high-contrast] .rs-btn-violet, .rs-theme-high-contrast .rs-btn-violet{
1191
+ [data-theme=high-contrast] .rs-btn[data-color=violet], .rs-theme-high-contrast .rs-btn[data-color=violet]{
1176
1192
  --rs-btn-primary-bg:var(--rs-violet-700);
1177
1193
  --rs-btn-primary-hover-bg:var(--rs-violet-600);
1178
1194
  --rs-btn-primary-active-bg:var(--rs-violet-400);
@@ -1191,20 +1207,20 @@ body{
1191
1207
  --rs-btn-link-active-text:var(--rs-violet-200);
1192
1208
  }
1193
1209
 
1194
- .rs-btn-block{
1210
+ .rs-btn[data-block=true]{
1195
1211
  width:100%;
1196
1212
  }
1197
- .rs-btn-block + .rs-btn-block{
1213
+ .rs-btn[data-block=true] + .rs-btn[data-block=true]{
1198
1214
  margin-top:5px;
1199
1215
  }
1200
1216
 
1201
- .rs-btn-loading{
1217
+ .rs-btn[data-loading=true]{
1202
1218
  color:transparent !important;
1203
1219
  position:relative;
1204
1220
  cursor:default;
1205
1221
  pointer-events:none;
1206
1222
  }
1207
- .rs-btn-loading > .rs-btn-spin::before, .rs-btn-loading > .rs-btn-spin::after{
1223
+ .rs-btn[data-loading=true] > .rs-btn-spin::before, .rs-btn[data-loading=true] > .rs-btn-spin::after{
1208
1224
  content:"";
1209
1225
  position:absolute;
1210
1226
  width:var(--rs-btn-loading-spin-default-diameter);
@@ -1217,29 +1233,29 @@ body{
1217
1233
  border-radius:var(--rs-radius-full);
1218
1234
  z-index:1;
1219
1235
  }
1220
- .rs-btn-xs .rs-btn-loading > .rs-btn-spin::before, .rs-btn-xs .rs-btn-loading > .rs-btn-spin::after{
1236
+ .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{
1221
1237
  width:var(--rs-btn-loading-spin-xs-diameter);
1222
1238
  height:var(--rs-btn-loading-spin-xs-diameter);
1223
1239
  }
1224
- .rs-btn-loading > .rs-btn-spin::before{
1240
+ .rs-btn[data-loading=true] > .rs-btn-spin::before{
1225
1241
  border:var(--rs-btn-loading-spin-ring-wide) solid var(--rs-loader-ring);
1226
1242
  }
1227
- .rs-btn-primary .rs-btn-loading > .rs-btn-spin::before{
1243
+ .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::before{
1228
1244
  border-color:rgba(248, 247, 250, 0.3);
1229
1245
  }
1230
- [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{
1246
+ [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{
1231
1247
  border-color:var(--rs-loader-ring-inverse);
1232
1248
  }
1233
- .rs-btn-loading > .rs-btn-spin::after{
1249
+ .rs-btn[data-loading=true] > .rs-btn-spin::after{
1234
1250
  border-width:var(--rs-btn-loading-spin-ring-wide);
1235
1251
  border-color:var(--rs-loader-rotor) transparent transparent;
1236
1252
  border-style:solid;
1237
1253
  animation:buttonSpin 0.6s infinite linear;
1238
1254
  }
1239
- .rs-btn-primary .rs-btn-loading > .rs-btn-spin::after{
1255
+ .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::after{
1240
1256
  border-top-color:#fff;
1241
1257
  }
1242
- [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{
1258
+ [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{
1243
1259
  border-top-color:var(--rs-loader-rotor-inverse);
1244
1260
  }
1245
1261
  @keyframes buttonSpin{
@@ -1259,14 +1275,14 @@ body{
1259
1275
  font-size:var(--rs-btn-icon-size);
1260
1276
  vertical-align:bottom;
1261
1277
  }
1262
- .rs-btn-icon:not(.rs-btn-icon-with-text){
1278
+ .rs-btn-icon:not([data-with-text]){
1263
1279
  width:var(--rs-btn-size);
1264
1280
  }
1265
- .rs-btn-icon.rs-btn-icon-circle{
1281
+ .rs-btn-icon[data-shape=circle]{
1266
1282
  border-radius:var(--rs-radius-full);
1267
1283
  }
1268
1284
 
1269
- .rs-btn-icon-with-text > .rs-icon{
1285
+ .rs-btn-icon[data-with-text] > .rs-icon{
1270
1286
  position:absolute;
1271
1287
  top:0;
1272
1288
  display:block;
@@ -1276,45 +1292,45 @@ body{
1276
1292
  height:var(--rs-btn-size);
1277
1293
  padding:calc((var(--rs-btn-size) - var(--rs-btn-icon-size)) / 2);
1278
1294
  }
1279
- .rs-btn-icon-with-text.rs-btn-icon-placement-left{
1295
+ .rs-btn-icon[data-with-text]:where([data-placement=start], [data-placement=left]){
1280
1296
  padding-inline-start:calc(var(--rs-btn-padding-inline) + var(--rs-btn-size));
1281
1297
  }
1282
- .rs-btn-icon-with-text.rs-btn-icon-placement-left > .rs-icon{
1298
+ .rs-btn-icon[data-with-text]:where([data-placement=start], [data-placement=left]) > .rs-icon{
1283
1299
  inset-inline-start:0;
1284
1300
  border-right-width:1px;
1285
1301
  }
1286
- .rs-btn-icon-with-text.rs-btn-icon-placement-right{
1302
+ .rs-btn-icon[data-with-text]:where([data-placement=end], [data-placement=right]){
1287
1303
  padding-inline-end:calc(var(--rs-btn-padding-inline) + var(--rs-btn-size));
1288
1304
  }
1289
- .rs-btn-icon-with-text.rs-btn-icon-placement-right > .rs-icon{
1305
+ .rs-btn-icon[data-with-text]:where([data-placement=end], [data-placement=right]) > .rs-icon{
1290
1306
  inset-inline-end:0;
1291
1307
  }
1292
- .rs-btn-icon-with-text:hover > .rs-icon{
1308
+ .rs-btn-icon[data-with-text]:hover > .rs-icon{
1293
1309
  background-color:var(--rs-iconbtn-activated-addon);
1294
1310
  }
1295
- .rs-btn-icon-with-text:active > .rs-icon, .rs-btn-icon-with-text.rs-btn-active > .rs-icon{
1311
+ .rs-btn-icon[data-with-text]:active > .rs-icon, .rs-btn-icon[data-with-text].rs-btn[data-active=true] > .rs-icon{
1296
1312
  background-color:var(--rs-iconbtn-pressed-addon);
1297
1313
  }
1298
- .rs-btn-icon-with-text:disabled > .rs-icon, .rs-btn-icon-with-text.rs-btn-disabled > .rs-icon{
1314
+ .rs-btn-icon[data-with-text]:disabled > .rs-icon, .rs-btn-icon[data-with-text].rs-btn[data-disabled=true] > .rs-icon{
1299
1315
  background-color:var(--rs-iconbtn-addon);
1300
1316
  }
1301
- [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{
1317
+ [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]{
1302
1318
  border-color:var(--rs-btn-default-disabled-border-color);
1303
1319
  }
1304
1320
 
1305
- .rs-btn-icon-with-text.rs-btn-primary > .rs-icon{
1321
+ .rs-btn-icon[data-with-text][data-appearance=primary] > .rs-icon{
1306
1322
  background-color:var(--rs-iconbtn-primary-addon);
1307
1323
  }
1308
- .rs-btn-icon-with-text.rs-btn-primary:hover > .rs-icon{
1324
+ .rs-btn-icon[data-with-text][data-appearance=primary]:hover > .rs-icon{
1309
1325
  background-color:var(--rs-iconbtn-primary-activated-addon);
1310
1326
  }
1311
- .rs-btn-icon-with-text.rs-btn-primary:active > .rs-icon, .rs-btn-icon-with-text.rs-btn-primary.rs-btn-active > .rs-icon{
1327
+ .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{
1312
1328
  background-color:var(--rs-iconbtn-primary-pressed-addon);
1313
1329
  }
1314
- .rs-btn-icon-with-text.rs-btn-primary:disabled > .rs-icon, .rs-btn-icon-with-text.rs-btn-primary.rs-btn-disabled > .rs-icon{
1330
+ .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{
1315
1331
  background-color:var(--rs-iconbtn-primary-addon);
1316
1332
  }
1317
- [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{
1333
+ [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]{
1318
1334
  border-color:var(--rs-btn-default-disabled-border-color);
1319
1335
  }
1320
1336