@elevasis/ui 2.41.0 → 2.42.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 (95) hide show
  1. package/dist/api/index.js +4 -6
  2. package/dist/app/index.css +384 -0
  3. package/dist/app/index.d.ts +5 -1
  4. package/dist/app/index.js +17 -26
  5. package/dist/auth/index.css +659 -0
  6. package/dist/auth/index.js +19 -5
  7. package/dist/charts/index.css +533 -0
  8. package/dist/charts/index.js +18 -14
  9. package/dist/{chunk-JAN2ZXN5.js → chunk-3MTAHV5M.js} +28535 -18021
  10. package/dist/{chunk-73EWE2EW.js → chunk-EDVZ3AHA.js} +1 -1
  11. package/dist/chunk-GMXGDO3I.js +244 -0
  12. package/dist/{chunk-CXY7FMUM.js → chunk-GUKY77FJ.js} +50 -4
  13. package/dist/{chunk-TE4P6OSJ.js → chunk-MA7YCY7C.js} +1 -1
  14. package/dist/{chunk-5JYKCULK.js → chunk-NZ2F5RQ4.js} +44 -2
  15. package/dist/{chunk-WF7CONXF.js → chunk-OJJK27GC.js} +658 -6
  16. package/dist/chunk-YEGMSADG.js +1781 -0
  17. package/dist/components/chat/index.js +1 -2
  18. package/dist/components/index.css +149 -149
  19. package/dist/components/index.d.ts +5 -1
  20. package/dist/components/index.js +13 -36
  21. package/dist/components/navigation/index.css +659 -0
  22. package/dist/components/navigation/index.js +25 -3
  23. package/dist/features/auth/index.js +14 -37
  24. package/dist/features/clients/index.css +149 -149
  25. package/dist/features/clients/index.js +13 -36
  26. package/dist/features/crm/index.js +13 -36
  27. package/dist/features/dashboard/index.d.ts +5 -1
  28. package/dist/features/dashboard/index.js +13 -36
  29. package/dist/features/delivery/index.js +13 -36
  30. package/dist/features/knowledge/index.css +659 -0
  31. package/dist/features/knowledge/index.js +25 -247
  32. package/dist/features/lead-gen/index.d.ts +5 -1
  33. package/dist/features/lead-gen/index.js +13 -36
  34. package/dist/features/monitoring/index.js +13 -36
  35. package/dist/features/monitoring/requests/index.js +19 -149
  36. package/dist/features/operations/index.d.ts +5 -1
  37. package/dist/features/operations/index.js +13 -36
  38. package/dist/features/seo/index.js +1 -4
  39. package/dist/features/settings/index.js +13 -36
  40. package/dist/hooks/access/index.css +659 -0
  41. package/dist/hooks/access/index.js +19 -4
  42. package/dist/hooks/delivery/index.js +13 -36
  43. package/dist/hooks/index.d.ts +5 -1
  44. package/dist/hooks/index.js +13 -36
  45. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +5 -1
  46. package/dist/hooks/published.d.ts +5 -1
  47. package/dist/hooks/published.js +13 -36
  48. package/dist/index.d.ts +5 -1
  49. package/dist/index.js +14 -37
  50. package/dist/initialization/index.js +1 -1
  51. package/dist/knowledge/index.css +659 -0
  52. package/dist/knowledge/index.d.ts +5 -1
  53. package/dist/knowledge/index.js +25 -15
  54. package/dist/layout/index.css +659 -0
  55. package/dist/layout/index.js +24 -9
  56. package/dist/organization/index.js +13 -36
  57. package/dist/provider/index.css +384 -0
  58. package/dist/provider/index.d.ts +5 -1
  59. package/dist/provider/index.js +18 -21
  60. package/dist/provider/published.css +533 -0
  61. package/dist/provider/published.d.ts +5 -1
  62. package/dist/provider/published.js +18 -16
  63. package/dist/test-utils/index.js +4 -6
  64. package/dist/theme/index.js +2 -5
  65. package/dist/theme/presets/index.js +1 -2
  66. package/dist/types/index.d.ts +5 -1
  67. package/dist/utils/index.d.ts +5 -1
  68. package/dist/utils/index.js +1 -3
  69. package/package.json +3 -3
  70. package/dist/chunk-3KMDHCAR.js +0 -52
  71. package/dist/chunk-4DRI3G36.js +0 -1016
  72. package/dist/chunk-56O7QQE7.js +0 -356
  73. package/dist/chunk-5EYJ2GIN.js +0 -122
  74. package/dist/chunk-66U7JOWV.js +0 -425
  75. package/dist/chunk-6D4LCJ52.js +0 -10
  76. package/dist/chunk-6ROXVZ3L.js +0 -9
  77. package/dist/chunk-A2XN6PR2.js +0 -111
  78. package/dist/chunk-B2DZLPDL.js +0 -39
  79. package/dist/chunk-CLDCYJQT.js +0 -1
  80. package/dist/chunk-CTJBPF3Z.js +0 -734
  81. package/dist/chunk-DT3QYZVU.js +0 -23
  82. package/dist/chunk-FIMGOWOT.js +0 -3644
  83. package/dist/chunk-IIMU5YAJ.js +0 -53
  84. package/dist/chunk-JHVEA5NE.js +0 -133
  85. package/dist/chunk-L7GXUSCV.js +0 -215
  86. package/dist/chunk-NYBEU5TE.js +0 -118
  87. package/dist/chunk-QVQMOQXB.js +0 -1240
  88. package/dist/chunk-RH5VWWSC.js +0 -624
  89. package/dist/chunk-RXH4D6TY.js +0 -801
  90. package/dist/chunk-S4R2ZQS7.js +0 -2131
  91. package/dist/chunk-TYRUKGGD.js +0 -46
  92. package/dist/chunk-VAAU2Z3S.js +0 -85
  93. package/dist/chunk-WLOQ4IBG.js +0 -654
  94. package/dist/chunk-X4WBGKJQ.js +0 -138
  95. package/dist/chunk-YPWN2WQ3.js +0 -340
@@ -1,654 +0,0 @@
1
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
- import { useComputedColorScheme } from '@mantine/core';
3
-
4
- // src/components/layout/backgrounds/AmbientBloomGrid.tsx
5
- var STYLE = `
6
- .elevasis-ambient-bloom-grid {
7
- display: none;
8
- position: fixed;
9
- inset: 0;
10
- pointer-events: none;
11
- overflow: hidden;
12
- }
13
- [data-mantine-color-scheme="dark"] .elevasis-ambient-bloom-grid {
14
- display: block;
15
- }
16
- [data-mantine-color-scheme="dark"] .elevasis-ambient-bloom-grid-lobe {
17
- mix-blend-mode: screen;
18
- }
19
- @keyframes elevasis-ambient-bloom-grid-horizon {
20
- 0%, 100% { transform: translate(0, 0) scale(1); }
21
- 50% { transform: translate(0, -1.5%) scale(1.05); }
22
- }
23
- @keyframes elevasis-ambient-bloom-grid-rim-left {
24
- 0%, 100% { transform: rotate(68deg) translate(0, 0) scale(1); }
25
- 50% { transform: rotate(68deg) translate(-2%, 3%) scale(1.06); }
26
- }
27
- @keyframes elevasis-ambient-bloom-grid-rim-right {
28
- 0%, 100% { transform: rotate(-68deg) translate(0, 0) scale(1); }
29
- 50% { transform: rotate(-68deg) translate(2%, 3%) scale(1.06); }
30
- }
31
- @media (prefers-reduced-motion: reduce) {
32
- .elevasis-ambient-bloom-grid-lobe { animation: none !important; }
33
- }
34
- `;
35
- var HORIZON = { width: 140, height: 85, bottom: -18, left: -20 };
36
- var RIM = { width: 160, height: 220, top: -100, offset: -75 };
37
- function AmbientBloomGrid({
38
- color = "var(--color-primary)",
39
- intensity = 0.1,
40
- size = 1
41
- }) {
42
- const horizonPct = `${Math.round(intensity * 100)}%`;
43
- const rimPct = `${Math.round(intensity * 65)}%`;
44
- const h = {
45
- width: `${HORIZON.width * size}%`,
46
- height: `${HORIZON.height * size}%`,
47
- bottom: `${HORIZON.bottom * size}%`,
48
- left: `${HORIZON.left * size}%`
49
- };
50
- const r = {
51
- width: `${RIM.width * size}%`,
52
- height: `${RIM.height * size}%`,
53
- top: `${RIM.top * size}%`,
54
- offset: `${RIM.offset * size}%`
55
- };
56
- return /* @__PURE__ */ jsxs(Fragment, { children: [
57
- /* @__PURE__ */ jsx("style", { children: STYLE }),
58
- /* @__PURE__ */ jsxs("div", { className: "elevasis-ambient-bloom-grid", "aria-hidden": "true", children: [
59
- /* @__PURE__ */ jsx(
60
- "div",
61
- {
62
- className: "elevasis-ambient-bloom-grid-lobe",
63
- style: {
64
- position: "absolute",
65
- bottom: h.bottom,
66
- left: h.left,
67
- width: h.width,
68
- height: h.height,
69
- background: `radial-gradient(ellipse 55% 55% at 50% 100%, color-mix(in srgb, ${color} ${horizonPct}, transparent) 0%, transparent 65%)`,
70
- filter: "blur(80px)",
71
- animation: "elevasis-ambient-bloom-grid-horizon 30s ease-in-out infinite",
72
- willChange: "transform",
73
- transformOrigin: "center center"
74
- }
75
- }
76
- ),
77
- /* @__PURE__ */ jsx(
78
- "div",
79
- {
80
- className: "elevasis-ambient-bloom-grid-lobe",
81
- style: {
82
- position: "absolute",
83
- top: r.top,
84
- left: r.offset,
85
- width: r.width,
86
- height: r.height,
87
- background: `radial-gradient(ellipse 35% 55% at center, color-mix(in srgb, ${color} ${rimPct}, transparent) 0%, transparent 62%)`,
88
- filter: "blur(95px)",
89
- animation: "elevasis-ambient-bloom-grid-rim-left 38s ease-in-out infinite",
90
- willChange: "transform",
91
- transformOrigin: "center center"
92
- }
93
- }
94
- ),
95
- /* @__PURE__ */ jsx(
96
- "div",
97
- {
98
- className: "elevasis-ambient-bloom-grid-lobe",
99
- style: {
100
- position: "absolute",
101
- top: r.top,
102
- right: r.offset,
103
- width: r.width,
104
- height: r.height,
105
- background: `radial-gradient(ellipse 35% 55% at center, color-mix(in srgb, ${color} ${rimPct}, transparent) 0%, transparent 62%)`,
106
- filter: "blur(95px)",
107
- animation: "elevasis-ambient-bloom-grid-rim-right 34s ease-in-out infinite",
108
- willChange: "transform",
109
- transformOrigin: "center center"
110
- }
111
- }
112
- )
113
- ] })
114
- ] });
115
- }
116
- var SUBTLE_DEFAULT_GLOW = "color-mix(in srgb, color-mix(in srgb, var(--color-primary) 20%, var(--color-border)) 30%, transparent)";
117
- var PROMINENT_DEFAULT_GLOW = "color-mix(in srgb, var(--color-primary) 22%, transparent)";
118
- function PerspectiveGrid({
119
- glowColor: glowColorProp,
120
- lineColor: lineColorProp,
121
- prominentGlow = false,
122
- lineIntensity = 100,
123
- glowIntensity = 100,
124
- className
125
- }) {
126
- const rawLineColor = lineColorProp ?? "color-mix(in srgb, var(--color-text-subtle) 7%, transparent)";
127
- const lineColor = lineIntensity < 100 ? `color-mix(in srgb, ${rawLineColor} ${lineIntensity}%, transparent)` : rawLineColor;
128
- const rawGlowColor = glowColorProp ?? (prominentGlow ? PROMINENT_DEFAULT_GLOW : SUBTLE_DEFAULT_GLOW);
129
- const glowColor = glowIntensity < 100 ? `color-mix(in srgb, ${rawGlowColor} ${glowIntensity}%, transparent)` : rawGlowColor;
130
- const glowHeight = prominentGlow ? "70%" : "60%";
131
- const glowGradient = prominentGlow ? `radial-gradient(ellipse 100% 80% at 50% 110%, ${glowColor} -10%, transparent 50%)` : `radial-gradient(ellipse 90% 75% at 50% 112%, ${glowColor} -15%, transparent 45%)`;
132
- return /* @__PURE__ */ jsxs(
133
- "div",
134
- {
135
- className,
136
- style: {
137
- position: "absolute",
138
- inset: 0,
139
- pointerEvents: "none",
140
- overflow: "hidden",
141
- perspective: "500px"
142
- },
143
- children: [
144
- /* @__PURE__ */ jsx(
145
- "div",
146
- {
147
- style: {
148
- position: "absolute",
149
- bottom: 0,
150
- left: "50%",
151
- transform: "translateX(-50%)",
152
- width: "100%",
153
- height: glowHeight,
154
- background: glowGradient,
155
- pointerEvents: "none"
156
- }
157
- }
158
- ),
159
- /* @__PURE__ */ jsx(
160
- "div",
161
- {
162
- style: {
163
- position: "absolute",
164
- left: "-50%",
165
- right: "-50%",
166
- bottom: 0,
167
- height: "70%",
168
- backgroundImage: `
169
- linear-gradient(${lineColor} 2px, transparent 1px),
170
- linear-gradient(90deg, ${lineColor} 2px, transparent 1px)
171
- `,
172
- backgroundSize: "120px 100px",
173
- transform: "rotateX(60deg)",
174
- transformOrigin: "bottom center",
175
- maskImage: "linear-gradient(to bottom, transparent 0%, black 100%, black 100%, transparent 100%)",
176
- WebkitMaskImage: "linear-gradient(to bottom, transparent 0%, black 100%, black 100%, transparent 100%)"
177
- }
178
- }
179
- )
180
- ]
181
- }
182
- );
183
- }
184
- var KEYFRAMES = `
185
- @keyframes elevasis-glow-drift {
186
- 0% { transform: translateY(0) scale(1); opacity: 1; }
187
- 20% { transform: translateY(-8%) scale(1.12); opacity: 0.7; }
188
- 40% { transform: translateY(3%) scale(0.92); opacity: 1; }
189
- 60% { transform: translateY(5%) scale(1.08); opacity: 0.8; }
190
- 80% { transform: translateY(-4%) scale(0.95); opacity: 0.9; }
191
- 100% { transform: translateY(0) scale(1); opacity: 1; }
192
- }
193
- @keyframes elevasis-glow-drift-alt {
194
- 0% { transform: translateY(0) scale(1); opacity: 0.8; }
195
- 25% { transform: translateY(6%) scale(0.9); opacity: 1; }
196
- 50% { transform: translateY(-7%) scale(1.15); opacity: 0.7; }
197
- 75% { transform: translateY(-5%) scale(1.05); opacity: 0.9; }
198
- 100% { transform: translateY(0) scale(1); opacity: 0.8; }
199
- }
200
- @keyframes elevasis-glow-drift-slow {
201
- 0% { transform: translateY(0) scale(1); opacity: 0.9; }
202
- 33% { transform: translateY(-4%) scale(1.1); opacity: 0.6; }
203
- 66% { transform: translateY(6%) scale(0.88); opacity: 1; }
204
- 100% { transform: translateY(0) scale(1); opacity: 0.9; }
205
- }
206
- `;
207
- function RadiantGlow({
208
- color = "var(--color-primary)",
209
- opacity = 1,
210
- className
211
- }) {
212
- return /* @__PURE__ */ jsxs(
213
- "div",
214
- {
215
- className,
216
- style: {
217
- position: "absolute",
218
- inset: 0,
219
- pointerEvents: "none",
220
- overflow: "clip",
221
- opacity
222
- },
223
- children: [
224
- /* @__PURE__ */ jsx("style", { children: KEYFRAMES }),
225
- /* @__PURE__ */ jsx(
226
- "div",
227
- {
228
- style: {
229
- position: "absolute",
230
- top: "-80%",
231
- left: "50%",
232
- transform: "translateX(-50%)",
233
- width: "200%",
234
- height: "200%",
235
- background: `radial-gradient(ellipse at center, color-mix(in srgb, ${color} 0.8%, transparent) 0%, transparent 70%)`,
236
- animation: "elevasis-glow-drift 20s ease-in-out infinite",
237
- willChange: "transform"
238
- }
239
- }
240
- ),
241
- /* @__PURE__ */ jsx(
242
- "div",
243
- {
244
- style: {
245
- position: "absolute",
246
- bottom: "-70%",
247
- left: "50%",
248
- transform: "translateX(-50%)",
249
- width: "180%",
250
- height: "180%",
251
- background: `radial-gradient(ellipse at center, color-mix(in srgb, ${color} 0.6%, transparent) 0%, transparent 65%)`,
252
- animation: "elevasis-glow-drift-alt 24s ease-in-out infinite",
253
- willChange: "transform"
254
- }
255
- }
256
- ),
257
- /* @__PURE__ */ jsx(
258
- "div",
259
- {
260
- style: {
261
- position: "absolute",
262
- top: "-20%",
263
- left: "50%",
264
- transform: "translateX(-50%)",
265
- width: "120%",
266
- height: "120%",
267
- background: `radial-gradient(ellipse at center, color-mix(in srgb, ${color} 0.6%, transparent) 0%, transparent 60%)`,
268
- animation: "elevasis-glow-drift-slow 28s ease-in-out infinite",
269
- willChange: "transform"
270
- }
271
- }
272
- )
273
- ]
274
- }
275
- );
276
- }
277
- var KEYFRAMES2 = `
278
- @keyframes elevasis-orb-float-0 {
279
- 0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.5; }
280
- 25% { transform: translate(12vw, -8vh) scale(1.2); opacity: 0.8; }
281
- 50% { transform: translate(-5vw, -15vh) scale(0.9); opacity: 0.4; }
282
- 75% { transform: translate(8vw, 5vh) scale(1.1); opacity: 0.7; }
283
- }
284
- @keyframes elevasis-orb-float-1 {
285
- 0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.6; }
286
- 30% { transform: translate(-10vw, 6vh) scale(0.85); opacity: 0.3; }
287
- 60% { transform: translate(7vw, 12vh) scale(1.15); opacity: 0.7; }
288
- }
289
- @keyframes elevasis-orb-float-2 {
290
- 0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.4; }
291
- 20% { transform: translate(6vw, 10vh) scale(1.3); opacity: 0.7; }
292
- 50% { transform: translate(-8vw, -4vh) scale(0.8); opacity: 0.3; }
293
- 80% { transform: translate(3vw, -12vh) scale(1.1); opacity: 0.6; }
294
- }
295
- `;
296
- var ORB_CONFIGS = [
297
- { top: "10%", left: "15%", size: "25vw", anim: "elevasis-orb-float-0", dur: "22s" },
298
- { top: "60%", left: "70%", size: "30vw", anim: "elevasis-orb-float-1", dur: "28s" },
299
- { top: "30%", left: "50%", size: "20vw", anim: "elevasis-orb-float-2", dur: "32s" },
300
- { top: "75%", left: "20%", size: "22vw", anim: "elevasis-orb-float-0", dur: "26s" },
301
- { top: "5%", left: "75%", size: "18vw", anim: "elevasis-orb-float-1", dur: "30s" },
302
- { top: "45%", left: "5%", size: "24vw", anim: "elevasis-orb-float-2", dur: "24s" }
303
- ];
304
- function FloatingOrbs({
305
- color = "var(--color-primary)",
306
- count = 6,
307
- className
308
- }) {
309
- const orbs = ORB_CONFIGS.slice(0, count);
310
- return /* @__PURE__ */ jsxs(
311
- "div",
312
- {
313
- className,
314
- style: {
315
- position: "absolute",
316
- inset: 0,
317
- pointerEvents: "none",
318
- overflow: "clip"
319
- },
320
- children: [
321
- /* @__PURE__ */ jsx("style", { children: KEYFRAMES2 }),
322
- orbs.map((orb, i) => /* @__PURE__ */ jsx(
323
- "div",
324
- {
325
- style: {
326
- position: "absolute",
327
- top: orb.top,
328
- left: orb.left,
329
- width: orb.size,
330
- height: orb.size,
331
- borderRadius: "50%",
332
- background: `radial-gradient(circle at center, color-mix(in srgb, ${color} 3%, transparent) 0%, transparent 70%)`,
333
- filter: "blur(40px)",
334
- animation: `${orb.anim} ${orb.dur} ease-in-out infinite`,
335
- willChange: "transform, opacity"
336
- }
337
- },
338
- i
339
- ))
340
- ]
341
- }
342
- );
343
- }
344
- var KEYFRAMES3 = `
345
- @keyframes elevasis-grain-shift {
346
- 0%, 100% { transform: translate(0, 0); }
347
- 10% { transform: translate(-2%, -3%); }
348
- 20% { transform: translate(3%, 1%); }
349
- 30% { transform: translate(-1%, 4%); }
350
- 40% { transform: translate(4%, -2%); }
351
- 50% { transform: translate(-3%, 2%); }
352
- 60% { transform: translate(2%, -4%); }
353
- 70% { transform: translate(-4%, 1%); }
354
- 80% { transform: translate(1%, 3%); }
355
- 90% { transform: translate(3%, -1%); }
356
- }
357
- `;
358
- function FilmGrain({ darkOpacity = 0.02, lightOpacity = 0.06, className }) {
359
- const colorScheme = useComputedColorScheme();
360
- const opacity = colorScheme === "dark" ? darkOpacity : lightOpacity;
361
- return /* @__PURE__ */ jsxs(
362
- "div",
363
- {
364
- className,
365
- style: {
366
- position: "absolute",
367
- inset: 0,
368
- pointerEvents: "none",
369
- overflow: "clip",
370
- opacity,
371
- mixBlendMode: colorScheme === "dark" ? "screen" : "multiply"
372
- },
373
- children: [
374
- /* @__PURE__ */ jsx("style", { children: KEYFRAMES3 }),
375
- /* @__PURE__ */ jsx("svg", { style: { position: "absolute", width: 0, height: 0 }, children: /* @__PURE__ */ jsx("filter", { id: "elevasis-grain", children: /* @__PURE__ */ jsx("feTurbulence", { type: "fractalNoise", baseFrequency: "0.65", numOctaves: "3", stitchTiles: "stitch" }) }) }),
376
- /* @__PURE__ */ jsx(
377
- "div",
378
- {
379
- style: {
380
- position: "absolute",
381
- inset: "-50%",
382
- width: "200%",
383
- height: "200%",
384
- filter: "url(#elevasis-grain)",
385
- animation: "elevasis-grain-shift 0.8s steps(4) infinite",
386
- willChange: "transform"
387
- }
388
- }
389
- )
390
- ]
391
- }
392
- );
393
- }
394
- function AppBackground({
395
- children,
396
- gridGlowColor,
397
- gridGlowIntensity
398
- }) {
399
- return /* @__PURE__ */ jsxs(Fragment, { children: [
400
- /* @__PURE__ */ jsx(PerspectiveGrid, { glowColor: gridGlowColor, glowIntensity: gridGlowIntensity }),
401
- /* @__PURE__ */ jsx(RadiantGlow, {}),
402
- /* @__PURE__ */ jsx(FloatingOrbs, {}),
403
- /* @__PURE__ */ jsx(FilmGrain, {}),
404
- children
405
- ] });
406
- }
407
- var MOTE_COUNT = 4;
408
- var randRange = (min, max) => min + Math.random() * (max - min);
409
- var MOTES = Array.from({ length: MOTE_COUNT }, () => {
410
- const size = randRange(2, 16);
411
- const duration = randRange(50, 90);
412
- return {
413
- left: randRange(0, 100),
414
- size,
415
- blur: size / 2,
416
- duration,
417
- delay: -randRange(0, duration),
418
- drift: randRange(-22, 22),
419
- pulse: randRange(3, 9),
420
- pulseDelay: -randRange(0, 5)
421
- };
422
- });
423
- var STYLE2 = `
424
- @keyframes elevasis-mote-rise {
425
- 0% { transform: translate3d(0, 0, 0); opacity: 0; }
426
- 12% { opacity: 1; }
427
- 70% { opacity: 0.85; }
428
- 100% { transform: translate3d(var(--mote-drift, 0px), -85vh, 0); opacity: 0; }
429
- }
430
- @keyframes elevasis-mote-pulse {
431
- 0%, 100% {
432
- transform: scale(0.75);
433
- filter: blur(var(--mote-blur, 2px)) brightness(0.8);
434
- }
435
- 50% {
436
- transform: scale(1.35);
437
- filter: blur(calc(var(--mote-blur, 2px) * 1.4)) brightness(1.4);
438
- }
439
- }
440
- @media (prefers-reduced-motion: reduce) {
441
- .elevasis-floating-mote,
442
- .elevasis-floating-mote-inner {
443
- animation: none;
444
- }
445
- .elevasis-floating-mote {
446
- opacity: 0;
447
- }
448
- }
449
- `;
450
- function FloatingMotes({
451
- coreColor = "var(--color-primary)",
452
- haloColor = "color-mix(in srgb, var(--color-primary) 35%, transparent)",
453
- bottom = "0"
454
- }) {
455
- return /* @__PURE__ */ jsxs(Fragment, { children: [
456
- /* @__PURE__ */ jsx("style", { children: STYLE2 }),
457
- /* @__PURE__ */ jsx("div", { "aria-hidden": "true", style: { position: "absolute", inset: 0, pointerEvents: "none", overflow: "hidden" }, children: MOTES.map((mote, i) => /* @__PURE__ */ jsx(
458
- "div",
459
- {
460
- className: "elevasis-floating-mote",
461
- style: {
462
- position: "absolute",
463
- bottom,
464
- left: `${mote.left}%`,
465
- width: `${mote.size}px`,
466
- height: `${mote.size}px`,
467
- opacity: 0,
468
- transform: "translate3d(0, 0, 0)",
469
- animation: `elevasis-mote-rise ${mote.duration}s ease-in-out infinite`,
470
- animationDelay: `${mote.delay}s`,
471
- willChange: "transform, opacity",
472
- ["--mote-drift"]: `${mote.drift}px`,
473
- ["--mote-blur"]: `${mote.blur}px`
474
- },
475
- children: /* @__PURE__ */ jsx(
476
- "div",
477
- {
478
- className: "elevasis-floating-mote-inner",
479
- style: {
480
- width: "100%",
481
- height: "100%",
482
- borderRadius: "50%",
483
- background: `radial-gradient(circle, ${coreColor} 0%, ${haloColor} 45%, transparent 75%)`,
484
- filter: `blur(${mote.blur}px)`,
485
- animation: `elevasis-mote-pulse ${mote.pulse}s ease-in-out infinite`,
486
- animationDelay: `${mote.pulseDelay}s`,
487
- willChange: "transform, filter"
488
- }
489
- }
490
- )
491
- },
492
- i
493
- )) })
494
- ] });
495
- }
496
- function CyberBackground({
497
- variant,
498
- perspectiveGridRadialGlowIntensity,
499
- perspectiveGridLineIntensity
500
- }) {
501
- const defaultIntensity = variant === "chrome" ? 22 : variant === "void" ? 24 : variant === "volt" ? 25 : 28;
502
- const intensity = perspectiveGridRadialGlowIntensity ?? defaultIntensity;
503
- const glowColor = `color-mix(in srgb, var(--color-primary) ${intensity}%, transparent)`;
504
- return /* @__PURE__ */ jsxs(Fragment, { children: [
505
- /* @__PURE__ */ jsx(
506
- PerspectiveGrid,
507
- {
508
- lineColor: "var(--color-border)",
509
- prominentGlow: true,
510
- glowColor,
511
- lineIntensity: perspectiveGridLineIntensity
512
- }
513
- ),
514
- /* @__PURE__ */ jsx(RadiantGlow, {}),
515
- /* @__PURE__ */ jsx(FloatingOrbs, {}),
516
- /* @__PURE__ */ jsx(FloatingMotes, {}),
517
- /* @__PURE__ */ jsx(FilmGrain, {})
518
- ] });
519
- }
520
- var STYLE3 = `
521
- div[style*="var(--color-background)"][style*="100vh"] {
522
- background-color: transparent !important;
523
- isolation: isolate;
524
- }
525
- .wavy-bg-root {
526
- position: absolute;
527
- inset: 0;
528
- z-index: -1;
529
- overflow: hidden;
530
- pointer-events: none;
531
- background: var(--color-background);
532
- }
533
- /* Variant palettes (light mode defaults) */
534
- .wavy-bg-root[data-variant="nirvana"] {
535
- --wavy-wave-front: #fde8e0;
536
- --wavy-wave-back: #fef2ec;
537
- --wavy-mote-core: rgba(253, 205, 170, 0.85);
538
- --wavy-mote-halo: rgba(253, 205, 170, 0.3);
539
- }
540
- .wavy-bg-root[data-variant="wave"] {
541
- --wavy-wave-front: #dbeafe;
542
- --wavy-wave-back: #eef4ff;
543
- --wavy-mote-core: rgba(125, 180, 255, 0.85);
544
- --wavy-mote-halo: rgba(125, 180, 255, 0.3);
545
- }
546
- .wavy-bg-root[data-variant="honey"] {
547
- --wavy-wave-front: #fbeed3;
548
- --wavy-wave-back: #fdf5e0;
549
- --wavy-mote-core: rgba(230, 170, 50, 0.85);
550
- --wavy-mote-halo: rgba(230, 170, 50, 0.3);
551
- }
552
- .wavy-bg-root[data-variant="canopy"] {
553
- --wavy-wave-front: #dcebdf;
554
- --wavy-wave-back: #e6f0e8;
555
- --wavy-mote-core: rgba(140, 205, 155, 0.85);
556
- --wavy-mote-halo: rgba(140, 205, 155, 0.3);
557
- }
558
- .wavy-bg-root[data-variant="quarry"] {
559
- --wavy-wave-front: #dde0e4;
560
- --wavy-wave-back: #e6e9ed;
561
- --wavy-mote-core: rgba(150, 158, 170, 0.85);
562
- --wavy-mote-halo: rgba(150, 158, 170, 0.3);
563
- }
564
- /* Variant palettes (dark mode overrides) */
565
- [data-mantine-color-scheme="dark"] .wavy-bg-root[data-variant="nirvana"] {
566
- --wavy-wave-front: #140804;
567
- --wavy-wave-back: #0a0402;
568
- --wavy-mote-core: rgba(180, 110, 70, 0.4);
569
- --wavy-mote-halo: rgba(180, 110, 70, 0.12);
570
- }
571
- [data-mantine-color-scheme="dark"] .wavy-bg-root[data-variant="wave"] {
572
- --wavy-wave-front: #050e1c;
573
- --wavy-wave-back: #030812;
574
- --wavy-mote-core: rgba(90, 160, 230, 0.4);
575
- --wavy-mote-halo: rgba(90, 160, 230, 0.12);
576
- }
577
- [data-mantine-color-scheme="dark"] .wavy-bg-root[data-variant="honey"] {
578
- --wavy-wave-front: #120e05;
579
- --wavy-wave-back: #080502;
580
- --wavy-mote-core: rgba(232, 168, 32, 0.4);
581
- --wavy-mote-halo: rgba(232, 168, 32, 0.12);
582
- }
583
- [data-mantine-color-scheme="dark"] .wavy-bg-root[data-variant="canopy"] {
584
- --wavy-wave-front: #060f09;
585
- --wavy-wave-back: #030805;
586
- --wavy-mote-core: rgba(74, 168, 96, 0.4);
587
- --wavy-mote-halo: rgba(74, 168, 96, 0.12);
588
- }
589
- [data-mantine-color-scheme="dark"] .wavy-bg-root[data-variant="quarry"] {
590
- --wavy-wave-front: #0d0c0a;
591
- --wavy-wave-back: #070605;
592
- --wavy-mote-core: rgba(168, 164, 156, 0.4);
593
- --wavy-mote-halo: rgba(168, 164, 156, 0.12);
594
- }
595
- .wavy-bg-layer {
596
- position: absolute;
597
- top: 0;
598
- left: 0;
599
- width: 200%;
600
- height: 100%;
601
- will-change: transform;
602
- }
603
- .wavy-bg-layer svg {
604
- display: block;
605
- width: 100%;
606
- height: 100%;
607
- }
608
- @keyframes wavy-drift {
609
- from { transform: translateX(0); }
610
- to { transform: translateX(-50%); }
611
- }
612
- .wavy-bg-layer-back {
613
- animation: wavy-drift 105s linear infinite;
614
- }
615
- .wavy-bg-layer-front {
616
- animation: wavy-drift 63s linear infinite;
617
- }
618
- .wavy-bg-wave-back {
619
- fill: var(--wavy-wave-back);
620
- }
621
- .wavy-bg-wave-front {
622
- fill: var(--wavy-wave-front);
623
- }
624
- @media (prefers-reduced-motion: reduce) {
625
- .wavy-bg-layer-back,
626
- .wavy-bg-layer-front {
627
- animation: none;
628
- }
629
- }
630
- `;
631
- function WaveBackground({ variant }) {
632
- return /* @__PURE__ */ jsxs(Fragment, { children: [
633
- /* @__PURE__ */ jsx("style", { children: STYLE3 }),
634
- /* @__PURE__ */ jsxs("div", { className: "wavy-bg-root", "data-variant": variant, children: [
635
- /* @__PURE__ */ jsx("div", { className: "wavy-bg-layer wavy-bg-layer-back", children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 3200 900", preserveAspectRatio: "none", children: /* @__PURE__ */ jsx(
636
- "path",
637
- {
638
- className: "wavy-bg-wave-back",
639
- d: "M0,340 C260,200 520,220 820,340 C1100,480 1340,440 1600,340 C1860,200 2120,220 2420,340 C2700,480 2940,440 3200,340 L3200,900 L0,900 Z"
640
- }
641
- ) }) }),
642
- /* @__PURE__ */ jsx("div", { className: "wavy-bg-layer wavy-bg-layer-front", children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 3200 900", preserveAspectRatio: "none", children: /* @__PURE__ */ jsx(
643
- "path",
644
- {
645
- className: "wavy-bg-wave-front",
646
- d: "M0,640 C280,540 520,560 820,680 C1100,790 1340,760 1600,640 C1880,540 2120,560 2420,680 C2700,790 2940,760 3200,640 L3200,900 L0,900 Z"
647
- }
648
- ) }) }),
649
- /* @__PURE__ */ jsx(FloatingMotes, { coreColor: "var(--wavy-mote-core)", haloColor: "var(--wavy-mote-halo)", bottom: "18%" })
650
- ] })
651
- ] });
652
- }
653
-
654
- export { AmbientBloomGrid, AppBackground, CyberBackground, FilmGrain, FloatingMotes, FloatingOrbs, PerspectiveGrid, RadiantGlow, WaveBackground };