@elevasis/ui 2.25.0 → 2.25.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/app/index.css +14 -2
  2. package/dist/app/index.d.ts +457 -357
  3. package/dist/app/index.js +8 -7
  4. package/dist/auth/index.js +4 -4
  5. package/dist/charts/index.js +7 -7
  6. package/dist/{chunk-DDZOHLHB.js → chunk-26HQMR7S.js} +1 -1
  7. package/dist/{chunk-ZMXZ476Y.js → chunk-3AHEHVJ6.js} +3 -3
  8. package/dist/{chunk-LJWV4TWV.js → chunk-4ZFBVND2.js} +2 -2
  9. package/dist/{chunk-7D2HSSIW.js → chunk-7LJUTTXU.js} +5 -5
  10. package/dist/{chunk-ABV5LDDC.js → chunk-AZQY7AJR.js} +13 -24
  11. package/dist/{chunk-BIWHHWCJ.js → chunk-DWK2QIAK.js} +2 -1
  12. package/dist/{chunk-ZDKQNQ4X.js → chunk-GESXCQWY.js} +1 -1
  13. package/dist/{chunk-Z6FAH4XV.js → chunk-HKBEURCV.js} +1 -1
  14. package/dist/{chunk-HC2KV6BU.js → chunk-HOIT677G.js} +1 -1
  15. package/dist/chunk-IS53MXE4.js +230 -0
  16. package/dist/{chunk-WSC5LU3U.js → chunk-IX7LWINC.js} +6 -5
  17. package/dist/{chunk-AXXTN44Z.js → chunk-IYIZYMIE.js} +2 -2
  18. package/dist/{chunk-WWVSPOJY.js → chunk-JDQSCEEF.js} +1237 -642
  19. package/dist/{chunk-AZXSFDG2.js → chunk-JMI7L7Y7.js} +113 -63
  20. package/dist/{chunk-TSSKOQBX.js → chunk-KMAXFJPH.js} +2 -2
  21. package/dist/{chunk-HQ7M6PBW.js → chunk-KU7ZDWQ7.js} +1 -1
  22. package/dist/{chunk-ZGZZIR6K.js → chunk-L4RT57WU.js} +7 -7
  23. package/dist/{chunk-LK4MPIMK.js → chunk-MU4VPAMR.js} +2 -2
  24. package/dist/{chunk-3JCMO7SD.js → chunk-N55DVMAG.js} +1 -1
  25. package/dist/{chunk-EIOJNUPL.js → chunk-PNLJIPV5.js} +1 -1
  26. package/dist/{chunk-6Z3G4U2R.js → chunk-Q5BEODAT.js} +3 -2
  27. package/dist/{chunk-HVC2BTFO.js → chunk-QB2CC4VH.js} +1979 -257
  28. package/dist/{chunk-QJLRDTYS.js → chunk-RSG2O3HF.js} +932 -707
  29. package/dist/{chunk-M25JL54Z.js → chunk-RYTEQBAO.js} +1 -1
  30. package/dist/{chunk-XUYBOO32.js → chunk-U36X6NZM.js} +15 -7
  31. package/dist/{chunk-QSTH6T77.js → chunk-VKMNWHTL.js} +1 -1
  32. package/dist/{chunk-V3UOW2HG.js → chunk-VOVZLL23.js} +4 -4
  33. package/dist/{chunk-SLH2QLKV.js → chunk-WFTNY755.js} +1 -1
  34. package/dist/{chunk-DK2HVHCY.js → chunk-WKJ47GIW.js} +1 -1
  35. package/dist/chunk-X4WBGKJQ.js +138 -0
  36. package/dist/{chunk-QHSW4WHM.js → chunk-XTVZFT7U.js} +1 -1
  37. package/dist/components/index.css +14 -2
  38. package/dist/components/index.d.ts +478 -386
  39. package/dist/components/index.js +138 -336
  40. package/dist/components/navigation/index.css +14 -2
  41. package/dist/components/navigation/index.js +8 -8
  42. package/dist/features/auth/index.css +14 -2
  43. package/dist/features/auth/index.d.ts +369 -363
  44. package/dist/features/auth/index.js +7 -7
  45. package/dist/features/crm/index.css +14 -2
  46. package/dist/features/crm/index.d.ts +551 -360
  47. package/dist/features/crm/index.js +19 -19
  48. package/dist/features/dashboard/index.css +14 -2
  49. package/dist/features/dashboard/index.js +20 -20
  50. package/dist/features/delivery/index.css +14 -2
  51. package/dist/features/delivery/index.d.ts +363 -357
  52. package/dist/features/delivery/index.js +19 -19
  53. package/dist/features/lead-gen/index.css +14 -2
  54. package/dist/features/lead-gen/index.d.ts +160 -2
  55. package/dist/features/lead-gen/index.js +20 -19
  56. package/dist/features/monitoring/index.css +14 -2
  57. package/dist/features/monitoring/index.js +21 -21
  58. package/dist/features/monitoring/requests/index.css +14 -2
  59. package/dist/features/monitoring/requests/index.js +17 -17
  60. package/dist/features/operations/index.css +14 -2
  61. package/dist/features/operations/index.js +24 -23
  62. package/dist/features/seo/index.js +2 -2
  63. package/dist/features/settings/index.css +14 -2
  64. package/dist/features/settings/index.d.ts +369 -363
  65. package/dist/features/settings/index.js +19 -19
  66. package/dist/hooks/delivery/index.css +14 -2
  67. package/dist/hooks/delivery/index.d.ts +363 -357
  68. package/dist/hooks/delivery/index.js +2 -2
  69. package/dist/hooks/index.css +14 -2
  70. package/dist/hooks/index.d.ts +746 -399
  71. package/dist/hooks/index.js +17 -17
  72. package/dist/hooks/published.css +14 -2
  73. package/dist/hooks/published.d.ts +746 -399
  74. package/dist/hooks/published.js +17 -17
  75. package/dist/index.css +14 -2
  76. package/dist/index.d.ts +862 -381
  77. package/dist/index.js +17 -17
  78. package/dist/initialization/index.d.ts +369 -363
  79. package/dist/initialization/index.js +4 -4
  80. package/dist/layout/index.d.ts +6 -0
  81. package/dist/layout/index.js +5 -5
  82. package/dist/organization/index.css +14 -2
  83. package/dist/organization/index.js +4 -4
  84. package/dist/profile/index.d.ts +369 -363
  85. package/dist/profile/index.js +2 -2
  86. package/dist/provider/ElevasisServiceContext.d.ts +1 -0
  87. package/dist/provider/ElevasisServiceContext.js +1 -1
  88. package/dist/provider/index.css +14 -2
  89. package/dist/provider/index.d.ts +503 -362
  90. package/dist/provider/index.js +14 -14
  91. package/dist/provider/published.css +14 -2
  92. package/dist/provider/published.d.ts +494 -359
  93. package/dist/provider/published.js +12 -12
  94. package/dist/supabase/index.d.ts +369 -357
  95. package/dist/test-utils/index.js +1 -1
  96. package/dist/typeform/index.js +49 -20
  97. package/dist/types/index.d.ts +382 -363
  98. package/package.json +4 -4
  99. package/dist/chunk-CEWTOKE7.js +0 -109
  100. /package/dist/{chunk-IRW7JMQ4.js → chunk-5WWZXCS5.js} +0 -0
  101. /package/dist/{chunk-QJ2KCHKX.js → chunk-E565XMTQ.js} +0 -0
@@ -1,28 +1,29 @@
1
- import { useBreadcrumbs } from '../chunk-DDZOHLHB.js';
2
- import '../chunk-6Z3G4U2R.js';
3
- export { AllTasksPage, HealthStatusCard, MilestoneTimeline, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, TaskCard, UpcomingMilestonesPage, calculateProgress, deliveryManifest, formatStatusLabel, milestoneStatusColors, noteTypeColors, projectStatusColors, taskStatusColors, taskTypeColors } from '../chunk-WSC5LU3U.js';
4
- export { LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, getEnrichmentColor, getStatusColor, leadGenManifest, useDeleteLists } from '../chunk-HVC2BTFO.js';
5
- export { ActionModal, AgentDefinitionDisplay, AgentExecutionLogs, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, CheckpointGroup, CollapsibleJsonSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, ConfigCard, ContentSections, ContextUsageBadge, ContractDisplay, ExecutionErrorSection, 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-ABV5LDDC.js';
1
+ import { useBreadcrumbs } from '../chunk-26HQMR7S.js';
2
+ import '../chunk-Q5BEODAT.js';
3
+ export { AllTasksPage, HealthStatusCard, MilestoneTimeline, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, TaskCard, UpcomingMilestonesPage, calculateProgress, deliveryManifest, formatStatusLabel, milestoneStatusColors, noteTypeColors, projectStatusColors, taskStatusColors, taskTypeColors } from '../chunk-IX7LWINC.js';
4
+ export { LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, getEnrichmentColor, getStatusColor, leadGenManifest, useDeleteLists } from '../chunk-QB2CC4VH.js';
5
+ export { ActionModal, AgentDefinitionDisplay, AgentExecutionLogs, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, CheckpointGroup, CollapsibleJsonSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, ConfigCard, ContentSections, ContextUsageBadge, ContractDisplay, ExecutionErrorSection, 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-AZQY7AJR.js';
6
6
  import '../chunk-ROSMICXG.js';
7
- import '../chunk-3JCMO7SD.js';
7
+ import '../chunk-N55DVMAG.js';
8
8
  import '../chunk-ZTWA5H77.js';
9
- import { BaseNode, useGraphTheme, BaseEdge, GraphBackground, GraphLegend, GraphFitViewButton } from '../chunk-7D2HSSIW.js';
10
- export { AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, BaseEdge, BaseNode, EmptyVisualizer, ExecutionStats, ExecutionStatusBadge, FormFieldRenderer, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, RunResourceButton, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, VisualizerContainer, WorkflowExecutionTimeline, ZodFormRenderer, getGraphBackgroundStyles, useGraphBackgroundStyles, useGraphTheme } from '../chunk-7D2HSSIW.js';
9
+ import { BaseNode, useGraphTheme, BaseEdge, GraphBackground, GraphLegend, GraphFitViewButton } from '../chunk-7LJUTTXU.js';
10
+ export { AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, BaseEdge, BaseNode, EmptyVisualizer, ExecutionStats, ExecutionStatusBadge, FormFieldRenderer, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, RunResourceButton, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, VisualizerContainer, WorkflowExecutionTimeline, ZodFormRenderer, getGraphBackgroundStyles, useGraphBackgroundStyles, useGraphTheme } from '../chunk-7LJUTTXU.js';
11
11
  import '../chunk-442LZPIR.js';
12
- import { NotificationList } from '../chunk-V3UOW2HG.js';
13
- export { ActivityCard, ActivityFilters as ActivityFiltersBar, ActivityTable, BusinessImpactCard, CostBreakdownCard, CostByModelTable, CostMetricsCard, ErrorAnalysisCard, ErrorBreakdownTable, ExecutionBreakdownTable, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, NotificationItem, NotificationList, monitoringManifest } from '../chunk-V3UOW2HG.js';
14
- export { ResourceHealthPanel } from '../chunk-ZMXZ476Y.js';
12
+ import '../chunk-IS53MXE4.js';
13
+ import { NotificationList } from '../chunk-VOVZLL23.js';
14
+ export { ActivityCard, ActivityFilters as ActivityFiltersBar, ActivityTable, BusinessImpactCard, CostBreakdownCard, CostByModelTable, CostMetricsCard, ErrorAnalysisCard, ErrorBreakdownTable, ExecutionBreakdownTable, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, NotificationItem, NotificationList, monitoringManifest } from '../chunk-VOVZLL23.js';
15
+ export { ResourceHealthPanel } from '../chunk-3AHEHVJ6.js';
15
16
  export { ResourceHealthChart, getHealthColor } from '../chunk-LGKLC5MG.js';
16
- import '../chunk-TSSKOQBX.js';
17
- export { SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, seoManifest } from '../chunk-BIWHHWCJ.js';
18
- import { showAuthError } from '../chunk-ZGZZIR6K.js';
19
- export { CreateCredentialModal, CredentialList, CredentialSettings, MembershipFeaturePanel, MembershipStatusBadge, OAuthConnectModal, OrganizationMembershipsList, WebhookUrlDisplayModal, settingsManifest, showAuthError } from '../chunk-ZGZZIR6K.js';
20
- import { AppShellLoader } from '../chunk-M25JL54Z.js';
21
- import { ActionFormButton, ActionButton } from '../chunk-WWVSPOJY.js';
22
- export { ActivityFeedWidget, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, DealDetailPage, DealsListPage, MetricsStrip, MyTasksPanel, PIPELINE_FUNNEL_ORDER, PipelineFunnelWidget, QuickCreateActions, SAVED_VIEW_PRESETS, SavedViewsPanel, crmManifest, useCrmPipelineSummary, useCrmQuickMetrics, useRecentCrmActivity } from '../chunk-WWVSPOJY.js';
17
+ import '../chunk-KMAXFJPH.js';
18
+ export { SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, seoManifest } from '../chunk-DWK2QIAK.js';
19
+ import { showAuthError } from '../chunk-L4RT57WU.js';
20
+ export { CreateCredentialModal, CredentialList, CredentialSettings, MembershipFeaturePanel, MembershipStatusBadge, OAuthConnectModal, OrganizationMembershipsList, WebhookUrlDisplayModal, settingsManifest, showAuthError } from '../chunk-L4RT57WU.js';
21
+ import { AppShellLoader } from '../chunk-RYTEQBAO.js';
22
+ import { setDealReferrer, compareDealsByPriority } from '../chunk-JDQSCEEF.js';
23
+ export { ActivityFeedWidget, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, DealDetailPage, DealsListPage, MetricsStrip, MyTasksPanel, PIPELINE_FUNNEL_ORDER, PipelineFunnelWidget, QuickCreateActions, SAVED_VIEW_PRESETS, SavedViewsPanel, crmManifest, useCrmPipelineSummary, useCrmQuickMetrics, useRecentCrmActivity } from '../chunk-JDQSCEEF.js';
23
24
  import '../chunk-BZZCNLT6.js';
24
25
  export { SortableHeader, TableSelectionToolbar } from '../chunk-TUMSNGTX.js';
25
- import '../chunk-CEWTOKE7.js';
26
+ import '../chunk-X4WBGKJQ.js';
26
27
  import '../chunk-IIMU5YAJ.js';
27
28
  import { FilterBar } from '../chunk-PDHTXPSF.js';
28
29
  export { FilterBar } from '../chunk-PDHTXPSF.js';
@@ -31,48 +32,48 @@ export { ConfirmationInputModal, ConfirmationModal, CustomModal } from '../chunk
31
32
  import '../chunk-SNHGSCKH.js';
32
33
  export { CONTAINER_CONSTANTS, SHARED_VIZ_CONSTANTS } from '../chunk-E4WQGJNS.js';
33
34
  import '../chunk-7M2VOCYN.js';
34
- import { useCommandViewLayout, useOrganizationPermissions, useCreateOrgRole, usePermissionCatalog, useUpdateApiKey, useDeleteApiKey, useCreateApiKey, useListApiKeys, usePaginationState, useActivateDeployment, useDeactivateDeployment, useDeleteDeployment, useListDeployments, useResources, useCreateSchedule, useListSchedules, usePauseSchedule, useResumeSchedule, useCancelSchedule, useDeleteSchedule, useDealNotes, useCreateDealNote, useTransitionState, useTransitionItem, useDeals, dealKeys, useMarkAllAsRead, useNotifications } from '../chunk-QJLRDTYS.js';
35
+ import { useCommandViewLayout, useOrganizationPermissions, useCreateOrgRole, usePermissionCatalog, useUpdateApiKey, useDeleteApiKey, useCreateApiKey, useListApiKeys, usePaginationState, useActivateDeployment, useDeactivateDeployment, useDeleteDeployment, useListDeployments, useResources, useCreateSchedule, useListSchedules, usePauseSchedule, useResumeSchedule, useCancelSchedule, useDeleteSchedule, useDeals, useTransitionItem, dealKeys, useMarkAllAsRead, useNotifications } from '../chunk-RSG2O3HF.js';
35
36
  import '../chunk-BRXELOHC.js';
36
- import '../chunk-QSTH6T77.js';
37
- import { showSuccessNotification, showErrorNotification, showApiErrorNotification } from '../chunk-Z6FAH4XV.js';
38
- export { showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification } from '../chunk-Z6FAH4XV.js';
37
+ import '../chunk-VKMNWHTL.js';
38
+ import { showSuccessNotification, showErrorNotification, showApiErrorNotification } from '../chunk-HKBEURCV.js';
39
+ export { showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification } from '../chunk-HKBEURCV.js';
39
40
  import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, GRAPH_CONSTANTS } from '../chunk-22UVE3RA.js';
40
41
  export { Graph_module_css_default as graphStyles } from '../chunk-22UVE3RA.js';
41
42
  import '../chunk-3ZMAGTWF.js';
42
- import '../chunk-EIOJNUPL.js';
43
- import '../chunk-LK4MPIMK.js';
43
+ import '../chunk-PNLJIPV5.js';
44
+ import '../chunk-MU4VPAMR.js';
44
45
  import '../chunk-QIW6OCEI.js';
45
46
  import '../chunk-WLOQ4IBG.js';
46
- import '../chunk-AXXTN44Z.js';
47
- import { useCrmActions, deriveActions, CRM_PIPELINE_DEFINITION, getValidStatesForStage } from '../chunk-AZXSFDG2.js';
48
- import '../chunk-LJWV4TWV.js';
47
+ import '../chunk-IYIZYMIE.js';
48
+ import '../chunk-JMI7L7Y7.js';
49
+ import '../chunk-4ZFBVND2.js';
49
50
  import { SubshellContentContainer } from '../chunk-TKAYX2SP.js';
50
- import { ListSkeleton, EmptyState, PageTitleCaption, StatCard, CenteredErrorState, CardHeader, ActivityTimeline } from '../chunk-XUYBOO32.js';
51
- export { APIErrorAlert, ActivityTimeline, CardHeader, CenteredErrorState, CollapsibleSection, ContextViewer, CustomSelector, DetailCardSkeleton, EmptyState, FeatureUnavailableState, GlowDot, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, TabCountBadge, TimeRangeSelector, TrendIndicator, catalogItemToResourceDefinition } from '../chunk-XUYBOO32.js';
51
+ import { ListSkeleton, EmptyState, PageTitleCaption, StatCard, CenteredErrorState, CardHeader } from '../chunk-U36X6NZM.js';
52
+ export { APIErrorAlert, ActivityTimeline, CardHeader, CenteredErrorState, CollapsibleSection, ContextViewer, CustomSelector, DetailCardSkeleton, EmptyState, FeatureUnavailableState, GlowDot, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, TabCountBadge, TimeRangeSelector, TrendIndicator, catalogItemToResourceDefinition } from '../chunk-U36X6NZM.js';
52
53
  export { ElevasisLoader } from '../chunk-SZHARWKU.js';
53
54
  export { StyledMarkdown } from '../chunk-3KMDHCAR.js';
54
55
  export { NavigationButton } from '../chunk-NYBEU5TE.js';
55
56
  import '../chunk-T6INEVX6.js';
56
57
  import '../chunk-2IFYDILW.js';
57
58
  import { useRouterContext } from '../chunk-Q7DJKLEN.js';
58
- export { RoleBadge } from '../chunk-ZDKQNQ4X.js';
59
- import '../chunk-HC2KV6BU.js';
60
- import { useAppearance } from '../chunk-QJ2KCHKX.js';
61
- import '../chunk-HQ7M6PBW.js';
59
+ export { RoleBadge } from '../chunk-GESXCQWY.js';
60
+ import '../chunk-HOIT677G.js';
61
+ import { useAppearance } from '../chunk-E565XMTQ.js';
62
+ import '../chunk-KU7ZDWQ7.js';
62
63
  import '../chunk-DT3QYZVU.js';
63
64
  import '../chunk-RNP5R5I3.js';
64
65
  import { getResourceIcon, getResourceColor, formatDateTime, PAGE_SIZE_DEFAULT, formatTimeAgo } from '../chunk-SGXXJE52.js';
65
66
  import '../chunk-KRWALB24.js';
66
- import '../chunk-SLH2QLKV.js';
67
- import { useInitialization } from '../chunk-DK2HVHCY.js';
67
+ import '../chunk-WFTNY755.js';
68
+ import { useInitialization } from '../chunk-WKJ47GIW.js';
68
69
  import '../chunk-DD3CCMCZ.js';
69
- import '../chunk-QHSW4WHM.js';
70
- import { useElevasisServices } from '../chunk-IRW7JMQ4.js';
70
+ import '../chunk-XTVZFT7U.js';
71
+ import { useElevasisServices } from '../chunk-5WWZXCS5.js';
71
72
  import '../chunk-BRJ3QZ4E.js';
72
73
  import '../chunk-I2KLQ2HA.js';
73
74
  import * as runtime from 'react/jsx-runtime';
74
75
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
75
- import { Stack, Group, ThemeIcon, Text, Badge, Box, Card, Title, Checkbox, Tooltip, Center, TextInput, Textarea, Loader, Alert, Button, Table, ActionIcon, Paper, Code, CopyButton, SimpleGrid, Pagination, SegmentedControl, Switch, Select, Divider, Menu, Timeline, Tabs, ScrollArea, Breadcrumbs as Breadcrumbs$1, Drawer, Popover, Indicator } from '@mantine/core';
76
+ import { Stack, Group, ThemeIcon, Text, Badge, Box, Card, Title, Checkbox, Tooltip, Center, TextInput, Textarea, Loader, Alert, Button, Table, ActionIcon, Paper, Code, CopyButton, SimpleGrid, Pagination, SegmentedControl, Switch, Select, Divider, Menu, Timeline, Tabs, ScrollArea, Breadcrumbs as Breadcrumbs$1, Popover, Indicator } from '@mantine/core';
76
77
  import { IconBrain, IconDatabase, IconMessage, IconAlertCircle, IconCircleX, IconCircleCheck, IconBolt, IconHandClick, IconClock, IconWebhook, IconExternalLink, IconLock, IconPencil, IconKey, IconCalendar, IconTrash, IconAlertTriangle, IconExclamationMark, IconShieldLock, IconCheck, IconCopy, IconPlus, IconRocket, IconRefresh, IconPower, IconPlayerPlay, IconTag, IconCalendarRepeat, IconCalendarEvent, IconCalendarTime, IconRobot, IconGitBranch, IconSettings, IconDotsVertical, IconPlayerPause, IconPlayerStop, IconCalendarDue, IconCalendarStats, IconCalendarOff, IconListCheck, IconBell } from '@tabler/icons-react';
77
78
  import { useForm } from '@mantine/form';
78
79
  import { memo, forwardRef, useMemo, useImperativeHandle, useRef, useEffect, useState, useCallback, Component } from 'react';
@@ -87,6 +88,7 @@ import Placeholder from '@tiptap/extension-placeholder';
87
88
  import StarterKit from '@tiptap/starter-kit';
88
89
  import { Prism } from 'react-syntax-highlighter';
89
90
  import { oneDark } from 'react-syntax-highlighter/dist/esm/styles/prism';
91
+ import { useNavigate } from '@tanstack/react-router';
90
92
 
91
93
  function Can({ permission, fallback = null, children }) {
92
94
  const { hasPermission, isReady } = useOrganizationPermissions();
@@ -3326,7 +3328,19 @@ function DealKanbanCard({ deal, config, onClick, onDragStart, onDragEnd }) {
3326
3328
  onDragEnd,
3327
3329
  onClick: () => onClick(deal),
3328
3330
  children: /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
3329
- /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, lineClamp: 1, children: displayName }),
3331
+ /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-start", gap: "xs", wrap: "nowrap", children: [
3332
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, lineClamp: 1, style: { minWidth: 0, flex: 1 }, children: displayName }),
3333
+ /* @__PURE__ */ jsx(Tooltip, { label: deal.priority.reason, withArrow: true, children: /* @__PURE__ */ jsx(
3334
+ Badge,
3335
+ {
3336
+ variant: "light",
3337
+ size: "xs",
3338
+ color: deal.priority.color,
3339
+ style: { flexShrink: 0, maxWidth: 112, textTransform: "none" },
3340
+ children: /* @__PURE__ */ jsx(Box, { component: "span", style: { display: "block", maxWidth: 88, overflow: "hidden", textOverflow: "ellipsis" }, children: deal.priority.label })
3341
+ }
3342
+ ) })
3343
+ ] }),
3330
3344
  /* @__PURE__ */ jsxs(Text, { size: "xs", c: "dimmed", lineClamp: 1, children: [
3331
3345
  "State: ",
3332
3346
  stateLabel
@@ -3348,214 +3362,9 @@ function DealKanbanCard({ deal, config, onClick, onDragStart, onDragEnd }) {
3348
3362
  }
3349
3363
  );
3350
3364
  }
3351
- function formatStageLabel(stage) {
3352
- if (!stage) return "Unstaged";
3353
- return stage.split("_").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
3354
- }
3355
- function DealDrawer({ deal, config, opened, onClose, renderActions }) {
3356
- const [noteBody, setNoteBody] = useState("");
3357
- const [stagingStage, setStagingStage] = useState("interested");
3358
- const [stagingState, setStagingState] = useState(null);
3359
- const { data: notes, isLoading: notesLoading } = useDealNotes(deal?.id ?? "");
3360
- const createNote = useCreateDealNote();
3361
- const crmActions = useCrmActions();
3362
- const actions = useMemo(() => deal ? deriveActions(deal, crmActions) : [], [deal, crmActions]);
3363
- const transitionState = useTransitionState();
3364
- const transitionItem = useTransitionItem();
3365
- if (!deal) return null;
3366
- const contactFirstName = deal.contact?.first_name || "";
3367
- const contactLastName = deal.contact?.last_name || "";
3368
- const contactName = [contactFirstName, contactLastName].filter(Boolean).join(" ");
3369
- const displayName = contactName || deal.contact_email || "Unknown";
3370
- const email = deal.contact?.email || deal.contact_email || null;
3371
- const companyName = deal.contact?.company?.name || deal.discovery_data?.company || null;
3372
- const stage = deal.stage_key;
3373
- const badgeColor = (stage ? config?.[stage]?.color : null) ?? "gray";
3374
- const activityLog = deal.activity_log || [];
3375
- const hasInitialFee = typeof deal.initial_fee === "number" && deal.initial_fee > 0;
3376
- const hasMonthlyFee = typeof deal.monthly_fee === "number" && deal.monthly_fee > 0;
3377
- function handleAddNote() {
3378
- if (!noteBody.trim() || !deal) return;
3379
- createNote.mutate(
3380
- { dealId: deal.id, body: noteBody.trim() },
3381
- {
3382
- onSuccess: () => setNoteBody("")
3383
- }
3384
- );
3385
- }
3386
- return /* @__PURE__ */ jsx(
3387
- Drawer,
3388
- {
3389
- opened,
3390
- onClose,
3391
- position: "right",
3392
- size: "lg",
3393
- title: /* @__PURE__ */ jsxs(Group, { gap: "sm", wrap: "nowrap", children: [
3394
- /* @__PURE__ */ jsx(Title, { order: 4, style: { margin: 0 }, children: displayName }),
3395
- /* @__PURE__ */ jsx(Badge, { variant: "light", color: badgeColor, size: "sm", children: formatStageLabel(stage) })
3396
- ] }),
3397
- scrollAreaComponent: ScrollArea.Autosize,
3398
- children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
3399
- email && /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: email }),
3400
- companyName && /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, children: companyName }),
3401
- /* @__PURE__ */ jsx(Divider, {}),
3402
- /* @__PURE__ */ jsxs(Stack, { gap: 6, children: [
3403
- /* @__PURE__ */ jsx(Title, { order: 5, children: "Summary" }),
3404
- /* @__PURE__ */ jsxs(Group, { gap: "xl", wrap: "wrap", children: [
3405
- hasInitialFee && /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
3406
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: "Initial Fee" }),
3407
- /* @__PURE__ */ jsxs(Text, { size: "sm", fw: 500, children: [
3408
- "$",
3409
- deal.initial_fee.toLocaleString()
3410
- ] })
3411
- ] }),
3412
- hasMonthlyFee && /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
3413
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: "Monthly Fee" }),
3414
- /* @__PURE__ */ jsxs(Text, { size: "sm", fw: 500, children: [
3415
- "$",
3416
- deal.monthly_fee.toLocaleString(),
3417
- "/mo"
3418
- ] })
3419
- ] }),
3420
- /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
3421
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: "Last Updated" }),
3422
- /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, children: formatTimeAgo(deal.updated_at) })
3423
- ] }),
3424
- /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
3425
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: "Deal ID" }),
3426
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", ff: "monospace", children: deal.id })
3427
- ] })
3428
- ] })
3429
- ] }),
3430
- deal.stage_key === null ? /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
3431
- /* @__PURE__ */ jsx(Title, { order: 5, children: "Stage this deal" }),
3432
- /* @__PURE__ */ jsx(
3433
- Select,
3434
- {
3435
- label: "Stage",
3436
- data: CRM_PIPELINE_DEFINITION.stages.map((s) => ({
3437
- value: s.stageKey,
3438
- label: s.label
3439
- })),
3440
- value: stagingStage,
3441
- onChange: (val) => {
3442
- setStagingStage(val ?? "interested");
3443
- setStagingState(null);
3444
- }
3445
- }
3446
- ),
3447
- getValidStatesForStage(CRM_PIPELINE_DEFINITION, stagingStage).length > 0 && /* @__PURE__ */ jsx(
3448
- Select,
3449
- {
3450
- label: "State",
3451
- clearable: true,
3452
- data: getValidStatesForStage(CRM_PIPELINE_DEFINITION, stagingStage).map((s) => ({
3453
- value: s.stateKey,
3454
- label: s.label
3455
- })),
3456
- value: stagingState,
3457
- onChange: (val) => setStagingState(val)
3458
- }
3459
- ),
3460
- /* @__PURE__ */ jsx(Group, { justify: "flex-end", children: /* @__PURE__ */ jsx(
3461
- Button,
3462
- {
3463
- size: "xs",
3464
- variant: "light",
3465
- loading: transitionItem.isPending,
3466
- onClick: () => transitionItem.mutate({
3467
- dealId: deal.id,
3468
- pipelineKey: "crm",
3469
- stageKey: stagingStage,
3470
- stateKey: stagingState ?? void 0,
3471
- expectedUpdatedAt: deal.updated_at
3472
- }),
3473
- children: "Stage deal"
3474
- }
3475
- ) })
3476
- ] }) : (() => {
3477
- const validStates = getValidStatesForStage(CRM_PIPELINE_DEFINITION, deal.stage_key);
3478
- return validStates.length > 0 ? /* @__PURE__ */ jsx(
3479
- Select,
3480
- {
3481
- label: "State",
3482
- data: validStates.map((s) => ({ value: s.stateKey, label: s.label })),
3483
- value: deal.state_key ?? null,
3484
- disabled: transitionState.isPending,
3485
- onChange: (val) => {
3486
- if (val)
3487
- transitionState.mutate({
3488
- dealId: deal.id,
3489
- stateKey: val,
3490
- expectedUpdatedAt: deal.updated_at
3491
- });
3492
- }
3493
- }
3494
- ) : null;
3495
- })(),
3496
- (actions.length > 0 || renderActions) && /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
3497
- /* @__PURE__ */ jsx(Title, { order: 5, children: "Actions" }),
3498
- actions.length > 0 && /* @__PURE__ */ jsx(Group, { gap: "xs", wrap: "wrap", children: actions.map(
3499
- (action) => action.payloadSchema ? /* @__PURE__ */ jsx(ActionFormButton, { action, dealId: deal.id }, action.key) : /* @__PURE__ */ jsx(ActionButton, { action, dealId: deal.id }, action.key)
3500
- ) }),
3501
- renderActions && renderActions()
3502
- ] }),
3503
- /* @__PURE__ */ jsx(Divider, {}),
3504
- /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
3505
- /* @__PURE__ */ jsx(Title, { order: 5, children: "Notes" }),
3506
- /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
3507
- /* @__PURE__ */ jsx(
3508
- Textarea,
3509
- {
3510
- placeholder: "Add a note...",
3511
- minRows: 2,
3512
- autosize: true,
3513
- value: noteBody,
3514
- onChange: (e) => setNoteBody(e.currentTarget.value)
3515
- }
3516
- ),
3517
- /* @__PURE__ */ jsx(Group, { justify: "flex-end", children: /* @__PURE__ */ jsx(
3518
- Button,
3519
- {
3520
- size: "xs",
3521
- variant: "light",
3522
- loading: createNote.isPending,
3523
- disabled: !noteBody.trim(),
3524
- onClick: handleAddNote,
3525
- children: "Add note"
3526
- }
3527
- ) })
3528
- ] }),
3529
- notesLoading ? /* @__PURE__ */ jsx(Center, { p: "sm", children: /* @__PURE__ */ jsx(Loader, { size: "sm" }) }) : notes && notes.length > 0 ? /* @__PURE__ */ jsx(Stack, { gap: "xs", children: notes.map((note) => /* @__PURE__ */ jsxs(
3530
- Stack,
3531
- {
3532
- gap: 4,
3533
- style: {
3534
- padding: "8px 12px",
3535
- borderRadius: 6,
3536
- backgroundColor: "var(--color-surface)",
3537
- border: "1px solid var(--color-border)"
3538
- },
3539
- children: [
3540
- /* @__PURE__ */ jsx(Text, { size: "sm", children: note.body }),
3541
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: formatTimeAgo(note.createdAt) })
3542
- ]
3543
- },
3544
- note.id
3545
- )) }) : /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No notes yet." })
3546
- ] }),
3547
- /* @__PURE__ */ jsx(Divider, {}),
3548
- /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
3549
- /* @__PURE__ */ jsx(Title, { order: 5, children: "Activity" }),
3550
- /* @__PURE__ */ jsx(ActivityTimeline, { activities: activityLog })
3551
- ] })
3552
- ] })
3553
- }
3554
- );
3555
- }
3556
3365
  var UNSTAGED_KEY = "unstaged";
3557
3366
  var KANBAN_FETCH_LIMIT = 250;
3558
- function formatStageLabel2(stage) {
3367
+ function formatStageLabel(stage) {
3559
3368
  if (stage === UNSTAGED_KEY) return "Unstaged";
3560
3369
  return stage.split("_").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
3561
3370
  }
@@ -3571,9 +3380,13 @@ function groupDealsByStage(deals, columns) {
3571
3380
  map.get(UNSTAGED_KEY).push(deal);
3572
3381
  }
3573
3382
  }
3383
+ for (const bucket of map.values()) {
3384
+ bucket.sort((a, b) => compareDealsByPriority(a, b));
3385
+ }
3574
3386
  return map;
3575
3387
  }
3576
- function KanbanBoard({ config, renderDrawerActions }) {
3388
+ function KanbanBoard({ config }) {
3389
+ const navigate = useNavigate();
3577
3390
  const {
3578
3391
  data: deals,
3579
3392
  total,
@@ -3585,8 +3398,6 @@ function KanbanBoard({ config, renderDrawerActions }) {
3585
3398
  });
3586
3399
  const transitionItem = useTransitionItem();
3587
3400
  const queryClient = useQueryClient();
3588
- const [selectedDeal, setSelectedDeal] = useState(null);
3589
- const [drawerOpen, setDrawerOpen] = useState(false);
3590
3401
  const [dragOverColumn, setDragOverColumn] = useState(null);
3591
3402
  const draggingDealRef = useRef(null);
3592
3403
  const resolvedConfig = config ?? {};
@@ -3637,10 +3448,13 @@ function KanbanBoard({ config, renderDrawerActions }) {
3637
3448
  draggingDealRef.current = null;
3638
3449
  setDragOverColumn(null);
3639
3450
  }, []);
3640
- const handleCardClick = useCallback((deal) => {
3641
- setSelectedDeal(deal);
3642
- setDrawerOpen(true);
3643
- }, []);
3451
+ const handleCardClick = useCallback(
3452
+ (deal) => {
3453
+ setDealReferrer("pipeline");
3454
+ void navigate({ to: "/crm/deals/$dealId", params: { dealId: deal.id } });
3455
+ },
3456
+ [navigate]
3457
+ );
3644
3458
  if (isLoading) {
3645
3459
  return /* @__PURE__ */ jsx(SubshellContentContainer, { children: /* @__PURE__ */ jsx(Center, { style: { flex: 1 }, children: /* @__PURE__ */ jsx(Loader, {}) }) });
3646
3460
  }
@@ -3656,93 +3470,81 @@ function KanbanBoard({ config, renderDrawerActions }) {
3656
3470
  ] }) }) })
3657
3471
  ] }) });
3658
3472
  }
3659
- return /* @__PURE__ */ jsxs(SubshellContentContainer, { children: [
3660
- /* @__PURE__ */ jsxs(Stack, { children: [
3661
- /* @__PURE__ */ jsx(PageTitleCaption, { title: "Pipeline", caption: "Kanban view of your deal pipeline" }),
3662
- total > deals.length && /* @__PURE__ */ jsxs(Alert, { color: "yellow", variant: "light", children: [
3663
- "Showing the first ",
3664
- deals.length,
3665
- " of ",
3666
- total,
3667
- " deals in the board. This view is temporarily bounded to the list endpoint until full-board pagination lands."
3668
- ] }),
3669
- /* @__PURE__ */ jsx(
3670
- Paper,
3671
- {
3672
- p: "lg",
3673
- style: {
3674
- border: "1px solid var(--color-border)",
3675
- overflow: "hidden"
3676
- },
3677
- children: /* @__PURE__ */ jsx(ScrollArea, { scrollbarSize: 8, type: "auto", children: /* @__PURE__ */ jsx(Group, { align: "flex-start", wrap: "nowrap", gap: "sm", style: { paddingBottom: 16, minWidth: "max-content" }, children: columns.map((columnKey) => {
3678
- const columnDeals = groupedDeals.get(columnKey) ?? [];
3679
- const isUnstaged = columnKey === UNSTAGED_KEY;
3680
- const isDragTarget = dragOverColumn === columnKey;
3681
- const badgeColor = isUnstaged ? "gray" : resolvedConfig[columnKey]?.color ?? "gray";
3682
- return /* @__PURE__ */ jsx(
3683
- Box,
3684
- {
3685
- style: {
3686
- width: 260,
3687
- minWidth: 260,
3688
- borderRadius: 8,
3689
- padding: "10px 8px",
3690
- backgroundColor: isDragTarget ? "color-mix(in srgb, var(--color-primary) 6%, transparent)" : "transparent",
3691
- border: isDragTarget ? "1px solid var(--color-primary)" : "1px solid transparent",
3692
- transition: `background-color var(--duration-fast) var(--easing), border-color var(--duration-fast) var(--easing)`
3693
- },
3694
- onDragOver: (e) => handleDragOver(e, columnKey),
3695
- onDragLeave: handleDragLeave,
3696
- onDrop: (e) => handleDrop(e, columnKey),
3697
- children: /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
3698
- /* @__PURE__ */ jsx(Group, { justify: "space-between", wrap: "nowrap", children: /* @__PURE__ */ jsxs(Group, { gap: 6, children: [
3699
- /* @__PURE__ */ jsx(
3700
- Box,
3701
- {
3702
- w: 10,
3703
- h: 10,
3704
- style: {
3705
- borderRadius: "50%",
3706
- background: `var(--mantine-color-${badgeColor}-6)`,
3707
- flexShrink: 0
3708
- }
3709
- }
3710
- ),
3711
- /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, lineClamp: 1, children: formatStageLabel2(columnKey) }),
3712
- /* @__PURE__ */ jsx(Badge, { size: "xs", variant: "light", color: badgeColor, children: columnDeals.length })
3713
- ] }) }),
3714
- /* @__PURE__ */ jsx(Divider, {}),
3715
- columnDeals.length === 0 && /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", ta: "center", py: "md", style: { opacity: 0.5 }, children: isUnstaged ? "No unstaged deals" : "Drop here" }),
3716
- /* @__PURE__ */ jsx(Stack, { gap: "xs", children: columnDeals.map((deal) => /* @__PURE__ */ jsx(
3717
- DealKanbanCard,
3718
- {
3719
- deal,
3720
- config: resolvedConfig,
3721
- onClick: handleCardClick,
3722
- onDragStart: handleDragStart,
3723
- onDragEnd: handleDragEnd
3724
- },
3725
- deal.id
3726
- )) })
3727
- ] })
3728
- },
3729
- columnKey
3730
- );
3731
- }) }) })
3732
- }
3733
- )
3473
+ return /* @__PURE__ */ jsx(SubshellContentContainer, { children: /* @__PURE__ */ jsxs(Stack, { children: [
3474
+ /* @__PURE__ */ jsx(PageTitleCaption, { title: "Pipeline", caption: "Kanban view of your deal pipeline" }),
3475
+ total > deals.length && /* @__PURE__ */ jsxs(Alert, { color: "yellow", variant: "light", children: [
3476
+ "Showing the first ",
3477
+ deals.length,
3478
+ " of ",
3479
+ total,
3480
+ " deals in the board. This view is temporarily bounded to the list endpoint until full-board pagination lands."
3734
3481
  ] }),
3735
3482
  /* @__PURE__ */ jsx(
3736
- DealDrawer,
3483
+ Paper,
3737
3484
  {
3738
- deal: selectedDeal,
3739
- config: resolvedConfig,
3740
- opened: drawerOpen,
3741
- onClose: () => setDrawerOpen(false),
3742
- renderActions: renderDrawerActions
3485
+ p: "lg",
3486
+ style: {
3487
+ border: "1px solid var(--color-border)",
3488
+ overflow: "hidden"
3489
+ },
3490
+ children: /* @__PURE__ */ jsx(ScrollArea, { scrollbarSize: 8, type: "auto", children: /* @__PURE__ */ jsx(Group, { align: "flex-start", wrap: "nowrap", gap: "sm", style: { paddingBottom: 16, minWidth: "max-content" }, children: columns.map((columnKey) => {
3491
+ const columnDeals = groupedDeals.get(columnKey) ?? [];
3492
+ const isUnstaged = columnKey === UNSTAGED_KEY;
3493
+ const isDragTarget = dragOverColumn === columnKey;
3494
+ const badgeColor = isUnstaged ? "gray" : resolvedConfig[columnKey]?.color ?? "gray";
3495
+ return /* @__PURE__ */ jsx(
3496
+ Box,
3497
+ {
3498
+ style: {
3499
+ width: 260,
3500
+ minWidth: 260,
3501
+ borderRadius: 8,
3502
+ padding: "10px 8px",
3503
+ backgroundColor: isDragTarget ? "color-mix(in srgb, var(--color-primary) 6%, transparent)" : "transparent",
3504
+ border: isDragTarget ? "1px solid var(--color-primary)" : "1px solid transparent",
3505
+ transition: `background-color var(--duration-fast) var(--easing), border-color var(--duration-fast) var(--easing)`
3506
+ },
3507
+ onDragOver: (e) => handleDragOver(e, columnKey),
3508
+ onDragLeave: handleDragLeave,
3509
+ onDrop: (e) => handleDrop(e, columnKey),
3510
+ children: /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
3511
+ /* @__PURE__ */ jsx(Group, { justify: "space-between", wrap: "nowrap", children: /* @__PURE__ */ jsxs(Group, { gap: 6, children: [
3512
+ /* @__PURE__ */ jsx(
3513
+ Box,
3514
+ {
3515
+ w: 10,
3516
+ h: 10,
3517
+ style: {
3518
+ borderRadius: "50%",
3519
+ background: `var(--mantine-color-${badgeColor}-6)`,
3520
+ flexShrink: 0
3521
+ }
3522
+ }
3523
+ ),
3524
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, lineClamp: 1, children: formatStageLabel(columnKey) }),
3525
+ /* @__PURE__ */ jsx(Badge, { size: "xs", variant: "light", color: badgeColor, children: columnDeals.length })
3526
+ ] }) }),
3527
+ /* @__PURE__ */ jsx(Divider, {}),
3528
+ columnDeals.length === 0 && /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", ta: "center", py: "md", style: { opacity: 0.5 }, children: isUnstaged ? "No unstaged deals" : "Drop here" }),
3529
+ /* @__PURE__ */ jsx(Stack, { gap: "xs", children: columnDeals.map((deal) => /* @__PURE__ */ jsx(
3530
+ DealKanbanCard,
3531
+ {
3532
+ deal,
3533
+ config: resolvedConfig,
3534
+ onClick: handleCardClick,
3535
+ onDragStart: handleDragStart,
3536
+ onDragEnd: handleDragEnd
3537
+ },
3538
+ deal.id
3539
+ )) })
3540
+ ] })
3541
+ },
3542
+ columnKey
3543
+ );
3544
+ }) }) })
3743
3545
  }
3744
3546
  )
3745
- ] });
3547
+ ] }) });
3746
3548
  }
3747
3549
 
3748
3550
  // src/components/acquisition/kanban/constants.ts
@@ -3807,4 +3609,4 @@ function NotificationBell({ unreadCount, onNavigate }) {
3807
3609
  ] });
3808
3610
  }
3809
3611
 
3810
- export { AbsoluteScheduleForm, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, AppErrorBoundary, Breadcrumbs, Can, CommandViewEdge, CommandViewGraph, CommandViewNode, CrashErrorFallback, CreateApiKeyModal, CreateRoleModal, CreateScheduleModal, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDrawer, DealKanbanCard, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, EditApiKeyModal, ErrorReportCard, KanbanBoard, MdxRenderer, NoAccessState, NotificationBell, NotificationPanel, PermissionMatrix, RecurringScheduleForm, RelativeScheduleForm, RichTextEditor, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, TaskScheduler, buildErrorReport, mdxComponents };
3612
+ export { AbsoluteScheduleForm, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, AppErrorBoundary, Breadcrumbs, Can, CommandViewEdge, CommandViewGraph, CommandViewNode, CrashErrorFallback, CreateApiKeyModal, CreateRoleModal, CreateScheduleModal, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealKanbanCard, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, EditApiKeyModal, ErrorReportCard, KanbanBoard, MdxRenderer, NoAccessState, NotificationBell, NotificationPanel, PermissionMatrix, RecurringScheduleForm, RelativeScheduleForm, RichTextEditor, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, TaskScheduler, buildErrorReport, mdxComponents };
@@ -136,6 +136,17 @@
136
136
  .mantine-Button-root[data-variant=default]:hover {
137
137
  background-color: var(--color-surface-hover);
138
138
  }
139
+ .lead-gen-build-action-button:disabled,
140
+ .lead-gen-build-action-button[data-disabled] {
141
+ background-color: color-mix(in srgb, var(--mantine-color-gray-8) 48%, var(--color-surface) 52%) !important;
142
+ border-color: color-mix(in srgb, var(--mantine-color-gray-8) 58%, var(--color-surface) 42%) !important;
143
+ color: color-mix(in srgb, var(--color-text-subtle) 88%, var(--color-text-dimmed) 12%) !important;
144
+ opacity: 0.78;
145
+ }
146
+ .lead-gen-build-action-button:disabled:hover,
147
+ .lead-gen-build-action-button[data-disabled]:hover {
148
+ background-color: color-mix(in srgb, var(--mantine-color-gray-8) 48%, var(--color-surface) 52%) !important;
149
+ }
139
150
  .mantine-Accordion-control:hover {
140
151
  background-color: var(--color-surface-hover);
141
152
  }
@@ -168,11 +179,12 @@
168
179
  ::-webkit-scrollbar-thumb:hover {
169
180
  background: var(--color-text-subtle);
170
181
  }
171
- .mantine-Checkbox-input {
182
+ [data-mantine-color-scheme] .mantine-Checkbox-input:not(:disabled):not(:checked):not([data-indeterminate]) {
172
183
  background-color: var(--color-surface);
173
184
  border-color: var(--color-border);
174
185
  }
175
- .mantine-Checkbox-input:checked {
186
+ [data-mantine-color-scheme] .mantine-Checkbox-input:checked,
187
+ [data-mantine-color-scheme] .mantine-Checkbox-input[data-indeterminate] {
176
188
  background-color: var(--color-primary);
177
189
  border-color: var(--color-primary);
178
190
  }
@@ -1,13 +1,13 @@
1
- export { useBreadcrumbs } from '../../chunk-DDZOHLHB.js';
2
- import '../../chunk-LJWV4TWV.js';
1
+ export { useBreadcrumbs } from '../../chunk-26HQMR7S.js';
2
+ import '../../chunk-4ZFBVND2.js';
3
3
  import '../../chunk-Q7DJKLEN.js';
4
- import '../../chunk-ZDKQNQ4X.js';
5
- import '../../chunk-HC2KV6BU.js';
6
- import '../../chunk-HQ7M6PBW.js';
4
+ import '../../chunk-GESXCQWY.js';
5
+ import '../../chunk-HOIT677G.js';
6
+ import '../../chunk-KU7ZDWQ7.js';
7
7
  import '../../chunk-RNP5R5I3.js';
8
- import '../../chunk-DK2HVHCY.js';
8
+ import '../../chunk-WKJ47GIW.js';
9
9
  import '../../chunk-DD3CCMCZ.js';
10
- import '../../chunk-QHSW4WHM.js';
11
- import '../../chunk-IRW7JMQ4.js';
10
+ import '../../chunk-XTVZFT7U.js';
11
+ import '../../chunk-5WWZXCS5.js';
12
12
  import '../../chunk-BRJ3QZ4E.js';
13
13
  import '../../chunk-I2KLQ2HA.js';