@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.
- package/dist/auth/index.js +1 -2
- package/dist/charts/index.js +7 -9
- package/dist/{chunk-ZT754TNZ.js → chunk-2DSYC52I.js} +3 -3
- package/dist/{chunk-NEST7NA4.js → chunk-CTU2JO57.js} +30 -24
- package/dist/{chunk-QJ2S46NI.js → chunk-DT3QYZVU.js} +2 -2
- package/dist/{chunk-QTD5HPKD.js → chunk-EIHG5JZN.js} +1 -1
- package/dist/{chunk-YUAE4IVA.js → chunk-KFICYU6S.js} +1 -1
- package/dist/{chunk-CD6UPIXK.js → chunk-MELNDAZY.js} +20 -110
- package/dist/{chunk-RWQIFKMJ.js → chunk-MTJ43R2E.js} +10 -2
- package/dist/{chunk-VB4MVOPL.js → chunk-MZPVNRPL.js} +130 -27
- package/dist/{chunk-NNKKBSJN.js → chunk-NYBEU5TE.js} +1 -1
- package/dist/{chunk-2IJCM3VQ.js → chunk-OCP2MBTY.js} +134 -118
- package/dist/{chunk-YVDYRV4Q.js → chunk-OKKGD3S6.js} +3 -3
- package/dist/{chunk-7QNDXJQW.js → chunk-PRLXFMNP.js} +2 -2
- package/dist/{chunk-ZNG35YAN.js → chunk-QRHLV74B.js} +23 -18
- package/dist/{chunk-5COLSYBE.js → chunk-RX4UWZZR.js} +1 -1
- package/dist/{chunk-C27LLJM6.js → chunk-SMJLS23U.js} +2 -2
- package/dist/{chunk-N5BS2VIA.js → chunk-TQ3HK7ZR.js} +6 -6
- package/dist/{chunk-P6EELWRV.js → chunk-TZOGB3X4.js} +2 -2
- package/dist/{chunk-TXPUIHX2.js → chunk-X7CHQ3RE.js} +1 -1
- package/dist/{chunk-MCA6LOGM.js → chunk-Y3D3WFJG.js} +54 -5
- package/dist/{chunk-YYBM5LNJ.js → chunk-YEX4MQSY.js} +1 -1
- package/dist/components/index.d.ts +18 -14
- package/dist/components/index.js +87 -263
- package/dist/features/auth/index.js +3 -4
- package/dist/features/dashboard/index.d.ts +1 -0
- package/dist/features/dashboard/index.js +15 -17
- package/dist/features/monitoring/index.css +127 -127
- package/dist/features/monitoring/index.d.ts +1 -0
- package/dist/features/monitoring/index.js +16 -18
- package/dist/features/operations/index.d.ts +2 -1
- package/dist/features/operations/index.js +18 -20
- package/dist/features/settings/index.d.ts +1 -0
- package/dist/features/settings/index.js +15 -17
- package/dist/hooks/index.css +127 -127
- package/dist/hooks/index.js +12 -9
- package/dist/hooks/published.css +127 -127
- package/dist/hooks/published.js +11 -8
- package/dist/index.css +118 -118
- package/dist/index.d.ts +14 -2
- package/dist/index.js +13 -12
- package/dist/layout/index.d.ts +20 -44
- package/dist/layout/index.js +6 -6
- package/dist/provider/index.css +127 -59
- package/dist/provider/index.d.ts +14 -2
- package/dist/provider/index.js +10 -6
- package/dist/provider/published.css +126 -0
- package/dist/provider/published.d.ts +14 -2
- package/dist/provider/published.js +8 -3
- package/dist/theme/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-ALA56RGZ.js +0 -13
- 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
|
|
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
|
-
|
|
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({
|
|
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,
|
|
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 };
|
package/dist/components/index.js
CHANGED
|
@@ -1,55 +1,53 @@
|
|
|
1
1
|
import { useBreadcrumbs } from '../chunk-MG3NF7QL.js';
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import { NotificationList } from '../chunk-
|
|
4
|
-
export { ActivityCard, ActivityFilters as ActivityFiltersBar, ActivityTable, BusinessImpactCard, CostBreakdownCard, CostByModelTable, CostMetricsCard, ErrorAnalysisCard, ErrorBreakdownTable, ExecutionBreakdownTable, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, NotificationItem, NotificationList, monitoringManifest } from '../chunk-
|
|
5
|
-
export { CreateCredentialModal, CredentialList, CredentialSettings, MembershipFeaturePanel, MembershipStatusBadge, OAuthConnectModal, OrganizationMembershipsList, WebhookUrlDisplayModal, settingsManifest } from '../chunk-
|
|
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-
|
|
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,
|
|
11
|
-
export { ResourceHealthPanel } from '../chunk-
|
|
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-
|
|
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-
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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-
|
|
30
|
-
import '../chunk-
|
|
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-
|
|
35
|
-
import { SubshellContainer, SubshellSidebar, SubshellRightSideContainer, SubshellContentContainer } from '../chunk-
|
|
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-
|
|
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-
|
|
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,
|
|
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
|
-
|
|
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({
|
|
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__ */
|
|
3498
|
-
/* @__PURE__ */ jsx(
|
|
3499
|
-
|
|
3500
|
-
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
{
|
|
3506
|
-
|
|
3507
|
-
|
|
3508
|
-
|
|
3509
|
-
|
|
3510
|
-
|
|
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
|
-
|
|
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({
|
|
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: "
|
|
3583
|
-
/* @__PURE__ */
|
|
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
|
-
|
|
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(
|
|
3690
|
-
/* @__PURE__ */
|
|
3691
|
-
|
|
3692
|
-
|
|
3693
|
-
{
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
}
|
|
3697
|
-
|
|
3698
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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-
|
|
1
|
+
import { AppShellLoader, AppShellError } from '../../chunk-YEX4MQSY.js';
|
|
2
2
|
import { useAppearance } from '../../chunk-QJ2KCHKX.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-DT3QYZVU.js';
|
|
4
4
|
import '../../chunk-SLVC5OJ2.js';
|
|
5
5
|
import '../../chunk-RNP5R5I3.js';
|
|
6
|
-
import { ProtectedRoute, AdminGuard } from '../../chunk-
|
|
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';
|