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