@elevasis/ui 2.36.0 → 2.37.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 (92) hide show
  1. package/dist/api/index.js +4 -3
  2. package/dist/app/index.css +0 -384
  3. package/dist/app/index.d.ts +20 -0
  4. package/dist/app/index.js +21 -21
  5. package/dist/auth/index.d.ts +91 -28
  6. package/dist/auth/index.js +5 -1
  7. package/dist/charts/index.js +9 -3
  8. package/dist/chunk-5CTJ7TW2.js +111 -0
  9. package/dist/chunk-5EYJ2GIN.js +122 -0
  10. package/dist/{chunk-K4UZU3TU.js → chunk-6NREL3KL.js} +1 -1
  11. package/dist/chunk-6ROXVZ3L.js +9 -0
  12. package/dist/{chunk-YYX7OPZQ.js → chunk-73EWE2EW.js} +1 -1
  13. package/dist/{chunk-SIQ3P4OR.js → chunk-7GQFIWP4.js} +8 -756
  14. package/dist/chunk-A7IG36LB.js +215 -0
  15. package/dist/chunk-CLDCYJQT.js +1 -0
  16. package/dist/{chunk-AKW7KISS.js → chunk-CWYQRM5T.js} +2 -38
  17. package/dist/{chunk-LUYVRATI.js → chunk-DA6I5VEY.js} +5 -213
  18. package/dist/chunk-I53EX4VU.js +734 -0
  19. package/dist/chunk-IIMU5YAJ.js +53 -0
  20. package/dist/{chunk-VKIZUUPM.js → chunk-JPVZRZ3X.js} +31 -14
  21. package/dist/chunk-JXVNHVK7.js +79 -0
  22. package/dist/chunk-JZ2WID2G.js +337 -0
  23. package/dist/chunk-LCJQ6OWC.js +348 -0
  24. package/dist/chunk-LNC6PZAE.js +85 -0
  25. package/dist/{chunk-O2Q4VMRN.js → chunk-NWMPBG4U.js} +1 -1
  26. package/dist/chunk-NYNOMAAS.js +422 -0
  27. package/dist/chunk-S3KBYQTI.js +39 -0
  28. package/dist/chunk-S3XR4II4.js +30 -0
  29. package/dist/chunk-SHZT7ULK.js +425 -0
  30. package/dist/{chunk-F6EFC2MJ.js → chunk-T3NI7DOA.js} +291 -2044
  31. package/dist/{chunk-GX6XBRRF.js → chunk-TYRUKGGD.js} +2 -1
  32. package/dist/{chunk-R3VCBZDC.js → chunk-X4WBGKJQ.js} +3 -50
  33. package/dist/{chunk-GEFWMU26.js → chunk-X66MVMZT.js} +1 -9
  34. package/dist/{chunk-57OZ3AEG.js → chunk-Y3JQBSKQ.js} +1 -1
  35. package/dist/components/index.d.ts +29 -42
  36. package/dist/components/index.js +33 -19
  37. package/dist/components/navigation/index.js +3 -31
  38. package/dist/features/auth/index.d.ts +52 -99
  39. package/dist/features/auth/index.js +36 -99
  40. package/dist/features/clients/index.js +33 -19
  41. package/dist/features/crm/index.d.ts +20 -0
  42. package/dist/features/crm/index.js +33 -19
  43. package/dist/features/dashboard/index.js +33 -19
  44. package/dist/features/delivery/index.d.ts +20 -0
  45. package/dist/features/delivery/index.js +33 -19
  46. package/dist/features/knowledge/index.js +6 -30
  47. package/dist/features/lead-gen/index.d.ts +1088 -1
  48. package/dist/features/lead-gen/index.js +33 -19
  49. package/dist/features/monitoring/index.js +33 -19
  50. package/dist/features/monitoring/requests/index.js +33 -19
  51. package/dist/features/notes/index.d.ts +72 -0
  52. package/dist/features/notes/index.js +621 -0
  53. package/dist/features/operations/index.js +33 -19
  54. package/dist/features/right-panel-host/index.d.ts +214 -0
  55. package/dist/features/right-panel-host/index.js +640 -0
  56. package/dist/features/seo/index.js +3 -2
  57. package/dist/features/settings/index.d.ts +23 -35
  58. package/dist/features/settings/index.js +33 -19
  59. package/dist/hooks/access/index.d.ts +90 -0
  60. package/dist/hooks/access/index.js +10 -0
  61. package/dist/hooks/delivery/index.d.ts +20 -0
  62. package/dist/hooks/delivery/index.js +33 -19
  63. package/dist/hooks/index.d.ts +1599 -1651
  64. package/dist/hooks/index.js +33 -19
  65. package/dist/hooks/published.d.ts +1599 -1651
  66. package/dist/hooks/published.js +33 -19
  67. package/dist/hooks/user-notes/index.d.ts +57 -0
  68. package/dist/hooks/user-notes/index.js +3 -0
  69. package/dist/index.d.ts +239 -275
  70. package/dist/index.js +34 -20
  71. package/dist/initialization/index.d.ts +20 -19
  72. package/dist/knowledge/index.js +10 -7
  73. package/dist/layout/index.js +5 -3
  74. package/dist/organization/index.d.ts +0 -19
  75. package/dist/organization/index.js +33 -19
  76. package/dist/profile/index.d.ts +20 -0
  77. package/dist/provider/index.css +0 -384
  78. package/dist/provider/index.d.ts +20 -0
  79. package/dist/provider/index.js +15 -21
  80. package/dist/provider/published.css +0 -523
  81. package/dist/provider/published.d.ts +20 -0
  82. package/dist/provider/published.js +11 -21
  83. package/dist/supabase/index.d.ts +40 -0
  84. package/dist/test-utils/index.d.ts +2 -21
  85. package/dist/test-utils/index.js +5 -18
  86. package/dist/theme/index.js +2 -1
  87. package/dist/types/index.d.ts +70 -59
  88. package/dist/utils/index.js +2 -1
  89. package/package.json +19 -3
  90. package/src/auth/README.md +6 -6
  91. package/dist/components/navigation/index.css +0 -649
  92. package/dist/features/knowledge/index.css +0 -649
@@ -1,649 +0,0 @@
1
- /* src/components/display/StatCard.module.css */
2
- .heroCard {
3
- background: var(--glass-background);
4
- backdrop-filter: var(--glass-blur);
5
- border: 1px solid var(--color-border);
6
- }
7
- .iconRing {
8
- position: relative;
9
- display: flex;
10
- align-items: center;
11
- justify-content: center;
12
- width: 46px;
13
- height: 46px;
14
- border-radius: 50%;
15
- background: color-mix(in srgb, var(--color-primary) 12%, transparent);
16
- border: 1px solid color-mix(in srgb, var(--color-primary) 25%, transparent);
17
- color: var(--color-primary);
18
- flex-shrink: 0;
19
- box-shadow: 0 0 12px color-mix(in srgb, var(--color-primary) 15%, transparent);
20
- }
21
- .iconRingSm {
22
- position: relative;
23
- display: flex;
24
- align-items: center;
25
- justify-content: center;
26
- width: 36px;
27
- height: 36px;
28
- border-radius: 50%;
29
- background: color-mix(in srgb, var(--color-primary) 12%, transparent);
30
- border: 1px solid color-mix(in srgb, var(--color-primary) 25%, transparent);
31
- color: var(--color-primary);
32
- flex-shrink: 0;
33
- box-shadow: 0 0 8px color-mix(in srgb, var(--color-primary) 12%, transparent);
34
- }
35
- .heroValue {
36
- font-family: var(--elevasis-font-family-subtitle);
37
- font-size: 1.85rem;
38
- font-weight: 800;
39
- line-height: 1;
40
- letter-spacing: -0.02em;
41
- font-variant-numeric: tabular-nums;
42
- }
43
- [data-mantine-color-scheme=dark] .heroValue {
44
- text-shadow: 0 0 20px color-mix(in srgb, var(--color-primary) 20%, transparent);
45
- }
46
- .heroValueSm {
47
- font-family: var(--elevasis-font-family-subtitle);
48
- font-size: 1.35rem;
49
- font-weight: 700;
50
- line-height: 1;
51
- letter-spacing: -0.02em;
52
- font-variant-numeric: tabular-nums;
53
- }
54
- .heroLabel {
55
- font-size: 0.68rem;
56
- font-weight: 700;
57
- text-transform: uppercase;
58
- letter-spacing: 0.12em;
59
- color: var(--color-text-dimmed);
60
- }
61
- .heroLabelSm {
62
- font-size: 0.62rem;
63
- font-weight: 700;
64
- text-transform: uppercase;
65
- letter-spacing: 0.12em;
66
- color: var(--color-text-dimmed);
67
- }
68
-
69
- /* src/components/display/ElevasisLoader.module.css */
70
- .wrapper {
71
- display: inline-flex;
72
- align-items: center;
73
- justify-content: center;
74
- width: var(--loader-size);
75
- height: var(--loader-size);
76
- overflow: visible;
77
- }
78
- .loader {
79
- width: 100%;
80
- height: 100%;
81
- display: block;
82
- overflow: visible;
83
- }
84
- .chevron {
85
- stroke: var(--loader-color);
86
- stroke-width: 2;
87
- stroke-linecap: square;
88
- stroke-linejoin: miter;
89
- fill: none;
90
- opacity: 0.15;
91
- animation: chevronPulse 2s ease-in-out infinite;
92
- filter: drop-shadow(0 0 1.5px var(--loader-color));
93
- }
94
- [data-mantine-color-scheme=light] .chevron {
95
- filter: none;
96
- }
97
- .c1 {
98
- animation-delay: 0s;
99
- }
100
- .c2 {
101
- animation-delay: 0.2s;
102
- }
103
- .c3 {
104
- animation-delay: 0.4s;
105
- }
106
- @keyframes chevronPulse {
107
- 0%, 100% {
108
- opacity: 0.12;
109
- filter: drop-shadow(0 0 1px var(--loader-color));
110
- }
111
- 40%, 60% {
112
- opacity: 1;
113
- filter: drop-shadow(0 0 3px var(--loader-color));
114
- }
115
- }
116
- [data-mantine-color-scheme=light] .chevron {
117
- animation-name: chevronPulseLight;
118
- }
119
- @keyframes chevronPulseLight {
120
- 0%, 100% {
121
- opacity: 0.2;
122
- }
123
- 40%, 60% {
124
- opacity: 1;
125
- }
126
- }
127
-
128
- /* src/theme/custom.css */
129
- .mantine-Button-root[data-variant=default] {
130
- background-color: var(--color-surface);
131
- backdrop-filter: var(--glass-blur);
132
- -webkit-backdrop-filter: var(--glass-blur);
133
- border: 1px solid var(--color-border);
134
- color: var(--color-text);
135
- }
136
- .mantine-Button-root[data-variant=default]:hover {
137
- background-color: var(--color-surface-hover);
138
- }
139
- .lead-gen-build-action-button:disabled,
140
- .lead-gen-build-action-button[data-disabled] {
141
- background-color: var(--surface-primary-muted) !important;
142
- border-color: var(--border-primary-subtle) !important;
143
- color: color-mix(in srgb, var(--color-text-subtle) 88%, var(--color-text-dimmed) 12%) !important;
144
- opacity: 0.78;
145
- }
146
- .lead-gen-build-action-button:disabled:hover,
147
- .lead-gen-build-action-button[data-disabled]:hover {
148
- background-color: var(--surface-primary-muted) !important;
149
- }
150
- .mantine-Accordion-control:hover {
151
- background-color: var(--color-surface-hover);
152
- }
153
- [data-mantine-color-scheme] .mantine-Accordion-root .mantine-Accordion-item {
154
- --item-filled-color: var(--color-surface);
155
- --item-border-color: var(--color-border);
156
- }
157
- [data-mantine-color-scheme] .mantine-Accordion-root[data-variant=separated] .mantine-Accordion-item[data-active] {
158
- background-color: var(--color-surface);
159
- border-color: var(--color-border);
160
- }
161
- .mantine-Menu-item:hover:not([data-disabled]) {
162
- background-color: var(--color-surface-hover);
163
- }
164
- .mantine-Select-option:hover,
165
- .mantine-MultiSelect-option:hover,
166
- .mantine-TagsInput-option:hover,
167
- .mantine-Combobox-option:hover {
168
- background-color: var(--surface-primary-muted) !important;
169
- }
170
- .mantine-Select-option[data-combobox-selected],
171
- .mantine-MultiSelect-option[data-combobox-selected],
172
- .mantine-TagsInput-option[data-combobox-selected],
173
- .mantine-Combobox-option[data-combobox-selected] {
174
- background-color: var(--surface-primary-subtle) !important;
175
- color: var(--color-text);
176
- }
177
- [data-mantine-color-scheme=dark] .mantine-Tabs-root {
178
- --tab-border-color: var(--color-border);
179
- }
180
- .mantine-Tabs-tab:hover {
181
- background-color: var(--color-surface-hover);
182
- }
183
- .mantine-Pagination-control:not([data-active]) {
184
- background: var(--color-surface);
185
- }
186
- ::-webkit-scrollbar {
187
- width: 5px;
188
- height: 5px;
189
- }
190
- ::-webkit-scrollbar-track {
191
- background: transparent;
192
- }
193
- ::-webkit-scrollbar-thumb {
194
- background: color-mix(in srgb, var(--color-text-subtle) 50%, var(--color-border));
195
- border-radius: 4px;
196
- }
197
- ::-webkit-scrollbar-thumb:hover {
198
- background: var(--color-text-subtle);
199
- }
200
- [data-mantine-color-scheme] .mantine-Checkbox-input:not(:disabled):not(:checked):not([data-indeterminate]) {
201
- background-color: var(--color-surface);
202
- border-color: var(--color-border);
203
- }
204
- [data-mantine-color-scheme] .mantine-Checkbox-input:checked,
205
- [data-mantine-color-scheme] .mantine-Checkbox-input[data-indeterminate] {
206
- background-color: var(--color-primary);
207
- border-color: var(--color-primary);
208
- }
209
- .mantine-Switch-root:has(input:not(:checked)) .mantine-Switch-track {
210
- background-color: var(--color-surface-hover);
211
- border-color: var(--color-border);
212
- }
213
- .mantine-Timeline-root {
214
- --tl-color: var(--color-primary);
215
- }
216
- .mantine-Timeline-item {
217
- --item-border-color: var(--color-border);
218
- }
219
- .mantine-Timeline-itemBullet {
220
- border-color: var(--color-border);
221
- }
222
- .mantine-Timeline-itemBullet:where([data-with-child]) {
223
- background-color: var(--color-primary);
224
- border-color: var(--color-primary);
225
- }
226
- .mantine-Tree-node:focus-visible > [data-value] {
227
- outline: 2px solid color-mix(in srgb, var(--color-primary) 55%, transparent);
228
- outline-offset: 2px;
229
- }
230
- .mantine-Tree-label[data-hovered] {
231
- background-color: var(--color-surface-hover);
232
- border-color: var(--color-border);
233
- }
234
- .mantine-Tree-label[data-selected] {
235
- background-color: color-mix(in srgb, var(--color-primary) 12%, transparent);
236
- border-color: color-mix(in srgb, var(--color-primary) 38%, var(--color-border));
237
- color: var(--color-primary);
238
- }
239
- [data-knowledge-article] pre {
240
- white-space: pre-wrap;
241
- word-break: break-word;
242
- overflow-x: auto;
243
- max-width: 100%;
244
- padding: var(--mantine-spacing-sm);
245
- background-color: var(--color-surface);
246
- border: 1px solid var(--color-border);
247
- border-radius: var(--mantine-radius-sm);
248
- }
249
- [data-knowledge-article] pre code {
250
- background: transparent;
251
- border: none;
252
- padding: 0;
253
- white-space: inherit;
254
- word-break: inherit;
255
- }
256
- .recharts-surface:focus {
257
- outline: none;
258
- }
259
- .hide-scrollbar {
260
- scrollbar-width: none;
261
- -ms-overflow-style: none;
262
- }
263
- .hide-scrollbar::-webkit-scrollbar {
264
- display: none;
265
- }
266
-
267
- /* src/graph/Graph.globals.css */
268
- .elevasis-graph-root .react-flow__node.selected,
269
- .elevasis-graph-root .react-flow__node:focus,
270
- .elevasis-graph-root .react-flow__node:focus-visible {
271
- outline: none !important;
272
- }
273
- .elevasis-graph-root .react-flow__node.selected > * {
274
- box-shadow: none;
275
- }
276
-
277
- /* src/graph/Graph.module.css */
278
- @keyframes edgeFlow {
279
- 0% {
280
- stroke-dashoffset: 24;
281
- }
282
- 100% {
283
- stroke-dashoffset: 0;
284
- }
285
- }
286
- @keyframes edgeFlowReverse {
287
- 0% {
288
- stroke-dashoffset: 0;
289
- }
290
- 100% {
291
- stroke-dashoffset: 24;
292
- }
293
- }
294
- @keyframes pulse {
295
- 0%, 100% {
296
- opacity: 0.6;
297
- }
298
- 50% {
299
- opacity: 1;
300
- }
301
- }
302
- @keyframes livePulse {
303
- 0%, 100% {
304
- opacity: 1;
305
- }
306
- 50% {
307
- opacity: 0.6;
308
- }
309
- }
310
- .livePulse {
311
- animation: livePulse 2s ease-in-out infinite;
312
- }
313
- @keyframes glowPulse {
314
- 0%, 100% {
315
- box-shadow: 0 0 5px var(--glow-color, color-mix(in srgb, var(--color-primary) 30%, transparent)), 0 0 15px var(--glow-color, color-mix(in srgb, var(--color-primary) 10%, transparent));
316
- }
317
- 50% {
318
- box-shadow: 0 0 10px var(--glow-color, color-mix(in srgb, var(--color-primary) 50%, transparent)), 0 0 20px var(--glow-color, color-mix(in srgb, var(--color-primary) 20%, transparent));
319
- }
320
- }
321
- @keyframes nodeEnter {
322
- 0% {
323
- opacity: 0;
324
- transform: scale(0.8) translateY(10px);
325
- }
326
- 100% {
327
- opacity: 1;
328
- transform: scale(1) translateY(0);
329
- }
330
- }
331
- @keyframes handlePulse {
332
- 0%, 100% {
333
- transform: scale(1);
334
- box-shadow: 0 0 0 0 var(--handle-color, color-mix(in srgb, var(--color-primary) 40%, transparent));
335
- }
336
- 50% {
337
- transform: scale(1.2);
338
- box-shadow: 0 0 0 4px var(--handle-color, color-mix(in srgb, var(--color-primary) 0%, transparent));
339
- }
340
- }
341
- @keyframes gridMove {
342
- 0% {
343
- background-position: 0 0;
344
- }
345
- 100% {
346
- background-position: 40px 40px;
347
- }
348
- }
349
- @keyframes labelFadeIn {
350
- 0% {
351
- opacity: 0;
352
- transform: translate(-50%, -50%) translate(var(--label-x), var(--label-y)) scale(0.8);
353
- }
354
- 100% {
355
- opacity: 1;
356
- transform: translate(-50%, -50%) translate(var(--label-x), var(--label-y)) scale(1);
357
- }
358
- }
359
- @keyframes scanLine {
360
- 0% {
361
- transform: translateY(-100%);
362
- opacity: 0;
363
- }
364
- 50% {
365
- opacity: 0.5;
366
- }
367
- 100% {
368
- transform: translateY(100%);
369
- opacity: 0;
370
- }
371
- }
372
- .graphContainer {
373
- position: relative;
374
- background-image:
375
- linear-gradient(color-mix(in srgb, var(--color-primary) 5%, transparent) 1px, transparent 1px),
376
- linear-gradient(
377
- 90deg,
378
- color-mix(in srgb, var(--color-primary) 5%, transparent) 1px,
379
- transparent 1px),
380
- radial-gradient(
381
- ellipse at 50% 50%,
382
- color-mix(in srgb, var(--color-primary) 1.25%, transparent) 0%,
383
- transparent 70%);
384
- background-color: color-mix(in srgb, var(--color-background) 50%, var(--glass-background));
385
- backdrop-filter: var(--glass-blur);
386
- background-size:
387
- 40px 40px,
388
- 40px 40px,
389
- 100% 100%;
390
- animation: gridMove 20s linear infinite;
391
- }
392
- [data-mantine-color-scheme=dark] .graphContainer {
393
- background-image:
394
- linear-gradient(color-mix(in srgb, var(--color-primary) 9%, transparent) 1px, transparent 1px),
395
- linear-gradient(
396
- 90deg,
397
- color-mix(in srgb, var(--color-primary) 9%, transparent) 1px,
398
- transparent 1px),
399
- radial-gradient(
400
- ellipse at 50% 50%,
401
- color-mix(in srgb, var(--color-primary) 2.25%, transparent) 0%,
402
- transparent 70%);
403
- background-size:
404
- 40px 40px,
405
- 40px 40px,
406
- 100% 100%;
407
- }
408
- .node {
409
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
410
- position: relative;
411
- }
412
- .node:nth-child(1) {
413
- animation-delay: 0.05s;
414
- }
415
- .node:nth-child(2) {
416
- animation-delay: 0.1s;
417
- }
418
- .node:nth-child(3) {
419
- animation-delay: 0.15s;
420
- }
421
- .node:nth-child(4) {
422
- animation-delay: 0.2s;
423
- }
424
- .node:nth-child(5) {
425
- animation-delay: 0.25s;
426
- }
427
- .node:nth-child(6) {
428
- animation-delay: 0.3s;
429
- }
430
- .node:nth-child(7) {
431
- animation-delay: 0.35s;
432
- }
433
- .node:nth-child(8) {
434
- animation-delay: 0.4s;
435
- }
436
- .node:nth-child(9) {
437
- animation-delay: 0.45s;
438
- }
439
- .node:nth-child(10) {
440
- animation-delay: 0.5s;
441
- }
442
- .node:nth-child(11) {
443
- animation-delay: 0.55s;
444
- }
445
- .node:nth-child(12) {
446
- animation-delay: 0.6s;
447
- }
448
- .nodeCard {
449
- position: relative;
450
- border-radius: var(--mantine-radius-md);
451
- overflow: hidden;
452
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
453
- }
454
- .nodeCard::before {
455
- content: "";
456
- position: absolute;
457
- inset: 0;
458
- background:
459
- linear-gradient(
460
- 135deg,
461
- var(--node-color-light, color-mix(in srgb, var(--color-primary) 10%, transparent)) 0%,
462
- transparent 50%,
463
- var(--node-color-light, color-mix(in srgb, var(--color-primary) 5%, transparent)) 100%);
464
- pointer-events: none;
465
- opacity: 0;
466
- transition: opacity 0.3s ease;
467
- }
468
- .nodeCard::after {
469
- content: "";
470
- position: absolute;
471
- left: 0;
472
- right: 0;
473
- height: 30%;
474
- background:
475
- linear-gradient(
476
- 180deg,
477
- transparent 0%,
478
- var(--node-color-glow, color-mix(in srgb, var(--color-primary) 10%, transparent)) 50%,
479
- transparent 100%);
480
- pointer-events: none;
481
- opacity: 0;
482
- }
483
- .nodeCard:hover::before,
484
- .nodeCardSelected::before {
485
- opacity: 1;
486
- }
487
- .nodeCard:hover::after,
488
- .nodeCardSelected::after {
489
- animation: scanLine 3s ease-in-out infinite;
490
- }
491
- .nodeCard:hover {
492
- transform: translateY(-2px) scale(1.02);
493
- }
494
- .nodeCardSelected {
495
- transform: translateY(-2px) scale(1.02);
496
- animation: glowPulse 2s ease-in-out infinite;
497
- }
498
- .nodeAgent {
499
- --glow-color: rgba(139, 92, 246, 0.4);
500
- --node-color-light: rgba(139, 92, 246, 0.1);
501
- --node-color-glow: rgba(139, 92, 246, 0.15);
502
- --handle-color: rgba(139, 92, 246, 0.5);
503
- --gradient-start: rgba(139, 92, 246, 0.15);
504
- --gradient-end: rgba(139, 92, 246, 0.05);
505
- }
506
- .nodeWorkflow {
507
- --glow-color: rgba(59, 130, 246, 0.4);
508
- --node-color-light: rgba(59, 130, 246, 0.1);
509
- --node-color-glow: rgba(59, 130, 246, 0.15);
510
- --handle-color: rgba(59, 130, 246, 0.5);
511
- --gradient-start: rgba(59, 130, 246, 0.15);
512
- --gradient-end: rgba(59, 130, 246, 0.05);
513
- }
514
- .nodeTrigger {
515
- --glow-color: rgba(249, 115, 22, 0.4);
516
- --node-color-light: rgba(249, 115, 22, 0.1);
517
- --node-color-glow: rgba(249, 115, 22, 0.15);
518
- --handle-color: rgba(249, 115, 22, 0.5);
519
- --gradient-start: rgba(249, 115, 22, 0.15);
520
- --gradient-end: rgba(249, 115, 22, 0.05);
521
- }
522
- .nodeIntegration {
523
- --glow-color: rgba(20, 184, 166, 0.4);
524
- --node-color-light: rgba(20, 184, 166, 0.1);
525
- --node-color-glow: rgba(20, 184, 166, 0.15);
526
- --handle-color: rgba(20, 184, 166, 0.5);
527
- --gradient-start: rgba(20, 184, 166, 0.15);
528
- --gradient-end: rgba(20, 184, 166, 0.05);
529
- }
530
- .nodeExternal {
531
- --glow-color: rgba(107, 114, 128, 0.4);
532
- --node-color-light: rgba(107, 114, 128, 0.1);
533
- --node-color-glow: rgba(107, 114, 128, 0.15);
534
- --handle-color: rgba(107, 114, 128, 0.5);
535
- --gradient-start: rgba(107, 114, 128, 0.15);
536
- --gradient-end: rgba(107, 114, 128, 0.05);
537
- }
538
- .nodeHuman {
539
- --glow-color: rgba(245, 158, 11, 0.4);
540
- --node-color-light: rgba(245, 158, 11, 0.1);
541
- --node-color-glow: rgba(245, 158, 11, 0.15);
542
- --handle-color: rgba(245, 158, 11, 0.5);
543
- --gradient-start: rgba(245, 158, 11, 0.15);
544
- --gradient-end: rgba(245, 158, 11, 0.05);
545
- }
546
- .nodePrimary {
547
- --glow-color: rgba(37, 99, 235, 0.4);
548
- --node-color-light: rgba(37, 99, 235, 0.1);
549
- --node-color-glow: rgba(37, 99, 235, 0.15);
550
- --handle-color: rgba(37, 99, 235, 0.5);
551
- --gradient-start: rgba(37, 99, 235, 0.15);
552
- --gradient-end: rgba(37, 99, 235, 0.05);
553
- }
554
- .handle {
555
- transition: all 0.2s ease;
556
- }
557
- .handle:hover {
558
- animation: handlePulse 1s ease-in-out infinite;
559
- }
560
- .nodeIcon {
561
- transition: all 0.3s ease;
562
- }
563
- .badge {
564
- transition: all 0.2s ease;
565
- backdrop-filter: blur(4px);
566
- }
567
- .nodeCard:hover .badge {
568
- transform: scale(1.05);
569
- }
570
- .badgeProd {
571
- box-shadow: 0 0 8px rgba(34, 197, 94, 0.3);
572
- }
573
- .edge {
574
- transition: all 0.3s ease;
575
- }
576
- .edgeAnimated {
577
- stroke-dasharray: 8 4;
578
- animation: edgeFlow 1s linear infinite;
579
- }
580
- .edgeGlow {
581
- filter: drop-shadow(0 0 3px var(--edge-color, color-mix(in srgb, var(--color-primary) 50%, transparent)));
582
- }
583
- .edgeHighlighted {
584
- stroke-width: 3px;
585
- }
586
- .edgeLabel {
587
- backdrop-filter: blur(8px);
588
- border: 1px solid rgba(255, 255, 255, 0.1);
589
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 20px var(--label-glow, color-mix(in srgb, var(--color-primary) 20%, transparent));
590
- transition: box-shadow 0.2s ease;
591
- }
592
- .edgeLabel:hover {
593
- box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2), 0 0 30px var(--label-glow, color-mix(in srgb, var(--color-primary) 30%, transparent));
594
- }
595
- .legend {
596
- backdrop-filter: var(--glass-blur);
597
- background: var(--glass-background);
598
- border: 1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);
599
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1), 0 0 40px color-mix(in srgb, var(--color-primary) 10%, transparent);
600
- }
601
- [data-mantine-color-scheme=dark] .legend {
602
- border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
603
- }
604
- .legendDot {
605
- transition: all 0.2s ease;
606
- box-shadow: 0 0 8px currentColor;
607
- }
608
- .legendDot:hover {
609
- transform: scale(1.3);
610
- box-shadow: 0 0 12px currentColor;
611
- }
612
- .nodeHighlighted .nodeCard {
613
- transform: translateY(-2px) scale(1.02);
614
- }
615
- .nodeHighlighted .nodeCard::before {
616
- opacity: 1;
617
- }
618
- .nodeHighlighted .nodeCard::after {
619
- animation: scanLine 3s ease-in-out infinite;
620
- }
621
- .nodeDimmed {
622
- opacity: 0.3;
623
- filter: grayscale(0.5);
624
- transition: all 0.3s ease;
625
- }
626
- .edgeHighlighted {
627
- stroke-width: 4px !important;
628
- }
629
- .edgeDimmed {
630
- opacity: 0.15;
631
- transition: all 0.3s ease;
632
- }
633
- .edgeLabelDimmed {
634
- opacity: 0.15;
635
- transition: opacity 0.3s ease;
636
- }
637
- @media (prefers-reduced-motion: reduce) {
638
- .node,
639
- .nodeCard::after,
640
- .edgeAnimated,
641
- .nodeIcon,
642
- .handle:hover,
643
- .graphContainer {
644
- animation: none;
645
- }
646
- .nodeCard:hover {
647
- transform: none;
648
- }
649
- }