@elevasis/ui 2.21.0 → 2.23.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 (81) hide show
  1. package/dist/app/index.js +2 -2
  2. package/dist/{chunk-DMYELNGA.js → chunk-3HEUGBOT.js} +1 -1
  3. package/dist/{chunk-EGKNRM6P.js → chunk-7PGEGSUM.js} +2 -2
  4. package/dist/{chunk-KVW56ERD.js → chunk-AXXTN44Z.js} +5 -3
  5. package/dist/{chunk-I5WRKH25.js → chunk-D3KQAABP.js} +1 -1
  6. package/dist/{chunk-S7RL77QS.js → chunk-DDZOHLHB.js} +1 -1
  7. package/dist/{chunk-EDX6WIN3.js → chunk-EPV7NU2E.js} +24 -10
  8. package/dist/{chunk-ATEHYDL3.js → chunk-FXWETLEB.js} +6 -2
  9. package/dist/{chunk-7GG6OSD7.js → chunk-GUJUK6EH.js} +2830 -2381
  10. package/dist/{chunk-GBMNCNHX.js → chunk-KVJ3LFH2.js} +3 -1
  11. package/dist/{chunk-VQESMHQV.js → chunk-LJWV4TWV.js} +1 -2
  12. package/dist/{chunk-BJWIKEQG.js → chunk-N6WLOWOD.js} +6 -14
  13. package/dist/{chunk-XLZZOFGM.js → chunk-PTUOINQ2.js} +275 -76
  14. package/dist/{chunk-CZK67OHH.js → chunk-PXGSJNBH.js} +3 -3
  15. package/dist/{chunk-TIIPYB2Z.js → chunk-QZJM3RYI.js} +1 -1
  16. package/dist/{chunk-7YQKVWSD.js → chunk-SQ5JGELM.js} +25 -5
  17. package/dist/{chunk-RX4UWZZR.js → chunk-TKAYX2SP.js} +8 -3
  18. package/dist/{chunk-Q5HC6ENG.js → chunk-XOTJNW4Q.js} +1 -1
  19. package/dist/{chunk-LQU62KHD.js → chunk-YU6MBDVO.js} +1993 -870
  20. package/dist/{chunk-ULZ2B3NC.js → chunk-ZBCTB5CA.js} +1 -1
  21. package/dist/components/index.css +85 -85
  22. package/dist/components/index.d.ts +1651 -1388
  23. package/dist/components/index.js +253 -40
  24. package/dist/components/navigation/index.css +589 -0
  25. package/dist/components/navigation/index.js +3 -3
  26. package/dist/features/auth/index.css +2 -2
  27. package/dist/features/auth/index.d.ts +188 -10
  28. package/dist/features/crm/index.css +2 -2
  29. package/dist/features/crm/index.d.ts +193 -10
  30. package/dist/features/crm/index.js +10 -10
  31. package/dist/features/dashboard/index.css +2 -2
  32. package/dist/features/dashboard/index.js +9 -9
  33. package/dist/features/delivery/index.css +85 -85
  34. package/dist/features/delivery/index.d.ts +193 -10
  35. package/dist/features/delivery/index.js +10 -10
  36. package/dist/features/lead-gen/index.css +2 -2
  37. package/dist/features/lead-gen/index.d.ts +5 -0
  38. package/dist/features/lead-gen/index.js +10 -10
  39. package/dist/features/monitoring/index.css +85 -85
  40. package/dist/features/monitoring/index.d.ts +6 -1
  41. package/dist/features/monitoring/index.js +11 -11
  42. package/dist/features/monitoring/requests/index.css +2 -2
  43. package/dist/features/monitoring/requests/index.d.ts +5 -0
  44. package/dist/features/monitoring/requests/index.js +9 -9
  45. package/dist/features/operations/index.css +2 -2
  46. package/dist/features/operations/index.d.ts +7 -4
  47. package/dist/features/operations/index.js +12 -12
  48. package/dist/features/seo/index.d.ts +5 -0
  49. package/dist/features/settings/index.css +2 -2
  50. package/dist/features/settings/index.d.ts +214 -16
  51. package/dist/features/settings/index.js +11 -11
  52. package/dist/graph/index.css +2 -2
  53. package/dist/hooks/delivery/index.css +2 -2
  54. package/dist/hooks/delivery/index.d.ts +188 -10
  55. package/dist/hooks/index.css +85 -85
  56. package/dist/hooks/index.d.ts +1843 -1538
  57. package/dist/hooks/index.js +8 -8
  58. package/dist/hooks/published.css +85 -85
  59. package/dist/hooks/published.d.ts +1843 -1538
  60. package/dist/hooks/published.js +8 -8
  61. package/dist/index.css +12 -12
  62. package/dist/index.d.ts +346 -35
  63. package/dist/index.js +9 -9
  64. package/dist/initialization/index.d.ts +188 -10
  65. package/dist/layout/index.js +2 -2
  66. package/dist/organization/index.css +589 -0
  67. package/dist/organization/index.js +1 -1
  68. package/dist/profile/index.d.ts +188 -10
  69. package/dist/provider/index.css +384 -0
  70. package/dist/provider/index.d.ts +6 -0
  71. package/dist/provider/index.js +7 -7
  72. package/dist/provider/published.css +463 -0
  73. package/dist/provider/published.d.ts +6 -0
  74. package/dist/provider/published.js +4 -4
  75. package/dist/supabase/index.d.ts +367 -20
  76. package/dist/test-utils/index.d.ts +46 -2
  77. package/dist/test-utils/index.js +102 -1
  78. package/dist/theme/index.js +2 -2
  79. package/dist/types/index.d.ts +199 -13
  80. package/package.json +4 -4
  81. /package/dist/{chunk-6GUW5GGF.js → chunk-6Z3G4U2R.js} +0 -0
@@ -124,3 +124,466 @@
124
124
  opacity: 1;
125
125
  }
126
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
+ .mantine-Accordion-control:hover {
140
+ background-color: var(--color-surface-hover);
141
+ }
142
+ .mantine-Menu-item:hover:not([data-disabled]) {
143
+ background-color: var(--color-surface-hover);
144
+ }
145
+ .mantine-Select-option:hover {
146
+ background-color: var(--color-surface-hover) !important;
147
+ }
148
+ [data-mantine-color-scheme=dark] .mantine-Tabs-root {
149
+ --tab-border-color: var(--color-border);
150
+ }
151
+ .mantine-Tabs-tab:hover {
152
+ background-color: var(--color-surface-hover);
153
+ }
154
+ .mantine-Pagination-control:not([data-active]) {
155
+ background: var(--color-surface);
156
+ }
157
+ ::-webkit-scrollbar {
158
+ width: 5px;
159
+ height: 5px;
160
+ }
161
+ ::-webkit-scrollbar-track {
162
+ background: transparent;
163
+ }
164
+ ::-webkit-scrollbar-thumb {
165
+ background: color-mix(in srgb, var(--color-text-subtle) 50%, var(--color-border));
166
+ border-radius: 4px;
167
+ }
168
+ ::-webkit-scrollbar-thumb:hover {
169
+ background: var(--color-text-subtle);
170
+ }
171
+ .mantine-Checkbox-input {
172
+ background-color: var(--color-surface);
173
+ border-color: var(--color-border);
174
+ }
175
+ .mantine-Checkbox-input:checked {
176
+ background-color: var(--color-primary);
177
+ border-color: var(--color-primary);
178
+ }
179
+ .mantine-Switch-root:has(input:not(:checked)) .mantine-Switch-track {
180
+ background-color: var(--color-surface-hover);
181
+ border-color: var(--color-border);
182
+ }
183
+ .mantine-Timeline-root {
184
+ --tl-color: var(--color-primary);
185
+ }
186
+ .mantine-Timeline-item {
187
+ --item-border-color: var(--color-border);
188
+ }
189
+ .mantine-Timeline-itemBullet {
190
+ border-color: var(--color-border);
191
+ }
192
+ .mantine-Timeline-itemBullet:where([data-with-child]) {
193
+ background-color: var(--color-primary);
194
+ border-color: var(--color-primary);
195
+ }
196
+ .recharts-surface:focus {
197
+ outline: none;
198
+ }
199
+ .hide-scrollbar {
200
+ scrollbar-width: none;
201
+ -ms-overflow-style: none;
202
+ }
203
+ .hide-scrollbar::-webkit-scrollbar {
204
+ display: none;
205
+ }
206
+
207
+ /* src/graph/Graph.module.css */
208
+ @keyframes edgeFlow {
209
+ 0% {
210
+ stroke-dashoffset: 24;
211
+ }
212
+ 100% {
213
+ stroke-dashoffset: 0;
214
+ }
215
+ }
216
+ @keyframes edgeFlowReverse {
217
+ 0% {
218
+ stroke-dashoffset: 0;
219
+ }
220
+ 100% {
221
+ stroke-dashoffset: 24;
222
+ }
223
+ }
224
+ @keyframes pulse {
225
+ 0%, 100% {
226
+ opacity: 0.6;
227
+ }
228
+ 50% {
229
+ opacity: 1;
230
+ }
231
+ }
232
+ @keyframes livePulse {
233
+ 0%, 100% {
234
+ opacity: 1;
235
+ }
236
+ 50% {
237
+ opacity: 0.6;
238
+ }
239
+ }
240
+ .livePulse {
241
+ animation: livePulse 2s ease-in-out infinite;
242
+ }
243
+ @keyframes glowPulse {
244
+ 0%, 100% {
245
+ 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));
246
+ }
247
+ 50% {
248
+ 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));
249
+ }
250
+ }
251
+ @keyframes nodeEnter {
252
+ 0% {
253
+ opacity: 0;
254
+ transform: scale(0.8) translateY(10px);
255
+ }
256
+ 100% {
257
+ opacity: 1;
258
+ transform: scale(1) translateY(0);
259
+ }
260
+ }
261
+ @keyframes handlePulse {
262
+ 0%, 100% {
263
+ transform: scale(1);
264
+ box-shadow: 0 0 0 0 var(--handle-color, color-mix(in srgb, var(--color-primary) 40%, transparent));
265
+ }
266
+ 50% {
267
+ transform: scale(1.2);
268
+ box-shadow: 0 0 0 4px var(--handle-color, color-mix(in srgb, var(--color-primary) 0%, transparent));
269
+ }
270
+ }
271
+ @keyframes gridMove {
272
+ 0% {
273
+ background-position: 0 0;
274
+ }
275
+ 100% {
276
+ background-position: 40px 40px;
277
+ }
278
+ }
279
+ @keyframes labelFadeIn {
280
+ 0% {
281
+ opacity: 0;
282
+ transform: translate(-50%, -50%) translate(var(--label-x), var(--label-y)) scale(0.8);
283
+ }
284
+ 100% {
285
+ opacity: 1;
286
+ transform: translate(-50%, -50%) translate(var(--label-x), var(--label-y)) scale(1);
287
+ }
288
+ }
289
+ @keyframes scanLine {
290
+ 0% {
291
+ transform: translateY(-100%);
292
+ opacity: 0;
293
+ }
294
+ 50% {
295
+ opacity: 0.5;
296
+ }
297
+ 100% {
298
+ transform: translateY(100%);
299
+ opacity: 0;
300
+ }
301
+ }
302
+ .graphContainer {
303
+ position: relative;
304
+ background-image:
305
+ linear-gradient(color-mix(in srgb, var(--color-primary) 5%, transparent) 1px, transparent 1px),
306
+ linear-gradient(
307
+ 90deg,
308
+ color-mix(in srgb, var(--color-primary) 5%, transparent) 1px,
309
+ transparent 1px),
310
+ radial-gradient(
311
+ ellipse at 50% 50%,
312
+ color-mix(in srgb, var(--color-primary) 1.25%, transparent) 0%,
313
+ transparent 70%);
314
+ background-color: color-mix(in srgb, var(--color-background) 50%, var(--glass-background));
315
+ backdrop-filter: var(--glass-blur);
316
+ background-size:
317
+ 40px 40px,
318
+ 40px 40px,
319
+ 100% 100%;
320
+ animation: gridMove 20s linear infinite;
321
+ }
322
+ [data-mantine-color-scheme=dark] .graphContainer {
323
+ background-image:
324
+ linear-gradient(color-mix(in srgb, var(--color-primary) 9%, transparent) 1px, transparent 1px),
325
+ linear-gradient(
326
+ 90deg,
327
+ color-mix(in srgb, var(--color-primary) 9%, transparent) 1px,
328
+ transparent 1px),
329
+ radial-gradient(
330
+ ellipse at 50% 50%,
331
+ color-mix(in srgb, var(--color-primary) 2.25%, transparent) 0%,
332
+ transparent 70%);
333
+ background-size:
334
+ 40px 40px,
335
+ 40px 40px,
336
+ 100% 100%;
337
+ }
338
+ .node {
339
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
340
+ position: relative;
341
+ }
342
+ .node:nth-child(1) {
343
+ animation-delay: 0.05s;
344
+ }
345
+ .node:nth-child(2) {
346
+ animation-delay: 0.1s;
347
+ }
348
+ .node:nth-child(3) {
349
+ animation-delay: 0.15s;
350
+ }
351
+ .node:nth-child(4) {
352
+ animation-delay: 0.2s;
353
+ }
354
+ .node:nth-child(5) {
355
+ animation-delay: 0.25s;
356
+ }
357
+ .node:nth-child(6) {
358
+ animation-delay: 0.3s;
359
+ }
360
+ .node:nth-child(7) {
361
+ animation-delay: 0.35s;
362
+ }
363
+ .node:nth-child(8) {
364
+ animation-delay: 0.4s;
365
+ }
366
+ .node:nth-child(9) {
367
+ animation-delay: 0.45s;
368
+ }
369
+ .node:nth-child(10) {
370
+ animation-delay: 0.5s;
371
+ }
372
+ .node:nth-child(11) {
373
+ animation-delay: 0.55s;
374
+ }
375
+ .node:nth-child(12) {
376
+ animation-delay: 0.6s;
377
+ }
378
+ .nodeCard {
379
+ position: relative;
380
+ border-radius: var(--mantine-radius-md);
381
+ overflow: hidden;
382
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
383
+ }
384
+ .nodeCard::before {
385
+ content: "";
386
+ position: absolute;
387
+ inset: 0;
388
+ background:
389
+ linear-gradient(
390
+ 135deg,
391
+ var(--node-color-light, color-mix(in srgb, var(--color-primary) 10%, transparent)) 0%,
392
+ transparent 50%,
393
+ var(--node-color-light, color-mix(in srgb, var(--color-primary) 5%, transparent)) 100%);
394
+ pointer-events: none;
395
+ opacity: 0;
396
+ transition: opacity 0.3s ease;
397
+ }
398
+ .nodeCard::after {
399
+ content: "";
400
+ position: absolute;
401
+ left: 0;
402
+ right: 0;
403
+ height: 30%;
404
+ background:
405
+ linear-gradient(
406
+ 180deg,
407
+ transparent 0%,
408
+ var(--node-color-glow, color-mix(in srgb, var(--color-primary) 10%, transparent)) 50%,
409
+ transparent 100%);
410
+ pointer-events: none;
411
+ opacity: 0;
412
+ }
413
+ .nodeCard:hover::before,
414
+ .nodeCardSelected::before {
415
+ opacity: 1;
416
+ }
417
+ .nodeCard:hover::after,
418
+ .nodeCardSelected::after {
419
+ animation: scanLine 3s ease-in-out infinite;
420
+ }
421
+ .nodeCard:hover {
422
+ transform: translateY(-2px) scale(1.02);
423
+ }
424
+ .nodeCardSelected {
425
+ transform: translateY(-2px) scale(1.02);
426
+ animation: glowPulse 2s ease-in-out infinite;
427
+ }
428
+ .nodeAgent {
429
+ --glow-color: rgba(139, 92, 246, 0.4);
430
+ --node-color-light: rgba(139, 92, 246, 0.1);
431
+ --node-color-glow: rgba(139, 92, 246, 0.15);
432
+ --handle-color: rgba(139, 92, 246, 0.5);
433
+ --gradient-start: rgba(139, 92, 246, 0.15);
434
+ --gradient-end: rgba(139, 92, 246, 0.05);
435
+ }
436
+ .nodeWorkflow {
437
+ --glow-color: rgba(59, 130, 246, 0.4);
438
+ --node-color-light: rgba(59, 130, 246, 0.1);
439
+ --node-color-glow: rgba(59, 130, 246, 0.15);
440
+ --handle-color: rgba(59, 130, 246, 0.5);
441
+ --gradient-start: rgba(59, 130, 246, 0.15);
442
+ --gradient-end: rgba(59, 130, 246, 0.05);
443
+ }
444
+ .nodeTrigger {
445
+ --glow-color: rgba(249, 115, 22, 0.4);
446
+ --node-color-light: rgba(249, 115, 22, 0.1);
447
+ --node-color-glow: rgba(249, 115, 22, 0.15);
448
+ --handle-color: rgba(249, 115, 22, 0.5);
449
+ --gradient-start: rgba(249, 115, 22, 0.15);
450
+ --gradient-end: rgba(249, 115, 22, 0.05);
451
+ }
452
+ .nodeIntegration {
453
+ --glow-color: rgba(20, 184, 166, 0.4);
454
+ --node-color-light: rgba(20, 184, 166, 0.1);
455
+ --node-color-glow: rgba(20, 184, 166, 0.15);
456
+ --handle-color: rgba(20, 184, 166, 0.5);
457
+ --gradient-start: rgba(20, 184, 166, 0.15);
458
+ --gradient-end: rgba(20, 184, 166, 0.05);
459
+ }
460
+ .nodeExternal {
461
+ --glow-color: rgba(107, 114, 128, 0.4);
462
+ --node-color-light: rgba(107, 114, 128, 0.1);
463
+ --node-color-glow: rgba(107, 114, 128, 0.15);
464
+ --handle-color: rgba(107, 114, 128, 0.5);
465
+ --gradient-start: rgba(107, 114, 128, 0.15);
466
+ --gradient-end: rgba(107, 114, 128, 0.05);
467
+ }
468
+ .nodeHuman {
469
+ --glow-color: rgba(245, 158, 11, 0.4);
470
+ --node-color-light: rgba(245, 158, 11, 0.1);
471
+ --node-color-glow: rgba(245, 158, 11, 0.15);
472
+ --handle-color: rgba(245, 158, 11, 0.5);
473
+ --gradient-start: rgba(245, 158, 11, 0.15);
474
+ --gradient-end: rgba(245, 158, 11, 0.05);
475
+ }
476
+ .nodePrimary {
477
+ --glow-color: rgba(37, 99, 235, 0.4);
478
+ --node-color-light: rgba(37, 99, 235, 0.1);
479
+ --node-color-glow: rgba(37, 99, 235, 0.15);
480
+ --handle-color: rgba(37, 99, 235, 0.5);
481
+ --gradient-start: rgba(37, 99, 235, 0.15);
482
+ --gradient-end: rgba(37, 99, 235, 0.05);
483
+ }
484
+ .handle {
485
+ transition: all 0.2s ease;
486
+ }
487
+ .handle:hover {
488
+ animation: handlePulse 1s ease-in-out infinite;
489
+ }
490
+ .nodeIcon {
491
+ transition: all 0.3s ease;
492
+ }
493
+ .badge {
494
+ transition: all 0.2s ease;
495
+ backdrop-filter: blur(4px);
496
+ }
497
+ .nodeCard:hover .badge {
498
+ transform: scale(1.05);
499
+ }
500
+ .badgeProd {
501
+ box-shadow: 0 0 8px rgba(34, 197, 94, 0.3);
502
+ }
503
+ .edge {
504
+ transition: all 0.3s ease;
505
+ }
506
+ .edgeAnimated {
507
+ stroke-dasharray: 8 4;
508
+ animation: edgeFlow 1s linear infinite;
509
+ }
510
+ .edgeGlow {
511
+ filter: drop-shadow(0 0 3px var(--edge-color, color-mix(in srgb, var(--color-primary) 50%, transparent)));
512
+ }
513
+ .edgeHighlighted {
514
+ stroke-width: 3px;
515
+ }
516
+ .edgeLabel {
517
+ backdrop-filter: blur(8px);
518
+ border: 1px solid rgba(255, 255, 255, 0.1);
519
+ 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));
520
+ transition: box-shadow 0.2s ease;
521
+ }
522
+ .edgeLabel:hover {
523
+ 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));
524
+ }
525
+ .legend {
526
+ backdrop-filter: var(--glass-blur);
527
+ background: var(--glass-background);
528
+ border: 1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);
529
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1), 0 0 40px color-mix(in srgb, var(--color-primary) 10%, transparent);
530
+ }
531
+ [data-mantine-color-scheme=dark] .legend {
532
+ border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
533
+ }
534
+ .legendDot {
535
+ transition: all 0.2s ease;
536
+ box-shadow: 0 0 8px currentColor;
537
+ }
538
+ .legendDot:hover {
539
+ transform: scale(1.3);
540
+ box-shadow: 0 0 12px currentColor;
541
+ }
542
+ .nodeHighlighted .nodeCard {
543
+ transform: translateY(-2px) scale(1.02);
544
+ }
545
+ .nodeHighlighted .nodeCard::before {
546
+ opacity: 1;
547
+ }
548
+ .nodeHighlighted .nodeCard::after {
549
+ animation: scanLine 3s ease-in-out infinite;
550
+ }
551
+ .nodeDimmed {
552
+ opacity: 0.3;
553
+ filter: grayscale(0.5);
554
+ transition: all 0.3s ease;
555
+ }
556
+ .edgeHighlighted {
557
+ stroke-width: 4px !important;
558
+ }
559
+ .edgeDimmed {
560
+ opacity: 0.15;
561
+ transition: all 0.3s ease;
562
+ }
563
+ .edgeLabelDimmed {
564
+ opacity: 0.15;
565
+ transition: opacity 0.3s ease;
566
+ }
567
+ @media (prefers-reduced-motion: reduce) {
568
+ .node,
569
+ .nodeCard::after,
570
+ .edgeAnimated,
571
+ .nodeIcon,
572
+ .handle:hover,
573
+ .graphContainer {
574
+ animation: none;
575
+ }
576
+ .nodeCard:hover {
577
+ transform: none;
578
+ }
579
+ }
580
+
581
+ /* src/graph/Graph.globals.css */
582
+ .elevasis-graph-root .react-flow__node.selected,
583
+ .elevasis-graph-root .react-flow__node:focus,
584
+ .elevasis-graph-root .react-flow__node:focus-visible {
585
+ outline: none !important;
586
+ }
587
+ .elevasis-graph-root .react-flow__node.selected > * {
588
+ box-shadow: none;
589
+ }
@@ -337,6 +337,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
337
337
  }>;
338
338
  description: z.ZodOptional<z.ZodString>;
339
339
  enabled: z.ZodDefault<z.ZodBoolean>;
340
+ devOnly: z.ZodOptional<z.ZodBoolean>;
340
341
  icon: z.ZodOptional<z.ZodString>;
341
342
  featureId: z.ZodOptional<z.ZodString>;
342
343
  featureIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -592,6 +593,9 @@ type FeatureIconComponent = ComponentType<{
592
593
  size?: number;
593
594
  stroke?: number;
594
595
  }>;
596
+ type FeatureSidebarWidthResolver = number | ((context: {
597
+ currentPath: string;
598
+ }) => number);
595
599
  interface FeatureModule {
596
600
  /** Unique stable identifier for this feature module. */
597
601
  key: string;
@@ -603,6 +607,8 @@ interface FeatureModule {
603
607
  icon?: FeatureIconComponent;
604
608
  /** Sidebar component rendered when this feature's subtree route is active. */
605
609
  sidebar?: FeatureSidebarComponent;
610
+ /** Optional shell sidebar width override. Defaults to 250px. */
611
+ sidebarWidth?: FeatureSidebarWidthResolver;
606
612
  /** Operations-only bridge connecting this feature to the organization graph node. */
607
613
  organizationGraph?: OrganizationGraphFeatureBridge;
608
614
  }
@@ -1,7 +1,7 @@
1
- export { FeatureShell } from '../chunk-KVW56ERD.js';
1
+ export { FeatureShell } from '../chunk-AXXTN44Z.js';
2
2
  export { ElevasisCoreProvider, NotificationProvider, useNotificationAdapter } from '../chunk-LVUCBY7X.js';
3
- export { ElevasisFeaturesProvider, useElevasisFeatures, useOptionalElevasisFeatures } from '../chunk-VQESMHQV.js';
4
- import '../chunk-RX4UWZZR.js';
3
+ export { ElevasisFeaturesProvider, useElevasisFeatures, useOptionalElevasisFeatures } from '../chunk-LJWV4TWV.js';
4
+ import '../chunk-TKAYX2SP.js';
5
5
  import '../chunk-XUYBOO32.js';
6
6
  import '../chunk-SZHARWKU.js';
7
7
  import '../chunk-3KMDHCAR.js';
@@ -9,7 +9,7 @@ import '../chunk-NYBEU5TE.js';
9
9
  import '../chunk-T6INEVX6.js';
10
10
  import '../chunk-2IFYDILW.js';
11
11
  import '../chunk-Q7DJKLEN.js';
12
- import '../chunk-7YQKVWSD.js';
12
+ import '../chunk-SQ5JGELM.js';
13
13
  import '../chunk-6IA2OMAE.js';
14
14
  export { AppearanceProvider, useAppearance } from '../chunk-QJ2KCHKX.js';
15
15
  import '../chunk-HQ7M6PBW.js';