rsuite 5.41.0 → 5.43.0

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 (42) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/Placeholder/styles/index.less +1 -1
  3. package/cjs/AutoComplete/AutoComplete.js +9 -1
  4. package/cjs/Form/Form.js +2 -3
  5. package/cjs/Form/FormContext.d.ts +2 -3
  6. package/cjs/FormControl/FormControl.js +1 -5
  7. package/cjs/InputPicker/InputPicker.d.ts +2 -0
  8. package/cjs/InputPicker/InputPicker.js +4 -2
  9. package/cjs/TagInput/index.d.ts +3 -0
  10. package/cjs/TagInput/index.js +5 -3
  11. package/cjs/TagPicker/index.d.ts +3 -0
  12. package/cjs/TagPicker/index.js +5 -3
  13. package/dist/rsuite-no-reset-rtl.css +795 -711
  14. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  15. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  16. package/dist/rsuite-no-reset.css +795 -711
  17. package/dist/rsuite-no-reset.min.css +1 -1
  18. package/dist/rsuite-no-reset.min.css.map +1 -1
  19. package/dist/rsuite-rtl.css +795 -711
  20. package/dist/rsuite-rtl.min.css +1 -1
  21. package/dist/rsuite-rtl.min.css.map +1 -1
  22. package/dist/rsuite.css +795 -711
  23. package/dist/rsuite.js +54 -54
  24. package/dist/rsuite.min.css +1 -1
  25. package/dist/rsuite.min.css.map +1 -1
  26. package/dist/rsuite.min.js +1 -1
  27. package/dist/rsuite.min.js.map +1 -1
  28. package/esm/AutoComplete/AutoComplete.js +9 -1
  29. package/esm/Form/Form.js +2 -3
  30. package/esm/Form/FormContext.d.ts +2 -3
  31. package/esm/FormControl/FormControl.js +1 -5
  32. package/esm/InputPicker/InputPicker.d.ts +2 -0
  33. package/esm/InputPicker/InputPicker.js +4 -2
  34. package/esm/TagInput/index.d.ts +3 -0
  35. package/esm/TagInput/index.js +5 -3
  36. package/esm/TagPicker/index.d.ts +3 -0
  37. package/esm/TagPicker/index.js +5 -3
  38. package/package.json +2 -2
  39. package/styles/color-modes/dark.less +256 -206
  40. package/styles/color-modes/high-contrast.less +252 -207
  41. package/styles/color-modes/light.less +262 -206
  42. package/styles/variables.less +4 -2
@@ -1,6 +1,7 @@
1
1
  // see https://rsuitejs.com/design/dark
2
2
  & {
3
3
  // Gray levels
4
+ --rs-gray-0: @B000-high-contrast;
4
5
  --rs-gray-50: @B050-high-contrast;
5
6
  --rs-gray-100: @B100-high-contrast;
6
7
  --rs-gray-200: @B200-high-contrast;
@@ -24,12 +25,21 @@
24
25
  --rs-primary-800: @H800-high-contrast;
25
26
  --rs-primary-900: @H900-high-contrast;
26
27
 
28
+ // Spectrum
29
+ --rs-color-red: @red-high-contrast;
30
+ --rs-color-orange: @orange-high-contrast;
31
+ --rs-color-yellow: @yellow-high-contrast;
32
+ --rs-color-green: @green-high-contrast;
33
+ --rs-color-cyan: @cyan-high-contrast;
34
+ --rs-color-blue: @blue-high-contrast;
35
+ --rs-color-violet: @violet-high-contrast;
36
+
27
37
  // Spectrum levels
28
38
  each(@spectrum, .(@color-name) {
29
39
  @color: @@color-name;
30
40
  @color-name-50: ~'@{color-name}-50-high-contrast';
31
41
  --rs-@{color-name}-50: @@color-name-50;
32
-
42
+
33
43
  each(range(9), {
34
44
  @level: @{index}00;
35
45
  @color-name-level: ~'@{color-name}-@{level}-high-contrast';
@@ -38,335 +48,370 @@
38
48
  });
39
49
 
40
50
  // Stateful colors
41
- --rs-state-success: @green-high-contrast;
42
- --rs-state-info: @blue-high-contrast;
43
- --rs-state-warning: @yellow-high-contrast;
44
- --rs-state-error: @red-high-contrast;
51
+ --rs-state-success: var(--rs-color-green);
52
+ --rs-state-info: var(--rs-color-blue);
53
+ --rs-state-warning: var(--rs-color-yellow);
54
+ --rs-state-error: var(--rs-color-red);
45
55
 
46
56
  // Reset
47
- --rs-body: @B900-high-contrast;
57
+ --rs-body: var(--rs-gray-900);
48
58
 
49
59
  // Misc
50
- --rs-text-link: @H500-high-contrast;
51
- --rs-text-link-hover: @H400-high-contrast;
52
- --rs-text-link-active: @H300-high-contrast;
53
- --rs-text-primary: @B050-high-contrast;
54
- --rs-text-secondary: @B200-high-contrast;
55
- --rs-text-tertiary: @B300-high-contrast;
56
- --rs-text-heading: @B000-high-contrast;
57
- --rs-text-inverse: @B800-high-contrast;
58
- --rs-text-heading-inverse: @B900-high-contrast;
59
- --rs-text-active: @H500-high-contrast;
60
- --rs-text-disabled: @B500-high-contrast;
61
- --rs-border-primary: @B100-high-contrast;
62
- --rs-border-secondary: @B700-high-contrast;
63
- --rs-bg-card: @B800-high-contrast;
64
- --rs-bg-overlay: @B800-high-contrast;
65
- --rs-bg-well: @B900-high-contrast;
66
- --rs-bg-active: @H500-high-contrast;
67
- --rs-bg-backdrop: fade(@B900-high-contrast, 80%);
68
- --rs-state-hover-bg: @B600-high-contrast;
69
- --rs-color-focus-ring: @B000-high-contrast;
70
- --rs-state-focus-shadow: 0 0 0 3px @B900-high-contrast, 0 0 0 5px @B000-high-contrast;
71
- --rs-state-focus-shadow-slim: 0 0 0 2px @B000-high-contrast;
72
- --rs-state-focus-outline: 3px solid fade(@H500-high-contrast, 25%);
60
+ --rs-text-link: var(--rs-primary-500);
61
+ --rs-text-link-hover: var(--rs-primary-400);
62
+ --rs-text-link-active: var(--rs-primary-300);
63
+ --rs-text-primary: var(--rs-gray-50);
64
+ --rs-text-secondary: var(--rs-gray-200);
65
+ --rs-text-tertiary: var(--rs-gray-300);
66
+ --rs-text-heading: var(--rs-gray-0);
67
+ --rs-text-inverse: var(--rs-gray-800);
68
+ --rs-text-heading-inverse: var(--rs-gray-900);
69
+ --rs-text-active: var(--rs-primary-500);
70
+ --rs-text-disabled: var(--rs-gray-500);
71
+ --rs-border-primary: var(--rs-gray-100);
72
+ --rs-border-secondary: var(--rs-gray-700);
73
+ --rs-bg-card: var(--rs-gray-800);
74
+ --rs-bg-overlay: var(--rs-gray-800);
75
+ --rs-bg-well: var(--rs-gray-900);
76
+ --rs-bg-active: var(--rs-primary-500);
77
+ --rs-bg-backdrop: rgb(from var(--rs-gray-900) r g b / 80%);
78
+ --rs-state-hover-bg: var(--rs-gray-600);
79
+ --rs-color-focus-ring: var(--rs-gray-0);
80
+ --rs-state-focus-shadow: 0 0 0 3px var(--rs-gray-900), 0 0 0 5px var(--rs-gray-0);
81
+ --rs-state-focus-shadow-slim: 0 0 0 2px var(--rs-gray-0);
82
+ --rs-state-focus-outline: 3px solid rgb(from var(--rs-primary-500) r g b / 25%);
73
83
  --rs-shadow-overlay: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
74
84
 
75
85
  // Button
76
86
  --rs-btn-default-bg: transparent;
77
- --rs-btn-default-text: @H500-high-contrast;
78
- --rs-btn-default-border: 1px solid @H500-high-contrast;
87
+ --rs-btn-default-text: var(--rs-primary-500);
88
+ --rs-btn-default-border: 1px solid var(--rs-primary-500);
79
89
  --rs-btn-default-hover-bg: transparent;
80
- --rs-btn-default-hover-text: @H400-high-contrast;
90
+ --rs-btn-default-hover-text: var(--rs-primary-400);
81
91
  --rs-btn-default-active-bg: transparent;
82
- --rs-btn-default-active-text: @H200-high-contrast;
92
+ --rs-btn-default-active-text: var(--rs-primary-200);
83
93
  --rs-btn-default-disabled-bg: transparent;
84
- --rs-btn-default-disabled-text: @H500-high-contrast;
85
- --rs-btn-primary-bg: @H500-high-contrast;
86
- --rs-btn-primary-text: @B900-high-contrast;
87
- --rs-btn-primary-hover-bg: @H400-high-contrast;
88
- --rs-btn-primary-active-bg: @H200-high-contrast;
89
- --rs-btn-subtle-text: @H500-high-contrast;
94
+ --rs-btn-default-disabled-text: var(--rs-primary-500);
95
+ --rs-btn-primary-bg: var(--rs-primary-500);
96
+ --rs-btn-primary-text: var(--rs-gray-900);
97
+ --rs-btn-primary-hover-bg: var(--rs-primary-400);
98
+ --rs-btn-primary-active-bg: var(--rs-primary-200);
99
+ --rs-btn-subtle-text: var(--rs-primary-500);
90
100
  --rs-btn-subtle-hover-bg: transparent;
91
- --rs-btn-subtle-hover-text: @H400-high-contrast;
101
+ --rs-btn-subtle-hover-text: var(--rs-primary-400);
92
102
  --rs-btn-subtle-active-bg: transparent;
93
- --rs-btn-subtle-active-text: @H200-high-contrast;
94
- --rs-btn-subtle-disabled-text: @B500-high-contrast;
95
- --rs-btn-ghost-border: @H500-high-contrast;
96
- --rs-btn-ghost-text: @H500-high-contrast;
97
- --rs-btn-ghost-hover-border: @H400-high-contrast;
98
- --rs-btn-ghost-hover-text: @H400-high-contrast;
99
- --rs-btn-ghost-active-border: @H200-high-contrast;
100
- --rs-btn-ghost-active-text: @H200-high-contrast;
101
- --rs-btn-link-text: @H500-high-contrast;
102
- --rs-btn-link-hover-text: @H400-high-contrast;
103
- --rs-btn-link-active-text: @H200-high-contrast;
103
+ --rs-btn-subtle-active-text: var(--rs-primary-200);
104
+ --rs-btn-subtle-disabled-text: var(--rs-gray-500);
105
+ --rs-btn-ghost-border: var(--rs-primary-500);
106
+ --rs-btn-ghost-text: var(--rs-primary-500);
107
+ --rs-btn-ghost-hover-border: var(--rs-primary-400);
108
+ --rs-btn-ghost-hover-text: var(--rs-primary-400);
109
+ --rs-btn-ghost-active-border: var(--rs-primary-200);
110
+ --rs-btn-ghost-active-text: var(--rs-primary-200);
111
+ --rs-btn-link-text: var(--rs-primary-500);
112
+ --rs-btn-link-hover-text: var(--rs-primary-400);
113
+ --rs-btn-link-active-text: var(--rs-primary-200);
104
114
 
105
115
  // Icon Button
106
116
  --rs-iconbtn-addon: transparent;
107
117
  --rs-iconbtn-activated-addon: transparent;
108
118
  --rs-iconbtn-pressed-addon: transparent;
109
- --rs-iconbtn-primary-addon: @H400-high-contrast;
110
- --rs-iconbtn-primary-activated-addon: @H300-high-contrast;
111
- --rs-iconbtn-primary-pressed-addon: @H100-high-contrast;
119
+ --rs-iconbtn-primary-addon: var(--rs-primary-400);
120
+ --rs-iconbtn-primary-activated-addon: var(--rs-primary-300);
121
+ --rs-iconbtn-primary-pressed-addon: var(--rs-primary-100);
112
122
 
113
123
  // Divider
114
- --rs-divider-border: @B600-high-contrast;
124
+ --rs-divider-border: var(--rs-gray-600);
115
125
 
116
126
  // Loader
117
- --rs-loader-ring: fade(@B050-high-contrast, 30);
118
- --rs-loader-rotor: @B000-high-contrast;
119
- --rs-loader-backdrop: fade(@B900-high-contrast, 83%);
120
- --rs-loader-ring-inverse: fade(@B050-high-contrast, 80);
121
- --rs-loader-rotor-inverse: @B500-high-contrast;
122
- --rs-loader-backdrop-inverse: fade(@B000-high-contrast, 90);
127
+ --rs-loader-ring: rgb(from var(--rs-gray-50) r g b / 30%);
128
+ --rs-loader-rotor: var(--rs-gray-0);
129
+ --rs-loader-backdrop: rgb(from var(--rs-gray-900) r g b / 83%);
130
+ --rs-loader-ring-inverse: rgb(from var(--rs-gray-50) r g b / 80%);
131
+ --rs-loader-rotor-inverse: var(--rs-gray-500);
132
+ --rs-loader-backdrop-inverse: rgb(from var(--rs-gray-0) r g b / 90%);
123
133
 
124
134
  // Message
125
135
  --rs-message-success-header: #fff;
126
136
  --rs-message-success-text: #fff;
127
137
  --rs-message-success-icon: #fff;
128
- --rs-message-success-bg: @green-900;
129
- --rs-message-success-border: @green-300;
138
+ --rs-message-success-bg: var(--rs-green-900);
139
+ --rs-message-success-border: var(--rs-green-300);
130
140
  --rs-message-info-header: #fff;
131
141
  --rs-message-info-text: #fff;
132
142
  --rs-message-info-icon: #fff;
133
- --rs-message-info-bg: @blue-900;
134
- --rs-message-info-border: @blue-500;
143
+ --rs-message-info-bg: var(--rs-blue-900);
144
+ --rs-message-info-border: var(--rs-blue-500);
135
145
  --rs-message-warning-header: #fff;
136
146
  --rs-message-warning-text: #fff;
137
147
  --rs-message-warning-icon: #fff;
138
- --rs-message-warning-bg: @yellow-900;
139
- --rs-message-warning-border: @yellow-500;
148
+ --rs-message-warning-bg: var(--rs-yellow-900);
149
+ --rs-message-warning-border: var(--rs-yellow-500);
140
150
  --rs-message-error-header: #fff;
141
151
  --rs-message-error-text: #fff;
142
152
  --rs-message-error-icon: #fff;
143
- --rs-message-error-bg: @red-900;
144
- --rs-message-error-border: @red-300;
153
+ --rs-message-error-bg: var(--rs-red-900);
154
+ --rs-message-error-border: var(--rs-red-300);
145
155
 
146
156
  // Tooltip
147
- --rs-tooltip-bg: @B800-high-contrast;
148
- --rs-tooltip-text: @B000-high-contrast;
157
+ --rs-tooltip-bg: var(--rs-gray-800);
158
+ --rs-tooltip-text: var(--rs-gray-0);
149
159
 
150
160
  // Progress
151
- --rs-progress-bg: @B700-high-contrast;
152
- --rs-progress-bar: @H500-high-contrast;
153
- --rs-progress-bar-success: @green;
154
- --rs-progress-bar-fail: @red;
161
+ --rs-progress-bg: var(--rs-gray-700);
162
+ --rs-progress-bar: var(--rs-primary-500);
163
+ --rs-progress-bar-success: var(--rs-color-green);
164
+ --rs-progress-bar-fail: var(--rs-color-red);
155
165
 
156
166
  // Placeholder
157
- --rs-placeholder: @B600-high-contrast;
158
- --rs-placeholder-active: lighten(@B600-high-contrast, 5%);
167
+ --rs-placeholder: var(--rs-gray-600);
168
+ --rs-placeholder-active: hsl(from var(--rs-gray-600) h s calc(l + l * 0.2));
159
169
 
160
170
  // Breadcrumb
161
171
  --rs-breadcrumb-item-active-text: #fff;
162
172
 
163
173
  // Dropdown
164
- --rs-dropdown-divider: @B600-high-contrast;
165
- --rs-dropdown-item-bg-hover: @B600-high-contrast;
166
- --rs-dropdown-item-bg-active: fade(@H900-high-contrast, 20);
167
- --rs-dropdown-item-text-active: @H500-high-contrast;
168
- --rs-dropdown-header-text: @B500-high-contrast;
174
+ --rs-dropdown-divider: var(--rs-gray-600);
175
+ --rs-dropdown-item-bg-hover: var(--rs-gray-600);
176
+ --rs-dropdown-item-bg-active: rgb(from var(--rs-primary-900) r g b / 20%);
177
+ --rs-dropdown-item-text-active: var(--rs-primary-500);
178
+ --rs-dropdown-header-text: var(--rs-gray-500);
169
179
  --rs-dropdown-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.2), 0 4px 4px 3px rgba(0, 0, 0, 0.24);
170
180
 
171
181
  // ARIA menu
172
182
  --rs-menuitem-active-bg: transparent;
173
- --rs-menuitem-active-text: @H500-high-contrast;
183
+ --rs-menuitem-active-text: var(--rs-primary-500);
174
184
 
175
185
  // Steps
176
- --rs-steps-border: @B200-high-contrast;
177
- --rs-steps-state-finish: @H500-high-contrast;
178
- --rs-steps-border-state-finish: @H500-high-contrast;
179
- --rs-steps-state-wait: @B200-high-contrast;
180
- --rs-steps-state-process: @H700-high-contrast;
181
- --rs-steps-state-error: @red;
182
- --rs-steps-border-state-error: @red;
183
- --rs-steps-icon-state-process: @H500-high-contrast;
184
- --rs-steps-icon-state-error: @red;
186
+ --rs-steps-border: var(--rs-gray-200);
187
+ --rs-steps-state-finish: var(--rs-primary-500);
188
+ --rs-steps-border-state-finish: var(--rs-primary-500);
189
+ --rs-steps-state-wait: var(--rs-gray-200);
190
+ --rs-steps-state-process: var(--rs-primary-700);
191
+ --rs-steps-state-error: var(--rs-color-red);
192
+ --rs-steps-border-state-error: var(--rs-color-red);
193
+ --rs-steps-icon-state-process: var(--rs-primary-500);
194
+ --rs-steps-icon-state-error: var(--rs-color-red);
185
195
 
186
196
  // Navs
187
- --rs-navs-text: @B200-high-contrast;
188
- --rs-navs-text-hover: @H500-high-contrast;
197
+ --rs-navs-text: var(--rs-gray-200);
198
+ --rs-navs-text-hover: var(--rs-primary-500);
189
199
  --rs-navs-bg-hover: transparent;
190
- --rs-navs-text-active: @H500-high-contrast;
191
- --rs-navs-bg-active: @B400-high-contrast;
192
- --rs-navs-tab-border: @B600-high-contrast;
193
- --rs-navs-subtle-border: @B600-high-contrast;
194
- --rs-navs-selected: @H500-high-contrast;
200
+ --rs-navs-text-active: var(--rs-primary-500);
201
+ --rs-navs-bg-active: var(--rs-gray-400);
202
+ --rs-navs-tab-border: var(--rs-gray-600);
203
+ --rs-navs-subtle-border: var(--rs-gray-600);
204
+ --rs-navs-selected: var(--rs-primary-500);
195
205
 
196
206
  // Navbar
197
- --rs-navbar-default-bg: @B800-high-contrast;
198
- --rs-navbar-default-text: @B050-high-contrast;
199
- --rs-navbar-default-selected-text: @H500-high-contrast;
207
+ --rs-navbar-default-bg: var(--rs-gray-800);
208
+ --rs-navbar-default-text: var(--rs-gray-50);
209
+ --rs-navbar-default-selected-text: var(--rs-primary-500);
200
210
  --rs-navbar-default-hover-bg: transparent;
201
- --rs-navbar-default-hover-text: @H500-high-contrast;
202
- --rs-navbar-inverse-bg: @B800-high-contrast;
203
- --rs-navbar-inverse-text: @B050-high-contrast;
211
+ --rs-navbar-default-hover-text: var(--rs-primary-500);
212
+ --rs-navbar-inverse-bg: var(--rs-gray-800);
213
+ --rs-navbar-inverse-text: var(--rs-gray-50);
204
214
  --rs-navbar-inverse-selected-bg: transparent;
205
- --rs-navbar-inverse-selected-text: @H500-high-contrast;
215
+ --rs-navbar-inverse-selected-text: var(--rs-primary-500);
206
216
  --rs-navbar-inverse-hover-bg: transparent;
207
- --rs-navbar-inverse-hover-text: @H500-high-contrast;
208
- --rs-navbar-subtle-bg: @B800-high-contrast;
209
- --rs-navbar-subtle-text: @B050-high-contrast;
210
- --rs-navbar-subtle-selected-text: @H500-high-contrast;
217
+ --rs-navbar-inverse-hover-text: var(--rs-primary-500);
218
+ --rs-navbar-subtle-bg: var(--rs-gray-800);
219
+ --rs-navbar-subtle-text: var(--rs-gray-50);
220
+ --rs-navbar-subtle-selected-text: var(--rs-primary-500);
211
221
  --rs-navbar-subtle-hover-bg: transparent;
212
- --rs-navbar-subtle-hover-text: @H500-high-contrast;
222
+ --rs-navbar-subtle-hover-text: var(--rs-primary-500);
213
223
 
214
224
  // Sidenav
215
- --rs-sidenav-default-bg: @B800-high-contrast;
216
- --rs-sidenav-default-text: @B050-high-contrast;
217
- --rs-sidenav-default-selected-text: @H500-high-contrast;
225
+ --rs-sidenav-default-bg: var(--rs-gray-800);
226
+ --rs-sidenav-default-text: var(--rs-gray-50);
227
+ --rs-sidenav-default-selected-text: var(--rs-primary-500);
218
228
  --rs-sidenav-default-hover-bg: transparent;
219
- --rs-sidenav-default-hover-text: @H500-high-contrast;
220
- --rs-sidenav-default-footer-border: @B050-high-contrast;
221
- --rs-sidenav-inverse-bg: @B800-high-contrast;
222
- --rs-sidenav-inverse-text: @B050-high-contrast;
229
+ --rs-sidenav-default-hover-text: var(--rs-primary-500);
230
+ --rs-sidenav-default-footer-border: var(--rs-gray-50);
231
+ --rs-sidenav-inverse-bg: var(--rs-gray-800);
232
+ --rs-sidenav-inverse-text: var(--rs-gray-50);
223
233
  --rs-sidenav-inverse-selected-bg: transparent;
224
- --rs-sidenav-inverse-selected-text: @H500-high-contrast;
234
+ --rs-sidenav-inverse-selected-text: var(--rs-primary-500);
225
235
  --rs-sidenav-inverse-hover-bg: transparent;
226
- --rs-sidenav-inverse-footer-border: @B050-high-contrast;
227
- --rs-sidenav-subtle-bg: @B800-high-contrast;
228
- --rs-sidenav-subtle-text: @B050-high-contrast;
229
- --rs-sidenav-subtle-selected-text: @H500-high-contrast;
236
+ --rs-sidenav-inverse-footer-border: var(--rs-gray-50);
237
+ --rs-sidenav-subtle-bg: var(--rs-gray-800);
238
+ --rs-sidenav-subtle-text: var(--rs-gray-50);
239
+ --rs-sidenav-subtle-selected-text: var(--rs-primary-500);
230
240
  --rs-sidenav-subtle-hover-bg: transparent;
231
- --rs-sidenav-subtle-hover-text: @H500-high-contrast;
232
- --rs-sidenav-subtle-footer-border: @B050-high-contrast;
241
+ --rs-sidenav-subtle-hover-text: var(--rs-primary-500);
242
+ --rs-sidenav-subtle-footer-border: var(--rs-gray-50);
233
243
 
234
244
  // Input
235
- --rs-input-bg: @B800-high-contrast;
236
- --rs-input-focus-border: @H500-high-contrast;
237
- --rs-input-disabled-bg: @B700-high-contrast;
245
+ --rs-input-bg: var(--rs-gray-800);
246
+ --rs-input-focus-border: var(--rs-primary-500);
247
+ --rs-input-disabled-bg: var(--rs-gray-700);
238
248
 
239
249
  // ARIA Listboxes
240
250
  --rs-listbox-option-hover-bg: transparent;
241
- --rs-listbox-option-hover-text: @H500-high-contrast;
242
- --rs-listbox-option-selected-text: @H500-high-contrast;
251
+ --rs-listbox-option-hover-text: var(--rs-primary-500);
252
+ --rs-listbox-option-selected-text: var(--rs-primary-500);
243
253
  --rs-listbox-option-selected-bg: transparent;
244
- --rs-listbox-option-disabled-text: @B500-high-contrast;
245
- --rs-listbox-option-disabled-selected-text: @H200-high-contrast;
254
+ --rs-listbox-option-disabled-text: var(--rs-gray-500);
255
+ --rs-listbox-option-disabled-selected-text: var(--rs-primary-200);
246
256
 
247
257
  // Checkbox
248
- --rs-checkbox-icon: @B800-high-contrast;
249
- --rs-checkbox-border: @B100-high-contrast;
250
- --rs-checkbox-checked-bg: @H500-high-contrast;
251
- --rs-checkbox-disabled-bg: @B500-high-contrast;
258
+ --rs-checkbox-icon: var(--rs-gray-800);
259
+ --rs-checkbox-border: var(--rs-gray-100);
260
+ --rs-checkbox-checked-bg: var(--rs-primary-500);
261
+ --rs-checkbox-disabled-bg: var(--rs-gray-500);
252
262
 
253
263
  // Radio
254
- --rs-radio-marker: @B800-high-contrast;
255
- --rs-radio-border: @B100-high-contrast;
256
- --rs-radio-checked-bg: @H500-high-contrast;
257
- --rs-radio-disabled-bg: @B500-high-contrast;
264
+ --rs-radio-marker: var(--rs-gray-800);
265
+ --rs-radio-border: var(--rs-gray-100);
266
+ --rs-radio-checked-bg: var(--rs-primary-500);
267
+ --rs-radio-disabled-bg: var(--rs-gray-500);
258
268
 
259
269
  // RadioTile
260
- --rs-radio-tile-border: @B300-high-contrast;
261
- --rs-radio-tile-bg: @B000-high-contrast;
262
- --rs-radio-tile-checked-color: @H500-high-contrast;
263
- --rs-radio-tile-checked-mark-color: @B800-high-contrast;
264
- --rs-radio-tile-checked-disabled-color: @H900-high-contrast;
270
+ --rs-radio-tile-border: var(--rs-gray-300);
271
+ --rs-radio-tile-bg: var(--rs-gray-0);
272
+ --rs-radio-tile-checked-color: var(--rs-primary-500);
273
+ --rs-radio-tile-checked-mark-color: var(--rs-gray-800);
274
+ --rs-radio-tile-checked-disabled-color: var(--rs-primary-900);
265
275
 
266
276
  // Rate
267
- --rs-rate-symbol: @B100-high-contrast;
268
- --rs-rate-symbol-checked: @H500-high-contrast;
277
+ --rs-rate-symbol: var(--rs-gray-100);
278
+ --rs-rate-symbol-checked: var(--rs-primary-500);
269
279
 
270
280
  // Toggle
271
- --rs-toggle-bg: @B800-high-contrast;
272
- --rs-toggle-thumb: @B100-high-contrast;
273
- --rs-toggle-hover-bg: @B800-high-contrast;
274
- --rs-toggle-disabled-bg: @B800-high-contrast;
275
- --rs-toggle-disabled-thumb: @B300-high-contrast;
276
- --rs-toggle-checked-bg: @H500-high-contrast;
277
- --rs-toggle-checked-thumb: @B800-high-contrast;
278
- --rs-toggle-checked-hover-bg: @H400-high-contrast;
279
- --rs-toggle-checked-disabled-bg: @H900-high-contrast;
280
- --rs-toggle-checked-disabled-thumb: @B800-high-contrast;
281
+ --rs-toggle-bg: var(--rs-gray-800);
282
+ --rs-toggle-thumb: var(--rs-gray-100);
283
+ --rs-toggle-hover-bg: var(--rs-gray-800);
284
+ --rs-toggle-disabled-bg: var(--rs-gray-800);
285
+ --rs-toggle-disabled-thumb: var(--rs-gray-300);
286
+ --rs-toggle-checked-bg: var(--rs-primary-500);
287
+ --rs-toggle-checked-thumb: var(--rs-gray-800);
288
+ --rs-toggle-checked-hover-bg: var(--rs-primary-400);
289
+ --rs-toggle-checked-disabled-bg: var(--rs-primary-900);
290
+ --rs-toggle-checked-disabled-thumb: var(--rs-gray-800);
281
291
 
282
292
  // Slider
283
- --rs-slider-bar: @B600-high-contrast;
284
- --rs-slider-hover-bar: @B600-high-contrast;
285
- --rs-slider-thumb-border: @H500-high-contrast;
286
- --rs-slider-thumb-bg: @B700-high-contrast;
287
- --rs-slider-thumb-hover-shadow: 0 0 0 8px fade(@H500-high-contrast, 25);
288
- --rs-slider-progress: @H500-high-contrast;
293
+ --rs-slider-bar: var(--rs-gray-600);
294
+ --rs-slider-hover-bar: var(--rs-gray-600);
295
+ --rs-slider-thumb-border: var(--rs-primary-500);
296
+ --rs-slider-thumb-bg: var(--rs-gray-700);
297
+ --rs-slider-thumb-hover-shadow: 0 0 0 8px rgb(from var(--rs-primary-500) r g b / 25%);
298
+ --rs-slider-progress: var(--rs-primary-500);
289
299
 
290
300
  // Uploader
291
- --rs-uploader-item-bg: @B300-high-contrast;
292
- --rs-uploader-item-hover-bg: @B800-high-contrast;
293
- --rs-uploader-item-hover-text: @H500-high-contrast;
294
- --rs-uploader-overlay-bg: fade(@B600-high-contrast, 80);
295
- --rs-uploader-dnd-bg: @B700-high-contrast;
296
- --rs-uploader-dnd-border: @B200-high-contrast;
297
- --rs-uploader-dnd-hover-border: @H500-high-contrast;
301
+ --rs-uploader-item-bg: var(--rs-gray-300);
302
+ --rs-uploader-item-hover-bg: var(--rs-gray-800);
303
+ --rs-uploader-item-hover-text: var(--rs-primary-500);
304
+ --rs-uploader-overlay-bg: rgb(from var(--rs-gray-600) r g b / 80%);
305
+ --rs-uploader-dnd-bg: var(--rs-gray-700);
306
+ --rs-uploader-dnd-border: var(--rs-gray-200);
307
+ --rs-uploader-dnd-hover-border: var(--rs-primary-500);
298
308
 
299
309
  // Avatar
300
- --rs-avatar-bg: @B400-high-contrast;
301
- --rs-avatar-text: @B000-high-contrast;
310
+ --rs-avatar-bg: var(--rs-gray-400);
311
+ --rs-avatar-text: var(--rs-gray-0);
302
312
 
303
313
  // Badge
304
- --rs-badge-bg: @red-500;
305
- --rs-badge-text: @B000-high-contrast;
314
+ --rs-badge-bg: var(--rs-red-500);
315
+ --rs-badge-text: var(--rs-gray-0);
306
316
 
307
317
  // Tag
308
- --rs-tag-bg: @B600-high-contrast;
309
- --rs-tag-close: @red;
318
+ --rs-tag-bg: var(--rs-gray-600);
319
+ --rs-tag-close: var(--rs-color-red);
310
320
 
311
321
  // Carousel
312
- --rs-carousel-bg: @B600-high-contrast;
313
- --rs-carousel-indicator: fade(@B000-high-contrast, 40);
314
- --rs-carousel-indicator-hover: @B000-high-contrast;
315
- --rs-carousel-indicator-active: @H500-high-contrast;
322
+ --rs-carousel-bg: var(--rs-gray-600);
323
+ --rs-carousel-indicator: rgb(from var(--rs-gray-0) r g b / 40%);
324
+ --rs-carousel-indicator-hover: var(--rs-gray-0);
325
+ --rs-carousel-indicator-active: var(--rs-primary-500);
316
326
 
317
327
  // Panel
318
328
  --rs-panel-shadow: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
319
329
 
320
330
  // Pagination
321
- --rs-pagination-item-text: @B050-high-contrast;
322
- --rs-pagination-item-current-text: @H500-high-contrast;
331
+ --rs-pagination-item-text: var(--rs-gray-50);
332
+ --rs-pagination-item-current-text: var(--rs-primary-500);
323
333
 
324
334
  // List
325
335
  --rs-list-bg: transparent;
326
- --rs-list-border: @B700-high-contrast;
327
- --rs-list-hover-bg: @B600-high-contrast;
328
- --rs-list-placeholder-bg: fade(@H900-high-contrast, 20%);
329
- --rs-list-placeholder-border: @H500-high-contrast;
336
+ --rs-list-border: var(--rs-gray-700);
337
+ --rs-list-hover-bg: var(--rs-gray-600);
338
+ --rs-list-placeholder-bg: rgb(from var(--rs-primary-900) r g b / 20%);
339
+ --rs-list-placeholder-border: var(--rs-primary-500);
330
340
 
331
341
  // Timeline
332
- --rs-timeline-indicator-bg: @B500-high-contrast;
333
- --rs-timeline-indicator-active-bg: @H500-high-contrast;
342
+ --rs-timeline-indicator-bg: var(--rs-gray-500);
343
+ --rs-timeline-indicator-active-bg: var(--rs-primary-500);
334
344
 
335
345
  // Table
336
346
  --rs-table-shadow: rgba(9, 9, 9, 0.99);
337
- --rs-table-sort: @H500-high-contrast;
338
- --rs-table-resize: @H500-high-contrast;
339
- --rs-table-scrollbar-track: @B700-high-contrast;
340
- --rs-table-scrollbar-thumb: @B200-high-contrast;
341
- --rs-table-scrollbar-thumb-active: @B100-high-contrast;
342
- --rs-table-scrollbar-vertical-track: @B700-high-contrast;
347
+ --rs-table-sort: var(--rs-primary-500);
348
+ --rs-table-resize: var(--rs-primary-500);
349
+ --rs-table-scrollbar-track: var(--rs-gray-700);
350
+ --rs-table-scrollbar-thumb: var(--rs-gray-200);
351
+ --rs-table-scrollbar-thumb-active: var(--rs-gray-100);
352
+ --rs-table-scrollbar-vertical-track: var(--rs-gray-700);
343
353
 
344
354
  // Drawer
345
- --rs-drawer-bg: @B700-high-contrast;
355
+ --rs-drawer-bg: var(--rs-gray-700);
346
356
  --rs-drawer-shadow: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
347
357
 
348
358
  // Modal
349
359
  --rs-modal-shadow: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
350
- --rs-modal-border: 1px solid @B100-high-contrast;
360
+ --rs-modal-border: 1px solid var(--rs-gray-100);
351
361
 
352
362
  // Form
353
363
  --rs-form-errormessage-text: #fff;
354
- --rs-form-errormessage-bg: @red-500;
355
- --rs-form-errormessage-border: @red-500;
364
+ --rs-form-errormessage-bg: var(--rs-red-500);
365
+ --rs-form-errormessage-border: var(--rs-red-500);
356
366
 
357
367
  // Picker
358
- --rs-picker-value: @H500-high-contrast;
359
- --rs-picker-count-bg: @H500-high-contrast;
360
- --rs-picker-count-text: @B900-high-contrast;
368
+ --rs-picker-value: var(--rs-primary-500);
369
+ --rs-picker-count-bg: var(--rs-primary-500);
370
+ --rs-picker-count-text: var(--rs-gray-900);
361
371
 
362
372
  // Calendar
363
- --rs-calendar-today-bg: @H500-high-contrast;
364
- --rs-calendar-today-text: @B900-high-contrast;
365
- --rs-calendar-range-bg: fade(@H900-high-contrast, 50%);
366
- --rs-calendar-time-unit-bg: @B900-high-contrast;
367
- --rs-calendar-date-selected-text: @B900-high-contrast;
368
- --rs-calendar-cell-selected-hover-bg: @B050-high-contrast;
373
+ --rs-calendar-today-bg: var(--rs-primary-500);
374
+ --rs-calendar-today-text: var(--rs-gray-900);
375
+ --rs-calendar-range-bg: rgb(from var(--rs-primary-900) r g b / 50%);
376
+ --rs-calendar-time-unit-bg: var(--rs-gray-900);
377
+ --rs-calendar-date-selected-text: var(--rs-gray-900);
378
+ --rs-calendar-cell-selected-hover-bg: var(--rs-gray-50);
369
379
 
370
380
  // Popover
371
381
  --rs-popover-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
382
+
383
+ // CSS relative color syntax is not supported
384
+ // https://developer.chrome.com/blog/css-relative-color-syntax/
385
+ @supports not (color: rgb(from white r g b)) {
386
+ // Misc
387
+ --rs-bg-backdrop: fade(@B900-high-contrast, 80%);
388
+ --rs-state-focus-outline: 3px solid fade(@H500-high-contrast, 25%);
389
+
390
+ // Loader
391
+ --rs-loader-ring: fade(@B050-high-contrast, 30);
392
+ --rs-loader-backdrop: fade(@B900-high-contrast, 83%);
393
+ --rs-loader-ring-inverse: fade(@B050-high-contrast, 80);
394
+ --rs-loader-backdrop-inverse: fade(@B000-high-contrast, 90);
395
+
396
+ // Dropdown
397
+ --rs-dropdown-item-bg-active: fade(@H900-high-contrast, 20);
398
+
399
+ // Slider
400
+ --rs-slider-thumb-hover-shadow: 0 0 0 8px fade(@H500-high-contrast, 25);
401
+
402
+ // Uploader
403
+ --rs-uploader-overlay-bg: fade(@B600-high-contrast, 80);
404
+
405
+ // Carousel
406
+ --rs-carousel-indicator: fade(@B000-high-contrast, 40);
407
+
408
+ // List
409
+ --rs-list-placeholder-bg: fade(@H900-high-contrast, 20%);
410
+
411
+ // Calendar
412
+ --rs-calendar-range-bg: fade(@H900-high-contrast, 50%);
413
+
414
+ // Placeholder
415
+ --rs-placeholder-active: lighten(@B600-high-contrast, 5%);
416
+ }
372
417
  }