@elevasis/ui 1.19.0 → 1.20.1

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 (94) hide show
  1. package/dist/api/index.js +2 -2
  2. package/dist/auth/index.js +3 -3
  3. package/dist/charts/index.css +14 -0
  4. package/dist/charts/index.js +8 -6
  5. package/dist/{chunk-7ATCF6UL.js → chunk-3DIU726S.js} +11 -4
  6. package/dist/chunk-4SY4EQSK.js +68 -0
  7. package/dist/{chunk-2Z7LYTIX.js → chunk-AQ5MQDSS.js} +30 -17
  8. package/dist/chunk-AWMZCYKH.js +639 -0
  9. package/dist/{chunk-BVNAC4SQ.js → chunk-C7AD6N23.js} +38 -48
  10. package/dist/{chunk-ZFCG5SHW.js → chunk-COTI2QPO.js} +1 -1
  11. package/dist/{chunk-WAPZN2U3.js → chunk-EMN755L5.js} +7 -41
  12. package/dist/{chunk-LBY7FVFD.js → chunk-ERVB3QJQ.js} +31 -715
  13. package/dist/chunk-GBMNCNHX.js +105 -0
  14. package/dist/{chunk-MBZDE6UT.js → chunk-IOKL7BKE.js} +9 -1
  15. package/dist/{chunk-35UWYH2A.js → chunk-JFRG2JJE.js} +8 -2
  16. package/dist/chunk-JIABC3AE.js +2622 -0
  17. package/dist/chunk-JZEXFQ6N.js +671 -0
  18. package/dist/chunk-LGKLC5MG.js +44 -0
  19. package/dist/chunk-MG3NF7QL.js +63 -0
  20. package/dist/{chunk-KBLGVZBD.js → chunk-NNKKBSJN.js} +2 -22
  21. package/dist/{chunk-JNBHUCKW.js → chunk-NVOCKXUQ.js} +1 -1
  22. package/dist/chunk-OFAXUZPZ.js +2411 -0
  23. package/dist/chunk-PDHTXPSF.js +12 -0
  24. package/dist/chunk-QJ2S46NI.js +23 -0
  25. package/dist/{chunk-NUULWBAD.js → chunk-R3R367QY.js} +1 -1
  26. package/dist/{chunk-UANJP5P7.js → chunk-R7WLWGPO.js} +5 -5
  27. package/dist/{chunk-CC3SDRIF.js → chunk-RWQIFKMJ.js} +1 -1
  28. package/dist/chunk-UMFPUM7Q.js +1281 -0
  29. package/dist/{chunk-KNJKCD73.js → chunk-VLTVZXP6.js} +4 -4
  30. package/dist/chunk-WWEMNIHW.js +37 -0
  31. package/dist/{chunk-UTWJZEOJ.js → chunk-XOTN3X3Z.js} +3 -3
  32. package/dist/components/index.css +14 -0
  33. package/dist/components/index.d.ts +41 -7
  34. package/dist/components/index.js +564 -5023
  35. package/dist/components/navigation/index.js +2 -63
  36. package/dist/features/auth/index.css +579 -0
  37. package/dist/features/auth/index.d.ts +2557 -0
  38. package/dist/features/auth/index.js +125 -0
  39. package/dist/features/dashboard/index.css +579 -0
  40. package/dist/features/dashboard/index.d.ts +244 -0
  41. package/dist/features/dashboard/index.js +650 -0
  42. package/dist/features/monitoring/index.css +579 -0
  43. package/dist/features/monitoring/index.d.ts +121 -0
  44. package/dist/features/monitoring/index.js +538 -0
  45. package/dist/features/operations/index.css +14 -0
  46. package/dist/features/operations/index.d.ts +1675 -2
  47. package/dist/features/operations/index.js +2148 -28
  48. package/dist/features/settings/index.css +579 -0
  49. package/dist/features/settings/index.d.ts +2589 -0
  50. package/dist/features/settings/index.js +1437 -0
  51. package/dist/hooks/index.css +14 -0
  52. package/dist/hooks/index.d.ts +29 -11
  53. package/dist/hooks/index.js +13 -13
  54. package/dist/hooks/published.css +14 -0
  55. package/dist/hooks/published.d.ts +29 -11
  56. package/dist/hooks/published.js +12 -12
  57. package/dist/index.css +14 -0
  58. package/dist/index.d.ts +41 -12
  59. package/dist/index.js +15 -15
  60. package/dist/initialization/index.js +2 -2
  61. package/dist/layout/index.d.ts +7 -1
  62. package/dist/layout/index.js +7 -5
  63. package/dist/organization/index.js +2 -2
  64. package/dist/provider/index.css +14 -0
  65. package/dist/provider/index.d.ts +1 -1
  66. package/dist/provider/index.js +10 -10
  67. package/dist/provider/published.d.ts +1 -1
  68. package/dist/provider/published.js +6 -6
  69. package/dist/theme/index.d.ts +1 -1
  70. package/dist/theme/index.js +3 -3
  71. package/dist/theme/presets/__tests__/getPreset.test.d.ts +2 -0
  72. package/dist/theme/presets/__tests__/getPreset.test.d.ts.map +1 -0
  73. package/dist/theme/presets/__tests__/getPreset.test.js +92 -0
  74. package/dist/theme/presets/cyber-volt.d.ts +12 -0
  75. package/dist/theme/presets/cyber-volt.d.ts.map +1 -0
  76. package/dist/theme/presets/cyber-volt.js +70 -0
  77. package/dist/theme/presets/regal.d.ts +8 -0
  78. package/dist/theme/presets/regal.d.ts.map +1 -0
  79. package/dist/theme/presets/regal.js +69 -0
  80. package/dist/theme/presets/rose-gold.d.ts +12 -0
  81. package/dist/theme/presets/rose-gold.d.ts.map +1 -0
  82. package/dist/theme/presets/rose-gold.js +76 -0
  83. package/dist/types/index.d.ts +1 -1
  84. package/dist/utils/index.d.ts +12 -1
  85. package/dist/utils/index.js +1 -1
  86. package/dist/zustand/index.d.ts +80 -0
  87. package/dist/zustand/index.js +105 -0
  88. package/package.json +55 -4
  89. package/dist/chunk-2YW3LDFT.js +0 -1542
  90. package/dist/theme/presets/cyber-void.d.ts +0 -12
  91. package/dist/theme/presets/cyber-void.d.ts.map +0 -1
  92. package/dist/theme/presets/cyber-void.js +0 -75
  93. package/dist/{chunk-DVKEEY5J.js → chunk-TUXTSEAF.js} +1 -1
  94. package/dist/{chunk-U2522LSW.js → chunk-V7XHGJQZ.js} +1 -1
@@ -0,0 +1,2411 @@
1
+ import { CyberBackground, WaveBackground } from './chunk-3DIU726S.js';
2
+ import { createElement, createContext, useRef, useEffect, useContext } from 'react';
3
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
4
+ import { Tooltip, Text, Tabs, Table, Stack, SimpleGrid, Select, Combobox, SegmentedControl, ScrollArea, Paper, Popover, Notification, Modal, Menu, Input, HoverCard, Group, Grid, Flex, Code, Divider, Card, Button, Accordion, createTheme } from '@mantine/core';
5
+
6
+ // src/theme/presets/utils.ts
7
+ function hexToRgb(hex) {
8
+ const h = hex.replace("#", "");
9
+ const full = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
10
+ return [parseInt(full.slice(0, 2), 16), parseInt(full.slice(2, 4), 16), parseInt(full.slice(4, 6), 16)];
11
+ }
12
+ function rgbToHsl(r, g, b) {
13
+ r /= 255;
14
+ g /= 255;
15
+ b /= 255;
16
+ const max = Math.max(r, g, b), min = Math.min(r, g, b);
17
+ const l = (max + min) / 2;
18
+ if (max === min) return [0, 0, l];
19
+ const d = max - min;
20
+ const s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
21
+ let h = 0;
22
+ if (max === r) h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
23
+ else if (max === g) h = ((b - r) / d + 2) / 6;
24
+ else h = ((r - g) / d + 4) / 6;
25
+ return [h * 360, s, l];
26
+ }
27
+ function hslToHex(h, s, l) {
28
+ h /= 360;
29
+ const hue2rgb = (p, q, t) => {
30
+ if (t < 0) t += 1;
31
+ if (t > 1) t -= 1;
32
+ if (t < 1 / 6) return p + (q - p) * 6 * t;
33
+ if (t < 1 / 2) return q;
34
+ if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
35
+ return p;
36
+ };
37
+ let r, g, b;
38
+ if (s === 0) {
39
+ r = g = b = l;
40
+ } else {
41
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
42
+ const p = 2 * l - q;
43
+ r = hue2rgb(p, q, h + 1 / 3);
44
+ g = hue2rgb(p, q, h);
45
+ b = hue2rgb(p, q, h - 1 / 3);
46
+ }
47
+ const toHex = (n) => Math.round(Math.min(255, Math.max(0, n * 255))).toString(16).padStart(2, "0");
48
+ return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
49
+ }
50
+ function generateShades(hex) {
51
+ const [r, g, b] = hexToRgb(hex);
52
+ const [h, s, l] = rgbToHsl(r, g, b);
53
+ const targets = [
54
+ 0.95,
55
+ 0.88,
56
+ 0.78,
57
+ 0.65,
58
+ 0.55,
59
+ 0.48,
60
+ l,
61
+ Math.max(l - 0.08, 0.08),
62
+ Math.max(l - 0.16, 0.05),
63
+ Math.max(l - 0.24, 0.03)
64
+ ];
65
+ return targets.map((tl) => hslToHex(h, s, tl));
66
+ }
67
+
68
+ // src/theme/presets/default.ts
69
+ var defaultPreset = {
70
+ subtitleFontFamily: '"Inter", sans-serif',
71
+ fontImports: ["https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"],
72
+ light: {
73
+ primary: "#0099ff",
74
+ primaryContrast: "#ffffff",
75
+ background: "#ededf0",
76
+ surface: "#f5f5f5",
77
+ surfaceHover: "#f2f2f2",
78
+ text: "#212529",
79
+ textDimmed: "#495057",
80
+ textSubtle: "#868e96",
81
+ border: "#ddd",
82
+ error: "#dc3545",
83
+ warning: "#fd7e14",
84
+ success: "#28a745",
85
+ glassBackground: "rgba(252, 252, 252, 0.6)",
86
+ glassBlur: "blur(10px)",
87
+ shadow: "0px 3px 5px -4px rgba(0, 0, 0, 0.18)",
88
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.02), inset 0 0 0 1px rgba(255, 255, 255, 0.3), 0 2px 4px rgba(0, 0, 0, 0.02), 0 4px 8px rgba(0, 0, 0, 0.02), 0 8px 16px rgba(0, 0, 0, 0.02)",
89
+ durationFast: "150ms",
90
+ durationNormal: "250ms",
91
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
92
+ destructiveFg: "#ffffff",
93
+ fontHeading: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
94
+ fontSans: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
95
+ },
96
+ dark: {
97
+ primary: "#0099ff",
98
+ primaryContrast: "#ffffff",
99
+ background: "#040404",
100
+ surface: "#111112",
101
+ surfaceHover: "#191919",
102
+ text: "#ffffff",
103
+ textDimmed: "#c1c2c5",
104
+ textSubtle: "#999999",
105
+ border: "#1C1C1C",
106
+ error: "#ff5252",
107
+ warning: "#ff9800",
108
+ success: "#4caf50",
109
+ glassBackground: "rgba(15, 15, 15, 0.6)",
110
+ glassBlur: "blur(10px)",
111
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
112
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.08), inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 2px 8px rgba(0, 0, 0, 0.4), 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 32px 64px -16px rgba(0, 0, 0, 0.4)",
113
+ durationFast: "150ms",
114
+ durationNormal: "250ms",
115
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
116
+ destructiveFg: "#ffffff",
117
+ fontHeading: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
118
+ fontSans: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
119
+ }
120
+ };
121
+
122
+ // src/theme/presets/tactical.ts
123
+ var tacticalPreset = {
124
+ light: {
125
+ primary: "#0099ff",
126
+ primaryContrast: "#ffffff",
127
+ background: "#EAEBEE",
128
+ surface: "#F3F3F6",
129
+ surfaceHover: "#DFDFE4",
130
+ text: "#0F1319",
131
+ textDimmed: "#3B4559",
132
+ textSubtle: "#5D677B",
133
+ border: "#C5CCD6",
134
+ error: "#D32F2F",
135
+ warning: "#ED6C02",
136
+ success: "#2E7D32",
137
+ glassBackground: "rgba(243, 243, 246, 0.6)",
138
+ glassBlur: "blur(14px)",
139
+ shadow: "0px 2px 4px -2px rgba(15, 19, 25, 0.12)",
140
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.06), inset 0 0 0 1px rgba(255, 255, 255, 0.3), 0 1px 3px rgba(15, 19, 25, 0.06), 0 4px 8px rgba(15, 19, 25, 0.04)",
141
+ durationFast: "100ms",
142
+ durationNormal: "180ms",
143
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
144
+ destructiveFg: "#ffffff",
145
+ fontHeading: '"Chakra Petch", sans-serif',
146
+ fontSans: '"Chakra Petch", sans-serif'
147
+ },
148
+ dark: {
149
+ primary: "#0099ff",
150
+ primaryContrast: "#ffffff",
151
+ background: "#020305",
152
+ surface: "rgba(15, 17, 25, 0.3)",
153
+ surfaceHover: "rgba(28, 30, 40, 0.5)",
154
+ text: "#EFF2F7",
155
+ textDimmed: "#B0BCD2",
156
+ textSubtle: "#8898AE",
157
+ border: "#181C2D",
158
+ error: "#FF4757",
159
+ warning: "#FFA502",
160
+ success: "#2ED573",
161
+ glassBackground: "rgba(14, 15, 22, 0.5)",
162
+ glassBlur: "blur(18px) saturate(180%)",
163
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
164
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.08), inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 2px 8px rgba(0, 0, 0, 0.4), 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 32px 64px -16px rgba(0, 0, 0, 0.4)",
165
+ durationFast: "100ms",
166
+ durationNormal: "180ms",
167
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
168
+ destructiveFg: "#ffffff",
169
+ fontHeading: '"Chakra Petch", sans-serif',
170
+ fontSans: '"Chakra Petch", sans-serif'
171
+ },
172
+ subtitleFontFamily: '"Chakra Petch", sans-serif',
173
+ framework: {
174
+ fontFamily: '"Chakra Petch", sans-serif',
175
+ headings: {
176
+ fontFamily: '"Chakra Petch", sans-serif'
177
+ }
178
+ },
179
+ fontImports: ["https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&display=swap"]
180
+ };
181
+
182
+ // src/theme/presets/regal.ts
183
+ var regalPreset = {
184
+ light: {
185
+ primary: "#B8922F",
186
+ primaryContrast: "#ffffff",
187
+ background: "#F0F0F2",
188
+ surface: "#F7F7F8",
189
+ surfaceHover: "#E9E9EB",
190
+ text: "#2E2E30",
191
+ textDimmed: "#50505A",
192
+ textSubtle: "#8E8E96",
193
+ border: "#CCCCD2",
194
+ error: "#A83232",
195
+ warning: "#B87A1A",
196
+ success: "#3A7A3A",
197
+ glassBackground: "rgba(247, 247, 248, 0.6)",
198
+ glassBlur: "blur(12px)",
199
+ shadow: "0px 2px 6px -2px rgba(20, 20, 20, 0.12)",
200
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.3), 0 2px 4px rgba(20, 20, 20, 0.06), 0 4px 8px rgba(20, 20, 20, 0.04)",
201
+ durationFast: "180ms",
202
+ durationNormal: "320ms",
203
+ easing: "cubic-bezier(0.25, 0.1, 0.25, 1)",
204
+ destructiveFg: "#ffffff",
205
+ fontHeading: '"Cinzel", serif',
206
+ fontSans: '"Inter", sans-serif'
207
+ },
208
+ dark: {
209
+ primary: "#D4A843",
210
+ primaryContrast: "#1A1400",
211
+ background: "#000000",
212
+ surface: "#0E0E0E",
213
+ surfaceHover: "#181818",
214
+ text: "#F5EEE0",
215
+ textDimmed: "#C8BA98",
216
+ textSubtle: "#A89880",
217
+ border: "#1D1D1D",
218
+ error: "#E05252",
219
+ warning: "#D4943C",
220
+ success: "#4AA84A",
221
+ glassBackground: "rgba(14, 14, 14, 0.6)",
222
+ glassBlur: "blur(14px)",
223
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
224
+ cardShadow: "inset 0 1px 0 rgba(212, 168, 67, 0.08), inset 0 0 0 1px rgba(212, 168, 67, 0.04), 0 2px 8px rgba(0, 0, 0, 0.4), 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 32px 64px -16px rgba(0, 0, 0, 0.4)",
225
+ durationFast: "180ms",
226
+ durationNormal: "320ms",
227
+ easing: "cubic-bezier(0.25, 0.1, 0.25, 1)",
228
+ destructiveFg: "#ffffff",
229
+ fontHeading: '"Cinzel", serif',
230
+ fontSans: '"Inter", sans-serif'
231
+ },
232
+ subtitleFontFamily: '"Raleway", sans-serif',
233
+ framework: {
234
+ defaultRadius: "xs",
235
+ fontFamily: '"Inter", sans-serif',
236
+ headings: {
237
+ fontFamily: '"Cinzel", serif',
238
+ fontWeight: "600"
239
+ }
240
+ },
241
+ fontImports: [
242
+ "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&display=swap",
243
+ "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap",
244
+ "https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700&display=swap"
245
+ ]
246
+ };
247
+ var cyberVoltPreset = {
248
+ background: createElement(CyberBackground, { variant: "volt" }),
249
+ light: {
250
+ primary: "#0097A7",
251
+ primaryContrast: "#ffffff",
252
+ background: "#F5FAFB",
253
+ surface: "transparent",
254
+ surfaceHover: "rgba(0, 151, 167, 0.08)",
255
+ text: "#0A0E14",
256
+ textDimmed: "#2E3A4D",
257
+ textSubtle: "#556680",
258
+ border: "rgba(10, 14, 20, 0.08)",
259
+ error: "#FF1744",
260
+ warning: "#FF9100",
261
+ success: "#00E676",
262
+ glassBackground: "rgba(245, 250, 251, 0.25)",
263
+ glassBlur: "blur(8px) saturate(180%)",
264
+ shadow: "0px 2px 6px rgba(0, 0, 0, 0.05), 0px 20px 48px -8px rgba(0, 0, 0, 0.14)",
265
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 3px rgba(0, 0, 0, 0.03), 0 8px 24px -8px rgba(0, 0, 0, 0.06), 0 20px 48px -16px rgba(0, 0, 0, 0.04)",
266
+ durationFast: "80ms",
267
+ durationNormal: "160ms",
268
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
269
+ destructiveFg: "#ffffff",
270
+ fontHeading: '"Chakra Petch", sans-serif',
271
+ fontSans: '"Chakra Petch", sans-serif'
272
+ },
273
+ dark: {
274
+ primary: "#00E5FF",
275
+ primaryContrast: "#001418",
276
+ background: "#030506",
277
+ surface: "transparent",
278
+ surfaceHover: "rgba(0, 229, 255, 0.06)",
279
+ text: "#E0F7FA",
280
+ textDimmed: "#80DEEA",
281
+ textSubtle: "#5E8A94",
282
+ border: "rgba(0, 229, 255, 0.14)",
283
+ error: "#FF1744",
284
+ warning: "#FF9100",
285
+ success: "#00E676",
286
+ glassBackground: "rgba(6, 14, 20, 0.4)",
287
+ glassBlur: "blur(14px) saturate(200%)",
288
+ shadow: "0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3), 0 16px 36px -14px rgba(0, 0, 0, 0.4)",
289
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.04), inset 0 0 0 1px rgba(0, 229, 255, 0.06), 0 1px 2px rgba(0, 0, 0, 0.6), 0 4px 10px rgba(0, 0, 0, 0.35), 0 14px 28px -10px rgba(0, 0, 0, 0.45), 0 24px 48px -18px rgba(0, 0, 0, 0.35)",
290
+ durationFast: "80ms",
291
+ durationNormal: "160ms",
292
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
293
+ destructiveFg: "#ffffff",
294
+ fontHeading: '"Chakra Petch", sans-serif',
295
+ fontSans: '"Chakra Petch", sans-serif'
296
+ },
297
+ subtitleFontFamily: '"Chakra Petch", sans-serif',
298
+ framework: {
299
+ fontFamily: '"Chakra Petch", sans-serif',
300
+ headings: {
301
+ fontFamily: '"Chakra Petch", sans-serif'
302
+ }
303
+ },
304
+ fontImports: ["https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&display=swap"]
305
+ };
306
+ var STYLE = `
307
+ div[style*="var(--color-background)"][style*="100vh"] {
308
+ background-color: transparent !important;
309
+ isolation: isolate;
310
+ }
311
+ .chrome-bg-root {
312
+ position: fixed;
313
+ inset: 0;
314
+ z-index: -1;
315
+ overflow: hidden;
316
+ pointer-events: none;
317
+ }
318
+
319
+ /* ============ Light mode variant palettes ============ */
320
+ [data-mantine-color-scheme="light"] .chrome-bg-root[data-variant="midnight"] {
321
+ --chrome-base: #F7F5FF;
322
+ --chrome-origin-glow: rgba(221, 214, 254, 0.5);
323
+ --chrome-vignette: rgba(30, 15, 60, 0.05);
324
+ --chrome-beam-1: #A78BFA;
325
+ --chrome-beam-2: #C4B5FD;
326
+ --chrome-beam-3: #818CF8;
327
+ --chrome-beam-4: #A78BFA;
328
+ --chrome-beam-5: #8B5CF6;
329
+ --chrome-beam-6: #C4B5FD;
330
+ --chrome-beam-7: #818CF8;
331
+ --chrome-beam-8: #A78BFA;
332
+ }
333
+ [data-mantine-color-scheme="light"] .chrome-bg-root[data-variant="aurora"] {
334
+ --chrome-base: #F2F8F5;
335
+ --chrome-origin-glow: rgba(167, 243, 208, 0.5);
336
+ --chrome-vignette: rgba(10, 40, 30, 0.05);
337
+ --chrome-beam-1: #34D399;
338
+ --chrome-beam-2: #6EE7B7;
339
+ --chrome-beam-3: #2DD4BF;
340
+ --chrome-beam-4: #5EEAD4;
341
+ --chrome-beam-5: #10B981;
342
+ --chrome-beam-6: #6EE7B7;
343
+ --chrome-beam-7: #34D399;
344
+ --chrome-beam-8: #5EEAD4;
345
+ }
346
+ [data-mantine-color-scheme="light"] .chrome-bg-root[data-variant="rose-gold"] {
347
+ --chrome-base: #F7F2F0;
348
+ --chrome-origin-glow: rgba(253, 205, 197, 0.5);
349
+ --chrome-vignette: rgba(45, 21, 22, 0.05);
350
+ --chrome-beam-1: #FB7185;
351
+ --chrome-beam-2: #FDA4AF;
352
+ --chrome-beam-3: #E8A598;
353
+ --chrome-beam-4: #FDA4AF;
354
+ --chrome-beam-5: #C07A6F;
355
+ --chrome-beam-6: #FB923C;
356
+ --chrome-beam-7: #F472B6;
357
+ --chrome-beam-8: #FDA4AF;
358
+ }
359
+ [data-mantine-color-scheme="light"] .chrome-bg-root[data-variant="ember"] {
360
+ --chrome-base: #F7F3EF;
361
+ --chrome-origin-glow: rgba(254, 215, 170, 0.45);
362
+ --chrome-vignette: rgba(44, 23, 8, 0.05);
363
+ --chrome-beam-1: #F97316;
364
+ --chrome-beam-2: #FB923C;
365
+ --chrome-beam-3: #EA580C;
366
+ --chrome-beam-4: #FDBA74;
367
+ --chrome-beam-5: #F59E0B;
368
+ --chrome-beam-6: #FB923C;
369
+ --chrome-beam-7: #F97316;
370
+ --chrome-beam-8: #FDBA74;
371
+ }
372
+
373
+ /* ============ Dark mode variant palettes ============ */
374
+ [data-mantine-color-scheme="dark"] .chrome-bg-root[data-variant="midnight"] {
375
+ --chrome-base: #050610;
376
+ --chrome-origin-glow: rgba(100, 116, 139, 0.06);
377
+ --chrome-vignette: rgba(0, 0, 0, 0.4);
378
+ --chrome-beam-1: #1E293B;
379
+ --chrome-beam-2: #334155;
380
+ --chrome-beam-3: #3B3B5C;
381
+ --chrome-beam-4: #3730A3;
382
+ --chrome-beam-5: #475569;
383
+ --chrome-beam-6: #312E81;
384
+ --chrome-beam-7: #4C4A6E;
385
+ --chrome-beam-8: #1E1B4B;
386
+ }
387
+ [data-mantine-color-scheme="dark"] .chrome-bg-root[data-variant="aurora"] {
388
+ --chrome-base: #020807;
389
+ --chrome-origin-glow: rgba(20, 184, 166, 0.05);
390
+ --chrome-vignette: rgba(0, 0, 0, 0.4);
391
+ --chrome-beam-1: #064E3B;
392
+ --chrome-beam-2: #065F46;
393
+ --chrome-beam-3: #047857;
394
+ --chrome-beam-4: #0F766E;
395
+ --chrome-beam-5: #0D9488;
396
+ --chrome-beam-6: #115E59;
397
+ --chrome-beam-7: #134E4A;
398
+ --chrome-beam-8: #059669;
399
+ }
400
+ [data-mantine-color-scheme="dark"] .chrome-bg-root[data-variant="rose-gold"] {
401
+ --chrome-base: #070405;
402
+ --chrome-origin-glow: rgba(232, 165, 152, 0.05);
403
+ --chrome-vignette: rgba(0, 0, 0, 0.4);
404
+ --chrome-beam-1: #4C0519;
405
+ --chrome-beam-2: #881337;
406
+ --chrome-beam-3: #9F1239;
407
+ --chrome-beam-4: #7C2D12;
408
+ --chrome-beam-5: #A8695E;
409
+ --chrome-beam-6: #C07A6F;
410
+ --chrome-beam-7: #E8A598;
411
+ --chrome-beam-8: #C8897C;
412
+ }
413
+ [data-mantine-color-scheme="dark"] .chrome-bg-root[data-variant="ember"] {
414
+ --chrome-base: #060302;
415
+ --chrome-origin-glow: rgba(232, 123, 85, 0.05);
416
+ --chrome-vignette: rgba(0, 0, 0, 0.4);
417
+ --chrome-beam-1: #431407;
418
+ --chrome-beam-2: #7C2D12;
419
+ --chrome-beam-3: #9A3412;
420
+ --chrome-beam-4: #B45309;
421
+ --chrome-beam-5: #C2410C;
422
+ --chrome-beam-6: #92400E;
423
+ --chrome-beam-7: #EA580C;
424
+ --chrome-beam-8: #78350F;
425
+ }
426
+
427
+ /* ============ Shared geometry ============ */
428
+ .chrome-bg-root {
429
+ background:
430
+ radial-gradient(ellipse 80% 40% at 50% -25%, var(--chrome-origin-glow), transparent 75%),
431
+ var(--chrome-base);
432
+ }
433
+ .chrome-bg-root::after {
434
+ content: '';
435
+ position: absolute;
436
+ inset: 0;
437
+ background:
438
+ radial-gradient(ellipse 140% 110% at 50% 0%, transparent 65%, var(--chrome-vignette) 100%);
439
+ pointer-events: none;
440
+ }
441
+ .chrome-bg-wrapper {
442
+ position: absolute;
443
+ width: 200vmax;
444
+ height: 200vmax;
445
+ top: -115vmax;
446
+ left: -50vmax;
447
+ animation: chrome-rotate 180s linear infinite;
448
+ will-change: transform;
449
+ }
450
+ .chrome-bg-beam {
451
+ position: absolute;
452
+ top: 50%;
453
+ left: 0;
454
+ right: 0;
455
+ height: 18vmax;
456
+ filter: blur(55px);
457
+ transform-origin: center;
458
+ }
459
+
460
+ /* Light mode: multiply blend with low opacity over pale base */
461
+ [data-mantine-color-scheme="light"] .chrome-bg-beam {
462
+ mix-blend-mode: multiply;
463
+ }
464
+ [data-mantine-color-scheme="light"] .chrome-bg-beam-1 {
465
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-1) 25%, var(--chrome-beam-1) 75%, transparent 95%);
466
+ transform: rotate(0deg);
467
+ opacity: 0.09;
468
+ }
469
+ [data-mantine-color-scheme="light"] .chrome-bg-beam-2 {
470
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-2) 25%, var(--chrome-beam-2) 75%, transparent 95%);
471
+ transform: rotate(22.5deg);
472
+ opacity: 0.08;
473
+ }
474
+ [data-mantine-color-scheme="light"] .chrome-bg-beam-3 {
475
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-3) 25%, var(--chrome-beam-3) 75%, transparent 95%);
476
+ transform: rotate(45deg);
477
+ opacity: 0.09;
478
+ }
479
+ [data-mantine-color-scheme="light"] .chrome-bg-beam-4 {
480
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-4) 25%, var(--chrome-beam-4) 75%, transparent 95%);
481
+ transform: rotate(67.5deg);
482
+ opacity: 0.07;
483
+ }
484
+ [data-mantine-color-scheme="light"] .chrome-bg-beam-5 {
485
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-5) 25%, var(--chrome-beam-5) 75%, transparent 95%);
486
+ transform: rotate(90deg);
487
+ opacity: 0.09;
488
+ }
489
+ [data-mantine-color-scheme="light"] .chrome-bg-beam-6 {
490
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-6) 25%, var(--chrome-beam-6) 75%, transparent 95%);
491
+ transform: rotate(112.5deg);
492
+ opacity: 0.07;
493
+ }
494
+ [data-mantine-color-scheme="light"] .chrome-bg-beam-7 {
495
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-7) 25%, var(--chrome-beam-7) 75%, transparent 95%);
496
+ transform: rotate(135deg);
497
+ opacity: 0.09;
498
+ }
499
+ [data-mantine-color-scheme="light"] .chrome-bg-beam-8 {
500
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-8) 25%, var(--chrome-beam-8) 75%, transparent 95%);
501
+ transform: rotate(157.5deg);
502
+ opacity: 0.07;
503
+ }
504
+
505
+ /* Dark mode: screen blend with low opacity over near-black base */
506
+ [data-mantine-color-scheme="dark"] .chrome-bg-beam {
507
+ mix-blend-mode: screen;
508
+ }
509
+ [data-mantine-color-scheme="dark"] .chrome-bg-beam-1 {
510
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-1) 25%, var(--chrome-beam-1) 75%, transparent 95%);
511
+ transform: rotate(0deg);
512
+ opacity: 0.12;
513
+ }
514
+ [data-mantine-color-scheme="dark"] .chrome-bg-beam-2 {
515
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-2) 25%, var(--chrome-beam-2) 75%, transparent 95%);
516
+ transform: rotate(22.5deg);
517
+ opacity: 0.1;
518
+ }
519
+ [data-mantine-color-scheme="dark"] .chrome-bg-beam-3 {
520
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-3) 25%, var(--chrome-beam-3) 75%, transparent 95%);
521
+ transform: rotate(45deg);
522
+ opacity: 0.12;
523
+ }
524
+ [data-mantine-color-scheme="dark"] .chrome-bg-beam-4 {
525
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-4) 25%, var(--chrome-beam-4) 75%, transparent 95%);
526
+ transform: rotate(67.5deg);
527
+ opacity: 0.1;
528
+ }
529
+ [data-mantine-color-scheme="dark"] .chrome-bg-beam-5 {
530
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-5) 25%, var(--chrome-beam-5) 75%, transparent 95%);
531
+ transform: rotate(90deg);
532
+ opacity: 0.12;
533
+ }
534
+ [data-mantine-color-scheme="dark"] .chrome-bg-beam-6 {
535
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-6) 25%, var(--chrome-beam-6) 75%, transparent 95%);
536
+ transform: rotate(112.5deg);
537
+ opacity: 0.1;
538
+ }
539
+ [data-mantine-color-scheme="dark"] .chrome-bg-beam-7 {
540
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-7) 25%, var(--chrome-beam-7) 75%, transparent 95%);
541
+ transform: rotate(135deg);
542
+ opacity: 0.12;
543
+ }
544
+ [data-mantine-color-scheme="dark"] .chrome-bg-beam-8 {
545
+ background: linear-gradient(to right, transparent 5%, var(--chrome-beam-8) 25%, var(--chrome-beam-8) 75%, transparent 95%);
546
+ transform: rotate(157.5deg);
547
+ opacity: 0.1;
548
+ }
549
+
550
+ @keyframes chrome-rotate {
551
+ from { transform: rotate(0deg); }
552
+ to { transform: rotate(360deg); }
553
+ }
554
+ @media (prefers-reduced-motion: reduce) {
555
+ .chrome-bg-wrapper {
556
+ animation: none;
557
+ }
558
+ }
559
+ `;
560
+ function ChromeBackground({ variant }) {
561
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
562
+ /* @__PURE__ */ jsx("style", { children: STYLE }),
563
+ /* @__PURE__ */ jsx("div", { className: "chrome-bg-root", "data-variant": variant, "aria-hidden": "true", children: /* @__PURE__ */ jsxs("div", { className: "chrome-bg-wrapper", children: [
564
+ /* @__PURE__ */ jsx("div", { className: "chrome-bg-beam chrome-bg-beam-1" }),
565
+ /* @__PURE__ */ jsx("div", { className: "chrome-bg-beam chrome-bg-beam-2" }),
566
+ /* @__PURE__ */ jsx("div", { className: "chrome-bg-beam chrome-bg-beam-3" }),
567
+ /* @__PURE__ */ jsx("div", { className: "chrome-bg-beam chrome-bg-beam-4" }),
568
+ /* @__PURE__ */ jsx("div", { className: "chrome-bg-beam chrome-bg-beam-5" }),
569
+ /* @__PURE__ */ jsx("div", { className: "chrome-bg-beam chrome-bg-beam-6" }),
570
+ /* @__PURE__ */ jsx("div", { className: "chrome-bg-beam chrome-bg-beam-7" }),
571
+ /* @__PURE__ */ jsx("div", { className: "chrome-bg-beam chrome-bg-beam-8" })
572
+ ] }) })
573
+ ] });
574
+ }
575
+
576
+ // src/theme/presets/aurora.tsx
577
+ var auroraPreset = {
578
+ subtitleFontFamily: '"Nunito", sans-serif',
579
+ fontImports: ["https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&display=swap"],
580
+ background: createElement(ChromeBackground, { variant: "aurora" }),
581
+ light: {
582
+ primary: "#00897B",
583
+ primaryContrast: "#ffffff",
584
+ background: "#EFF5F3",
585
+ surface: "transparent",
586
+ surfaceHover: "rgba(0, 137, 123, 0.08)",
587
+ text: "#0A1E1A",
588
+ textDimmed: "#3D5E54",
589
+ textSubtle: "#507368",
590
+ border: "rgba(10, 30, 26, 0.08)",
591
+ error: "#DC2626",
592
+ warning: "#F59E0B",
593
+ success: "#16A34A",
594
+ glassBackground: "rgba(245, 250, 248, 0.55)",
595
+ glassBlur: "blur(28px) saturate(180%)",
596
+ shadow: "0px 1px 2px rgba(10, 30, 26, 0.04), 0px 8px 24px -8px rgba(16, 185, 129, 0.14)",
597
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.7), inset 0 0 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(10, 30, 26, 0.05), 0 10px 28px -6px rgba(10, 30, 26, 0.08), 0 30px 56px -14px rgba(16, 185, 129, 0.18)",
598
+ durationFast: "160ms",
599
+ durationNormal: "280ms",
600
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
601
+ destructiveFg: "#ffffff",
602
+ fontHeading: '"Nunito", sans-serif',
603
+ fontSans: '"Nunito", sans-serif'
604
+ },
605
+ dark: {
606
+ primary: "#00A88A",
607
+ primaryContrast: "#062E26",
608
+ background: "#020807",
609
+ surface: "transparent",
610
+ surfaceHover: "#0E2620",
611
+ text: "#E0F2F1",
612
+ textDimmed: "#80CBC4",
613
+ textSubtle: "#68C8BE",
614
+ border: "rgba(128, 203, 196, 0.07)",
615
+ error: "#F87171",
616
+ warning: "#FBBF24",
617
+ success: "#4ADE80",
618
+ glassBackground: "rgba(10, 20, 18, 0.35)",
619
+ glassBlur: "blur(28px) saturate(180%)",
620
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
621
+ cardShadow: "inset 0 1px 0 rgba(128, 203, 196, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.05), 0 2px 8px rgba(0, 0, 0, 0.45), 0 14px 34px -6px rgba(0, 0, 0, 0.55), 0 36px 68px -14px rgba(0, 0, 0, 0.45), 0 48px 96px -24px rgba(16, 185, 129, 0.14)",
622
+ durationFast: "160ms",
623
+ durationNormal: "280ms",
624
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
625
+ destructiveFg: "#ffffff",
626
+ fontHeading: '"Nunito", sans-serif',
627
+ fontSans: '"Nunito", sans-serif'
628
+ },
629
+ framework: {
630
+ fontFamily: '"Nunito", sans-serif',
631
+ defaultRadius: "xl",
632
+ headings: {
633
+ fontFamily: '"Nunito", sans-serif',
634
+ fontWeight: "700"
635
+ }
636
+ }
637
+ };
638
+ var roseGoldPreset = {
639
+ subtitleFontFamily: '"Lora", serif',
640
+ fontImports: [
641
+ "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&display=swap",
642
+ "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap",
643
+ "https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&display=swap"
644
+ ],
645
+ background: createElement(ChromeBackground, { variant: "rose-gold" }),
646
+ light: {
647
+ primary: "#A8695E",
648
+ primaryContrast: "#ffffff",
649
+ background: "#F4F0EE",
650
+ surface: "transparent",
651
+ surfaceHover: "rgba(168, 105, 94, 0.08)",
652
+ text: "#2D1516",
653
+ textDimmed: "#5A4448",
654
+ textSubtle: "#9A848A",
655
+ border: "rgba(45, 21, 22, 0.08)",
656
+ error: "#DC2626",
657
+ warning: "#F59E0B",
658
+ success: "#16A34A",
659
+ glassBackground: "rgba(250, 246, 245, 0.55)",
660
+ glassBlur: "blur(28px) saturate(180%)",
661
+ shadow: "0px 1px 2px rgba(45, 21, 22, 0.04), 0px 8px 24px -8px rgba(192, 122, 110, 0.16)",
662
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.7), inset 0 0 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(45, 21, 22, 0.05), 0 10px 28px -6px rgba(45, 21, 22, 0.08), 0 30px 56px -14px rgba(192, 122, 110, 0.18)",
663
+ durationFast: "160ms",
664
+ durationNormal: "300ms",
665
+ easing: "cubic-bezier(0.25, 0.1, 0.25, 1)",
666
+ destructiveFg: "#ffffff",
667
+ fontHeading: '"Playfair Display", serif',
668
+ fontSans: '"DM Sans", sans-serif'
669
+ },
670
+ dark: {
671
+ primary: "#C8897C",
672
+ primaryContrast: "#2D1A16",
673
+ background: "#070405",
674
+ surface: "transparent",
675
+ surfaceHover: "#221418",
676
+ text: "#F5E8E6",
677
+ textDimmed: "#D8B8B2",
678
+ textSubtle: "#B89A94",
679
+ border: "rgba(216, 184, 178, 0.07)",
680
+ error: "#F87171",
681
+ warning: "#FBBF24",
682
+ success: "#4ADE80",
683
+ glassBackground: "rgba(22, 14, 16, 0.35)",
684
+ glassBlur: "blur(28px) saturate(180%)",
685
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
686
+ cardShadow: "inset 0 1px 0 rgba(216, 184, 178, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.05), 0 2px 8px rgba(0, 0, 0, 0.45), 0 14px 34px -6px rgba(0, 0, 0, 0.55), 0 36px 68px -14px rgba(0, 0, 0, 0.45), 0 48px 96px -24px rgba(200, 137, 124, 0.16)",
687
+ durationFast: "160ms",
688
+ durationNormal: "300ms",
689
+ easing: "cubic-bezier(0.25, 0.1, 0.25, 1)",
690
+ destructiveFg: "#ffffff",
691
+ fontHeading: '"Playfair Display", serif',
692
+ fontSans: '"DM Sans", sans-serif'
693
+ },
694
+ framework: {
695
+ fontFamily: '"DM Sans", sans-serif',
696
+ defaultRadius: "xl",
697
+ headings: {
698
+ fontFamily: '"Playfair Display", serif',
699
+ fontWeight: "600"
700
+ }
701
+ }
702
+ };
703
+ var midnightPreset = {
704
+ subtitleFontFamily: '"Outfit", sans-serif',
705
+ fontImports: [
706
+ "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap",
707
+ "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
708
+ ],
709
+ background: createElement(ChromeBackground, { variant: "midnight" }),
710
+ light: {
711
+ primary: "#475569",
712
+ primaryContrast: "#ffffff",
713
+ background: "#F5F3FF",
714
+ surface: "transparent",
715
+ surfaceHover: "rgba(71, 85, 105, 0.08)",
716
+ text: "#0F0A1E",
717
+ textDimmed: "#3D3758",
718
+ textSubtle: "#6B6480",
719
+ border: "rgba(15, 10, 30, 0.08)",
720
+ error: "#DC2626",
721
+ warning: "#F59E0B",
722
+ success: "#16A34A",
723
+ glassBackground: "rgba(245, 243, 255, 0.55)",
724
+ glassBlur: "blur(28px) saturate(180%)",
725
+ shadow: "0px 1px 2px rgba(15, 10, 30, 0.04), 0px 8px 24px -8px rgba(139, 92, 246, 0.14)",
726
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.7), inset 0 0 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(15, 10, 30, 0.05), 0 10px 28px -6px rgba(15, 10, 30, 0.08), 0 30px 56px -14px rgba(139, 92, 246, 0.18)",
727
+ durationFast: "160ms",
728
+ durationNormal: "280ms",
729
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
730
+ destructiveFg: "#ffffff",
731
+ fontHeading: '"Outfit", sans-serif',
732
+ fontSans: '"Inter", sans-serif'
733
+ },
734
+ dark: {
735
+ primary: "#64748B",
736
+ primaryContrast: "#F1F5F9",
737
+ background: "#060712",
738
+ surface: "transparent",
739
+ surfaceHover: "#171A24",
740
+ text: "#F1F5F9",
741
+ textDimmed: "#CBD5E1",
742
+ textSubtle: "#94A3B8",
743
+ border: "rgba(203, 213, 225, 0.07)",
744
+ error: "#F87171",
745
+ warning: "#FBBF24",
746
+ success: "#4ADE80",
747
+ glassBackground: "rgba(12, 14, 22, 0.35)",
748
+ glassBlur: "blur(28px) saturate(180%)",
749
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
750
+ cardShadow: "inset 0 1px 0 rgba(203, 213, 225, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.05), 0 2px 8px rgba(0, 0, 0, 0.45), 0 14px 34px -6px rgba(0, 0, 0, 0.55), 0 36px 68px -14px rgba(0, 0, 0, 0.45), 0 48px 96px -24px rgba(100, 116, 139, 0.12)",
751
+ durationFast: "160ms",
752
+ durationNormal: "280ms",
753
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
754
+ destructiveFg: "#ffffff",
755
+ fontHeading: '"Outfit", sans-serif',
756
+ fontSans: '"Inter", sans-serif'
757
+ },
758
+ framework: {
759
+ fontFamily: '"Inter", sans-serif',
760
+ defaultRadius: "xl",
761
+ headings: {
762
+ fontFamily: '"Outfit", sans-serif',
763
+ fontWeight: "700"
764
+ }
765
+ }
766
+ };
767
+ var emberPreset = {
768
+ subtitleFontFamily: '"Source Serif 4", serif',
769
+ fontImports: [
770
+ "https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&display=swap",
771
+ "https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&display=swap",
772
+ "https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400;500;600;700&display=swap"
773
+ ],
774
+ background: createElement(ChromeBackground, { variant: "ember" }),
775
+ light: {
776
+ primary: "#D4603A",
777
+ primaryContrast: "#ffffff",
778
+ background: "#F3EFEB",
779
+ surface: "transparent",
780
+ surfaceHover: "rgba(212, 96, 58, 0.08)",
781
+ text: "#2C1708",
782
+ textDimmed: "#5E4A3A",
783
+ textSubtle: "#8D7A6A",
784
+ border: "rgba(44, 23, 8, 0.08)",
785
+ error: "#DC2626",
786
+ warning: "#F59E0B",
787
+ success: "#16A34A",
788
+ glassBackground: "rgba(249, 246, 243, 0.55)",
789
+ glassBlur: "blur(28px) saturate(180%)",
790
+ shadow: "0px 1px 2px rgba(44, 23, 8, 0.04), 0px 8px 24px -8px rgba(212, 96, 58, 0.16)",
791
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.7), inset 0 0 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(44, 23, 8, 0.05), 0 10px 28px -6px rgba(44, 23, 8, 0.08), 0 30px 56px -14px rgba(212, 96, 58, 0.18)",
792
+ durationFast: "150ms",
793
+ durationNormal: "280ms",
794
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
795
+ destructiveFg: "#ffffff",
796
+ fontHeading: '"Libre Baskerville", serif',
797
+ fontSans: '"Source Sans 3", sans-serif'
798
+ },
799
+ dark: {
800
+ primary: "#E87B55",
801
+ primaryContrast: "#1A0E08",
802
+ background: "#060302",
803
+ surface: "transparent",
804
+ surfaceHover: "#1F1410",
805
+ text: "#F5EDE6",
806
+ textDimmed: "#D4B9A0",
807
+ textSubtle: "#B8A090",
808
+ border: "rgba(212, 185, 160, 0.07)",
809
+ error: "#F87171",
810
+ warning: "#FBBF24",
811
+ success: "#4ADE80",
812
+ glassBackground: "rgba(20, 14, 10, 0.35)",
813
+ glassBlur: "blur(28px) saturate(180%)",
814
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
815
+ cardShadow: "inset 0 1px 0 rgba(232, 123, 85, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.05), 0 2px 8px rgba(0, 0, 0, 0.45), 0 14px 34px -6px rgba(0, 0, 0, 0.55), 0 36px 68px -14px rgba(0, 0, 0, 0.45), 0 48px 96px -24px rgba(249, 115, 22, 0.16)",
816
+ durationFast: "150ms",
817
+ durationNormal: "280ms",
818
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
819
+ destructiveFg: "#ffffff",
820
+ fontHeading: '"Libre Baskerville", serif',
821
+ fontSans: '"Source Sans 3", sans-serif'
822
+ },
823
+ framework: {
824
+ fontFamily: '"Source Sans 3", sans-serif',
825
+ defaultRadius: "xl",
826
+ headings: {
827
+ fontFamily: '"Libre Baskerville", serif',
828
+ fontWeight: "700"
829
+ }
830
+ }
831
+ };
832
+ var honeyPreset = {
833
+ subtitleFontFamily: '"Outfit", sans-serif',
834
+ fontImports: [
835
+ "https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700&display=swap",
836
+ "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap",
837
+ "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap"
838
+ ],
839
+ background: createElement(WaveBackground, { variant: "honey" }),
840
+ light: {
841
+ primary: "#A06A08",
842
+ primaryContrast: "#ffffff",
843
+ background: "#FCF9F2",
844
+ surface: "transparent",
845
+ surfaceHover: "rgba(160, 106, 8, 0.08)",
846
+ text: "#2A1F0A",
847
+ textDimmed: "#5C4820",
848
+ textSubtle: "#8A7450",
849
+ border: "rgba(42, 31, 10, 0.08)",
850
+ error: "#C62828",
851
+ warning: "#E65100",
852
+ success: "#33691E",
853
+ glassBackground: "rgba(251, 247, 240, 0.68)",
854
+ glassBlur: "blur(24px) saturate(180%)",
855
+ shadow: "0px 1px 2px rgba(42, 31, 10, 0.04), 0px 8px 24px -8px rgba(160, 106, 8, 0.12)",
856
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 2px rgba(42, 31, 10, 0.04), 0 8px 24px -8px rgba(160, 106, 8, 0.12), 0 24px 48px -16px rgba(160, 106, 8, 0.08)",
857
+ durationFast: "140ms",
858
+ durationNormal: "260ms",
859
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
860
+ destructiveFg: "#ffffff",
861
+ fontHeading: '"Syne", sans-serif',
862
+ fontSans: '"Inter", sans-serif'
863
+ },
864
+ dark: {
865
+ primary: "#E8A820",
866
+ primaryContrast: "#1A1200",
867
+ background: "#000000",
868
+ surface: "transparent",
869
+ surfaceHover: "#1C1808",
870
+ text: "#FDF0D0",
871
+ textDimmed: "#D8C070",
872
+ textSubtle: "#B8A060",
873
+ border: "rgba(216, 192, 112, 0.1)",
874
+ error: "#EF5350",
875
+ warning: "#FF8A65",
876
+ success: "#8BC34A",
877
+ glassBackground: "rgba(22, 19, 9, 0.35)",
878
+ glassBlur: "blur(24px) saturate(180%)",
879
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
880
+ cardShadow: "inset 0 1px 0 rgba(232, 168, 32, 0.08), inset 0 0 0 1px rgba(232, 168, 32, 0.04), 0 2px 8px rgba(0, 0, 0, 0.4), 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 32px 64px -16px rgba(0, 0, 0, 0.4)",
881
+ durationFast: "140ms",
882
+ durationNormal: "260ms",
883
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
884
+ destructiveFg: "#ffffff",
885
+ fontHeading: '"Syne", sans-serif',
886
+ fontSans: '"Inter", sans-serif'
887
+ },
888
+ framework: {
889
+ defaultRadius: "xl",
890
+ fontFamily: '"Inter", sans-serif',
891
+ headings: {
892
+ fontFamily: '"Syne", sans-serif'
893
+ },
894
+ components: {
895
+ Title: {
896
+ styles: { root: { letterSpacing: "-0.06em" } }
897
+ }
898
+ }
899
+ }
900
+ };
901
+ var canopyPreset = {
902
+ subtitleFontFamily: '"Lora", serif',
903
+ fontImports: [
904
+ "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&display=swap",
905
+ "https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap",
906
+ "https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&display=swap"
907
+ ],
908
+ background: createElement(WaveBackground, { variant: "canopy" }),
909
+ light: {
910
+ primary: "#2E7A40",
911
+ primaryContrast: "#ffffff",
912
+ background: "#F4F8F5",
913
+ surface: "transparent",
914
+ surfaceHover: "rgba(46, 122, 64, 0.08)",
915
+ text: "#0F2415",
916
+ textDimmed: "#2D5235",
917
+ textSubtle: "#5A7D62",
918
+ border: "rgba(15, 36, 21, 0.08)",
919
+ error: "#C62828",
920
+ warning: "#E65100",
921
+ success: "#33691E",
922
+ glassBackground: "rgba(244, 248, 245, 0.6)",
923
+ glassBlur: "blur(24px) saturate(180%)",
924
+ shadow: "0px 1px 2px rgba(15, 36, 21, 0.04), 0px 8px 24px -8px rgba(46, 122, 64, 0.12)",
925
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 2px rgba(15, 36, 21, 0.04), 0 8px 24px -8px rgba(46, 122, 64, 0.12), 0 24px 48px -16px rgba(46, 122, 64, 0.08)",
926
+ durationFast: "150ms",
927
+ durationNormal: "280ms",
928
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
929
+ destructiveFg: "#ffffff",
930
+ fontHeading: '"Fraunces", serif',
931
+ fontSans: '"Lato", sans-serif'
932
+ },
933
+ dark: {
934
+ primary: "#4AA860",
935
+ primaryContrast: "#ffffff",
936
+ background: "#000000",
937
+ surface: "transparent",
938
+ surfaceHover: "#162818",
939
+ text: "#E0F0E4",
940
+ textDimmed: "#98C8A4",
941
+ textSubtle: "#80A090",
942
+ border: "rgba(152, 200, 164, 0.1)",
943
+ error: "#EF5350",
944
+ warning: "#FF8A65",
945
+ success: "#8BC34A",
946
+ glassBackground: "rgba(16, 23, 18, 0.35)",
947
+ glassBlur: "blur(18px) saturate(180%)",
948
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
949
+ cardShadow: "inset 0 1px 0 rgba(74, 168, 96, 0.08), inset 0 0 0 1px rgba(74, 168, 96, 0.04), 0 2px 8px rgba(0, 0, 0, 0.4), 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 32px 64px -16px rgba(0, 0, 0, 0.4)",
950
+ durationFast: "150ms",
951
+ durationNormal: "280ms",
952
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
953
+ destructiveFg: "#ffffff",
954
+ fontHeading: '"Fraunces", serif',
955
+ fontSans: '"Lato", sans-serif'
956
+ },
957
+ framework: {
958
+ defaultRadius: "xl",
959
+ fontFamily: '"Lato", sans-serif',
960
+ headings: {
961
+ fontFamily: '"Fraunces", serif',
962
+ fontWeight: "600"
963
+ }
964
+ }
965
+ };
966
+
967
+ // src/theme/presets/slate.ts
968
+ var slatePreset = {
969
+ light: {
970
+ primary: "#4A6E8E",
971
+ primaryContrast: "#ffffff",
972
+ background: "#ECEEF0",
973
+ surface: "#F3F4F6",
974
+ surfaceHover: "#E0E3E7",
975
+ text: "#161C22",
976
+ textDimmed: "#404C58",
977
+ textSubtle: "#6A7A88",
978
+ border: "#C8D0D8",
979
+ error: "#D32F2F",
980
+ warning: "#F57C00",
981
+ success: "#388E3C",
982
+ glassBackground: "rgba(243, 244, 246, 0.6)",
983
+ glassBlur: "blur(10px)",
984
+ shadow: "0px 2px 4px -2px rgba(74, 110, 142, 0.08)",
985
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.3), 0 2px 4px rgba(22, 28, 34, 0.05), 0 4px 8px rgba(22, 28, 34, 0.04)",
986
+ durationFast: "110ms",
987
+ durationNormal: "200ms",
988
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
989
+ destructiveFg: "#ffffff",
990
+ fontHeading: '"Quantico", sans-serif',
991
+ fontSans: '"IBM Plex Sans", sans-serif'
992
+ },
993
+ dark: {
994
+ primary: "#6A8FAD",
995
+ primaryContrast: "#0E1218",
996
+ background: "#010305",
997
+ surface: "#0B1015",
998
+ surfaceHover: "#1C2830",
999
+ text: "#E8F0F8",
1000
+ textDimmed: "#A8C4DC",
1001
+ textSubtle: "#80A0B0",
1002
+ border: "#182028",
1003
+ error: "#FF5252",
1004
+ warning: "#FFB74D",
1005
+ success: "#69F0AE",
1006
+ glassBackground: "rgba(12, 16, 22, 0.65)",
1007
+ glassBlur: "blur(14px)",
1008
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
1009
+ cardShadow: "inset 0 1px 0 rgba(123, 158, 188, 0.08), inset 0 0 0 1px rgba(123, 158, 188, 0.04), 0 2px 8px rgba(0, 0, 0, 0.4), 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 32px 64px -16px rgba(0, 0, 0, 0.4)",
1010
+ durationFast: "110ms",
1011
+ durationNormal: "200ms",
1012
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
1013
+ destructiveFg: "#ffffff",
1014
+ fontHeading: '"Quantico", sans-serif',
1015
+ fontSans: '"IBM Plex Sans", sans-serif'
1016
+ },
1017
+ subtitleFontFamily: '"Quantico", sans-serif',
1018
+ framework: {
1019
+ fontFamily: '"IBM Plex Sans", sans-serif',
1020
+ headings: {
1021
+ fontFamily: '"Quantico", sans-serif',
1022
+ fontWeight: "600"
1023
+ }
1024
+ },
1025
+ fontImports: [
1026
+ "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap",
1027
+ "https://fonts.googleapis.com/css2?family=Quantico:ital,wght@0,400;0,700;1,400;1,700&display=swap"
1028
+ ]
1029
+ };
1030
+ var cyberStrikePreset = {
1031
+ background: createElement(CyberBackground, { variant: "strike" }),
1032
+ light: {
1033
+ primary: "#FF1744",
1034
+ primaryContrast: "#ffffff",
1035
+ background: "#FFF8FA",
1036
+ surface: "transparent",
1037
+ surfaceHover: "rgba(255, 23, 68, 0.08)",
1038
+ text: "#140A0C",
1039
+ textDimmed: "#4D2E35",
1040
+ textSubtle: "#805560",
1041
+ border: "rgba(20, 10, 12, 0.08)",
1042
+ error: "#FF1744",
1043
+ warning: "#FF9100",
1044
+ success: "#00E676",
1045
+ glassBackground: "rgba(255, 248, 250, 0.25)",
1046
+ glassBlur: "blur(8px) saturate(180%)",
1047
+ shadow: "0px 2px 6px rgba(0, 0, 0, 0.05), 0px 20px 48px -8px rgba(0, 0, 0, 0.14)",
1048
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 3px rgba(0, 0, 0, 0.03), 0 8px 24px -8px rgba(0, 0, 0, 0.06), 0 20px 48px -16px rgba(0, 0, 0, 0.04)",
1049
+ durationFast: "80ms",
1050
+ durationNormal: "160ms",
1051
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
1052
+ destructiveFg: "#ffffff",
1053
+ fontHeading: '"Chakra Petch", sans-serif',
1054
+ fontSans: '"JetBrains Mono", monospace'
1055
+ },
1056
+ dark: {
1057
+ primary: "#FF1744",
1058
+ primaryContrast: "#ffffff",
1059
+ background: "#060404",
1060
+ surface: "transparent",
1061
+ surfaceHover: "rgba(255, 23, 68, 0.06)",
1062
+ text: "#FAE0E4",
1063
+ textDimmed: "#F0A0B0",
1064
+ textSubtle: "#8E6068",
1065
+ border: "rgba(255, 43, 88, 0.19)",
1066
+ error: "#FF1744",
1067
+ warning: "#FF9100",
1068
+ success: "#00E676",
1069
+ glassBackground: "rgba(24, 16, 20, 0.4)",
1070
+ glassBlur: "blur(14px) saturate(200%)",
1071
+ shadow: "0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3), 0 16px 36px -14px rgba(0, 0, 0, 0.4)",
1072
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.04), inset 0 0 0 1px rgba(255, 23, 68, 0.06), 0 1px 2px rgba(0, 0, 0, 0.6), 0 4px 10px rgba(0, 0, 0, 0.35), 0 14px 28px -10px rgba(0, 0, 0, 0.45), 0 24px 48px -18px rgba(0, 0, 0, 0.35)",
1073
+ durationFast: "80ms",
1074
+ durationNormal: "160ms",
1075
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
1076
+ destructiveFg: "#ffffff",
1077
+ fontHeading: '"Chakra Petch", sans-serif',
1078
+ fontSans: '"JetBrains Mono", monospace'
1079
+ },
1080
+ subtitleFontFamily: '"Exo 2", sans-serif',
1081
+ framework: {
1082
+ fontFamily: '"JetBrains Mono", monospace',
1083
+ headings: {
1084
+ fontFamily: '"Chakra Petch", sans-serif',
1085
+ fontWeight: "600"
1086
+ }
1087
+ },
1088
+ fontImports: [
1089
+ "https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;600;700&display=swap",
1090
+ "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap",
1091
+ "https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&display=swap"
1092
+ ]
1093
+ };
1094
+ var cyberPunkPreset = {
1095
+ background: createElement(CyberBackground, { variant: "punk" }),
1096
+ light: {
1097
+ primary: "#7C4DFF",
1098
+ primaryContrast: "#ffffff",
1099
+ background: "#FAF8FF",
1100
+ surface: "transparent",
1101
+ surfaceHover: "rgba(124, 77, 255, 0.08)",
1102
+ text: "#0E0A1E",
1103
+ textDimmed: "#342E4D",
1104
+ textSubtle: "#625880",
1105
+ border: "rgba(14, 10, 30, 0.08)",
1106
+ error: "#FF1744",
1107
+ warning: "#FF9100",
1108
+ success: "#00E676",
1109
+ glassBackground: "rgba(250, 248, 255, 0.25)",
1110
+ glassBlur: "blur(8px) saturate(180%)",
1111
+ shadow: "0px 2px 6px rgba(0, 0, 0, 0.05), 0px 20px 48px -8px rgba(0, 0, 0, 0.14)",
1112
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 3px rgba(0, 0, 0, 0.03), 0 8px 24px -8px rgba(0, 0, 0, 0.06), 0 20px 48px -16px rgba(0, 0, 0, 0.04)",
1113
+ durationFast: "80ms",
1114
+ durationNormal: "160ms",
1115
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
1116
+ destructiveFg: "#ffffff",
1117
+ fontHeading: '"Chakra Petch", sans-serif',
1118
+ fontSans: '"JetBrains Mono", monospace'
1119
+ },
1120
+ dark: {
1121
+ primary: "#7C4DFF",
1122
+ primaryContrast: "#ffffff",
1123
+ background: "#040308",
1124
+ surface: "transparent",
1125
+ surfaceHover: "rgba(124, 77, 255, 0.06)",
1126
+ text: "#F0EAFF",
1127
+ textDimmed: "#D0BBEE",
1128
+ textSubtle: "#7E6E98",
1129
+ border: "rgba(134, 87, 255, 0.19)",
1130
+ error: "#FF1744",
1131
+ warning: "#FF9100",
1132
+ success: "#00E676",
1133
+ glassBackground: "rgba(18, 13, 26, 0.4)",
1134
+ glassBlur: "blur(14px) saturate(200%)",
1135
+ shadow: "0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3), 0 16px 36px -14px rgba(0, 0, 0, 0.4)",
1136
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.04), inset 0 0 0 1px rgba(124, 77, 255, 0.06), 0 1px 2px rgba(0, 0, 0, 0.6), 0 4px 10px rgba(0, 0, 0, 0.35), 0 14px 28px -10px rgba(0, 0, 0, 0.45), 0 24px 48px -18px rgba(0, 0, 0, 0.35)",
1137
+ durationFast: "80ms",
1138
+ durationNormal: "160ms",
1139
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
1140
+ destructiveFg: "#ffffff",
1141
+ fontHeading: '"Chakra Petch", sans-serif',
1142
+ fontSans: '"JetBrains Mono", monospace'
1143
+ },
1144
+ subtitleFontFamily: '"Exo 2", sans-serif',
1145
+ framework: {
1146
+ fontFamily: '"JetBrains Mono", monospace',
1147
+ headings: {
1148
+ fontFamily: '"Chakra Petch", sans-serif',
1149
+ fontWeight: "500"
1150
+ },
1151
+ components: {
1152
+ Title: {
1153
+ styles: { root: { letterSpacing: "-0.05em", fontWeight: 500 } }
1154
+ }
1155
+ }
1156
+ },
1157
+ fontImports: [
1158
+ "https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@300;400;500&display=swap",
1159
+ "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap",
1160
+ "https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&display=swap"
1161
+ ]
1162
+ };
1163
+ var cyberVoidPreset = {
1164
+ background: createElement(CyberBackground, { variant: "void" }),
1165
+ light: {
1166
+ primary: "#2979FF",
1167
+ primaryContrast: "#ffffff",
1168
+ background: "#F5F8FD",
1169
+ surface: "transparent",
1170
+ surfaceHover: "rgba(41, 121, 255, 0.08)",
1171
+ text: "#0A0D14",
1172
+ textDimmed: "#2E374D",
1173
+ textSubtle: "#556080",
1174
+ border: "rgba(10, 13, 20, 0.08)",
1175
+ error: "#FF1744",
1176
+ warning: "#FF9100",
1177
+ success: "#00E676",
1178
+ glassBackground: "rgba(245, 248, 253, 0.25)",
1179
+ glassBlur: "blur(8px) saturate(180%)",
1180
+ shadow: "0px 2px 6px rgba(0, 0, 0, 0.05), 0px 20px 48px -8px rgba(0, 0, 0, 0.14)",
1181
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 3px rgba(0, 0, 0, 0.03), 0 8px 24px -8px rgba(0, 0, 0, 0.06), 0 20px 48px -16px rgba(0, 0, 0, 0.04)",
1182
+ durationFast: "80ms",
1183
+ durationNormal: "160ms",
1184
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
1185
+ destructiveFg: "#ffffff",
1186
+ fontHeading: '"Share Tech Mono", monospace',
1187
+ fontSans: '"JetBrains Mono", monospace'
1188
+ },
1189
+ dark: {
1190
+ primary: "#2979FF",
1191
+ primaryContrast: "#ffffff",
1192
+ background: "#030507",
1193
+ surface: "transparent",
1194
+ surfaceHover: "rgba(41, 121, 255, 0.06)",
1195
+ text: "#E0EAFA",
1196
+ textDimmed: "#99BBEE",
1197
+ textSubtle: "#5E7898",
1198
+ border: "rgba(51, 131, 255, 0.2)",
1199
+ error: "#FF1744",
1200
+ warning: "#FF9100",
1201
+ success: "#00E676",
1202
+ glassBackground: "rgba(11, 15, 27, 0.4)",
1203
+ glassBlur: "blur(14px) saturate(200%)",
1204
+ shadow: "0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3), 0 16px 36px -14px rgba(0, 0, 0, 0.4)",
1205
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.04), inset 0 0 0 1px rgba(41, 121, 255, 0.06), 0 1px 2px rgba(0, 0, 0, 0.6), 0 4px 10px rgba(0, 0, 0, 0.35), 0 14px 28px -10px rgba(0, 0, 0, 0.45), 0 24px 48px -18px rgba(0, 0, 0, 0.35)",
1206
+ durationFast: "80ms",
1207
+ durationNormal: "160ms",
1208
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
1209
+ destructiveFg: "#ffffff",
1210
+ fontHeading: '"Share Tech Mono", monospace',
1211
+ fontSans: '"JetBrains Mono", monospace'
1212
+ },
1213
+ subtitleFontFamily: '"Exo 2", sans-serif',
1214
+ framework: {
1215
+ fontFamily: '"JetBrains Mono", monospace',
1216
+ headings: {
1217
+ fontFamily: '"Share Tech Mono", monospace',
1218
+ fontWeight: "400"
1219
+ }
1220
+ },
1221
+ fontImports: [
1222
+ "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap",
1223
+ "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap",
1224
+ "https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&display=swap"
1225
+ ]
1226
+ };
1227
+ var nirvanaPreset = {
1228
+ subtitleFontFamily: '"Inter", sans-serif',
1229
+ fontImports: [
1230
+ "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Cormorant:wght@400;500;600;700&display=swap"
1231
+ ],
1232
+ background: createElement(WaveBackground, { variant: "nirvana" }),
1233
+ light: {
1234
+ primary: "#f23801",
1235
+ primaryContrast: "#ffffff",
1236
+ background: "#ffffff",
1237
+ surface: "transparent",
1238
+ surfaceHover: "rgba(242, 56, 1, 0.06)",
1239
+ text: "#000000",
1240
+ textDimmed: "#32373c",
1241
+ textSubtle: "#6b7177",
1242
+ border: "rgba(0, 0, 0, 0.08)",
1243
+ error: "#cf2e2e",
1244
+ warning: "#ff6900",
1245
+ success: "#28a745",
1246
+ glassBackground: "rgba(255, 255, 255, 0.6)",
1247
+ glassBlur: "blur(24px) saturate(180%)",
1248
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.04), 0px 8px 24px -8px rgba(242, 56, 1, 0.12)",
1249
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 24px -8px rgba(242, 56, 1, 0.12), 0 24px 48px -16px rgba(242, 56, 1, 0.08)",
1250
+ durationFast: "150ms",
1251
+ durationNormal: "250ms",
1252
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
1253
+ destructiveFg: "#ffffff",
1254
+ fontHeading: '"Cormorant", Georgia, "Times New Roman", serif',
1255
+ fontSans: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
1256
+ },
1257
+ dark: {
1258
+ primary: "#f23801",
1259
+ primaryContrast: "#ffffff",
1260
+ background: "#000000",
1261
+ surface: "transparent",
1262
+ surfaceHover: "#1a1a1a",
1263
+ text: "#ffffff",
1264
+ textDimmed: "#c8ccd0",
1265
+ textSubtle: "#8a8f95",
1266
+ border: "rgba(255, 255, 255, 0.08)",
1267
+ error: "#ff5252",
1268
+ warning: "#ff9800",
1269
+ success: "#4caf50",
1270
+ glassBackground: "rgba(20, 20, 22, 0.35)",
1271
+ glassBlur: "blur(18px) saturate(180%)",
1272
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
1273
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.08), inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 2px 8px rgba(0, 0, 0, 0.4), 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 32px 64px -16px rgba(0, 0, 0, 0.4)",
1274
+ durationFast: "150ms",
1275
+ durationNormal: "250ms",
1276
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
1277
+ destructiveFg: "#ffffff",
1278
+ fontHeading: '"Cormorant", Georgia, "Times New Roman", serif',
1279
+ fontSans: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
1280
+ },
1281
+ framework: {
1282
+ fontFamily: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
1283
+ defaultRadius: "xl",
1284
+ headings: {
1285
+ fontFamily: '"Cormorant", Georgia, "Times New Roman", serif',
1286
+ fontWeight: "600"
1287
+ }
1288
+ }
1289
+ };
1290
+ var wavePreset = {
1291
+ subtitleFontFamily: '"Inter", sans-serif',
1292
+ fontImports: [
1293
+ "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap"
1294
+ ],
1295
+ background: createElement(WaveBackground, { variant: "wave" }),
1296
+ light: {
1297
+ primary: "#2563eb",
1298
+ primaryContrast: "#ffffff",
1299
+ background: "#f5f8fc",
1300
+ surface: "transparent",
1301
+ surfaceHover: "rgba(37, 99, 235, 0.06)",
1302
+ text: "#0b1220",
1303
+ textDimmed: "#334155",
1304
+ textSubtle: "#64748b",
1305
+ border: "rgba(15, 23, 42, 0.08)",
1306
+ error: "#dc2626",
1307
+ warning: "#f59e0b",
1308
+ success: "#16a34a",
1309
+ glassBackground: "rgba(250, 251, 253, 0.6)",
1310
+ glassBlur: "blur(24px) saturate(180%)",
1311
+ shadow: "0px 1px 2px rgba(15, 23, 42, 0.04), 0px 8px 24px -8px rgba(37, 99, 235, 0.12)",
1312
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px -8px rgba(37, 99, 235, 0.12), 0 24px 48px -16px rgba(37, 99, 235, 0.08)",
1313
+ durationFast: "150ms",
1314
+ durationNormal: "250ms",
1315
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
1316
+ destructiveFg: "#ffffff",
1317
+ fontHeading: '"Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
1318
+ fontSans: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
1319
+ },
1320
+ dark: {
1321
+ primary: "#60a5fa",
1322
+ primaryContrast: "#000000",
1323
+ background: "#000000",
1324
+ surface: "transparent",
1325
+ surfaceHover: "#141f36",
1326
+ text: "#f1f5f9",
1327
+ textDimmed: "#cbd5e1",
1328
+ textSubtle: "#94a3b8",
1329
+ border: "rgba(148, 163, 184, 0.1)",
1330
+ error: "#f87171",
1331
+ warning: "#fbbf24",
1332
+ success: "#4ade80",
1333
+ glassBackground: "rgba(16, 16, 18, 0.38)",
1334
+ glassBlur: "blur(18px) saturate(180%)",
1335
+ shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
1336
+ cardShadow: "inset 0 1px 0 rgba(148, 197, 255, 0.08), inset 0 0 0 1px rgba(148, 197, 255, 0.04), 0 2px 8px rgba(0, 0, 0, 0.4), 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 32px 64px -16px rgba(0, 0, 0, 0.4)",
1337
+ durationFast: "150ms",
1338
+ durationNormal: "250ms",
1339
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
1340
+ destructiveFg: "#ffffff",
1341
+ fontHeading: '"Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
1342
+ fontSans: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
1343
+ },
1344
+ framework: {
1345
+ fontFamily: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
1346
+ defaultRadius: "xl",
1347
+ headings: {
1348
+ fontFamily: '"Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
1349
+ fontWeight: "600"
1350
+ }
1351
+ }
1352
+ };
1353
+ var DARK_PALETTE = {
1354
+ bgStops: ["rgba(6, 18, 28, 1)", "rgba(2, 6, 12, 1)", "rgba(0, 0, 0, 1)"],
1355
+ paletteA: [34, 211, 238],
1356
+ // cyan
1357
+ paletteB: [56, 248, 224],
1358
+ // teal
1359
+ paletteC: [129, 140, 248],
1360
+ // violet
1361
+ lineOpacity: 0.22,
1362
+ haloOpacity: 0.22,
1363
+ coreOpacity: 0.8,
1364
+ compositeOp: "lighter",
1365
+ coreBrightenR: 20,
1366
+ coreBrightenG: 10,
1367
+ coreBrightenB: 10
1368
+ };
1369
+ var LIGHT_PALETTE = {
1370
+ // Soft near-white with faint cyan tint at center, cooler at edges
1371
+ bgStops: ["rgba(245, 253, 255, 1)", "rgba(232, 244, 248, 1)", "rgba(218, 234, 240, 1)"],
1372
+ paletteA: [8, 145, 178],
1373
+ // darker cyan
1374
+ paletteB: [14, 165, 165],
1375
+ // darker teal
1376
+ paletteC: [79, 70, 229],
1377
+ // indigo
1378
+ lineOpacity: 0.22,
1379
+ haloOpacity: 0.14,
1380
+ coreOpacity: 0.7,
1381
+ compositeOp: "source-over",
1382
+ coreBrightenR: -20,
1383
+ coreBrightenG: -10,
1384
+ coreBrightenB: -10
1385
+ };
1386
+ function ConstellationBackground({
1387
+ darkPalette = DARK_PALETTE,
1388
+ lightPalette = LIGHT_PALETTE
1389
+ } = {}) {
1390
+ const canvasRef = useRef(null);
1391
+ const darkPaletteRef = useRef(darkPalette);
1392
+ const lightPaletteRef = useRef(lightPalette);
1393
+ darkPaletteRef.current = darkPalette;
1394
+ lightPaletteRef.current = lightPalette;
1395
+ const redrawRef = useRef(null);
1396
+ useEffect(() => {
1397
+ const canvas = canvasRef.current;
1398
+ if (!canvas) return;
1399
+ const ctx = canvas.getContext("2d");
1400
+ if (!ctx) return;
1401
+ const PARTICLE_COUNT = 140;
1402
+ const CONNECTION_DISTANCE = 160;
1403
+ const readScheme = () => {
1404
+ if (typeof document === "undefined") return "dark";
1405
+ const attr = document.documentElement.getAttribute("data-mantine-color-scheme");
1406
+ return attr === "light" ? "light" : "dark";
1407
+ };
1408
+ let palette = readScheme() === "light" ? lightPaletteRef.current : darkPaletteRef.current;
1409
+ const dpr = window.devicePixelRatio || 1;
1410
+ let width = window.innerWidth;
1411
+ let height = window.innerHeight;
1412
+ let rafId = 0;
1413
+ const setSize = () => {
1414
+ width = window.innerWidth;
1415
+ height = window.innerHeight;
1416
+ canvas.width = width * dpr;
1417
+ canvas.height = height * dpr;
1418
+ canvas.style.width = `${width}px`;
1419
+ canvas.style.height = `${height}px`;
1420
+ ctx.setTransform(1, 0, 0, 1, 0, 0);
1421
+ ctx.scale(dpr, dpr);
1422
+ };
1423
+ setSize();
1424
+ const randVelocity = () => (Math.random() - 0.5) * 0.28;
1425
+ const particles = Array.from({ length: PARTICLE_COUNT }, () => ({
1426
+ x: Math.random() * width,
1427
+ y: Math.random() * height,
1428
+ vx: randVelocity(),
1429
+ vy: randVelocity(),
1430
+ // Mostly small nodes with occasional larger "stars"
1431
+ radius: Math.random() < 0.12 ? 1.8 + Math.random() * 1.6 : 0.6 + Math.random() * 1.1,
1432
+ pulse: Math.random() * Math.PI * 2,
1433
+ pulseSpeed: 8e-3 + Math.random() * 0.018,
1434
+ hueShift: Math.random()
1435
+ }));
1436
+ const lerpColor = (t) => {
1437
+ const { paletteA: A, paletteB: B, paletteC: C } = palette;
1438
+ if (t < 0.5) {
1439
+ const k2 = t * 2;
1440
+ return [A[0] + (B[0] - A[0]) * k2, A[1] + (B[1] - A[1]) * k2, A[2] + (B[2] - A[2]) * k2];
1441
+ }
1442
+ const k = (t - 0.5) * 2;
1443
+ return [B[0] + (C[0] - B[0]) * k, B[1] + (C[1] - B[1]) * k, B[2] + (C[2] - B[2]) * k];
1444
+ };
1445
+ const drawFrame = () => {
1446
+ palette = readScheme() === "light" ? lightPaletteRef.current : darkPaletteRef.current;
1447
+ ctx.clearRect(0, 0, width, height);
1448
+ const gradient = ctx.createRadialGradient(
1449
+ width / 2,
1450
+ height / 2,
1451
+ 0,
1452
+ width / 2,
1453
+ height / 2,
1454
+ Math.max(width, height) * 0.75
1455
+ );
1456
+ gradient.addColorStop(0, palette.bgStops[0]);
1457
+ gradient.addColorStop(0.55, palette.bgStops[1]);
1458
+ gradient.addColorStop(1, palette.bgStops[2]);
1459
+ ctx.fillStyle = gradient;
1460
+ ctx.fillRect(0, 0, width, height);
1461
+ ctx.globalCompositeOperation = palette.compositeOp;
1462
+ for (const p of particles) {
1463
+ p.x += p.vx;
1464
+ p.y += p.vy;
1465
+ p.pulse += p.pulseSpeed;
1466
+ if (p.x < 0) p.x += width;
1467
+ if (p.x > width) p.x -= width;
1468
+ if (p.y < 0) p.y += height;
1469
+ if (p.y > height) p.y -= height;
1470
+ }
1471
+ for (let i = 0; i < particles.length; i++) {
1472
+ for (let j = i + 1; j < particles.length; j++) {
1473
+ const a = particles[i];
1474
+ const b = particles[j];
1475
+ const dx = a.x - b.x;
1476
+ const dy = a.y - b.y;
1477
+ const distSq = dx * dx + dy * dy;
1478
+ if (distSq < CONNECTION_DISTANCE * CONNECTION_DISTANCE) {
1479
+ const dist = Math.sqrt(distSq);
1480
+ const t = 1 - dist / CONNECTION_DISTANCE;
1481
+ const opacity = t * t * palette.lineOpacity;
1482
+ const [r, g, bl] = lerpColor((a.hueShift + b.hueShift) / 2);
1483
+ ctx.beginPath();
1484
+ ctx.strokeStyle = `rgba(${r | 0}, ${g | 0}, ${bl | 0}, ${opacity})`;
1485
+ ctx.lineWidth = 0.7 + t * 0.6;
1486
+ ctx.moveTo(a.x, a.y);
1487
+ ctx.lineTo(b.x, b.y);
1488
+ ctx.stroke();
1489
+ }
1490
+ }
1491
+ }
1492
+ for (const p of particles) {
1493
+ const pulseScale = 0.8 + Math.sin(p.pulse) * 0.25;
1494
+ const [r, g, bl] = lerpColor(p.hueShift);
1495
+ const glowRadius = p.radius * 5 * pulseScale;
1496
+ const ri = r | 0;
1497
+ const gi = g | 0;
1498
+ const bi = bl | 0;
1499
+ const haloGradient = ctx.createRadialGradient(p.x, p.y, 0, p.x, p.y, glowRadius);
1500
+ haloGradient.addColorStop(0, `rgba(${ri}, ${gi}, ${bi}, ${palette.haloOpacity})`);
1501
+ haloGradient.addColorStop(0.4, `rgba(${ri}, ${gi}, ${bi}, ${palette.haloOpacity * 0.35})`);
1502
+ haloGradient.addColorStop(1, `rgba(${ri}, ${gi}, ${bi}, 0)`);
1503
+ ctx.fillStyle = haloGradient;
1504
+ ctx.beginPath();
1505
+ ctx.arc(p.x, p.y, glowRadius, 0, Math.PI * 2);
1506
+ ctx.fill();
1507
+ const cr = Math.max(0, Math.min(255, r + palette.coreBrightenR)) | 0;
1508
+ const cg = Math.max(0, Math.min(255, g + palette.coreBrightenG)) | 0;
1509
+ const cb = Math.max(0, Math.min(255, bl + palette.coreBrightenB)) | 0;
1510
+ ctx.fillStyle = `rgba(${cr}, ${cg}, ${cb}, ${palette.coreOpacity})`;
1511
+ ctx.beginPath();
1512
+ ctx.arc(p.x, p.y, p.radius * pulseScale, 0, Math.PI * 2);
1513
+ ctx.fill();
1514
+ }
1515
+ ctx.globalCompositeOperation = "source-over";
1516
+ };
1517
+ const reducedMotion = typeof window !== "undefined" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
1518
+ redrawRef.current = drawFrame;
1519
+ if (reducedMotion) {
1520
+ drawFrame();
1521
+ } else {
1522
+ const loop = () => {
1523
+ drawFrame();
1524
+ rafId = requestAnimationFrame(loop);
1525
+ };
1526
+ rafId = requestAnimationFrame(loop);
1527
+ }
1528
+ const handleResize = () => {
1529
+ setSize();
1530
+ };
1531
+ window.addEventListener("resize", handleResize);
1532
+ const schemeObserver = typeof MutationObserver !== "undefined" ? new MutationObserver(() => {
1533
+ palette = readScheme() === "light" ? lightPaletteRef.current : darkPaletteRef.current;
1534
+ if (reducedMotion) drawFrame();
1535
+ }) : null;
1536
+ schemeObserver?.observe(document.documentElement, {
1537
+ attributes: true,
1538
+ attributeFilter: ["data-mantine-color-scheme"]
1539
+ });
1540
+ return () => {
1541
+ redrawRef.current = null;
1542
+ cancelAnimationFrame(rafId);
1543
+ window.removeEventListener("resize", handleResize);
1544
+ schemeObserver?.disconnect();
1545
+ };
1546
+ }, []);
1547
+ useEffect(() => {
1548
+ redrawRef.current?.();
1549
+ }, [darkPalette, lightPalette]);
1550
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1551
+ /* @__PURE__ */ jsx("style", { children: `
1552
+ div[style*="var(--color-background)"][style*="100vh"] {
1553
+ background-color: transparent !important;
1554
+ isolation: isolate;
1555
+ }
1556
+ ` }),
1557
+ /* @__PURE__ */ jsx(
1558
+ "canvas",
1559
+ {
1560
+ ref: canvasRef,
1561
+ "aria-hidden": "true",
1562
+ style: {
1563
+ position: "fixed",
1564
+ inset: 0,
1565
+ pointerEvents: "none",
1566
+ zIndex: -1
1567
+ }
1568
+ }
1569
+ )
1570
+ ] });
1571
+ }
1572
+
1573
+ // src/theme/presets/synapse.tsx
1574
+ var synapsePreset = {
1575
+ subtitleFontFamily: '"Space Grotesk", sans-serif',
1576
+ fontImports: [
1577
+ "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap",
1578
+ "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1579
+ ],
1580
+ colors: ["#22D3EE", "#020305", "#F0FAFB"],
1581
+ background: createElement(ConstellationBackground),
1582
+ light: {
1583
+ primary: "#0891B2",
1584
+ primaryContrast: "#ffffff",
1585
+ background: "#F0FAFB",
1586
+ surface: "transparent",
1587
+ surfaceHover: "rgba(8, 145, 178, 0.08)",
1588
+ text: "#04141A",
1589
+ textDimmed: "#1A3D48",
1590
+ textSubtle: "#547078",
1591
+ border: "rgba(4, 20, 26, 0.11)",
1592
+ error: "#DC2626",
1593
+ warning: "#F59E0B",
1594
+ success: "#16A34A",
1595
+ glassBackground: "rgba(240, 250, 251, 0.42)",
1596
+ glassBlur: "blur(20px) saturate(180%)",
1597
+ shadow: "0px 1px 2px rgba(4, 20, 26, 0.04), 0px 8px 24px -8px rgba(8, 145, 178, 0.14)",
1598
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 2px rgba(4, 20, 26, 0.04), 0 8px 24px -8px rgba(8, 145, 178, 0.12), 0 24px 48px -16px rgba(8, 145, 178, 0.08)",
1599
+ durationFast: "120ms",
1600
+ durationNormal: "220ms",
1601
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
1602
+ destructiveFg: "#ffffff",
1603
+ fontHeading: '"Space Grotesk", sans-serif',
1604
+ fontSans: '"Inter", sans-serif'
1605
+ },
1606
+ dark: {
1607
+ primary: "#0EB5CC",
1608
+ primaryContrast: "#ffffff",
1609
+ background: "#000000",
1610
+ surface: "transparent",
1611
+ surfaceHover: "rgba(34, 211, 238, 0.06)",
1612
+ text: "#ECFEFF",
1613
+ textDimmed: "#A5F3FC",
1614
+ textSubtle: "#5F8A94",
1615
+ border: "rgba(34, 211, 238, 0.1)",
1616
+ error: "#F87171",
1617
+ warning: "#FBBF24",
1618
+ success: "#4ADE80",
1619
+ glassBackground: "rgba(6, 12, 16, 0.3)",
1620
+ glassBlur: "blur(14px) saturate(180%)",
1621
+ shadow: "0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3), 0 16px 36px -14px rgba(0, 0, 0, 0.4)",
1622
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.04), inset 0 0 0 1px rgba(34, 211, 238, 0.06), 0 1px 2px rgba(0, 0, 0, 0.6), 0 4px 10px rgba(0, 0, 0, 0.35), 0 14px 28px -10px rgba(0, 0, 0, 0.45), 0 24px 48px -18px rgba(0, 0, 0, 0.35)",
1623
+ durationFast: "120ms",
1624
+ durationNormal: "220ms",
1625
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
1626
+ destructiveFg: "#ffffff",
1627
+ fontHeading: '"Space Grotesk", sans-serif',
1628
+ fontSans: '"Inter", sans-serif'
1629
+ },
1630
+ framework: {
1631
+ fontFamily: '"Inter", sans-serif',
1632
+ defaultRadius: "md",
1633
+ headings: {
1634
+ fontFamily: '"Space Grotesk", sans-serif',
1635
+ fontWeight: "600"
1636
+ }
1637
+ }
1638
+ };
1639
+ var CORTEX_DARK = {
1640
+ bgStops: ["rgba(4, 10, 26, 1)", "rgba(2, 5, 14, 1)", "rgba(0, 0, 0, 1)"],
1641
+ paletteA: [59, 130, 246],
1642
+ // blue-500
1643
+ paletteB: [96, 165, 250],
1644
+ // blue-400 (lighter)
1645
+ paletteC: [14, 165, 233],
1646
+ // sky-500
1647
+ lineOpacity: 0.22,
1648
+ haloOpacity: 0.22,
1649
+ coreOpacity: 0.8,
1650
+ compositeOp: "lighter",
1651
+ coreBrightenR: 10,
1652
+ coreBrightenG: 15,
1653
+ coreBrightenB: 20
1654
+ };
1655
+ var CORTEX_LIGHT = {
1656
+ bgStops: ["rgba(240, 246, 255, 1)", "rgba(224, 234, 250, 1)", "rgba(200, 218, 240, 1)"],
1657
+ paletteA: [37, 99, 235],
1658
+ // blue-600
1659
+ paletteB: [29, 78, 216],
1660
+ // blue-700
1661
+ paletteC: [2, 132, 199],
1662
+ // sky-600
1663
+ lineOpacity: 0.22,
1664
+ haloOpacity: 0.14,
1665
+ coreOpacity: 0.7,
1666
+ compositeOp: "source-over",
1667
+ coreBrightenR: -20,
1668
+ coreBrightenG: -10,
1669
+ coreBrightenB: -10
1670
+ };
1671
+ var cortexPreset = {
1672
+ subtitleFontFamily: '"Space Grotesk", sans-serif',
1673
+ fontImports: [
1674
+ "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap",
1675
+ "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1676
+ ],
1677
+ colors: ["#3B82F6", "#02050E", "#F0F6FF"],
1678
+ background: /* @__PURE__ */ jsx(ConstellationBackground, { darkPalette: CORTEX_DARK, lightPalette: CORTEX_LIGHT }),
1679
+ light: {
1680
+ primary: "#2563EB",
1681
+ primaryContrast: "#ffffff",
1682
+ background: "#F0F6FF",
1683
+ surface: "transparent",
1684
+ surfaceHover: "rgba(37, 99, 235, 0.08)",
1685
+ text: "#04102A",
1686
+ textDimmed: "#1A2E5A",
1687
+ textSubtle: "#556B94",
1688
+ border: "rgba(4, 16, 42, 0.11)",
1689
+ error: "#DC2626",
1690
+ warning: "#F59E0B",
1691
+ success: "#16A34A",
1692
+ glassBackground: "rgba(240, 246, 255, 0.42)",
1693
+ glassBlur: "blur(20px) saturate(180%)",
1694
+ shadow: "0px 1px 2px rgba(4, 16, 42, 0.04), 0px 8px 24px -8px rgba(37, 99, 235, 0.14)",
1695
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 2px rgba(4, 16, 42, 0.04), 0 8px 24px -8px rgba(37, 99, 235, 0.12), 0 24px 48px -16px rgba(37, 99, 235, 0.08)",
1696
+ durationFast: "120ms",
1697
+ durationNormal: "220ms",
1698
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
1699
+ destructiveFg: "#ffffff",
1700
+ fontHeading: '"Space Grotesk", sans-serif',
1701
+ fontSans: '"Inter", sans-serif'
1702
+ },
1703
+ dark: {
1704
+ primary: "#60A5FA",
1705
+ primaryContrast: "#ffffff",
1706
+ background: "#000000",
1707
+ surface: "transparent",
1708
+ surfaceHover: "rgba(59, 130, 246, 0.08)",
1709
+ text: "#EBF4FF",
1710
+ textDimmed: "#BFD9FF",
1711
+ textSubtle: "#5F7A94",
1712
+ border: "rgba(59, 130, 246, 0.13)",
1713
+ error: "#F87171",
1714
+ warning: "#FBBF24",
1715
+ success: "#4ADE80",
1716
+ glassBackground: "rgba(8, 14, 16, 0.3)",
1717
+ glassBlur: "blur(14px) saturate(180%)",
1718
+ shadow: "0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3), 0 16px 36px -14px rgba(0, 0, 0, 0.4)",
1719
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.04), inset 0 0 0 1px rgba(59, 130, 246, 0.08), 0 1px 2px rgba(0, 0, 0, 0.6), 0 4px 10px rgba(0, 0, 0, 0.35), 0 14px 28px -10px rgba(0, 0, 0, 0.45), 0 24px 48px -18px rgba(0, 0, 0, 0.35)",
1720
+ durationFast: "120ms",
1721
+ durationNormal: "220ms",
1722
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
1723
+ destructiveFg: "#ffffff",
1724
+ fontHeading: '"Space Grotesk", sans-serif',
1725
+ fontSans: '"Inter", sans-serif'
1726
+ },
1727
+ framework: {
1728
+ fontFamily: '"Inter", sans-serif',
1729
+ defaultRadius: "md",
1730
+ headings: {
1731
+ fontFamily: '"Space Grotesk", sans-serif',
1732
+ fontWeight: "600"
1733
+ }
1734
+ }
1735
+ };
1736
+ var HELIOS_DARK = {
1737
+ bgStops: ["rgba(26, 16, 4, 1)", "rgba(12, 7, 2, 1)", "rgba(0, 0, 0, 1)"],
1738
+ paletteA: [245, 158, 11],
1739
+ // amber
1740
+ paletteB: [251, 191, 36],
1741
+ // light amber
1742
+ paletteC: [249, 115, 22],
1743
+ // orange
1744
+ lineOpacity: 0.22,
1745
+ haloOpacity: 0.22,
1746
+ coreOpacity: 0.8,
1747
+ compositeOp: "lighter",
1748
+ coreBrightenR: 20,
1749
+ coreBrightenG: 15,
1750
+ coreBrightenB: 5
1751
+ };
1752
+ var HELIOS_LIGHT = {
1753
+ bgStops: ["rgba(255, 251, 240, 1)", "rgba(250, 240, 220, 1)", "rgba(240, 224, 188, 1)"],
1754
+ paletteA: [180, 83, 9],
1755
+ // amber-700
1756
+ paletteB: [194, 65, 12],
1757
+ // orange-700
1758
+ paletteC: [146, 64, 14],
1759
+ // amber-800
1760
+ lineOpacity: 0.22,
1761
+ haloOpacity: 0.14,
1762
+ coreOpacity: 0.7,
1763
+ compositeOp: "source-over",
1764
+ coreBrightenR: -20,
1765
+ coreBrightenG: -10,
1766
+ coreBrightenB: -10
1767
+ };
1768
+ var heliosPreset = {
1769
+ subtitleFontFamily: '"Space Grotesk", sans-serif',
1770
+ fontImports: [
1771
+ "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap",
1772
+ "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1773
+ ],
1774
+ colors: ["#F59E0B", "#0C0702", "#FFFBF0"],
1775
+ background: /* @__PURE__ */ jsx(ConstellationBackground, { darkPalette: HELIOS_DARK, lightPalette: HELIOS_LIGHT }),
1776
+ light: {
1777
+ primary: "#B45309",
1778
+ primaryContrast: "#ffffff",
1779
+ background: "#FFFBF0",
1780
+ surface: "transparent",
1781
+ surfaceHover: "rgba(180, 83, 9, 0.08)",
1782
+ text: "#1F1504",
1783
+ textDimmed: "#4A3415",
1784
+ textSubtle: "#8A7A55",
1785
+ border: "rgba(31, 21, 4, 0.11)",
1786
+ error: "#DC2626",
1787
+ warning: "#F59E0B",
1788
+ success: "#16A34A",
1789
+ glassBackground: "rgba(255, 251, 240, 0.42)",
1790
+ glassBlur: "blur(20px) saturate(180%)",
1791
+ shadow: "0px 1px 2px rgba(31, 21, 4, 0.04), 0px 8px 24px -8px rgba(180, 83, 9, 0.14)",
1792
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 2px rgba(31, 21, 4, 0.04), 0 8px 24px -8px rgba(180, 83, 9, 0.12), 0 24px 48px -16px rgba(180, 83, 9, 0.08)",
1793
+ durationFast: "120ms",
1794
+ durationNormal: "220ms",
1795
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
1796
+ destructiveFg: "#ffffff",
1797
+ fontHeading: '"Space Grotesk", sans-serif',
1798
+ fontSans: '"Inter", sans-serif'
1799
+ },
1800
+ dark: {
1801
+ primary: "#FBBF24",
1802
+ primaryContrast: "#1A0F02",
1803
+ background: "#000000",
1804
+ surface: "transparent",
1805
+ surfaceHover: "rgba(245, 158, 11, 0.08)",
1806
+ text: "#FFF7E6",
1807
+ textDimmed: "#FCD98C",
1808
+ textSubtle: "#947A55",
1809
+ border: "rgba(245, 158, 11, 0.1)",
1810
+ error: "#F87171",
1811
+ warning: "#FBBF24",
1812
+ success: "#4ADE80",
1813
+ glassBackground: "rgba(14, 9, 2, 0.32)",
1814
+ glassBlur: "blur(14px) saturate(180%)",
1815
+ shadow: "0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3), 0 16px 36px -14px rgba(0, 0, 0, 0.4)",
1816
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.04), inset 0 0 0 1px rgba(245, 158, 11, 0.08), 0 1px 2px rgba(0, 0, 0, 0.6), 0 4px 10px rgba(0, 0, 0, 0.35), 0 14px 28px -10px rgba(0, 0, 0, 0.45), 0 24px 48px -18px rgba(0, 0, 0, 0.35)",
1817
+ durationFast: "120ms",
1818
+ durationNormal: "220ms",
1819
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
1820
+ destructiveFg: "#ffffff",
1821
+ fontHeading: '"Space Grotesk", sans-serif',
1822
+ fontSans: '"Inter", sans-serif'
1823
+ },
1824
+ framework: {
1825
+ fontFamily: '"Inter", sans-serif',
1826
+ defaultRadius: "md",
1827
+ headings: {
1828
+ fontFamily: '"Space Grotesk", sans-serif',
1829
+ fontWeight: "600"
1830
+ }
1831
+ }
1832
+ };
1833
+ var GRAPHITE_DARK = {
1834
+ bgStops: ["rgba(14, 16, 18, 1)", "rgba(8, 9, 11, 1)", "rgba(0, 0, 0, 1)"],
1835
+ paletteA: [156, 163, 175],
1836
+ // gray-400
1837
+ paletteB: [209, 213, 219],
1838
+ // gray-300
1839
+ paletteC: [107, 114, 128],
1840
+ // gray-500
1841
+ lineOpacity: 0.2,
1842
+ haloOpacity: 0.18,
1843
+ coreOpacity: 0.75,
1844
+ compositeOp: "lighter",
1845
+ coreBrightenR: 12,
1846
+ coreBrightenG: 12,
1847
+ coreBrightenB: 12
1848
+ };
1849
+ var GRAPHITE_LIGHT = {
1850
+ bgStops: ["rgba(248, 249, 250, 1)", "rgba(236, 238, 241, 1)", "rgba(220, 223, 228, 1)"],
1851
+ paletteA: [75, 85, 99],
1852
+ // gray-600
1853
+ paletteB: [55, 65, 81],
1854
+ // gray-700
1855
+ paletteC: [107, 114, 128],
1856
+ // gray-500
1857
+ lineOpacity: 0.22,
1858
+ haloOpacity: 0.12,
1859
+ coreOpacity: 0.65,
1860
+ compositeOp: "source-over",
1861
+ coreBrightenR: -15,
1862
+ coreBrightenG: -15,
1863
+ coreBrightenB: -15
1864
+ };
1865
+ var graphitePreset = {
1866
+ subtitleFontFamily: '"Space Grotesk", sans-serif',
1867
+ fontImports: [
1868
+ "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap",
1869
+ "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1870
+ ],
1871
+ colors: ["#9CA3AF", "#08090B", "#F8F9FA"],
1872
+ background: /* @__PURE__ */ jsx(ConstellationBackground, { darkPalette: GRAPHITE_DARK, lightPalette: GRAPHITE_LIGHT }),
1873
+ light: {
1874
+ primary: "#4B5563",
1875
+ primaryContrast: "#ffffff",
1876
+ background: "#F8F9FA",
1877
+ surface: "transparent",
1878
+ surfaceHover: "rgba(75, 85, 99, 0.08)",
1879
+ text: "#0F1214",
1880
+ textDimmed: "#2E3338",
1881
+ textSubtle: "#6B7280",
1882
+ border: "rgba(15, 18, 20, 0.11)",
1883
+ error: "#DC2626",
1884
+ warning: "#F59E0B",
1885
+ success: "#16A34A",
1886
+ glassBackground: "rgba(248, 249, 250, 0.42)",
1887
+ glassBlur: "blur(20px) saturate(180%)",
1888
+ shadow: "0px 1px 2px rgba(15, 18, 20, 0.04), 0px 8px 24px -8px rgba(75, 85, 99, 0.14)",
1889
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 1px 2px rgba(15, 18, 20, 0.04), 0 8px 24px -8px rgba(75, 85, 99, 0.12), 0 24px 48px -16px rgba(75, 85, 99, 0.08)",
1890
+ durationFast: "120ms",
1891
+ durationNormal: "220ms",
1892
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
1893
+ destructiveFg: "#ffffff",
1894
+ fontHeading: '"Space Grotesk", sans-serif',
1895
+ fontSans: '"Inter", sans-serif'
1896
+ },
1897
+ dark: {
1898
+ primary: "#D1D5DB",
1899
+ primaryContrast: "#0A0B0D",
1900
+ background: "#000000",
1901
+ surface: "transparent",
1902
+ surfaceHover: "rgba(156, 163, 175, 0.08)",
1903
+ text: "#F3F4F6",
1904
+ textDimmed: "#D1D5DB",
1905
+ textSubtle: "#6B7280",
1906
+ border: "rgba(156, 163, 175, 0.1)",
1907
+ error: "#F87171",
1908
+ warning: "#FBBF24",
1909
+ success: "#4ADE80",
1910
+ glassBackground: "rgba(10, 11, 13, 0.3)",
1911
+ glassBlur: "blur(14px) saturate(200%)",
1912
+ shadow: "0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3), 0 16px 36px -14px rgba(0, 0, 0, 0.4)",
1913
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.04), inset 0 0 0 1px rgba(156, 163, 175, 0.08), 0 1px 2px rgba(0, 0, 0, 0.6), 0 4px 10px rgba(0, 0, 0, 0.35), 0 14px 28px -10px rgba(0, 0, 0, 0.45), 0 24px 48px -18px rgba(0, 0, 0, 0.35)",
1914
+ durationFast: "120ms",
1915
+ durationNormal: "220ms",
1916
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
1917
+ destructiveFg: "#ffffff",
1918
+ fontHeading: '"Space Grotesk", sans-serif',
1919
+ fontSans: '"Inter", sans-serif'
1920
+ },
1921
+ framework: {
1922
+ fontFamily: '"Inter", sans-serif',
1923
+ defaultRadius: "md",
1924
+ headings: {
1925
+ fontFamily: '"Space Grotesk", sans-serif',
1926
+ fontWeight: "600"
1927
+ }
1928
+ }
1929
+ };
1930
+
1931
+ // src/theme/presets/index.ts
1932
+ var PRESETS = {
1933
+ default: {
1934
+ ...defaultPreset,
1935
+ label: "Default",
1936
+ description: "Clean, neutral design system",
1937
+ colors: ["#0099ff", "#080808", "#f2f2f5"]
1938
+ },
1939
+ tactical: {
1940
+ ...tacticalPreset,
1941
+ label: "Tactical",
1942
+ description: "Tactical command center aesthetic",
1943
+ colors: ["#0099ff", "#020304", "#EAEBEE"]
1944
+ },
1945
+ slate: {
1946
+ ...slatePreset,
1947
+ label: "Slate",
1948
+ description: "Industrial precision",
1949
+ colors: ["#7B9EBC", "#0C1016", "#ECEEF0"]
1950
+ },
1951
+ regal: {
1952
+ ...regalPreset,
1953
+ label: "Regal",
1954
+ description: "Regal black and gold aesthetic",
1955
+ colors: ["#D4A843", "#080604", "#F5F0E8"]
1956
+ },
1957
+ aurora: {
1958
+ ...auroraPreset,
1959
+ label: "Aurora",
1960
+ description: "Serene nature-inspired tones",
1961
+ colors: ["#1DE9B6", "#0A1210", "#EFF5F3"]
1962
+ },
1963
+ "rose-gold": {
1964
+ ...roseGoldPreset,
1965
+ label: "Rose Gold",
1966
+ description: "Warm luxury and elegance",
1967
+ colors: ["#E8A598", "#120C0D", "#F4F0EE"]
1968
+ },
1969
+ midnight: {
1970
+ ...midnightPreset,
1971
+ label: "Midnight",
1972
+ description: "Chrome with violet refractions",
1973
+ colors: ["#94A3B8", "#050210", "#F5F3FF"]
1974
+ },
1975
+ ember: {
1976
+ ...emberPreset,
1977
+ label: "Ember",
1978
+ description: "Earthy terracotta warmth",
1979
+ colors: ["#E87B55", "#120E0A", "#F3EFEB"]
1980
+ },
1981
+ nirvana: {
1982
+ ...nirvanaPreset,
1983
+ label: "Nirvana",
1984
+ description: "Warm peach waves and rising motes",
1985
+ colors: ["#f23801", "#000000", "#ffffff"]
1986
+ },
1987
+ wave: {
1988
+ ...wavePreset,
1989
+ label: "Waves",
1990
+ description: "Cool azure waves and rising cyan motes",
1991
+ colors: ["#2563eb", "#050914", "#f5f8fc"]
1992
+ },
1993
+ canopy: {
1994
+ ...canopyPreset,
1995
+ label: "Canopy",
1996
+ description: "Lush forest grounding",
1997
+ colors: ["#4AA860", "#080F0A", "#EDF3EE"]
1998
+ },
1999
+ honey: {
2000
+ ...honeyPreset,
2001
+ label: "Honey",
2002
+ description: "Warm amber optimism",
2003
+ colors: ["#E8A820", "#110E04", "#F5F0E8"]
2004
+ },
2005
+ "cyber-volt": {
2006
+ ...cyberVoltPreset,
2007
+ label: "Cyber-Volt",
2008
+ description: "Neon-soaked sci-fi interface",
2009
+ colors: ["#00E5FF", "#0A0E14", "#E8EDF2"]
2010
+ },
2011
+ "cyber-void": {
2012
+ ...cyberVoidPreset,
2013
+ label: "Cyber-Void",
2014
+ description: "Cold synthetic digital depths",
2015
+ colors: ["#2979FF", "#0A0D14", "#E8ECF2"]
2016
+ },
2017
+ "cyber-punk": {
2018
+ ...cyberPunkPreset,
2019
+ label: "Cyber-Punk",
2020
+ description: "High-voltage violet neon",
2021
+ colors: ["#7C4DFF", "#0E0A1E", "#E9E6F2"]
2022
+ },
2023
+ "cyber-strike": {
2024
+ ...cyberStrikePreset,
2025
+ label: "Cyber-Strike",
2026
+ description: "Aggressive dystopian neon",
2027
+ colors: ["#FF1744", "#140A0C", "#F2E8EA"]
2028
+ },
2029
+ synapse: {
2030
+ ...synapsePreset,
2031
+ label: "Synapse",
2032
+ description: "Cyan neural constellation",
2033
+ colors: ["#0EB5CC", "#020305", "#F0FAFB"]
2034
+ },
2035
+ cortex: {
2036
+ ...cortexPreset,
2037
+ label: "Cortex",
2038
+ description: "Azure cortical constellation",
2039
+ colors: ["#60A5FA", "#02050E", "#F0F6FF"]
2040
+ },
2041
+ graphite: {
2042
+ ...graphitePreset,
2043
+ label: "Graphite",
2044
+ description: "Monochrome carbon lattice",
2045
+ colors: ["#D1D5DB", "#08090B", "#F8F9FA"]
2046
+ },
2047
+ helios: {
2048
+ ...heliosPreset,
2049
+ label: "Helios",
2050
+ description: "Golden stellar network",
2051
+ colors: ["#FBBF24", "#0C0702", "#FFFBF0"]
2052
+ }
2053
+ // canyon: {
2054
+ // ...canyonPreset,
2055
+ // label: 'Canyon',
2056
+ // description: 'Amber topographic drift',
2057
+ // colors: ['#F59E0B', '#0A0603', '#FDF8F3']
2058
+ // }
2059
+ // abyss: {
2060
+ // ...abyssPreset,
2061
+ // label: 'Abyss',
2062
+ // description: 'Deep ocean authority',
2063
+ // colors: ['#1090D8', '#050E18', '#EDF1F5']
2064
+ // },
2065
+ // obsidian: {
2066
+ // ...obsidianPreset,
2067
+ // label: 'Obsidian',
2068
+ // description: 'Monochrome precision and clarity',
2069
+ // colors: ['#A0A0A8', '#0D0D0F', '#F7F7F8']
2070
+ // }
2071
+ };
2072
+ function getPreset(name, presetsMap) {
2073
+ if (presetsMap) return presetsMap[name] ?? presetsMap["default"] ?? PRESETS.default;
2074
+ return PRESETS[name] ?? PRESETS.default;
2075
+ }
2076
+
2077
+ // src/theme/cssVariables.ts
2078
+ var TOKEN_VAR_MAP = {
2079
+ primary: "--color-primary",
2080
+ primaryContrast: "--color-primary-contrast",
2081
+ background: "--color-background",
2082
+ surface: "--color-surface",
2083
+ surfaceHover: "--color-surface-hover",
2084
+ text: "--color-text",
2085
+ textDimmed: "--color-text-dimmed",
2086
+ textSubtle: "--color-text-subtle",
2087
+ border: "--color-border",
2088
+ error: "--color-error",
2089
+ warning: "--color-warning",
2090
+ success: "--color-success",
2091
+ glassBackground: "--glass-background",
2092
+ glassBlur: "--glass-blur",
2093
+ shadow: "--standard-box-shadow",
2094
+ cardShadow: "--card-shadow",
2095
+ durationFast: "--duration-fast",
2096
+ durationNormal: "--duration-normal",
2097
+ easing: "--easing",
2098
+ destructiveFg: "--color-destructive-fg",
2099
+ fontHeading: "--font-heading",
2100
+ fontSans: "--font-sans"
2101
+ };
2102
+ var FRAMEWORK_BRIDGE = {
2103
+ "--mantine-color-text": "var(--color-text)",
2104
+ "--mantine-color-body": "var(--color-background)",
2105
+ "--mantine-color-dimmed": "var(--color-text-dimmed)",
2106
+ // Primary color functional variants — used by Tabs, SegmentedControl, Badge, Button, etc.
2107
+ "--mantine-primary-color-filled": "var(--color-primary)",
2108
+ "--mantine-primary-color-filled-hover": "color-mix(in srgb, var(--color-primary) 90%, black)",
2109
+ "--mantine-primary-color-light": "color-mix(in srgb, var(--color-primary) 15%, transparent)",
2110
+ "--mantine-primary-color-light-hover": "color-mix(in srgb, var(--color-primary) 20%, transparent)",
2111
+ "--mantine-primary-color-light-color": "var(--color-primary)",
2112
+ "--mantine-primary-color-contrast": "var(--color-primary-contrast)",
2113
+ // Active/selected state — used by selectable cards, active filters, plan tiers, etc.
2114
+ "--active-border": "1px solid color-mix(in srgb, var(--color-primary) 40%, var(--color-border))",
2115
+ "--active-background": "color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))"
2116
+ };
2117
+ function shadesToVars(shades) {
2118
+ const vars = {};
2119
+ for (let i = 0; i < shades.length; i++) {
2120
+ vars[`--mantine-color-primary-${i}`] = shades[i];
2121
+ }
2122
+ return vars;
2123
+ }
2124
+ function presetToVars(tokens) {
2125
+ const result = {};
2126
+ for (const [key, varName] of Object.entries(TOKEN_VAR_MAP)) {
2127
+ const value = tokens[key];
2128
+ if (value) result[varName] = value;
2129
+ }
2130
+ return result;
2131
+ }
2132
+ function mapTokens(tokens) {
2133
+ if (!tokens) return {};
2134
+ const result = {};
2135
+ for (const [key, varName] of Object.entries(TOKEN_VAR_MAP)) {
2136
+ const value = tokens[key];
2137
+ if (value) result[varName] = value;
2138
+ }
2139
+ return result;
2140
+ }
2141
+ function createCssVariablesResolver(tokens, preset, presetsMap) {
2142
+ const resolved = getPreset(preset ?? "default", presetsMap);
2143
+ const lightDefaults = presetToVars(resolved.light);
2144
+ const darkDefaults = presetToVars(resolved.dark);
2145
+ const flat = mapTokens(tokens);
2146
+ const light = mapTokens(tokens?.light);
2147
+ const dark = mapTokens(tokens?.dark);
2148
+ const lightPrimary = tokens?.light?.primary ?? tokens?.primary ?? resolved.light.primary;
2149
+ const darkPrimary = tokens?.dark?.primary ?? tokens?.primary ?? resolved.dark.primary;
2150
+ const lightShades = shadesToVars(generateShades(lightPrimary));
2151
+ const darkShades = shadesToVars(generateShades(darkPrimary));
2152
+ return () => ({
2153
+ variables: { ...FRAMEWORK_BRIDGE },
2154
+ light: { ...lightShades, ...lightDefaults, ...flat, ...light },
2155
+ dark: { ...darkShades, ...darkDefaults, ...flat, ...dark }
2156
+ });
2157
+ }
2158
+ var DEFAULT_SIZE = "sm";
2159
+ var glassBase = {
2160
+ backdropFilter: "var(--glass-blur)",
2161
+ WebkitBackdropFilter: "var(--glass-blur)",
2162
+ border: "1px solid var(--color-border)"
2163
+ };
2164
+ var componentThemes = {
2165
+ Accordion: Accordion.extend({
2166
+ styles: {
2167
+ item: {
2168
+ borderColor: "var(--color-border)"
2169
+ },
2170
+ content: {
2171
+ backgroundColor: "var(--color-surface)"
2172
+ }
2173
+ }
2174
+ }),
2175
+ Button: Button.extend({
2176
+ styles: {
2177
+ root: {
2178
+ transition: `all var(--duration-fast) var(--easing)`
2179
+ }
2180
+ }
2181
+ }),
2182
+ Card: Card.extend({
2183
+ defaultProps: {
2184
+ p: DEFAULT_SIZE
2185
+ },
2186
+ styles: {
2187
+ root: {
2188
+ backgroundColor: "var(--color-surface)",
2189
+ ...glassBase,
2190
+ boxShadow: "var(--card-shadow)"
2191
+ }
2192
+ }
2193
+ }),
2194
+ // Checkbox styles are in custom.css to support :checked pseudo-selector
2195
+ Divider: Divider.extend({
2196
+ styles: {
2197
+ root: {
2198
+ borderColor: "var(--color-border)"
2199
+ }
2200
+ }
2201
+ }),
2202
+ Code: Code.extend({
2203
+ styles: {
2204
+ root: {
2205
+ backgroundColor: "var(--color-surface)",
2206
+ border: "1px solid var(--color-border)"
2207
+ }
2208
+ }
2209
+ }),
2210
+ Flex: Flex.extend({
2211
+ defaultProps: {
2212
+ gap: DEFAULT_SIZE
2213
+ }
2214
+ }),
2215
+ Grid: Grid.extend({
2216
+ defaultProps: {
2217
+ gutter: DEFAULT_SIZE
2218
+ }
2219
+ }),
2220
+ Group: Group.extend({
2221
+ defaultProps: {
2222
+ gap: DEFAULT_SIZE
2223
+ }
2224
+ }),
2225
+ HoverCard: HoverCard.extend({
2226
+ styles: {
2227
+ dropdown: {
2228
+ backgroundColor: "var(--color-surface)",
2229
+ border: "1px solid var(--color-border)",
2230
+ boxShadow: "var(--standard-box-shadow)"
2231
+ }
2232
+ }
2233
+ }),
2234
+ Input: Input.extend({
2235
+ styles: {
2236
+ input: {
2237
+ backgroundColor: "var(--color-surface)",
2238
+ border: "none",
2239
+ borderBottom: "1px solid var(--color-border)",
2240
+ borderRadius: "0"
2241
+ }
2242
+ }
2243
+ }),
2244
+ Menu: Menu.extend({
2245
+ styles: {
2246
+ dropdown: {
2247
+ background: "var(--color-surface)",
2248
+ border: "1px solid var(--color-border)"
2249
+ }
2250
+ }
2251
+ }),
2252
+ Modal: Modal.extend({
2253
+ styles: {
2254
+ content: {
2255
+ backgroundColor: "var(--color-surface)",
2256
+ border: "1px solid var(--color-border)"
2257
+ }
2258
+ }
2259
+ }),
2260
+ Notification: Notification.extend({
2261
+ styles: {
2262
+ root: {
2263
+ backgroundColor: "color-mix(in srgb, var(--color-surface) 90%, transparent)",
2264
+ ...glassBase
2265
+ }
2266
+ }
2267
+ }),
2268
+ Popover: Popover.extend({
2269
+ styles: {
2270
+ dropdown: {
2271
+ backgroundColor: "var(--color-surface)",
2272
+ ...glassBase,
2273
+ boxShadow: "var(--standard-box-shadow)"
2274
+ }
2275
+ }
2276
+ }),
2277
+ Paper: Paper.extend({
2278
+ styles: {
2279
+ root: {
2280
+ backgroundColor: "var(--glass-background)",
2281
+ ...glassBase,
2282
+ boxShadow: "var(--card-shadow)",
2283
+ padding: `var(--mantine-spacing-${DEFAULT_SIZE})`
2284
+ }
2285
+ }
2286
+ }),
2287
+ ScrollArea: ScrollArea.extend({
2288
+ defaultProps: {
2289
+ scrollbarSize: 8
2290
+ },
2291
+ styles: {
2292
+ scrollbar: {
2293
+ background: "transparent",
2294
+ '&[data-orientation="vertical"]': {
2295
+ width: "8px"
2296
+ },
2297
+ '&[data-orientation="horizontal"]': {
2298
+ height: "8px"
2299
+ }
2300
+ },
2301
+ thumb: {
2302
+ borderRadius: "var(--mantine-radius-default)",
2303
+ background: "color-mix(in srgb, var(--color-text-subtle) 50%, var(--color-border))",
2304
+ "&:hover": {
2305
+ background: "var(--color-text-subtle)"
2306
+ }
2307
+ }
2308
+ }
2309
+ }),
2310
+ SegmentedControl: SegmentedControl.extend({
2311
+ styles: {
2312
+ root: {
2313
+ backgroundColor: "var(--color-surface)"
2314
+ },
2315
+ indicator: {
2316
+ backgroundColor: "var(--color-surface-hover)",
2317
+ boxShadow: "var(--standard-box-shadow)"
2318
+ }
2319
+ }
2320
+ }),
2321
+ Combobox: Combobox.extend({
2322
+ styles: {
2323
+ dropdown: {
2324
+ backgroundColor: "red"
2325
+ }
2326
+ }
2327
+ }),
2328
+ Select: Select.extend({
2329
+ styles: {
2330
+ dropdown: {
2331
+ backgroundColor: "var(--color-surface)"
2332
+ }
2333
+ }
2334
+ }),
2335
+ // Switch styles are in custom.css to support [data-checked] attribute selector
2336
+ SimpleGrid: SimpleGrid.extend({
2337
+ defaultProps: {
2338
+ spacing: DEFAULT_SIZE,
2339
+ verticalSpacing: DEFAULT_SIZE
2340
+ }
2341
+ }),
2342
+ Stack: Stack.extend({
2343
+ defaultProps: {
2344
+ gap: DEFAULT_SIZE
2345
+ }
2346
+ }),
2347
+ Table: Table.extend({
2348
+ defaultProps: {
2349
+ highlightOnHover: true
2350
+ },
2351
+ styles: {
2352
+ table: {
2353
+ "--table-border-color": "var(--color-border)",
2354
+ "--table-highlight-on-hover-color": "var(--color-surface-hover)"
2355
+ }
2356
+ }
2357
+ }),
2358
+ Tabs: Tabs.extend({}),
2359
+ Text: Text.extend({
2360
+ styles: {
2361
+ root: {
2362
+ fontFamily: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
2363
+ }
2364
+ }
2365
+ }),
2366
+ // Timeline styles are in custom.css to override color-scheme-specific selectors
2367
+ Tooltip: Tooltip.extend({
2368
+ styles: {
2369
+ tooltip: {
2370
+ backgroundColor: "var(--color-surface)",
2371
+ color: "var(--color-text)",
2372
+ border: "1px solid var(--color-border)"
2373
+ }
2374
+ }
2375
+ })
2376
+ // Pagination styles are in custom.css to support :not([data-active]) selector
2377
+ };
2378
+ var mantineThemeOverride = createTheme({
2379
+ defaultRadius: "xs",
2380
+ fontFamily: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
2381
+ cursorType: "pointer",
2382
+ spacing: {
2383
+ xs: "0.5rem",
2384
+ sm: "0.75rem",
2385
+ md: "1rem",
2386
+ lg: "1.5rem",
2387
+ xl: "2rem"
2388
+ },
2389
+ radius: {
2390
+ xs: "0.25rem",
2391
+ sm: "0.5rem",
2392
+ md: "0.75rem",
2393
+ lg: "1rem",
2394
+ xl: "1.5rem"
2395
+ },
2396
+ fontSizes: {
2397
+ xs: "0.75rem",
2398
+ sm: "0.875rem",
2399
+ md: "1rem",
2400
+ lg: "1.125rem",
2401
+ xl: "1.25rem"
2402
+ },
2403
+ components: componentThemes
2404
+ });
2405
+ var PresetsContext = createContext(PRESETS);
2406
+ var PresetsProvider = PresetsContext.Provider;
2407
+ function usePresetsContext() {
2408
+ return useContext(PresetsContext);
2409
+ }
2410
+
2411
+ export { PRESETS, PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, glassBase, mantineThemeOverride, usePresetsContext };