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);
@@ -136,7 +136,7 @@ body{
136
136
  }
137
137
  @supports not (color: rgb(from white r g b)){
138
138
  :root{
139
- --rs-color-focus-ring:rgba(52, 152, 255, 0.25);
139
+ --rs-focus-ring-color:rgba(52, 152, 255, 0.25);
140
140
  --rs-loader-ring:rgba(247, 247, 250, 0.8);
141
141
  --rs-loader-ring-inverse:rgba(247, 247, 250, 0.3);
142
142
  }
@@ -222,7 +222,6 @@ body{
222
222
  --rs-violet-900:#390085;
223
223
  --rs-body:var(--rs-gray-900);
224
224
  --rs-text-primary:var(--rs-gray-50);
225
- --rs-color-focus-ring:0 0 0 2px rgb(from var(--rs-gray-500) r g b / 25%);
226
225
  --rs-btn-default-bg:var(--rs-gray-600);
227
226
  --rs-btn-default-text:var(--rs-gray-50);
228
227
  --rs-btn-default-border-color:var(--rs-gray-700);
@@ -266,7 +265,6 @@ body{
266
265
  @supports not (color: rgb(from white r g b)){
267
266
  [data-theme=dark],
268
267
  .rs-theme-dark{
269
- --rs-color-focus-ring:0 0 0 2px rgba(52, 195, 255, 0.25);
270
268
  --rs-loader-ring:rgba(233, 235, 240, 0.3);
271
269
  --rs-loader-ring-inverse:rgba(233, 235, 240, 0.8);
272
270
  }
@@ -352,7 +350,7 @@ body{
352
350
  --rs-violet-900:#390085;
353
351
  --rs-body:var(--rs-gray-900);
354
352
  --rs-text-primary:var(--rs-gray-50);
355
- --rs-color-focus-ring:var(--rs-gray-0);
353
+ --rs-focus-ring-color:var(--rs-gray-0);
356
354
  --rs-btn-default-bg:transparent;
357
355
  --rs-btn-default-text:var(--rs-primary-500);
358
356
  --rs-btn-default-border-color:var(--rs-primary-500);
@@ -562,7 +560,7 @@ body{
562
560
  border-color:var(--rs-btn-default-border-color);
563
561
  }
564
562
  .rs-btn:focus-visible{
565
- outline:2px solid var(--rs-color-focus-ring);
563
+ outline:2px solid var(--rs-focus-ring-color);
566
564
  outline-offset:-1px;
567
565
  }
568
566
  .rs-btn:hover{
@@ -570,16 +568,16 @@ body{
570
568
  background-color:var(--rs-btn-default-hover-bg);
571
569
  text-decoration:none;
572
570
  }
573
- .rs-btn:active, .rs-btn.rs-btn-active{
571
+ .rs-btn:active, .rs-btn.rs-btn[data-active=true]{
574
572
  color:var(--rs-btn-default-active-text);
575
573
  background-color:var(--rs-btn-default-active-bg);
576
574
  }
577
- .rs-btn:disabled, .rs-btn.rs-btn-disabled{
575
+ .rs-btn:disabled, .rs-btn.rs-btn[data-disabled=true]{
578
576
  cursor:var(--rs-cursor-disabled);
579
577
  color:var(--rs-btn-default-disabled-text);
580
578
  background-color:var(--rs-btn-default-disabled-bg);
581
579
  }
582
- [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{
580
+ [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]{
583
581
  border-color:var(--rs-btn-default-disabled-border-color);
584
582
  }
585
583
  .rs-btn{
@@ -592,7 +590,15 @@ body{
592
590
  mask-image:radial-gradient(white, black);
593
591
  }
594
592
  }
595
- .rs-btn.rs-btn-lg{
593
+ .rs-btn{
594
+ --rs-btn-size:var(--rs-btn-size-md);
595
+ --rs-btn-font-size:var(--rs-btn-font-size-md);
596
+ --rs-btn-line-height:var(--rs-btn-line-height-md);
597
+ --rs-btn-padding-inline:var(--rs-btn-padding-inline-md);
598
+ --rs-btn-padding-block:var(--rs-btn-padding-block-md);
599
+ --rs-btn-icon-size:var(--rs-btn-icon-size-md);
600
+ }
601
+ .rs-btn[data-size=lg]{
596
602
  --rs-btn-size:var(--rs-btn-size-lg);
597
603
  --rs-btn-font-size:var(--rs-btn-font-size-lg);
598
604
  --rs-btn-line-height:var(--rs-btn-line-height-lg);
@@ -600,7 +606,7 @@ body{
600
606
  --rs-btn-padding-block:var(--rs-btn-padding-block-lg);
601
607
  --rs-btn-icon-size:var(--rs-btn-icon-size-lg);
602
608
  }
603
- .rs-btn.rs-btn-md{
609
+ .rs-btn[data-size=md]{
604
610
  --rs-btn-size:var(--rs-btn-size-md);
605
611
  --rs-btn-font-size:var(--rs-btn-font-size-md);
606
612
  --rs-btn-line-height:var(--rs-btn-line-height-md);
@@ -608,7 +614,7 @@ body{
608
614
  --rs-btn-padding-block:var(--rs-btn-padding-block-md);
609
615
  --rs-btn-icon-size:var(--rs-btn-icon-size-md);
610
616
  }
611
- .rs-btn.rs-btn-sm{
617
+ .rs-btn[data-size=sm]{
612
618
  --rs-btn-size:var(--rs-btn-size-sm);
613
619
  --rs-btn-font-size:var(--rs-btn-font-size-sm);
614
620
  --rs-btn-line-height:var(--rs-btn-line-height-sm);
@@ -616,7 +622,7 @@ body{
616
622
  --rs-btn-padding-block:var(--rs-btn-padding-block-sm);
617
623
  --rs-btn-icon-size:var(--rs-btn-icon-size-sm);
618
624
  }
619
- .rs-btn.rs-btn-xs{
625
+ .rs-btn[data-size=xs]{
620
626
  --rs-btn-size:var(--rs-btn-size-xs);
621
627
  --rs-btn-font-size:var(--rs-btn-font-size-xs);
622
628
  --rs-btn-line-height:var(--rs-btn-line-height-xs);
@@ -635,101 +641,111 @@ body{
635
641
  margin-inline-start:var(--rs-btn-icon-gap);
636
642
  }
637
643
 
638
- .rs-btn-primary{
644
+ .rs-btn[data-appearance=primary]{
639
645
  color:var(--rs-btn-primary-text);
640
646
  background-color:var(--rs-btn-primary-bg);
641
647
  border-color:var(--rs-btn-primary-border-color);
642
648
  }
643
- .rs-btn-primary:hover{
649
+ .rs-btn[data-appearance=primary]:hover{
644
650
  color:var(--rs-btn-primary-text);
645
651
  background-color:var(--rs-btn-primary-hover-bg);
646
652
  }
647
- .rs-btn-primary:active, .rs-btn-primary.rs-btn-active{
653
+ .rs-btn[data-appearance=primary]:active, .rs-btn[data-appearance=primary].rs-btn[data-active=true]{
648
654
  color:var(--rs-btn-primary-text);
649
655
  background-color:var(--rs-btn-primary-active-bg);
650
656
  }
651
- .rs-btn-primary:disabled, .rs-btn-primary.rs-btn-disabled{
657
+ .rs-btn[data-appearance=primary]:disabled, .rs-btn[data-appearance=primary].rs-btn[data-disabled=true]{
652
658
  color:var(--rs-btn-primary-text);
653
659
  background-color:var(--rs-btn-primary-bg);
654
660
  opacity:0.3;
655
661
  }
656
- [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{
662
+ [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]{
657
663
  border-color:var(--rs-btn-default-disabled-border-color);
658
664
  }
659
665
 
666
+ .rs-btn[data-appearance=subtle],
660
667
  .rs-btn-subtle{
661
668
  color:var(--rs-btn-subtle-text);
662
669
  background-color:transparent;
663
670
  }
671
+ .rs-btn[data-appearance=subtle]:hover,
664
672
  .rs-btn-subtle:hover{
665
673
  color:var(--rs-btn-subtle-hover-text);
666
674
  background-color:var(--rs-btn-subtle-hover-bg);
667
675
  }
668
- .rs-btn-subtle:active, .rs-btn-subtle.rs-btn-active{
676
+ .rs-btn[data-appearance=subtle]:active, .rs-btn[data-appearance=subtle].rs-btn[data-active=true],
677
+ .rs-btn-subtle:active,
678
+ .rs-btn-subtle.rs-btn[data-active=true]{
669
679
  color:var(--rs-btn-subtle-active-text);
670
680
  background-color:var(--rs-btn-subtle-active-bg);
671
681
  }
672
- .rs-btn-subtle:disabled, .rs-btn-subtle.rs-btn-disabled{
682
+ .rs-btn[data-appearance=subtle]:disabled, .rs-btn[data-appearance=subtle].rs-btn[data-disabled=true],
683
+ .rs-btn-subtle:disabled,
684
+ .rs-btn-subtle.rs-btn[data-disabled=true]{
673
685
  color:var(--rs-btn-subtle-disabled-text);
674
686
  background:none;
675
687
  }
676
- [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{
688
+ [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],
689
+ [data-theme=high-contrast] .rs-btn-subtle:disabled,
690
+ .rs-theme-high-contrast .rs-btn-subtle:disabled,
691
+ [data-theme=high-contrast] .rs-btn-subtle.rs-btn[data-disabled=true],
692
+ .rs-theme-high-contrast .rs-btn-subtle.rs-btn[data-disabled=true]{
677
693
  border-color:var(--rs-btn-default-disabled-border-color);
678
694
  }
679
695
 
680
- .rs-btn-link{
696
+ .rs-btn[data-appearance=link]{
681
697
  color:var(--rs-btn-link-text);
682
698
  background-color:transparent;
683
699
  }
684
- .rs-btn-link:hover{
700
+ .rs-btn[data-appearance=link]:hover{
685
701
  color:var(--rs-btn-link-hover-text);
686
702
  background-color:transparent;
687
703
  -webkit-text-decoration:var(--rs-link-hover-decoration);
688
704
  text-decoration:var(--rs-link-hover-decoration);
689
705
  }
690
- .rs-btn-link:active, .rs-btn-link.rs-btn-active{
706
+ .rs-btn[data-appearance=link]:active, .rs-btn[data-appearance=link].rs-btn[data-active=true]{
691
707
  color:var(--rs-btn-link-active-text);
692
708
  background-color:transparent;
693
709
  }
694
- .rs-btn-link:disabled, .rs-btn-link.rs-btn-disabled{
710
+ .rs-btn[data-appearance=link]:disabled, .rs-btn[data-appearance=link].rs-btn[data-disabled=true]{
695
711
  color:var(--rs-btn-link-hover-text);
696
712
  background-color:transparent;
697
713
  text-decoration:none;
698
714
  opacity:0.3;
699
715
  }
700
- [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{
716
+ [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]{
701
717
  border-color:var(--rs-btn-default-disabled-border-color);
702
718
  }
703
719
 
704
- .rs-btn-ghost{
720
+ .rs-btn[data-appearance=ghost]{
705
721
  color:var(--rs-btn-ghost-text);
706
722
  background-color:transparent;
707
723
  border:var(--rs-btn-ghost-border-width) solid var(--rs-btn-ghost-border);
708
724
  padding-inline:calc(var(--rs-btn-padding-inline) - var(--rs-btn-ghost-border-width));
709
725
  }
710
- .rs-btn-ghost:hover{
726
+ .rs-btn[data-appearance=ghost]:hover{
711
727
  color:var(--rs-btn-ghost-hover-text);
712
728
  background-color:transparent;
713
729
  border-color:var(--rs-btn-ghost-hover-border);
714
730
  box-shadow:0 0 0 1px var(--rs-btn-ghost-hover-border);
715
731
  }
716
- .rs-btn-ghost:active, .rs-btn-ghost.rs-btn-active{
732
+ .rs-btn[data-appearance=ghost]:active, .rs-btn[data-appearance=ghost].rs-btn[data-active=true]{
717
733
  color:var(--rs-btn-ghost-active-text);
718
734
  background-color:transparent;
719
735
  border-color:var(--rs-btn-ghost-active-border);
720
736
  }
721
- .rs-btn-ghost:disabled, .rs-btn-ghost.rs-btn-disabled{
737
+ .rs-btn[data-appearance=ghost]:disabled, .rs-btn[data-appearance=ghost].rs-btn[data-disabled=true]{
722
738
  color:var(--rs-btn-ghost-text);
723
739
  background-color:transparent;
724
740
  opacity:0.3;
725
741
  border-color:var(--rs-btn-ghost-border);
726
742
  box-shadow:var(--rs-shadow-none);
727
743
  }
728
- [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{
744
+ [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]{
729
745
  border-color:var(--rs-btn-default-disabled-border-color);
730
746
  }
731
747
 
732
- .rs-btn-red{
748
+ .rs-btn[data-color=red]{
733
749
  --rs-btn-primary-bg:var(--rs-red-500);
734
750
  --rs-btn-primary-hover-bg:var(--rs-red-700);
735
751
  --rs-btn-primary-active-bg:var(--rs-red-800);
@@ -751,7 +767,7 @@ body{
751
767
  --rs-iconbtn-primary-activated-addon:var(--rs-red-800);
752
768
  --rs-iconbtn-primary-pressed-addon:var(--rs-red-900);
753
769
  }
754
- [data-theme=dark] .rs-btn-red, .rs-theme-dark .rs-btn-red{
770
+ [data-theme=dark] .rs-btn[data-color=red], .rs-theme-dark .rs-btn[data-color=red]{
755
771
  --rs-btn-primary-bg:var(--rs-red-700);
756
772
  --rs-btn-primary-hover-bg:var(--rs-red-500);
757
773
  --rs-btn-primary-active-bg:var(--rs-red-400);
@@ -773,7 +789,7 @@ body{
773
789
  --rs-iconbtn-primary-activated-addon:var(--rs-red-400);
774
790
  --rs-iconbtn-primary-pressed-addon:var(--rs-red-300);
775
791
  }
776
- [data-theme=high-contrast] .rs-btn-red, .rs-theme-high-contrast .rs-btn-red{
792
+ [data-theme=high-contrast] .rs-btn[data-color=red], .rs-theme-high-contrast .rs-btn[data-color=red]{
777
793
  --rs-btn-primary-bg:var(--rs-red-700);
778
794
  --rs-btn-primary-hover-bg:var(--rs-red-600);
779
795
  --rs-btn-primary-active-bg:var(--rs-red-400);
@@ -792,7 +808,7 @@ body{
792
808
  --rs-btn-link-active-text:var(--rs-red-200);
793
809
  }
794
810
 
795
- .rs-btn-orange{
811
+ .rs-btn[data-color=orange]{
796
812
  --rs-btn-primary-bg:var(--rs-orange-500);
797
813
  --rs-btn-primary-hover-bg:var(--rs-orange-700);
798
814
  --rs-btn-primary-active-bg:var(--rs-orange-800);
@@ -814,7 +830,7 @@ body{
814
830
  --rs-iconbtn-primary-activated-addon:var(--rs-orange-800);
815
831
  --rs-iconbtn-primary-pressed-addon:var(--rs-orange-900);
816
832
  }
817
- [data-theme=dark] .rs-btn-orange, .rs-theme-dark .rs-btn-orange{
833
+ [data-theme=dark] .rs-btn[data-color=orange], .rs-theme-dark .rs-btn[data-color=orange]{
818
834
  --rs-btn-primary-bg:var(--rs-orange-700);
819
835
  --rs-btn-primary-hover-bg:var(--rs-orange-500);
820
836
  --rs-btn-primary-active-bg:var(--rs-orange-400);
@@ -836,7 +852,7 @@ body{
836
852
  --rs-iconbtn-primary-activated-addon:var(--rs-orange-400);
837
853
  --rs-iconbtn-primary-pressed-addon:var(--rs-orange-300);
838
854
  }
839
- [data-theme=high-contrast] .rs-btn-orange, .rs-theme-high-contrast .rs-btn-orange{
855
+ [data-theme=high-contrast] .rs-btn[data-color=orange], .rs-theme-high-contrast .rs-btn[data-color=orange]{
840
856
  --rs-btn-primary-bg:var(--rs-orange-700);
841
857
  --rs-btn-primary-hover-bg:var(--rs-orange-600);
842
858
  --rs-btn-primary-active-bg:var(--rs-orange-400);
@@ -855,7 +871,7 @@ body{
855
871
  --rs-btn-link-active-text:var(--rs-orange-200);
856
872
  }
857
873
 
858
- .rs-btn-yellow{
874
+ .rs-btn[data-color=yellow]{
859
875
  --rs-btn-primary-bg:var(--rs-yellow-500);
860
876
  --rs-btn-primary-hover-bg:var(--rs-yellow-700);
861
877
  --rs-btn-primary-active-bg:var(--rs-yellow-800);
@@ -877,7 +893,7 @@ body{
877
893
  --rs-iconbtn-primary-activated-addon:var(--rs-yellow-800);
878
894
  --rs-iconbtn-primary-pressed-addon:var(--rs-yellow-900);
879
895
  }
880
- [data-theme=dark] .rs-btn-yellow, .rs-theme-dark .rs-btn-yellow{
896
+ [data-theme=dark] .rs-btn[data-color=yellow], .rs-theme-dark .rs-btn[data-color=yellow]{
881
897
  --rs-btn-primary-bg:var(--rs-yellow-700);
882
898
  --rs-btn-primary-hover-bg:var(--rs-yellow-500);
883
899
  --rs-btn-primary-active-bg:var(--rs-yellow-400);
@@ -899,7 +915,7 @@ body{
899
915
  --rs-iconbtn-primary-activated-addon:var(--rs-yellow-400);
900
916
  --rs-iconbtn-primary-pressed-addon:var(--rs-yellow-300);
901
917
  }
902
- [data-theme=high-contrast] .rs-btn-yellow, .rs-theme-high-contrast .rs-btn-yellow{
918
+ [data-theme=high-contrast] .rs-btn[data-color=yellow], .rs-theme-high-contrast .rs-btn[data-color=yellow]{
903
919
  --rs-btn-primary-bg:var(--rs-yellow-700);
904
920
  --rs-btn-primary-hover-bg:var(--rs-yellow-600);
905
921
  --rs-btn-primary-active-bg:var(--rs-yellow-400);
@@ -918,7 +934,7 @@ body{
918
934
  --rs-btn-link-active-text:var(--rs-yellow-200);
919
935
  }
920
936
 
921
- .rs-btn-green{
937
+ .rs-btn[data-color=green]{
922
938
  --rs-btn-primary-bg:var(--rs-green-500);
923
939
  --rs-btn-primary-hover-bg:var(--rs-green-700);
924
940
  --rs-btn-primary-active-bg:var(--rs-green-800);
@@ -940,7 +956,7 @@ body{
940
956
  --rs-iconbtn-primary-activated-addon:var(--rs-green-800);
941
957
  --rs-iconbtn-primary-pressed-addon:var(--rs-green-900);
942
958
  }
943
- [data-theme=dark] .rs-btn-green, .rs-theme-dark .rs-btn-green{
959
+ [data-theme=dark] .rs-btn[data-color=green], .rs-theme-dark .rs-btn[data-color=green]{
944
960
  --rs-btn-primary-bg:var(--rs-green-700);
945
961
  --rs-btn-primary-hover-bg:var(--rs-green-500);
946
962
  --rs-btn-primary-active-bg:var(--rs-green-400);
@@ -962,7 +978,7 @@ body{
962
978
  --rs-iconbtn-primary-activated-addon:var(--rs-green-400);
963
979
  --rs-iconbtn-primary-pressed-addon:var(--rs-green-300);
964
980
  }
965
- [data-theme=high-contrast] .rs-btn-green, .rs-theme-high-contrast .rs-btn-green{
981
+ [data-theme=high-contrast] .rs-btn[data-color=green], .rs-theme-high-contrast .rs-btn[data-color=green]{
966
982
  --rs-btn-primary-bg:var(--rs-green-700);
967
983
  --rs-btn-primary-hover-bg:var(--rs-green-600);
968
984
  --rs-btn-primary-active-bg:var(--rs-green-400);
@@ -981,7 +997,7 @@ body{
981
997
  --rs-btn-link-active-text:var(--rs-green-200);
982
998
  }
983
999
 
984
- .rs-btn-cyan{
1000
+ .rs-btn[data-color=cyan]{
985
1001
  --rs-btn-primary-bg:var(--rs-cyan-500);
986
1002
  --rs-btn-primary-hover-bg:var(--rs-cyan-700);
987
1003
  --rs-btn-primary-active-bg:var(--rs-cyan-800);
@@ -1003,7 +1019,7 @@ body{
1003
1019
  --rs-iconbtn-primary-activated-addon:var(--rs-cyan-800);
1004
1020
  --rs-iconbtn-primary-pressed-addon:var(--rs-cyan-900);
1005
1021
  }
1006
- [data-theme=dark] .rs-btn-cyan, .rs-theme-dark .rs-btn-cyan{
1022
+ [data-theme=dark] .rs-btn[data-color=cyan], .rs-theme-dark .rs-btn[data-color=cyan]{
1007
1023
  --rs-btn-primary-bg:var(--rs-cyan-700);
1008
1024
  --rs-btn-primary-hover-bg:var(--rs-cyan-500);
1009
1025
  --rs-btn-primary-active-bg:var(--rs-cyan-400);
@@ -1025,7 +1041,7 @@ body{
1025
1041
  --rs-iconbtn-primary-activated-addon:var(--rs-cyan-400);
1026
1042
  --rs-iconbtn-primary-pressed-addon:var(--rs-cyan-300);
1027
1043
  }
1028
- [data-theme=high-contrast] .rs-btn-cyan, .rs-theme-high-contrast .rs-btn-cyan{
1044
+ [data-theme=high-contrast] .rs-btn[data-color=cyan], .rs-theme-high-contrast .rs-btn[data-color=cyan]{
1029
1045
  --rs-btn-primary-bg:var(--rs-cyan-700);
1030
1046
  --rs-btn-primary-hover-bg:var(--rs-cyan-600);
1031
1047
  --rs-btn-primary-active-bg:var(--rs-cyan-400);
@@ -1044,7 +1060,7 @@ body{
1044
1060
  --rs-btn-link-active-text:var(--rs-cyan-200);
1045
1061
  }
1046
1062
 
1047
- .rs-btn-blue{
1063
+ .rs-btn[data-color=blue]{
1048
1064
  --rs-btn-primary-bg:var(--rs-blue-500);
1049
1065
  --rs-btn-primary-hover-bg:var(--rs-blue-700);
1050
1066
  --rs-btn-primary-active-bg:var(--rs-blue-800);
@@ -1066,7 +1082,7 @@ body{
1066
1082
  --rs-iconbtn-primary-activated-addon:var(--rs-blue-800);
1067
1083
  --rs-iconbtn-primary-pressed-addon:var(--rs-blue-900);
1068
1084
  }
1069
- [data-theme=dark] .rs-btn-blue, .rs-theme-dark .rs-btn-blue{
1085
+ [data-theme=dark] .rs-btn[data-color=blue], .rs-theme-dark .rs-btn[data-color=blue]{
1070
1086
  --rs-btn-primary-bg:var(--rs-blue-700);
1071
1087
  --rs-btn-primary-hover-bg:var(--rs-blue-500);
1072
1088
  --rs-btn-primary-active-bg:var(--rs-blue-400);
@@ -1088,7 +1104,7 @@ body{
1088
1104
  --rs-iconbtn-primary-activated-addon:var(--rs-blue-400);
1089
1105
  --rs-iconbtn-primary-pressed-addon:var(--rs-blue-300);
1090
1106
  }
1091
- [data-theme=high-contrast] .rs-btn-blue, .rs-theme-high-contrast .rs-btn-blue{
1107
+ [data-theme=high-contrast] .rs-btn[data-color=blue], .rs-theme-high-contrast .rs-btn[data-color=blue]{
1092
1108
  --rs-btn-primary-bg:var(--rs-blue-700);
1093
1109
  --rs-btn-primary-hover-bg:var(--rs-blue-600);
1094
1110
  --rs-btn-primary-active-bg:var(--rs-blue-400);
@@ -1107,7 +1123,7 @@ body{
1107
1123
  --rs-btn-link-active-text:var(--rs-blue-200);
1108
1124
  }
1109
1125
 
1110
- .rs-btn-violet{
1126
+ .rs-btn[data-color=violet]{
1111
1127
  --rs-btn-primary-bg:var(--rs-violet-500);
1112
1128
  --rs-btn-primary-hover-bg:var(--rs-violet-700);
1113
1129
  --rs-btn-primary-active-bg:var(--rs-violet-800);
@@ -1129,7 +1145,7 @@ body{
1129
1145
  --rs-iconbtn-primary-activated-addon:var(--rs-violet-800);
1130
1146
  --rs-iconbtn-primary-pressed-addon:var(--rs-violet-900);
1131
1147
  }
1132
- [data-theme=dark] .rs-btn-violet, .rs-theme-dark .rs-btn-violet{
1148
+ [data-theme=dark] .rs-btn[data-color=violet], .rs-theme-dark .rs-btn[data-color=violet]{
1133
1149
  --rs-btn-primary-bg:var(--rs-violet-700);
1134
1150
  --rs-btn-primary-hover-bg:var(--rs-violet-500);
1135
1151
  --rs-btn-primary-active-bg:var(--rs-violet-400);
@@ -1151,7 +1167,7 @@ body{
1151
1167
  --rs-iconbtn-primary-activated-addon:var(--rs-violet-400);
1152
1168
  --rs-iconbtn-primary-pressed-addon:var(--rs-violet-300);
1153
1169
  }
1154
- [data-theme=high-contrast] .rs-btn-violet, .rs-theme-high-contrast .rs-btn-violet{
1170
+ [data-theme=high-contrast] .rs-btn[data-color=violet], .rs-theme-high-contrast .rs-btn[data-color=violet]{
1155
1171
  --rs-btn-primary-bg:var(--rs-violet-700);
1156
1172
  --rs-btn-primary-hover-bg:var(--rs-violet-600);
1157
1173
  --rs-btn-primary-active-bg:var(--rs-violet-400);
@@ -1170,20 +1186,20 @@ body{
1170
1186
  --rs-btn-link-active-text:var(--rs-violet-200);
1171
1187
  }
1172
1188
 
1173
- .rs-btn-block{
1189
+ .rs-btn[data-block=true]{
1174
1190
  width:100%;
1175
1191
  }
1176
- .rs-btn-block + .rs-btn-block{
1192
+ .rs-btn[data-block=true] + .rs-btn[data-block=true]{
1177
1193
  margin-top:5px;
1178
1194
  }
1179
1195
 
1180
- .rs-btn-loading{
1196
+ .rs-btn[data-loading=true]{
1181
1197
  color:transparent !important;
1182
1198
  position:relative;
1183
1199
  cursor:default;
1184
1200
  pointer-events:none;
1185
1201
  }
1186
- .rs-btn-loading > .rs-btn-spin::before, .rs-btn-loading > .rs-btn-spin::after{
1202
+ .rs-btn[data-loading=true] > .rs-btn-spin::before, .rs-btn[data-loading=true] > .rs-btn-spin::after{
1187
1203
  content:"";
1188
1204
  position:absolute;
1189
1205
  width:var(--rs-btn-loading-spin-default-diameter);
@@ -1196,29 +1212,29 @@ body{
1196
1212
  border-radius:var(--rs-radius-full);
1197
1213
  z-index:1;
1198
1214
  }
1199
- .rs-btn-xs .rs-btn-loading > .rs-btn-spin::before, .rs-btn-xs .rs-btn-loading > .rs-btn-spin::after{
1215
+ .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{
1200
1216
  width:var(--rs-btn-loading-spin-xs-diameter);
1201
1217
  height:var(--rs-btn-loading-spin-xs-diameter);
1202
1218
  }
1203
- .rs-btn-loading > .rs-btn-spin::before{
1219
+ .rs-btn[data-loading=true] > .rs-btn-spin::before{
1204
1220
  border:var(--rs-btn-loading-spin-ring-wide) solid var(--rs-loader-ring);
1205
1221
  }
1206
- .rs-btn-primary .rs-btn-loading > .rs-btn-spin::before{
1222
+ .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::before{
1207
1223
  border-color:rgba(248, 247, 250, 0.3);
1208
1224
  }
1209
- [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{
1225
+ [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{
1210
1226
  border-color:var(--rs-loader-ring-inverse);
1211
1227
  }
1212
- .rs-btn-loading > .rs-btn-spin::after{
1228
+ .rs-btn[data-loading=true] > .rs-btn-spin::after{
1213
1229
  border-width:var(--rs-btn-loading-spin-ring-wide);
1214
1230
  border-color:var(--rs-loader-rotor) transparent transparent;
1215
1231
  border-style:solid;
1216
1232
  animation:buttonSpin 0.6s infinite linear;
1217
1233
  }
1218
- .rs-btn-primary .rs-btn-loading > .rs-btn-spin::after{
1234
+ .rs-btn[data-appearance=primary] .rs-btn[data-loading=true] > .rs-btn-spin::after{
1219
1235
  border-top-color:#fff;
1220
1236
  }
1221
- [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{
1237
+ [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{
1222
1238
  border-top-color:var(--rs-loader-rotor-inverse);
1223
1239
  }
1224
1240
  @keyframes buttonSpin{
@@ -1238,14 +1254,14 @@ body{
1238
1254
  font-size:var(--rs-btn-icon-size);
1239
1255
  vertical-align:bottom;
1240
1256
  }
1241
- .rs-btn-icon:not(.rs-btn-icon-with-text){
1257
+ .rs-btn-icon:not([data-with-text]){
1242
1258
  width:var(--rs-btn-size);
1243
1259
  }
1244
- .rs-btn-icon.rs-btn-icon-circle{
1260
+ .rs-btn-icon[data-shape=circle]{
1245
1261
  border-radius:var(--rs-radius-full);
1246
1262
  }
1247
1263
 
1248
- .rs-btn-icon-with-text > .rs-icon{
1264
+ .rs-btn-icon[data-with-text] > .rs-icon{
1249
1265
  position:absolute;
1250
1266
  top:0;
1251
1267
  display:block;
@@ -1255,45 +1271,45 @@ body{
1255
1271
  height:var(--rs-btn-size);
1256
1272
  padding:calc((var(--rs-btn-size) - var(--rs-btn-icon-size)) / 2);
1257
1273
  }
1258
- .rs-btn-icon-with-text.rs-btn-icon-placement-left{
1274
+ .rs-btn-icon[data-with-text]:where([data-placement=start], [data-placement=left]){
1259
1275
  padding-inline-start:calc(var(--rs-btn-padding-inline) + var(--rs-btn-size));
1260
1276
  }
1261
- .rs-btn-icon-with-text.rs-btn-icon-placement-left > .rs-icon{
1277
+ .rs-btn-icon[data-with-text]:where([data-placement=start], [data-placement=left]) > .rs-icon{
1262
1278
  inset-inline-start:0;
1263
1279
  border-right-width:1px;
1264
1280
  }
1265
- .rs-btn-icon-with-text.rs-btn-icon-placement-right{
1281
+ .rs-btn-icon[data-with-text]:where([data-placement=end], [data-placement=right]){
1266
1282
  padding-inline-end:calc(var(--rs-btn-padding-inline) + var(--rs-btn-size));
1267
1283
  }
1268
- .rs-btn-icon-with-text.rs-btn-icon-placement-right > .rs-icon{
1284
+ .rs-btn-icon[data-with-text]:where([data-placement=end], [data-placement=right]) > .rs-icon{
1269
1285
  inset-inline-end:0;
1270
1286
  }
1271
- .rs-btn-icon-with-text:hover > .rs-icon{
1287
+ .rs-btn-icon[data-with-text]:hover > .rs-icon{
1272
1288
  background-color:var(--rs-iconbtn-activated-addon);
1273
1289
  }
1274
- .rs-btn-icon-with-text:active > .rs-icon, .rs-btn-icon-with-text.rs-btn-active > .rs-icon{
1290
+ .rs-btn-icon[data-with-text]:active > .rs-icon, .rs-btn-icon[data-with-text].rs-btn[data-active=true] > .rs-icon{
1275
1291
  background-color:var(--rs-iconbtn-pressed-addon);
1276
1292
  }
1277
- .rs-btn-icon-with-text:disabled > .rs-icon, .rs-btn-icon-with-text.rs-btn-disabled > .rs-icon{
1293
+ .rs-btn-icon[data-with-text]:disabled > .rs-icon, .rs-btn-icon[data-with-text].rs-btn[data-disabled=true] > .rs-icon{
1278
1294
  background-color:var(--rs-iconbtn-addon);
1279
1295
  }
1280
- [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{
1296
+ [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]{
1281
1297
  border-color:var(--rs-btn-default-disabled-border-color);
1282
1298
  }
1283
1299
 
1284
- .rs-btn-icon-with-text.rs-btn-primary > .rs-icon{
1300
+ .rs-btn-icon[data-with-text][data-appearance=primary] > .rs-icon{
1285
1301
  background-color:var(--rs-iconbtn-primary-addon);
1286
1302
  }
1287
- .rs-btn-icon-with-text.rs-btn-primary:hover > .rs-icon{
1303
+ .rs-btn-icon[data-with-text][data-appearance=primary]:hover > .rs-icon{
1288
1304
  background-color:var(--rs-iconbtn-primary-activated-addon);
1289
1305
  }
1290
- .rs-btn-icon-with-text.rs-btn-primary:active > .rs-icon, .rs-btn-icon-with-text.rs-btn-primary.rs-btn-active > .rs-icon{
1306
+ .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{
1291
1307
  background-color:var(--rs-iconbtn-primary-pressed-addon);
1292
1308
  }
1293
- .rs-btn-icon-with-text.rs-btn-primary:disabled > .rs-icon, .rs-btn-icon-with-text.rs-btn-primary.rs-btn-disabled > .rs-icon{
1309
+ .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{
1294
1310
  background-color:var(--rs-iconbtn-primary-addon);
1295
1311
  }
1296
- [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{
1312
+ [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]{
1297
1313
  border-color:var(--rs-btn-default-disabled-border-color);
1298
1314
  }
1299
1315
 
@@ -1337,74 +1353,74 @@ body{
1337
1353
  .rs-tag-icon-close{
1338
1354
  padding:0;
1339
1355
  }
1340
- .rs-tag-lg{
1356
+ .rs-tag[data-size=lg]{
1341
1357
  --rs-tag-padding:var(--rs-tag-padding-lg);
1342
1358
  --rs-tag-font-size:var(--rs-tag-font-size-lg);
1343
1359
  --rs-tag-line-height:var(--rs-tag-line-height-lg);
1344
1360
  }
1345
- .rs-tag-md{
1361
+ .rs-tag[data-size=md]{
1346
1362
  --rs-tag-padding:var(--rs-tag-padding-md);
1347
1363
  --rs-tag-font-size:var(--rs-tag-font-size-md);
1348
1364
  --rs-tag-line-height:var(--rs-tag-line-height-md);
1349
1365
  }
1350
- .rs-tag-sm{
1366
+ .rs-tag[data-size=sm]{
1351
1367
  --rs-tag-padding:var(--rs-tag-padding-sm);
1352
1368
  --rs-tag-font-size:var(--rs-tag-font-size-sm);
1353
1369
  --rs-tag-line-height:var(--rs-tag-line-height-sm);
1354
1370
  }
1355
- .rs-tag-primary{
1371
+ .rs-tag[data-color=primary]{
1356
1372
  --rs-tag-bg:var(--rs-primary-500);
1357
1373
  --rs-tag-text:#fff;
1358
1374
  }
1359
- .rs-tag-secondary{
1375
+ .rs-tag[data-color=secondary]{
1360
1376
  --rs-tag-bg:var(--rs-secondary-500);
1361
1377
  --rs-tag-text:#fff;
1362
1378
  }
1363
- .rs-tag-success{
1379
+ .rs-tag[data-color=success]{
1364
1380
  --rs-tag-bg:var(--rs-success-500);
1365
1381
  --rs-tag-text:#fff;
1366
1382
  }
1367
- .rs-tag-warning{
1383
+ .rs-tag[data-color=warning]{
1368
1384
  --rs-tag-bg:var(--rs-warning-500);
1369
1385
  --rs-tag-text:#fff;
1370
1386
  }
1371
- .rs-tag-error{
1387
+ .rs-tag[data-color=error]{
1372
1388
  --rs-tag-bg:var(--rs-error-500);
1373
1389
  --rs-tag-text:#fff;
1374
1390
  }
1375
- .rs-tag-info{
1391
+ .rs-tag[data-color=info]{
1376
1392
  --rs-tag-bg:var(--rs-info-500);
1377
1393
  --rs-tag-text:#fff;
1378
1394
  }
1379
- .rs-tag-dark{
1395
+ .rs-tag[data-color=dark]{
1380
1396
  --rs-tag-bg:var(--rs-dark-500);
1381
1397
  --rs-tag-text:#fff;
1382
1398
  }
1383
- .rs-tag-cyan{
1399
+ .rs-tag[data-color=cyan]{
1384
1400
  --rs-tag-bg:var(--rs-cyan-500);
1385
1401
  --rs-tag-text:#fff;
1386
1402
  }
1387
- .rs-tag-violet{
1403
+ .rs-tag[data-color=violet]{
1388
1404
  --rs-tag-bg:var(--rs-violet-500);
1389
1405
  --rs-tag-text:#fff;
1390
1406
  }
1391
- .rs-tag-orange{
1407
+ .rs-tag[data-color=orange]{
1392
1408
  --rs-tag-bg:var(--rs-orange-500);
1393
1409
  --rs-tag-text:#fff;
1394
1410
  }
1395
- .rs-tag-yellow{
1411
+ .rs-tag[data-color=yellow]{
1396
1412
  --rs-tag-bg:var(--rs-yellow-500);
1397
1413
  --rs-tag-text:#fff;
1398
1414
  }
1399
- .rs-tag-green{
1415
+ .rs-tag[data-color=green]{
1400
1416
  --rs-tag-bg:var(--rs-green-500);
1401
1417
  --rs-tag-text:#fff;
1402
1418
  }
1403
- .rs-tag-red{
1419
+ .rs-tag[data-color=red]{
1404
1420
  --rs-tag-bg:var(--rs-red-500);
1405
1421
  --rs-tag-text:#fff;
1406
1422
  }
1407
- .rs-tag-blue{
1423
+ .rs-tag[data-color=blue]{
1408
1424
  --rs-tag-bg:var(--rs-blue-500);
1409
1425
  --rs-tag-text:#fff;
1410
1426
  }