@marianmeres/stuic 3.0.1 → 3.0.3

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 (81) hide show
  1. package/dist/components/AlertConfirmPrompt/index.css +4 -4
  2. package/dist/components/Button/index.css +7 -7
  3. package/dist/components/DismissibleMessage/DismissibleMessage.svelte +1 -2
  4. package/dist/components/DismissibleMessage/index.css +10 -10
  5. package/dist/components/DropdownMenu/DropdownMenu.svelte +317 -73
  6. package/dist/components/DropdownMenu/DropdownMenu.svelte.d.ts +19 -0
  7. package/dist/components/DropdownMenu/index.css +64 -0
  8. package/dist/components/DropdownMenu/index.d.ts +1 -1
  9. package/dist/components/HoverExpandableWidth/HoverExpandableWidth.svelte +3 -1
  10. package/dist/components/HoverExpandableWidth/HoverExpandableWidth.svelte.d.ts +1 -0
  11. package/dist/components/Input/index.css +1 -1
  12. package/dist/components/Switch/index.css +1 -1
  13. package/dist/components/ThemePreview/ThemePreview.svelte +17 -17
  14. package/dist/components/ThemePreview/index.css +11 -12
  15. package/dist/icons/index.d.ts +1 -0
  16. package/dist/icons/index.js +1 -0
  17. package/dist/index.css +1 -1
  18. package/dist/themes/css/blue-orange.css +253 -0
  19. package/dist/themes/css/cyan-red.css +253 -0
  20. package/dist/themes/css/cyan-slate.css +253 -0
  21. package/dist/themes/css/emerald-amber-forest.css +253 -0
  22. package/dist/themes/css/emerald-pink.css +253 -0
  23. package/dist/themes/css/fuchsia-emerald.css +253 -0
  24. package/dist/themes/css/gray.css +253 -0
  25. package/dist/themes/css/indigo-amber.css +253 -0
  26. package/dist/themes/css/lime-fuchsia-neon.css +253 -0
  27. package/dist/themes/css/neutral.css +253 -0
  28. package/dist/themes/css/orange-pink-sunset.css +253 -0
  29. package/dist/themes/css/pink-emerald.css +253 -0
  30. package/dist/themes/css/pink-teal.css +253 -0
  31. package/dist/themes/css/purple-yellow.css +253 -0
  32. package/dist/themes/css/rainbow.css +253 -0
  33. package/dist/themes/css/red-blue.css +253 -0
  34. package/dist/themes/css/red-cyan.css +253 -0
  35. package/dist/themes/css/red-sky.css +253 -0
  36. package/dist/themes/css/rose-teal.css +253 -0
  37. package/dist/themes/css/sky-amber.css +253 -0
  38. package/dist/themes/css/slate-cyan.css +253 -0
  39. package/dist/themes/css/slate-teal-ocean.css +253 -0
  40. package/dist/themes/css/stone-orange-earth.css +253 -0
  41. package/dist/themes/css/teal-rose.css +253 -0
  42. package/dist/themes/css/violet-lime.css +253 -0
  43. package/dist/themes/css/violet-rose-dusk.css +253 -0
  44. package/dist/themes/emerald-amber-forest.d.ts +6 -0
  45. package/dist/themes/emerald-amber-forest.js +175 -0
  46. package/dist/themes/lime-fuchsia-neon.d.ts +6 -0
  47. package/dist/themes/lime-fuchsia-neon.js +175 -0
  48. package/dist/themes/orange-pink-sunset.d.ts +6 -0
  49. package/dist/themes/orange-pink-sunset.js +175 -0
  50. package/dist/themes/pink-teal.d.ts +6 -0
  51. package/dist/themes/pink-teal.js +175 -0
  52. package/dist/themes/red-sky.d.ts +6 -0
  53. package/dist/themes/red-sky.js +175 -0
  54. package/dist/themes/slate-teal-ocean.d.ts +6 -0
  55. package/dist/themes/slate-teal-ocean.js +175 -0
  56. package/dist/themes/stone-orange-earth.d.ts +6 -0
  57. package/dist/themes/stone-orange-earth.js +175 -0
  58. package/dist/themes/violet-rose-dusk.d.ts +6 -0
  59. package/dist/themes/violet-rose-dusk.js +175 -0
  60. package/dist/utils/design-tokens.d.ts +1 -1
  61. package/dist/utils/design-tokens.js +15 -1
  62. package/package.json +2 -2
  63. package/dist/base.css +0 -17
  64. package/dist/themes/blue-orange.css +0 -217
  65. package/dist/themes/cyan-red.css +0 -217
  66. package/dist/themes/cyan-slate.css +0 -217
  67. package/dist/themes/emerald-pink.css +0 -217
  68. package/dist/themes/fuchsia-emerald.css +0 -217
  69. package/dist/themes/gray.css +0 -217
  70. package/dist/themes/indigo-amber.css +0 -217
  71. package/dist/themes/neutral.css +0 -217
  72. package/dist/themes/pink-emerald.css +0 -217
  73. package/dist/themes/purple-yellow.css +0 -217
  74. package/dist/themes/rainbow.css +0 -217
  75. package/dist/themes/red-blue.css +0 -217
  76. package/dist/themes/red-cyan.css +0 -217
  77. package/dist/themes/rose-teal.css +0 -217
  78. package/dist/themes/sky-amber.css +0 -217
  79. package/dist/themes/slate-cyan.css +0 -217
  80. package/dist/themes/teal-rose.css +0 -217
  81. package/dist/themes/violet-lime.css +0 -217
@@ -72,6 +72,19 @@ export interface NavigableExpandable {
72
72
  expandableItem: DropdownMenuExpandableItem;
73
73
  }
74
74
  export type NavigableItem = DropdownMenuActionItem | NavigableExpandable;
75
+ /** Search configuration options */
76
+ export interface DropdownMenuSearchConfig {
77
+ /** Placeholder text for search input */
78
+ placeholder?: string;
79
+ /** Search strategy */
80
+ strategy?: "prefix" | "exact" | "fuzzy";
81
+ /** Custom function to extract searchable text from an item */
82
+ getContent?: (item: DropdownMenuActionItem | DropdownMenuExpandableItem) => string;
83
+ /** Auto-focus search input when menu opens */
84
+ autoFocus?: boolean;
85
+ /** Message shown when no results found */
86
+ noResultsMessage?: string;
87
+ }
75
88
  export interface Props extends Omit<HTMLButtonAttributes, "children"> {
76
89
  /** Menu items to display */
77
90
  items: DropdownMenuItem[];
@@ -91,6 +104,8 @@ export interface Props extends Omit<HTMLButtonAttributes, "children"> {
91
104
  closeOnEscape?: boolean;
92
105
  /** Force fallback positioning mode (for testing) */
93
106
  forceFallback?: boolean;
107
+ /** Enable search/filter functionality (true for defaults, or config object) */
108
+ search?: boolean | DropdownMenuSearchConfig;
94
109
  /** Classes for the wrapper element */
95
110
  class?: string;
96
111
  /** Classes for the trigger button */
@@ -117,6 +132,10 @@ export interface Props extends Omit<HTMLButtonAttributes, "children"> {
117
132
  classExpandableContent?: string;
118
133
  /** Classes for backdrop (fallback mode only) */
119
134
  classBackdrop?: string;
135
+ /** Classes for search input container */
136
+ classSearchContainer?: string;
137
+ /** Classes for search input */
138
+ classSearchInput?: string;
120
139
  /** Show backdrop in fallback mode (default: true) */
121
140
  showBackdrop?: boolean;
122
141
  /** Custom trigger snippet - receives isOpen state, toggle function, and ARIA props for full control */
@@ -64,6 +64,11 @@
64
64
 
65
65
  /* Expandable section indent */
66
66
  --stuic-dropdown-menu-expandable-indent: calc(var(--spacing) * 4);
67
+
68
+ /* Search */
69
+ --stuic-dropdown-menu-search-bg: var(--stuic-color-surface);
70
+ --stuic-dropdown-menu-search-border: var(--stuic-color-border);
71
+ --stuic-dropdown-menu-search-text: var(--stuic-color-muted-foreground);
67
72
  }
68
73
 
69
74
  @layer components {
@@ -266,4 +271,63 @@
266
271
  --pop-right;
267
272
  }
268
273
  }
274
+
275
+ /* =============================================================================
276
+ SEARCH INPUT
277
+ ============================================================================= */
278
+
279
+ .stuic-dropdown-menu-search {
280
+ position: sticky;
281
+ top: 0;
282
+ z-index: 10;
283
+ display: flex;
284
+ align-items: center;
285
+ gap: calc(var(--spacing) * 1);
286
+ padding: calc(var(--spacing) * 1.5) calc(var(--spacing) * 2);
287
+ background: var(--stuic-dropdown-menu-search-bg);
288
+ border-bottom: 1px solid var(--stuic-dropdown-menu-search-border);
289
+ margin: calc(var(--stuic-dropdown-menu-padding) * -1);
290
+ margin-bottom: var(--stuic-dropdown-menu-padding);
291
+ }
292
+
293
+ .stuic-dropdown-menu-search-icon {
294
+ color: var(--stuic-dropdown-menu-search-text);
295
+ flex-shrink: 0;
296
+ display: flex;
297
+ }
298
+
299
+ .stuic-dropdown-menu-search-input {
300
+ flex: 1;
301
+ min-width: 0;
302
+ background: transparent;
303
+ border: none;
304
+ outline: none;
305
+ color: var(--stuic-dropdown-menu-text);
306
+ font-size: inherit;
307
+ }
308
+
309
+ .stuic-dropdown-menu-search-input::placeholder {
310
+ color: var(--stuic-dropdown-menu-search-text);
311
+ }
312
+
313
+ .stuic-dropdown-menu-search-clear {
314
+ background: transparent;
315
+ border: none;
316
+ color: var(--stuic-dropdown-menu-search-text);
317
+ cursor: pointer;
318
+ padding: calc(var(--spacing) * 0.5);
319
+ display: flex;
320
+ border-radius: var(--stuic-dropdown-menu-radius);
321
+ transition: color var(--stuic-dropdown-menu-transition);
322
+ }
323
+
324
+ .stuic-dropdown-menu-search-clear:hover {
325
+ color: var(--stuic-dropdown-menu-text);
326
+ }
327
+
328
+ .stuic-dropdown-menu-no-results {
329
+ padding: calc(var(--spacing) * 4);
330
+ text-align: center;
331
+ color: var(--stuic-dropdown-menu-search-text);
332
+ }
269
333
  }
@@ -1 +1 @@
1
- export { default as DropdownMenu, type Props as DropdownMenuProps, type DropdownMenuItem, type DropdownMenuActionItem, type DropdownMenuDividerItem, type DropdownMenuHeaderItem, type DropdownMenuCustomItem, type DropdownMenuExpandableItem, type DropdownMenuFlatItem, type DropdownMenuPosition, type NavigableItem, type NavigableExpandable, DROPDOWN_MENU_BASE_CLASSES, DROPDOWN_MENU_TRIGGER_CLASSES, DROPDOWN_MENU_DROPDOWN_CLASSES, DROPDOWN_MENU_DIVIDER_CLASSES, DROPDOWN_MENU_HEADER_CLASSES, } from "./DropdownMenu.svelte";
1
+ export { default as DropdownMenu, type Props as DropdownMenuProps, type DropdownMenuItem, type DropdownMenuActionItem, type DropdownMenuDividerItem, type DropdownMenuHeaderItem, type DropdownMenuCustomItem, type DropdownMenuExpandableItem, type DropdownMenuFlatItem, type DropdownMenuPosition, type DropdownMenuSearchConfig, type NavigableItem, type NavigableExpandable, DROPDOWN_MENU_BASE_CLASSES, DROPDOWN_MENU_TRIGGER_CLASSES, DROPDOWN_MENU_DROPDOWN_CLASSES, DROPDOWN_MENU_DIVIDER_CLASSES, DROPDOWN_MENU_HEADER_CLASSES, } from "./DropdownMenu.svelte";
@@ -9,6 +9,7 @@
9
9
  targetWidth?: number;
10
10
  delayIn?: number;
11
11
  delayOut?: number;
12
+ zIndex?: number;
12
13
  children: Snippet<
13
14
  [
14
15
  {
@@ -38,6 +39,7 @@
38
39
  targetWidth = 256,
39
40
  delayIn = 500,
40
41
  delayOut = 300,
42
+ zIndex = 10,
41
43
  class: classProp,
42
44
  children,
43
45
  ...rest
@@ -95,7 +97,7 @@
95
97
  el.style.width = "auto";
96
98
  el.style.height = "auto";
97
99
 
98
- el.style.zIndex = "1";
100
+ el.style.zIndex = `${zIndex}`;
99
101
 
100
102
  // kind of ugly - need to set props in multiple steps...
101
103
  (async () => {
@@ -7,6 +7,7 @@ export interface Props {
7
7
  targetWidth?: number;
8
8
  delayIn?: number;
9
9
  delayOut?: number;
10
+ zIndex?: number;
10
11
  children: Snippet<[
11
12
  {
12
13
  isExpanded: boolean;
@@ -217,7 +217,7 @@
217
217
  .stuic-input .input-wrap.invalid:focus-within {
218
218
  border-color: var(--stuic-input-accent-error);
219
219
  box-shadow: 0 0 0 var(--stuic-input-ring-width)
220
- color-mix(in srgb, var(--stuic-input-accent-error) 20%, transparent);
220
+ color-mix(in srgb, var(--stuic-input-accent-error) 20%, var(--stuic-color-background));
221
221
  }
222
222
 
223
223
  /* Disabled state */
@@ -68,7 +68,7 @@
68
68
  .stuic-switch:focus {
69
69
  outline: none;
70
70
  box-shadow: 0 0 0 var(--stuic-switch-ring-width)
71
- color-mix(in srgb, var(--stuic-switch-ring-color) 30%, transparent);
71
+ color-mix(in srgb, var(--stuic-switch-ring-color) 30%, var(--stuic-color-background));
72
72
  }
73
73
 
74
74
  /* Disabled */
@@ -203,6 +203,23 @@
203
203
  </div>
204
204
  </section>
205
205
 
206
+ <!-- HIGHLIGHT BOXES -->
207
+ <section class="preview-section">
208
+ {#if showLabels}
209
+ <h2 class="section-label">Highlighted Content</h2>
210
+ {/if}
211
+
212
+ <div class="highlight-box primary">
213
+ <strong>Primary Highlight</strong>
214
+ <p>This box uses primary intent colors for important content.</p>
215
+ </div>
216
+
217
+ <div class="highlight-box accent">
218
+ <strong>Accent Highlight</strong>
219
+ <p>This box uses accent colors to draw attention.</p>
220
+ </div>
221
+ </section>
222
+
206
223
  <!-- ROLE COLORS -->
207
224
  <section class="preview-section">
208
225
  {#if showLabels}
@@ -289,23 +306,6 @@
289
306
  </div>
290
307
  </section>
291
308
 
292
- <!-- HIGHLIGHT BOXES -->
293
- <section class="preview-section">
294
- {#if showLabels}
295
- <h2 class="section-label">Highlighted Content</h2>
296
- {/if}
297
-
298
- <div class="highlight-box primary">
299
- <strong>Primary Highlight</strong>
300
- <p>This box uses primary intent colors for important content.</p>
301
- </div>
302
-
303
- <div class="highlight-box accent">
304
- <strong>Accent Highlight</strong>
305
- <p>This box uses accent colors to draw attention.</p>
306
- </div>
307
- </section>
308
-
309
309
  <!-- TYPOGRAPHY -->
310
310
  <section class="preview-section">
311
311
  {#if showLabels}
@@ -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-muted);
31
- --stuic-theme-preview-sidebar-text: var(--stuic-color-muted-foreground);
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
  /* ============================================================================
@@ -402,17 +401,17 @@
402
401
  opacity: 0.9;
403
402
  }
404
403
 
405
- /* Using soft variant pattern for content boxes */
404
+ /* Using surface-intent tokens for content boxes */
406
405
  .stuic-theme-preview .highlight-box.primary {
407
- background: color-mix(in srgb, var(--stuic-color-primary) 15%, transparent);
408
- color: var(--stuic-color-primary);
409
- border: 1px solid color-mix(in srgb, var(--stuic-color-primary) 30%, transparent);
406
+ background: var(--stuic-color-surface-primary);
407
+ color: var(--stuic-color-surface-primary-foreground);
408
+ border: 1px solid var(--stuic-color-surface-primary-border);
410
409
  }
411
410
 
412
411
  .stuic-theme-preview .highlight-box.accent {
413
- background: color-mix(in srgb, var(--stuic-color-accent) 15%, transparent);
414
- color: var(--stuic-color-accent);
415
- border: 1px solid color-mix(in srgb, var(--stuic-color-accent) 30%, transparent);
412
+ background: var(--stuic-color-surface-accent);
413
+ color: var(--stuic-color-surface-accent-foreground);
414
+ border: 1px solid var(--stuic-color-surface-accent-border);
416
415
  }
417
416
 
418
417
  /* ============================================================================
@@ -26,6 +26,7 @@ export { iconLucideTrash2 as iconTrash } from "@marianmeres/icons-fns/lucide/ico
26
26
  export { iconLucideZoomIn as iconZoomIn } from "@marianmeres/icons-fns/lucide/iconLucideZoomIn.js";
27
27
  export { iconLucideZoomOut as iconZoomOut } from "@marianmeres/icons-fns/lucide/iconLucideZoomOut.js";
28
28
  export { iconLucideSearch as iconSearch } from "@marianmeres/icons-fns/lucide/iconLucideSearch.js";
29
+ export { iconLucideX as iconX } from "@marianmeres/icons-fns/lucide/iconLucideX.js";
29
30
  export { iconLucideChevronDown as iconChevronDown } from "@marianmeres/icons-fns/lucide/iconLucideChevronDown.js";
30
31
  export { iconLucideChevronUp as iconChevronUp } from "@marianmeres/icons-fns/lucide/iconLucideChevronUp.js";
31
32
  export { iconLucideChevronRight as iconChevronRight } from "@marianmeres/icons-fns/lucide/iconLucideChevronRight.js";
@@ -30,6 +30,7 @@ export { iconLucideZoomIn as iconZoomIn } from "@marianmeres/icons-fns/lucide/ic
30
30
  export { iconLucideZoomOut as iconZoomOut } from "@marianmeres/icons-fns/lucide/iconLucideZoomOut.js";
31
31
  // UI Control Icons (Lucide)
32
32
  export { iconLucideSearch as iconSearch } from "@marianmeres/icons-fns/lucide/iconLucideSearch.js";
33
+ export { iconLucideX as iconX } from "@marianmeres/icons-fns/lucide/iconLucideX.js";
33
34
  export { iconLucideChevronDown as iconChevronDown } from "@marianmeres/icons-fns/lucide/iconLucideChevronDown.js";
34
35
  export { iconLucideChevronUp as iconChevronUp } from "@marianmeres/icons-fns/lucide/iconLucideChevronUp.js";
35
36
  export { iconLucideChevronRight as iconChevronRight } from "@marianmeres/icons-fns/lucide/iconLucideChevronRight.js";
package/dist/index.css CHANGED
@@ -1,7 +1,7 @@
1
1
  @source "./";
2
2
 
3
3
  /* */
4
- @import "./themes/neutral.css";
4
+ @import "./themes/css/neutral.css";
5
5
 
6
6
  /*****************************************************************************************
7
7
 
@@ -0,0 +1,253 @@
1
+ /* prettier-ignore */
2
+ :root {
3
+ --stuic-color-primary: var(--color-blue-600, #737373);
4
+
5
+ --stuic-color-primary-hover: var(--color-blue-700, #737373);
6
+ --stuic-color-primary-active: var(--color-blue-800, #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-orange-500, #737373);
12
+
13
+ --stuic-color-accent-hover: var(--color-orange-600, #737373);
14
+ --stuic-color-accent-active: var(--color-orange-700, #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-rose-600, #737373);
20
+
21
+ --stuic-color-destructive-hover: var(--color-rose-700, #737373);
22
+ --stuic-color-destructive-active: var(--color-rose-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-orange-500, #737373);
28
+
29
+ --stuic-color-warning-hover: var(--color-orange-600, #737373);
30
+ --stuic-color-warning-active: var(--color-orange-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-teal-600, #737373);
36
+
37
+ --stuic-color-success-hover: var(--color-teal-700, #737373);
38
+ --stuic-color-success-active: var(--color-teal-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-blue-500, #737373);
44
+
45
+ --stuic-color-info-hover: var(--color-blue-600, #737373);
46
+ --stuic-color-info-active: var(--color-blue-700, #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-100, #737373);
70
+ --stuic-color-surface-active: var(--color-stone-200, #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-white, #ffffff);
76
+
77
+ --stuic-color-background-hover: var(--color-white, #ffffff);
78
+ --stuic-color-background-active: var(--color-white, #ffffff);
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-50, #737373);
84
+
85
+ --stuic-color-surface-1: var(--color-stone-100, #737373);
86
+ --stuic-color-surface-1-hover: var(--color-stone-200, #737373);
87
+ --stuic-color-surface-1-active: var(--color-stone-300, #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-200, #737373);
93
+ --stuic-color-surface-2-hover: var(--color-stone-300, #737373);
94
+ --stuic-color-surface-2-active: var(--color-stone-400, #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-100, #737373);
100
+
101
+ --stuic-color-muted-hover: var(--color-stone-200, #737373);
102
+ --stuic-color-muted-active: var(--color-stone-300, #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-200, #737373);
113
+
114
+ --stuic-color-border-hover: var(--color-stone-300, #737373);
115
+ --stuic-color-border-active: var(--color-stone-400, #737373);
116
+
117
+ --stuic-color-input: var(--color-white, #ffffff);
118
+
119
+ --stuic-color-input-hover: var(--color-stone-50, #737373);
120
+ --stuic-color-input-active: var(--color-white, #ffffff);
121
+
122
+ --stuic-color-ring: color-mix(in srgb, var(--color-blue-600) 20%, transparent);
123
+
124
+ --stuic-color-ring-hover: color-mix(in srgb, var(--color-blue-600) 20%, transparent);
125
+ --stuic-color-ring-active: color-mix(in srgb, var(--color-blue-600) 20%, transparent);
126
+ }
127
+
128
+ /* prettier-ignore */
129
+ :root.dark {
130
+ --stuic-color-primary: var(--color-blue-500, #737373);
131
+
132
+ --stuic-color-primary-hover: var(--color-blue-400, #737373);
133
+ --stuic-color-primary-active: var(--color-blue-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-orange-400, #737373);
139
+
140
+ --stuic-color-accent-hover: var(--color-orange-300, #737373);
141
+ --stuic-color-accent-active: var(--color-orange-200, #737373);
142
+ --stuic-color-accent-foreground: var(--color-white, #ffffff);
143
+ --stuic-color-accent-foreground-hover: var(--color-white, #ffffff);
144
+ --stuic-color-accent-foreground-active: var(--color-white, #ffffff);
145
+
146
+ --stuic-color-destructive: var(--color-rose-500, #737373);
147
+
148
+ --stuic-color-destructive-hover: var(--color-rose-400, #737373);
149
+ --stuic-color-destructive-active: var(--color-rose-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-orange-400, #737373);
155
+
156
+ --stuic-color-warning-hover: var(--color-orange-300, #737373);
157
+ --stuic-color-warning-active: var(--color-orange-200, #737373);
158
+ --stuic-color-warning-foreground: var(--color-white, #ffffff);
159
+ --stuic-color-warning-foreground-hover: var(--color-white, #ffffff);
160
+ --stuic-color-warning-foreground-active: var(--color-white, #ffffff);
161
+
162
+ --stuic-color-success: var(--color-teal-500, #737373);
163
+
164
+ --stuic-color-success-hover: var(--color-teal-400, #737373);
165
+ --stuic-color-success-active: var(--color-teal-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-blue-400, #737373);
171
+
172
+ --stuic-color-info-hover: var(--color-blue-300, #737373);
173
+ --stuic-color-info-active: var(--color-blue-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-700, #737373);
240
+
241
+ --stuic-color-border-hover: var(--color-stone-600, #737373);
242
+ --stuic-color-border-active: var(--color-stone-500, #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-blue-400) 25%, transparent);
250
+
251
+ --stuic-color-ring-hover: color-mix(in srgb, var(--color-blue-400) 25%, transparent);
252
+ --stuic-color-ring-active: color-mix(in srgb, var(--color-blue-400) 25%, transparent);
253
+ }