@ecopages/radiant-themes 0.2.0 → 0.2.2
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.
- package/README.md +37 -17
- package/dist/compiled/themes/cloudflare/compact.css +56 -14
- package/dist/compiled/themes/cloudflare.css +56 -14
- package/dist/compiled/themes/github/compact.css +310 -65
- package/dist/compiled/themes/github.css +310 -65
- package/dist/compiled/themes/high-contrast/compact.css +108 -11
- package/dist/compiled/themes/high-contrast.css +108 -11
- package/dist/compiled/themes/macos/compact.css +698 -272
- package/dist/compiled/themes/macos-classic/compact.css +455 -16
- package/dist/compiled/themes/macos-classic.css +455 -16
- package/dist/compiled/themes/macos.css +698 -272
- package/dist/compiled/themes/material/compact.css +461 -136
- package/dist/compiled/themes/material.css +461 -136
- package/dist/compiled/themes/vercel/compact.css +118 -66
- package/dist/compiled/themes/vercel.css +118 -66
- package/dist/compiled/themes/vscode/compact.css +310 -40
- package/dist/compiled/themes/vscode.css +310 -40
- package/dist/compiled/themes/windows95/compact.css +408 -22
- package/dist/compiled/themes/windows95.css +408 -22
- package/dist/foundation.css +13 -0
- package/dist/tokens/colors/cloudflare.css +1 -1
- package/dist/tokens/colors/github.css +32 -0
- package/dist/tokens/colors/macos.css +65 -25
- package/dist/tokens/colors/material.css +61 -20
- package/dist/tokens/colors/vercel.css +43 -39
- package/dist/tokens/colors/vscode.css +48 -4
- package/dist/tokens/colors/windows95.css +10 -5
- package/dist/tokens/components/cloudflare.css +63 -7
- package/dist/tokens/components/github.css +287 -39
- package/dist/tokens/components/high-contrast.css +106 -11
- package/dist/tokens/components/macos-classic.css +549 -15
- package/dist/tokens/components/macos.css +555 -96
- package/dist/tokens/components/material.css +360 -29
- package/dist/tokens/components/vercel.css +83 -19
- package/dist/tokens/components/vscode.css +280 -27
- package/dist/tokens/components/windows95.css +470 -18
- package/dist/tokens/roles/cloudflare.css +1 -1
- package/dist/tokens/roles/github.css +12 -12
- package/dist/tokens/roles/macos.css +97 -93
- package/dist/tokens/roles/material.css +65 -65
- package/dist/tokens/roles/vercel.css +3 -3
- package/package.json +3 -3
|
@@ -1,75 +1,282 @@
|
|
|
1
1
|
@reference 'tailwindcss';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @remarks Primer uses its accent blue for selection, checked, current, and focus states, so `--primary` is blue.
|
|
5
|
+
* Green belongs only to the primary button and progress, which these rules set directly.
|
|
6
|
+
*/
|
|
3
7
|
:root,
|
|
4
8
|
:root[data-rui-theme='github'] {
|
|
5
|
-
--font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
6
|
-
--font-heading: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
7
|
-
--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
9
|
+
--font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;
|
|
10
|
+
--font-heading: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;
|
|
11
|
+
--font-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
|
|
8
12
|
--rui-border-alpha: 100%;
|
|
9
|
-
--border-radius-xs: 0.
|
|
13
|
+
--border-radius-xs: 0.1875rem;
|
|
10
14
|
--border-radius-sm: 0.375rem;
|
|
11
|
-
--border-radius-md: 0.
|
|
15
|
+
--border-radius-md: 0.375rem;
|
|
12
16
|
--border-radius-lg: 0.75rem;
|
|
13
|
-
--border-radius-xl:
|
|
14
|
-
--border-radius-2xl:
|
|
17
|
+
--border-radius-xl: 0.75rem;
|
|
18
|
+
--border-radius-2xl: 1rem;
|
|
15
19
|
--border-radius-3xl: 1.5rem;
|
|
16
20
|
--radius-control: var(--border-radius-sm);
|
|
17
21
|
--radius-container: var(--border-radius-md);
|
|
22
|
+
--size-control-sm: 1.75rem;
|
|
23
|
+
--size-control-md: 2rem;
|
|
24
|
+
--size-control-lg: 2.5rem;
|
|
18
25
|
}
|
|
19
26
|
|
|
20
27
|
@layer components {
|
|
28
|
+
:root rui-tabs {
|
|
29
|
+
--rui-tabs-indicator-color: #fd8c73;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:root.dark rui-tabs {
|
|
33
|
+
--rui-tabs-indicator-color: #f78166;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:root .rui-meter {
|
|
37
|
+
--rui-meter-fill-color: var(--color-github-green);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
:root .rui-switch {
|
|
41
|
+
--rui-switch-width: 3rem;
|
|
42
|
+
--rui-switch-height: 1.5rem;
|
|
43
|
+
--rui-switch-thumb-size: 1.5rem;
|
|
44
|
+
--rui-switch-track: var(--color-github-track);
|
|
45
|
+
--rui-switch-track-hover: var(--color-github-button-active);
|
|
46
|
+
--rui-switch-track-on-hover: var(--primary-dark);
|
|
47
|
+
--rui-switch-thumb: var(--color-github-canvas);
|
|
48
|
+
--rui-switch-thumb-on: var(--color-github-canvas);
|
|
49
|
+
}
|
|
50
|
+
|
|
21
51
|
/**
|
|
22
|
-
* @remarks Primer
|
|
23
|
-
* red used for error text on dark surfaces.
|
|
52
|
+
* @remarks Primer's toggle switch is a 6px rounded track with a full-height bordered knob, not a pill.
|
|
24
53
|
*/
|
|
25
|
-
:root
|
|
26
|
-
|
|
54
|
+
:root .rui-switch__track {
|
|
55
|
+
@apply rounded-control p-0;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
:root .rui-switch__thumb,
|
|
59
|
+
:root .rui-switch__input:checked + .rui-switch__track .rui-switch__thumb {
|
|
60
|
+
@apply rounded-control;
|
|
61
|
+
border: 1px solid var(--color-github-knob-border);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
:root .rui-switch__thumb {
|
|
65
|
+
left: 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
:root .rui-switch__input:checked + .rui-switch__track .rui-switch__thumb {
|
|
69
|
+
right: 0;
|
|
70
|
+
left: auto;
|
|
71
|
+
border-color: var(--primary);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Buttons follow Primer's variants: a grey default button, a green primary button, and a danger button that keeps the
|
|
76
|
+
* default face with red text until hovered.
|
|
77
|
+
*/
|
|
78
|
+
:root .rui-button {
|
|
79
|
+
@apply rounded-control border border-transparent font-medium shadow-none;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
:root .rui-button--outline {
|
|
83
|
+
border-color: var(--color-github-border);
|
|
84
|
+
background-color: var(--color-github-button-bg);
|
|
85
|
+
color: var(--color-github-fg);
|
|
86
|
+
box-shadow: 0 1px 0 0 rgb(31 35 40 / 0.04);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
:root .rui-button--outline:hover:not(:disabled) {
|
|
90
|
+
background-color: var(--color-github-button-hover);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
:root .rui-button--outline:active:not(:disabled) {
|
|
94
|
+
background-color: var(--color-github-button-active);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
:root .rui-button--filled,
|
|
98
|
+
:root .rui-button--primary {
|
|
99
|
+
border-color: rgb(31 35 40 / 0.15);
|
|
100
|
+
background-color: var(--color-github-button-primary);
|
|
101
|
+
background-image: none;
|
|
27
102
|
color: #ffffff;
|
|
103
|
+
box-shadow: 0 1px 0 0 rgb(31 35 40 / 0.1);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
:root .rui-button--filled:hover:not(:disabled),
|
|
107
|
+
:root .rui-button--primary:hover:not(:disabled) {
|
|
108
|
+
background-color: var(--color-github-button-primary-hover);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
:root .rui-button--filled:active:not(:disabled),
|
|
112
|
+
:root .rui-button--primary:active:not(:disabled) {
|
|
113
|
+
background-color: var(--color-github-button-primary-active);
|
|
28
114
|
}
|
|
29
115
|
|
|
30
|
-
:root
|
|
31
|
-
|
|
116
|
+
:root .rui-button--destructive {
|
|
117
|
+
border-color: var(--color-github-border);
|
|
118
|
+
background-color: var(--color-github-button-bg);
|
|
119
|
+
background-image: none;
|
|
120
|
+
color: var(--color-github-danger-fg);
|
|
32
121
|
}
|
|
33
122
|
|
|
34
|
-
:root
|
|
123
|
+
:root .rui-button--destructive:hover:not(:disabled) {
|
|
124
|
+
border-color: rgb(31 35 40 / 0.15);
|
|
35
125
|
background-color: #a40e26;
|
|
126
|
+
color: #ffffff;
|
|
36
127
|
}
|
|
37
128
|
|
|
38
|
-
:root rui-
|
|
39
|
-
|
|
129
|
+
:root .rui-button--destructive:active:not(:disabled) {
|
|
130
|
+
background-color: #8b0820;
|
|
131
|
+
color: #ffffff;
|
|
40
132
|
}
|
|
41
133
|
|
|
42
|
-
:root.
|
|
43
|
-
--
|
|
134
|
+
:root .rui-button--ghost {
|
|
135
|
+
color: var(--color-github-fg);
|
|
44
136
|
}
|
|
45
137
|
|
|
46
|
-
:root .rui-button {
|
|
47
|
-
|
|
138
|
+
:root .rui-button--ghost:hover:not(:disabled) {
|
|
139
|
+
background-color: var(--color-github-transparent-hover);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
:root .rui-button--ghost:active:not(:disabled) {
|
|
143
|
+
background-color: var(--color-github-transparent-selected);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
:root .rui-pagination__link[aria-current='page'],
|
|
147
|
+
:root .rui-pagination__link[aria-current='page']:hover:not(:disabled) {
|
|
148
|
+
border-color: transparent;
|
|
149
|
+
background-color: var(--primary);
|
|
150
|
+
color: var(--on-primary);
|
|
151
|
+
box-shadow: none;
|
|
48
152
|
}
|
|
49
153
|
|
|
50
|
-
:root .rui-button--outline,
|
|
51
154
|
:root .rui-input,
|
|
52
155
|
:root .rui-textarea,
|
|
156
|
+
:root .rui-combobox__control,
|
|
157
|
+
:root .rui-date-field__group,
|
|
158
|
+
:root .rui-date-range-picker__group,
|
|
159
|
+
:root .rui-input-group,
|
|
160
|
+
:root .rui-number-field__group,
|
|
161
|
+
:root rui-date-input:where(:not([data-date-field-input], [data-range-start], [data-range-end])),
|
|
53
162
|
:root .rui-select__control {
|
|
54
|
-
@apply
|
|
163
|
+
@apply bg-surface text-on-surface shadow-none;
|
|
55
164
|
border-color: var(--rui-control-border-color);
|
|
56
165
|
}
|
|
57
166
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
167
|
+
/**
|
|
168
|
+
* @remarks Primer's select is a default button with a caret, so it shares the button face instead of the field fill.
|
|
169
|
+
*/
|
|
170
|
+
:root .rui-select__control {
|
|
171
|
+
background-color: var(--color-github-button-bg);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
:root .rui-select__control:hover:not(:disabled) {
|
|
175
|
+
background-color: var(--color-github-button-hover);
|
|
61
176
|
}
|
|
62
177
|
|
|
63
178
|
:root .rui-checkbox__control {
|
|
64
|
-
@apply rounded-xs
|
|
179
|
+
@apply rounded-xs bg-surface;
|
|
180
|
+
border-color: var(--rui-control-border-color);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
:root .rui-radio__control {
|
|
65
184
|
border-color: var(--rui-control-border-color);
|
|
66
185
|
}
|
|
67
186
|
|
|
187
|
+
/**
|
|
188
|
+
* @remarks A checked Primer radio is a thick accent ring around a white center rather than a centered dot.
|
|
189
|
+
*/
|
|
190
|
+
:root .rui-radio__input:checked + .rui-radio__control {
|
|
191
|
+
border-width: 0.3125rem;
|
|
192
|
+
background-color: var(--on-primary);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
:root .rui-radio__input:checked + .rui-radio__control::after {
|
|
196
|
+
display: none;
|
|
197
|
+
}
|
|
198
|
+
|
|
68
199
|
:root .rui-dialog__surface,
|
|
69
|
-
:root .rui-
|
|
70
|
-
:root .rui-select__listbox,
|
|
200
|
+
:root .rui-hover-card__content,
|
|
71
201
|
:root .rui-calendar {
|
|
72
|
-
@apply rounded-
|
|
202
|
+
@apply rounded-xl border border-border shadow-lg;
|
|
203
|
+
background-color: var(--color-github-overlay);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
:root .rui-popover {
|
|
207
|
+
--rui-popover-radius: var(--border-radius-lg);
|
|
208
|
+
--rui-popover-surface: var(--color-github-overlay);
|
|
209
|
+
--rui-popover-border-color: var(--color-github-border);
|
|
210
|
+
--rui-popover-shadow: 0 6px 12px -3px rgb(37 41 46 / 0.04), 0 6px 18px 0 rgb(37 41 46 / 0.12);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
:root .rui-tooltip__content {
|
|
214
|
+
--rui-tooltip-surface: #25292e;
|
|
215
|
+
--rui-tooltip-color: #ffffff;
|
|
216
|
+
--rui-tooltip-radius: var(--border-radius-sm);
|
|
217
|
+
--rui-tooltip-padding-x: 0.5rem;
|
|
218
|
+
--rui-tooltip-padding-y: 0.25rem;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
:root.dark .rui-tooltip__content {
|
|
222
|
+
--rui-tooltip-surface: #3d444d;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
:root .rui-select__listbox .rui-listbox,
|
|
226
|
+
:root .rui-combobox__listbox .rui-listbox {
|
|
227
|
+
@apply bg-transparent p-0;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Action menus: a 12px floating overlay whose items are rounded rows with a neutral hover and selected fill.
|
|
232
|
+
*/
|
|
233
|
+
:root .rui-menu-button__menu,
|
|
234
|
+
:root .rui-menubar__menu,
|
|
235
|
+
:root .rui-select__listbox,
|
|
236
|
+
:root .rui-combobox__listbox {
|
|
237
|
+
@apply rounded-xl border-0 p-2;
|
|
238
|
+
background-color: var(--color-github-overlay);
|
|
239
|
+
box-shadow:
|
|
240
|
+
0 0 0 1px var(--color-github-border),
|
|
241
|
+
0 6px 12px -3px rgb(37 41 46 / 0.04),
|
|
242
|
+
0 6px 18px 0 rgb(37 41 46 / 0.12);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
:root .rui-listbox__option,
|
|
246
|
+
:root .rui-menu-button__item,
|
|
247
|
+
:root .rui-menubar__menu-item {
|
|
248
|
+
@apply rounded-control;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
:root .rui-listbox__option:hover:not([aria-disabled='true']),
|
|
252
|
+
:root .rui-listbox__option[data-active]:not([aria-disabled='true']),
|
|
253
|
+
:root .rui-menu-button__item:hover:not([aria-disabled='true']),
|
|
254
|
+
:root .rui-menubar__menu-item:hover:not([aria-disabled='true']) {
|
|
255
|
+
background-color: var(--color-github-transparent-hover);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* @remarks Primer marks a selected single-select item with a check on a neutral fill, so the indicator uses the
|
|
260
|
+
* foreground color instead of the filled-primary `on-primary`.
|
|
261
|
+
*/
|
|
262
|
+
:root .rui-listbox__option[aria-selected='true']:not([aria-disabled='true']),
|
|
263
|
+
:root .rui-listbox__option[aria-selected='true']:focus-visible,
|
|
264
|
+
:root .rui-menu-button__item[aria-checked='true'],
|
|
265
|
+
:root .rui-sidebar__menu-button[aria-current='page'],
|
|
266
|
+
:root .rui-sidebar__menu-button--active,
|
|
267
|
+
:root .rui-tree__node[aria-selected='true'] {
|
|
268
|
+
@apply rounded-control font-semibold;
|
|
269
|
+
background-color: var(--color-github-transparent-selected);
|
|
270
|
+
background-image: none;
|
|
271
|
+
color: var(--color-github-fg);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
:root .rui-listbox__option[aria-selected='true'] .rui-listbox__option-indicator {
|
|
275
|
+
color: var(--color-github-fg);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
:root .rui-listbox__option[aria-selected='true'][data-active]:not([aria-disabled='true']) {
|
|
279
|
+
--tw-ring-color: transparent;
|
|
73
280
|
}
|
|
74
281
|
|
|
75
282
|
:root rui-tabs[variant='boxed'] {
|
|
@@ -81,7 +288,7 @@
|
|
|
81
288
|
}
|
|
82
289
|
|
|
83
290
|
:root rui-tabs[variant='boxed'] .rui-tabs__tab {
|
|
84
|
-
@apply rounded-none text-on-surface-
|
|
291
|
+
@apply rounded-none text-sm text-on-surface opacity-100;
|
|
85
292
|
}
|
|
86
293
|
|
|
87
294
|
:root rui-tabs[variant='boxed'] .rui-tabs__tab[aria-selected='true'] {
|
|
@@ -90,22 +297,63 @@
|
|
|
90
297
|
}
|
|
91
298
|
|
|
92
299
|
/**
|
|
93
|
-
* @remarks Primer's underline nav has no panel, but Radiant tabs own one. A
|
|
94
|
-
*
|
|
300
|
+
* @remarks Primer's underline nav has no panel, but Radiant tabs own one. A bordered box keeps the panel distinct
|
|
301
|
+
* from the page and clips its content so square code blocks respect the rounded corners.
|
|
95
302
|
*/
|
|
96
303
|
:root rui-tabs[variant='boxed'] .rui-tabs__panel {
|
|
97
304
|
@apply mt-3 overflow-hidden rounded-container border border-border bg-surface;
|
|
98
305
|
}
|
|
99
306
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
307
|
+
/**
|
|
308
|
+
* @remarks Primer labels are outlined pills on a transparent fill; the variant tints only the border and text.
|
|
309
|
+
*/
|
|
310
|
+
:root .rui-badge {
|
|
311
|
+
@apply rounded-pill border border-border font-medium;
|
|
104
312
|
}
|
|
105
313
|
|
|
106
|
-
:root .rui-badge
|
|
107
|
-
|
|
108
|
-
|
|
314
|
+
:root .rui-badge--filled {
|
|
315
|
+
@apply border-primary bg-transparent text-primary;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
:root .rui-badge--destructive {
|
|
319
|
+
@apply border-error bg-transparent;
|
|
320
|
+
color: var(--color-github-danger-fg);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
:root .rui-badge--muted {
|
|
324
|
+
@apply bg-transparent;
|
|
325
|
+
color: var(--color-github-muted-fg);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
:root .rui-chip {
|
|
109
329
|
@apply rounded-pill;
|
|
110
330
|
}
|
|
331
|
+
|
|
332
|
+
:root .rui-feed__article {
|
|
333
|
+
@apply rounded-container border border-border bg-surface shadow-none;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* @remarks Primer's file list uses one bordered surface with horizontal row separators and no vertical cell rules.
|
|
338
|
+
*/
|
|
339
|
+
:root .rui-treegrid {
|
|
340
|
+
@apply rounded-container border border-border bg-surface shadow-none;
|
|
341
|
+
--rui-treegrid-indent: 0.875rem;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
:root .rui-treegrid__cell {
|
|
345
|
+
@apply border-0 bg-transparent px-control-x py-2 text-on-surface;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
:root .rui-treegrid__row--header .rui-treegrid__cell {
|
|
349
|
+
@apply border-b border-border bg-surface-container-low font-semibold;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
:root .rui-treegrid__row:not(.rui-treegrid__row--header):hover .rui-treegrid__cell:not([aria-selected='true']) {
|
|
353
|
+
@apply bg-surface-container-low;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
:root .rui-treegrid__cell[aria-selected='true'] {
|
|
357
|
+
@apply bg-primary-container text-on-primary-container;
|
|
358
|
+
}
|
|
111
359
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
@reference 'tailwindcss';
|
|
2
2
|
|
|
3
|
-
:root,
|
|
3
|
+
:root,
|
|
4
|
+
:root[data-rui-theme='high-contrast'] {
|
|
4
5
|
--font-sans: ui-sans-serif, system-ui, sans-serif;
|
|
5
6
|
--font-heading: var(--font-sans);
|
|
6
7
|
--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
@@ -17,6 +18,30 @@
|
|
|
17
18
|
--focus-ring-width: 3px;
|
|
18
19
|
--focus-ring-offset: 3px;
|
|
19
20
|
--opacity-disabled: 1;
|
|
21
|
+
--opacity-muted: 0.75;
|
|
22
|
+
--radius-pill: 0;
|
|
23
|
+
--sheen-image: none;
|
|
24
|
+
--shadow-control: none;
|
|
25
|
+
--shadow-overlay: none;
|
|
26
|
+
--shadow-modal: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @remarks Component knobs are declared unlayered on the host elements, so these overrides stay unlayered too.
|
|
31
|
+
*/
|
|
32
|
+
:root rui-tooltip {
|
|
33
|
+
--rui-tooltip-surface: var(--background);
|
|
34
|
+
--rui-tooltip-color: var(--on-background);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
:root rui-tabs {
|
|
38
|
+
--rui-tabs-indicator-width: 3px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
:root rui-slider {
|
|
42
|
+
--rui-slider-thumb-background: var(--background);
|
|
43
|
+
--rui-slider-thumb-border-color: var(--on-background);
|
|
44
|
+
--rui-slider-focus-ring-width: 3px;
|
|
20
45
|
}
|
|
21
46
|
|
|
22
47
|
@layer components {
|
|
@@ -41,10 +66,12 @@
|
|
|
41
66
|
:root .rui-input,
|
|
42
67
|
:root .rui-textarea,
|
|
43
68
|
:root .rui-autocomplete__input,
|
|
44
|
-
:root .rui-
|
|
45
|
-
:root .rui-date-
|
|
46
|
-
:root .rui-date-
|
|
47
|
-
:root .rui-
|
|
69
|
+
:root .rui-combobox__control,
|
|
70
|
+
:root .rui-date-field__group,
|
|
71
|
+
:root .rui-date-range-picker__group,
|
|
72
|
+
:root .rui-input-group,
|
|
73
|
+
:root .rui-number-field__group,
|
|
74
|
+
:root rui-date-input:where(:not([data-date-field-input], [data-range-start], [data-range-end])),
|
|
48
75
|
:root .rui-select__control {
|
|
49
76
|
@apply rounded-none border-2 border-on-background bg-background text-on-background;
|
|
50
77
|
}
|
|
@@ -55,17 +82,83 @@
|
|
|
55
82
|
@apply rounded-none border-2 border-on-background bg-background;
|
|
56
83
|
}
|
|
57
84
|
|
|
85
|
+
/**
|
|
86
|
+
* @remarks Radios stay round so they never read as check boxes; the checked state adds a dot, not just a color.
|
|
87
|
+
*/
|
|
88
|
+
:root .rui-radio__control {
|
|
89
|
+
@apply rounded-full;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
:root .rui-switch__thumb {
|
|
93
|
+
@apply rounded-none;
|
|
94
|
+
}
|
|
95
|
+
|
|
58
96
|
:root .rui-checkbox__input:checked + .rui-checkbox__control,
|
|
59
|
-
:root .rui-radio__input:checked + .rui-radio__control,
|
|
60
97
|
:root .rui-switch__input:checked + .rui-switch__track {
|
|
61
98
|
@apply border-2 border-primary bg-primary;
|
|
62
99
|
}
|
|
63
100
|
|
|
101
|
+
:root .rui-radio__input:checked + .rui-radio__control {
|
|
102
|
+
@apply border-2 border-primary bg-background;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
:root .rui-radio__input:checked + .rui-radio__control::after {
|
|
106
|
+
@apply size-2.5 bg-primary;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
:root .rui-switch__thumb {
|
|
110
|
+
@apply border-2 border-on-background;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
:root .rui-switch__input:checked + .rui-switch__track .rui-switch__thumb {
|
|
114
|
+
@apply border-on-primary;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
:root .rui-input::placeholder,
|
|
118
|
+
:root .rui-textarea::placeholder {
|
|
119
|
+
color: var(--on-background);
|
|
120
|
+
opacity: var(--opacity-muted);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
:root .rui-toc__label,
|
|
124
|
+
:root .rui-toc__link,
|
|
125
|
+
:root .rui-breadcrumb__separator,
|
|
126
|
+
:root .rui-breadcrumb__ellipsis {
|
|
127
|
+
color: var(--on-background);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
:root .rui-toc__link--active {
|
|
131
|
+
@apply font-bold underline decoration-2 underline-offset-4;
|
|
132
|
+
color: var(--primary);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
:root rui-tabs[variant='boxed'] .rui-tabs__tab:not([aria-selected='true']) {
|
|
136
|
+
opacity: 1;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
:root .rui-popover {
|
|
140
|
+
--rui-popover-radius: 0;
|
|
141
|
+
--rui-popover-surface: var(--background);
|
|
142
|
+
--rui-popover-border-color: var(--on-background);
|
|
143
|
+
border-width: 2px;
|
|
144
|
+
color: var(--on-background);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
:root .rui-tooltip__content {
|
|
148
|
+
@apply border-2 border-on-background;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
:root .rui-avatar {
|
|
152
|
+
--rui-avatar-radius: 9999px;
|
|
153
|
+
@apply border-2 border-on-background;
|
|
154
|
+
}
|
|
155
|
+
|
|
64
156
|
:root .rui-listbox__option[aria-selected='true'],
|
|
65
157
|
:root .rui-menu-button__item[aria-checked='true'],
|
|
66
158
|
:root .rui-menubar__menu-item[aria-checked='true'],
|
|
67
159
|
:root .rui-tree__node[aria-selected='true'],
|
|
68
|
-
:root .rui-calendar__day[aria-selected='true']
|
|
160
|
+
:root .rui-calendar__day[aria-selected='true'],
|
|
161
|
+
:root .rui-sidebar__menu-button[aria-current='page'] {
|
|
69
162
|
@apply border-2 border-primary bg-primary text-on-primary font-semibold;
|
|
70
163
|
}
|
|
71
164
|
|
|
@@ -76,17 +169,19 @@
|
|
|
76
169
|
}
|
|
77
170
|
|
|
78
171
|
:root .rui-alert,
|
|
79
|
-
:root .rui-
|
|
172
|
+
:root .rui-toast,
|
|
80
173
|
:root .rui-dialog__surface,
|
|
81
|
-
:root .rui-popover-host,
|
|
82
174
|
:root .rui-hover-card__content,
|
|
175
|
+
:root .rui-menu-button__menu,
|
|
176
|
+
:root .rui-menubar__menu,
|
|
83
177
|
:root .rui-calendar,
|
|
84
|
-
|
|
178
|
+
:root rui-tabs[variant='boxed'] {
|
|
85
179
|
@apply rounded-none border-2 border-on-background bg-background text-on-background shadow-none;
|
|
86
180
|
}
|
|
87
181
|
|
|
88
182
|
:root .rui-badge,
|
|
89
183
|
:root .rui-chip,
|
|
184
|
+
:root .rui-tag,
|
|
90
185
|
:root .rui-separator,
|
|
91
186
|
:root .rui-meter__track,
|
|
92
187
|
:root .rui-slider__range-track,
|
|
@@ -94,7 +189,7 @@
|
|
|
94
189
|
@apply border border-on-background;
|
|
95
190
|
}
|
|
96
191
|
|
|
97
|
-
:root .rui-
|
|
192
|
+
:root .rui-table__column,
|
|
98
193
|
:root .rui-treegrid__row--header,
|
|
99
194
|
:root .rui-calendar__weekdays {
|
|
100
195
|
@apply border-b-2 border-on-background font-bold;
|