@elevasis/ui 2.2.0 → 2.2.1
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/{chunk-RB34YOIX.js → chunk-3WMJWXZY.js} +2 -2
- package/dist/{chunk-MXVA7U2I.js → chunk-5KBVISVJ.js} +1 -1
- package/dist/{chunk-QITPFGWC.js → chunk-LH7RCX4Y.js} +1 -1
- package/dist/{chunk-35QO7M43.js → chunk-M66JAN7R.js} +1 -1
- package/dist/{chunk-BIZNOFO4.js → chunk-O6KZ46EJ.js} +1 -1
- package/dist/{chunk-7IE3KXKV.js → chunk-YOZEGIZA.js} +1 -1
- package/dist/components/index.d.ts +4 -3
- package/dist/components/index.js +372 -87
- package/dist/features/dashboard/index.js +3 -3
- package/dist/features/monitoring/index.js +2 -2
- package/dist/features/operations/index.js +4 -4
- package/dist/features/settings/index.js +4 -4
- package/dist/hooks/index.js +2 -2
- package/dist/hooks/published.js +2 -2
- package/dist/index.js +3 -3
- package/dist/provider/index.js +2 -2
- package/dist/theme/index.js +2 -2
- package/package.json +1 -1
|
@@ -159,7 +159,7 @@ var tacticalPreset = {
|
|
|
159
159
|
dark: {
|
|
160
160
|
primary: "#0099ff",
|
|
161
161
|
primaryContrast: "#ffffff",
|
|
162
|
-
background: "#
|
|
162
|
+
background: "#020203",
|
|
163
163
|
surface: "rgba(18, 19, 21, 0.3)",
|
|
164
164
|
surfaceHover: "rgba(32, 33, 36, 0.5)",
|
|
165
165
|
elevatedSurface: "rgba(18, 21, 27, 0.85)",
|
|
@@ -170,7 +170,7 @@ var tacticalPreset = {
|
|
|
170
170
|
error: "#FF4757",
|
|
171
171
|
warning: "#FFA502",
|
|
172
172
|
success: "#2ED573",
|
|
173
|
-
glassBackground: "rgba(14, 15, 17, 0.
|
|
173
|
+
glassBackground: "rgba(14, 15, 17, 0.55)",
|
|
174
174
|
glassBlur: "blur(24px) saturate(170%)",
|
|
175
175
|
shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
|
|
176
176
|
cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.04), inset 0 0 8px -6px rgba(255, 255, 255, 0.1), 0 2px 8px rgba(0, 0, 0, 0.3), 0 12px 32px -8px rgba(0, 0, 0, 0.4), 0 32px 64px -16px rgba(0, 0, 0, 0.3)",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FilterBar } from './chunk-PDHTXPSF.js';
|
|
2
2
|
import { CustomModal } from './chunk-GBMNCNHX.js';
|
|
3
3
|
import { AppShellLoader } from './chunk-YEX4MQSY.js';
|
|
4
|
-
import { useAvailablePresets } from './chunk-
|
|
4
|
+
import { useAvailablePresets } from './chunk-M66JAN7R.js';
|
|
5
5
|
import { useDeleteCredential, useCreateCredential, useCredentials, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, useUserMemberships, useUpdateWebhookEndpoint, useDeleteWebhookEndpoint, useCreateWebhookEndpoint, useListWebhookEndpoints, useUpdateMemberConfig, useOrganizationMembers, useUpdateCredential, CredentialSchemas } from './chunk-JT3FN6TE.js';
|
|
6
6
|
import { useResources, showErrorNotification } from './chunk-J5TBNCMD.js';
|
|
7
7
|
import { ListSkeleton, EmptyState, PageTitleCaption, CardHeader, APIErrorAlert, StatCard } from './chunk-Y3D3WFJG.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PRESETS, getPreset, generateShades, mantineThemeOverride, createCssVariablesResolver, PresetsProvider } from './chunk-
|
|
1
|
+
import { PRESETS, getPreset, generateShades, mantineThemeOverride, createCssVariablesResolver, PresetsProvider } from './chunk-3WMJWXZY.js';
|
|
2
2
|
import { AppBackground } from './chunk-CYXZHBP4.js';
|
|
3
3
|
import { ElevasisCoreProvider } from './chunk-MZPVNRPL.js';
|
|
4
4
|
import { ElevasisLoader } from './chunk-Y3D3WFJG.js';
|
|
@@ -6,7 +6,7 @@ import { useDashboardMetrics, useResources, useUnresolvedErrors, useRecentExecut
|
|
|
6
6
|
import { getTimeRangeDates } from './chunk-LXHZYSMQ.js';
|
|
7
7
|
import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger } from './chunk-F6RBK7NJ.js';
|
|
8
8
|
import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent } from './chunk-XA34RETF.js';
|
|
9
|
-
import { glassBase } from './chunk-
|
|
9
|
+
import { glassBase } from './chunk-3WMJWXZY.js';
|
|
10
10
|
import { GlowDot, CardHeader, EmptyState, PageTitleCaption, TabCountBadge } from './chunk-Y3D3WFJG.js';
|
|
11
11
|
import { ResourceStatusColors } from './chunk-ELJIFLCB.js';
|
|
12
12
|
import { formatTimeAgo, formatRelativeTime } from './chunk-IOKL7BKE.js';
|
|
@@ -2,7 +2,7 @@ import { ChatHeader, ChatSidebar } from './chunk-ROSMICXG.js';
|
|
|
2
2
|
import { SubshellSidebarSection, SubshellLoader, PageContainer, CollapsibleSidebarGroup, SubshellNavItem } from './chunk-OCP2MBTY.js';
|
|
3
3
|
import { ResourceHealthPanel } from './chunk-PFONCU6C.js';
|
|
4
4
|
import { CustomModal, ConfirmationModal } from './chunk-GBMNCNHX.js';
|
|
5
|
-
import { BaseNode, useGraphTheme, BaseEdge, GraphBackground, GraphLegend, GraphFitViewButton, ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline, GraphFitViewHandler } from './chunk-
|
|
5
|
+
import { BaseNode, useGraphTheme, BaseEdge, GraphBackground, GraphLegend, GraphFitViewButton, ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline, GraphFitViewHandler } from './chunk-O6KZ46EJ.js';
|
|
6
6
|
import { useCyberColors, CyberDonut } from './chunk-KFICYU6S.js';
|
|
7
7
|
import { AppShellLoader } from './chunk-YEX4MQSY.js';
|
|
8
8
|
import { useStatusFilter, useResourceSearch, useResourcesDomainFilters, filterByDomainFilters, useCommandViewDomainFilters } from './chunk-JT3FN6TE.js';
|
|
@@ -8587,8 +8587,8 @@ type BreadcrumbsProps = UseBreadcrumbsOptions;
|
|
|
8587
8587
|
declare const Breadcrumbs: ({ navItems }: BreadcrumbsProps) => react_jsx_runtime.JSX.Element;
|
|
8588
8588
|
|
|
8589
8589
|
interface KanbanBoardProps {
|
|
8590
|
-
/**
|
|
8591
|
-
config
|
|
8590
|
+
/** Required column configuration. If omitted or empty, the board shows a configuration-required state. */
|
|
8591
|
+
config: KanbanBoardConfig | null | undefined;
|
|
8592
8592
|
/**
|
|
8593
8593
|
* Optional render-prop forwarded to the DealDrawer action slot.
|
|
8594
8594
|
* Use this to inject consumer-specific actions (e.g. a revision trigger button).
|
|
@@ -8616,6 +8616,7 @@ declare const DEFAULT_KANBAN_CONFIG: KanbanBoardConfig;
|
|
|
8616
8616
|
|
|
8617
8617
|
interface DealDrawerProps {
|
|
8618
8618
|
deal: DealListItem | null;
|
|
8619
|
+
config: KanbanBoardConfig | null | undefined;
|
|
8619
8620
|
opened: boolean;
|
|
8620
8621
|
onClose: () => void;
|
|
8621
8622
|
/**
|
|
@@ -8624,7 +8625,7 @@ interface DealDrawerProps {
|
|
|
8624
8625
|
*/
|
|
8625
8626
|
renderActions?: () => ReactNode;
|
|
8626
8627
|
}
|
|
8627
|
-
declare function DealDrawer({ deal, opened, onClose, renderActions }: DealDrawerProps): react_jsx_runtime.JSX.Element | null;
|
|
8628
|
+
declare function DealDrawer({ deal, config, opened, onClose, renderActions }: DealDrawerProps): react_jsx_runtime.JSX.Element | null;
|
|
8628
8629
|
|
|
8629
8630
|
declare const CrmSidebar: () => react_jsx_runtime.JSX.Element;
|
|
8630
8631
|
|
package/dist/components/index.js
CHANGED
|
@@ -2,29 +2,29 @@ import { useBreadcrumbs } from '../chunk-MG3NF7QL.js';
|
|
|
2
2
|
import '../chunk-SMJLS23U.js';
|
|
3
3
|
import { NotificationList } from '../chunk-2JTCPVZX.js';
|
|
4
4
|
export { ActivityCard, ActivityFilters as ActivityFiltersBar, ActivityTable, BusinessImpactCard, CostBreakdownCard, CostByModelTable, CostMetricsCard, ErrorAnalysisCard, ErrorBreakdownTable, ExecutionBreakdownTable, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, NotificationItem, NotificationList, monitoringManifest } from '../chunk-2JTCPVZX.js';
|
|
5
|
-
export { CreateCredentialModal, CredentialList, CredentialSettings, MembershipFeaturePanel, MembershipStatusBadge, OAuthConnectModal, OrganizationMembershipsList, WebhookUrlDisplayModal, settingsManifest } from '../chunk-
|
|
5
|
+
export { CreateCredentialModal, CredentialList, CredentialSettings, MembershipFeaturePanel, MembershipStatusBadge, OAuthConnectModal, OrganizationMembershipsList, WebhookUrlDisplayModal, settingsManifest } from '../chunk-5KBVISVJ.js';
|
|
6
6
|
import { FilterBar } from '../chunk-PDHTXPSF.js';
|
|
7
7
|
export { FilterBar } from '../chunk-PDHTXPSF.js';
|
|
8
|
-
import { ResourceExecuteDialog } from '../chunk-
|
|
9
|
-
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
|
+
import { ResourceExecuteDialog } from '../chunk-YOZEGIZA.js';
|
|
9
|
+
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-YOZEGIZA.js';
|
|
10
10
|
import '../chunk-ROSMICXG.js';
|
|
11
11
|
import { SubshellLoader, PageContainer, SubshellSidebarSection, SubshellNavItem, CollapsibleSidebarGroup } from '../chunk-OCP2MBTY.js';
|
|
12
12
|
export { ResourceHealthPanel } from '../chunk-PFONCU6C.js';
|
|
13
13
|
import { CustomModal } from '../chunk-GBMNCNHX.js';
|
|
14
14
|
export { ConfirmationInputModal, ConfirmationModal, CustomModal } from '../chunk-GBMNCNHX.js';
|
|
15
|
-
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-
|
|
15
|
+
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-O6KZ46EJ.js';
|
|
16
16
|
export { ResourceHealthChart, getHealthColor } from '../chunk-LGKLC5MG.js';
|
|
17
17
|
import '../chunk-KFICYU6S.js';
|
|
18
18
|
import { AppShellLoader } from '../chunk-YEX4MQSY.js';
|
|
19
|
-
import '../chunk-
|
|
19
|
+
import '../chunk-M66JAN7R.js';
|
|
20
20
|
import { useUpdateApiKey, useDeleteApiKey, useCreateApiKey, useListApiKeys, useActivateDeployment, useDeactivateDeployment, useDeleteDeployment, useListDeployments, useProjects } from '../chunk-JT3FN6TE.js';
|
|
21
21
|
import { usePaginationState, useDeploymentDocs, useResources, useCreateSchedule, useListSchedules, usePauseSchedule, useResumeSchedule, useCancelSchedule, useDeleteSchedule, useDealNotes, useCreateDealNote, useDeals, useSyncDealStage, dealKeys, useDealTasksDue, useCreateDealTask, useDeleteDeal, useTableSort, sortData, useTableSelection, useDealDetail, showApiErrorNotification, acquisitionListKeys, showSuccessNotification, useListsTelemetry, useLists, useCreateList, useList, useListProgress, useListExecutions, useResourceDefinition, useCompanies, useDeleteCompanies, useContacts, useDeleteContacts, useDeleteProject, useMarkAllAsRead, useNotifications, showErrorNotification } from '../chunk-J5TBNCMD.js';
|
|
22
22
|
export { showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification } from '../chunk-J5TBNCMD.js';
|
|
23
23
|
import '../chunk-LXHZYSMQ.js';
|
|
24
24
|
export { Graph_module_css_default as graphStyles } from '../chunk-F6RBK7NJ.js';
|
|
25
25
|
export { CONTAINER_CONSTANTS, SHARED_VIZ_CONSTANTS } from '../chunk-XA34RETF.js';
|
|
26
|
-
import '../chunk-
|
|
27
|
-
import '../chunk-
|
|
26
|
+
import '../chunk-LH7RCX4Y.js';
|
|
27
|
+
import '../chunk-3WMJWXZY.js';
|
|
28
28
|
import '../chunk-CYXZHBP4.js';
|
|
29
29
|
import '../chunk-MZPVNRPL.js';
|
|
30
30
|
import { SubshellContainer, SubshellSidebar, SubshellRightSideContainer, SubshellContentContainer } from '../chunk-RX4UWZZR.js';
|
|
@@ -47,8 +47,8 @@ import '../chunk-DD3CCMCZ.js';
|
|
|
47
47
|
import { useElevasisServices } from '../chunk-QEPXAWE2.js';
|
|
48
48
|
import '../chunk-BRJ3QZ4E.js';
|
|
49
49
|
import { useRouterContext } from '../chunk-Q7DJKLEN.js';
|
|
50
|
-
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, Checkbox, RingProgress, Collapse, Popover, Indicator } from '@mantine/core';
|
|
51
|
-
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, IconSearch, IconTargetArrow, IconArrowLeft, IconFileText, IconX, IconBuilding, IconMailCheck,
|
|
50
|
+
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, Checkbox, Progress, RingProgress, Collapse, Popover, Indicator } from '@mantine/core';
|
|
51
|
+
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, IconSearch, IconTargetArrow, IconArrowLeft, IconFileText, IconX, IconBuilding, IconMailCheck, IconArrowRight, IconQuestionMark, IconSparkles, IconClockHour4, IconBuildingFactory2, IconUsers, IconChartBar, IconTrendingUp, IconHeartbeat, IconFlag, IconInbox, IconLock, IconChevronRight, IconDownload, IconMessageCircle, IconBell, IconNotes, IconFolderOpen, IconFolder, IconCheckbox, IconMail, IconPhone, IconNote } from '@tabler/icons-react';
|
|
52
52
|
import * as runtime from 'react/jsx-runtime';
|
|
53
53
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
54
54
|
import { useDisclosure } from '@mantine/hooks';
|
|
@@ -3089,22 +3089,11 @@ function DealKanbanCard({ deal, config, onClick, onDragStart, onDragEnd }) {
|
|
|
3089
3089
|
}
|
|
3090
3090
|
);
|
|
3091
3091
|
}
|
|
3092
|
-
|
|
3093
|
-
// src/components/acquisition/kanban/constants.ts
|
|
3094
|
-
var DEAL_STAGES = ["interested", "proposal", "closing", "closed_won", "closed_lost", "nurturing"];
|
|
3095
|
-
var DEFAULT_KANBAN_CONFIG = {
|
|
3096
|
-
interested: { color: "blue" },
|
|
3097
|
-
proposal: { color: "yellow" },
|
|
3098
|
-
closing: { color: "lime" },
|
|
3099
|
-
closed_won: { color: "green" },
|
|
3100
|
-
closed_lost: { color: "red" },
|
|
3101
|
-
nurturing: { color: "grape" }
|
|
3102
|
-
};
|
|
3103
3092
|
function formatStageLabel(stage) {
|
|
3104
3093
|
if (!stage) return "Unstaged";
|
|
3105
3094
|
return stage.split("_").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
|
|
3106
3095
|
}
|
|
3107
|
-
function DealDrawer({ deal, opened, onClose, renderActions }) {
|
|
3096
|
+
function DealDrawer({ deal, config, opened, onClose, renderActions }) {
|
|
3108
3097
|
const [noteBody, setNoteBody] = useState("");
|
|
3109
3098
|
const { data: notes, isLoading: notesLoading } = useDealNotes(deal?.id ?? "");
|
|
3110
3099
|
const createNote = useCreateDealNote();
|
|
@@ -3116,7 +3105,7 @@ function DealDrawer({ deal, opened, onClose, renderActions }) {
|
|
|
3116
3105
|
const email = deal.contact?.email || deal.contact_email || null;
|
|
3117
3106
|
const companyName = deal.contact?.company?.name || deal.discovery_data?.company || null;
|
|
3118
3107
|
const stage = deal.cached_stage;
|
|
3119
|
-
const badgeColor =
|
|
3108
|
+
const badgeColor = (stage ? config?.[stage]?.color : null) ?? "gray";
|
|
3120
3109
|
const activityLog = deal.activity_log || [];
|
|
3121
3110
|
const hasInitialFee = typeof deal.initial_fee === "number" && deal.initial_fee > 0;
|
|
3122
3111
|
const hasMonthlyFee = typeof deal.monthly_fee === "number" && deal.monthly_fee > 0;
|
|
@@ -3232,12 +3221,9 @@ function formatStageLabel2(stage) {
|
|
|
3232
3221
|
if (stage === UNSTAGED_KEY) return "Unstaged";
|
|
3233
3222
|
return stage.split("_").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
|
|
3234
3223
|
}
|
|
3235
|
-
function groupDealsByStage(deals) {
|
|
3224
|
+
function groupDealsByStage(deals, columns) {
|
|
3236
3225
|
const map = /* @__PURE__ */ new Map();
|
|
3237
|
-
for (const stage of
|
|
3238
|
-
map.set(stage, []);
|
|
3239
|
-
}
|
|
3240
|
-
map.set(UNSTAGED_KEY, []);
|
|
3226
|
+
for (const stage of columns) map.set(stage, []);
|
|
3241
3227
|
for (const deal of deals) {
|
|
3242
3228
|
const key = deal.cached_stage ?? UNSTAGED_KEY;
|
|
3243
3229
|
const bucket = map.get(key);
|
|
@@ -3249,7 +3235,7 @@ function groupDealsByStage(deals) {
|
|
|
3249
3235
|
}
|
|
3250
3236
|
return map;
|
|
3251
3237
|
}
|
|
3252
|
-
function KanbanBoard({ config
|
|
3238
|
+
function KanbanBoard({ config, renderDrawerActions }) {
|
|
3253
3239
|
const { data: deals, isLoading, error } = useDeals();
|
|
3254
3240
|
const syncStage = useSyncDealStage();
|
|
3255
3241
|
const queryClient = useQueryClient();
|
|
@@ -3257,8 +3243,11 @@ function KanbanBoard({ config = DEFAULT_KANBAN_CONFIG, renderDrawerActions }) {
|
|
|
3257
3243
|
const [drawerOpen, setDrawerOpen] = useState(false);
|
|
3258
3244
|
const [dragOverColumn, setDragOverColumn] = useState(null);
|
|
3259
3245
|
const draggingDealRef = useRef(null);
|
|
3260
|
-
const
|
|
3261
|
-
const
|
|
3246
|
+
const resolvedConfig = config ?? {};
|
|
3247
|
+
const configuredStages = Object.keys(resolvedConfig).filter((stage) => Boolean(resolvedConfig[stage]));
|
|
3248
|
+
const columns = [...configuredStages, UNSTAGED_KEY];
|
|
3249
|
+
const hasConfig = configuredStages.length > 0;
|
|
3250
|
+
const groupedDeals = groupDealsByStage(deals ?? [], columns);
|
|
3262
3251
|
const handleDragStart = useCallback((e, deal) => {
|
|
3263
3252
|
draggingDealRef.current = deal;
|
|
3264
3253
|
e.dataTransfer.effectAllowed = "move";
|
|
@@ -3307,6 +3296,15 @@ function KanbanBoard({ config = DEFAULT_KANBAN_CONFIG, renderDrawerActions }) {
|
|
|
3307
3296
|
if (error) {
|
|
3308
3297
|
return /* @__PURE__ */ jsx(SubshellContentContainer, { children: /* @__PURE__ */ jsx(Alert, { color: "red", children: "Failed to load deals" }) });
|
|
3309
3298
|
}
|
|
3299
|
+
if (!hasConfig) {
|
|
3300
|
+
return /* @__PURE__ */ jsx(SubshellContentContainer, { children: /* @__PURE__ */ jsxs(Stack, { children: [
|
|
3301
|
+
/* @__PURE__ */ jsx(PageTitleCaption, { title: "Pipeline", caption: "Kanban view of your deal pipeline" }),
|
|
3302
|
+
/* @__PURE__ */ jsx(Paper, { withBorder: true, p: "xl", children: /* @__PURE__ */ jsx(Center, { py: "xl", children: /* @__PURE__ */ jsxs(Stack, { gap: "xs", align: "center", children: [
|
|
3303
|
+
/* @__PURE__ */ jsx(Text, { fw: 600, children: "Configuration Required" }),
|
|
3304
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", ta: "center", children: "Provide a kanban stage config before rendering the pipeline board." })
|
|
3305
|
+
] }) }) })
|
|
3306
|
+
] }) });
|
|
3307
|
+
}
|
|
3310
3308
|
return /* @__PURE__ */ jsxs(SubshellContentContainer, { children: [
|
|
3311
3309
|
/* @__PURE__ */ jsxs(Stack, { children: [
|
|
3312
3310
|
/* @__PURE__ */ jsx(PageTitleCaption, { title: "Pipeline", caption: "Kanban view of your deal pipeline" }),
|
|
@@ -3322,7 +3320,7 @@ function KanbanBoard({ config = DEFAULT_KANBAN_CONFIG, renderDrawerActions }) {
|
|
|
3322
3320
|
const columnDeals = groupedDeals.get(columnKey) ?? [];
|
|
3323
3321
|
const isUnstaged = columnKey === UNSTAGED_KEY;
|
|
3324
3322
|
const isDragTarget = dragOverColumn === columnKey;
|
|
3325
|
-
const badgeColor = isUnstaged ? "gray" :
|
|
3323
|
+
const badgeColor = isUnstaged ? "gray" : resolvedConfig[columnKey]?.color ?? "gray";
|
|
3326
3324
|
return /* @__PURE__ */ jsx(
|
|
3327
3325
|
Box,
|
|
3328
3326
|
{
|
|
@@ -3361,7 +3359,7 @@ function KanbanBoard({ config = DEFAULT_KANBAN_CONFIG, renderDrawerActions }) {
|
|
|
3361
3359
|
DealKanbanCard,
|
|
3362
3360
|
{
|
|
3363
3361
|
deal,
|
|
3364
|
-
config,
|
|
3362
|
+
config: resolvedConfig,
|
|
3365
3363
|
onClick: handleCardClick,
|
|
3366
3364
|
onDragStart: handleDragStart,
|
|
3367
3365
|
onDragEnd: handleDragEnd
|
|
@@ -3380,6 +3378,7 @@ function KanbanBoard({ config = DEFAULT_KANBAN_CONFIG, renderDrawerActions }) {
|
|
|
3380
3378
|
DealDrawer,
|
|
3381
3379
|
{
|
|
3382
3380
|
deal: selectedDeal,
|
|
3381
|
+
config: resolvedConfig,
|
|
3383
3382
|
opened: drawerOpen,
|
|
3384
3383
|
onClose: () => setDrawerOpen(false),
|
|
3385
3384
|
renderActions: renderDrawerActions
|
|
@@ -3387,6 +3386,17 @@ function KanbanBoard({ config = DEFAULT_KANBAN_CONFIG, renderDrawerActions }) {
|
|
|
3387
3386
|
)
|
|
3388
3387
|
] });
|
|
3389
3388
|
}
|
|
3389
|
+
|
|
3390
|
+
// src/components/acquisition/kanban/constants.ts
|
|
3391
|
+
var DEAL_STAGES = ["interested", "proposal", "closing", "closed_won", "closed_lost", "nurturing"];
|
|
3392
|
+
var DEFAULT_KANBAN_CONFIG = {
|
|
3393
|
+
interested: { color: "blue" },
|
|
3394
|
+
proposal: { color: "yellow" },
|
|
3395
|
+
closing: { color: "lime" },
|
|
3396
|
+
closed_won: { color: "green" },
|
|
3397
|
+
closed_lost: { color: "red" },
|
|
3398
|
+
nurturing: { color: "grape" }
|
|
3399
|
+
};
|
|
3390
3400
|
var CrmSidebarTop = () => {
|
|
3391
3401
|
return /* @__PURE__ */ jsx(SubshellSidebarSection, { icon: IconAddressBook, label: "CRM" });
|
|
3392
3402
|
};
|
|
@@ -4902,12 +4912,159 @@ function useDeleteLists() {
|
|
|
4902
4912
|
});
|
|
4903
4913
|
}
|
|
4904
4914
|
var EM_DASH = "\u2014";
|
|
4915
|
+
function computeCompletionRatio(populated, personalized) {
|
|
4916
|
+
if (populated === 0) return null;
|
|
4917
|
+
return personalized / populated;
|
|
4918
|
+
}
|
|
4919
|
+
function formatPercentage(ratio, fractionDigits = 0) {
|
|
4920
|
+
if (ratio == null) return EM_DASH;
|
|
4921
|
+
return `${(ratio * 100).toFixed(fractionDigits)}%`;
|
|
4922
|
+
}
|
|
4905
4923
|
function computeCompletionPercentage(populated, personalized) {
|
|
4906
|
-
|
|
4907
|
-
|
|
4924
|
+
return formatPercentage(computeCompletionRatio(populated, personalized));
|
|
4925
|
+
}
|
|
4926
|
+
function computeBounceRate(d) {
|
|
4927
|
+
const denominator = d.valid + d.risky + d.invalid + d.bounced;
|
|
4928
|
+
if (denominator === 0) return EM_DASH;
|
|
4929
|
+
return `${(d.bounced / denominator * 100).toFixed(1)}%`;
|
|
4930
|
+
}
|
|
4931
|
+
function computeBacklog(current, completed) {
|
|
4932
|
+
return Math.max(current - completed, 0);
|
|
4933
|
+
}
|
|
4934
|
+
function getOverviewStatus(list) {
|
|
4935
|
+
if ((list.activeWorkflows?.length ?? 0) > 0) {
|
|
4936
|
+
return { label: "Active Work", color: "green" };
|
|
4937
|
+
}
|
|
4938
|
+
if (list.stageCounts.personalized > 0 && list.stageCounts.personalized === list.stageCounts.uploaded) {
|
|
4939
|
+
return { label: "Complete", color: "blue" };
|
|
4940
|
+
}
|
|
4941
|
+
return { label: "Idle", color: "gray" };
|
|
4942
|
+
}
|
|
4943
|
+
function getNextFocus(list) {
|
|
4944
|
+
if ((list.activeWorkflows?.length ?? 0) > 0) {
|
|
4945
|
+
return { label: "Workflow running", count: list.activeWorkflows?.length ?? 0 };
|
|
4946
|
+
}
|
|
4947
|
+
if (list.totalCompanies === 0 && list.totalContacts === 0) {
|
|
4948
|
+
return { label: "Populate list", count: null };
|
|
4949
|
+
}
|
|
4950
|
+
const extractGap = computeBacklog(list.stageCounts.populated, list.stageCounts.extracted);
|
|
4951
|
+
if (extractGap > 0) {
|
|
4952
|
+
return { label: "Extract website data", count: extractGap };
|
|
4953
|
+
}
|
|
4954
|
+
const qualifyGap = computeBacklog(list.stageCounts.extracted, list.stageCounts.qualified);
|
|
4955
|
+
if (qualifyGap > 0) {
|
|
4956
|
+
return { label: "Qualify companies", count: qualifyGap };
|
|
4957
|
+
}
|
|
4958
|
+
const discoverGap = computeBacklog(list.stageCounts.qualified, list.stageCounts.discovered);
|
|
4959
|
+
if (discoverGap > 0) {
|
|
4960
|
+
return { label: "Discover contacts", count: discoverGap };
|
|
4961
|
+
}
|
|
4962
|
+
const verifyGap = computeBacklog(list.stageCounts.discovered, list.stageCounts.verified);
|
|
4963
|
+
if (verifyGap > 0) {
|
|
4964
|
+
return { label: "Verify emails", count: verifyGap };
|
|
4965
|
+
}
|
|
4966
|
+
const personalizeGap = computeBacklog(list.stageCounts.verified, list.stageCounts.personalized);
|
|
4967
|
+
if (personalizeGap > 0) {
|
|
4968
|
+
return { label: "Personalize outreach", count: personalizeGap };
|
|
4969
|
+
}
|
|
4970
|
+
const uploadGap = computeBacklog(list.stageCounts.personalized, list.stageCounts.uploaded);
|
|
4971
|
+
if (uploadGap > 0) {
|
|
4972
|
+
return { label: "Upload contacts", count: uploadGap };
|
|
4973
|
+
}
|
|
4974
|
+
return { label: "Complete", count: null };
|
|
4975
|
+
}
|
|
4976
|
+
function formatCountLabel(value, noun) {
|
|
4977
|
+
return `${value} ${noun}${value === 1 ? "" : "s"}`;
|
|
4978
|
+
}
|
|
4979
|
+
function getPrimaryAction({
|
|
4980
|
+
uploadBacklog,
|
|
4981
|
+
personalizationBacklog,
|
|
4982
|
+
verificationBacklog,
|
|
4983
|
+
deliverabilityRiskCount,
|
|
4984
|
+
activeListCount,
|
|
4985
|
+
totalLists
|
|
4986
|
+
}) {
|
|
4987
|
+
if (uploadBacklog > 0) {
|
|
4988
|
+
return {
|
|
4989
|
+
title: `Upload ${formatCountLabel(uploadBacklog, "personalized contact")}`,
|
|
4990
|
+
detail: "No verification blockers are left on the contacts already ready for outreach.",
|
|
4991
|
+
buttonLabel: "Review lists",
|
|
4992
|
+
buttonTo: "/lead-gen/lists",
|
|
4993
|
+
tone: "blue"
|
|
4994
|
+
};
|
|
4995
|
+
}
|
|
4996
|
+
if (personalizationBacklog > 0) {
|
|
4997
|
+
return {
|
|
4998
|
+
title: `Personalize ${formatCountLabel(personalizationBacklog, "verified contact")}`,
|
|
4999
|
+
detail: "Verification is done. The next bottleneck is drafting outreach copy.",
|
|
5000
|
+
buttonLabel: "Open lists",
|
|
5001
|
+
buttonTo: "/lead-gen/lists",
|
|
5002
|
+
tone: "blue"
|
|
5003
|
+
};
|
|
5004
|
+
}
|
|
5005
|
+
if (verificationBacklog > 0) {
|
|
5006
|
+
return {
|
|
5007
|
+
title: `Verify ${formatCountLabel(verificationBacklog, "discovered contact")}`,
|
|
5008
|
+
detail: "Email validation is the main blocker before personalization can continue.",
|
|
5009
|
+
buttonLabel: "Open lists",
|
|
5010
|
+
buttonTo: "/lead-gen/lists",
|
|
5011
|
+
tone: "orange"
|
|
5012
|
+
};
|
|
5013
|
+
}
|
|
5014
|
+
if (deliverabilityRiskCount > 0) {
|
|
5015
|
+
return {
|
|
5016
|
+
title: `Resolve ${formatCountLabel(deliverabilityRiskCount, "deliverability risk")}`,
|
|
5017
|
+
detail: "Risky, invalid, or bounced records are the main campaign health issue right now.",
|
|
5018
|
+
buttonLabel: "View deliverability",
|
|
5019
|
+
buttonTo: "/lead-gen/deliverability",
|
|
5020
|
+
tone: "orange"
|
|
5021
|
+
};
|
|
5022
|
+
}
|
|
5023
|
+
if (activeListCount > 0) {
|
|
5024
|
+
return {
|
|
5025
|
+
title: `Monitor ${formatCountLabel(activeListCount, "active list")}`,
|
|
5026
|
+
detail: "Workflows are running and there are no immediate contact-stage backlogs to clear.",
|
|
5027
|
+
buttonLabel: "Open lists",
|
|
5028
|
+
buttonTo: "/lead-gen/lists",
|
|
5029
|
+
tone: "green"
|
|
5030
|
+
};
|
|
5031
|
+
}
|
|
5032
|
+
if (totalLists > 0) {
|
|
5033
|
+
return {
|
|
5034
|
+
title: "No blockers right now",
|
|
5035
|
+
detail: "Lists are idle and the current pipeline does not show an urgent follow-up step.",
|
|
5036
|
+
buttonLabel: "Review lists",
|
|
5037
|
+
buttonTo: "/lead-gen/lists",
|
|
5038
|
+
tone: "gray"
|
|
5039
|
+
};
|
|
5040
|
+
}
|
|
5041
|
+
return {
|
|
5042
|
+
title: "Create your first list",
|
|
5043
|
+
detail: "Lead gen telemetry will appear here once a list starts moving through the pipeline.",
|
|
5044
|
+
buttonLabel: "Open lists",
|
|
5045
|
+
buttonTo: "/lead-gen/lists",
|
|
5046
|
+
tone: "gray"
|
|
5047
|
+
};
|
|
5048
|
+
}
|
|
5049
|
+
function CompactPipelineStage({
|
|
5050
|
+
label,
|
|
5051
|
+
value,
|
|
5052
|
+
ratio
|
|
5053
|
+
}) {
|
|
5054
|
+
return /* @__PURE__ */ jsx(Paper, { withBorder: true, p: "sm", children: /* @__PURE__ */ jsxs(Stack, { gap: 6, children: [
|
|
5055
|
+
/* @__PURE__ */ jsxs(Group, { justify: "space-between", gap: "xs", wrap: "nowrap", children: [
|
|
5056
|
+
/* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, children: label }),
|
|
5057
|
+
/* @__PURE__ */ jsx(Badge, { size: "xs", variant: "light", color: "blue", children: formatPercentage(ratio) })
|
|
5058
|
+
] }),
|
|
5059
|
+
/* @__PURE__ */ jsx(Title, { order: 4, children: value }),
|
|
5060
|
+
/* @__PURE__ */ jsx(Progress, { value: ratio == null ? 0 : ratio * 100, size: "sm", radius: "xl", color: "blue" })
|
|
5061
|
+
] }) });
|
|
4908
5062
|
}
|
|
4909
5063
|
function LeadGenOverviewPage() {
|
|
4910
|
-
const
|
|
5064
|
+
const telemetryQuery = useListsTelemetry();
|
|
5065
|
+
const listsQuery = useLists();
|
|
5066
|
+
const data = telemetryQuery.data;
|
|
5067
|
+
const listMetaById = new Map((listsQuery.data ?? []).map((list) => [list.id, list]));
|
|
4911
5068
|
const totalCompanies = data?.reduce((sum, list) => sum + list.totalCompanies, 0) ?? 0;
|
|
4912
5069
|
const totalContacts = data?.reduce((sum, list) => sum + list.totalContacts, 0) ?? 0;
|
|
4913
5070
|
const stageTotals = data?.reduce(
|
|
@@ -4922,82 +5079,210 @@ function LeadGenOverviewPage() {
|
|
|
4922
5079
|
}),
|
|
4923
5080
|
{ populated: 0, extracted: 0, qualified: 0, discovered: 0, verified: 0, personalized: 0, uploaded: 0 }
|
|
4924
5081
|
) ?? { populated: 0, extracted: 0, qualified: 0, discovered: 0, verified: 0, personalized: 0, uploaded: 0 };
|
|
4925
|
-
const
|
|
4926
|
-
|
|
4927
|
-
|
|
4928
|
-
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
|
|
4932
|
-
|
|
4933
|
-
{
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
5082
|
+
const deliverabilityTotals = data?.reduce(
|
|
5083
|
+
(acc, list) => ({
|
|
5084
|
+
valid: acc.valid + list.deliverability.valid,
|
|
5085
|
+
risky: acc.risky + list.deliverability.risky,
|
|
5086
|
+
invalid: acc.invalid + list.deliverability.invalid,
|
|
5087
|
+
unknown: acc.unknown + list.deliverability.unknown,
|
|
5088
|
+
bounced: acc.bounced + list.deliverability.bounced
|
|
5089
|
+
}),
|
|
5090
|
+
{ valid: 0, risky: 0, invalid: 0, unknown: 0, bounced: 0 }
|
|
5091
|
+
) ?? { risky: 0, invalid: 0, bounced: 0 };
|
|
5092
|
+
const activeListCount = data?.filter((list) => (list.activeWorkflows?.length ?? 0) > 0).length ?? 0;
|
|
5093
|
+
const verificationBacklog = computeBacklog(stageTotals.discovered, stageTotals.verified);
|
|
5094
|
+
const personalizationBacklog = computeBacklog(stageTotals.verified, stageTotals.personalized);
|
|
5095
|
+
const uploadBacklog = computeBacklog(stageTotals.personalized, stageTotals.uploaded);
|
|
5096
|
+
const deliverabilityRiskCount = deliverabilityTotals.risky + deliverabilityTotals.invalid + deliverabilityTotals.bounced;
|
|
5097
|
+
const totalLists = data?.length ?? 0;
|
|
5098
|
+
const summaryLine = [
|
|
5099
|
+
`${totalLists} ${totalLists === 1 ? "list" : "lists"} active`,
|
|
5100
|
+
`${formatCountLabel(uploadBacklog, "contact")} ready for upload`,
|
|
5101
|
+
deliverabilityRiskCount === 0 ? "no risks" : `${formatCountLabel(deliverabilityRiskCount, "risk")}`
|
|
5102
|
+
].join(" \u2022 ");
|
|
5103
|
+
const primaryAction = getPrimaryAction({
|
|
5104
|
+
uploadBacklog,
|
|
5105
|
+
personalizationBacklog,
|
|
5106
|
+
verificationBacklog,
|
|
5107
|
+
deliverabilityRiskCount,
|
|
5108
|
+
activeListCount,
|
|
5109
|
+
totalLists
|
|
5110
|
+
});
|
|
5111
|
+
const pipelineStages = [
|
|
5112
|
+
{
|
|
5113
|
+
label: "Populated",
|
|
5114
|
+
value: stageTotals.populated,
|
|
5115
|
+
ratio: totalCompanies === 0 ? null : stageTotals.populated / totalCompanies
|
|
5116
|
+
},
|
|
5117
|
+
{
|
|
5118
|
+
label: "Qualified",
|
|
5119
|
+
value: stageTotals.qualified,
|
|
5120
|
+
ratio: totalCompanies === 0 ? null : stageTotals.qualified / totalCompanies
|
|
5121
|
+
},
|
|
5122
|
+
{
|
|
5123
|
+
label: "Verified",
|
|
5124
|
+
value: stageTotals.verified,
|
|
5125
|
+
ratio: totalContacts === 0 ? null : stageTotals.verified / totalContacts
|
|
5126
|
+
},
|
|
5127
|
+
{
|
|
5128
|
+
label: "Personalized",
|
|
5129
|
+
value: stageTotals.personalized,
|
|
5130
|
+
ratio: totalContacts === 0 ? null : stageTotals.personalized / totalContacts
|
|
5131
|
+
},
|
|
5132
|
+
{
|
|
5133
|
+
label: "Uploaded",
|
|
5134
|
+
value: stageTotals.uploaded,
|
|
5135
|
+
ratio: totalContacts === 0 ? null : stageTotals.uploaded / totalContacts
|
|
5136
|
+
}
|
|
4937
5137
|
];
|
|
5138
|
+
const overviewRows = data?.map((list) => {
|
|
5139
|
+
const listMeta = listMetaById.get(list.listId);
|
|
5140
|
+
const completionRatio = computeCompletionRatio(list.stageCounts.populated, list.stageCounts.personalized);
|
|
5141
|
+
const nextFocus = getNextFocus(list);
|
|
5142
|
+
return {
|
|
5143
|
+
...list,
|
|
5144
|
+
name: listMeta?.name ?? `List ${list.listId.slice(0, 8)}`,
|
|
5145
|
+
completionRatio,
|
|
5146
|
+
nextFocus,
|
|
5147
|
+
status: getOverviewStatus(list)
|
|
5148
|
+
};
|
|
5149
|
+
}).sort((a, b) => {
|
|
5150
|
+
const aActive = a.status.label === "Active Work" ? 1 : 0;
|
|
5151
|
+
const bActive = b.status.label === "Active Work" ? 1 : 0;
|
|
5152
|
+
if (aActive !== bActive) return bActive - aActive;
|
|
5153
|
+
const aBacklog = computeBacklog(a.stageCounts.discovered, a.stageCounts.verified) + computeBacklog(a.stageCounts.verified, a.stageCounts.personalized) + computeBacklog(a.stageCounts.personalized, a.stageCounts.uploaded);
|
|
5154
|
+
const bBacklog = computeBacklog(b.stageCounts.discovered, b.stageCounts.verified) + computeBacklog(b.stageCounts.verified, b.stageCounts.personalized) + computeBacklog(b.stageCounts.personalized, b.stageCounts.uploaded);
|
|
5155
|
+
if (aBacklog !== bBacklog) return bBacklog - aBacklog;
|
|
5156
|
+
return b.totalContacts - a.totalContacts;
|
|
5157
|
+
}) ?? [];
|
|
4938
5158
|
return /* @__PURE__ */ jsx(SubshellContentContainer, { children: /* @__PURE__ */ jsx(PageContainer, { children: /* @__PURE__ */ jsxs(Stack, { children: [
|
|
4939
5159
|
/* @__PURE__ */ jsx(
|
|
4940
5160
|
PageTitleCaption,
|
|
4941
5161
|
{
|
|
4942
5162
|
title: "Lead Gen Overview",
|
|
4943
|
-
caption:
|
|
5163
|
+
caption: summaryLine,
|
|
5164
|
+
rightSection: /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
|
|
5165
|
+
/* @__PURE__ */ jsx(Button, { component: Link$1, to: "/lead-gen/lists", size: "sm", variant: "light", children: "Lists" }),
|
|
5166
|
+
/* @__PURE__ */ jsx(Button, { component: Link$1, to: "/lead-gen/deliverability", size: "sm", variant: "light", children: "Deliverability" })
|
|
5167
|
+
] })
|
|
4944
5168
|
}
|
|
4945
5169
|
),
|
|
4946
|
-
isLoading ? /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) }) : isError ? /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(CenteredErrorState, { error, title: "Failed to load list telemetry" }) }) : !data?.length ? /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(Center, { h: 300, children: /* @__PURE__ */ jsx(Alert, { icon: /* @__PURE__ */ jsx(IconAlertCircle, { size: 16 }), color: "gray", variant: "light", children: "No lists yet." }) }) }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4947
|
-
/* @__PURE__ */ jsxs(SimpleGrid, { cols: { base:
|
|
4948
|
-
/* @__PURE__ */ jsx(StatCard, { variant: "hero", icon:
|
|
4949
|
-
/* @__PURE__ */ jsx(StatCard, { variant: "hero", icon:
|
|
4950
|
-
/* @__PURE__ */ jsx(StatCard, { variant: "hero", icon:
|
|
4951
|
-
/* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconChecklist, value: completionLabel, label: "Overall Completion" })
|
|
4952
|
-
] }),
|
|
4953
|
-
/* @__PURE__ */ jsxs(Text, { size: "sm", c: "dimmed", children: [
|
|
4954
|
-
"View per-list detail on the",
|
|
4955
|
-
" ",
|
|
4956
|
-
/* @__PURE__ */ jsx(Anchor, { component: Link$1, to: "/lead-gen/lists", size: "sm", children: "Lists" }),
|
|
4957
|
-
" ",
|
|
4958
|
-
"page."
|
|
5170
|
+
telemetryQuery.isLoading ? /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) }) : telemetryQuery.isError ? /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(CenteredErrorState, { error: telemetryQuery.error, title: "Failed to load list telemetry" }) }) : !data?.length ? /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(Center, { h: 300, children: /* @__PURE__ */ jsx(Alert, { icon: /* @__PURE__ */ jsx(IconAlertCircle, { size: 16 }), color: "gray", variant: "light", children: "No lists yet." }) }) }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5171
|
+
/* @__PURE__ */ jsxs(SimpleGrid, { cols: { base: 1, sm: 3 }, children: [
|
|
5172
|
+
/* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconPlayerPlay, value: activeListCount, label: "Active Lists" }),
|
|
5173
|
+
/* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconArrowRight, value: uploadBacklog, label: "Ready Contacts" }),
|
|
5174
|
+
/* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconAlertCircle, value: deliverabilityRiskCount, label: "At Risk" })
|
|
4959
5175
|
] }),
|
|
4960
5176
|
/* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
|
|
4961
|
-
/* @__PURE__ */
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
|
|
4965
|
-
|
|
5177
|
+
/* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-start", gap: "md", children: [
|
|
5178
|
+
/* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
|
|
5179
|
+
/* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 700, children: "Next Action" }),
|
|
5180
|
+
/* @__PURE__ */ jsx(Title, { order: 3, children: primaryAction.title }),
|
|
5181
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", maw: 620, children: primaryAction.detail })
|
|
5182
|
+
] }),
|
|
5183
|
+
/* @__PURE__ */ jsx(Button, { component: Link$1, to: primaryAction.buttonTo, size: "sm", variant: "light", children: primaryAction.buttonLabel })
|
|
5184
|
+
] }),
|
|
5185
|
+
/* @__PURE__ */ jsxs(SimpleGrid, { cols: { base: 1, md: 3 }, children: [
|
|
5186
|
+
/* @__PURE__ */ jsxs(Paper, { withBorder: true, p: "sm", children: [
|
|
5187
|
+
/* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, children: "Verification" }),
|
|
5188
|
+
/* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-end", mt: 6, children: [
|
|
5189
|
+
/* @__PURE__ */ jsx(Title, { order: 4, children: verificationBacklog }),
|
|
5190
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "waiting" })
|
|
5191
|
+
] })
|
|
5192
|
+
] }),
|
|
5193
|
+
/* @__PURE__ */ jsxs(Paper, { withBorder: true, p: "sm", children: [
|
|
5194
|
+
/* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, children: "Personalization" }),
|
|
5195
|
+
/* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-end", mt: 6, children: [
|
|
5196
|
+
/* @__PURE__ */ jsx(Title, { order: 4, children: personalizationBacklog }),
|
|
5197
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "ready" })
|
|
5198
|
+
] })
|
|
5199
|
+
] }),
|
|
5200
|
+
/* @__PURE__ */ jsxs(Paper, { withBorder: true, p: "sm", children: [
|
|
5201
|
+
/* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, children: "Completion" }),
|
|
5202
|
+
/* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-end", mt: 6, children: [
|
|
5203
|
+
/* @__PURE__ */ jsx(Title, { order: 4, children: computeCompletionPercentage(stageTotals.populated, stageTotals.personalized) }),
|
|
5204
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "personalized" })
|
|
5205
|
+
] })
|
|
5206
|
+
] })
|
|
5207
|
+
] })
|
|
4966
5208
|
] }) }),
|
|
4967
5209
|
/* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
|
|
4968
|
-
/* @__PURE__ */
|
|
5210
|
+
/* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-end", children: [
|
|
5211
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
5212
|
+
/* @__PURE__ */ jsx(Title, { order: 3, children: "Pipeline" }),
|
|
5213
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "Keep the funnel visible without giving every zero state its own section." })
|
|
5214
|
+
] }),
|
|
5215
|
+
/* @__PURE__ */ jsxs(Badge, { variant: "light", color: "blue", children: [
|
|
5216
|
+
stageTotals.extracted,
|
|
5217
|
+
" extracted \u2022 ",
|
|
5218
|
+
stageTotals.discovered,
|
|
5219
|
+
" discovered"
|
|
5220
|
+
] })
|
|
5221
|
+
] }),
|
|
5222
|
+
/* @__PURE__ */ jsx(SimpleGrid, { cols: { base: 1, sm: 2, xl: 5 }, children: pipelineStages.map((stage) => /* @__PURE__ */ jsx(
|
|
5223
|
+
CompactPipelineStage,
|
|
5224
|
+
{
|
|
5225
|
+
label: stage.label,
|
|
5226
|
+
value: stage.value,
|
|
5227
|
+
ratio: stage.ratio
|
|
5228
|
+
},
|
|
5229
|
+
stage.label
|
|
5230
|
+
)) })
|
|
5231
|
+
] }) }),
|
|
5232
|
+
/* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
|
|
5233
|
+
/* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-end", children: [
|
|
5234
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
5235
|
+
/* @__PURE__ */ jsx(Title, { order: 3, children: "List Snapshot" }),
|
|
5236
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "Ranked to surface active work first, then the largest unresolved backlogs." })
|
|
5237
|
+
] }),
|
|
5238
|
+
/* @__PURE__ */ jsx(Button, { component: Link$1, to: "/lead-gen/lists", size: "sm", variant: "subtle", children: "Open lists" })
|
|
5239
|
+
] }),
|
|
4969
5240
|
/* @__PURE__ */ jsxs(Table, { children: [
|
|
4970
5241
|
/* @__PURE__ */ jsx(Table.Thead, { children: /* @__PURE__ */ jsxs(Table.Tr, { children: [
|
|
4971
5242
|
/* @__PURE__ */ jsx(Table.Th, { children: "List" }),
|
|
4972
5243
|
/* @__PURE__ */ jsx(Table.Th, { children: "Companies" }),
|
|
4973
5244
|
/* @__PURE__ */ jsx(Table.Th, { children: "Contacts" }),
|
|
4974
|
-
/* @__PURE__ */ jsx(Table.Th, { children: "
|
|
5245
|
+
/* @__PURE__ */ jsx(Table.Th, { children: "Next Focus" }),
|
|
5246
|
+
/* @__PURE__ */ jsx(Table.Th, { children: "Progress" }),
|
|
4975
5247
|
/* @__PURE__ */ jsx(Table.Th, { children: "Status" })
|
|
4976
5248
|
] }) }),
|
|
4977
|
-
/* @__PURE__ */ jsx(Table.Tbody, { children:
|
|
4978
|
-
|
|
4979
|
-
list.
|
|
4980
|
-
list.
|
|
4981
|
-
)
|
|
4982
|
-
|
|
4983
|
-
|
|
4984
|
-
|
|
4985
|
-
/* @__PURE__ */ jsx(
|
|
4986
|
-
/* @__PURE__ */ jsx(
|
|
4987
|
-
|
|
4988
|
-
|
|
4989
|
-
|
|
4990
|
-
|
|
5249
|
+
/* @__PURE__ */ jsx(Table.Tbody, { children: overviewRows.map((list) => /* @__PURE__ */ jsxs(Table.Tr, { children: [
|
|
5250
|
+
/* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
|
|
5251
|
+
/* @__PURE__ */ jsx(Link$1, { to: "/lead-gen/lists/$listId", params: { listId: list.listId }, children: /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, component: "span", c: "blue.4", children: list.name }) }),
|
|
5252
|
+
/* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: list.listId })
|
|
5253
|
+
] }) }),
|
|
5254
|
+
/* @__PURE__ */ jsx(Table.Td, { children: list.totalCompanies }),
|
|
5255
|
+
/* @__PURE__ */ jsx(Table.Td, { children: list.totalContacts }),
|
|
5256
|
+
/* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
|
|
5257
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, children: list.nextFocus.label }),
|
|
5258
|
+
/* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: list.nextFocus.count == null ? "No outstanding count" : `${list.nextFocus.count} item${list.nextFocus.count === 1 ? "" : "s"} queued` })
|
|
5259
|
+
] }) }),
|
|
5260
|
+
/* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsxs(Stack, { gap: "xs", miw: 150, children: [
|
|
5261
|
+
/* @__PURE__ */ jsxs(Group, { justify: "space-between", gap: "xs", children: [
|
|
5262
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", children: formatPercentage(list.completionRatio) }),
|
|
5263
|
+
/* @__PURE__ */ jsxs(Text, { size: "xs", c: "dimmed", children: [
|
|
5264
|
+
list.stageCounts.personalized,
|
|
5265
|
+
"/",
|
|
5266
|
+
list.stageCounts.populated || 0
|
|
5267
|
+
] })
|
|
5268
|
+
] }),
|
|
5269
|
+
/* @__PURE__ */ jsx(
|
|
5270
|
+
Progress,
|
|
5271
|
+
{
|
|
5272
|
+
value: list.completionRatio == null ? 0 : list.completionRatio * 100,
|
|
5273
|
+
size: "sm",
|
|
5274
|
+
radius: "xl",
|
|
5275
|
+
color: "blue"
|
|
5276
|
+
}
|
|
5277
|
+
)
|
|
5278
|
+
] }) }),
|
|
5279
|
+
/* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { size: "sm", variant: "light", color: list.status.color, children: list.status.label }) })
|
|
5280
|
+
] }, list.listId)) })
|
|
4991
5281
|
] })
|
|
4992
5282
|
] }) })
|
|
4993
5283
|
] })
|
|
4994
5284
|
] }) }) });
|
|
4995
5285
|
}
|
|
4996
|
-
function computeBounceRate(d) {
|
|
4997
|
-
const denominator = d.valid + d.risky + d.invalid + d.bounced;
|
|
4998
|
-
if (denominator === 0) return EM_DASH;
|
|
4999
|
-
return `${(d.bounced / denominator * 100).toFixed(1)}%`;
|
|
5000
|
-
}
|
|
5001
5286
|
function LeadGenDeliverabilityPage() {
|
|
5002
5287
|
const { data, isLoading, error } = useListsTelemetry();
|
|
5003
5288
|
if (isLoading) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Dashboard, OperationsOverview, RecentExecutionsByResource, ResourceOverview, UnresolvedErrorsTeaser, dashboardManifest } from '../../chunk-
|
|
1
|
+
export { Dashboard, OperationsOverview, RecentExecutionsByResource, ResourceOverview, UnresolvedErrorsTeaser, dashboardManifest } from '../../chunk-O6KZ46EJ.js';
|
|
2
2
|
import '../../chunk-LGKLC5MG.js';
|
|
3
3
|
import '../../chunk-KFICYU6S.js';
|
|
4
4
|
import '../../chunk-YEX4MQSY.js';
|
|
@@ -7,8 +7,8 @@ import '../../chunk-J5TBNCMD.js';
|
|
|
7
7
|
import '../../chunk-LXHZYSMQ.js';
|
|
8
8
|
import '../../chunk-F6RBK7NJ.js';
|
|
9
9
|
import '../../chunk-XA34RETF.js';
|
|
10
|
-
import '../../chunk-
|
|
11
|
-
import '../../chunk-
|
|
10
|
+
import '../../chunk-LH7RCX4Y.js';
|
|
11
|
+
import '../../chunk-3WMJWXZY.js';
|
|
12
12
|
import '../../chunk-CYXZHBP4.js';
|
|
13
13
|
import '../../chunk-MZPVNRPL.js';
|
|
14
14
|
import '../../chunk-RX4UWZZR.js';
|
|
@@ -10,8 +10,8 @@ import '../../chunk-J5TBNCMD.js';
|
|
|
10
10
|
import '../../chunk-LXHZYSMQ.js';
|
|
11
11
|
import '../../chunk-F6RBK7NJ.js';
|
|
12
12
|
import '../../chunk-XA34RETF.js';
|
|
13
|
-
import '../../chunk-
|
|
14
|
-
import '../../chunk-
|
|
13
|
+
import '../../chunk-LH7RCX4Y.js';
|
|
14
|
+
import '../../chunk-3WMJWXZY.js';
|
|
15
15
|
import '../../chunk-CYXZHBP4.js';
|
|
16
16
|
import '../../chunk-MZPVNRPL.js';
|
|
17
17
|
import '../../chunk-RX4UWZZR.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { AgentExecutionPanel, AgentSessionGroup, CalibrationPage, CalibrationProgress, CalibrationProjectDetailPage, CalibrationProjectsPage, CalibrationRunDetailPage, CalibrationSidebar, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandViewPage, CommandViewSidebarContent, ExecuteWorkflowModal, ExecutionPanel, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, ResourceDetailPage, ResourceExecuteDialog, ResourceExecuteForm, ResourcesPage, ResourcesSidebar, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionsPage, SessionsSidebar, WorkflowExecutionPanel, operationsManifest } from '../../chunk-
|
|
1
|
+
export { AgentExecutionPanel, AgentSessionGroup, CalibrationPage, CalibrationProgress, CalibrationProjectDetailPage, CalibrationProjectsPage, CalibrationRunDetailPage, CalibrationSidebar, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandViewPage, CommandViewSidebarContent, ExecuteWorkflowModal, ExecutionPanel, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, ResourceDetailPage, ResourceExecuteDialog, ResourceExecuteForm, ResourcesPage, ResourcesSidebar, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionsPage, SessionsSidebar, WorkflowExecutionPanel, operationsManifest } from '../../chunk-YOZEGIZA.js';
|
|
2
2
|
import '../../chunk-ROSMICXG.js';
|
|
3
3
|
import '../../chunk-OCP2MBTY.js';
|
|
4
4
|
import '../../chunk-PFONCU6C.js';
|
|
5
5
|
import '../../chunk-GBMNCNHX.js';
|
|
6
|
-
export { OperationsOverview } from '../../chunk-
|
|
6
|
+
export { OperationsOverview } from '../../chunk-O6KZ46EJ.js';
|
|
7
7
|
import '../../chunk-LGKLC5MG.js';
|
|
8
8
|
import '../../chunk-KFICYU6S.js';
|
|
9
9
|
import '../../chunk-YEX4MQSY.js';
|
|
@@ -12,8 +12,8 @@ import '../../chunk-J5TBNCMD.js';
|
|
|
12
12
|
import '../../chunk-LXHZYSMQ.js';
|
|
13
13
|
import '../../chunk-F6RBK7NJ.js';
|
|
14
14
|
import '../../chunk-XA34RETF.js';
|
|
15
|
-
import '../../chunk-
|
|
16
|
-
import '../../chunk-
|
|
15
|
+
import '../../chunk-LH7RCX4Y.js';
|
|
16
|
+
import '../../chunk-3WMJWXZY.js';
|
|
17
17
|
import '../../chunk-CYXZHBP4.js';
|
|
18
18
|
import '../../chunk-MZPVNRPL.js';
|
|
19
19
|
import '../../chunk-RX4UWZZR.js';
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { AccountSettings, AppearanceSettings, CreateWebhookEndpointModal, EditCredentialModal, EditWebhookEndpointModal, MemberConfigModal, OAuthIntegrationsCard, OrgMembersList, OrganizationSettings, WebhookEndpointList, WebhookEndpointSettings, settingsManifest } from '../../chunk-
|
|
1
|
+
export { AccountSettings, AppearanceSettings, CreateWebhookEndpointModal, EditCredentialModal, EditWebhookEndpointModal, MemberConfigModal, OAuthIntegrationsCard, OrgMembersList, OrganizationSettings, WebhookEndpointList, WebhookEndpointSettings, settingsManifest } from '../../chunk-5KBVISVJ.js';
|
|
2
2
|
import '../../chunk-PDHTXPSF.js';
|
|
3
3
|
import '../../chunk-GBMNCNHX.js';
|
|
4
4
|
import '../../chunk-YEX4MQSY.js';
|
|
5
|
-
import '../../chunk-
|
|
5
|
+
import '../../chunk-M66JAN7R.js';
|
|
6
6
|
import '../../chunk-JT3FN6TE.js';
|
|
7
7
|
import '../../chunk-J5TBNCMD.js';
|
|
8
8
|
import '../../chunk-LXHZYSMQ.js';
|
|
9
9
|
import '../../chunk-F6RBK7NJ.js';
|
|
10
|
-
import '../../chunk-
|
|
11
|
-
import '../../chunk-
|
|
10
|
+
import '../../chunk-LH7RCX4Y.js';
|
|
11
|
+
import '../../chunk-3WMJWXZY.js';
|
|
12
12
|
import '../../chunk-CYXZHBP4.js';
|
|
13
13
|
import '../../chunk-MZPVNRPL.js';
|
|
14
14
|
import '../../chunk-RX4UWZZR.js';
|
package/dist/hooks/index.js
CHANGED
|
@@ -2,8 +2,8 @@ export { ApiKeyService, CredentialService, DeploymentService, OrganizationMember
|
|
|
2
2
|
export { OperationsService, acquisitionListKeys, calibrationKeys, companyKeys, contactKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, sortData, useActivities, useActivityTrend, useAllCalibrationProjects, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCalibrationProject, useCalibrationProjects, useCalibrationRun, useCalibrationRunFull, useCalibrationRuns, useCalibrationSSE, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateCompany, useCreateContact, useCreateDealNote, useCreateDealTask, useCreateList, useCreateProject, useCreateRun, useCreateSchedule, useCreateSession, useDashboardMetrics, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDeleteCompanies, useDeleteContacts, useDeleteDeal, useDeleteExecution, useDeleteList, useDeleteProject, useDeleteRun, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecuteRun, useExecuteWorkflow, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGradeRun, useGraphStats, useList, useListExecutions, useListProgress, useListSchedules, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useNotificationCount as useNotificationCountSSE, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useSyncDealStage, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateCompany, useUpdateContact, useUpdateList, useUpdateListConfig, useUpdateProject, useUpdateSchedule, useWarningNotification } from '../chunk-J5TBNCMD.js';
|
|
3
3
|
export { observabilityKeys, useErrorTrends } from '../chunk-LXHZYSMQ.js';
|
|
4
4
|
import '../chunk-F6RBK7NJ.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-LH7RCX4Y.js';
|
|
6
|
+
import '../chunk-3WMJWXZY.js';
|
|
7
7
|
import '../chunk-CYXZHBP4.js';
|
|
8
8
|
export { createUseFeatureAccess } from '../chunk-MZPVNRPL.js';
|
|
9
9
|
import '../chunk-RX4UWZZR.js';
|
package/dist/hooks/published.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { OperationsService, acquisitionListKeys, calibrationKeys, companyKeys, contactKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, sortData, useActivities, useActivityTrend, useAllCalibrationProjects, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCalibrationProject, useCalibrationProjects, useCalibrationRun, useCalibrationRunFull, useCalibrationRuns, useCalibrationSSE, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateCompany, useCreateContact, useCreateDealNote, useCreateDealTask, useCreateList, useCreateProject, useCreateRun, useCreateSchedule, useCreateSession, useDashboardMetrics, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDeleteCompanies, useDeleteContacts, useDeleteDeal, useDeleteExecution, useDeleteList, useDeleteProject, useDeleteRun, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecuteRun, useExecuteWorkflow, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGradeRun, useGraphStats, useList, useListExecutions, useListProgress, useListSchedules, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useNotificationCount as useNotificationCountSSE, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useSyncDealStage, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateCompany, useUpdateContact, useUpdateList, useUpdateListConfig, useUpdateProject, useUpdateSchedule, useWarningNotification } from '../chunk-J5TBNCMD.js';
|
|
2
2
|
export { observabilityKeys, useErrorTrends } from '../chunk-LXHZYSMQ.js';
|
|
3
3
|
import '../chunk-F6RBK7NJ.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-LH7RCX4Y.js';
|
|
5
|
+
import '../chunk-3WMJWXZY.js';
|
|
6
6
|
import '../chunk-CYXZHBP4.js';
|
|
7
7
|
export { createUseFeatureAccess } from '../chunk-MZPVNRPL.js';
|
|
8
8
|
import '../chunk-RX4UWZZR.js';
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import './chunk-XCYKC6OZ.js';
|
|
2
|
-
export { useAvailablePresets } from './chunk-
|
|
2
|
+
export { useAvailablePresets } from './chunk-M66JAN7R.js';
|
|
3
3
|
export { ApiKeyService, CredentialService, DeploymentService, OrganizationMembershipService, WebhookEndpointService, filterByDomainFilters, milestoneKeys, noteKeys, projectKeys, taskKeys, useActivateDeployment, useActivityFilters, useCommandViewDomainFilters, useCreateApiKey, useCreateCredential, useCreateProject as useCreateDeliveryProject, useCreateMilestone, useCreateNote, useCreateWebhookEndpoint, useCredentials, useDeactivateDeployment, useDeactivateMembership, useDeleteApiKey, useDeleteCredential, useDeleteProject as useDeleteDeliveryProject, useDeleteTask as useDeleteDeliveryTask, useDeleteDeployment, useDeleteMilestone, useDeleteWebhookEndpoint, useExecutionLogsFilters, useListApiKeys, useListDeployments, useListWebhookEndpoints, useMilestones, useOrganizationMembers, useProject, useProjectNotes, useProjects, useReactivateMembership, useResourceSearch, useResourcesDomainFilters, useStatusFilter, useTasks, useTimeRangeDates, useUpdateApiKey, useUpdateCredential, useUpdateProject as useUpdateDeliveryProject, useUpdateMemberConfig, useUpdateMilestone, useUpdateWebhookEndpoint, useUserMemberships, useVisibleResources } from './chunk-JT3FN6TE.js';
|
|
4
4
|
export { OperationsService, acquisitionListKeys, calibrationKeys, companyKeys, contactKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, sortData, useActivities, useActivityTrend, useAllCalibrationProjects, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCalibrationProject, useCalibrationProjects, useCalibrationRun, useCalibrationRunFull, useCalibrationRuns, useCalibrationSSE, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateCompany, useCreateContact, useCreateDealNote, useCreateDealTask, useCreateList, useCreateProject, useCreateRun, useCreateSchedule, useCreateSession, useDashboardMetrics, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDeleteCompanies, useDeleteContacts, useDeleteDeal, useDeleteExecution, useDeleteList, useDeleteProject, useDeleteRun, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecuteRun, useExecuteWorkflow, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGradeRun, useGraphStats, useList, useListExecutions, useListProgress, useListSchedules, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useNotificationCount as useNotificationCountSSE, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useSyncDealStage, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateCompany, useUpdateContact, useUpdateList, useUpdateListConfig, useUpdateProject, useUpdateSchedule, useWarningNotification } from './chunk-J5TBNCMD.js';
|
|
5
5
|
export { observabilityKeys, useErrorTrends } from './chunk-LXHZYSMQ.js';
|
|
6
6
|
export { GRAPH_CONSTANTS, calculateGraphHeight, useConnectionHighlight, useDirectedChainHighlighting, useFitViewTrigger, useGraphHighlighting, useNodeSelection } from './chunk-F6RBK7NJ.js';
|
|
7
7
|
export { AGENT_CONSTANTS, CONTAINER_CONSTANTS, SHARED_VIZ_CONSTANTS, STATUS_COLORS, TIMELINE_CONSTANTS, WORKFLOW_CONSTANTS, calculateBarPosition, formatDuration, getEdgeColor, getEdgeOpacity, getResourceStatusColor, getStatusColors, getStatusIcon, shouldAnimateEdge, useAgentIterationData, useExecutionPath, useMergedExecution, useReactFlowAgent, useTimelineData, useUnifiedWorkflowLayout, useWorkflowStepsLayout } from './chunk-XA34RETF.js';
|
|
8
|
-
export { ElevasisUIProvider } from './chunk-
|
|
9
|
-
export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from './chunk-
|
|
8
|
+
export { ElevasisUIProvider } from './chunk-LH7RCX4Y.js';
|
|
9
|
+
export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from './chunk-3WMJWXZY.js';
|
|
10
10
|
import './chunk-CYXZHBP4.js';
|
|
11
11
|
export { ElevasisCoreProvider, ElevasisFeaturesProvider, FeatureShell, NotificationProvider, createUseFeatureAccess, useElevasisFeatures, useNotificationAdapter, useOptionalElevasisFeatures } from './chunk-MZPVNRPL.js';
|
|
12
12
|
import './chunk-RX4UWZZR.js';
|
package/dist/provider/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ElevasisUIProvider } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { ElevasisUIProvider } from '../chunk-LH7RCX4Y.js';
|
|
2
|
+
import '../chunk-3WMJWXZY.js';
|
|
3
3
|
import '../chunk-CYXZHBP4.js';
|
|
4
4
|
export { ElevasisCoreProvider, ElevasisFeaturesProvider, FeatureShell, NotificationProvider, useElevasisFeatures, useNotificationAdapter, useOptionalElevasisFeatures } from '../chunk-MZPVNRPL.js';
|
|
5
5
|
import '../chunk-RX4UWZZR.js';
|
package/dist/theme/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { useAvailablePresets } from '../chunk-
|
|
2
|
-
export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from '../chunk-
|
|
1
|
+
export { useAvailablePresets } from '../chunk-M66JAN7R.js';
|
|
2
|
+
export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from '../chunk-3WMJWXZY.js';
|
|
3
3
|
import '../chunk-CYXZHBP4.js';
|