@marianmeres/stuic 3.0.2 → 3.0.4
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/dist/components/DismissibleMessage/DismissibleMessage.svelte +1 -1
- package/dist/components/HoverExpandableWidth/HoverExpandableWidth.svelte +15 -3
- package/dist/components/Nav/Nav.svelte +78 -49
- package/dist/components/Nav/Nav.svelte.d.ts +2 -2
- package/dist/components/ThemePreview/index.css +4 -5
- package/dist/index.css +1 -1
- package/dist/themes/css/emerald-amber-forest.css +253 -0
- package/dist/themes/css/lime-fuchsia-neon.css +253 -0
- package/dist/themes/css/orange-pink-sunset.css +253 -0
- package/dist/themes/css/slate-teal-ocean.css +253 -0
- package/dist/themes/css/stone-orange-earth.css +253 -0
- package/dist/themes/css/violet-rose-dusk.css +253 -0
- package/dist/themes/emerald-amber-forest.d.ts +6 -0
- package/dist/themes/emerald-amber-forest.js +175 -0
- package/dist/themes/lime-fuchsia-neon.d.ts +6 -0
- package/dist/themes/lime-fuchsia-neon.js +175 -0
- package/dist/themes/orange-pink-sunset.d.ts +6 -0
- package/dist/themes/orange-pink-sunset.js +175 -0
- package/dist/themes/slate-teal-ocean.d.ts +6 -0
- package/dist/themes/slate-teal-ocean.js +175 -0
- package/dist/themes/stone-orange-earth.d.ts +6 -0
- package/dist/themes/stone-orange-earth.js +175 -0
- package/dist/themes/violet-rose-dusk.d.ts +6 -0
- package/dist/themes/violet-rose-dusk.js +175 -0
- package/package.json +2 -2
- package/dist/base.css +0 -17
- /package/dist/themes/{blue-orange.css → css/blue-orange.css} +0 -0
- /package/dist/themes/{cyan-red.css → css/cyan-red.css} +0 -0
- /package/dist/themes/{cyan-slate.css → css/cyan-slate.css} +0 -0
- /package/dist/themes/{emerald-pink.css → css/emerald-pink.css} +0 -0
- /package/dist/themes/{fuchsia-emerald.css → css/fuchsia-emerald.css} +0 -0
- /package/dist/themes/{gray.css → css/gray.css} +0 -0
- /package/dist/themes/{indigo-amber.css → css/indigo-amber.css} +0 -0
- /package/dist/themes/{neutral.css → css/neutral.css} +0 -0
- /package/dist/themes/{pink-emerald.css → css/pink-emerald.css} +0 -0
- /package/dist/themes/{pink-teal.css → css/pink-teal.css} +0 -0
- /package/dist/themes/{purple-yellow.css → css/purple-yellow.css} +0 -0
- /package/dist/themes/{rainbow.css → css/rainbow.css} +0 -0
- /package/dist/themes/{red-blue.css → css/red-blue.css} +0 -0
- /package/dist/themes/{red-cyan.css → css/red-cyan.css} +0 -0
- /package/dist/themes/{red-sky.css → css/red-sky.css} +0 -0
- /package/dist/themes/{rose-teal.css → css/rose-teal.css} +0 -0
- /package/dist/themes/{sky-amber.css → css/sky-amber.css} +0 -0
- /package/dist/themes/{slate-cyan.css → css/slate-cyan.css} +0 -0
- /package/dist/themes/{teal-rose.css → css/teal-rose.css} +0 -0
- /package/dist/themes/{violet-lime.css → css/violet-lime.css} +0 -0
|
@@ -52,10 +52,14 @@
|
|
|
52
52
|
let isShrinking = $state(false);
|
|
53
53
|
let isExpanding = $state(false);
|
|
54
54
|
let inTransition = $derived(isExpanding || isShrinking);
|
|
55
|
-
let _timer:
|
|
55
|
+
let _timer: ReturnType<typeof setTimeout> | null = null;
|
|
56
56
|
let box = $state<DOMRect>();
|
|
57
57
|
let duration = $derived(prefersReduced.current ? 0 : _duration);
|
|
58
58
|
|
|
59
|
+
$effect(() => {
|
|
60
|
+
return () => clear();
|
|
61
|
+
});
|
|
62
|
+
|
|
59
63
|
function clear() {
|
|
60
64
|
clearTimeout(_timer);
|
|
61
65
|
_timer = null;
|
|
@@ -71,6 +75,7 @@
|
|
|
71
75
|
|
|
72
76
|
function expand() {
|
|
73
77
|
if (!enabled) return;
|
|
78
|
+
if (!el) return;
|
|
74
79
|
if (isExpanding || isShrinking || isExpanded) return;
|
|
75
80
|
|
|
76
81
|
// asap
|
|
@@ -80,9 +85,9 @@
|
|
|
80
85
|
box = el.getBoundingClientRect();
|
|
81
86
|
const pos = {
|
|
82
87
|
top: box.top,
|
|
83
|
-
bottom: innerHeight.current
|
|
88
|
+
bottom: (innerHeight.current ?? 0) - box.bottom,
|
|
84
89
|
left: box.left,
|
|
85
|
-
right: innerWidth.current
|
|
90
|
+
right: (innerWidth.current ?? 0) - box.right,
|
|
86
91
|
};
|
|
87
92
|
|
|
88
93
|
// <offset-x>, <offset-y>, <blur-radius>, <spread-radius>
|
|
@@ -102,22 +107,28 @@
|
|
|
102
107
|
// kind of ugly - need to set props in multiple steps...
|
|
103
108
|
(async () => {
|
|
104
109
|
await waitForNextRepaint();
|
|
110
|
+
if (!el) return;
|
|
105
111
|
el.style.position = `fixed`;
|
|
106
112
|
|
|
107
113
|
await waitForNextRepaint();
|
|
114
|
+
if (!el) return;
|
|
108
115
|
el.style.width = `${box!.width}px`;
|
|
109
116
|
|
|
110
117
|
await waitForNextRepaint();
|
|
118
|
+
if (!el) return;
|
|
111
119
|
el.style.transitionProperty = "all";
|
|
112
120
|
el.style.width = `${targetWidth}px`;
|
|
113
121
|
|
|
114
122
|
await waitForTransitionEnd(el);
|
|
123
|
+
if (!el) return;
|
|
115
124
|
isExpanding = false;
|
|
116
125
|
})();
|
|
117
126
|
}
|
|
118
127
|
|
|
119
128
|
function shrink() {
|
|
120
129
|
if (!enabled) return;
|
|
130
|
+
if (!el) return;
|
|
131
|
+
if (!box) return;
|
|
121
132
|
if (isExpanding || isShrinking || !isExpanded) return;
|
|
122
133
|
|
|
123
134
|
// asap
|
|
@@ -129,6 +140,7 @@
|
|
|
129
140
|
|
|
130
141
|
(async () => {
|
|
131
142
|
await waitForTransitionEnd(el);
|
|
143
|
+
if (!el) return;
|
|
132
144
|
isShrinking = false;
|
|
133
145
|
|
|
134
146
|
// now reset all back to defaults
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
items?: NavItem[];
|
|
39
39
|
/** Group icon (optional) */
|
|
40
40
|
icon?: THC;
|
|
41
|
-
/** Whether the group starts collapsed */
|
|
42
|
-
|
|
41
|
+
/** Whether the group starts expanded (default: false, groups are collapsed by default) */
|
|
42
|
+
defaultExpanded?: boolean;
|
|
43
43
|
/** Navigation URL for groups without items */
|
|
44
44
|
href?: string;
|
|
45
45
|
/** Click handler for groups without items */
|
|
@@ -218,44 +218,76 @@
|
|
|
218
218
|
localStorageValue(getItemStorageKey(itemId), expanded).set(expanded);
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
-
//
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
221
|
+
// Check if an item matches active state (used during initialization)
|
|
222
|
+
function checkItemActive(item: NavItem): boolean {
|
|
223
|
+
if (isActive) return isActive(item);
|
|
224
|
+
if (activeId) return item.id === activeId;
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// Check if any item in a list (or their descendants) is active
|
|
229
|
+
function hasActiveDescendant(items: NavItem[]): boolean {
|
|
230
|
+
for (const item of items) {
|
|
231
|
+
if (checkItemActive(item)) return true;
|
|
232
|
+
if (item.children && hasActiveDescendant(item.children)) return true;
|
|
233
|
+
}
|
|
234
|
+
return false;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// Check if a group has any active child at any depth
|
|
238
|
+
function groupHasActiveChild(group: NavGroup): boolean {
|
|
239
|
+
if (!group.items) return false;
|
|
240
|
+
return hasActiveDescendant(group.items);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
// Compute initial group expanded states synchronously
|
|
244
|
+
function computeGroupStates(): boolean[] {
|
|
245
|
+
return groups.map((g) => {
|
|
246
|
+
// First priority: localStorage (if persistence enabled)
|
|
247
|
+
if (persistState && g.id) {
|
|
248
|
+
const stored = loadGroupState(g.id);
|
|
249
|
+
if (stored != null) return stored; // Check for both null and undefined
|
|
250
|
+
}
|
|
251
|
+
// Second priority: auto-expand if group has an active child
|
|
252
|
+
if (groupHasActiveChild(g)) {
|
|
253
|
+
return true;
|
|
239
254
|
}
|
|
255
|
+
// Third priority: use defaultExpanded prop
|
|
256
|
+
if (g.defaultExpanded !== undefined) {
|
|
257
|
+
return g.defaultExpanded;
|
|
258
|
+
}
|
|
259
|
+
// Default: collapsed
|
|
260
|
+
return false;
|
|
240
261
|
});
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// Initialize state synchronously from props (not via effect)
|
|
265
|
+
let groupExpandedStates = $state<boolean[]>(computeGroupStates());
|
|
266
|
+
|
|
267
|
+
// Re-sync if groups array length changes
|
|
268
|
+
$effect.pre(() => {
|
|
269
|
+
if (groupExpandedStates.length !== groups.length) {
|
|
270
|
+
groupExpandedStates = computeGroupStates();
|
|
271
|
+
}
|
|
241
272
|
});
|
|
242
273
|
|
|
243
274
|
// Check if group is expanded
|
|
244
275
|
function isGroupExpanded(index: number): boolean {
|
|
245
|
-
return groupExpandedStates[index] ??
|
|
276
|
+
return groupExpandedStates[index] ?? false;
|
|
246
277
|
}
|
|
247
278
|
|
|
248
279
|
// Toggle group expand/collapse
|
|
249
280
|
function toggleGroup(index: number) {
|
|
250
|
-
|
|
281
|
+
const newState = !groupExpandedStates[index];
|
|
282
|
+
groupExpandedStates[index] = newState;
|
|
251
283
|
|
|
252
284
|
// Persist state if group has an id
|
|
253
285
|
const group = groups[index];
|
|
254
286
|
if (group?.id) {
|
|
255
|
-
saveGroupState(group.id,
|
|
287
|
+
saveGroupState(group.id, newState);
|
|
256
288
|
}
|
|
257
289
|
|
|
258
|
-
onGroupToggle?.(index,
|
|
290
|
+
onGroupToggle?.(index, newState);
|
|
259
291
|
}
|
|
260
292
|
|
|
261
293
|
// Check if a group has items (and thus should be expandable)
|
|
@@ -268,10 +300,6 @@
|
|
|
268
300
|
return (item.children?.length ?? 0) > 0;
|
|
269
301
|
}
|
|
270
302
|
|
|
271
|
-
// Track expanded state for individual items with children
|
|
272
|
-
let itemExpandedStates = $state<Set<string>>(new Set());
|
|
273
|
-
let itemStatesInitialized = false;
|
|
274
|
-
|
|
275
303
|
// Collect all items with children recursively
|
|
276
304
|
function collectItemsWithChildren(items: NavItem[]): NavItem[] {
|
|
277
305
|
const result: NavItem[] = [];
|
|
@@ -284,32 +312,33 @@
|
|
|
284
312
|
return result;
|
|
285
313
|
}
|
|
286
314
|
|
|
287
|
-
//
|
|
288
|
-
|
|
289
|
-
const
|
|
290
|
-
|
|
291
|
-
if (
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
const expandedItems = new Set<string>();
|
|
297
|
-
for (const group of currentGroups) {
|
|
298
|
-
if (group.items) {
|
|
299
|
-
const itemsWithChildren = collectItemsWithChildren(group.items);
|
|
300
|
-
for (const item of itemsWithChildren) {
|
|
315
|
+
// Compute initial item expanded states synchronously
|
|
316
|
+
function computeItemStates(): Set<string> {
|
|
317
|
+
const expandedItems = new Set<string>();
|
|
318
|
+
for (const group of groups) {
|
|
319
|
+
if (group.items) {
|
|
320
|
+
const itemsWithChildren = collectItemsWithChildren(group.items);
|
|
321
|
+
for (const item of itemsWithChildren) {
|
|
322
|
+
// First priority: localStorage (if persistence enabled)
|
|
323
|
+
if (persistState) {
|
|
301
324
|
const stored = loadItemState(item.id);
|
|
302
|
-
if (stored
|
|
303
|
-
expandedItems.add(item.id);
|
|
325
|
+
if (stored != null) {
|
|
326
|
+
if (stored) expandedItems.add(item.id);
|
|
327
|
+
continue; // localStorage takes precedence
|
|
304
328
|
}
|
|
305
329
|
}
|
|
330
|
+
// Second priority: auto-expand if item has an active descendant
|
|
331
|
+
if (item.children && hasActiveDescendant(item.children)) {
|
|
332
|
+
expandedItems.add(item.id);
|
|
333
|
+
}
|
|
306
334
|
}
|
|
307
335
|
}
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
336
|
+
}
|
|
337
|
+
return expandedItems;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
// Track expanded state for individual items with children (initialized synchronously)
|
|
341
|
+
let itemExpandedStates = $state<Set<string>>(computeItemStates());
|
|
313
342
|
|
|
314
343
|
// Check if an item is expanded
|
|
315
344
|
function isItemExpanded(itemId: string): boolean {
|
|
@@ -35,8 +35,8 @@ export interface NavGroup {
|
|
|
35
35
|
items?: NavItem[];
|
|
36
36
|
/** Group icon (optional) */
|
|
37
37
|
icon?: THC;
|
|
38
|
-
/** Whether the group starts collapsed */
|
|
39
|
-
|
|
38
|
+
/** Whether the group starts expanded (default: false, groups are collapsed by default) */
|
|
39
|
+
defaultExpanded?: boolean;
|
|
40
40
|
/** Navigation URL for groups without items */
|
|
41
41
|
href?: string;
|
|
42
42
|
/** Click handler for groups without items */
|
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
--stuic-theme-preview-transition: 150ms;
|
|
26
26
|
|
|
27
27
|
/* Section-specific tokens that consume theme colors */
|
|
28
|
-
--stuic-theme-preview-header-bg: var(--stuic-color-surface);
|
|
29
|
-
--stuic-theme-preview-header-text: var(--stuic-color-surface-foreground);
|
|
30
|
-
--stuic-theme-preview-sidebar-bg: var(--stuic-color-
|
|
31
|
-
--stuic-theme-preview-sidebar-text: var(--stuic-color-
|
|
28
|
+
--stuic-theme-preview-header-bg: var(--stuic-color-surface-2);
|
|
29
|
+
--stuic-theme-preview-header-text: var(--stuic-color-surface-2-foreground);
|
|
30
|
+
--stuic-theme-preview-sidebar-bg: var(--stuic-color-surface-1);
|
|
31
|
+
--stuic-theme-preview-sidebar-text: var(--stuic-color-surface-1-foreground);
|
|
32
32
|
--stuic-theme-preview-sidebar-width: 200px;
|
|
33
33
|
--stuic-theme-preview-main-bg: var(--stuic-color-background);
|
|
34
34
|
--stuic-theme-preview-main-text: var(--stuic-color-foreground);
|
|
@@ -80,7 +80,6 @@
|
|
|
80
80
|
.stuic-theme-preview-header .header-subtitle {
|
|
81
81
|
font-size: 0.875rem;
|
|
82
82
|
margin: 0;
|
|
83
|
-
color: var(--stuic-color-muted-foreground);
|
|
84
83
|
}
|
|
85
84
|
|
|
86
85
|
/* ============================================================================
|
package/dist/index.css
CHANGED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/* prettier-ignore */
|
|
2
|
+
:root {
|
|
3
|
+
--stuic-color-primary: var(--color-emerald-700, #737373);
|
|
4
|
+
|
|
5
|
+
--stuic-color-primary-hover: var(--color-emerald-800, #737373);
|
|
6
|
+
--stuic-color-primary-active: var(--color-emerald-900, #737373);
|
|
7
|
+
--stuic-color-primary-foreground: var(--color-white, #ffffff);
|
|
8
|
+
--stuic-color-primary-foreground-hover: var(--color-white, #ffffff);
|
|
9
|
+
--stuic-color-primary-foreground-active: var(--color-white, #ffffff);
|
|
10
|
+
|
|
11
|
+
--stuic-color-accent: var(--color-amber-600, #737373);
|
|
12
|
+
|
|
13
|
+
--stuic-color-accent-hover: var(--color-amber-700, #737373);
|
|
14
|
+
--stuic-color-accent-active: var(--color-amber-800, #737373);
|
|
15
|
+
--stuic-color-accent-foreground: var(--color-white, #ffffff);
|
|
16
|
+
--stuic-color-accent-foreground-hover: var(--color-white, #ffffff);
|
|
17
|
+
--stuic-color-accent-foreground-active: var(--color-white, #ffffff);
|
|
18
|
+
|
|
19
|
+
--stuic-color-destructive: var(--color-red-600, #737373);
|
|
20
|
+
|
|
21
|
+
--stuic-color-destructive-hover: var(--color-red-700, #737373);
|
|
22
|
+
--stuic-color-destructive-active: var(--color-red-800, #737373);
|
|
23
|
+
--stuic-color-destructive-foreground: var(--color-white, #ffffff);
|
|
24
|
+
--stuic-color-destructive-foreground-hover: var(--color-white, #ffffff);
|
|
25
|
+
--stuic-color-destructive-foreground-active: var(--color-white, #ffffff);
|
|
26
|
+
|
|
27
|
+
--stuic-color-warning: var(--color-amber-500, #737373);
|
|
28
|
+
|
|
29
|
+
--stuic-color-warning-hover: var(--color-amber-600, #737373);
|
|
30
|
+
--stuic-color-warning-active: var(--color-amber-700, #737373);
|
|
31
|
+
--stuic-color-warning-foreground: var(--color-white, #ffffff);
|
|
32
|
+
--stuic-color-warning-foreground-hover: var(--color-white, #ffffff);
|
|
33
|
+
--stuic-color-warning-foreground-active: var(--color-white, #ffffff);
|
|
34
|
+
|
|
35
|
+
--stuic-color-success: var(--color-emerald-600, #737373);
|
|
36
|
+
|
|
37
|
+
--stuic-color-success-hover: var(--color-emerald-700, #737373);
|
|
38
|
+
--stuic-color-success-active: var(--color-emerald-800, #737373);
|
|
39
|
+
--stuic-color-success-foreground: var(--color-white, #ffffff);
|
|
40
|
+
--stuic-color-success-foreground-hover: var(--color-white, #ffffff);
|
|
41
|
+
--stuic-color-success-foreground-active: var(--color-white, #ffffff);
|
|
42
|
+
|
|
43
|
+
--stuic-color-info: var(--color-teal-600, #737373);
|
|
44
|
+
|
|
45
|
+
--stuic-color-info-hover: var(--color-teal-700, #737373);
|
|
46
|
+
--stuic-color-info-active: var(--color-teal-800, #737373);
|
|
47
|
+
--stuic-color-info-foreground: var(--color-white, #ffffff);
|
|
48
|
+
--stuic-color-info-foreground-hover: var(--color-white, #ffffff);
|
|
49
|
+
--stuic-color-info-foreground-active: var(--color-white, #ffffff);
|
|
50
|
+
|
|
51
|
+
--stuic-color-surface-primary: color-mix(in srgb, var(--stuic-color-primary) 15%, var(--stuic-color-background));
|
|
52
|
+
--stuic-color-surface-primary-foreground: color-mix(in srgb, var(--stuic-color-primary), black 10%);
|
|
53
|
+
--stuic-color-surface-primary-border: color-mix(in srgb, var(--stuic-color-primary) 30%, var(--stuic-color-background));
|
|
54
|
+
--stuic-color-surface-accent: color-mix(in srgb, var(--stuic-color-accent) 15%, var(--stuic-color-background));
|
|
55
|
+
--stuic-color-surface-accent-foreground: color-mix(in srgb, var(--stuic-color-accent), black 10%);
|
|
56
|
+
--stuic-color-surface-accent-border: color-mix(in srgb, var(--stuic-color-accent) 30%, var(--stuic-color-background));
|
|
57
|
+
--stuic-color-surface-destructive: color-mix(in srgb, var(--stuic-color-destructive) 15%, var(--stuic-color-background));
|
|
58
|
+
--stuic-color-surface-destructive-foreground: color-mix(in srgb, var(--stuic-color-destructive), black 10%);
|
|
59
|
+
--stuic-color-surface-destructive-border: color-mix(in srgb, var(--stuic-color-destructive) 30%, var(--stuic-color-background));
|
|
60
|
+
--stuic-color-surface-warning: color-mix(in srgb, var(--stuic-color-warning) 15%, var(--stuic-color-background));
|
|
61
|
+
--stuic-color-surface-warning-foreground: color-mix(in srgb, var(--stuic-color-warning), black 10%);
|
|
62
|
+
--stuic-color-surface-warning-border: color-mix(in srgb, var(--stuic-color-warning) 30%, var(--stuic-color-background));
|
|
63
|
+
--stuic-color-surface-success: color-mix(in srgb, var(--stuic-color-success) 15%, var(--stuic-color-background));
|
|
64
|
+
--stuic-color-surface-success-foreground: color-mix(in srgb, var(--stuic-color-success), black 10%);
|
|
65
|
+
--stuic-color-surface-success-border: color-mix(in srgb, var(--stuic-color-success) 30%, var(--stuic-color-background));
|
|
66
|
+
--stuic-color-surface-info: color-mix(in srgb, var(--stuic-color-info) 15%, var(--stuic-color-background));
|
|
67
|
+
--stuic-color-surface-info-foreground: color-mix(in srgb, var(--stuic-color-info), black 10%);
|
|
68
|
+
--stuic-color-surface-info-border: color-mix(in srgb, var(--stuic-color-info) 30%, var(--stuic-color-background));
|
|
69
|
+
--stuic-color-surface-hover: var(--color-stone-200, #737373);
|
|
70
|
+
--stuic-color-surface-active: var(--color-stone-300, #737373);
|
|
71
|
+
--stuic-color-surface-foreground: var(--color-stone-900, #737373);
|
|
72
|
+
--stuic-color-surface-foreground-hover: var(--color-stone-900, #737373);
|
|
73
|
+
--stuic-color-surface-foreground-active: var(--color-stone-900, #737373);
|
|
74
|
+
|
|
75
|
+
--stuic-color-background: var(--color-amber-50, #737373);
|
|
76
|
+
|
|
77
|
+
--stuic-color-background-hover: var(--color-amber-50, #737373);
|
|
78
|
+
--stuic-color-background-active: var(--color-amber-50, #737373);
|
|
79
|
+
--stuic-color-background-foreground: var(--color-stone-900, #737373);
|
|
80
|
+
--stuic-color-background-foreground-hover: var(--color-stone-900, #737373);
|
|
81
|
+
--stuic-color-background-foreground-active: var(--color-stone-900, #737373);
|
|
82
|
+
|
|
83
|
+
--stuic-color-surface: var(--color-stone-100, #737373);
|
|
84
|
+
|
|
85
|
+
--stuic-color-surface-1: var(--color-stone-200, #737373);
|
|
86
|
+
--stuic-color-surface-1-hover: var(--color-stone-300, #737373);
|
|
87
|
+
--stuic-color-surface-1-active: var(--color-stone-400, #737373);
|
|
88
|
+
--stuic-color-surface-1-foreground: var(--color-stone-900, #737373);
|
|
89
|
+
--stuic-color-surface-1-foreground-hover: var(--color-stone-900, #737373);
|
|
90
|
+
--stuic-color-surface-1-foreground-active: var(--color-stone-900, #737373);
|
|
91
|
+
|
|
92
|
+
--stuic-color-surface-2: var(--color-stone-300, #737373);
|
|
93
|
+
--stuic-color-surface-2-hover: var(--color-stone-400, #737373);
|
|
94
|
+
--stuic-color-surface-2-active: var(--color-stone-500, #737373);
|
|
95
|
+
--stuic-color-surface-2-foreground: var(--color-stone-900, #737373);
|
|
96
|
+
--stuic-color-surface-2-foreground-hover: var(--color-stone-900, #737373);
|
|
97
|
+
--stuic-color-surface-2-foreground-active: var(--color-stone-900, #737373);
|
|
98
|
+
|
|
99
|
+
--stuic-color-muted: var(--color-stone-200, #737373);
|
|
100
|
+
|
|
101
|
+
--stuic-color-muted-hover: var(--color-stone-300, #737373);
|
|
102
|
+
--stuic-color-muted-active: var(--color-stone-400, #737373);
|
|
103
|
+
--stuic-color-muted-foreground: var(--color-stone-500, #737373);
|
|
104
|
+
--stuic-color-muted-foreground-hover: var(--color-stone-500, #737373);
|
|
105
|
+
--stuic-color-muted-foreground-active: var(--color-stone-500, #737373);
|
|
106
|
+
|
|
107
|
+
--stuic-color-foreground: var(--color-stone-900, #737373);
|
|
108
|
+
|
|
109
|
+
--stuic-color-foreground-hover: var(--color-stone-900, #737373);
|
|
110
|
+
--stuic-color-foreground-active: var(--color-stone-900, #737373);
|
|
111
|
+
|
|
112
|
+
--stuic-color-border: var(--color-stone-300, #737373);
|
|
113
|
+
|
|
114
|
+
--stuic-color-border-hover: var(--color-stone-400, #737373);
|
|
115
|
+
--stuic-color-border-active: var(--color-stone-500, #737373);
|
|
116
|
+
|
|
117
|
+
--stuic-color-input: var(--color-amber-50, #737373);
|
|
118
|
+
|
|
119
|
+
--stuic-color-input-hover: var(--color-stone-100, #737373);
|
|
120
|
+
--stuic-color-input-active: var(--color-amber-50, #737373);
|
|
121
|
+
|
|
122
|
+
--stuic-color-ring: color-mix(in srgb, var(--color-emerald-700) 20%, transparent);
|
|
123
|
+
|
|
124
|
+
--stuic-color-ring-hover: color-mix(in srgb, var(--color-emerald-700) 20%, transparent);
|
|
125
|
+
--stuic-color-ring-active: color-mix(in srgb, var(--color-emerald-700) 20%, transparent);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* prettier-ignore */
|
|
129
|
+
:root.dark {
|
|
130
|
+
--stuic-color-primary: var(--color-emerald-500, #737373);
|
|
131
|
+
|
|
132
|
+
--stuic-color-primary-hover: var(--color-emerald-400, #737373);
|
|
133
|
+
--stuic-color-primary-active: var(--color-emerald-300, #737373);
|
|
134
|
+
--stuic-color-primary-foreground: var(--color-white, #ffffff);
|
|
135
|
+
--stuic-color-primary-foreground-hover: var(--color-white, #ffffff);
|
|
136
|
+
--stuic-color-primary-foreground-active: var(--color-white, #ffffff);
|
|
137
|
+
|
|
138
|
+
--stuic-color-accent: var(--color-amber-500, #737373);
|
|
139
|
+
|
|
140
|
+
--stuic-color-accent-hover: var(--color-amber-400, #737373);
|
|
141
|
+
--stuic-color-accent-active: var(--color-amber-300, #737373);
|
|
142
|
+
--stuic-color-accent-foreground: var(--color-black, #000000);
|
|
143
|
+
--stuic-color-accent-foreground-hover: var(--color-black, #000000);
|
|
144
|
+
--stuic-color-accent-foreground-active: var(--color-black, #000000);
|
|
145
|
+
|
|
146
|
+
--stuic-color-destructive: var(--color-red-500, #737373);
|
|
147
|
+
|
|
148
|
+
--stuic-color-destructive-hover: var(--color-red-400, #737373);
|
|
149
|
+
--stuic-color-destructive-active: var(--color-red-300, #737373);
|
|
150
|
+
--stuic-color-destructive-foreground: var(--color-white, #ffffff);
|
|
151
|
+
--stuic-color-destructive-foreground-hover: var(--color-white, #ffffff);
|
|
152
|
+
--stuic-color-destructive-foreground-active: var(--color-white, #ffffff);
|
|
153
|
+
|
|
154
|
+
--stuic-color-warning: var(--color-amber-400, #737373);
|
|
155
|
+
|
|
156
|
+
--stuic-color-warning-hover: var(--color-amber-300, #737373);
|
|
157
|
+
--stuic-color-warning-active: var(--color-amber-200, #737373);
|
|
158
|
+
--stuic-color-warning-foreground: var(--color-black, #000000);
|
|
159
|
+
--stuic-color-warning-foreground-hover: var(--color-black, #000000);
|
|
160
|
+
--stuic-color-warning-foreground-active: var(--color-black, #000000);
|
|
161
|
+
|
|
162
|
+
--stuic-color-success: var(--color-emerald-500, #737373);
|
|
163
|
+
|
|
164
|
+
--stuic-color-success-hover: var(--color-emerald-400, #737373);
|
|
165
|
+
--stuic-color-success-active: var(--color-emerald-300, #737373);
|
|
166
|
+
--stuic-color-success-foreground: var(--color-white, #ffffff);
|
|
167
|
+
--stuic-color-success-foreground-hover: var(--color-white, #ffffff);
|
|
168
|
+
--stuic-color-success-foreground-active: var(--color-white, #ffffff);
|
|
169
|
+
|
|
170
|
+
--stuic-color-info: var(--color-teal-400, #737373);
|
|
171
|
+
|
|
172
|
+
--stuic-color-info-hover: var(--color-teal-300, #737373);
|
|
173
|
+
--stuic-color-info-active: var(--color-teal-200, #737373);
|
|
174
|
+
--stuic-color-info-foreground: var(--color-white, #ffffff);
|
|
175
|
+
--stuic-color-info-foreground-hover: var(--color-white, #ffffff);
|
|
176
|
+
--stuic-color-info-foreground-active: var(--color-white, #ffffff);
|
|
177
|
+
|
|
178
|
+
--stuic-color-surface-primary: color-mix(in srgb, var(--stuic-color-primary) 15%, var(--stuic-color-background));
|
|
179
|
+
--stuic-color-surface-primary-foreground: color-mix(in srgb, var(--stuic-color-primary), white 10%);
|
|
180
|
+
--stuic-color-surface-primary-border: color-mix(in srgb, var(--stuic-color-primary) 30%, var(--stuic-color-background));
|
|
181
|
+
--stuic-color-surface-accent: color-mix(in srgb, var(--stuic-color-accent) 15%, var(--stuic-color-background));
|
|
182
|
+
--stuic-color-surface-accent-foreground: color-mix(in srgb, var(--stuic-color-accent), white 10%);
|
|
183
|
+
--stuic-color-surface-accent-border: color-mix(in srgb, var(--stuic-color-accent) 30%, var(--stuic-color-background));
|
|
184
|
+
--stuic-color-surface-destructive: color-mix(in srgb, var(--stuic-color-destructive) 15%, var(--stuic-color-background));
|
|
185
|
+
--stuic-color-surface-destructive-foreground: color-mix(in srgb, var(--stuic-color-destructive), white 10%);
|
|
186
|
+
--stuic-color-surface-destructive-border: color-mix(in srgb, var(--stuic-color-destructive) 30%, var(--stuic-color-background));
|
|
187
|
+
--stuic-color-surface-warning: color-mix(in srgb, var(--stuic-color-warning) 15%, var(--stuic-color-background));
|
|
188
|
+
--stuic-color-surface-warning-foreground: color-mix(in srgb, var(--stuic-color-warning), white 10%);
|
|
189
|
+
--stuic-color-surface-warning-border: color-mix(in srgb, var(--stuic-color-warning) 30%, var(--stuic-color-background));
|
|
190
|
+
--stuic-color-surface-success: color-mix(in srgb, var(--stuic-color-success) 15%, var(--stuic-color-background));
|
|
191
|
+
--stuic-color-surface-success-foreground: color-mix(in srgb, var(--stuic-color-success), white 10%);
|
|
192
|
+
--stuic-color-surface-success-border: color-mix(in srgb, var(--stuic-color-success) 30%, var(--stuic-color-background));
|
|
193
|
+
--stuic-color-surface-info: color-mix(in srgb, var(--stuic-color-info) 15%, var(--stuic-color-background));
|
|
194
|
+
--stuic-color-surface-info-foreground: color-mix(in srgb, var(--stuic-color-info), white 10%);
|
|
195
|
+
--stuic-color-surface-info-border: color-mix(in srgb, var(--stuic-color-info) 30%, var(--stuic-color-background));
|
|
196
|
+
--stuic-color-surface-hover: var(--color-stone-700, #737373);
|
|
197
|
+
--stuic-color-surface-active: var(--color-stone-600, #737373);
|
|
198
|
+
--stuic-color-surface-foreground: var(--color-stone-100, #737373);
|
|
199
|
+
--stuic-color-surface-foreground-hover: var(--color-stone-100, #737373);
|
|
200
|
+
--stuic-color-surface-foreground-active: var(--color-stone-100, #737373);
|
|
201
|
+
|
|
202
|
+
--stuic-color-background: var(--color-stone-900, #737373);
|
|
203
|
+
|
|
204
|
+
--stuic-color-background-hover: var(--color-stone-900, #737373);
|
|
205
|
+
--stuic-color-background-active: var(--color-stone-900, #737373);
|
|
206
|
+
--stuic-color-background-foreground: var(--color-stone-50, #737373);
|
|
207
|
+
--stuic-color-background-foreground-hover: var(--color-stone-50, #737373);
|
|
208
|
+
--stuic-color-background-foreground-active: var(--color-stone-50, #737373);
|
|
209
|
+
|
|
210
|
+
--stuic-color-surface: var(--color-stone-800, #737373);
|
|
211
|
+
|
|
212
|
+
--stuic-color-surface-1: var(--color-stone-700, #737373);
|
|
213
|
+
--stuic-color-surface-1-hover: var(--color-stone-600, #737373);
|
|
214
|
+
--stuic-color-surface-1-active: var(--color-stone-500, #737373);
|
|
215
|
+
--stuic-color-surface-1-foreground: var(--color-stone-100, #737373);
|
|
216
|
+
--stuic-color-surface-1-foreground-hover: var(--color-stone-100, #737373);
|
|
217
|
+
--stuic-color-surface-1-foreground-active: var(--color-stone-100, #737373);
|
|
218
|
+
|
|
219
|
+
--stuic-color-surface-2: var(--color-stone-600, #737373);
|
|
220
|
+
--stuic-color-surface-2-hover: var(--color-stone-500, #737373);
|
|
221
|
+
--stuic-color-surface-2-active: var(--color-stone-400, #737373);
|
|
222
|
+
--stuic-color-surface-2-foreground: var(--color-stone-100, #737373);
|
|
223
|
+
--stuic-color-surface-2-foreground-hover: var(--color-stone-100, #737373);
|
|
224
|
+
--stuic-color-surface-2-foreground-active: var(--color-stone-100, #737373);
|
|
225
|
+
|
|
226
|
+
--stuic-color-muted: var(--color-stone-700, #737373);
|
|
227
|
+
|
|
228
|
+
--stuic-color-muted-hover: var(--color-stone-600, #737373);
|
|
229
|
+
--stuic-color-muted-active: var(--color-stone-500, #737373);
|
|
230
|
+
--stuic-color-muted-foreground: var(--color-stone-400, #737373);
|
|
231
|
+
--stuic-color-muted-foreground-hover: var(--color-stone-400, #737373);
|
|
232
|
+
--stuic-color-muted-foreground-active: var(--color-stone-400, #737373);
|
|
233
|
+
|
|
234
|
+
--stuic-color-foreground: var(--color-stone-50, #737373);
|
|
235
|
+
|
|
236
|
+
--stuic-color-foreground-hover: var(--color-stone-50, #737373);
|
|
237
|
+
--stuic-color-foreground-active: var(--color-stone-50, #737373);
|
|
238
|
+
|
|
239
|
+
--stuic-color-border: var(--color-stone-600, #737373);
|
|
240
|
+
|
|
241
|
+
--stuic-color-border-hover: var(--color-stone-500, #737373);
|
|
242
|
+
--stuic-color-border-active: var(--color-stone-400, #737373);
|
|
243
|
+
|
|
244
|
+
--stuic-color-input: var(--color-stone-800, #737373);
|
|
245
|
+
|
|
246
|
+
--stuic-color-input-hover: var(--color-stone-700, #737373);
|
|
247
|
+
--stuic-color-input-active: var(--color-stone-800, #737373);
|
|
248
|
+
|
|
249
|
+
--stuic-color-ring: color-mix(in srgb, var(--color-emerald-500) 25%, transparent);
|
|
250
|
+
|
|
251
|
+
--stuic-color-ring-hover: color-mix(in srgb, var(--color-emerald-500) 25%, transparent);
|
|
252
|
+
--stuic-color-ring-active: color-mix(in srgb, var(--color-emerald-500) 25%, transparent);
|
|
253
|
+
}
|