@elevasis/ui 1.4.0 → 1.6.0

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 (56) hide show
  1. package/dist/{CoreAuthKitInner-3J4RVQO6.js → CoreAuthKitInner-Y6LQYIPX.js} +1 -0
  2. package/dist/api/index.js +1 -0
  3. package/dist/auth/context.js +1 -0
  4. package/dist/auth/index.js +1 -0
  5. package/dist/charts/index.d.ts +96 -0
  6. package/dist/charts/index.js +384 -0
  7. package/dist/chunk-54S7KNJV.js +112 -0
  8. package/dist/{chunk-6IX5JZEH.js → chunk-G4TAF3T6.js} +166 -1
  9. package/dist/{chunk-Y2I5JJ3N.js → chunk-K3YVC5RW.js} +2 -2
  10. package/dist/chunk-KB5NKPTN.js +1455 -0
  11. package/dist/chunk-MLKGABMK.js +7 -0
  12. package/dist/{chunk-GIFAF5ZS.js → chunk-MS45MNFM.js} +6 -1
  13. package/dist/chunk-R56VC63S.js +129 -0
  14. package/dist/chunk-TYV5NJV2.js +1 -0
  15. package/dist/{chunk-JQLT6HBI.js → chunk-YJFTZUJJ.js} +22 -2
  16. package/dist/components/index.css +486 -0
  17. package/dist/components/index.d.ts +2047 -1
  18. package/dist/components/index.js +3350 -0
  19. package/dist/components/navigation/index.js +1 -0
  20. package/dist/execution/index.d.ts +15 -3
  21. package/dist/execution/index.js +2 -1
  22. package/dist/graph/index.js +2 -1
  23. package/dist/hooks/index.d.ts +270 -0
  24. package/dist/hooks/index.js +3 -2
  25. package/dist/hooks/published.d.ts +546 -2
  26. package/dist/hooks/published.js +3 -2
  27. package/dist/index.css +62 -0
  28. package/dist/index.d.ts +351 -4
  29. package/dist/index.js +12 -1038
  30. package/dist/initialization/index.d.ts +270 -0
  31. package/dist/initialization/index.js +1 -0
  32. package/dist/layout/index.css +44 -0
  33. package/dist/layout/index.d.ts +330 -0
  34. package/dist/layout/index.js +1440 -0
  35. package/dist/organization/index.js +1 -0
  36. package/dist/profile/index.d.ts +270 -0
  37. package/dist/profile/index.js +1 -0
  38. package/dist/provider/index.css +61 -0
  39. package/dist/provider/index.d.ts +54 -2
  40. package/dist/provider/index.js +5 -3
  41. package/dist/provider/published.d.ts +6 -0
  42. package/dist/provider/published.js +3 -2
  43. package/dist/router/context.js +1 -0
  44. package/dist/router/index.js +1 -0
  45. package/dist/sse/index.js +1 -1
  46. package/dist/supabase/index.d.ts +525 -0
  47. package/dist/supabase/index.js +1 -0
  48. package/dist/theme/index.d.ts +107 -0
  49. package/dist/theme/index.js +3 -0
  50. package/dist/typeform/index.js +1 -0
  51. package/dist/typeform/schemas.js +1 -0
  52. package/dist/types/index.d.ts +3636 -368
  53. package/dist/utils/index.js +1 -0
  54. package/package.json +96 -3
  55. package/dist/chunk-XXDDMASA.js +0 -170
  56. /package/dist/{chunk-BUZONXAW.js → chunk-ARQRKA6J.js} +0 -0
@@ -0,0 +1,1455 @@
1
+ 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';
2
+
3
+ // src/theme/presets/utils.ts
4
+ function hexToRgb(hex) {
5
+ const h = hex.replace("#", "");
6
+ const full = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
7
+ return [parseInt(full.slice(0, 2), 16), parseInt(full.slice(2, 4), 16), parseInt(full.slice(4, 6), 16)];
8
+ }
9
+ function rgbToHsl(r, g, b) {
10
+ r /= 255;
11
+ g /= 255;
12
+ b /= 255;
13
+ const max = Math.max(r, g, b), min = Math.min(r, g, b);
14
+ const l = (max + min) / 2;
15
+ if (max === min) return [0, 0, l];
16
+ const d = max - min;
17
+ const s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
18
+ let h = 0;
19
+ if (max === r) h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
20
+ else if (max === g) h = ((b - r) / d + 2) / 6;
21
+ else h = ((r - g) / d + 4) / 6;
22
+ return [h * 360, s, l];
23
+ }
24
+ function hslToHex(h, s, l) {
25
+ h /= 360;
26
+ const hue2rgb = (p, q, t) => {
27
+ if (t < 0) t += 1;
28
+ if (t > 1) t -= 1;
29
+ if (t < 1 / 6) return p + (q - p) * 6 * t;
30
+ if (t < 1 / 2) return q;
31
+ if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
32
+ return p;
33
+ };
34
+ let r, g, b;
35
+ if (s === 0) {
36
+ r = g = b = l;
37
+ } else {
38
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
39
+ const p = 2 * l - q;
40
+ r = hue2rgb(p, q, h + 1 / 3);
41
+ g = hue2rgb(p, q, h);
42
+ b = hue2rgb(p, q, h - 1 / 3);
43
+ }
44
+ const toHex = (n) => Math.round(Math.min(255, Math.max(0, n * 255))).toString(16).padStart(2, "0");
45
+ return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
46
+ }
47
+ function generateShades(hex) {
48
+ const [r, g, b] = hexToRgb(hex);
49
+ const [h, s, l] = rgbToHsl(r, g, b);
50
+ const targets = [
51
+ 0.95,
52
+ 0.88,
53
+ 0.78,
54
+ 0.65,
55
+ 0.55,
56
+ 0.48,
57
+ l,
58
+ Math.max(l - 0.08, 0.08),
59
+ Math.max(l - 0.16, 0.05),
60
+ Math.max(l - 0.24, 0.03)
61
+ ];
62
+ return targets.map((tl) => hslToHex(h, s, tl));
63
+ }
64
+
65
+ // src/theme/presets/default.ts
66
+ var defaultPreset = {
67
+ subtitleFontFamily: '"Inter", sans-serif',
68
+ fontImports: ["https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"],
69
+ light: {
70
+ primary: "#0099ff",
71
+ primaryContrast: "#ffffff",
72
+ background: "#ededf0",
73
+ surface: "#f5f5f5",
74
+ surfaceHover: "#f2f2f2",
75
+ text: "#212529",
76
+ textDimmed: "#495057",
77
+ textSubtle: "#868e96",
78
+ border: "#ddd",
79
+ error: "#dc3545",
80
+ warning: "#fd7e14",
81
+ success: "#28a745",
82
+ glassBackground: "rgba(252, 252, 252, 0.6)",
83
+ glassBlur: "blur(10px)",
84
+ shadow: "0px 3px 5px -4px rgba(0, 0, 0, 0.18)",
85
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.02), 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)",
86
+ durationFast: "150ms",
87
+ durationNormal: "250ms",
88
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
89
+ destructiveFg: "#ffffff",
90
+ fontHeading: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
91
+ fontSans: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
92
+ },
93
+ dark: {
94
+ primary: "#0099ff",
95
+ primaryContrast: "#ffffff",
96
+ background: "#040404",
97
+ surface: "#111112",
98
+ surfaceHover: "#191919",
99
+ text: "#ffffff",
100
+ textDimmed: "#c1c2c5",
101
+ textSubtle: "#999999",
102
+ border: "#1C1C1C",
103
+ error: "#ff5252",
104
+ warning: "#ff9800",
105
+ success: "#4caf50",
106
+ glassBackground: "rgba(15, 15, 15, 0.6)",
107
+ glassBlur: "blur(10px)",
108
+ shadow: "0px 3px 6px -2px rgba(0, 0, 0, .9)",
109
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 2px 4px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.2), 0 8px 16px rgba(0, 0, 0, 0.2)",
110
+ durationFast: "150ms",
111
+ durationNormal: "250ms",
112
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
113
+ destructiveFg: "#ffffff",
114
+ fontHeading: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
115
+ fontSans: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
116
+ }
117
+ };
118
+
119
+ // src/theme/presets/tactical.ts
120
+ var tacticalPreset = {
121
+ light: {
122
+ primary: "#0099ff",
123
+ primaryContrast: "#ffffff",
124
+ background: "#EAEBEE",
125
+ surface: "#F3F3F6",
126
+ surfaceHover: "#DFDFE4",
127
+ text: "#0F1319",
128
+ textDimmed: "#3B4559",
129
+ textSubtle: "#5D677B",
130
+ border: "#C5CCD6",
131
+ error: "#D32F2F",
132
+ warning: "#ED6C02",
133
+ success: "#2E7D32",
134
+ glassBackground: "rgba(243, 243, 246, 0.6)",
135
+ glassBlur: "blur(14px)",
136
+ shadow: "0px 2px 4px -2px rgba(15, 19, 25, 0.12)",
137
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 1px 3px rgba(15, 19, 25, 0.06), 0 4px 8px rgba(15, 19, 25, 0.04)",
138
+ durationFast: "100ms",
139
+ durationNormal: "180ms",
140
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
141
+ destructiveFg: "#ffffff",
142
+ fontHeading: '"Chakra Petch", sans-serif',
143
+ fontSans: '"Chakra Petch", sans-serif'
144
+ },
145
+ dark: {
146
+ primary: "#0099ff",
147
+ primaryContrast: "#ffffff",
148
+ background: "#020305",
149
+ surface: "#0E0F14",
150
+ surfaceHover: "#16171D",
151
+ text: "#EFF2F7",
152
+ textDimmed: "#B0BCD2",
153
+ textSubtle: "#8898AE",
154
+ border: "#181C2D",
155
+ error: "#FF4757",
156
+ warning: "#FFA502",
157
+ success: "#2ED573",
158
+ glassBackground: "rgba(13, 14, 18, 0.58)",
159
+ glassBlur: "blur(16px)",
160
+ shadow: "0px 2px 6px -2px rgba(0, 0, 0, 0.9)",
161
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 1px 3px rgba(0, 0, 0, 0.2), 0 4px 8px rgba(0, 0, 0, 0.28), 0 8px 16px rgba(0, 0, 0, 0.18)",
162
+ durationFast: "100ms",
163
+ durationNormal: "180ms",
164
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
165
+ destructiveFg: "#ffffff",
166
+ fontHeading: '"Chakra Petch", sans-serif',
167
+ fontSans: '"Chakra Petch", sans-serif'
168
+ },
169
+ subtitleFontFamily: '"Chakra Petch", sans-serif',
170
+ framework: {
171
+ fontFamily: '"Chakra Petch", sans-serif',
172
+ headings: {
173
+ fontFamily: '"Chakra Petch", sans-serif'
174
+ }
175
+ },
176
+ fontImports: ["https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&display=swap"]
177
+ };
178
+
179
+ // src/theme/presets/regal.ts
180
+ var regalPreset = {
181
+ light: {
182
+ primary: "#B8922F",
183
+ primaryContrast: "#ffffff",
184
+ background: "#F0F0F2",
185
+ surface: "#F7F7F8",
186
+ surfaceHover: "#E9E9EB",
187
+ text: "#2E2E30",
188
+ textDimmed: "#50505A",
189
+ textSubtle: "#8E8E96",
190
+ border: "#CCCCD2",
191
+ error: "#A83232",
192
+ warning: "#B87A1A",
193
+ success: "#3A7A3A",
194
+ glassBackground: "rgba(247, 247, 248, 0.6)",
195
+ glassBlur: "blur(12px)",
196
+ shadow: "0px 2px 6px -2px rgba(20, 20, 20, 0.12)",
197
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(20, 20, 20, 0.06), 0 4px 8px rgba(20, 20, 20, 0.04)",
198
+ durationFast: "180ms",
199
+ durationNormal: "320ms",
200
+ easing: "cubic-bezier(0.25, 0.1, 0.25, 1)",
201
+ destructiveFg: "#ffffff",
202
+ fontHeading: '"Cinzel", serif',
203
+ fontSans: '"Inter", sans-serif'
204
+ },
205
+ dark: {
206
+ primary: "#D4A843",
207
+ primaryContrast: "#1A1400",
208
+ background: "#000000",
209
+ surface: "#0E0E0E",
210
+ surfaceHover: "#181818",
211
+ text: "#F5EEE0",
212
+ textDimmed: "#C8BA98",
213
+ textSubtle: "#A89880",
214
+ border: "#1D1D1D",
215
+ error: "#E05252",
216
+ warning: "#D4943C",
217
+ success: "#4AA84A",
218
+ glassBackground: "rgba(14, 14, 14, 0.6)",
219
+ glassBlur: "blur(14px)",
220
+ shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
221
+ cardShadow: "inset 0 1px 0 rgba(212, 168, 67, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
222
+ durationFast: "180ms",
223
+ durationNormal: "320ms",
224
+ easing: "cubic-bezier(0.25, 0.1, 0.25, 1)",
225
+ destructiveFg: "#ffffff",
226
+ fontHeading: '"Cinzel", serif',
227
+ fontSans: '"Inter", sans-serif'
228
+ },
229
+ subtitleFontFamily: '"Raleway", sans-serif',
230
+ framework: {
231
+ defaultRadius: "xs",
232
+ fontFamily: '"Inter", sans-serif',
233
+ headings: {
234
+ fontFamily: '"Cinzel", serif',
235
+ fontWeight: "600"
236
+ }
237
+ },
238
+ fontImports: [
239
+ "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&display=swap",
240
+ "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap",
241
+ "https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700&display=swap"
242
+ ]
243
+ };
244
+
245
+ // src/theme/presets/cyber-volt.ts
246
+ var cyberVoltPreset = {
247
+ light: {
248
+ primary: "#0097A7",
249
+ primaryContrast: "#ffffff",
250
+ background: "#E0E6EE",
251
+ surface: "#EAEDF3",
252
+ surfaceHover: "#D6DCE6",
253
+ text: "#0A0E14",
254
+ textDimmed: "#2E3A4D",
255
+ textSubtle: "#556680",
256
+ border: "#B0BCD0",
257
+ error: "#FF1744",
258
+ warning: "#FF9100",
259
+ success: "#00E676",
260
+ glassBackground: "rgba(234, 238, 244, 0.6)",
261
+ glassBlur: "blur(14px)",
262
+ shadow: "0px 2px 4px -2px rgba(0, 151, 167, 0.08)",
263
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 8px rgba(0, 0, 0, 0.04)",
264
+ durationFast: "80ms",
265
+ durationNormal: "160ms",
266
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
267
+ destructiveFg: "#ffffff",
268
+ fontHeading: '"Orbitron", sans-serif',
269
+ fontSans: '"JetBrains Mono", monospace'
270
+ },
271
+ dark: {
272
+ primary: "#00ACC1",
273
+ primaryContrast: "#ffffff",
274
+ background: "#030506",
275
+ surface: "#0E1520",
276
+ surfaceHover: "#16202E",
277
+ text: "#E0F7FA",
278
+ textDimmed: "#80DEEA",
279
+ textSubtle: "#68C8BE",
280
+ border: "#192232",
281
+ error: "#FF1744",
282
+ warning: "#FF9100",
283
+ success: "#00E676",
284
+ glassBackground: "rgba(12, 20, 30, 0.57)",
285
+ glassBlur: "blur(18px)",
286
+ shadow: "0px 2px 8px -2px rgba(0, 229, 255, 0.15)",
287
+ cardShadow: "inset 0 1px 0 rgba(0, 229, 255, 0.05), 0 2px 4px rgba(0, 0, 0, 0.3), 0 4px 12px rgba(0, 229, 255, 0.06), 0 8px 24px rgba(0, 0, 0, 0.25)",
288
+ durationFast: "80ms",
289
+ durationNormal: "160ms",
290
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
291
+ destructiveFg: "#ffffff",
292
+ fontHeading: '"Orbitron", sans-serif',
293
+ fontSans: '"JetBrains Mono", monospace'
294
+ },
295
+ subtitleFontFamily: '"Exo 2", sans-serif',
296
+ framework: {
297
+ fontFamily: '"JetBrains Mono", monospace',
298
+ headings: {
299
+ fontFamily: '"Orbitron", sans-serif'
300
+ },
301
+ components: {
302
+ Title: {
303
+ styles: { root: { letterSpacing: "-0.05em" } }
304
+ }
305
+ }
306
+ },
307
+ fontImports: [
308
+ "https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700&display=swap",
309
+ "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap",
310
+ "https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&display=swap"
311
+ ]
312
+ };
313
+
314
+ // src/theme/presets/aurora.ts
315
+ var auroraPreset = {
316
+ light: {
317
+ primary: "#00897B",
318
+ primaryContrast: "#ffffff",
319
+ background: "#EFF5F3",
320
+ surface: "#F5FAF8",
321
+ surfaceHover: "#E4EDEA",
322
+ text: "#1A2E28",
323
+ textDimmed: "#3D5E54",
324
+ textSubtle: "#507368",
325
+ border: "#C4D9D2",
326
+ error: "#E53935",
327
+ warning: "#FB8C00",
328
+ success: "#43A047",
329
+ glassBackground: "rgba(245, 250, 248, 0.6)",
330
+ glassBlur: "blur(12px)",
331
+ shadow: "0px 2px 6px -2px rgba(0, 137, 123, 0.08)",
332
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(0, 0, 0, 0.04), 0 4px 8px rgba(0, 0, 0, 0.03)",
333
+ durationFast: "160ms",
334
+ durationNormal: "280ms",
335
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
336
+ destructiveFg: "#ffffff",
337
+ fontHeading: '"Nunito", sans-serif',
338
+ fontSans: '"Nunito", sans-serif'
339
+ },
340
+ dark: {
341
+ primary: "#00A88A",
342
+ primaryContrast: "#ffffff",
343
+ background: "#020807",
344
+ surface: "#0C1612",
345
+ surfaceHover: "#1A2C28",
346
+ text: "#E0F2F1",
347
+ textDimmed: "#80CBC4",
348
+ textSubtle: "#68C8BE",
349
+ border: "#1A2D28",
350
+ error: "#FF5252",
351
+ warning: "#FFB74D",
352
+ success: "#69F0AE",
353
+ glassBackground: "rgba(12, 20, 18, 0.7)",
354
+ glassBlur: "blur(14px)",
355
+ shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.9)",
356
+ cardShadow: "inset 0 1px 0 rgba(29, 233, 182, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.25), 0 8px 20px rgba(0, 0, 0, 0.18)",
357
+ durationFast: "160ms",
358
+ durationNormal: "280ms",
359
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
360
+ destructiveFg: "#ffffff",
361
+ fontHeading: '"Nunito", sans-serif',
362
+ fontSans: '"Nunito", sans-serif'
363
+ },
364
+ subtitleFontFamily: '"Nunito", sans-serif',
365
+ framework: {
366
+ defaultRadius: "sm",
367
+ fontFamily: '"Nunito", sans-serif',
368
+ headings: {
369
+ fontFamily: '"Nunito", sans-serif',
370
+ fontWeight: "700"
371
+ }
372
+ },
373
+ fontImports: ["https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&display=swap"]
374
+ };
375
+
376
+ // src/theme/presets/rose-gold.ts
377
+ var roseGoldPreset = {
378
+ light: {
379
+ primary: "#A8695E",
380
+ primaryContrast: "#ffffff",
381
+ background: "#F4F0EE",
382
+ surface: "#FAF6F5",
383
+ surfaceHover: "#EDE6E4",
384
+ text: "#2D2325",
385
+ textDimmed: "#5A4448",
386
+ textSubtle: "#9A848A",
387
+ border: "#DDD0CC",
388
+ error: "#C62828",
389
+ warning: "#E65100",
390
+ success: "#2E7D32",
391
+ glassBackground: "rgba(250, 246, 245, 0.6)",
392
+ glassBlur: "blur(12px)",
393
+ shadow: "0px 2px 6px -2px rgba(192, 122, 110, 0.1)",
394
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(45, 35, 37, 0.05), 0 4px 8px rgba(45, 35, 37, 0.04)",
395
+ durationFast: "160ms",
396
+ durationNormal: "300ms",
397
+ easing: "cubic-bezier(0.25, 0.1, 0.25, 1)",
398
+ destructiveFg: "#ffffff",
399
+ fontHeading: '"Playfair Display", serif',
400
+ fontSans: '"DM Sans", sans-serif'
401
+ },
402
+ dark: {
403
+ primary: "#C8897C",
404
+ primaryContrast: "#2D1A16",
405
+ background: "#070405",
406
+ surface: "#161011",
407
+ surfaceHover: "#221A1C",
408
+ text: "#F5E8E6",
409
+ textDimmed: "#D8B8B2",
410
+ textSubtle: "#B89A94",
411
+ border: "#2A1E20",
412
+ error: "#EF5350",
413
+ warning: "#FF8A65",
414
+ success: "#66BB6A",
415
+ glassBackground: "rgba(22, 16, 17, 0.65)",
416
+ glassBlur: "blur(14px)",
417
+ shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
418
+ cardShadow: "inset 0 1px 0 rgba(232, 165, 152, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
419
+ durationFast: "160ms",
420
+ durationNormal: "300ms",
421
+ easing: "cubic-bezier(0.25, 0.1, 0.25, 1)",
422
+ destructiveFg: "#ffffff",
423
+ fontHeading: '"Playfair Display", serif',
424
+ fontSans: '"DM Sans", sans-serif'
425
+ },
426
+ subtitleFontFamily: '"Lora", serif',
427
+ framework: {
428
+ defaultRadius: "sm",
429
+ fontFamily: '"DM Sans", sans-serif',
430
+ headings: {
431
+ fontFamily: '"Playfair Display", serif',
432
+ fontWeight: "600"
433
+ }
434
+ },
435
+ fontImports: [
436
+ "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&display=swap",
437
+ "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap",
438
+ "https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&display=swap"
439
+ ]
440
+ };
441
+
442
+ // src/theme/presets/midnight.ts
443
+ var midnightPreset = {
444
+ light: {
445
+ primary: "#7C4DFF",
446
+ primaryContrast: "#ffffff",
447
+ background: "#EEEDF4",
448
+ surface: "#F5F4FA",
449
+ surfaceHover: "#E3E1ED",
450
+ text: "#1A1528",
451
+ textDimmed: "#4A4260",
452
+ textSubtle: "#7A7294",
453
+ border: "#CCC8DA",
454
+ error: "#D32F2F",
455
+ warning: "#F57C00",
456
+ success: "#388E3C",
457
+ glassBackground: "rgba(245, 244, 250, 0.6)",
458
+ glassBlur: "blur(12px)",
459
+ shadow: "0px 2px 6px -2px rgba(124, 77, 255, 0.08)",
460
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(26, 21, 40, 0.05), 0 4px 8px rgba(26, 21, 40, 0.04)",
461
+ durationFast: "140ms",
462
+ durationNormal: "260ms",
463
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
464
+ destructiveFg: "#ffffff",
465
+ fontHeading: '"Raleway", sans-serif',
466
+ fontSans: '"Space Grotesk", sans-serif'
467
+ },
468
+ dark: {
469
+ primary: "#9575CD",
470
+ primaryContrast: "#1A1528",
471
+ background: "#030208",
472
+ surface: "#110F1B",
473
+ surfaceHover: "#1E1A2C",
474
+ text: "#EDE7F6",
475
+ textDimmed: "#C0AAE5",
476
+ textSubtle: "#A898D0",
477
+ border: "#1E1A30",
478
+ error: "#FF5252",
479
+ warning: "#FFB74D",
480
+ success: "#69F0AE",
481
+ glassBackground: "rgba(16, 14, 26, 0.65)",
482
+ glassBlur: "blur(16px)",
483
+ shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
484
+ cardShadow: "inset 0 1px 0 rgba(179, 136, 255, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
485
+ durationFast: "140ms",
486
+ durationNormal: "260ms",
487
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
488
+ destructiveFg: "#ffffff",
489
+ fontHeading: '"Raleway", sans-serif',
490
+ fontSans: '"Space Grotesk", sans-serif'
491
+ },
492
+ subtitleFontFamily: '"Red Hat Display", sans-serif',
493
+ framework: {
494
+ defaultRadius: "xs",
495
+ fontFamily: '"Space Grotesk", sans-serif',
496
+ headings: {
497
+ fontFamily: '"Raleway", sans-serif',
498
+ fontWeight: "600"
499
+ },
500
+ components: {
501
+ Title: {
502
+ styles: { root: { letterSpacing: "-0.02em" } }
503
+ }
504
+ }
505
+ },
506
+ fontImports: [
507
+ "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap",
508
+ "https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700&display=swap",
509
+ "https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@400;500;600;700&display=swap"
510
+ ]
511
+ };
512
+
513
+ // src/theme/presets/ember.ts
514
+ var emberPreset = {
515
+ light: {
516
+ primary: "#D4603A",
517
+ primaryContrast: "#ffffff",
518
+ background: "#F3EFEB",
519
+ surface: "#F9F6F3",
520
+ surfaceHover: "#ECE6E0",
521
+ text: "#2C2118",
522
+ textDimmed: "#5E4A3A",
523
+ textSubtle: "#8D7A6A",
524
+ border: "#D6CABE",
525
+ error: "#C62828",
526
+ warning: "#E65100",
527
+ success: "#33691E",
528
+ glassBackground: "rgba(249, 246, 243, 0.6)",
529
+ glassBlur: "blur(12px)",
530
+ shadow: "0px 2px 6px -2px rgba(212, 96, 58, 0.08)",
531
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(44, 33, 24, 0.05), 0 4px 8px rgba(44, 33, 24, 0.04)",
532
+ durationFast: "150ms",
533
+ durationNormal: "280ms",
534
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
535
+ destructiveFg: "#ffffff",
536
+ fontHeading: '"Libre Baskerville", serif',
537
+ fontSans: '"Source Sans 3", sans-serif'
538
+ },
539
+ dark: {
540
+ primary: "#E87B55",
541
+ primaryContrast: "#1A0E08",
542
+ background: "#060302",
543
+ surface: "#15100D",
544
+ surfaceHover: "#1C1610",
545
+ text: "#F5EDE6",
546
+ textDimmed: "#D4B9A0",
547
+ textSubtle: "#B8A090",
548
+ border: "#2A211A",
549
+ error: "#EF5350",
550
+ warning: "#FF8A65",
551
+ success: "#8BC34A",
552
+ glassBackground: "rgba(20, 16, 12, 0.6)",
553
+ glassBlur: "blur(14px)",
554
+ shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
555
+ cardShadow: "inset 0 1px 0 rgba(232, 123, 85, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
556
+ durationFast: "150ms",
557
+ durationNormal: "280ms",
558
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
559
+ destructiveFg: "#ffffff",
560
+ fontHeading: '"Libre Baskerville", serif',
561
+ fontSans: '"Source Sans 3", sans-serif'
562
+ },
563
+ subtitleFontFamily: '"Source Serif 4", serif',
564
+ framework: {
565
+ defaultRadius: "sm",
566
+ fontFamily: '"Source Sans 3", sans-serif',
567
+ headings: {
568
+ fontFamily: '"Libre Baskerville", serif',
569
+ fontWeight: "700"
570
+ }
571
+ },
572
+ fontImports: [
573
+ "https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&display=swap",
574
+ "https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&display=swap",
575
+ "https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400;500;600;700&display=swap"
576
+ ]
577
+ };
578
+
579
+ // src/theme/presets/obsidian.ts
580
+ var obsidianPreset = {
581
+ light: {
582
+ primary: "#48484F",
583
+ primaryContrast: "#ffffff",
584
+ background: "#F2F2F4",
585
+ surface: "#FAFAFA",
586
+ surfaceHover: "#EDEDEF",
587
+ text: "#111114",
588
+ textDimmed: "#44444C",
589
+ textSubtle: "#78788A",
590
+ border: "#D8D8DC",
591
+ error: "#C62828",
592
+ warning: "#E65100",
593
+ success: "#2E7D32",
594
+ glassBackground: "rgba(250, 250, 250, 0.6)",
595
+ glassBlur: "blur(10px)",
596
+ shadow: "0px 2px 4px -2px rgba(0, 0, 0, 0.1)",
597
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(0, 0, 0, 0.04), 0 4px 8px rgba(0, 0, 0, 0.03)",
598
+ durationFast: "120ms",
599
+ durationNormal: "220ms",
600
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
601
+ destructiveFg: "#ffffff",
602
+ fontHeading: '"DM Mono", monospace',
603
+ fontSans: '"DM Sans", sans-serif'
604
+ },
605
+ dark: {
606
+ primary: "#808088",
607
+ primaryContrast: "#F0F0F2",
608
+ background: "#030304",
609
+ surface: "#111113",
610
+ surfaceHover: "#1C1C20",
611
+ text: "#F0F0F2",
612
+ textDimmed: "#B0B0B8",
613
+ textSubtle: "#A0A0A8",
614
+ border: "#1E1E22",
615
+ error: "#FF5252",
616
+ warning: "#FF9800",
617
+ success: "#4CAF50",
618
+ glassBackground: "rgba(16, 16, 17, 0.55)",
619
+ glassBlur: "blur(12px)",
620
+ shadow: "0px 3px 6px -2px rgba(0, 0, 0, 0.9)",
621
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 8px rgba(0, 0, 0, 0.25), 0 8px 16px rgba(0, 0, 0, 0.18)",
622
+ durationFast: "120ms",
623
+ durationNormal: "220ms",
624
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
625
+ destructiveFg: "#ffffff",
626
+ fontHeading: '"DM Mono", monospace',
627
+ fontSans: '"DM Sans", sans-serif'
628
+ },
629
+ subtitleFontFamily: '"DM Sans", sans-serif',
630
+ framework: {
631
+ fontFamily: '"DM Sans", sans-serif',
632
+ headings: {
633
+ fontFamily: '"DM Mono", monospace',
634
+ fontWeight: "500"
635
+ }
636
+ },
637
+ fontImports: [
638
+ "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&display=swap",
639
+ "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap"
640
+ ]
641
+ };
642
+
643
+ // src/theme/presets/honey.ts
644
+ var honeyPreset = {
645
+ light: {
646
+ primary: "#A06A08",
647
+ primaryContrast: "#ffffff",
648
+ background: "#F5F0E8",
649
+ surface: "#FBF7F0",
650
+ surfaceHover: "#EDE5D8",
651
+ text: "#2A1F0A",
652
+ textDimmed: "#5C4820",
653
+ textSubtle: "#8A7450",
654
+ border: "#E0D0B0",
655
+ error: "#C62828",
656
+ warning: "#E65100",
657
+ success: "#33691E",
658
+ glassBackground: "rgba(251, 247, 240, 0.6)",
659
+ glassBlur: "blur(12px)",
660
+ shadow: "0px 2px 6px -2px rgba(160, 106, 8, 0.1)",
661
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(42, 31, 10, 0.05), 0 4px 8px rgba(42, 31, 10, 0.04)",
662
+ durationFast: "140ms",
663
+ durationNormal: "260ms",
664
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
665
+ destructiveFg: "#ffffff",
666
+ fontHeading: '"Syne", sans-serif',
667
+ fontSans: '"Inter", sans-serif'
668
+ },
669
+ dark: {
670
+ primary: "#E8A820",
671
+ primaryContrast: "#1A1200",
672
+ background: "#060400",
673
+ surface: "#141108",
674
+ surfaceHover: "#1C1808",
675
+ text: "#FDF0D0",
676
+ textDimmed: "#D8C070",
677
+ textSubtle: "#B8A060",
678
+ border: "#2A2210",
679
+ error: "#EF5350",
680
+ warning: "#FF8A65",
681
+ success: "#8BC34A",
682
+ glassBackground: "rgba(22, 19, 9, 0.6)",
683
+ glassBlur: "blur(14px)",
684
+ shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
685
+ cardShadow: "inset 0 1px 0 rgba(232, 168, 32, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
686
+ durationFast: "140ms",
687
+ durationNormal: "260ms",
688
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
689
+ destructiveFg: "#ffffff",
690
+ fontHeading: '"Syne", sans-serif',
691
+ fontSans: '"Inter", sans-serif'
692
+ },
693
+ subtitleFontFamily: '"Outfit", sans-serif',
694
+ framework: {
695
+ defaultRadius: "sm",
696
+ fontFamily: '"Inter", sans-serif',
697
+ headings: {
698
+ fontFamily: '"Syne", sans-serif'
699
+ },
700
+ components: {
701
+ Title: {
702
+ styles: { root: { letterSpacing: "-0.06em" } }
703
+ }
704
+ }
705
+ },
706
+ fontImports: [
707
+ "https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700&display=swap",
708
+ "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap",
709
+ "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap"
710
+ ]
711
+ };
712
+
713
+ // src/theme/presets/abyss.ts
714
+ var abyssPreset = {
715
+ light: {
716
+ primary: "#0A70B0",
717
+ primaryContrast: "#ffffff",
718
+ background: "#EDF1F5",
719
+ surface: "#F3F7FA",
720
+ surfaceHover: "#E0E8EE",
721
+ text: "#0A1828",
722
+ textDimmed: "#2A4060",
723
+ textSubtle: "#5A7890",
724
+ border: "#C0CED8",
725
+ error: "#D32F2F",
726
+ warning: "#F57C00",
727
+ success: "#388E3C",
728
+ glassBackground: "rgba(243, 247, 250, 0.6)",
729
+ glassBlur: "blur(12px)",
730
+ shadow: "0px 2px 6px -2px rgba(10, 112, 176, 0.08)",
731
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(10, 24, 40, 0.05), 0 4px 8px rgba(10, 24, 40, 0.04)",
732
+ durationFast: "130ms",
733
+ durationNormal: "240ms",
734
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
735
+ destructiveFg: "#ffffff",
736
+ fontHeading: '"Outfit", sans-serif',
737
+ fontSans: '"Outfit", sans-serif'
738
+ },
739
+ dark: {
740
+ primary: "#1090D8",
741
+ primaryContrast: "#ffffff",
742
+ background: "#010508",
743
+ surface: "#07101A",
744
+ surfaceHover: "#122838",
745
+ text: "#E4F0FC",
746
+ textDimmed: "#A0C8E8",
747
+ textSubtle: "#78A8C0",
748
+ border: "#0F2030",
749
+ error: "#FF5252",
750
+ warning: "#FFB74D",
751
+ success: "#69F0AE",
752
+ glassBackground: "rgba(5, 18, 26, 0.65)",
753
+ glassBlur: "blur(16px)",
754
+ shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
755
+ cardShadow: "inset 0 1px 0 rgba(16, 144, 216, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
756
+ durationFast: "130ms",
757
+ durationNormal: "240ms",
758
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
759
+ destructiveFg: "#ffffff",
760
+ fontHeading: '"Outfit", sans-serif',
761
+ fontSans: '"Outfit", sans-serif'
762
+ },
763
+ subtitleFontFamily: '"Outfit", sans-serif',
764
+ framework: {
765
+ defaultRadius: "sm",
766
+ fontFamily: '"Outfit", sans-serif',
767
+ headings: {
768
+ fontFamily: '"Outfit", sans-serif',
769
+ fontWeight: "700"
770
+ }
771
+ },
772
+ fontImports: ["https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap"]
773
+ };
774
+
775
+ // src/theme/presets/canopy.ts
776
+ var canopyPreset = {
777
+ light: {
778
+ primary: "#2E7A40",
779
+ primaryContrast: "#ffffff",
780
+ background: "#EDF3EE",
781
+ surface: "#F4F8F5",
782
+ surfaceHover: "#E0EBE2",
783
+ text: "#0F2415",
784
+ textDimmed: "#2D5235",
785
+ textSubtle: "#5A7D62",
786
+ border: "#C0D4C4",
787
+ error: "#C62828",
788
+ warning: "#E65100",
789
+ success: "#33691E",
790
+ glassBackground: "rgba(244, 248, 245, 0.6)",
791
+ glassBlur: "blur(12px)",
792
+ shadow: "0px 2px 6px -2px rgba(46, 122, 64, 0.08)",
793
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(15, 36, 21, 0.05), 0 4px 8px rgba(15, 36, 21, 0.04)",
794
+ durationFast: "150ms",
795
+ durationNormal: "280ms",
796
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
797
+ destructiveFg: "#ffffff",
798
+ fontHeading: '"Fraunces", serif',
799
+ fontSans: '"Lato", sans-serif'
800
+ },
801
+ dark: {
802
+ primary: "#4AA860",
803
+ primaryContrast: "#ffffff",
804
+ background: "#030705",
805
+ surface: "#0B150F",
806
+ surfaceHover: "#162818",
807
+ text: "#E0F0E4",
808
+ textDimmed: "#98C8A4",
809
+ textSubtle: "#80A090",
810
+ border: "#142018",
811
+ error: "#EF5350",
812
+ warning: "#FF8A65",
813
+ success: "#8BC34A",
814
+ glassBackground: "rgba(16, 23, 18, 0.6)",
815
+ glassBlur: "blur(14px)",
816
+ shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
817
+ cardShadow: "inset 0 1px 0 rgba(74, 168, 96, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
818
+ durationFast: "150ms",
819
+ durationNormal: "280ms",
820
+ easing: "cubic-bezier(0.4, 0, 0.2, 1)",
821
+ destructiveFg: "#ffffff",
822
+ fontHeading: '"Fraunces", serif',
823
+ fontSans: '"Lato", sans-serif'
824
+ },
825
+ subtitleFontFamily: '"Lora", serif',
826
+ framework: {
827
+ defaultRadius: "sm",
828
+ fontFamily: '"Lato", sans-serif',
829
+ headings: {
830
+ fontFamily: '"Fraunces", serif',
831
+ fontWeight: "600"
832
+ }
833
+ },
834
+ fontImports: [
835
+ "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&display=swap",
836
+ "https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap",
837
+ "https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&display=swap"
838
+ ]
839
+ };
840
+
841
+ // src/theme/presets/slate.ts
842
+ var slatePreset = {
843
+ light: {
844
+ primary: "#4A6E8E",
845
+ primaryContrast: "#ffffff",
846
+ background: "#ECEEF0",
847
+ surface: "#F3F4F6",
848
+ surfaceHover: "#E0E3E7",
849
+ text: "#161C22",
850
+ textDimmed: "#404C58",
851
+ textSubtle: "#6A7A88",
852
+ border: "#C8D0D8",
853
+ error: "#D32F2F",
854
+ warning: "#F57C00",
855
+ success: "#388E3C",
856
+ glassBackground: "rgba(243, 244, 246, 0.6)",
857
+ glassBlur: "blur(10px)",
858
+ shadow: "0px 2px 4px -2px rgba(74, 110, 142, 0.08)",
859
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(22, 28, 34, 0.05), 0 4px 8px rgba(22, 28, 34, 0.04)",
860
+ durationFast: "110ms",
861
+ durationNormal: "200ms",
862
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
863
+ destructiveFg: "#ffffff",
864
+ fontHeading: '"Quantico", sans-serif',
865
+ fontSans: '"IBM Plex Sans", sans-serif'
866
+ },
867
+ dark: {
868
+ primary: "#6A8FAD",
869
+ primaryContrast: "#0E1218",
870
+ background: "#010305",
871
+ surface: "#0E1218",
872
+ surfaceHover: "#1C2830",
873
+ text: "#E8F0F8",
874
+ textDimmed: "#A8C4DC",
875
+ textSubtle: "#80A0B0",
876
+ border: "#182028",
877
+ error: "#FF5252",
878
+ warning: "#FFB74D",
879
+ success: "#69F0AE",
880
+ glassBackground: "rgba(12, 16, 22, 0.65)",
881
+ glassBlur: "blur(14px)",
882
+ shadow: "0px 3px 6px -2px rgba(0, 0, 0, 0.9)",
883
+ cardShadow: "inset 0 1px 0 rgba(123, 158, 188, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 8px rgba(0, 0, 0, 0.25), 0 8px 16px rgba(0, 0, 0, 0.18)",
884
+ durationFast: "110ms",
885
+ durationNormal: "200ms",
886
+ easing: "cubic-bezier(0.22, 0, 0.1, 1)",
887
+ destructiveFg: "#ffffff",
888
+ fontHeading: '"Quantico", sans-serif',
889
+ fontSans: '"IBM Plex Sans", sans-serif'
890
+ },
891
+ subtitleFontFamily: '"Quantico", sans-serif',
892
+ framework: {
893
+ fontFamily: '"IBM Plex Sans", sans-serif',
894
+ headings: {
895
+ fontFamily: '"Quantico", sans-serif',
896
+ fontWeight: "600"
897
+ }
898
+ },
899
+ fontImports: [
900
+ "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap",
901
+ "https://fonts.googleapis.com/css2?family=Quantico:ital,wght@0,400;0,700;1,400;1,700&display=swap"
902
+ ]
903
+ };
904
+
905
+ // src/theme/presets/cyber-strike.ts
906
+ var cyberStrikePreset = {
907
+ light: {
908
+ primary: "#FF1744",
909
+ primaryContrast: "#ffffff",
910
+ background: "#EBE0E3",
911
+ surface: "#F3EAEB",
912
+ surfaceHover: "#E4D6DB",
913
+ text: "#140A0C",
914
+ textDimmed: "#4D2E35",
915
+ textSubtle: "#805560",
916
+ border: "#CCB0B8",
917
+ error: "#FF1744",
918
+ warning: "#FF9100",
919
+ success: "#00E676",
920
+ glassBackground: "rgba(242, 234, 236, 0.6)",
921
+ glassBlur: "blur(14px)",
922
+ shadow: "0px 2px 4px -2px rgba(255, 23, 68, 0.08)",
923
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 8px rgba(0, 0, 0, 0.04)",
924
+ durationFast: "80ms",
925
+ durationNormal: "160ms",
926
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
927
+ destructiveFg: "#ffffff",
928
+ fontHeading: '"Chakra Petch", sans-serif',
929
+ fontSans: '"JetBrains Mono", monospace'
930
+ },
931
+ dark: {
932
+ primary: "#FF1744",
933
+ primaryContrast: "#ffffff",
934
+ background: "#060404",
935
+ surface: "#180C10",
936
+ surfaceHover: "#26181E",
937
+ text: "#FAE0E4",
938
+ textDimmed: "#F0A0B0",
939
+ textSubtle: "#D08090",
940
+ border: "#33161D",
941
+ error: "#FF1744",
942
+ warning: "#FF9100",
943
+ success: "#00E676",
944
+ glassBackground: "rgba(23, 17, 21, 0.57)",
945
+ glassBlur: "blur(18px)",
946
+ shadow: "0px 2px 8px -2px rgba(255, 23, 68, 0.15)",
947
+ cardShadow: "inset 0 1px 0 rgba(255, 23, 68, 0.05), 0 2px 4px rgba(0, 0, 0, 0.3), 0 4px 12px rgba(255, 23, 68, 0.06), 0 8px 24px rgba(0, 0, 0, 0.25)",
948
+ durationFast: "80ms",
949
+ durationNormal: "160ms",
950
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
951
+ destructiveFg: "#ffffff",
952
+ fontHeading: '"Chakra Petch", sans-serif',
953
+ fontSans: '"JetBrains Mono", monospace'
954
+ },
955
+ subtitleFontFamily: '"Exo 2", sans-serif',
956
+ framework: {
957
+ fontFamily: '"JetBrains Mono", monospace',
958
+ headings: {
959
+ fontFamily: '"Chakra Petch", sans-serif'
960
+ }
961
+ },
962
+ fontImports: [
963
+ "https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;600;700&display=swap",
964
+ "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap",
965
+ "https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&display=swap"
966
+ ]
967
+ };
968
+
969
+ // src/theme/presets/cyber-flux.ts
970
+ var cyberFluxPreset = {
971
+ light: {
972
+ primary: "#C49000",
973
+ primaryContrast: "#ffffff",
974
+ background: "#EBE8DF",
975
+ surface: "#F3EFEA",
976
+ surfaceHover: "#E4E0D5",
977
+ text: "#14120A",
978
+ textDimmed: "#4D462E",
979
+ textSubtle: "#807555",
980
+ border: "#CCC5B0",
981
+ error: "#FF1744",
982
+ warning: "#FF9100",
983
+ success: "#00E676",
984
+ glassBackground: "rgba(242, 240, 233, 0.6)",
985
+ glassBlur: "blur(14px)",
986
+ shadow: "0px 2px 4px -2px rgba(196, 144, 0, 0.08)",
987
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 8px rgba(0, 0, 0, 0.04)",
988
+ durationFast: "80ms",
989
+ durationNormal: "160ms",
990
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
991
+ destructiveFg: "#ffffff",
992
+ fontHeading: '"Audiowide", sans-serif',
993
+ fontSans: '"JetBrains Mono", monospace'
994
+ },
995
+ dark: {
996
+ primary: "#C8A600",
997
+ primaryContrast: "#141200",
998
+ background: "#050503",
999
+ surface: "#17140C",
1000
+ surfaceHover: "#282318",
1001
+ text: "#FAF5E0",
1002
+ textDimmed: "#EAD580",
1003
+ textSubtle: "#AC9E4D",
1004
+ border: "#232105",
1005
+ error: "#FF1744",
1006
+ warning: "#FF9100",
1007
+ success: "#00E676",
1008
+ glassBackground: "rgba(21, 19, 12, 0.57)",
1009
+ glassBlur: "blur(18px)",
1010
+ shadow: "0px 2px 8px -2px rgba(255, 214, 0, 0.15)",
1011
+ cardShadow: "inset 0 1px 0 rgba(255, 214, 0, 0.05), 0 2px 4px rgba(0, 0, 0, 0.3), 0 4px 12px rgba(255, 214, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.25)",
1012
+ durationFast: "80ms",
1013
+ durationNormal: "160ms",
1014
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
1015
+ destructiveFg: "#ffffff",
1016
+ fontHeading: '"Audiowide", sans-serif',
1017
+ fontSans: '"JetBrains Mono", monospace'
1018
+ },
1019
+ subtitleFontFamily: '"Exo 2", sans-serif',
1020
+ framework: {
1021
+ fontFamily: '"JetBrains Mono", monospace',
1022
+ headings: {
1023
+ fontFamily: '"Audiowide", sans-serif'
1024
+ },
1025
+ components: {
1026
+ Title: {
1027
+ styles: { root: { letterSpacing: "-0.05em" } }
1028
+ }
1029
+ }
1030
+ },
1031
+ fontImports: [
1032
+ "https://fonts.googleapis.com/css2?family=Audiowide&display=swap",
1033
+ "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap",
1034
+ "https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&display=swap"
1035
+ ]
1036
+ };
1037
+
1038
+ // src/theme/presets/cyber-void.ts
1039
+ var cyberVoidPreset = {
1040
+ light: {
1041
+ primary: "#2979FF",
1042
+ primaryContrast: "#ffffff",
1043
+ background: "#E0E5EE",
1044
+ surface: "#EAEDF3",
1045
+ surfaceHover: "#D6DBE5",
1046
+ text: "#0A0D14",
1047
+ textDimmed: "#2E374D",
1048
+ textSubtle: "#556080",
1049
+ border: "#B0B8CE",
1050
+ error: "#FF1744",
1051
+ warning: "#FF9100",
1052
+ success: "#00E676",
1053
+ glassBackground: "rgba(238, 241, 248, 0.6)",
1054
+ glassBlur: "blur(14px)",
1055
+ shadow: "0px 2px 4px -2px rgba(41, 121, 255, 0.08)",
1056
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 8px rgba(0, 0, 0, 0.04)",
1057
+ durationFast: "80ms",
1058
+ durationNormal: "160ms",
1059
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
1060
+ destructiveFg: "#ffffff",
1061
+ fontHeading: '"Share Tech Mono", monospace',
1062
+ fontSans: '"JetBrains Mono", monospace'
1063
+ },
1064
+ dark: {
1065
+ primary: "#2979FF",
1066
+ primaryContrast: "#ffffff",
1067
+ background: "#030507",
1068
+ surface: "#0E131E",
1069
+ surfaceHover: "#161E2C",
1070
+ text: "#E0EAFA",
1071
+ textDimmed: "#99BBEE",
1072
+ textSubtle: "#80A0D0",
1073
+ border: "#192033",
1074
+ error: "#FF1744",
1075
+ warning: "#FF9100",
1076
+ success: "#00E676",
1077
+ glassBackground: "rgba(14, 19, 30, 0.57)",
1078
+ glassBlur: "blur(18px)",
1079
+ shadow: "0px 2px 8px -2px rgba(41, 121, 255, 0.15)",
1080
+ cardShadow: "inset 0 1px 0 rgba(41, 121, 255, 0.05), 0 2px 4px rgba(0, 0, 0, 0.3), 0 4px 12px rgba(41, 121, 255, 0.06), 0 8px 24px rgba(0, 0, 0, 0.25)",
1081
+ durationFast: "80ms",
1082
+ durationNormal: "160ms",
1083
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
1084
+ destructiveFg: "#ffffff",
1085
+ fontHeading: '"Share Tech Mono", monospace',
1086
+ fontSans: '"JetBrains Mono", monospace'
1087
+ },
1088
+ subtitleFontFamily: '"Exo 2", sans-serif',
1089
+ framework: {
1090
+ fontFamily: '"JetBrains Mono", monospace',
1091
+ headings: {
1092
+ fontFamily: '"Share Tech Mono", monospace',
1093
+ fontWeight: "400"
1094
+ }
1095
+ },
1096
+ fontImports: [
1097
+ "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap",
1098
+ "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap",
1099
+ "https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&display=swap"
1100
+ ]
1101
+ };
1102
+
1103
+ // src/theme/presets/index.ts
1104
+ var PRESETS = {
1105
+ default: defaultPreset,
1106
+ tactical: tacticalPreset,
1107
+ regal: regalPreset,
1108
+ "cyber-volt": cyberVoltPreset,
1109
+ aurora: auroraPreset,
1110
+ "rose-gold": roseGoldPreset,
1111
+ midnight: midnightPreset,
1112
+ ember: emberPreset,
1113
+ obsidian: obsidianPreset,
1114
+ honey: honeyPreset,
1115
+ abyss: abyssPreset,
1116
+ canopy: canopyPreset,
1117
+ slate: slatePreset,
1118
+ "cyber-strike": cyberStrikePreset,
1119
+ "cyber-flux": cyberFluxPreset,
1120
+ "cyber-void": cyberVoidPreset
1121
+ };
1122
+ function getPreset(name) {
1123
+ return PRESETS[name] ?? PRESETS.default;
1124
+ }
1125
+
1126
+ // src/theme/cssVariables.ts
1127
+ var TOKEN_VAR_MAP = {
1128
+ primary: "--color-primary",
1129
+ primaryContrast: "--color-primary-contrast",
1130
+ background: "--color-background",
1131
+ surface: "--color-surface",
1132
+ surfaceHover: "--color-surface-hover",
1133
+ text: "--color-text",
1134
+ textDimmed: "--color-text-dimmed",
1135
+ textSubtle: "--color-text-subtle",
1136
+ border: "--color-border",
1137
+ error: "--color-error",
1138
+ warning: "--color-warning",
1139
+ success: "--color-success",
1140
+ glassBackground: "--glass-background",
1141
+ glassBlur: "--glass-blur",
1142
+ shadow: "--standard-box-shadow",
1143
+ cardShadow: "--card-shadow",
1144
+ durationFast: "--duration-fast",
1145
+ durationNormal: "--duration-normal",
1146
+ easing: "--easing",
1147
+ destructiveFg: "--color-destructive-fg",
1148
+ fontHeading: "--font-heading",
1149
+ fontSans: "--font-sans"
1150
+ };
1151
+ var FRAMEWORK_BRIDGE = {
1152
+ "--mantine-color-text": "var(--color-text)",
1153
+ "--mantine-color-body": "var(--color-background)",
1154
+ "--mantine-color-dimmed": "var(--color-text-dimmed)",
1155
+ // Primary color functional variants — used by Tabs, SegmentedControl, Badge, Button, etc.
1156
+ "--mantine-primary-color-filled": "var(--color-primary)",
1157
+ "--mantine-primary-color-filled-hover": "color-mix(in srgb, var(--color-primary) 90%, black)",
1158
+ "--mantine-primary-color-light": "color-mix(in srgb, var(--color-primary) 15%, transparent)",
1159
+ "--mantine-primary-color-light-hover": "color-mix(in srgb, var(--color-primary) 20%, transparent)",
1160
+ "--mantine-primary-color-light-color": "var(--color-primary)",
1161
+ "--mantine-primary-color-contrast": "var(--color-primary-contrast)",
1162
+ // Active/selected state — used by selectable cards, active filters, plan tiers, etc.
1163
+ "--active-border": "1px solid color-mix(in srgb, var(--color-primary) 40%, var(--color-border))",
1164
+ "--active-background": "color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))"
1165
+ };
1166
+ function shadesToVars(shades) {
1167
+ const vars = {};
1168
+ for (let i = 0; i < shades.length; i++) {
1169
+ vars[`--mantine-color-primary-${i}`] = shades[i];
1170
+ }
1171
+ return vars;
1172
+ }
1173
+ function presetToVars(tokens) {
1174
+ const result = {};
1175
+ for (const [key, varName] of Object.entries(TOKEN_VAR_MAP)) {
1176
+ const value = tokens[key];
1177
+ if (value) result[varName] = value;
1178
+ }
1179
+ return result;
1180
+ }
1181
+ function mapTokens(tokens) {
1182
+ if (!tokens) return {};
1183
+ const result = {};
1184
+ for (const [key, varName] of Object.entries(TOKEN_VAR_MAP)) {
1185
+ const value = tokens[key];
1186
+ if (value) result[varName] = value;
1187
+ }
1188
+ return result;
1189
+ }
1190
+ function createCssVariablesResolver(tokens, preset) {
1191
+ const resolved = getPreset(preset ?? "default");
1192
+ const lightDefaults = presetToVars(resolved.light);
1193
+ const darkDefaults = presetToVars(resolved.dark);
1194
+ const flat = mapTokens(tokens);
1195
+ const light = mapTokens(tokens?.light);
1196
+ const dark = mapTokens(tokens?.dark);
1197
+ const lightPrimary = tokens?.light?.primary ?? tokens?.primary ?? resolved.light.primary;
1198
+ const darkPrimary = tokens?.dark?.primary ?? tokens?.primary ?? resolved.dark.primary;
1199
+ const lightShades = shadesToVars(generateShades(lightPrimary));
1200
+ const darkShades = shadesToVars(generateShades(darkPrimary));
1201
+ return () => ({
1202
+ variables: { ...FRAMEWORK_BRIDGE },
1203
+ light: { ...lightShades, ...lightDefaults, ...flat, ...light },
1204
+ dark: { ...darkShades, ...darkDefaults, ...flat, ...dark }
1205
+ });
1206
+ }
1207
+ var DEFAULT_SIZE = "sm";
1208
+ var glassBase = {
1209
+ backdropFilter: "var(--glass-blur)",
1210
+ WebkitBackdropFilter: "var(--glass-blur)",
1211
+ border: "1px solid var(--color-border)"
1212
+ };
1213
+ var componentThemes = {
1214
+ Accordion: Accordion.extend({
1215
+ styles: {
1216
+ item: {
1217
+ borderColor: "var(--color-border)"
1218
+ },
1219
+ content: {
1220
+ backgroundColor: "var(--color-surface)"
1221
+ }
1222
+ }
1223
+ }),
1224
+ Button: Button.extend({
1225
+ styles: {
1226
+ root: {
1227
+ transition: `all var(--duration-fast) var(--easing)`
1228
+ }
1229
+ }
1230
+ }),
1231
+ Card: Card.extend({
1232
+ defaultProps: {
1233
+ p: DEFAULT_SIZE
1234
+ },
1235
+ styles: {
1236
+ root: {
1237
+ backgroundColor: "var(--glass-background)",
1238
+ ...glassBase,
1239
+ boxShadow: "var(--card-shadow)"
1240
+ }
1241
+ }
1242
+ }),
1243
+ // Checkbox styles are in custom.css to support :checked pseudo-selector
1244
+ Divider: Divider.extend({
1245
+ styles: {
1246
+ root: {
1247
+ borderColor: "var(--color-border)"
1248
+ }
1249
+ }
1250
+ }),
1251
+ Code: Code.extend({
1252
+ styles: {
1253
+ root: {
1254
+ backgroundColor: "var(--color-surface)",
1255
+ border: "1px solid var(--color-border)"
1256
+ }
1257
+ }
1258
+ }),
1259
+ Flex: Flex.extend({
1260
+ defaultProps: {
1261
+ gap: DEFAULT_SIZE
1262
+ }
1263
+ }),
1264
+ Grid: Grid.extend({
1265
+ defaultProps: {
1266
+ gutter: DEFAULT_SIZE
1267
+ }
1268
+ }),
1269
+ Group: Group.extend({
1270
+ defaultProps: {
1271
+ gap: DEFAULT_SIZE
1272
+ }
1273
+ }),
1274
+ HoverCard: HoverCard.extend({
1275
+ styles: {
1276
+ dropdown: {
1277
+ backgroundColor: "var(--color-surface)",
1278
+ border: "1px solid var(--color-border)",
1279
+ boxShadow: "var(--standard-box-shadow)"
1280
+ }
1281
+ }
1282
+ }),
1283
+ Input: Input.extend({
1284
+ styles: {
1285
+ input: {
1286
+ backgroundColor: "var(--color-surface)",
1287
+ border: "none",
1288
+ borderBottom: "1px solid var(--color-border)",
1289
+ borderRadius: "0"
1290
+ }
1291
+ }
1292
+ }),
1293
+ Menu: Menu.extend({
1294
+ styles: {
1295
+ dropdown: {
1296
+ background: "var(--color-surface)",
1297
+ border: "1px solid var(--color-border)"
1298
+ }
1299
+ }
1300
+ }),
1301
+ Modal: Modal.extend({
1302
+ styles: {
1303
+ content: {
1304
+ backgroundColor: "var(--color-surface)",
1305
+ border: "1px solid var(--color-border)"
1306
+ }
1307
+ }
1308
+ }),
1309
+ Notification: Notification.extend({
1310
+ styles: {
1311
+ root: {
1312
+ backgroundColor: "color-mix(in srgb, var(--color-surface) 90%, transparent)",
1313
+ ...glassBase
1314
+ }
1315
+ }
1316
+ }),
1317
+ Popover: Popover.extend({
1318
+ styles: {
1319
+ dropdown: {
1320
+ backgroundColor: "var(--color-surface)",
1321
+ ...glassBase,
1322
+ boxShadow: "var(--standard-box-shadow)"
1323
+ }
1324
+ }
1325
+ }),
1326
+ Paper: Paper.extend({
1327
+ styles: {
1328
+ root: {
1329
+ backgroundColor: "var(--glass-background)",
1330
+ ...glassBase,
1331
+ boxShadow: "var(--card-shadow)",
1332
+ padding: `var(--mantine-spacing-${DEFAULT_SIZE})`
1333
+ }
1334
+ }
1335
+ }),
1336
+ ScrollArea: ScrollArea.extend({
1337
+ defaultProps: {
1338
+ scrollbarSize: 8
1339
+ },
1340
+ styles: {
1341
+ scrollbar: {
1342
+ background: "transparent",
1343
+ '&[data-orientation="vertical"]': {
1344
+ width: "8px"
1345
+ },
1346
+ '&[data-orientation="horizontal"]': {
1347
+ height: "8px"
1348
+ }
1349
+ },
1350
+ thumb: {
1351
+ borderRadius: "var(--mantine-radius-default)",
1352
+ background: "color-mix(in srgb, var(--color-text-subtle) 50%, var(--color-border))",
1353
+ "&:hover": {
1354
+ background: "var(--color-text-subtle)"
1355
+ }
1356
+ }
1357
+ }
1358
+ }),
1359
+ SegmentedControl: SegmentedControl.extend({
1360
+ styles: {
1361
+ root: {
1362
+ backgroundColor: "var(--color-surface)"
1363
+ },
1364
+ indicator: {
1365
+ backgroundColor: "var(--color-surface-hover)",
1366
+ boxShadow: "var(--standard-box-shadow)"
1367
+ }
1368
+ }
1369
+ }),
1370
+ Combobox: Combobox.extend({
1371
+ styles: {
1372
+ dropdown: {
1373
+ backgroundColor: "red"
1374
+ }
1375
+ }
1376
+ }),
1377
+ Select: Select.extend({
1378
+ styles: {
1379
+ dropdown: {
1380
+ backgroundColor: "var(--color-surface)"
1381
+ }
1382
+ }
1383
+ }),
1384
+ // Switch styles are in custom.css to support [data-checked] attribute selector
1385
+ SimpleGrid: SimpleGrid.extend({
1386
+ defaultProps: {
1387
+ spacing: DEFAULT_SIZE,
1388
+ verticalSpacing: DEFAULT_SIZE
1389
+ }
1390
+ }),
1391
+ Stack: Stack.extend({
1392
+ defaultProps: {
1393
+ gap: DEFAULT_SIZE
1394
+ }
1395
+ }),
1396
+ Table: Table.extend({
1397
+ defaultProps: {
1398
+ highlightOnHover: true
1399
+ },
1400
+ styles: {
1401
+ table: {
1402
+ "--table-border-color": "var(--color-border)",
1403
+ "--table-highlight-on-hover-color": "var(--color-surface-hover)"
1404
+ }
1405
+ }
1406
+ }),
1407
+ Tabs: Tabs.extend({}),
1408
+ Text: Text.extend({
1409
+ styles: {
1410
+ root: {
1411
+ fontFamily: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
1412
+ }
1413
+ }
1414
+ }),
1415
+ // Timeline styles are in custom.css to override color-scheme-specific selectors
1416
+ Tooltip: Tooltip.extend({
1417
+ styles: {
1418
+ tooltip: {
1419
+ backgroundColor: "var(--color-surface)",
1420
+ color: "var(--color-text)",
1421
+ border: "1px solid var(--color-border)"
1422
+ }
1423
+ }
1424
+ })
1425
+ // Pagination styles are in custom.css to support :not([data-active]) selector
1426
+ };
1427
+ var mantineThemeOverride = createTheme({
1428
+ defaultRadius: "xs",
1429
+ fontFamily: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
1430
+ cursorType: "pointer",
1431
+ spacing: {
1432
+ xs: "0.5rem",
1433
+ sm: "0.75rem",
1434
+ md: "1rem",
1435
+ lg: "1.5rem",
1436
+ xl: "2rem"
1437
+ },
1438
+ radius: {
1439
+ xs: "0.25rem",
1440
+ sm: "0.5rem",
1441
+ md: "0.75rem",
1442
+ lg: "1rem",
1443
+ xl: "1.5rem"
1444
+ },
1445
+ fontSizes: {
1446
+ xs: "0.75rem",
1447
+ sm: "0.875rem",
1448
+ md: "1rem",
1449
+ lg: "1.125rem",
1450
+ xl: "1.25rem"
1451
+ },
1452
+ components: componentThemes
1453
+ });
1454
+
1455
+ export { TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride };