@elevasis/ui 2.25.6 → 2.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/api/index.js +2 -2
  2. package/dist/app/index.css +15 -5
  3. package/dist/app/index.d.ts +61 -14
  4. package/dist/app/index.js +6 -6
  5. package/dist/charts/index.js +6 -5
  6. package/dist/chunk-3MEXPLWT.js +265 -0
  7. package/dist/{chunk-BDKM56TP.js → chunk-4KTLOK7K.js} +1 -1
  8. package/dist/{chunk-KMAXFJPH.js → chunk-CW3UNAF2.js} +5 -409
  9. package/dist/{chunk-HKBEURCV.js → chunk-G26INIF3.js} +1 -1
  10. package/dist/{chunk-7F3IQMLI.js → chunk-G66QFZXD.js} +11 -214
  11. package/dist/{chunk-QIW6OCEI.js → chunk-HLFFKKT3.js} +27 -373
  12. package/dist/chunk-JDNEWB5F.js +10 -0
  13. package/dist/{chunk-L7D6KNHV.js → chunk-JKBGDFX2.js} +890 -749
  14. package/dist/{chunk-YRKQNPK2.js → chunk-JPGX3533.js} +4 -3
  15. package/dist/chunk-KEFWANZY.js +155 -0
  16. package/dist/chunk-LH4GPYDX.js +448 -0
  17. package/dist/{chunk-JXSBOG2R.js → chunk-LWKZ3BCC.js} +5 -4
  18. package/dist/chunk-MYEOTM7D.js +92 -0
  19. package/dist/chunk-OGXKOMUT.js +412 -0
  20. package/dist/chunk-OHXU5WWK.js +3731 -0
  21. package/dist/chunk-ONFKASZI.js +2004 -0
  22. package/dist/{chunk-U36X6NZM.js → chunk-RIFTUOPE.js} +2 -14
  23. package/dist/{chunk-T6INEVX6.js → chunk-SGS4CQ2B.js} +1 -1
  24. package/dist/{chunk-C7IBFI5B.js → chunk-UPMX5GJI.js} +5 -5
  25. package/dist/{chunk-ARJPZ66V.js → chunk-UY5I2KOZ.js} +208 -3124
  26. package/dist/chunk-W2ZTLH7Y.js +662 -0
  27. package/dist/{chunk-KNISO652.js → chunk-WUVR4QY6.js} +9 -9
  28. package/dist/{chunk-Q5BEODAT.js → chunk-X2SUMO3P.js} +2 -1
  29. package/dist/{chunk-SNHGSCKH.js → chunk-XBMCDGHA.js} +1 -1
  30. package/dist/{chunk-N55DVMAG.js → chunk-XQQEKWTL.js} +2 -6
  31. package/dist/{chunk-SBQ4MYQV.js → chunk-XZSEPJZQ.js} +5 -6
  32. package/dist/{chunk-CPAJXBTL.js → chunk-YHBPR67D.js} +490 -676
  33. package/dist/{chunk-QARSVM7Q.js → chunk-YO2YORW4.js} +4 -4
  34. package/dist/{chunk-TAIX4NO3.js → chunk-ZFLM2YVW.js} +2 -2
  35. package/dist/components/index.css +15 -5
  36. package/dist/components/index.d.ts +202 -383
  37. package/dist/components/index.js +43 -429
  38. package/dist/components/navigation/index.css +25 -15
  39. package/dist/execution/index.d.ts +0 -73
  40. package/dist/features/auth/index.css +25 -15
  41. package/dist/features/crm/index.css +25 -15
  42. package/dist/features/crm/index.d.ts +49 -49
  43. package/dist/features/crm/index.js +14 -15
  44. package/dist/features/dashboard/index.css +25 -15
  45. package/dist/features/dashboard/index.js +18 -16
  46. package/dist/features/delivery/index.css +15 -5
  47. package/dist/features/delivery/index.js +14 -15
  48. package/dist/features/knowledge/index.css +611 -0
  49. package/dist/features/knowledge/index.js +375 -72
  50. package/dist/features/lead-gen/index.css +25 -15
  51. package/dist/features/lead-gen/index.d.ts +60 -21
  52. package/dist/features/lead-gen/index.js +16 -16
  53. package/dist/features/monitoring/index.css +15 -5
  54. package/dist/features/monitoring/index.js +17 -17
  55. package/dist/features/monitoring/requests/index.css +25 -15
  56. package/dist/features/monitoring/requests/index.js +13 -14
  57. package/dist/features/operations/index.css +25 -15
  58. package/dist/features/operations/index.d.ts +16 -98
  59. package/dist/features/operations/index.js +26 -22
  60. package/dist/features/settings/index.css +25 -15
  61. package/dist/features/settings/index.d.ts +1 -0
  62. package/dist/features/settings/index.js +15 -16
  63. package/dist/hooks/delivery/index.css +25 -15
  64. package/dist/hooks/delivery/index.js +2 -2
  65. package/dist/hooks/index.css +15 -5
  66. package/dist/hooks/index.d.ts +172 -380
  67. package/dist/hooks/index.js +13 -14
  68. package/dist/hooks/published.css +15 -5
  69. package/dist/hooks/published.d.ts +172 -380
  70. package/dist/hooks/published.js +13 -14
  71. package/dist/index.css +15 -5
  72. package/dist/index.d.ts +988 -403
  73. package/dist/index.js +15 -15
  74. package/dist/initialization/index.d.ts +1 -0
  75. package/dist/knowledge/index.d.ts +981 -41
  76. package/dist/knowledge/index.js +5449 -294
  77. package/dist/layout/index.d.ts +2 -0
  78. package/dist/layout/index.js +3 -2
  79. package/dist/organization/index.css +25 -15
  80. package/dist/organization/index.d.ts +1 -0
  81. package/dist/provider/index.css +25 -15
  82. package/dist/provider/index.d.ts +818 -26
  83. package/dist/provider/index.js +11 -11
  84. package/dist/provider/published.css +25 -15
  85. package/dist/provider/published.d.ts +817 -25
  86. package/dist/provider/published.js +8 -9
  87. package/dist/test-utils/index.js +2 -2
  88. package/dist/test-utils/setup.js +1 -1
  89. package/dist/theme/index.js +3 -2
  90. package/dist/theme/presets/index.d.ts +97 -0
  91. package/dist/theme/presets/index.js +3 -0
  92. package/dist/types/index.d.ts +71 -126
  93. package/dist/utils/index.js +1 -1
  94. package/dist/vite/index.d.ts +7 -0
  95. package/dist/vite/index.js +10 -0
  96. package/dist/vite-plugin-knowledge/index.d.ts +1 -33
  97. package/dist/vite-plugin-knowledge/index.js +1 -66
  98. package/package.json +16 -3
  99. package/src/knowledge/README.md +8 -8
  100. package/src/theme/presets/README.md +19 -0
  101. package/dist/chunk-5RLYII6P.js +0 -314
  102. package/dist/chunk-6U7AIIHF.js +0 -880
  103. package/dist/chunk-HAEJ4M54.js +0 -94
  104. package/dist/chunk-LPM7O6XM.js +0 -293
  105. /package/dist/{chunk-SGXXJE52.js → chunk-QD4X4H5A.js} +0 -0
@@ -0,0 +1,611 @@
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
+ .mantine-Menu-item:hover:not([data-disabled]) {
154
+ background-color: var(--color-surface-hover);
155
+ }
156
+ .mantine-Select-option:hover,
157
+ .mantine-MultiSelect-option:hover,
158
+ .mantine-TagsInput-option:hover,
159
+ .mantine-Combobox-option:hover {
160
+ background-color: var(--surface-primary-muted) !important;
161
+ }
162
+ .mantine-Select-option[data-combobox-selected],
163
+ .mantine-MultiSelect-option[data-combobox-selected],
164
+ .mantine-TagsInput-option[data-combobox-selected],
165
+ .mantine-Combobox-option[data-combobox-selected] {
166
+ background-color: var(--surface-primary-subtle) !important;
167
+ color: var(--color-text);
168
+ }
169
+ [data-mantine-color-scheme=dark] .mantine-Tabs-root {
170
+ --tab-border-color: var(--color-border);
171
+ }
172
+ .mantine-Tabs-tab:hover {
173
+ background-color: var(--color-surface-hover);
174
+ }
175
+ .mantine-Pagination-control:not([data-active]) {
176
+ background: var(--color-surface);
177
+ }
178
+ ::-webkit-scrollbar {
179
+ width: 5px;
180
+ height: 5px;
181
+ }
182
+ ::-webkit-scrollbar-track {
183
+ background: transparent;
184
+ }
185
+ ::-webkit-scrollbar-thumb {
186
+ background: color-mix(in srgb, var(--color-text-subtle) 50%, var(--color-border));
187
+ border-radius: 4px;
188
+ }
189
+ ::-webkit-scrollbar-thumb:hover {
190
+ background: var(--color-text-subtle);
191
+ }
192
+ [data-mantine-color-scheme] .mantine-Checkbox-input:not(:disabled):not(:checked):not([data-indeterminate]) {
193
+ background-color: var(--color-surface);
194
+ border-color: var(--color-border);
195
+ }
196
+ [data-mantine-color-scheme] .mantine-Checkbox-input:checked,
197
+ [data-mantine-color-scheme] .mantine-Checkbox-input[data-indeterminate] {
198
+ background-color: var(--color-primary);
199
+ border-color: var(--color-primary);
200
+ }
201
+ .mantine-Switch-root:has(input:not(:checked)) .mantine-Switch-track {
202
+ background-color: var(--color-surface-hover);
203
+ border-color: var(--color-border);
204
+ }
205
+ .mantine-Timeline-root {
206
+ --tl-color: var(--color-primary);
207
+ }
208
+ .mantine-Timeline-item {
209
+ --item-border-color: var(--color-border);
210
+ }
211
+ .mantine-Timeline-itemBullet {
212
+ border-color: var(--color-border);
213
+ }
214
+ .mantine-Timeline-itemBullet:where([data-with-child]) {
215
+ background-color: var(--color-primary);
216
+ border-color: var(--color-primary);
217
+ }
218
+ .recharts-surface:focus {
219
+ outline: none;
220
+ }
221
+ .hide-scrollbar {
222
+ scrollbar-width: none;
223
+ -ms-overflow-style: none;
224
+ }
225
+ .hide-scrollbar::-webkit-scrollbar {
226
+ display: none;
227
+ }
228
+
229
+ /* src/graph/Graph.globals.css */
230
+ .elevasis-graph-root .react-flow__node.selected,
231
+ .elevasis-graph-root .react-flow__node:focus,
232
+ .elevasis-graph-root .react-flow__node:focus-visible {
233
+ outline: none !important;
234
+ }
235
+ .elevasis-graph-root .react-flow__node.selected > * {
236
+ box-shadow: none;
237
+ }
238
+
239
+ /* src/graph/Graph.module.css */
240
+ @keyframes edgeFlow {
241
+ 0% {
242
+ stroke-dashoffset: 24;
243
+ }
244
+ 100% {
245
+ stroke-dashoffset: 0;
246
+ }
247
+ }
248
+ @keyframes edgeFlowReverse {
249
+ 0% {
250
+ stroke-dashoffset: 0;
251
+ }
252
+ 100% {
253
+ stroke-dashoffset: 24;
254
+ }
255
+ }
256
+ @keyframes pulse {
257
+ 0%, 100% {
258
+ opacity: 0.6;
259
+ }
260
+ 50% {
261
+ opacity: 1;
262
+ }
263
+ }
264
+ @keyframes livePulse {
265
+ 0%, 100% {
266
+ opacity: 1;
267
+ }
268
+ 50% {
269
+ opacity: 0.6;
270
+ }
271
+ }
272
+ .livePulse {
273
+ animation: livePulse 2s ease-in-out infinite;
274
+ }
275
+ @keyframes glowPulse {
276
+ 0%, 100% {
277
+ 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));
278
+ }
279
+ 50% {
280
+ 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));
281
+ }
282
+ }
283
+ @keyframes nodeEnter {
284
+ 0% {
285
+ opacity: 0;
286
+ transform: scale(0.8) translateY(10px);
287
+ }
288
+ 100% {
289
+ opacity: 1;
290
+ transform: scale(1) translateY(0);
291
+ }
292
+ }
293
+ @keyframes handlePulse {
294
+ 0%, 100% {
295
+ transform: scale(1);
296
+ box-shadow: 0 0 0 0 var(--handle-color, color-mix(in srgb, var(--color-primary) 40%, transparent));
297
+ }
298
+ 50% {
299
+ transform: scale(1.2);
300
+ box-shadow: 0 0 0 4px var(--handle-color, color-mix(in srgb, var(--color-primary) 0%, transparent));
301
+ }
302
+ }
303
+ @keyframes gridMove {
304
+ 0% {
305
+ background-position: 0 0;
306
+ }
307
+ 100% {
308
+ background-position: 40px 40px;
309
+ }
310
+ }
311
+ @keyframes labelFadeIn {
312
+ 0% {
313
+ opacity: 0;
314
+ transform: translate(-50%, -50%) translate(var(--label-x), var(--label-y)) scale(0.8);
315
+ }
316
+ 100% {
317
+ opacity: 1;
318
+ transform: translate(-50%, -50%) translate(var(--label-x), var(--label-y)) scale(1);
319
+ }
320
+ }
321
+ @keyframes scanLine {
322
+ 0% {
323
+ transform: translateY(-100%);
324
+ opacity: 0;
325
+ }
326
+ 50% {
327
+ opacity: 0.5;
328
+ }
329
+ 100% {
330
+ transform: translateY(100%);
331
+ opacity: 0;
332
+ }
333
+ }
334
+ .graphContainer {
335
+ position: relative;
336
+ background-image:
337
+ linear-gradient(color-mix(in srgb, var(--color-primary) 5%, transparent) 1px, transparent 1px),
338
+ linear-gradient(
339
+ 90deg,
340
+ color-mix(in srgb, var(--color-primary) 5%, transparent) 1px,
341
+ transparent 1px),
342
+ radial-gradient(
343
+ ellipse at 50% 50%,
344
+ color-mix(in srgb, var(--color-primary) 1.25%, transparent) 0%,
345
+ transparent 70%);
346
+ background-color: color-mix(in srgb, var(--color-background) 50%, var(--glass-background));
347
+ backdrop-filter: var(--glass-blur);
348
+ background-size:
349
+ 40px 40px,
350
+ 40px 40px,
351
+ 100% 100%;
352
+ animation: gridMove 20s linear infinite;
353
+ }
354
+ [data-mantine-color-scheme=dark] .graphContainer {
355
+ background-image:
356
+ linear-gradient(color-mix(in srgb, var(--color-primary) 9%, transparent) 1px, transparent 1px),
357
+ linear-gradient(
358
+ 90deg,
359
+ color-mix(in srgb, var(--color-primary) 9%, transparent) 1px,
360
+ transparent 1px),
361
+ radial-gradient(
362
+ ellipse at 50% 50%,
363
+ color-mix(in srgb, var(--color-primary) 2.25%, transparent) 0%,
364
+ transparent 70%);
365
+ background-size:
366
+ 40px 40px,
367
+ 40px 40px,
368
+ 100% 100%;
369
+ }
370
+ .node {
371
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
372
+ position: relative;
373
+ }
374
+ .node:nth-child(1) {
375
+ animation-delay: 0.05s;
376
+ }
377
+ .node:nth-child(2) {
378
+ animation-delay: 0.1s;
379
+ }
380
+ .node:nth-child(3) {
381
+ animation-delay: 0.15s;
382
+ }
383
+ .node:nth-child(4) {
384
+ animation-delay: 0.2s;
385
+ }
386
+ .node:nth-child(5) {
387
+ animation-delay: 0.25s;
388
+ }
389
+ .node:nth-child(6) {
390
+ animation-delay: 0.3s;
391
+ }
392
+ .node:nth-child(7) {
393
+ animation-delay: 0.35s;
394
+ }
395
+ .node:nth-child(8) {
396
+ animation-delay: 0.4s;
397
+ }
398
+ .node:nth-child(9) {
399
+ animation-delay: 0.45s;
400
+ }
401
+ .node:nth-child(10) {
402
+ animation-delay: 0.5s;
403
+ }
404
+ .node:nth-child(11) {
405
+ animation-delay: 0.55s;
406
+ }
407
+ .node:nth-child(12) {
408
+ animation-delay: 0.6s;
409
+ }
410
+ .nodeCard {
411
+ position: relative;
412
+ border-radius: var(--mantine-radius-md);
413
+ overflow: hidden;
414
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
415
+ }
416
+ .nodeCard::before {
417
+ content: "";
418
+ position: absolute;
419
+ inset: 0;
420
+ background:
421
+ linear-gradient(
422
+ 135deg,
423
+ var(--node-color-light, color-mix(in srgb, var(--color-primary) 10%, transparent)) 0%,
424
+ transparent 50%,
425
+ var(--node-color-light, color-mix(in srgb, var(--color-primary) 5%, transparent)) 100%);
426
+ pointer-events: none;
427
+ opacity: 0;
428
+ transition: opacity 0.3s ease;
429
+ }
430
+ .nodeCard::after {
431
+ content: "";
432
+ position: absolute;
433
+ left: 0;
434
+ right: 0;
435
+ height: 30%;
436
+ background:
437
+ linear-gradient(
438
+ 180deg,
439
+ transparent 0%,
440
+ var(--node-color-glow, color-mix(in srgb, var(--color-primary) 10%, transparent)) 50%,
441
+ transparent 100%);
442
+ pointer-events: none;
443
+ opacity: 0;
444
+ }
445
+ .nodeCard:hover::before,
446
+ .nodeCardSelected::before {
447
+ opacity: 1;
448
+ }
449
+ .nodeCard:hover::after,
450
+ .nodeCardSelected::after {
451
+ animation: scanLine 3s ease-in-out infinite;
452
+ }
453
+ .nodeCard:hover {
454
+ transform: translateY(-2px) scale(1.02);
455
+ }
456
+ .nodeCardSelected {
457
+ transform: translateY(-2px) scale(1.02);
458
+ animation: glowPulse 2s ease-in-out infinite;
459
+ }
460
+ .nodeAgent {
461
+ --glow-color: rgba(139, 92, 246, 0.4);
462
+ --node-color-light: rgba(139, 92, 246, 0.1);
463
+ --node-color-glow: rgba(139, 92, 246, 0.15);
464
+ --handle-color: rgba(139, 92, 246, 0.5);
465
+ --gradient-start: rgba(139, 92, 246, 0.15);
466
+ --gradient-end: rgba(139, 92, 246, 0.05);
467
+ }
468
+ .nodeWorkflow {
469
+ --glow-color: rgba(59, 130, 246, 0.4);
470
+ --node-color-light: rgba(59, 130, 246, 0.1);
471
+ --node-color-glow: rgba(59, 130, 246, 0.15);
472
+ --handle-color: rgba(59, 130, 246, 0.5);
473
+ --gradient-start: rgba(59, 130, 246, 0.15);
474
+ --gradient-end: rgba(59, 130, 246, 0.05);
475
+ }
476
+ .nodeTrigger {
477
+ --glow-color: rgba(249, 115, 22, 0.4);
478
+ --node-color-light: rgba(249, 115, 22, 0.1);
479
+ --node-color-glow: rgba(249, 115, 22, 0.15);
480
+ --handle-color: rgba(249, 115, 22, 0.5);
481
+ --gradient-start: rgba(249, 115, 22, 0.15);
482
+ --gradient-end: rgba(249, 115, 22, 0.05);
483
+ }
484
+ .nodeIntegration {
485
+ --glow-color: rgba(20, 184, 166, 0.4);
486
+ --node-color-light: rgba(20, 184, 166, 0.1);
487
+ --node-color-glow: rgba(20, 184, 166, 0.15);
488
+ --handle-color: rgba(20, 184, 166, 0.5);
489
+ --gradient-start: rgba(20, 184, 166, 0.15);
490
+ --gradient-end: rgba(20, 184, 166, 0.05);
491
+ }
492
+ .nodeExternal {
493
+ --glow-color: rgba(107, 114, 128, 0.4);
494
+ --node-color-light: rgba(107, 114, 128, 0.1);
495
+ --node-color-glow: rgba(107, 114, 128, 0.15);
496
+ --handle-color: rgba(107, 114, 128, 0.5);
497
+ --gradient-start: rgba(107, 114, 128, 0.15);
498
+ --gradient-end: rgba(107, 114, 128, 0.05);
499
+ }
500
+ .nodeHuman {
501
+ --glow-color: rgba(245, 158, 11, 0.4);
502
+ --node-color-light: rgba(245, 158, 11, 0.1);
503
+ --node-color-glow: rgba(245, 158, 11, 0.15);
504
+ --handle-color: rgba(245, 158, 11, 0.5);
505
+ --gradient-start: rgba(245, 158, 11, 0.15);
506
+ --gradient-end: rgba(245, 158, 11, 0.05);
507
+ }
508
+ .nodePrimary {
509
+ --glow-color: rgba(37, 99, 235, 0.4);
510
+ --node-color-light: rgba(37, 99, 235, 0.1);
511
+ --node-color-glow: rgba(37, 99, 235, 0.15);
512
+ --handle-color: rgba(37, 99, 235, 0.5);
513
+ --gradient-start: rgba(37, 99, 235, 0.15);
514
+ --gradient-end: rgba(37, 99, 235, 0.05);
515
+ }
516
+ .handle {
517
+ transition: all 0.2s ease;
518
+ }
519
+ .handle:hover {
520
+ animation: handlePulse 1s ease-in-out infinite;
521
+ }
522
+ .nodeIcon {
523
+ transition: all 0.3s ease;
524
+ }
525
+ .badge {
526
+ transition: all 0.2s ease;
527
+ backdrop-filter: blur(4px);
528
+ }
529
+ .nodeCard:hover .badge {
530
+ transform: scale(1.05);
531
+ }
532
+ .badgeProd {
533
+ box-shadow: 0 0 8px rgba(34, 197, 94, 0.3);
534
+ }
535
+ .edge {
536
+ transition: all 0.3s ease;
537
+ }
538
+ .edgeAnimated {
539
+ stroke-dasharray: 8 4;
540
+ animation: edgeFlow 1s linear infinite;
541
+ }
542
+ .edgeGlow {
543
+ filter: drop-shadow(0 0 3px var(--edge-color, color-mix(in srgb, var(--color-primary) 50%, transparent)));
544
+ }
545
+ .edgeHighlighted {
546
+ stroke-width: 3px;
547
+ }
548
+ .edgeLabel {
549
+ backdrop-filter: blur(8px);
550
+ border: 1px solid rgba(255, 255, 255, 0.1);
551
+ 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));
552
+ transition: box-shadow 0.2s ease;
553
+ }
554
+ .edgeLabel:hover {
555
+ 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));
556
+ }
557
+ .legend {
558
+ backdrop-filter: var(--glass-blur);
559
+ background: var(--glass-background);
560
+ border: 1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);
561
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1), 0 0 40px color-mix(in srgb, var(--color-primary) 10%, transparent);
562
+ }
563
+ [data-mantine-color-scheme=dark] .legend {
564
+ border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
565
+ }
566
+ .legendDot {
567
+ transition: all 0.2s ease;
568
+ box-shadow: 0 0 8px currentColor;
569
+ }
570
+ .legendDot:hover {
571
+ transform: scale(1.3);
572
+ box-shadow: 0 0 12px currentColor;
573
+ }
574
+ .nodeHighlighted .nodeCard {
575
+ transform: translateY(-2px) scale(1.02);
576
+ }
577
+ .nodeHighlighted .nodeCard::before {
578
+ opacity: 1;
579
+ }
580
+ .nodeHighlighted .nodeCard::after {
581
+ animation: scanLine 3s ease-in-out infinite;
582
+ }
583
+ .nodeDimmed {
584
+ opacity: 0.3;
585
+ filter: grayscale(0.5);
586
+ transition: all 0.3s ease;
587
+ }
588
+ .edgeHighlighted {
589
+ stroke-width: 4px !important;
590
+ }
591
+ .edgeDimmed {
592
+ opacity: 0.15;
593
+ transition: all 0.3s ease;
594
+ }
595
+ .edgeLabelDimmed {
596
+ opacity: 0.15;
597
+ transition: opacity 0.3s ease;
598
+ }
599
+ @media (prefers-reduced-motion: reduce) {
600
+ .node,
601
+ .nodeCard::after,
602
+ .edgeAnimated,
603
+ .nodeIcon,
604
+ .handle:hover,
605
+ .graphContainer {
606
+ animation: none;
607
+ }
608
+ .nodeCard:hover {
609
+ transform: none;
610
+ }
611
+ }