@ecopages/radiant-themes 0.2.1 → 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 +27 -15
- package/dist/compiled/themes/cloudflare/compact.css +40 -12
- package/dist/compiled/themes/cloudflare.css +40 -12
- package/dist/compiled/themes/github/compact.css +264 -67
- package/dist/compiled/themes/github.css +264 -67
- package/dist/compiled/themes/high-contrast/compact.css +88 -5
- package/dist/compiled/themes/high-contrast.css +88 -5
- package/dist/compiled/themes/macos/compact.css +674 -294
- package/dist/compiled/themes/macos-classic/compact.css +197 -25
- package/dist/compiled/themes/macos-classic.css +197 -25
- package/dist/compiled/themes/macos.css +674 -294
- package/dist/compiled/themes/material/compact.css +447 -132
- package/dist/compiled/themes/material.css +447 -132
- package/dist/compiled/themes/vercel/compact.css +104 -62
- package/dist/compiled/themes/vercel.css +104 -62
- package/dist/compiled/themes/vscode/compact.css +255 -40
- package/dist/compiled/themes/vscode.css +255 -40
- package/dist/compiled/themes/windows95/compact.css +260 -22
- package/dist/compiled/themes/windows95.css +260 -22
- 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 +55 -5
- package/dist/tokens/components/github.css +258 -40
- package/dist/tokens/components/high-contrast.css +93 -5
- package/dist/tokens/components/macos-classic.css +262 -24
- package/dist/tokens/components/macos.css +537 -106
- package/dist/tokens/components/material.css +354 -25
- package/dist/tokens/components/vercel.css +77 -15
- package/dist/tokens/components/vscode.css +248 -27
- package/dist/tokens/components/windows95.css +304 -19
- 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,10 +1,14 @@
|
|
|
1
1
|
@reference 'tailwindcss';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @remarks Font stacks follow the workbench defaults: the system UI font on macOS, Segoe WPC and Segoe UI on Windows,
|
|
5
|
+
* and Menlo or Consolas in the editor. Controls are 26px tall with 2px corners.
|
|
6
|
+
*/
|
|
3
7
|
:root,
|
|
4
8
|
:root[data-rui-theme='vscode'] {
|
|
5
|
-
--font-sans: 'Segoe UI', system-ui, sans-serif;
|
|
6
|
-
--font-heading: 'Segoe UI', system-ui, sans-serif;
|
|
7
|
-
--font-mono:
|
|
9
|
+
--font-sans: -apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, Ubuntu, 'Droid Sans', sans-serif;
|
|
10
|
+
--font-heading: -apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, Ubuntu, 'Droid Sans', sans-serif;
|
|
11
|
+
--font-mono: Menlo, Monaco, Consolas, 'Droid Sans Mono', 'Courier New', monospace;
|
|
8
12
|
--rui-border-alpha: 100%;
|
|
9
13
|
--border-radius-xs: 0.125rem;
|
|
10
14
|
--border-radius-sm: 0.1875rem;
|
|
@@ -13,34 +17,101 @@
|
|
|
13
17
|
--border-radius-xl: 0.5rem;
|
|
14
18
|
--border-radius-2xl: 0.75rem;
|
|
15
19
|
--border-radius-3xl: 1rem;
|
|
16
|
-
--radius-control: var(--border-radius-
|
|
20
|
+
--radius-control: var(--border-radius-xs);
|
|
17
21
|
--radius-container: var(--border-radius-md);
|
|
22
|
+
--size-control-sm: 1.5rem;
|
|
23
|
+
--size-control-md: 1.625rem;
|
|
24
|
+
--size-control-lg: 2rem;
|
|
25
|
+
--text-control: 0.8125rem;
|
|
26
|
+
--sheen-image: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @remarks Tooltips are workbench hovers: the widget fill, foreground text, and a hairline border. Unlayered to match
|
|
31
|
+
* the catalog's own tooltip defaults.
|
|
32
|
+
*/
|
|
33
|
+
:root rui-tooltip {
|
|
34
|
+
--rui-tooltip-surface: var(--color-vscode-widget);
|
|
35
|
+
--rui-tooltip-color: var(--color-vscode-fg);
|
|
36
|
+
--rui-tooltip-radius: var(--border-radius-sm);
|
|
37
|
+
--rui-tooltip-shadow: 0 0 0 1px var(--color-vscode-menu-border), 0 2px 8px var(--color-vscode-widget-shadow);
|
|
18
38
|
}
|
|
19
39
|
|
|
20
40
|
@layer components {
|
|
41
|
+
:root .rui-button {
|
|
42
|
+
@apply rounded-control border border-transparent font-normal shadow-none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
:root .rui-button--filled {
|
|
46
|
+
border-color: var(--color-vscode-button-border);
|
|
47
|
+
background-color: var(--color-vscode-blue);
|
|
48
|
+
color: #ffffff;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
:root .rui-button--filled:hover:not(:disabled) {
|
|
52
|
+
background-color: var(--color-vscode-blue-hover);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
:root .rui-button--filled:active:not(:disabled),
|
|
56
|
+
:root .rui-button--filled[aria-pressed='true'] {
|
|
57
|
+
background-color: var(--color-vscode-blue-active);
|
|
58
|
+
}
|
|
59
|
+
|
|
21
60
|
/**
|
|
22
|
-
* @remarks VS Code
|
|
23
|
-
*
|
|
61
|
+
* @remarks VS Code has no outline button; its secondary button is a grey fill with the same hairline border as the
|
|
62
|
+
* primary one.
|
|
24
63
|
*/
|
|
25
|
-
:root
|
|
26
|
-
|
|
27
|
-
color:
|
|
64
|
+
:root .rui-button--outline {
|
|
65
|
+
border-color: var(--color-vscode-button-border);
|
|
66
|
+
background-color: var(--color-vscode-button-secondary);
|
|
67
|
+
color: var(--color-vscode-fg);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
:root .rui-button--outline:hover:not(:disabled),
|
|
71
|
+
:root .rui-button--outline:active:not(:disabled) {
|
|
72
|
+
background-color: var(--color-vscode-button-secondary-hover);
|
|
28
73
|
}
|
|
29
74
|
|
|
30
|
-
|
|
31
|
-
|
|
75
|
+
/**
|
|
76
|
+
* @remarks Ghost buttons follow action bar items: 5px corners and a translucent hover fill.
|
|
77
|
+
*/
|
|
78
|
+
:root .rui-button--ghost {
|
|
79
|
+
border-radius: 0.3125rem;
|
|
32
80
|
}
|
|
33
81
|
|
|
34
|
-
:root
|
|
35
|
-
:root
|
|
36
|
-
background-color:
|
|
82
|
+
:root .rui-button--ghost:hover:not(:disabled),
|
|
83
|
+
:root .rui-button--ghost:active:not(:disabled) {
|
|
84
|
+
background-color: var(--color-vscode-toolbar-hover);
|
|
37
85
|
}
|
|
38
86
|
|
|
39
|
-
|
|
40
|
-
|
|
87
|
+
/**
|
|
88
|
+
* @remarks Focus is the workbench's 1px `focusBorder` outline: outside push buttons, and over the frame of fields so
|
|
89
|
+
* the border itself turns blue.
|
|
90
|
+
*/
|
|
91
|
+
:root .rui-button:focus-visible,
|
|
92
|
+
:root .rui-tabs__tab:focus-visible {
|
|
93
|
+
outline: 1px solid var(--focus-ring);
|
|
94
|
+
outline-offset: 2px;
|
|
95
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
96
|
+
--tw-ring-offset-shadow: 0 0 #0000;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
:root .rui-input:focus-visible,
|
|
100
|
+
:root .rui-textarea:focus-visible,
|
|
101
|
+
:root .rui-combobox__control:focus-within,
|
|
102
|
+
:root .rui-number-field__group:focus-within,
|
|
103
|
+
:root .rui-input-group:focus-within,
|
|
104
|
+
:root .rui-select__control:focus-within {
|
|
105
|
+
outline: 1px solid var(--focus-ring);
|
|
106
|
+
outline-offset: -1px;
|
|
107
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
108
|
+
--tw-ring-offset-shadow: 0 0 #0000;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
:root .rui-input-group .rui-input:focus-visible {
|
|
112
|
+
outline: none;
|
|
41
113
|
}
|
|
42
114
|
|
|
43
|
-
:root .rui-button--outline,
|
|
44
115
|
:root .rui-input,
|
|
45
116
|
:root .rui-textarea,
|
|
46
117
|
:root .rui-combobox__control,
|
|
@@ -50,31 +121,141 @@
|
|
|
50
121
|
:root .rui-number-field__group,
|
|
51
122
|
:root rui-date-input:where(:not([data-date-field-input], [data-range-start], [data-range-end])),
|
|
52
123
|
:root .rui-select__control {
|
|
53
|
-
@apply
|
|
124
|
+
@apply text-on-surface shadow-none;
|
|
54
125
|
border-color: var(--rui-control-border-color);
|
|
126
|
+
background-color: var(--color-vscode-input);
|
|
55
127
|
}
|
|
56
128
|
|
|
57
|
-
:root .rui-
|
|
58
|
-
|
|
59
|
-
|
|
129
|
+
:root .rui-checkbox__control {
|
|
130
|
+
@apply rounded-sm;
|
|
131
|
+
border-color: var(--rui-control-border-color);
|
|
132
|
+
background-color: var(--color-vscode-checkbox);
|
|
60
133
|
}
|
|
61
134
|
|
|
62
|
-
|
|
63
|
-
|
|
135
|
+
/**
|
|
136
|
+
* @remarks VS Code check boxes keep their fill when checked and draw the check mark in the foreground color.
|
|
137
|
+
*/
|
|
138
|
+
:root .rui-checkbox__input:checked:not(:indeterminate):not([aria-checked='mixed']) + .rui-checkbox__control {
|
|
64
139
|
border-color: var(--rui-control-border-color);
|
|
140
|
+
background-color: var(--color-vscode-checkbox);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
:root .rui-checkbox__input:checked:not(:indeterminate):not([aria-checked='mixed']) + .rui-checkbox__control::after {
|
|
144
|
+
color: var(--color-vscode-fg);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
:root .rui-badge {
|
|
148
|
+
@apply rounded-full;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
:root .rui-badge--muted {
|
|
152
|
+
background-color: var(--color-vscode-badge);
|
|
153
|
+
color: var(--color-vscode-badge-fg);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
:root .rui-listbox__option:hover:not([aria-disabled='true']):not([data-active]):not([aria-selected='true']) {
|
|
157
|
+
background-color: var(--color-vscode-list-hover);
|
|
65
158
|
}
|
|
66
159
|
|
|
67
160
|
:root .rui-listbox__option[aria-selected='true'],
|
|
68
161
|
:root .rui-menu-button__item[aria-checked='true'],
|
|
162
|
+
:root .rui-sidebar__menu-button[aria-current='page'],
|
|
69
163
|
:root .rui-sidebar__menu-button--active {
|
|
70
164
|
@apply bg-primary-container text-on-primary-container;
|
|
71
165
|
}
|
|
72
166
|
|
|
167
|
+
/**
|
|
168
|
+
* @remarks Widgets (dialogs, hovers, pickers, suggest lists) share the editor widget fill, a hairline border, and
|
|
169
|
+
* the soft 8px `widget.shadow`.
|
|
170
|
+
*/
|
|
73
171
|
:root .rui-dialog__surface,
|
|
74
|
-
:root .rui-popover-
|
|
75
|
-
:root .rui-
|
|
172
|
+
:root .rui-popover:where(:not(.rui-popover--listbox)),
|
|
173
|
+
:root .rui-hover-card__content,
|
|
76
174
|
:root .rui-calendar {
|
|
77
|
-
@apply rounded-container border
|
|
175
|
+
@apply rounded-container border text-on-surface;
|
|
176
|
+
border-color: var(--color-vscode-widget-border);
|
|
177
|
+
background-color: var(--color-vscode-widget);
|
|
178
|
+
box-shadow: 0 0 8px 2px var(--color-vscode-widget-shadow);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
:root .rui-select__listbox,
|
|
182
|
+
:root .rui-combobox__listbox {
|
|
183
|
+
@apply rounded-control border text-on-surface;
|
|
184
|
+
border-color: var(--rui-control-border-color);
|
|
185
|
+
background-color: var(--color-vscode-menu);
|
|
186
|
+
box-shadow: 0 0 8px 2px var(--color-vscode-widget-shadow);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* @remarks Menus use `menu.background`, `menu.border`, and the blue `menu.selectionBackground` with white text for
|
|
191
|
+
* the hovered or focused item.
|
|
192
|
+
*/
|
|
193
|
+
:root .rui-menu-button__menu,
|
|
194
|
+
:root .rui-menubar__menu {
|
|
195
|
+
@apply border text-on-surface;
|
|
196
|
+
--rui-menu-item-hover: var(--color-vscode-blue);
|
|
197
|
+
border-color: var(--color-vscode-menu-border);
|
|
198
|
+
border-radius: 0.3125rem;
|
|
199
|
+
background-color: var(--color-vscode-menu);
|
|
200
|
+
box-shadow: 0 2px 8px var(--color-vscode-widget-shadow);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
:root .rui-menu-button__item:focus-visible:not([aria-disabled='true']),
|
|
204
|
+
:root .rui-menu-button__item[aria-expanded='true'],
|
|
205
|
+
:root .rui-menubar__menu-item:focus-visible,
|
|
206
|
+
:root .rui-menubar__menu-item[aria-expanded='true'] {
|
|
207
|
+
background-color: var(--color-vscode-blue);
|
|
208
|
+
color: #ffffff;
|
|
209
|
+
outline: none;
|
|
210
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
:root .rui-menu-button__item[aria-haspopup='menu']::after,
|
|
214
|
+
:root .rui-menubar__menu-item[aria-haspopup='menu']::after {
|
|
215
|
+
color: inherit;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
@media (hover: hover) and (pointer: fine) {
|
|
219
|
+
:root .rui-menu-button__item:hover:not([aria-disabled='true']),
|
|
220
|
+
:root .rui-menubar__menu-item:hover:not(:disabled):not([aria-disabled='true']) {
|
|
221
|
+
background-color: var(--color-vscode-blue);
|
|
222
|
+
color: #ffffff;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* @remarks Boxed tabs follow editor tabs: inactive tabs sit on the tab strip fill with a dimmed label and a
|
|
228
|
+
* separating border, and the active tab takes the editor fill with `tab.activeBorderTop` in the accent blue.
|
|
229
|
+
*/
|
|
230
|
+
:root rui-tabs[variant='boxed'] {
|
|
231
|
+
@apply border border-border shadow-none;
|
|
232
|
+
background-color: var(--color-vscode-canvas);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
:root rui-tabs[variant='boxed'] .rui-tabs__list {
|
|
236
|
+
@apply gap-0 border-b border-border p-0;
|
|
237
|
+
background-color: var(--color-vscode-subtle);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
:root rui-tabs[variant='boxed'] .rui-tabs__tab {
|
|
241
|
+
@apply relative border-0 border-r border-border text-sm font-normal opacity-100;
|
|
242
|
+
height: 2.1875rem;
|
|
243
|
+
margin-bottom: -1px;
|
|
244
|
+
padding-inline: 0.625rem;
|
|
245
|
+
background-color: var(--color-vscode-subtle);
|
|
246
|
+
color: var(--color-vscode-inactive-fg);
|
|
247
|
+
transition: none;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
:root rui-tabs[variant='boxed'] .rui-tabs__tab[aria-selected='true'] {
|
|
251
|
+
@apply font-normal;
|
|
252
|
+
background-color: var(--color-vscode-canvas);
|
|
253
|
+
color: var(--color-vscode-fg);
|
|
254
|
+
box-shadow: inset 0 1px 0 var(--color-vscode-blue);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
:root rui-tabs[variant='boxed'] .rui-tabs__panel {
|
|
258
|
+
background-color: var(--color-vscode-canvas);
|
|
78
259
|
}
|
|
79
260
|
|
|
80
261
|
/**
|
|
@@ -95,10 +276,50 @@
|
|
|
95
276
|
}
|
|
96
277
|
|
|
97
278
|
:root .rui-treegrid__row:not(.rui-treegrid__row--header):hover .rui-treegrid__cell:not([aria-selected='true']) {
|
|
98
|
-
|
|
279
|
+
background-color: var(--color-vscode-list-hover);
|
|
99
280
|
}
|
|
100
281
|
|
|
101
282
|
:root .rui-treegrid__cell[aria-selected='true'] {
|
|
102
283
|
@apply bg-primary-container text-on-primary-container;
|
|
103
284
|
}
|
|
104
285
|
}
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* @remarks Scrollbars are square, track-less sliders in the translucent `scrollbarSlider` colors. Firefox receives the
|
|
289
|
+
* standard `scrollbar-color` fallback.
|
|
290
|
+
*/
|
|
291
|
+
@supports (-moz-appearance: none) {
|
|
292
|
+
:root,
|
|
293
|
+
:root * {
|
|
294
|
+
scrollbar-width: thin;
|
|
295
|
+
scrollbar-color: var(--color-vscode-scrollbar) transparent;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
:root::-webkit-scrollbar,
|
|
300
|
+
:root *::-webkit-scrollbar {
|
|
301
|
+
width: 10px;
|
|
302
|
+
height: 10px;
|
|
303
|
+
background-color: transparent;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
:root::-webkit-scrollbar-thumb,
|
|
307
|
+
:root *::-webkit-scrollbar-thumb {
|
|
308
|
+
border-radius: 0;
|
|
309
|
+
background-color: var(--color-vscode-scrollbar);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
:root::-webkit-scrollbar-thumb:hover,
|
|
313
|
+
:root *::-webkit-scrollbar-thumb:hover {
|
|
314
|
+
background-color: var(--color-vscode-scrollbar-hover);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
:root::-webkit-scrollbar-thumb:active,
|
|
318
|
+
:root *::-webkit-scrollbar-thumb:active {
|
|
319
|
+
background-color: var(--color-vscode-scrollbar-active);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
:root::-webkit-scrollbar-corner,
|
|
323
|
+
:root *::-webkit-scrollbar-corner {
|
|
324
|
+
background-color: transparent;
|
|
325
|
+
}
|