@elevasis/ui 2.0.1 → 2.0.2

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 (53) hide show
  1. package/dist/auth/index.js +1 -2
  2. package/dist/charts/index.js +7 -9
  3. package/dist/{chunk-ZT754TNZ.js → chunk-2DSYC52I.js} +3 -3
  4. package/dist/{chunk-NEST7NA4.js → chunk-CTU2JO57.js} +30 -24
  5. package/dist/{chunk-QJ2S46NI.js → chunk-DT3QYZVU.js} +2 -2
  6. package/dist/{chunk-QTD5HPKD.js → chunk-EIHG5JZN.js} +1 -1
  7. package/dist/{chunk-YUAE4IVA.js → chunk-KFICYU6S.js} +1 -1
  8. package/dist/{chunk-CD6UPIXK.js → chunk-MELNDAZY.js} +20 -110
  9. package/dist/{chunk-RWQIFKMJ.js → chunk-MTJ43R2E.js} +10 -2
  10. package/dist/{chunk-VB4MVOPL.js → chunk-MZPVNRPL.js} +130 -27
  11. package/dist/{chunk-NNKKBSJN.js → chunk-NYBEU5TE.js} +1 -1
  12. package/dist/{chunk-2IJCM3VQ.js → chunk-OCP2MBTY.js} +134 -118
  13. package/dist/{chunk-YVDYRV4Q.js → chunk-OKKGD3S6.js} +3 -3
  14. package/dist/{chunk-7QNDXJQW.js → chunk-PRLXFMNP.js} +2 -2
  15. package/dist/{chunk-ZNG35YAN.js → chunk-QRHLV74B.js} +23 -18
  16. package/dist/{chunk-5COLSYBE.js → chunk-RX4UWZZR.js} +1 -1
  17. package/dist/{chunk-C27LLJM6.js → chunk-SMJLS23U.js} +2 -2
  18. package/dist/{chunk-N5BS2VIA.js → chunk-TQ3HK7ZR.js} +6 -6
  19. package/dist/{chunk-P6EELWRV.js → chunk-TZOGB3X4.js} +2 -2
  20. package/dist/{chunk-TXPUIHX2.js → chunk-X7CHQ3RE.js} +1 -1
  21. package/dist/{chunk-MCA6LOGM.js → chunk-Y3D3WFJG.js} +54 -5
  22. package/dist/{chunk-YYBM5LNJ.js → chunk-YEX4MQSY.js} +1 -1
  23. package/dist/components/index.d.ts +18 -14
  24. package/dist/components/index.js +87 -263
  25. package/dist/features/auth/index.js +3 -4
  26. package/dist/features/dashboard/index.d.ts +1 -0
  27. package/dist/features/dashboard/index.js +15 -17
  28. package/dist/features/monitoring/index.css +127 -127
  29. package/dist/features/monitoring/index.d.ts +1 -0
  30. package/dist/features/monitoring/index.js +16 -18
  31. package/dist/features/operations/index.d.ts +2 -1
  32. package/dist/features/operations/index.js +18 -20
  33. package/dist/features/settings/index.d.ts +1 -0
  34. package/dist/features/settings/index.js +15 -17
  35. package/dist/hooks/index.css +127 -127
  36. package/dist/hooks/index.js +12 -9
  37. package/dist/hooks/published.css +127 -127
  38. package/dist/hooks/published.js +11 -8
  39. package/dist/index.css +118 -118
  40. package/dist/index.d.ts +14 -2
  41. package/dist/index.js +13 -12
  42. package/dist/layout/index.d.ts +20 -44
  43. package/dist/layout/index.js +6 -6
  44. package/dist/provider/index.css +127 -59
  45. package/dist/provider/index.d.ts +14 -2
  46. package/dist/provider/index.js +10 -6
  47. package/dist/provider/published.css +126 -0
  48. package/dist/provider/published.d.ts +14 -2
  49. package/dist/provider/published.js +8 -3
  50. package/dist/theme/index.js +2 -2
  51. package/package.json +1 -1
  52. package/dist/chunk-ALA56RGZ.js +0 -13
  53. package/dist/chunk-SZHARWKU.js +0 -15
@@ -4219,6 +4219,11 @@ declare function TimeRangeSelector({ value, onChange, width }: TimeRangeSelector
4219
4219
 
4220
4220
  declare function PageNotFound(): react_jsx_runtime.JSX.Element;
4221
4221
 
4222
+ interface FeatureUnavailableStateProps {
4223
+ path?: string;
4224
+ }
4225
+ declare function FeatureUnavailableState({ path }: FeatureUnavailableStateProps): react_jsx_runtime.JSX.Element;
4226
+
4222
4227
  interface ResourceCardProps {
4223
4228
  resource: ResourceDefinition;
4224
4229
  onClick: (resource: ResourceDefinition) => void;
@@ -8483,10 +8488,8 @@ interface OrganizationMembershipsListProps {
8483
8488
  memberships: MembershipWithDetails[];
8484
8489
  loading: boolean;
8485
8490
  error?: Error | null;
8486
- onEditRole?: (membershipId: string) => void;
8487
- onLeaveOrganization?: (membershipId: string) => void;
8488
8491
  }
8489
- declare function OrganizationMembershipsList({ memberships, loading, error, onEditRole, onLeaveOrganization }: OrganizationMembershipsListProps): react_jsx_runtime.JSX.Element;
8492
+ declare function OrganizationMembershipsList({ memberships, loading, error }: OrganizationMembershipsListProps): react_jsx_runtime.JSX.Element;
8490
8493
 
8491
8494
  interface WebhookUrlDisplayModalProps {
8492
8495
  opened: boolean;
@@ -8660,31 +8663,36 @@ interface SavedViewPreset {
8660
8663
  iconName: 'IconUser' | 'IconClockExclamation' | 'IconTrophy';
8661
8664
  target: '/crm/pipeline' | '/crm/deals';
8662
8665
  urlFilters?: DealFilters;
8663
- predicate?: (deal: DealListItem) => boolean;
8664
8666
  }
8665
8667
  declare const SAVED_VIEW_PRESETS: SavedViewPreset[];
8666
8668
 
8667
8669
  interface MyTasksPanelProps {
8668
8670
  onTaskClick: (dealId: string) => void;
8669
8671
  onSeeAll?: () => void;
8672
+ footer?: ReactNode;
8673
+ showSectionLabel?: boolean;
8670
8674
  }
8671
- declare function MyTasksPanel({ onTaskClick, onSeeAll }: MyTasksPanelProps): react_jsx_runtime.JSX.Element;
8675
+ declare function MyTasksPanel({ onTaskClick, onSeeAll, footer, showSectionLabel }: MyTasksPanelProps): react_jsx_runtime.JSX.Element;
8672
8676
 
8673
8677
  interface SavedViewsPanelProps {
8674
8678
  onViewClick: (preset: SavedViewPreset) => void;
8679
+ showSectionLabel?: boolean;
8675
8680
  }
8676
- declare function SavedViewsPanel({ onViewClick }: SavedViewsPanelProps): react_jsx_runtime.JSX.Element;
8681
+ declare function SavedViewsPanel({ onViewClick, showSectionLabel }: SavedViewsPanelProps): react_jsx_runtime.JSX.Element;
8677
8682
 
8678
8683
  interface QuickCreateActionsProps {
8679
- onNewDeal: () => void;
8684
+ /** Retained for compatibility; the shared sidebar no longer exposes a New Deal action. */
8685
+ onNewDeal?: () => void;
8686
+ showSectionLabel?: boolean;
8680
8687
  }
8681
- declare function QuickCreateActions({ onNewDeal }: QuickCreateActionsProps): react_jsx_runtime.JSX.Element;
8688
+ declare function QuickCreateActions({ showSectionLabel }: QuickCreateActionsProps): react_jsx_runtime.JSX.Element;
8682
8689
 
8683
8690
  interface FeatureNavLink {
8684
8691
  label: string;
8685
8692
  link: string;
8686
8693
  featureKey?: string;
8687
8694
  onClick?: () => void;
8695
+ links?: FeatureNavLink[];
8688
8696
  }
8689
8697
  interface FeatureNavEntry {
8690
8698
  label: string;
@@ -8754,10 +8762,6 @@ interface ProjectsSidebarMiddleProps {
8754
8762
  }
8755
8763
  declare const ProjectsSidebarMiddle: ({ currentPath, onNavigate }?: ProjectsSidebarMiddleProps) => react_jsx_runtime.JSX.Element;
8756
8764
 
8757
- declare function AllTasksPage(): react_jsx_runtime.JSX.Element;
8758
-
8759
- declare function UpcomingMilestonesPage(): react_jsx_runtime.JSX.Element;
8760
-
8761
8765
  declare const deliveryManifest: FeatureModule;
8762
8766
 
8763
8767
  declare const projectStatusColors: Record<string, string>;
@@ -8786,5 +8790,5 @@ declare const OperationsSidebarMiddle: () => react_jsx_runtime.JSX.Element;
8786
8790
 
8787
8791
  declare const operationsManifest: FeatureModule;
8788
8792
 
8789
- export { APIErrorAlert, AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, ActivityTimeline, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CONTAINER_CONSTANTS, CardHeader, CenteredErrorState, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewEdge, CommandViewGraph, CommandViewNode, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateScheduleModal, CredentialList, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDrawer, DealKanbanCard, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, DocTreeNav, EditApiKeyModal, ElevasisLoader, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FilterBar, FormFieldRenderer, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, JsonViewer, KanbanBoard, KnowledgeBasePage, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MembershipFeaturePanel, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipsList, PIPELINE_FUNNEL_ORDER, PageNotFound, PageTitleCaption, PipelineFunnelWidget, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceCard, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, SAVED_VIEW_PRESETS, SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, SHARED_VIZ_CONSTANTS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StyledMarkdown, TabCountBadge, TableSelectionToolbar, TaskCard, TaskScheduler, TasksDueWidget, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UpcomingMilestonesPage, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, buildErrorReport, calculateProgress, catalogItemToResourceDefinition, crmManifest, dashboardManifest, deliveryManifest, formatStatusLabel, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, iconMap, leadGenManifest, mdxComponents, milestoneStatusColors, monitoringManifest, noteTypeColors, operationsManifest, projectStatusColors, seoManifest, settingsManifest, showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useGraphBackgroundStyles, useGraphTheme, useNewKnowledgeMapLayout, useRecentCrmActivity };
8790
- export type { ActivityEntry, ActivityFiltersProps, ActivityTableProps, BaseEdgeProps, BaseExecutionLogsProps, BreadcrumbsProps, CommandViewGraphRef, ContextViewerProps, CostByModelTableProps, CrashErrorFallbackProps, CrmOverviewProps, DealDrawerProps, DealKanbanCardProps, ErrorAnalysisCardProps, ErrorReportCardProps, ExecutionBreakdownTableProps, ExecutionHealthCardProps, ExecutionLogEntry, ExecutionLogsFiltersProps, ExecutionLogsTableProps, FitViewButtonVariant, FormFieldRendererProps, GraphFitViewHandlerProps, JsonViewerProps, KanbanBoardProps, KnowledgeMapEdgeData, KnowledgeMapNodeData, LogLevel, MdxRendererProps, NavigationButtonProps, ProjectsSidebarMiddleProps, ResourceHealthPanelProps, RichTextEditorProps, SavedViewPreset, ScheduleType, SerializedKnowledgeMap, SerializedKnowledgeNode, StatCardProps, StyledMarkdownProps, TaskFilterStatus, TrendIndicatorProps };
8793
+ export { APIErrorAlert, AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, ActivityTimeline, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CONTAINER_CONSTANTS, CardHeader, CenteredErrorState, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewEdge, CommandViewGraph, CommandViewNode, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateScheduleModal, CredentialList, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDrawer, DealKanbanCard, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, DocTreeNav, EditApiKeyModal, ElevasisLoader, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FeatureUnavailableState, FilterBar, FormFieldRenderer, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, JsonViewer, KanbanBoard, KnowledgeBasePage, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MembershipFeaturePanel, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipsList, PIPELINE_FUNNEL_ORDER, PageNotFound, PageTitleCaption, PipelineFunnelWidget, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceCard, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, SAVED_VIEW_PRESETS, SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, SHARED_VIZ_CONSTANTS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StyledMarkdown, TabCountBadge, TableSelectionToolbar, TaskCard, TaskScheduler, TasksDueWidget, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, buildErrorReport, calculateProgress, catalogItemToResourceDefinition, crmManifest, dashboardManifest, deliveryManifest, formatStatusLabel, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, iconMap, leadGenManifest, mdxComponents, milestoneStatusColors, monitoringManifest, noteTypeColors, operationsManifest, projectStatusColors, seoManifest, settingsManifest, showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useGraphBackgroundStyles, useGraphTheme, useNewKnowledgeMapLayout, useRecentCrmActivity };
8794
+ export type { ActivityEntry, ActivityFiltersProps, ActivityTableProps, BaseEdgeProps, BaseExecutionLogsProps, BreadcrumbsProps, CommandViewGraphRef, ContextViewerProps, CostByModelTableProps, CrashErrorFallbackProps, CrmOverviewProps, DealDrawerProps, DealKanbanCardProps, ErrorAnalysisCardProps, ErrorReportCardProps, ExecutionBreakdownTableProps, ExecutionHealthCardProps, ExecutionLogEntry, ExecutionLogsFiltersProps, ExecutionLogsTableProps, FeatureUnavailableStateProps, FitViewButtonVariant, FormFieldRendererProps, GraphFitViewHandlerProps, JsonViewerProps, KanbanBoardProps, KnowledgeMapEdgeData, KnowledgeMapNodeData, LogLevel, MdxRendererProps, NavigationButtonProps, ProjectsSidebarMiddleProps, ResourceHealthPanelProps, RichTextEditorProps, SavedViewPreset, ScheduleType, SerializedKnowledgeMap, SerializedKnowledgeNode, StatCardProps, StyledMarkdownProps, TaskFilterStatus, TrendIndicatorProps };
@@ -1,55 +1,53 @@
1
1
  import { useBreadcrumbs } from '../chunk-MG3NF7QL.js';
2
- import '../chunk-C27LLJM6.js';
3
- import { NotificationList } from '../chunk-ZNG35YAN.js';
4
- export { ActivityCard, ActivityFilters as ActivityFiltersBar, ActivityTable, BusinessImpactCard, CostBreakdownCard, CostByModelTable, CostMetricsCard, ErrorAnalysisCard, ErrorBreakdownTable, ExecutionBreakdownTable, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, NotificationItem, NotificationList, monitoringManifest } from '../chunk-ZNG35YAN.js';
5
- export { CreateCredentialModal, CredentialList, CredentialSettings, MembershipFeaturePanel, MembershipStatusBadge, OAuthConnectModal, OrganizationMembershipsList, WebhookUrlDisplayModal, settingsManifest } from '../chunk-CD6UPIXK.js';
2
+ import '../chunk-SMJLS23U.js';
3
+ import { NotificationList } from '../chunk-QRHLV74B.js';
4
+ export { ActivityCard, ActivityFilters as ActivityFiltersBar, ActivityTable, BusinessImpactCard, CostBreakdownCard, CostByModelTable, CostMetricsCard, ErrorAnalysisCard, ErrorBreakdownTable, ExecutionBreakdownTable, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, NotificationItem, NotificationList, monitoringManifest } from '../chunk-QRHLV74B.js';
5
+ export { CreateCredentialModal, CredentialList, CredentialSettings, MembershipFeaturePanel, MembershipStatusBadge, OAuthConnectModal, OrganizationMembershipsList, WebhookUrlDisplayModal, settingsManifest } from '../chunk-MELNDAZY.js';
6
6
  import { FilterBar } from '../chunk-PDHTXPSF.js';
7
7
  export { FilterBar } from '../chunk-PDHTXPSF.js';
8
- export { ActionModal, AgentDefinitionDisplay, AgentExecutionLogs, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, CheckpointGroup, CollapsibleJsonSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewEdge, CommandViewGraph, CommandViewNode, ConfigCard, ContentSections, ContextUsageBadge, ContractDisplay, ExecutionErrorSection, FormFieldRenderer, LogEntry, LogGroup, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceNotFoundState, SessionMemory, ToolsListDisplay, WorkflowDefinitionDisplay, WorkflowExecutionLogs, getExecutionStatusConfig, getIcon, getLogLevelConfig, iconMap, operationsManifest, useNewKnowledgeMapLayout } from '../chunk-NEST7NA4.js';
8
+ export { ActionModal, AgentDefinitionDisplay, AgentExecutionLogs, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, CheckpointGroup, CollapsibleJsonSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewEdge, CommandViewGraph, CommandViewNode, ConfigCard, ContentSections, ContextUsageBadge, ContractDisplay, ExecutionErrorSection, FormFieldRenderer, LogEntry, LogGroup, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceNotFoundState, SessionMemory, ToolsListDisplay, WorkflowDefinitionDisplay, WorkflowExecutionLogs, getExecutionStatusConfig, getIcon, getLogLevelConfig, iconMap, operationsManifest, useNewKnowledgeMapLayout } from '../chunk-CTU2JO57.js';
9
9
  import '../chunk-ROSMICXG.js';
10
- import { SubshellLoader, PageContainer, SubshellSidebarSection, SidebarListItem, CollapsibleSidebarGroup } from '../chunk-2IJCM3VQ.js';
11
- export { ResourceHealthPanel } from '../chunk-YVDYRV4Q.js';
10
+ import { SubshellLoader, PageContainer, SubshellSidebarSection, SubshellNavItem, CollapsibleSidebarGroup } from '../chunk-OCP2MBTY.js';
11
+ export { ResourceHealthPanel } from '../chunk-OKKGD3S6.js';
12
12
  import { CustomModal } from '../chunk-GBMNCNHX.js';
13
13
  export { ConfirmationInputModal, ConfirmationModal, CustomModal } from '../chunk-GBMNCNHX.js';
14
- export { AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, BaseEdge, BaseNode, EmptyVisualizer, ExecutionStats, ExecutionStatusBadge, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, VisualizerContainer, WorkflowExecutionTimeline, dashboardManifest, getGraphBackgroundStyles, useGraphBackgroundStyles, useGraphTheme } from '../chunk-N5BS2VIA.js';
14
+ export { AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, BaseEdge, BaseNode, EmptyVisualizer, ExecutionStats, ExecutionStatusBadge, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, VisualizerContainer, WorkflowExecutionTimeline, dashboardManifest, getGraphBackgroundStyles, useGraphBackgroundStyles, useGraphTheme } from '../chunk-TQ3HK7ZR.js';
15
15
  export { ResourceHealthChart, getHealthColor } from '../chunk-LGKLC5MG.js';
16
- import '../chunk-YUAE4IVA.js';
17
- import { ListSkeleton, EmptyState, PageTitleCaption, StatCard, CenteredErrorState, CardHeader, ActivityTimeline, StatusBadge } from '../chunk-MCA6LOGM.js';
18
- export { APIErrorAlert, ActivityTimeline, CardHeader, CenteredErrorState, CollapsibleSection, ContextViewer, CustomSelector, DetailCardSkeleton, EmptyState, GlowDot, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, TabCountBadge, TimeRangeSelector, TrendIndicator, catalogItemToResourceDefinition } from '../chunk-MCA6LOGM.js';
19
- export { StyledMarkdown } from '../chunk-3KMDHCAR.js';
20
- export { NavigationButton } from '../chunk-NNKKBSJN.js';
21
- import { AppShellLoader } from '../chunk-YYBM5LNJ.js';
22
- import '../chunk-QTD5HPKD.js';
23
- import { useUpdateApiKey, useDeleteApiKey, useCreateApiKey, useListApiKeys, useActivateDeployment, useDeactivateDeployment, useDeleteDeployment, useListDeployments, useTasks, useProjects, useMilestones } from '../chunk-7QNDXJQW.js';
24
- import { usePaginationState, useDeploymentDocs, useResources, useCreateSchedule, useListSchedules, usePauseSchedule, useResumeSchedule, useCancelSchedule, useDeleteSchedule, useDealNotes, useCreateDealNote, useDeals, useSyncDealStage, dealKeys, useDealTasksDue, useCreateDealTask, useMarkAllAsRead, useNotifications, showErrorNotification, showSuccessNotification, showApiErrorNotification } from '../chunk-P6EELWRV.js';
25
- export { showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification } from '../chunk-P6EELWRV.js';
16
+ import '../chunk-KFICYU6S.js';
17
+ import { AppShellLoader } from '../chunk-YEX4MQSY.js';
18
+ import '../chunk-EIHG5JZN.js';
19
+ import { useUpdateApiKey, useDeleteApiKey, useCreateApiKey, useListApiKeys, useActivateDeployment, useDeactivateDeployment, useDeleteDeployment, useListDeployments } from '../chunk-PRLXFMNP.js';
20
+ import { usePaginationState, useDeploymentDocs, useResources, useCreateSchedule, useListSchedules, usePauseSchedule, useResumeSchedule, useCancelSchedule, useDeleteSchedule, useDealNotes, useCreateDealNote, useDeals, useSyncDealStage, dealKeys, useDealTasksDue, useCreateDealTask, useMarkAllAsRead, useNotifications, showErrorNotification, showSuccessNotification, showApiErrorNotification } from '../chunk-TZOGB3X4.js';
21
+ export { showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification } from '../chunk-TZOGB3X4.js';
26
22
  import '../chunk-LXHZYSMQ.js';
27
23
  export { Graph_module_css_default as graphStyles } from '../chunk-F6RBK7NJ.js';
28
24
  export { CONTAINER_CONSTANTS, SHARED_VIZ_CONSTANTS } from '../chunk-XA34RETF.js';
29
- import '../chunk-ELJIFLCB.js';
30
- import '../chunk-ZT754TNZ.js';
31
- export { ElevasisLoader } from '../chunk-SZHARWKU.js';
32
- import '../chunk-TXPUIHX2.js';
25
+ import '../chunk-2DSYC52I.js';
26
+ import '../chunk-X7CHQ3RE.js';
33
27
  import '../chunk-CYXZHBP4.js';
34
- import '../chunk-VB4MVOPL.js';
35
- import { SubshellContainer, SubshellSidebar, SubshellRightSideContainer, SubshellContentContainer } from '../chunk-5COLSYBE.js';
28
+ import '../chunk-MZPVNRPL.js';
29
+ import { SubshellContainer, SubshellSidebar, SubshellRightSideContainer, SubshellContentContainer } from '../chunk-RX4UWZZR.js';
30
+ import { ListSkeleton, EmptyState, PageTitleCaption, StatCard, CenteredErrorState, CardHeader, ActivityTimeline, StatusBadge } from '../chunk-Y3D3WFJG.js';
31
+ export { APIErrorAlert, ActivityTimeline, CardHeader, CenteredErrorState, CollapsibleSection, ContextViewer, CustomSelector, DetailCardSkeleton, ElevasisLoader, EmptyState, FeatureUnavailableState, GlowDot, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, TabCountBadge, TimeRangeSelector, TrendIndicator, catalogItemToResourceDefinition } from '../chunk-Y3D3WFJG.js';
32
+ export { StyledMarkdown } from '../chunk-3KMDHCAR.js';
33
+ export { NavigationButton } from '../chunk-NYBEU5TE.js';
36
34
  import '../chunk-NVOCKXUQ.js';
37
35
  import '../chunk-2IFYDILW.js';
36
+ import '../chunk-ELJIFLCB.js';
38
37
  import '../chunk-W4VYXIN7.js';
39
38
  import { useAppearance } from '../chunk-QJ2KCHKX.js';
40
- import '../chunk-QJ2S46NI.js';
39
+ import '../chunk-DT3QYZVU.js';
41
40
  import '../chunk-SLVC5OJ2.js';
42
41
  import '../chunk-RNP5R5I3.js';
43
42
  import { formatDateTime, PAGE_SIZE_DEFAULT, formatTimeAgo } from '../chunk-IOKL7BKE.js';
44
- import '../chunk-RWQIFKMJ.js';
45
- import '../chunk-ALA56RGZ.js';
43
+ import '../chunk-MTJ43R2E.js';
46
44
  import { useInitialization } from '../chunk-TUXTSEAF.js';
47
45
  import '../chunk-DD3CCMCZ.js';
48
46
  import { useElevasisServices } from '../chunk-QEPXAWE2.js';
49
47
  import '../chunk-BRJ3QZ4E.js';
50
48
  import { useRouterContext } from '../chunk-Q7DJKLEN.js';
51
49
  import { Table, Group, Text, Button, Stack, Title, TextInput, Alert, Tooltip, ActionIcon, Paper, Code, CopyButton, SimpleGrid, Badge, Loader, Pagination, useMantineTheme, Box, ScrollArea, Select, Center, Card, SegmentedControl, Switch, Textarea, Divider, Menu, Timeline, ThemeIcon, Tabs, Anchor, Breadcrumbs as Breadcrumbs$1, Drawer, UnstyledButton, Modal, RingProgress, Collapse, Popover, Indicator } from '@mantine/core';
52
- import { IconAddressBook, IconBriefcase, IconTarget, IconChevronUp, IconChevronDown, IconSelector, IconTrash, IconPencil, IconAlertCircle, IconKey, IconCalendar, IconClock, IconAlertTriangle, IconExclamationMark, IconShieldLock, IconCheck, IconCopy, IconPlus, IconRocket, IconRefresh, IconPower, IconPlayerPlay, IconCircleCheck, IconTag, IconBook2, IconFileOff, IconList, IconCalendarRepeat, IconCalendarEvent, IconCalendarTime, IconRobot, IconGitBranch, IconSettings, IconExternalLink, IconDotsVertical, IconPlayerPause, IconPlayerStop, IconCalendarDue, IconCalendarStats, IconCalendarOff, IconListCheck, IconTrophy, IconClockExclamation, IconUser, IconLayoutGrid, IconColumns, IconFileInvoice, IconChecklist, IconHistory, IconListDetails, IconBuilding, IconMailCheck, IconSearch, IconChartBar, IconTrendingUp, IconHeartbeat, IconFlag, IconFileText, IconInbox, IconLock, IconChevronRight, IconDownload, IconMessageCircle, IconBell, IconNotes, IconFolderOpen, IconFolder, IconCheckbox, IconMail, IconPhone, IconArrowRight, IconNote } from '@tabler/icons-react';
50
+ import { IconAddressBook, IconBriefcase, IconTarget, IconChevronUp, IconChevronDown, IconSelector, IconTrash, IconPencil, IconAlertCircle, IconKey, IconCalendar, IconClock, IconAlertTriangle, IconExclamationMark, IconShieldLock, IconCheck, IconCopy, IconPlus, IconRocket, IconRefresh, IconPower, IconPlayerPlay, IconCircleCheck, IconTag, IconBook2, IconFileOff, IconList, IconCalendarRepeat, IconCalendarEvent, IconCalendarTime, IconRobot, IconGitBranch, IconSettings, IconExternalLink, IconDotsVertical, IconPlayerPause, IconPlayerStop, IconCalendarDue, IconCalendarStats, IconCalendarOff, IconListCheck, IconTrophy, IconClockExclamation, IconUser, IconLayoutGrid, IconColumns, IconFileInvoice, IconChecklist, IconHistory, IconBuilding, IconMailCheck, IconSearch, IconChartBar, IconTrendingUp, IconHeartbeat, IconFlag, IconFileText, IconInbox, IconLock, IconChevronRight, IconDownload, IconMessageCircle, IconBell, IconNotes, IconFolderOpen, IconFolder, IconCheckbox, IconMail, IconPhone, IconArrowRight, IconNote } from '@tabler/icons-react';
53
51
  import * as runtime from 'react/jsx-runtime';
54
52
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
55
53
  import { useDisclosure } from '@mantine/hooks';
@@ -857,7 +855,7 @@ function TreeNodeItem({
857
855
  );
858
856
  }
859
857
  return /* @__PURE__ */ jsx(
860
- SidebarListItem,
858
+ SubshellNavItem,
861
859
  {
862
860
  icon: IconFileText,
863
861
  label: node.label,
@@ -3036,9 +3034,9 @@ var Breadcrumbs = ({ navItems }) => {
3036
3034
  size: "sm",
3037
3035
  style: {
3038
3036
  color: "var(--color-text-subtle)",
3039
- textDecoration: "none"
3037
+ textDecoration: "none",
3038
+ fontWeight: 500
3040
3039
  },
3041
- c: "dimmed",
3042
3040
  children: item.label
3043
3041
  },
3044
3042
  item.path
@@ -3410,13 +3408,7 @@ var SAVED_VIEW_PRESETS = [
3410
3408
  label: "Won this month",
3411
3409
  iconName: "IconTrophy",
3412
3410
  target: "/crm/deals",
3413
- urlFilters: { stage: "closed_won" },
3414
- predicate: (deal) => {
3415
- if (deal.cached_stage !== "closed_won") return false;
3416
- const updated = new Date(deal.updated_at);
3417
- const now = /* @__PURE__ */ new Date();
3418
- return updated.getMonth() === now.getMonth() && updated.getFullYear() === now.getFullYear();
3419
- }
3411
+ urlFilters: { stage: "closed_won" }
3420
3412
  }
3421
3413
  ];
3422
3414
  var KIND_ICONS = {
@@ -3467,13 +3459,18 @@ function TaskRow({ task, onClick }) {
3467
3459
  }
3468
3460
  );
3469
3461
  }
3470
- function MyTasksPanel({ onTaskClick, onSeeAll }) {
3462
+ function MyTasksPanel({
3463
+ onTaskClick,
3464
+ onSeeAll,
3465
+ footer,
3466
+ showSectionLabel = true
3467
+ }) {
3471
3468
  const { data, isLoading, isError } = useDealTasksDue({ window: "today_and_overdue" });
3472
3469
  const tasks = data ?? [];
3473
3470
  const total = tasks.length;
3474
3471
  const visible = tasks.slice(0, 5);
3475
3472
  return /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
3476
- /* @__PURE__ */ jsxs(Group, { justify: "space-between", mb: 4, children: [
3473
+ showSectionLabel && /* @__PURE__ */ jsxs(Group, { justify: "space-between", mb: 4, children: [
3477
3474
  /* @__PURE__ */ jsx(Text, { fz: "xs", tt: "uppercase", c: "dimmed", fw: 600, children: "My Tasks" }),
3478
3475
  total > 0 && /* @__PURE__ */ jsx(Badge, { size: "xs", variant: "light", children: total })
3479
3476
  ] }),
@@ -3485,7 +3482,8 @@ function MyTasksPanel({ onTaskClick, onSeeAll }) {
3485
3482
  "See all (",
3486
3483
  total,
3487
3484
  ")"
3488
- ] }) })
3485
+ ] }) }),
3486
+ footer
3489
3487
  ] }) });
3490
3488
  }
3491
3489
  var ICON_MAP = {
@@ -3493,40 +3491,37 @@ var ICON_MAP = {
3493
3491
  IconClockExclamation,
3494
3492
  IconTrophy
3495
3493
  };
3496
- function SavedViewsPanel({ onViewClick }) {
3497
- return /* @__PURE__ */ jsxs(Box, { children: [
3498
- /* @__PURE__ */ jsx(Divider, { mb: "xs" }),
3499
- /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
3500
- /* @__PURE__ */ jsx(Text, { fz: "xs", tt: "uppercase", c: "dimmed", fw: 600, mb: 4, children: "Saved Views" }),
3501
- SAVED_VIEW_PRESETS.map((preset) => {
3502
- const Icon = ICON_MAP[preset.iconName];
3503
- return /* @__PURE__ */ jsx(
3504
- UnstyledButton,
3505
- {
3506
- onClick: () => onViewClick(preset),
3507
- style: {
3508
- display: "block",
3509
- width: "100%",
3510
- padding: "4px 6px",
3511
- borderRadius: "var(--mantine-radius-sm)",
3512
- transition: `background-color var(--duration-fast) var(--easing)`
3513
- },
3514
- onMouseEnter: (e) => {
3515
- e.currentTarget.style.backgroundColor = "var(--color-surface-hover)";
3516
- },
3517
- onMouseLeave: (e) => {
3518
- e.currentTarget.style.backgroundColor = "transparent";
3519
- },
3520
- children: /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", children: [
3521
- /* @__PURE__ */ jsx(Icon, { size: 14, style: { color: "var(--color-text-dimmed)", flexShrink: 0 } }),
3522
- /* @__PURE__ */ jsx(Text, { size: "xs", children: preset.label })
3523
- ] })
3494
+ function SavedViewsPanel({ onViewClick, showSectionLabel = true }) {
3495
+ return /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
3496
+ showSectionLabel && /* @__PURE__ */ jsx(Text, { fz: "xs", tt: "uppercase", c: "dimmed", fw: 600, mb: 4, children: "Saved Views" }),
3497
+ SAVED_VIEW_PRESETS.map((preset) => {
3498
+ const Icon = ICON_MAP[preset.iconName];
3499
+ return /* @__PURE__ */ jsx(
3500
+ UnstyledButton,
3501
+ {
3502
+ onClick: () => onViewClick(preset),
3503
+ style: {
3504
+ display: "block",
3505
+ width: "100%",
3506
+ padding: "4px 6px",
3507
+ borderRadius: "var(--mantine-radius-sm)",
3508
+ transition: `background-color var(--duration-fast) var(--easing)`
3524
3509
  },
3525
- preset.id
3526
- );
3527
- })
3528
- ] })
3529
- ] });
3510
+ onMouseEnter: (e) => {
3511
+ e.currentTarget.style.backgroundColor = "var(--color-surface-hover)";
3512
+ },
3513
+ onMouseLeave: (e) => {
3514
+ e.currentTarget.style.backgroundColor = "transparent";
3515
+ },
3516
+ children: /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", children: [
3517
+ /* @__PURE__ */ jsx(Icon, { size: 14, style: { color: "var(--color-text-dimmed)", flexShrink: 0 } }),
3518
+ /* @__PURE__ */ jsx(Text, { size: "xs", children: preset.label })
3519
+ ] })
3520
+ },
3521
+ preset.id
3522
+ );
3523
+ })
3524
+ ] }) });
3530
3525
  }
3531
3526
  var KIND_OPTIONS = [
3532
3527
  { value: "call", label: "Call" },
@@ -3541,7 +3536,7 @@ function buildDealLabel(deal) {
3541
3536
  const company = contact.company?.name ?? "\u2014";
3542
3537
  return name ? `${name} \u2013 ${company}` : `Deal ${deal.id.slice(0, 8)}`;
3543
3538
  }
3544
- function QuickCreateActions({ onNewDeal }) {
3539
+ function QuickCreateActions({ showSectionLabel = true }) {
3545
3540
  const [open, setOpen] = useState(false);
3546
3541
  const [dealId, setDealId] = useState(null);
3547
3542
  const [title, setTitle] = useState("");
@@ -3579,21 +3574,8 @@ function QuickCreateActions({ onNewDeal }) {
3579
3574
  const isSubmitDisabled = !dealId || !title || createTask.isPending;
3580
3575
  return /* @__PURE__ */ jsxs(Fragment, { children: [
3581
3576
  /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
3582
- /* @__PURE__ */ jsx(Text, { fz: "xs", tt: "uppercase", c: "dimmed", fw: 600, children: "QUICK CREATE" }),
3583
- /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
3584
- /* @__PURE__ */ jsx(Button, { variant: "light", size: "xs", leftSection: /* @__PURE__ */ jsx(IconPlus, { size: 14 }), fullWidth: true, onClick: onNewDeal, children: "New Deal" }),
3585
- /* @__PURE__ */ jsx(
3586
- Button,
3587
- {
3588
- variant: "light",
3589
- size: "xs",
3590
- leftSection: /* @__PURE__ */ jsx(IconPlus, { size: 14 }),
3591
- fullWidth: true,
3592
- onClick: () => setOpen(true),
3593
- children: "New Task"
3594
- }
3595
- )
3596
- ] })
3577
+ showSectionLabel && /* @__PURE__ */ jsx(Text, { fz: "xs", tt: "uppercase", c: "dimmed", fw: 600, children: "TASKS" }),
3578
+ /* @__PURE__ */ jsx(Button, { variant: "light", size: "xs", leftSection: /* @__PURE__ */ jsx(IconPlus, { size: 14 }), fullWidth: true, onClick: () => setOpen(true), children: "New Task" })
3597
3579
  ] }),
3598
3580
  /* @__PURE__ */ jsxs(Modal, { opened: open, onClose: handleClose, title: "New Task", size: "md", children: [
3599
3581
  /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
@@ -3662,21 +3644,13 @@ var CRM_ITEMS = [
3662
3644
  { label: "Pipeline", to: "/crm/pipeline", icon: IconColumns, exact: false },
3663
3645
  { label: "Deals", to: "/crm/deals", icon: IconFileInvoice, exact: false }
3664
3646
  ];
3665
- function toSearchString(filters) {
3666
- if (!filters) return "";
3667
- const params = new URLSearchParams();
3668
- if (filters.stage) params.set("stage", filters.stage);
3669
- if (filters.search) params.set("search", filters.search);
3670
- const query = params.toString();
3671
- return query ? `?${query}` : "";
3672
- }
3673
3647
  var CrmSidebarMiddle = () => {
3674
3648
  const { currentPath, navigate } = useRouterContext();
3675
3649
  return /* @__PURE__ */ jsxs(Stack, { gap: 0, style: { flex: 1, overflowY: "auto" }, children: [
3676
3650
  /* @__PURE__ */ jsx(Stack, { gap: 0, p: "sm", children: CRM_ITEMS.map((item) => {
3677
3651
  const isActive = item.exact ? currentPath === item.to || currentPath === `${item.to}/` : currentPath.startsWith(item.to);
3678
3652
  return /* @__PURE__ */ jsx(
3679
- SidebarListItem,
3653
+ SubshellNavItem,
3680
3654
  {
3681
3655
  icon: item.icon,
3682
3656
  label: item.label,
@@ -3686,26 +3660,16 @@ var CrmSidebarMiddle = () => {
3686
3660
  item.to
3687
3661
  );
3688
3662
  }) }),
3689
- /* @__PURE__ */ jsx(Divider, { my: "xs" }),
3690
- /* @__PURE__ */ jsxs(Stack, { gap: "md", p: "sm", children: [
3691
- /* @__PURE__ */ jsx(
3692
- MyTasksPanel,
3693
- {
3694
- onTaskClick: (dealId) => navigate(`/crm/deals/${dealId}`),
3695
- onSeeAll: () => navigate("/crm/deals")
3696
- }
3697
- ),
3698
- /* @__PURE__ */ jsx(
3699
- SavedViewsPanel,
3700
- {
3701
- onViewClick: (preset) => {
3702
- const search = toSearchString(preset.urlFilters);
3703
- navigate(`${preset.target}${search}`);
3704
- }
3705
- }
3706
- ),
3707
- /* @__PURE__ */ jsx(QuickCreateActions, { onNewDeal: () => navigate("/crm/deals") })
3708
- ] })
3663
+ /* @__PURE__ */ jsx(SubshellSidebarSection, { icon: IconChecklist, label: "My Tasks", withTopBorder: true }),
3664
+ /* @__PURE__ */ jsx(Stack, { gap: 0, p: "sm", children: /* @__PURE__ */ jsx(
3665
+ MyTasksPanel,
3666
+ {
3667
+ onTaskClick: (dealId) => navigate(`/crm/deals/${dealId}`),
3668
+ onSeeAll: () => navigate("/crm/deals"),
3669
+ showSectionLabel: false,
3670
+ footer: /* @__PURE__ */ jsx(QuickCreateActions, { showSectionLabel: false })
3671
+ }
3672
+ ) })
3709
3673
  ] });
3710
3674
  };
3711
3675
  var CrmSidebar = () => {
@@ -4113,7 +4077,6 @@ var LeadGenSidebarTop = () => {
4113
4077
  };
4114
4078
  var LEAD_GEN_ITEMS = [
4115
4079
  { label: "Overview", to: "/lead-gen", icon: IconLayoutGrid, exact: true },
4116
- { label: "Legacy Redirect", to: "/lead-gen/batches", icon: IconListDetails, exact: false },
4117
4080
  { label: "Lists", to: "/lead-gen/lists", icon: IconList, exact: false },
4118
4081
  { label: "Companies", to: "/lead-gen/companies", icon: IconBuilding, exact: false },
4119
4082
  { label: "Contacts", to: "/lead-gen/contacts", icon: IconAddressBook, exact: false },
@@ -4124,7 +4087,7 @@ var LeadGenSidebarMiddle = () => {
4124
4087
  return /* @__PURE__ */ jsx(Stack, { gap: 0, style: { flex: 1, overflowY: "auto" }, children: /* @__PURE__ */ jsx(Stack, { gap: 0, p: "sm", children: LEAD_GEN_ITEMS.map((item) => {
4125
4088
  const isActive = item.exact ? currentPath === item.to || currentPath === `${item.to}/` : currentPath.startsWith(item.to);
4126
4089
  return /* @__PURE__ */ jsx(
4127
- SidebarListItem,
4090
+ SubshellNavItem,
4128
4091
  {
4129
4092
  icon: item.icon,
4130
4093
  label: item.label,
@@ -4165,7 +4128,7 @@ var SEOSidebarMiddle = () => {
4165
4128
  return /* @__PURE__ */ jsx(Stack, { gap: "xs", p: "sm", style: { flex: 1, overflowY: "auto" }, children: NAV_ITEMS.map((item) => {
4166
4129
  const isActive = item.exact ? currentPath === item.to || currentPath === `${item.to}/` : currentPath.startsWith(item.to);
4167
4130
  return /* @__PURE__ */ jsx(
4168
- SidebarListItem,
4131
+ SubshellNavItem,
4169
4132
  {
4170
4133
  icon: item.icon,
4171
4134
  label: item.label,
@@ -4346,10 +4309,6 @@ var noteTypeColors = {
4346
4309
  function formatStatusLabel(status) {
4347
4310
  return status.split("_").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
4348
4311
  }
4349
- function formatDate3(dateString) {
4350
- if (!dateString) return "-";
4351
- return new Date(dateString).toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
4352
- }
4353
4312
  function calculateProgress(completed, total) {
4354
4313
  if (total === 0) return 0;
4355
4314
  return Math.round(completed / total * 100);
@@ -4470,7 +4429,7 @@ var ProjectsSidebarMiddle = ({ currentPath, onNavigate } = {}) => {
4470
4429
  const renderItems = (items) => items.map((item) => {
4471
4430
  const isActive = item.exact ? resolvedCurrentPath === item.to || resolvedCurrentPath === `${item.to}/` : resolvedCurrentPath.startsWith(item.to);
4472
4431
  return /* @__PURE__ */ jsx(
4473
- SidebarListItem,
4432
+ SubshellNavItem,
4474
4433
  {
4475
4434
  icon: item.icon,
4476
4435
  label: item.label,
@@ -4498,141 +4457,6 @@ var ProjectsSidebar = () => {
4498
4457
  /* @__PURE__ */ jsx(ProjectsSidebarMiddle, {})
4499
4458
  ] });
4500
4459
  };
4501
- var taskStatusOptions = [
4502
- { value: "planned", label: "Planned" },
4503
- { value: "in_progress", label: "In Progress" },
4504
- { value: "blocked", label: "Blocked" },
4505
- { value: "completed", label: "Completed" },
4506
- { value: "cancelled", label: "Cancelled" },
4507
- { value: "submitted", label: "Submitted" },
4508
- { value: "approved", label: "Approved" },
4509
- { value: "rejected", label: "Rejected" },
4510
- { value: "revision_requested", label: "Revision Requested" }
4511
- ];
4512
- var taskTypeOptions = [
4513
- { value: "documentation", label: "Documentation" },
4514
- { value: "code", label: "Code" },
4515
- { value: "report", label: "Report" },
4516
- { value: "design", label: "Design" },
4517
- { value: "other", label: "Other" }
4518
- ];
4519
- function AllTasksPage() {
4520
- const [statusFilter, setStatusFilter] = useState(null);
4521
- const [typeFilter, setTypeFilter] = useState(null);
4522
- const { data: tasks, isLoading } = useTasks({
4523
- status: statusFilter || void 0,
4524
- type: typeFilter || void 0
4525
- });
4526
- const { data: projects } = useProjects();
4527
- const projectNameById = useMemo(() => new Map(projects?.map((p) => [p.id, p.name]) ?? []), [projects]);
4528
- return /* @__PURE__ */ jsx(SubshellContentContainer, { children: /* @__PURE__ */ jsxs(PageContainer, { children: [
4529
- /* @__PURE__ */ jsx(Stack, { children: /* @__PURE__ */ jsx(PageTitleCaption, { title: "All Tasks", caption: "Tasks across all projects, filterable by status and type" }) }),
4530
- /* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsxs(Stack, { children: [
4531
- /* @__PURE__ */ jsxs(Group, { m: "sm", children: [
4532
- /* @__PURE__ */ jsx(
4533
- Select,
4534
- {
4535
- placeholder: "All Statuses",
4536
- data: taskStatusOptions,
4537
- style: { minWidth: 180, maxWidth: 220 },
4538
- size: "sm",
4539
- clearable: true,
4540
- value: statusFilter,
4541
- onChange: setStatusFilter
4542
- }
4543
- ),
4544
- /* @__PURE__ */ jsx(
4545
- Select,
4546
- {
4547
- placeholder: "All Types",
4548
- data: taskTypeOptions,
4549
- style: { minWidth: 180, maxWidth: 220 },
4550
- size: "sm",
4551
- clearable: true,
4552
- value: typeFilter,
4553
- onChange: setTypeFilter
4554
- }
4555
- )
4556
- ] }),
4557
- isLoading ? /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) : !tasks?.length ? /* @__PURE__ */ jsx(EmptyState, { icon: IconChecklist, title: "No tasks found" }) : /* @__PURE__ */ jsxs(Table, { children: [
4558
- /* @__PURE__ */ jsx(Table.Thead, { children: /* @__PURE__ */ jsxs(Table.Tr, { children: [
4559
- /* @__PURE__ */ jsx(Table.Th, { children: "Status" }),
4560
- /* @__PURE__ */ jsx(Table.Th, { children: "Type" }),
4561
- /* @__PURE__ */ jsx(Table.Th, { children: "Name" }),
4562
- /* @__PURE__ */ jsx(Table.Th, { children: "Project" }),
4563
- /* @__PURE__ */ jsx(Table.Th, { children: "Milestone" }),
4564
- /* @__PURE__ */ jsx(Table.Th, { children: "Created" })
4565
- ] }) }),
4566
- /* @__PURE__ */ jsx(Table.Tbody, { children: tasks.map((task) => /* @__PURE__ */ jsxs(Table.Tr, { children: [
4567
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { variant: "light", color: taskStatusColors[task.status] || "gray", size: "sm", children: formatStatusLabel(task.status) }) }),
4568
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { variant: "light", color: taskTypeColors[task.type] || "gray", size: "sm", children: formatStatusLabel(task.type) }) }),
4569
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", children: task.name }) }),
4570
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: projectNameById.get(task.project_id) || "-" }) }),
4571
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "-" }) }),
4572
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: formatTimeAgo(task.created_at) }) })
4573
- ] }, task.id)) })
4574
- ] })
4575
- ] }) })
4576
- ] }) });
4577
- }
4578
- var milestoneStatusOptions = [
4579
- { value: "upcoming", label: "Upcoming" },
4580
- { value: "in_progress", label: "In Progress" },
4581
- { value: "overdue", label: "Overdue" },
4582
- { value: "blocked", label: "Blocked" }
4583
- ];
4584
- function UpcomingMilestonesPage() {
4585
- const [statusFilter, setStatusFilter] = useState(null);
4586
- const { data: milestonesRaw, isLoading } = useMilestones({
4587
- status: statusFilter || void 0
4588
- });
4589
- const { data: projects } = useProjects();
4590
- const projectNameById = useMemo(() => new Map(projects?.map((p) => [p.id, p.name]) ?? []), [projects]);
4591
- const milestones = useMemo(() => {
4592
- const list = milestonesRaw ?? [];
4593
- const filtered = statusFilter ? list : list.filter((m) => m.status !== "completed");
4594
- return [...filtered].sort((a, b) => {
4595
- if (!a.due_date && !b.due_date) return 0;
4596
- if (!a.due_date) return 1;
4597
- if (!b.due_date) return -1;
4598
- return a.due_date < b.due_date ? -1 : a.due_date > b.due_date ? 1 : 0;
4599
- });
4600
- }, [milestonesRaw, statusFilter]);
4601
- return /* @__PURE__ */ jsx(SubshellContentContainer, { children: /* @__PURE__ */ jsxs(PageContainer, { children: [
4602
- /* @__PURE__ */ jsx(Stack, { children: /* @__PURE__ */ jsx(PageTitleCaption, { title: "Upcoming Milestones", caption: "Milestones across all projects sorted by due date" }) }),
4603
- /* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsxs(Stack, { children: [
4604
- /* @__PURE__ */ jsx(
4605
- Select,
4606
- {
4607
- placeholder: "All Statuses",
4608
- data: milestoneStatusOptions,
4609
- style: { minWidth: 180, maxWidth: 220 },
4610
- size: "sm",
4611
- clearable: true,
4612
- value: statusFilter,
4613
- onChange: setStatusFilter,
4614
- m: "sm"
4615
- }
4616
- ),
4617
- isLoading ? /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) : !milestones.length ? /* @__PURE__ */ jsx(EmptyState, { icon: IconFlag, title: "No upcoming milestones" }) : /* @__PURE__ */ jsxs(Table, { children: [
4618
- /* @__PURE__ */ jsx(Table.Thead, { children: /* @__PURE__ */ jsxs(Table.Tr, { children: [
4619
- /* @__PURE__ */ jsx(Table.Th, { children: "Status" }),
4620
- /* @__PURE__ */ jsx(Table.Th, { children: "Name" }),
4621
- /* @__PURE__ */ jsx(Table.Th, { children: "Project" }),
4622
- /* @__PURE__ */ jsx(Table.Th, { children: "Due" }),
4623
- /* @__PURE__ */ jsx(Table.Th, { children: "Progress" })
4624
- ] }) }),
4625
- /* @__PURE__ */ jsx(Table.Tbody, { children: milestones.map((milestone) => /* @__PURE__ */ jsxs(Table.Tr, { children: [
4626
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { variant: "light", color: milestoneStatusColors[milestone.status] || "gray", size: "sm", children: formatStatusLabel(milestone.status) }) }),
4627
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", children: milestone.name }) }),
4628
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: projectNameById.get(milestone.project_id) || "-" }) }),
4629
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: formatDate3(milestone.due_date) }) }),
4630
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "-" }) })
4631
- ] }, milestone.id)) })
4632
- ] })
4633
- ] }) })
4634
- ] }) });
4635
- }
4636
4460
  var deliveryManifest = {
4637
4461
  key: "delivery",
4638
4462
  label: "Projects",
@@ -4697,4 +4521,4 @@ function NotificationBell({ unreadCount, onNavigate }) {
4697
4521
  ] });
4698
4522
  }
4699
4523
 
4700
- export { AbsoluteScheduleForm, ActivityFeedWidget, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, Breadcrumbs, CrashErrorFallback, CreateApiKeyModal, CreateScheduleModal, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDrawer, DealKanbanCard, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DocTreeNav, EditApiKeyModal, ErrorReportCard, HealthStatusCard, KanbanBoard, KnowledgeBasePage, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, MdxRenderer, MetricsStrip, MilestoneTimeline, MyTasksPanel, NotificationBell, NotificationPanel, PIPELINE_FUNNEL_ORDER, PipelineFunnelWidget, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, RichTextEditor, SAVED_VIEW_PRESETS, SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SortableHeader, TableSelectionToolbar, TaskCard, TaskScheduler, TasksDueWidget, UpcomingMilestonesPage, buildErrorReport, calculateProgress, crmManifest, deliveryManifest, formatStatusLabel, leadGenManifest, mdxComponents, milestoneStatusColors, noteTypeColors, projectStatusColors, seoManifest, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useRecentCrmActivity };
4524
+ export { AbsoluteScheduleForm, ActivityFeedWidget, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, Breadcrumbs, CrashErrorFallback, CreateApiKeyModal, CreateScheduleModal, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDrawer, DealKanbanCard, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DocTreeNav, EditApiKeyModal, ErrorReportCard, HealthStatusCard, KanbanBoard, KnowledgeBasePage, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, MdxRenderer, MetricsStrip, MilestoneTimeline, MyTasksPanel, NotificationBell, NotificationPanel, PIPELINE_FUNNEL_ORDER, PipelineFunnelWidget, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, RichTextEditor, SAVED_VIEW_PRESETS, SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SortableHeader, TableSelectionToolbar, TaskCard, TaskScheduler, TasksDueWidget, buildErrorReport, calculateProgress, crmManifest, deliveryManifest, formatStatusLabel, leadGenManifest, mdxComponents, milestoneStatusColors, noteTypeColors, projectStatusColors, seoManifest, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useRecentCrmActivity };
@@ -1,10 +1,9 @@
1
- import { AppShellLoader, AppShellError } from '../../chunk-YYBM5LNJ.js';
1
+ import { AppShellLoader, AppShellError } from '../../chunk-YEX4MQSY.js';
2
2
  import { useAppearance } from '../../chunk-QJ2KCHKX.js';
3
- import '../../chunk-QJ2S46NI.js';
3
+ import '../../chunk-DT3QYZVU.js';
4
4
  import '../../chunk-SLVC5OJ2.js';
5
5
  import '../../chunk-RNP5R5I3.js';
6
- import { ProtectedRoute, AdminGuard } from '../../chunk-RWQIFKMJ.js';
7
- import '../../chunk-ALA56RGZ.js';
6
+ import { ProtectedRoute, AdminGuard } from '../../chunk-MTJ43R2E.js';
8
7
  import { useInitialization } from '../../chunk-TUXTSEAF.js';
9
8
  import '../../chunk-DD3CCMCZ.js';
10
9
  export { useUserProfile } from '../../chunk-QEPXAWE2.js';