@elevasis/ui 2.35.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 (100) 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 +45 -18
  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-VDOOGGBA.js → chunk-6NREL3KL.js} +2 -2
  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-4U3XAWCN.js → chunk-NWMPBG4U.js} +134 -495
  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-26HFM4MH.js → chunk-T3NI7DOA.js} +2005 -4106
  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 +36 -46
  36. package/dist/components/index.js +33 -19
  37. package/dist/components/navigation/index.js +3 -31
  38. package/dist/execution/index.d.ts +2 -2
  39. package/dist/features/auth/index.d.ts +55 -99
  40. package/dist/features/auth/index.js +36 -99
  41. package/dist/features/clients/index.js +33 -19
  42. package/dist/features/crm/index.d.ts +23 -0
  43. package/dist/features/crm/index.js +33 -19
  44. package/dist/features/dashboard/index.d.ts +3 -3
  45. package/dist/features/dashboard/index.js +33 -19
  46. package/dist/features/delivery/index.d.ts +23 -0
  47. package/dist/features/delivery/index.js +33 -19
  48. package/dist/features/knowledge/index.js +6 -30
  49. package/dist/features/lead-gen/index.d.ts +1373 -48
  50. package/dist/features/lead-gen/index.js +33 -19
  51. package/dist/features/monitoring/index.js +33 -19
  52. package/dist/features/monitoring/requests/index.js +33 -19
  53. package/dist/features/notes/index.d.ts +72 -0
  54. package/dist/features/notes/index.js +621 -0
  55. package/dist/features/operations/index.d.ts +30 -30
  56. package/dist/features/operations/index.js +33 -19
  57. package/dist/features/right-panel-host/index.d.ts +214 -0
  58. package/dist/features/right-panel-host/index.js +640 -0
  59. package/dist/features/seo/index.js +3 -2
  60. package/dist/features/settings/index.d.ts +26 -35
  61. package/dist/features/settings/index.js +33 -19
  62. package/dist/hooks/access/index.d.ts +90 -0
  63. package/dist/hooks/access/index.js +10 -0
  64. package/dist/hooks/delivery/index.d.ts +23 -0
  65. package/dist/hooks/delivery/index.js +33 -19
  66. package/dist/hooks/index.d.ts +1816 -1855
  67. package/dist/hooks/index.js +33 -19
  68. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +13 -13
  69. package/dist/hooks/published.d.ts +1816 -1855
  70. package/dist/hooks/published.js +33 -19
  71. package/dist/hooks/user-notes/index.d.ts +57 -0
  72. package/dist/hooks/user-notes/index.js +3 -0
  73. package/dist/index.d.ts +290 -309
  74. package/dist/index.js +34 -20
  75. package/dist/initialization/index.d.ts +23 -19
  76. package/dist/knowledge/index.d.ts +21 -21
  77. package/dist/knowledge/index.js +12 -9
  78. package/dist/{knowledge-search-index-ORIJCEZX.js → knowledge-search-index-NBCTFIOH.js} +2 -2
  79. package/dist/layout/index.js +5 -3
  80. package/dist/organization/index.d.ts +0 -19
  81. package/dist/organization/index.js +33 -19
  82. package/dist/profile/index.d.ts +23 -0
  83. package/dist/provider/index.css +0 -384
  84. package/dist/provider/index.d.ts +45 -18
  85. package/dist/provider/index.js +15 -21
  86. package/dist/provider/published.css +0 -523
  87. package/dist/provider/published.d.ts +45 -18
  88. package/dist/provider/published.js +11 -21
  89. package/dist/sse/index.js +26 -5
  90. package/dist/supabase/index.d.ts +46 -0
  91. package/dist/test-utils/index.d.ts +2 -21
  92. package/dist/test-utils/index.js +5 -18
  93. package/dist/theme/index.js +2 -1
  94. package/dist/types/index.d.ts +86 -72
  95. package/dist/utils/index.d.ts +3 -3
  96. package/dist/utils/index.js +2 -1
  97. package/package.json +21 -5
  98. package/src/auth/README.md +6 -6
  99. package/dist/components/navigation/index.css +0 -649
  100. package/dist/features/knowledge/index.css +0 -649
@@ -1,33 +1,47 @@
1
- export { OrganizationProvider, OrganizationSwitcher, OrganizationSwitcherConnected, createOrganizationsSlice, createUseOrgInitialization, createUseOrganizations } from '../chunk-26HFM4MH.js';
2
- import '../chunk-CXY7FMUM.js';
3
- import '../chunk-SIQ3P4OR.js';
4
- import '../chunk-3KMDHCAR.js';
5
- import '../chunk-AKW7KISS.js';
6
- import '../chunk-WF7CONXF.js';
7
- import '../chunk-ZTWA5H77.js';
1
+ export { OrganizationSwitcher, OrganizationSwitcherConnected, createOrganizationsSlice, createUseOrgInitialization, createUseOrganizations } from '../chunk-T3NI7DOA.js';
2
+ import '../chunk-S3KBYQTI.js';
3
+ import '../chunk-SHZT7ULK.js';
8
4
  import '../chunk-AUDNF2Q7.js';
9
5
  import '../chunk-6M6OLGQY.js';
10
6
  import '../chunk-BRXELOHC.js';
11
- import '../chunk-4U3XAWCN.js';
12
- import '../chunk-LUYVRATI.js';
13
- import '../chunk-NYBEU5TE.js';
14
- import '../chunk-WLOQ4IBG.js';
15
- import '../chunk-57OZ3AEG.js';
7
+ import '../chunk-LNC6PZAE.js';
8
+ import '../chunk-CXY7FMUM.js';
9
+ import '../chunk-7GQFIWP4.js';
16
10
  import '../chunk-JBWJ6WHZ.js';
17
- import '../chunk-GX6XBRRF.js';
18
- import '../chunk-R3VCBZDC.js';
19
- import '../chunk-DT3QYZVU.js';
20
- import '../chunk-2IFYDILW.js';
21
- import '../chunk-Q7DJKLEN.js';
11
+ import '../chunk-ZTWA5H77.js';
12
+ import '../chunk-5EYJ2GIN.js';
13
+ import '../chunk-DA6I5VEY.js';
14
+ import '../chunk-CLDCYJQT.js';
15
+ import '../chunk-TYRUKGGD.js';
16
+ import '../chunk-X4WBGKJQ.js';
17
+ import '../chunk-IIMU5YAJ.js';
22
18
  import '../chunk-HENXLGVD.js';
23
19
  import '../chunk-7FPLLSHN.js';
24
20
  import '../chunk-RNP5R5I3.js';
25
- import '../chunk-GEFWMU26.js';
21
+ import '../chunk-5CTJ7TW2.js';
22
+ import '../chunk-CWYQRM5T.js';
23
+ import '../chunk-WF7CONXF.js';
24
+ import '../chunk-WLOQ4IBG.js';
25
+ export { OrganizationProvider } from '../chunk-JZ2WID2G.js';
26
+ import '../chunk-I53EX4VU.js';
27
+ import '../chunk-3KMDHCAR.js';
28
+ import '../chunk-S3XR4II4.js';
29
+ import '../chunk-A7IG36LB.js';
30
+ import '../chunk-NYBEU5TE.js';
31
+ import '../chunk-Y3JQBSKQ.js';
32
+ import '../chunk-DT3QYZVU.js';
33
+ import '../chunk-2IFYDILW.js';
34
+ import '../chunk-Q7DJKLEN.js';
35
+ import '../chunk-X66MVMZT.js';
26
36
  import '../chunk-KRWALB24.js';
27
- import '../chunk-VKIZUUPM.js';
37
+ import '../chunk-JPVZRZ3X.js';
38
+ import '../chunk-LCJQ6OWC.js';
39
+ import '../chunk-NYNOMAAS.js';
28
40
  import '../chunk-533DUEQY.js';
41
+ import '../chunk-NWMPBG4U.js';
29
42
  export { OrganizationContext, useOrganization } from '../chunk-DD3CCMCZ.js';
30
43
  import '../chunk-2Q2JQSQO.js';
44
+ import '../chunk-6ROXVZ3L.js';
31
45
  import '../chunk-KJ3QUBNU.js';
32
46
  import '../chunk-BRJ3QZ4E.js';
33
47
  import '../chunk-I2KLQ2HA.js';
@@ -2783,6 +2783,7 @@ type Database = {
2783
2783
  title: string | null;
2784
2784
  updated_at: string;
2785
2785
  user_id: string;
2786
+ visibility: string;
2786
2787
  };
2787
2788
  Insert: {
2788
2789
  content: string;
@@ -2797,6 +2798,7 @@ type Database = {
2797
2798
  title?: string | null;
2798
2799
  updated_at?: string;
2799
2800
  user_id: string;
2801
+ visibility?: string;
2800
2802
  };
2801
2803
  Update: {
2802
2804
  content?: string;
@@ -2811,6 +2813,7 @@ type Database = {
2811
2813
  title?: string | null;
2812
2814
  updated_at?: string;
2813
2815
  user_id?: string;
2816
+ visibility?: string;
2814
2817
  };
2815
2818
  Relationships: [
2816
2819
  {
@@ -2979,6 +2982,12 @@ type Database = {
2979
2982
  Args: never;
2980
2983
  Returns: boolean;
2981
2984
  };
2985
+ current_user_shares_org_with: {
2986
+ Args: {
2987
+ other_user_id: string;
2988
+ };
2989
+ Returns: boolean;
2990
+ };
2982
2991
  current_user_supabase_id: {
2983
2992
  Args: never;
2984
2993
  Returns: string;
@@ -3018,6 +3027,20 @@ type Database = {
3018
3027
  Args: never;
3019
3028
  Returns: string;
3020
3029
  };
3030
+ has_org_access: {
3031
+ Args: {
3032
+ action?: string;
3033
+ org_id: string;
3034
+ system_path: string;
3035
+ };
3036
+ Returns: boolean;
3037
+ } | {
3038
+ Args: {
3039
+ action?: string;
3040
+ system_path: string;
3041
+ };
3042
+ Returns: boolean;
3043
+ };
3021
3044
  has_org_permission: {
3022
3045
  Args: {
3023
3046
  org_id: string;
@@ -125,390 +125,6 @@
125
125
  }
126
126
  }
127
127
 
128
- /* src/graph/Graph.globals.css */
129
- .elevasis-graph-root .react-flow__node.selected,
130
- .elevasis-graph-root .react-flow__node:focus,
131
- .elevasis-graph-root .react-flow__node:focus-visible {
132
- outline: none !important;
133
- }
134
- .elevasis-graph-root .react-flow__node.selected > * {
135
- box-shadow: none;
136
- }
137
-
138
- /* src/graph/Graph.module.css */
139
- @keyframes edgeFlow {
140
- 0% {
141
- stroke-dashoffset: 24;
142
- }
143
- 100% {
144
- stroke-dashoffset: 0;
145
- }
146
- }
147
- @keyframes edgeFlowReverse {
148
- 0% {
149
- stroke-dashoffset: 0;
150
- }
151
- 100% {
152
- stroke-dashoffset: 24;
153
- }
154
- }
155
- @keyframes pulse {
156
- 0%, 100% {
157
- opacity: 0.6;
158
- }
159
- 50% {
160
- opacity: 1;
161
- }
162
- }
163
- @keyframes livePulse {
164
- 0%, 100% {
165
- opacity: 1;
166
- }
167
- 50% {
168
- opacity: 0.6;
169
- }
170
- }
171
- .livePulse {
172
- animation: livePulse 2s ease-in-out infinite;
173
- }
174
- @keyframes glowPulse {
175
- 0%, 100% {
176
- 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));
177
- }
178
- 50% {
179
- 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));
180
- }
181
- }
182
- @keyframes nodeEnter {
183
- 0% {
184
- opacity: 0;
185
- transform: scale(0.8) translateY(10px);
186
- }
187
- 100% {
188
- opacity: 1;
189
- transform: scale(1) translateY(0);
190
- }
191
- }
192
- @keyframes handlePulse {
193
- 0%, 100% {
194
- transform: scale(1);
195
- box-shadow: 0 0 0 0 var(--handle-color, color-mix(in srgb, var(--color-primary) 40%, transparent));
196
- }
197
- 50% {
198
- transform: scale(1.2);
199
- box-shadow: 0 0 0 4px var(--handle-color, color-mix(in srgb, var(--color-primary) 0%, transparent));
200
- }
201
- }
202
- @keyframes gridMove {
203
- 0% {
204
- background-position: 0 0;
205
- }
206
- 100% {
207
- background-position: 40px 40px;
208
- }
209
- }
210
- @keyframes labelFadeIn {
211
- 0% {
212
- opacity: 0;
213
- transform: translate(-50%, -50%) translate(var(--label-x), var(--label-y)) scale(0.8);
214
- }
215
- 100% {
216
- opacity: 1;
217
- transform: translate(-50%, -50%) translate(var(--label-x), var(--label-y)) scale(1);
218
- }
219
- }
220
- @keyframes scanLine {
221
- 0% {
222
- transform: translateY(-100%);
223
- opacity: 0;
224
- }
225
- 50% {
226
- opacity: 0.5;
227
- }
228
- 100% {
229
- transform: translateY(100%);
230
- opacity: 0;
231
- }
232
- }
233
- .graphContainer {
234
- position: relative;
235
- background-image:
236
- linear-gradient(color-mix(in srgb, var(--color-primary) 5%, transparent) 1px, transparent 1px),
237
- linear-gradient(
238
- 90deg,
239
- color-mix(in srgb, var(--color-primary) 5%, transparent) 1px,
240
- transparent 1px),
241
- radial-gradient(
242
- ellipse at 50% 50%,
243
- color-mix(in srgb, var(--color-primary) 1.25%, transparent) 0%,
244
- transparent 70%);
245
- background-color: color-mix(in srgb, var(--color-background) 50%, var(--glass-background));
246
- backdrop-filter: var(--glass-blur);
247
- background-size:
248
- 40px 40px,
249
- 40px 40px,
250
- 100% 100%;
251
- animation: gridMove 20s linear infinite;
252
- }
253
- [data-mantine-color-scheme=dark] .graphContainer {
254
- background-image:
255
- linear-gradient(color-mix(in srgb, var(--color-primary) 9%, transparent) 1px, transparent 1px),
256
- linear-gradient(
257
- 90deg,
258
- color-mix(in srgb, var(--color-primary) 9%, transparent) 1px,
259
- transparent 1px),
260
- radial-gradient(
261
- ellipse at 50% 50%,
262
- color-mix(in srgb, var(--color-primary) 2.25%, transparent) 0%,
263
- transparent 70%);
264
- background-size:
265
- 40px 40px,
266
- 40px 40px,
267
- 100% 100%;
268
- }
269
- .node {
270
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
271
- position: relative;
272
- }
273
- .node:nth-child(1) {
274
- animation-delay: 0.05s;
275
- }
276
- .node:nth-child(2) {
277
- animation-delay: 0.1s;
278
- }
279
- .node:nth-child(3) {
280
- animation-delay: 0.15s;
281
- }
282
- .node:nth-child(4) {
283
- animation-delay: 0.2s;
284
- }
285
- .node:nth-child(5) {
286
- animation-delay: 0.25s;
287
- }
288
- .node:nth-child(6) {
289
- animation-delay: 0.3s;
290
- }
291
- .node:nth-child(7) {
292
- animation-delay: 0.35s;
293
- }
294
- .node:nth-child(8) {
295
- animation-delay: 0.4s;
296
- }
297
- .node:nth-child(9) {
298
- animation-delay: 0.45s;
299
- }
300
- .node:nth-child(10) {
301
- animation-delay: 0.5s;
302
- }
303
- .node:nth-child(11) {
304
- animation-delay: 0.55s;
305
- }
306
- .node:nth-child(12) {
307
- animation-delay: 0.6s;
308
- }
309
- .nodeCard {
310
- position: relative;
311
- border-radius: var(--mantine-radius-md);
312
- overflow: hidden;
313
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
314
- }
315
- .nodeCard::before {
316
- content: "";
317
- position: absolute;
318
- inset: 0;
319
- background:
320
- linear-gradient(
321
- 135deg,
322
- var(--node-color-light, color-mix(in srgb, var(--color-primary) 10%, transparent)) 0%,
323
- transparent 50%,
324
- var(--node-color-light, color-mix(in srgb, var(--color-primary) 5%, transparent)) 100%);
325
- pointer-events: none;
326
- opacity: 0;
327
- transition: opacity 0.3s ease;
328
- }
329
- .nodeCard::after {
330
- content: "";
331
- position: absolute;
332
- left: 0;
333
- right: 0;
334
- height: 30%;
335
- background:
336
- linear-gradient(
337
- 180deg,
338
- transparent 0%,
339
- var(--node-color-glow, color-mix(in srgb, var(--color-primary) 10%, transparent)) 50%,
340
- transparent 100%);
341
- pointer-events: none;
342
- opacity: 0;
343
- }
344
- .nodeCard:hover::before,
345
- .nodeCardSelected::before {
346
- opacity: 1;
347
- }
348
- .nodeCard:hover::after,
349
- .nodeCardSelected::after {
350
- animation: scanLine 3s ease-in-out infinite;
351
- }
352
- .nodeCard:hover {
353
- transform: translateY(-2px) scale(1.02);
354
- }
355
- .nodeCardSelected {
356
- transform: translateY(-2px) scale(1.02);
357
- animation: glowPulse 2s ease-in-out infinite;
358
- }
359
- .nodeAgent {
360
- --glow-color: rgba(139, 92, 246, 0.4);
361
- --node-color-light: rgba(139, 92, 246, 0.1);
362
- --node-color-glow: rgba(139, 92, 246, 0.15);
363
- --handle-color: rgba(139, 92, 246, 0.5);
364
- --gradient-start: rgba(139, 92, 246, 0.15);
365
- --gradient-end: rgba(139, 92, 246, 0.05);
366
- }
367
- .nodeWorkflow {
368
- --glow-color: rgba(59, 130, 246, 0.4);
369
- --node-color-light: rgba(59, 130, 246, 0.1);
370
- --node-color-glow: rgba(59, 130, 246, 0.15);
371
- --handle-color: rgba(59, 130, 246, 0.5);
372
- --gradient-start: rgba(59, 130, 246, 0.15);
373
- --gradient-end: rgba(59, 130, 246, 0.05);
374
- }
375
- .nodeTrigger {
376
- --glow-color: rgba(249, 115, 22, 0.4);
377
- --node-color-light: rgba(249, 115, 22, 0.1);
378
- --node-color-glow: rgba(249, 115, 22, 0.15);
379
- --handle-color: rgba(249, 115, 22, 0.5);
380
- --gradient-start: rgba(249, 115, 22, 0.15);
381
- --gradient-end: rgba(249, 115, 22, 0.05);
382
- }
383
- .nodeIntegration {
384
- --glow-color: rgba(20, 184, 166, 0.4);
385
- --node-color-light: rgba(20, 184, 166, 0.1);
386
- --node-color-glow: rgba(20, 184, 166, 0.15);
387
- --handle-color: rgba(20, 184, 166, 0.5);
388
- --gradient-start: rgba(20, 184, 166, 0.15);
389
- --gradient-end: rgba(20, 184, 166, 0.05);
390
- }
391
- .nodeExternal {
392
- --glow-color: rgba(107, 114, 128, 0.4);
393
- --node-color-light: rgba(107, 114, 128, 0.1);
394
- --node-color-glow: rgba(107, 114, 128, 0.15);
395
- --handle-color: rgba(107, 114, 128, 0.5);
396
- --gradient-start: rgba(107, 114, 128, 0.15);
397
- --gradient-end: rgba(107, 114, 128, 0.05);
398
- }
399
- .nodeHuman {
400
- --glow-color: rgba(245, 158, 11, 0.4);
401
- --node-color-light: rgba(245, 158, 11, 0.1);
402
- --node-color-glow: rgba(245, 158, 11, 0.15);
403
- --handle-color: rgba(245, 158, 11, 0.5);
404
- --gradient-start: rgba(245, 158, 11, 0.15);
405
- --gradient-end: rgba(245, 158, 11, 0.05);
406
- }
407
- .nodePrimary {
408
- --glow-color: rgba(37, 99, 235, 0.4);
409
- --node-color-light: rgba(37, 99, 235, 0.1);
410
- --node-color-glow: rgba(37, 99, 235, 0.15);
411
- --handle-color: rgba(37, 99, 235, 0.5);
412
- --gradient-start: rgba(37, 99, 235, 0.15);
413
- --gradient-end: rgba(37, 99, 235, 0.05);
414
- }
415
- .handle {
416
- transition: all 0.2s ease;
417
- }
418
- .handle:hover {
419
- animation: handlePulse 1s ease-in-out infinite;
420
- }
421
- .nodeIcon {
422
- transition: all 0.3s ease;
423
- }
424
- .badge {
425
- transition: all 0.2s ease;
426
- backdrop-filter: blur(4px);
427
- }
428
- .nodeCard:hover .badge {
429
- transform: scale(1.05);
430
- }
431
- .badgeProd {
432
- box-shadow: 0 0 8px rgba(34, 197, 94, 0.3);
433
- }
434
- .edge {
435
- transition: all 0.3s ease;
436
- }
437
- .edgeAnimated {
438
- stroke-dasharray: 8 4;
439
- animation: edgeFlow 1s linear infinite;
440
- }
441
- .edgeGlow {
442
- filter: drop-shadow(0 0 3px var(--edge-color, color-mix(in srgb, var(--color-primary) 50%, transparent)));
443
- }
444
- .edgeHighlighted {
445
- stroke-width: 3px;
446
- }
447
- .edgeLabel {
448
- backdrop-filter: blur(8px);
449
- border: 1px solid rgba(255, 255, 255, 0.1);
450
- 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));
451
- transition: box-shadow 0.2s ease;
452
- }
453
- .edgeLabel:hover {
454
- 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));
455
- }
456
- .legend {
457
- backdrop-filter: var(--glass-blur);
458
- background: var(--glass-background);
459
- border: 1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);
460
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1), 0 0 40px color-mix(in srgb, var(--color-primary) 10%, transparent);
461
- }
462
- [data-mantine-color-scheme=dark] .legend {
463
- border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
464
- }
465
- .legendDot {
466
- transition: all 0.2s ease;
467
- box-shadow: 0 0 8px currentColor;
468
- }
469
- .legendDot:hover {
470
- transform: scale(1.3);
471
- box-shadow: 0 0 12px currentColor;
472
- }
473
- .nodeHighlighted .nodeCard {
474
- transform: translateY(-2px) scale(1.02);
475
- }
476
- .nodeHighlighted .nodeCard::before {
477
- opacity: 1;
478
- }
479
- .nodeHighlighted .nodeCard::after {
480
- animation: scanLine 3s ease-in-out infinite;
481
- }
482
- .nodeDimmed {
483
- opacity: 0.3;
484
- filter: grayscale(0.5);
485
- transition: all 0.3s ease;
486
- }
487
- .edgeHighlighted {
488
- stroke-width: 4px !important;
489
- }
490
- .edgeDimmed {
491
- opacity: 0.15;
492
- transition: all 0.3s ease;
493
- }
494
- .edgeLabelDimmed {
495
- opacity: 0.15;
496
- transition: opacity 0.3s ease;
497
- }
498
- @media (prefers-reduced-motion: reduce) {
499
- .node,
500
- .nodeCard::after,
501
- .edgeAnimated,
502
- .nodeIcon,
503
- .handle:hover,
504
- .graphContainer {
505
- animation: none;
506
- }
507
- .nodeCard:hover {
508
- transform: none;
509
- }
510
- }
511
-
512
128
  /* src/theme/custom.css */
513
129
  .mantine-Button-root[data-variant=default] {
514
130
  background-color: var(--color-surface);