@elevasis/ui 2.21.0 → 2.22.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-KVW56ERD.js → chunk-AXXTN44Z.js} +5 -3
  4. package/dist/{chunk-7GG6OSD7.js → chunk-B4FHWKEF.js} +3354 -2918
  5. package/dist/{chunk-XLZZOFGM.js → chunk-BSZRKBAW.js} +275 -76
  6. package/dist/{chunk-CZK67OHH.js → chunk-COG4ABRI.js} +3 -3
  7. package/dist/{chunk-S7RL77QS.js → chunk-DDZOHLHB.js} +1 -1
  8. package/dist/{chunk-I5WRKH25.js → chunk-GJ7EIABJ.js} +1 -1
  9. package/dist/{chunk-LQU62KHD.js → chunk-IBUYJXA3.js} +1209 -705
  10. package/dist/{chunk-EDX6WIN3.js → chunk-IOTLB6ND.js} +3 -3
  11. package/dist/{chunk-GBMNCNHX.js → chunk-KVJ3LFH2.js} +3 -1
  12. package/dist/{chunk-VQESMHQV.js → chunk-LJWV4TWV.js} +1 -2
  13. package/dist/{chunk-EGKNRM6P.js → chunk-LKVBEE63.js} +2 -2
  14. package/dist/{chunk-BJWIKEQG.js → chunk-LVJGPE6H.js} +6 -14
  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-ATEHYDL3.js → chunk-WWJ6S2HQ.js} +6 -2
  19. package/dist/{chunk-Q5HC6ENG.js → chunk-XOTJNW4Q.js} +1 -1
  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 +1646 -1381
  23. package/dist/components/index.js +236 -30
  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 +184 -3
  28. package/dist/features/crm/index.css +2 -2
  29. package/dist/features/crm/index.d.ts +189 -3
  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 +189 -3
  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 +210 -9
  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 +184 -3
  55. package/dist/hooks/index.css +85 -85
  56. package/dist/hooks/index.d.ts +1815 -1515
  57. package/dist/hooks/index.js +8 -8
  58. package/dist/hooks/published.css +85 -85
  59. package/dist/hooks/published.d.ts +1815 -1515
  60. package/dist/hooks/published.js +8 -8
  61. package/dist/index.css +12 -12
  62. package/dist/index.d.ts +322 -16
  63. package/dist/index.js +9 -9
  64. package/dist/initialization/index.d.ts +184 -3
  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 +184 -3
  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 +359 -6
  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 +195 -6
  80. package/package.json +2 -2
  81. /package/dist/{chunk-6GUW5GGF.js → chunk-6Z3G4U2R.js} +0 -0
@@ -125,83 +125,14 @@
125
125
  }
126
126
  }
127
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;
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;
202
133
  }
203
- .hide-scrollbar::-webkit-scrollbar {
204
- display: none;
134
+ .elevasis-graph-root .react-flow__node.selected > * {
135
+ box-shadow: none;
205
136
  }
206
137
 
207
138
  /* src/graph/Graph.module.css */
@@ -309,7 +240,7 @@
309
240
  transparent 1px),
310
241
  radial-gradient(
311
242
  ellipse at 50% 50%,
312
- color-mix(in srgb, var(--color-primary) 5%, transparent) 0%,
243
+ color-mix(in srgb, var(--color-primary) 1.25%, transparent) 0%,
313
244
  transparent 70%);
314
245
  background-color: color-mix(in srgb, var(--color-background) 50%, var(--glass-background));
315
246
  backdrop-filter: var(--glass-blur);
@@ -328,7 +259,7 @@
328
259
  transparent 1px),
329
260
  radial-gradient(
330
261
  ellipse at 50% 50%,
331
- color-mix(in srgb, var(--color-primary) 9%, transparent) 0%,
262
+ color-mix(in srgb, var(--color-primary) 2.25%, transparent) 0%,
332
263
  transparent 70%);
333
264
  background-size:
334
265
  40px 40px,
@@ -578,12 +509,81 @@
578
509
  }
579
510
  }
580
511
 
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;
512
+ /* src/theme/custom.css */
513
+ .mantine-Button-root[data-variant=default] {
514
+ background-color: var(--color-surface);
515
+ backdrop-filter: var(--glass-blur);
516
+ -webkit-backdrop-filter: var(--glass-blur);
517
+ border: 1px solid var(--color-border);
518
+ color: var(--color-text);
586
519
  }
587
- .elevasis-graph-root .react-flow__node.selected > * {
588
- box-shadow: none;
520
+ .mantine-Button-root[data-variant=default]:hover {
521
+ background-color: var(--color-surface-hover);
522
+ }
523
+ .mantine-Accordion-control:hover {
524
+ background-color: var(--color-surface-hover);
525
+ }
526
+ .mantine-Menu-item:hover:not([data-disabled]) {
527
+ background-color: var(--color-surface-hover);
528
+ }
529
+ .mantine-Select-option:hover {
530
+ background-color: var(--color-surface-hover) !important;
531
+ }
532
+ [data-mantine-color-scheme=dark] .mantine-Tabs-root {
533
+ --tab-border-color: var(--color-border);
534
+ }
535
+ .mantine-Tabs-tab:hover {
536
+ background-color: var(--color-surface-hover);
537
+ }
538
+ .mantine-Pagination-control:not([data-active]) {
539
+ background: var(--color-surface);
540
+ }
541
+ ::-webkit-scrollbar {
542
+ width: 5px;
543
+ height: 5px;
544
+ }
545
+ ::-webkit-scrollbar-track {
546
+ background: transparent;
547
+ }
548
+ ::-webkit-scrollbar-thumb {
549
+ background: color-mix(in srgb, var(--color-text-subtle) 50%, var(--color-border));
550
+ border-radius: 4px;
551
+ }
552
+ ::-webkit-scrollbar-thumb:hover {
553
+ background: var(--color-text-subtle);
554
+ }
555
+ .mantine-Checkbox-input {
556
+ background-color: var(--color-surface);
557
+ border-color: var(--color-border);
558
+ }
559
+ .mantine-Checkbox-input:checked {
560
+ background-color: var(--color-primary);
561
+ border-color: var(--color-primary);
562
+ }
563
+ .mantine-Switch-root:has(input:not(:checked)) .mantine-Switch-track {
564
+ background-color: var(--color-surface-hover);
565
+ border-color: var(--color-border);
566
+ }
567
+ .mantine-Timeline-root {
568
+ --tl-color: var(--color-primary);
569
+ }
570
+ .mantine-Timeline-item {
571
+ --item-border-color: var(--color-border);
572
+ }
573
+ .mantine-Timeline-itemBullet {
574
+ border-color: var(--color-border);
575
+ }
576
+ .mantine-Timeline-itemBullet:where([data-with-child]) {
577
+ background-color: var(--color-primary);
578
+ border-color: var(--color-primary);
579
+ }
580
+ .recharts-surface:focus {
581
+ outline: none;
582
+ }
583
+ .hide-scrollbar {
584
+ scrollbar-width: none;
585
+ -ms-overflow-style: none;
586
+ }
587
+ .hide-scrollbar::-webkit-scrollbar {
588
+ display: none;
589
589
  }
@@ -1672,6 +1672,7 @@ type Database = {
1672
1672
  Row: {
1673
1673
  config: Json;
1674
1674
  created_at: string | null;
1675
+ effective_permissions: string[];
1675
1676
  id: string;
1676
1677
  membership_status: string | null;
1677
1678
  organization_id: string;
@@ -1683,6 +1684,7 @@ type Database = {
1683
1684
  Insert: {
1684
1685
  config?: Json;
1685
1686
  created_at?: string | null;
1687
+ effective_permissions?: string[];
1686
1688
  id?: string;
1687
1689
  membership_status?: string | null;
1688
1690
  organization_id: string;
@@ -1694,6 +1696,7 @@ type Database = {
1694
1696
  Update: {
1695
1697
  config?: Json;
1696
1698
  created_at?: string | null;
1699
+ effective_permissions?: string[];
1697
1700
  id?: string;
1698
1701
  membership_status?: string | null;
1699
1702
  organization_id?: string;
@@ -1719,6 +1722,147 @@ type Database = {
1719
1722
  }
1720
1723
  ];
1721
1724
  };
1725
+ org_rol_assignments: {
1726
+ Row: {
1727
+ granted_at: string;
1728
+ granted_by: string | null;
1729
+ membership_id: string;
1730
+ role_id: string;
1731
+ };
1732
+ Insert: {
1733
+ granted_at?: string;
1734
+ granted_by?: string | null;
1735
+ membership_id: string;
1736
+ role_id: string;
1737
+ };
1738
+ Update: {
1739
+ granted_at?: string;
1740
+ granted_by?: string | null;
1741
+ membership_id?: string;
1742
+ role_id?: string;
1743
+ };
1744
+ Relationships: [
1745
+ {
1746
+ foreignKeyName: "org_rol_assignments_granted_by_fkey";
1747
+ columns: ["granted_by"];
1748
+ isOneToOne: false;
1749
+ referencedRelation: "users";
1750
+ referencedColumns: ["id"];
1751
+ },
1752
+ {
1753
+ foreignKeyName: "org_rol_assignments_membership_id_fkey";
1754
+ columns: ["membership_id"];
1755
+ isOneToOne: false;
1756
+ referencedRelation: "org_memberships";
1757
+ referencedColumns: ["id"];
1758
+ },
1759
+ {
1760
+ foreignKeyName: "org_rol_assignments_role_id_fkey";
1761
+ columns: ["role_id"];
1762
+ isOneToOne: false;
1763
+ referencedRelation: "org_rol_definitions";
1764
+ referencedColumns: ["id"];
1765
+ }
1766
+ ];
1767
+ };
1768
+ org_rol_definitions: {
1769
+ Row: {
1770
+ created_at: string;
1771
+ description: string | null;
1772
+ id: string;
1773
+ is_system: boolean;
1774
+ name: string;
1775
+ organization_id: string | null;
1776
+ slug: string;
1777
+ updated_at: string;
1778
+ };
1779
+ Insert: {
1780
+ created_at?: string;
1781
+ description?: string | null;
1782
+ id?: string;
1783
+ is_system?: boolean;
1784
+ name: string;
1785
+ organization_id?: string | null;
1786
+ slug: string;
1787
+ updated_at?: string;
1788
+ };
1789
+ Update: {
1790
+ created_at?: string;
1791
+ description?: string | null;
1792
+ id?: string;
1793
+ is_system?: boolean;
1794
+ name?: string;
1795
+ organization_id?: string | null;
1796
+ slug?: string;
1797
+ updated_at?: string;
1798
+ };
1799
+ Relationships: [
1800
+ {
1801
+ foreignKeyName: "org_rol_definitions_organization_id_fkey";
1802
+ columns: ["organization_id"];
1803
+ isOneToOne: false;
1804
+ referencedRelation: "organizations";
1805
+ referencedColumns: ["id"];
1806
+ }
1807
+ ];
1808
+ };
1809
+ org_rol_grants: {
1810
+ Row: {
1811
+ granted_at: string;
1812
+ permission_key: string;
1813
+ role_id: string;
1814
+ };
1815
+ Insert: {
1816
+ granted_at?: string;
1817
+ permission_key: string;
1818
+ role_id: string;
1819
+ };
1820
+ Update: {
1821
+ granted_at?: string;
1822
+ permission_key?: string;
1823
+ role_id?: string;
1824
+ };
1825
+ Relationships: [
1826
+ {
1827
+ foreignKeyName: "org_rol_grants_permission_key_fkey";
1828
+ columns: ["permission_key"];
1829
+ isOneToOne: false;
1830
+ referencedRelation: "org_rol_permissions";
1831
+ referencedColumns: ["key"];
1832
+ },
1833
+ {
1834
+ foreignKeyName: "org_rol_grants_role_id_fkey";
1835
+ columns: ["role_id"];
1836
+ isOneToOne: false;
1837
+ referencedRelation: "org_rol_definitions";
1838
+ referencedColumns: ["id"];
1839
+ }
1840
+ ];
1841
+ };
1842
+ org_rol_permissions: {
1843
+ Row: {
1844
+ created_at: string;
1845
+ description: string;
1846
+ is_org_grantable: boolean;
1847
+ key: string;
1848
+ updated_at: string;
1849
+ };
1850
+ Insert: {
1851
+ created_at?: string;
1852
+ description: string;
1853
+ is_org_grantable?: boolean;
1854
+ key: string;
1855
+ updated_at?: string;
1856
+ };
1857
+ Update: {
1858
+ created_at?: string;
1859
+ description?: string;
1860
+ is_org_grantable?: boolean;
1861
+ key?: string;
1862
+ updated_at?: string;
1863
+ };
1864
+ Relationships: [];
1865
+ };
1722
1866
  organizations: {
1723
1867
  Row: {
1724
1868
  config: Json;
@@ -2476,7 +2620,8 @@ type Database = {
2476
2620
  created_at: string;
2477
2621
  description: string | null;
2478
2622
  id: string;
2479
- key: string;
2623
+ key_hash: string;
2624
+ key_prefix: string | null;
2480
2625
  last_triggered_at: string | null;
2481
2626
  name: string;
2482
2627
  organization_id: string;
@@ -2489,7 +2634,8 @@ type Database = {
2489
2634
  created_at?: string;
2490
2635
  description?: string | null;
2491
2636
  id?: string;
2492
- key: string;
2637
+ key_hash: string;
2638
+ key_prefix?: string | null;
2493
2639
  last_triggered_at?: string | null;
2494
2640
  name: string;
2495
2641
  organization_id: string;
@@ -2502,7 +2648,8 @@ type Database = {
2502
2648
  created_at?: string;
2503
2649
  description?: string | null;
2504
2650
  id?: string;
2505
- key?: string;
2651
+ key_hash?: string;
2652
+ key_prefix?: string | null;
2506
2653
  last_triggered_at?: string | null;
2507
2654
  name?: string;
2508
2655
  organization_id?: string;
@@ -2548,6 +2695,13 @@ type Database = {
2548
2695
  Args: never;
2549
2696
  Returns: string;
2550
2697
  };
2698
+ can_assign_role_in_org: {
2699
+ Args: {
2700
+ p_role_id: string;
2701
+ p_target_membership_id: string;
2702
+ };
2703
+ Returns: boolean;
2704
+ };
2551
2705
  current_user_is_platform_admin: {
2552
2706
  Args: never;
2553
2707
  Returns: boolean;
@@ -2577,6 +2731,10 @@ type Database = {
2577
2731
  user_id: string;
2578
2732
  }[];
2579
2733
  };
2734
+ get_platform_credential_kek: {
2735
+ Args: never;
2736
+ Returns: string;
2737
+ };
2580
2738
  get_storage_org_id: {
2581
2739
  Args: {
2582
2740
  file_path: string;
@@ -2587,6 +2745,13 @@ type Database = {
2587
2745
  Args: never;
2588
2746
  Returns: string;
2589
2747
  };
2748
+ has_org_permission: {
2749
+ Args: {
2750
+ org_id: string;
2751
+ perm_key: string;
2752
+ };
2753
+ Returns: boolean;
2754
+ };
2590
2755
  is_org_admin: {
2591
2756
  Args: {
2592
2757
  org_id: string;
@@ -2619,6 +2784,22 @@ type Database = {
2619
2784
  Args: never;
2620
2785
  Returns: Json;
2621
2786
  };
2787
+ recompute_all_memberships: {
2788
+ Args: never;
2789
+ Returns: undefined;
2790
+ };
2791
+ sync_all_memberships_with_role: {
2792
+ Args: {
2793
+ p_role_id: string;
2794
+ };
2795
+ Returns: undefined;
2796
+ };
2797
+ sync_one_membership: {
2798
+ Args: {
2799
+ p_membership_id: string;
2800
+ };
2801
+ Returns: undefined;
2802
+ };
2622
2803
  upsert_user_profile: {
2623
2804
  Args: never;
2624
2805
  Returns: {
@@ -2755,6 +2936,9 @@ type FeatureIconComponent = ComponentType<{
2755
2936
  size?: number;
2756
2937
  stroke?: number;
2757
2938
  }>;
2939
+ type FeatureSidebarWidthResolver = number | ((context: {
2940
+ currentPath: string;
2941
+ }) => number);
2758
2942
  interface FeatureModule {
2759
2943
  /** Unique stable identifier for this feature module. */
2760
2944
  key: string;
@@ -2766,6 +2950,8 @@ interface FeatureModule {
2766
2950
  icon?: FeatureIconComponent;
2767
2951
  /** Sidebar component rendered when this feature's subtree route is active. */
2768
2952
  sidebar?: FeatureSidebarComponent;
2953
+ /** Optional shell sidebar width override. Defaults to 250px. */
2954
+ sidebarWidth?: FeatureSidebarWidthResolver;
2769
2955
  /** Operations-only bridge connecting this feature to the organization graph node. */
2770
2956
  organizationGraph?: OrganizationGraphFeatureBridge;
2771
2957
  }
@@ -1,26 +1,26 @@
1
- export { AllTasksPage, Checklist, CreateDeliveryEntityModal, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, HealthStatusCard, MilestoneTimeline, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, TaskCard, UpcomingMilestonesPage, calculateProgress, deliveryManifest, formatStatusLabel, milestoneStatusColors, noteTypeColors, projectStatusColors, taskStatusColors, taskTypeColors } from '../../chunk-BJWIKEQG.js';
1
+ export { AllTasksPage, Checklist, CreateDeliveryEntityModal, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, HealthStatusCard, MilestoneTimeline, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, TaskCard, UpcomingMilestonesPage, calculateProgress, deliveryManifest, formatStatusLabel, milestoneStatusColors, noteTypeColors, projectStatusColors, taskStatusColors, taskTypeColors } from '../../chunk-LVJGPE6H.js';
2
2
  import '../../chunk-442LZPIR.js';
3
3
  import '../../chunk-BZZCNLT6.js';
4
4
  import '../../chunk-TUMSNGTX.js';
5
5
  import '../../chunk-CEWTOKE7.js';
6
6
  import '../../chunk-IIMU5YAJ.js';
7
7
  import '../../chunk-PDHTXPSF.js';
8
- import '../../chunk-GBMNCNHX.js';
8
+ import '../../chunk-KVJ3LFH2.js';
9
9
  import '../../chunk-7M2VOCYN.js';
10
- import '../../chunk-7GG6OSD7.js';
10
+ import '../../chunk-B4FHWKEF.js';
11
11
  import '../../chunk-BRXELOHC.js';
12
12
  import '../../chunk-QSTH6T77.js';
13
13
  import '../../chunk-Z6FAH4XV.js';
14
14
  import '../../chunk-22UVE3RA.js';
15
15
  import '../../chunk-3ZMAGTWF.js';
16
- import '../../chunk-ULZ2B3NC.js';
17
- import '../../chunk-DMYELNGA.js';
18
- import '../../chunk-Q5HC6ENG.js';
16
+ import '../../chunk-ZBCTB5CA.js';
17
+ import '../../chunk-3HEUGBOT.js';
18
+ import '../../chunk-XOTJNW4Q.js';
19
19
  import '../../chunk-WLOQ4IBG.js';
20
- import '../../chunk-KVW56ERD.js';
20
+ import '../../chunk-AXXTN44Z.js';
21
21
  import '../../chunk-LVUCBY7X.js';
22
- import '../../chunk-VQESMHQV.js';
23
- import '../../chunk-RX4UWZZR.js';
22
+ import '../../chunk-LJWV4TWV.js';
23
+ import '../../chunk-TKAYX2SP.js';
24
24
  import '../../chunk-XUYBOO32.js';
25
25
  import '../../chunk-SZHARWKU.js';
26
26
  import '../../chunk-3KMDHCAR.js';
@@ -28,7 +28,7 @@ import '../../chunk-NYBEU5TE.js';
28
28
  import '../../chunk-T6INEVX6.js';
29
29
  import '../../chunk-2IFYDILW.js';
30
30
  import '../../chunk-Q7DJKLEN.js';
31
- import '../../chunk-7YQKVWSD.js';
31
+ import '../../chunk-SQ5JGELM.js';
32
32
  import '../../chunk-6IA2OMAE.js';
33
33
  import '../../chunk-QJ2KCHKX.js';
34
34
  import '../../chunk-HQ7M6PBW.js';
@@ -309,7 +309,7 @@
309
309
  transparent 1px),
310
310
  radial-gradient(
311
311
  ellipse at 50% 50%,
312
- color-mix(in srgb, var(--color-primary) 5%, transparent) 0%,
312
+ color-mix(in srgb, var(--color-primary) 1.25%, transparent) 0%,
313
313
  transparent 70%);
314
314
  background-color: color-mix(in srgb, var(--color-background) 50%, var(--glass-background));
315
315
  backdrop-filter: var(--glass-blur);
@@ -328,7 +328,7 @@
328
328
  transparent 1px),
329
329
  radial-gradient(
330
330
  ellipse at 50% 50%,
331
- color-mix(in srgb, var(--color-primary) 9%, transparent) 0%,
331
+ color-mix(in srgb, var(--color-primary) 2.25%, transparent) 0%,
332
332
  transparent 70%);
333
333
  background-size:
334
334
  40px 40px,
@@ -205,6 +205,9 @@ type FeatureIconComponent = ComponentType<{
205
205
  size?: number;
206
206
  stroke?: number;
207
207
  }>;
208
+ type FeatureSidebarWidthResolver = number | ((context: {
209
+ currentPath: string;
210
+ }) => number);
208
211
  interface FeatureModule {
209
212
  /** Unique stable identifier for this feature module. */
210
213
  key: string;
@@ -216,6 +219,8 @@ interface FeatureModule {
216
219
  icon?: FeatureIconComponent;
217
220
  /** Sidebar component rendered when this feature's subtree route is active. */
218
221
  sidebar?: FeatureSidebarComponent;
222
+ /** Optional shell sidebar width override. Defaults to 250px. */
223
+ sidebarWidth?: FeatureSidebarWidthResolver;
219
224
  /** Operations-only bridge connecting this feature to the organization graph node. */
220
225
  organizationGraph?: OrganizationGraphFeatureBridge;
221
226
  }
@@ -1,25 +1,25 @@
1
- export { CompanyDetailModal, ContactDetailModal, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LIST_TEMPLATE_OPTIONS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, buildListConfig, formatDate, getEnrichmentColor, getEnrichmentStatus, getStatusColor, leadGenManifest, useDeleteLists } from '../../chunk-CZK67OHH.js';
1
+ export { CompanyDetailModal, ContactDetailModal, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LIST_TEMPLATE_OPTIONS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, buildListConfig, formatDate, getEnrichmentColor, getEnrichmentStatus, getStatusColor, leadGenManifest, useDeleteLists } from '../../chunk-COG4ABRI.js';
2
2
  import '../../chunk-BZZCNLT6.js';
3
3
  import '../../chunk-TUMSNGTX.js';
4
4
  import '../../chunk-CEWTOKE7.js';
5
5
  import '../../chunk-IIMU5YAJ.js';
6
6
  import '../../chunk-PDHTXPSF.js';
7
- import '../../chunk-GBMNCNHX.js';
7
+ import '../../chunk-KVJ3LFH2.js';
8
8
  import '../../chunk-7M2VOCYN.js';
9
- export { companyKeys as acquisitionCompanyKeys, contactKeys as acquisitionContactKeys, companyKeys, contactKeys, useCompanies, useCompany, useCompanyFacets, useContact, useContacts, useCreateCompany, useCreateContact, useDeleteCompanies, useDeleteContacts, useUpdateCompany, useUpdateContact } from '../../chunk-7GG6OSD7.js';
9
+ export { companyKeys as acquisitionCompanyKeys, contactKeys as acquisitionContactKeys, companyKeys, contactKeys, useCompanies, useCompany, useCompanyFacets, useContact, useContacts, useCreateCompany, useCreateContact, useDeleteCompanies, useDeleteContacts, useUpdateCompany, useUpdateContact } from '../../chunk-B4FHWKEF.js';
10
10
  import '../../chunk-BRXELOHC.js';
11
11
  import '../../chunk-QSTH6T77.js';
12
12
  import '../../chunk-Z6FAH4XV.js';
13
13
  import '../../chunk-22UVE3RA.js';
14
14
  import '../../chunk-3ZMAGTWF.js';
15
- import '../../chunk-ULZ2B3NC.js';
16
- import '../../chunk-DMYELNGA.js';
17
- import '../../chunk-Q5HC6ENG.js';
15
+ import '../../chunk-ZBCTB5CA.js';
16
+ import '../../chunk-3HEUGBOT.js';
17
+ import '../../chunk-XOTJNW4Q.js';
18
18
  import '../../chunk-WLOQ4IBG.js';
19
- import '../../chunk-KVW56ERD.js';
19
+ import '../../chunk-AXXTN44Z.js';
20
20
  import '../../chunk-LVUCBY7X.js';
21
- import '../../chunk-VQESMHQV.js';
22
- import '../../chunk-RX4UWZZR.js';
21
+ import '../../chunk-LJWV4TWV.js';
22
+ import '../../chunk-TKAYX2SP.js';
23
23
  import '../../chunk-XUYBOO32.js';
24
24
  import '../../chunk-SZHARWKU.js';
25
25
  import '../../chunk-3KMDHCAR.js';
@@ -27,7 +27,7 @@ import '../../chunk-NYBEU5TE.js';
27
27
  import '../../chunk-T6INEVX6.js';
28
28
  import '../../chunk-2IFYDILW.js';
29
29
  import '../../chunk-Q7DJKLEN.js';
30
- import '../../chunk-7YQKVWSD.js';
30
+ import '../../chunk-SQ5JGELM.js';
31
31
  import '../../chunk-6IA2OMAE.js';
32
32
  import '../../chunk-QJ2KCHKX.js';
33
33
  import '../../chunk-HQ7M6PBW.js';