@wealthx/shadcn 1.5.6 → 1.5.7

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 (91) hide show
  1. package/.turbo/turbo-build.log +141 -135
  2. package/CHANGELOG.md +6 -0
  3. package/dist/{chunk-2LLFNGJZ.mjs → chunk-3OOUI5TO.mjs} +1 -1
  4. package/dist/{chunk-AUEUTZIC.mjs → chunk-3QAQQBCM.mjs} +2 -2
  5. package/dist/chunk-3Z75IKFO.mjs +34 -0
  6. package/dist/{chunk-RAKBWNQH.mjs → chunk-5WCIGJ3E.mjs} +26 -65
  7. package/dist/chunk-65PZNG4Y.mjs +129 -0
  8. package/dist/{chunk-D447W45Z.mjs → chunk-7OLKVKJF.mjs} +41 -49
  9. package/dist/{chunk-UEREFDAE.mjs → chunk-AZGLSIHF.mjs} +1 -1
  10. package/dist/{chunk-QRVEI6J3.mjs → chunk-BQBSYM2I.mjs} +1 -3
  11. package/dist/{chunk-BFB3UH7V.mjs → chunk-C2QMHKLT.mjs} +1 -1
  12. package/dist/chunk-CEEVYRQA.mjs +61 -0
  13. package/dist/{chunk-VJ3GC7W3.mjs → chunk-CXGZSIQN.mjs} +4 -30
  14. package/dist/{chunk-VLELWBEW.mjs → chunk-E2BNCA6L.mjs} +1 -1
  15. package/dist/{chunk-46Q4335I.mjs → chunk-F73QFUZH.mjs} +10 -20
  16. package/dist/{chunk-Q35PNFJ7.mjs → chunk-FBNEIYSE.mjs} +1 -1
  17. package/dist/{chunk-HO6S3ECM.mjs → chunk-G4WLCKFV.mjs} +1 -1
  18. package/dist/{chunk-ODO6BUOF.mjs → chunk-HRHXZIX5.mjs} +1 -3
  19. package/dist/{chunk-IXR4BQSQ.mjs → chunk-I6QVWQCD.mjs} +1 -1
  20. package/dist/{chunk-Q5SGEIJV.mjs → chunk-IXKE6LHN.mjs} +1 -1
  21. package/dist/{chunk-OL65UQHQ.mjs → chunk-JCH2BG24.mjs} +26 -60
  22. package/dist/{chunk-PV3Y7QGK.mjs → chunk-LHWJQNLG.mjs} +3 -3
  23. package/dist/{chunk-JTG5R5YV.mjs → chunk-MS4PDUSU.mjs} +284 -58
  24. package/dist/{chunk-VFH632TB.mjs → chunk-SDNG4XL6.mjs} +1 -1
  25. package/dist/{chunk-DFL5CV75.mjs → chunk-T6MMCOX6.mjs} +1 -1
  26. package/dist/{chunk-6TX73WG7.mjs → chunk-TCE5L44O.mjs} +3 -2
  27. package/dist/{chunk-HROG643K.mjs → chunk-W5QJ57PU.mjs} +1 -1
  28. package/dist/{chunk-EW72FINW.mjs → chunk-XVZGXPIX.mjs} +1 -1
  29. package/dist/components/ui/about-you-form.mjs +3 -3
  30. package/dist/components/ui/add-column-modal.js +56 -227
  31. package/dist/components/ui/add-column-modal.mjs +1 -2
  32. package/dist/components/ui/ai-conversations.js +278 -58
  33. package/dist/components/ui/ai-conversations.mjs +1 -1
  34. package/dist/components/ui/appointment-action-dialogs.mjs +3 -3
  35. package/dist/components/ui/appointment-availability-settings.js +2 -28
  36. package/dist/components/ui/appointment-availability-settings.mjs +4 -4
  37. package/dist/components/ui/appointment-book-dialog.js +11 -21
  38. package/dist/components/ui/appointment-book-dialog.mjs +3 -3
  39. package/dist/components/ui/appointment-calendar-view.mjs +2 -2
  40. package/dist/components/ui/appointment-detail-sheet.mjs +4 -4
  41. package/dist/components/ui/appointment-upcoming-card.mjs +3 -3
  42. package/dist/components/ui/bank-statement-generate-dialog.mjs +4 -4
  43. package/dist/components/ui/calendar.mjs +2 -2
  44. package/dist/components/ui/dashboard-transactions-table.mjs +1 -1
  45. package/dist/components/ui/date-picker.mjs +3 -3
  46. package/dist/components/ui/financial-cards.mjs +2 -2
  47. package/dist/components/ui/financial-sections.mjs +3 -3
  48. package/dist/components/ui/integration-card.js +326 -0
  49. package/dist/components/ui/integration-card.mjs +11 -0
  50. package/dist/components/ui/kanban-column.js +151 -243
  51. package/dist/components/ui/kanban-column.mjs +3 -4
  52. package/dist/components/ui/loan-application-cards.mjs +1 -1
  53. package/dist/components/ui/onboarding-layout.js +65 -4
  54. package/dist/components/ui/onboarding-layout.mjs +6 -4
  55. package/dist/components/ui/opportunity-card.js +126 -216
  56. package/dist/components/ui/opportunity-card.mjs +2 -3
  57. package/dist/components/ui/opportunity-edit-modals.mjs +4 -4
  58. package/dist/components/ui/opportunity-summary-tab.mjs +6 -6
  59. package/dist/components/ui/pipeline-board.js +167 -261
  60. package/dist/components/ui/pipeline-board.mjs +4 -5
  61. package/dist/components/ui/pipeline-chart.js +128 -55
  62. package/dist/components/ui/pipeline-chart.mjs +2 -1
  63. package/dist/components/ui/pipeline-dialogs.mjs +4 -4
  64. package/dist/components/ui/savings-goal-modal.mjs +3 -3
  65. package/dist/components/ui/selectable-card.js +163 -0
  66. package/dist/components/ui/selectable-card.mjs +9 -0
  67. package/dist/components/ui/signup-shell.js +3 -2
  68. package/dist/components/ui/signup-shell.mjs +2 -2
  69. package/dist/components/ui/stepper.js +3 -2
  70. package/dist/components/ui/stepper.mjs +1 -1
  71. package/dist/index.js +2121 -1878
  72. package/dist/index.mjs +56 -46
  73. package/dist/styles.css +1 -1
  74. package/package.json +11 -1
  75. package/src/components/index.tsx +13 -1
  76. package/src/components/ui/add-column-modal.tsx +9 -58
  77. package/src/components/ui/ai-conversations.tsx +308 -42
  78. package/src/components/ui/appointment-availability-settings.tsx +2 -35
  79. package/src/components/ui/appointment-book-dialog.tsx +25 -48
  80. package/src/components/ui/integration-card.tsx +88 -0
  81. package/src/components/ui/kanban-column.tsx +0 -7
  82. package/src/components/ui/onboarding-layout.tsx +102 -1
  83. package/src/components/ui/opportunity-card.tsx +5 -53
  84. package/src/components/ui/pipeline-board.tsx +0 -3
  85. package/src/components/ui/pipeline-chart.tsx +47 -53
  86. package/src/components/ui/selectable-card.tsx +37 -0
  87. package/src/components/ui/stepper.tsx +3 -2
  88. package/src/lib/format-date.ts +6 -6
  89. package/src/styles/styles-css.ts +1 -1
  90. package/tsup.config.ts +2 -0
  91. package/dist/chunk-2P7HP7LR.mjs +0 -68
@@ -693,66 +693,8 @@ function Progress(_a) {
693
693
  );
694
694
  }
695
695
 
696
- // src/components/ui/tooltip.tsx
697
- var import_tooltip = require("@base-ui/react/tooltip");
698
- var import_jsx_runtime11 = require("react/jsx-runtime");
699
- function TooltipProvider(_a) {
700
- var _b = _a, {
701
- delay = 0
702
- } = _b, props = __objRest(_b, [
703
- "delay"
704
- ]);
705
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
706
- import_tooltip.Tooltip.Provider,
707
- __spreadValues({
708
- "data-slot": "tooltip-provider",
709
- delay
710
- }, props)
711
- );
712
- }
713
- function Tooltip(_a) {
714
- var props = __objRest(_a, []);
715
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_tooltip.Tooltip.Root, __spreadValues({ "data-slot": "tooltip" }, props));
716
- }
717
- function TooltipTrigger(_a) {
718
- var props = __objRest(_a, []);
719
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_tooltip.Tooltip.Trigger, __spreadValues({ "data-slot": "tooltip-trigger" }, props));
720
- }
721
- function TooltipContent(_a) {
722
- var _b = _a, {
723
- className,
724
- sideOffset = 8,
725
- side,
726
- children,
727
- style
728
- } = _b, props = __objRest(_b, [
729
- "className",
730
- "sideOffset",
731
- "side",
732
- "children",
733
- "style"
734
- ]);
735
- const themeVars = useThemeVars();
736
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_tooltip.Tooltip.Positioner, { sideOffset, side, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
737
- import_tooltip.Tooltip.Popup,
738
- __spreadProps(__spreadValues({
739
- className: cn(
740
- "relative z-50 w-fit animate-in overflow-visible bg-brand-secondary px-3 py-1.5 text-caption text-balance text-brand-secondary-foreground fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards",
741
- className
742
- ),
743
- "data-slot": "tooltip-content",
744
- style: __spreadValues(__spreadValues({}, themeVars), style)
745
- }, props), {
746
- children: [
747
- children,
748
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_tooltip.Tooltip.Arrow, { className: "z-50 size-2.5 rotate-45 bg-brand-secondary data-[side=bottom]:-top-1 data-[side=left]:-right-1 data-[side=right]:-left-1 data-[side=top]:-bottom-1" })
749
- ]
750
- })
751
- ) }) });
752
- }
753
-
754
696
  // src/components/ui/opportunity-card.tsx
755
- var import_jsx_runtime12 = require("react/jsx-runtime");
697
+ var import_jsx_runtime11 = require("react/jsx-runtime");
756
698
  var PRIORITY_COLORS = {
757
699
  HIGH: "var(--color-destructive)",
758
700
  MEDIUM: "var(--color-warning)",
@@ -799,7 +741,6 @@ function TaskViewCard({
799
741
  onDragStart,
800
742
  className
801
743
  }) {
802
- var _a;
803
744
  const resolvedPriority = resolvePriority(
804
745
  daysSinceColumnChanged,
805
746
  warningDays,
@@ -811,8 +752,6 @@ function TaskViewCard({
811
752
  const totalCount = tasks.length;
812
753
  const hasTasks = totalCount > 0;
813
754
  const allDone = hasTasks && completedCount === totalCount;
814
- const nextPendingTask = tasks.find((t) => !t.completed);
815
- const agentName = (_a = nextPendingTask == null ? void 0 : nextPendingTask.aiAgentName) != null ? _a : null;
816
755
  const [subtasksExpanded, setSubtasksExpanded] = (0, import_react5.useState)(false);
817
756
  const hasMenu = onViewDetails || onChangePriority || onPutOnHold || onDelete;
818
757
  const stopProp = (e) => {
@@ -826,35 +765,23 @@ function TaskViewCard({
826
765
  ].filter(Boolean).join(" \xB7 ");
827
766
  let taskHeader;
828
767
  if (allDone) {
829
- taskHeader = /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
768
+ taskHeader = /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
830
769
  "p",
831
770
  {
832
771
  className: "flex items-center gap-1.5 text-sm font-semibold",
833
772
  style: { color: "var(--color-success-text)" },
834
773
  children: [
835
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Check, { className: "size-3.5 shrink-0" }),
774
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Check, { className: "size-3.5 shrink-0" }),
836
775
  "All tasks complete"
837
776
  ]
838
777
  }
839
778
  );
840
779
  } else if (nextTask) {
841
- taskHeader = /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
842
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center gap-1.5", children: [
843
- agentName && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
844
- import_lucide_react5.Bot,
845
- {
846
- className: "size-3.5 shrink-0 text-primary",
847
- "aria-hidden": "true"
848
- }
849
- ),
850
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { className: "truncate text-sm font-semibold leading-snug", children: nextTask })
851
- ] }),
852
- agentName && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { className: "mt-0.5 text-xs text-muted-foreground", children: agentName })
853
- ] });
780
+ taskHeader = /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "truncate text-sm font-semibold leading-snug", children: nextTask });
854
781
  } else {
855
- taskHeader = /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { className: "text-xs text-muted-foreground", children: "No tasks defined for this stage" });
782
+ taskHeader = /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "text-xs text-muted-foreground", children: "No tasks defined for this stage" });
856
783
  }
857
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
784
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
858
785
  "div",
859
786
  {
860
787
  className: cn(
@@ -869,9 +796,9 @@ function TaskViewCard({
869
796
  onDragStart,
870
797
  onClick: onCardClick,
871
798
  children: [
872
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-start gap-2", children: [
873
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "min-w-0 flex-1", children: taskHeader }),
874
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
799
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-start gap-2", children: [
800
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "min-w-0 flex-1", children: taskHeader }),
801
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
875
802
  "span",
876
803
  {
877
804
  role: "img",
@@ -881,13 +808,13 @@ function TaskViewCard({
881
808
  }
882
809
  )
883
810
  ] }),
884
- hasTasks && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center gap-2", children: [
885
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { className: "shrink-0 tabular-nums text-xs text-muted-foreground", children: [
811
+ hasTasks && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-center gap-2", children: [
812
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "shrink-0 tabular-nums text-xs text-muted-foreground", children: [
886
813
  completedCount,
887
814
  "/",
888
815
  totalCount
889
816
  ] }),
890
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
817
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
891
818
  Progress,
892
819
  {
893
820
  value: completedCount / totalCount * 100,
@@ -898,7 +825,7 @@ function TaskViewCard({
898
825
  }
899
826
  )
900
827
  ] }),
901
- hasTasks && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
828
+ hasTasks && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
902
829
  "div",
903
830
  {
904
831
  className: "space-y-1 border-t border-border pt-2",
@@ -906,18 +833,18 @@ function TaskViewCard({
906
833
  role: "presentation",
907
834
  onKeyDown: (e) => e.stopPropagation(),
908
835
  children: [
909
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
836
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
910
837
  "button",
911
838
  {
912
839
  type: "button",
913
840
  onClick: () => setSubtasksExpanded((v) => !v),
914
841
  className: "flex w-full items-center justify-between text-xs text-muted-foreground hover:text-foreground",
915
842
  children: [
916
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { className: "flex items-center gap-1", children: [
917
- subtasksExpanded ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.ChevronDown, { className: "size-3" }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.ChevronRight, { className: "size-3" }),
843
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex items-center gap-1", children: [
844
+ subtasksExpanded ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.ChevronDown, { className: "size-3" }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.ChevronRight, { className: "size-3" }),
918
845
  "Subtasks"
919
846
  ] }),
920
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { children: [
847
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { children: [
921
848
  completedCount,
922
849
  " / ",
923
850
  totalCount
@@ -925,12 +852,11 @@ function TaskViewCard({
925
852
  ]
926
853
  }
927
854
  ),
928
- subtasksExpanded && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("ul", { className: "space-y-1.5 pt-1", children: tasks.map((task) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
855
+ subtasksExpanded && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("ul", { className: "space-y-1.5 pt-1", children: tasks.map((task) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
929
856
  TaskCheckItem,
930
857
  {
931
858
  title: task.title,
932
859
  completed: task.completed,
933
- aiAgentName: task.aiAgentName,
934
860
  onToggle: () => onTaskToggle == null ? void 0 : onTaskToggle(task.id),
935
861
  size: "xs"
936
862
  },
@@ -939,14 +865,14 @@ function TaskViewCard({
939
865
  ]
940
866
  }
941
867
  ),
942
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { className: "truncate text-xs text-muted-foreground", children: dealRef }),
943
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center gap-1.5", onClick: stopProp, children: [
944
- daysSinceColumnChanged !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Badge, { variant: "secondary", className: "px-1.5 text-[10px] font-normal", children: [
868
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "truncate text-xs text-muted-foreground", children: dealRef }),
869
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-center gap-1.5", onClick: stopProp, children: [
870
+ daysSinceColumnChanged !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Badge, { variant: "secondary", className: "px-1.5 text-[10px] font-normal", children: [
945
871
  daysSinceColumnChanged,
946
872
  "d"
947
873
  ] }),
948
- hasMenu && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "ml-auto", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(DropdownMenu, { children: [
949
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
874
+ hasMenu && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "ml-auto", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(DropdownMenu, { children: [
875
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
950
876
  DropdownMenuTrigger,
951
877
  {
952
878
  className: cn(
@@ -954,23 +880,23 @@ function TaskViewCard({
954
880
  "size-7 shrink-0"
955
881
  ),
956
882
  "aria-label": "Opportunity actions",
957
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.MoreVertical, { className: "size-4" })
883
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.MoreVertical, { className: "size-4" })
958
884
  }
959
885
  ),
960
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(DropdownMenuContent, { align: "end", children: [
961
- onViewDetails && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenuItem, { onClick: onViewDetails, children: "View details" }),
962
- onChangePriority && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenuItem, { onClick: onChangePriority, children: "Change priority" }),
963
- onPutOnHold && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenuItem, { onClick: onPutOnHold, children: "Put on hold" }),
964
- onDelete && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
965
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenuSeparator, {}),
966
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenuItem, { onClick: onDelete, variant: "destructive", children: "Delete" })
886
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(DropdownMenuContent, { align: "end", children: [
887
+ onViewDetails && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DropdownMenuItem, { onClick: onViewDetails, children: "View details" }),
888
+ onChangePriority && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DropdownMenuItem, { onClick: onChangePriority, children: "Change priority" }),
889
+ onPutOnHold && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DropdownMenuItem, { onClick: onPutOnHold, children: "Put on hold" }),
890
+ onDelete && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
891
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DropdownMenuSeparator, {}),
892
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DropdownMenuItem, { onClick: onDelete, variant: "destructive", children: "Delete" })
967
893
  ] })
968
894
  ] })
969
895
  ] }) })
970
896
  ] }),
971
- allDone && onMoveToNextStage && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { onClick: stopProp, children: [
972
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Separator, {}),
973
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
897
+ allDone && onMoveToNextStage && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { onClick: stopProp, children: [
898
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Separator, {}),
899
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
974
900
  Button,
975
901
  {
976
902
  variant: "outline",
@@ -982,9 +908,9 @@ function TaskViewCard({
982
908
  }
983
909
  ) })
984
910
  ] }),
985
- !allDone && nextTask && onMarkAsDone && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { onClick: stopProp, children: [
986
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Separator, {}),
987
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
911
+ !allDone && nextTask && onMarkAsDone && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { onClick: stopProp, children: [
912
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Separator, {}),
913
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
988
914
  Button,
989
915
  {
990
916
  variant: "default",
@@ -1023,7 +949,6 @@ function OpportunityCard({
1023
949
  onTaskToggle,
1024
950
  onMarkAsDone,
1025
951
  onMoveToNextStage,
1026
- onLaunchAssistant,
1027
952
  onChangePriority,
1028
953
  onDelete,
1029
954
  onPutOnHold,
@@ -1034,7 +959,7 @@ function OpportunityCard({
1034
959
  viewMode = "deal"
1035
960
  }) {
1036
961
  if (viewMode === "task") {
1037
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
962
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1038
963
  TaskViewCard,
1039
964
  {
1040
965
  customerName,
@@ -1081,7 +1006,7 @@ function OpportunityCard({
1081
1006
  const stopProp = (e) => {
1082
1007
  e.stopPropagation();
1083
1008
  };
1084
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1009
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1085
1010
  "div",
1086
1011
  {
1087
1012
  className: cn(
@@ -1096,19 +1021,19 @@ function OpportunityCard({
1096
1021
  onDragStart,
1097
1022
  onClick: onCardClick,
1098
1023
  children: [
1099
- onHoldTo && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1024
+ onHoldTo && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1100
1025
  "div",
1101
1026
  {
1102
1027
  className: "flex items-center gap-1.5 rounded border border-warning/30 bg-warning/10 px-2 py-1 text-xs font-medium",
1103
1028
  style: { color: "var(--color-warning-text)" },
1104
1029
  children: [
1105
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Clock, { className: "size-3 shrink-0" }),
1030
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Clock, { className: "size-3 shrink-0" }),
1106
1031
  "On hold until ",
1107
1032
  formatDateDayMonth(onHoldTo)
1108
1033
  ]
1109
1034
  }
1110
1035
  ),
1111
- isModifyCompletedLoan && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1036
+ isModifyCompletedLoan && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1112
1037
  "div",
1113
1038
  {
1114
1039
  className: "flex items-center gap-1.5 rounded border border-info/30 bg-info/10 px-2 py-1 text-xs font-medium",
@@ -1116,81 +1041,64 @@ function OpportunityCard({
1116
1041
  children: "Modify completed loan"
1117
1042
  }
1118
1043
  ),
1119
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-start justify-between gap-2", children: [
1120
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
1121
- (loanPurposeLabel || loanType) && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Badge, { variant: "outline", className: "self-start", children: loanPurposeLabel != null ? loanPurposeLabel : formatLoanType(loanType) }),
1122
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-base font-bold tabular-nums text-foreground", children: formatCurrency(amount) })
1044
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-start justify-between gap-2", children: [
1045
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
1046
+ (loanPurposeLabel || loanType) && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Badge, { variant: "outline", className: "self-start", children: loanPurposeLabel != null ? loanPurposeLabel : formatLoanType(loanType) }),
1047
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "text-base font-bold tabular-nums text-foreground", children: formatCurrency(amount) })
1123
1048
  ] }),
1124
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center gap-1 -mr-1 -mt-1", onClick: stopProp, children: [
1125
- onLaunchAssistant && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(TooltipProvider, { delay: 0, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Tooltip, { children: [
1126
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1127
- Button,
1128
- {
1129
- type: "button",
1130
- variant: "ghost",
1131
- size: "icon",
1132
- className: "size-7 shrink-0",
1133
- onClick: onLaunchAssistant,
1134
- "aria-label": "Launch AI",
1135
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Bot, { className: "size-4" })
1136
- }
1137
- ) }),
1138
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(TooltipContent, { children: "Launch AI" })
1139
- ] }) }),
1140
- hasMenu && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(DropdownMenu, { children: [
1141
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1142
- DropdownMenuTrigger,
1143
- {
1144
- className: cn(
1145
- buttonVariants({ variant: "ghost", size: "icon" }),
1146
- "size-7 shrink-0"
1147
- ),
1148
- "aria-label": "Opportunity actions",
1149
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.MoreVertical, { className: "size-4" })
1150
- }
1151
- ),
1152
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(DropdownMenuContent, { align: "end", children: [
1153
- onViewDetails && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenuItem, { onClick: onViewDetails, children: "View details" }),
1154
- onChangePriority && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenuItem, { onClick: onChangePriority, children: "Change priority" }),
1155
- onPutOnHold && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenuItem, { onClick: onPutOnHold, children: "Put on hold" }),
1156
- onDelete && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
1157
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenuSeparator, {}),
1158
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenuItem, { onClick: onDelete, variant: "destructive", children: "Delete" })
1159
- ] })
1049
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "flex items-center gap-1 -mr-1 -mt-1", onClick: stopProp, children: hasMenu && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(DropdownMenu, { children: [
1050
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1051
+ DropdownMenuTrigger,
1052
+ {
1053
+ className: cn(
1054
+ buttonVariants({ variant: "ghost", size: "icon" }),
1055
+ "size-7 shrink-0"
1056
+ ),
1057
+ "aria-label": "Opportunity actions",
1058
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.MoreVertical, { className: "size-4" })
1059
+ }
1060
+ ),
1061
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(DropdownMenuContent, { align: "end", children: [
1062
+ onViewDetails && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DropdownMenuItem, { onClick: onViewDetails, children: "View details" }),
1063
+ onChangePriority && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DropdownMenuItem, { onClick: onChangePriority, children: "Change priority" }),
1064
+ onPutOnHold && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DropdownMenuItem, { onClick: onPutOnHold, children: "Put on hold" }),
1065
+ onDelete && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
1066
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DropdownMenuSeparator, {}),
1067
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DropdownMenuItem, { onClick: onDelete, variant: "destructive", children: "Delete" })
1160
1068
  ] })
1161
1069
  ] })
1162
- ] })
1070
+ ] }) })
1163
1071
  ] }),
1164
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Separator, {}),
1165
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-col gap-1", children: [
1166
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
1167
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate text-sm font-semibold text-foreground", children: customerName }),
1168
- additionalContacts && additionalContacts > 0 ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Badge, { variant: "secondary", className: "shrink-0 gap-1", children: [
1169
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Users, { className: "size-3", "aria-hidden": "true" }),
1072
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Separator, {}),
1073
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col gap-1", children: [
1074
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
1075
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "truncate text-sm font-semibold text-foreground", children: customerName }),
1076
+ additionalContacts && additionalContacts > 0 ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Badge, { variant: "secondary", className: "shrink-0 gap-1", children: [
1077
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Users, { className: "size-3", "aria-hidden": "true" }),
1170
1078
  "Joint"
1171
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Badge, { variant: "secondary", className: "shrink-0 gap-1", children: [
1172
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.User, { className: "size-3", "aria-hidden": "true" }),
1079
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Badge, { variant: "secondary", className: "shrink-0 gap-1", children: [
1080
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.User, { className: "size-3", "aria-hidden": "true" }),
1173
1081
  "Individual"
1174
1082
  ] })
1175
1083
  ] }),
1176
- customerPhone && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1177
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Phone, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1084
+ customerPhone && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1085
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Phone, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1178
1086
  customerPhone
1179
1087
  ] }),
1180
- customerEmail && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1181
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Mail, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1182
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate", children: customerEmail })
1088
+ customerEmail && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1089
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Mail, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1090
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "truncate", children: customerEmail })
1183
1091
  ] })
1184
1092
  ] }),
1185
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Separator, {}),
1186
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center justify-between", children: [
1187
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1188
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Calendar, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1093
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Separator, {}),
1094
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-center justify-between", children: [
1095
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1096
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Calendar, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1189
1097
  formatDateShort(date)
1190
1098
  ] }),
1191
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { className: "flex items-center gap-1.5", children: [
1192
- daysSinceColumnChanged !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
1193
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1099
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex items-center gap-1.5", children: [
1100
+ daysSinceColumnChanged !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
1101
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1194
1102
  import_lucide_react5.Clock,
1195
1103
  {
1196
1104
  className: "size-3 shrink-0",
@@ -1198,7 +1106,7 @@ function OpportunityCard({
1198
1106
  "aria-hidden": "true"
1199
1107
  }
1200
1108
  ),
1201
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1109
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1202
1110
  "span",
1203
1111
  {
1204
1112
  className: "text-xs font-medium tabular-nums",
@@ -1210,7 +1118,7 @@ function OpportunityCard({
1210
1118
  }
1211
1119
  )
1212
1120
  ] }),
1213
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1121
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1214
1122
  "span",
1215
1123
  {
1216
1124
  role: "img",
@@ -1222,8 +1130,8 @@ function OpportunityCard({
1222
1130
  ] })
1223
1131
  ] }),
1224
1132
  hasTasks && // stopPropagation: accordion expand/collapse + task checkboxes must not bubble to onCardClick
1225
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { onClick: stopProp, children: [
1226
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1133
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { onClick: stopProp, children: [
1134
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1227
1135
  "div",
1228
1136
  {
1229
1137
  className: "flex gap-0.5",
@@ -1232,7 +1140,7 @@ function OpportunityCard({
1232
1140
  "aria-valuemin": 0,
1233
1141
  "aria-valuemax": tasks.length,
1234
1142
  "aria-label": `${completedCount} of ${tasks.length} tasks complete`,
1235
- children: tasks.map((t, i) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1143
+ children: tasks.map((t, i) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1236
1144
  "div",
1237
1145
  {
1238
1146
  className: cn(
@@ -1244,43 +1152,42 @@ function OpportunityCard({
1244
1152
  ))
1245
1153
  }
1246
1154
  ),
1247
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Accordion, { type: "single", collapsible: true, className: "-mx-4", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(AccordionItem, { value: "tasks", className: "border-0", children: [
1248
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(AccordionTrigger, { className: "px-4 py-1.5 text-xs font-normal text-muted-foreground hover:no-underline hover:text-foreground [&>svg]:size-3.5", children: [
1155
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Accordion, { type: "single", collapsible: true, className: "-mx-4", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(AccordionItem, { value: "tasks", className: "border-0", children: [
1156
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(AccordionTrigger, { className: "px-4 py-1.5 text-xs font-normal text-muted-foreground hover:no-underline hover:text-foreground [&>svg]:size-3.5", children: [
1249
1157
  "Tasks (",
1250
1158
  completedCount,
1251
1159
  "/",
1252
1160
  tasks.length,
1253
1161
  ")"
1254
1162
  ] }),
1255
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionContent, { className: "px-4", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex flex-col", children: tasks.map((task) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1163
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AccordionContent, { className: "px-4", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "flex flex-col", children: tasks.map((task) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1256
1164
  TaskCheckItem,
1257
1165
  {
1258
1166
  title: task.title,
1259
1167
  completed: task.completed,
1260
- aiAgentName: task.aiAgentName,
1261
1168
  onToggle: onTaskToggle ? () => onTaskToggle(task.id) : void 0,
1262
1169
  disabled: isSubmitting
1263
1170
  },
1264
1171
  task.id
1265
1172
  )) }) })
1266
1173
  ] }) }),
1267
- nextTask && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-start gap-1.5 border border-primary/30 bg-primary/5 px-2 py-1.5 text-xs", children: [
1268
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1174
+ nextTask && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-start gap-1.5 border border-primary/30 bg-primary/5 px-2 py-1.5 text-xs", children: [
1175
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1269
1176
  import_lucide_react5.ArrowRight,
1270
1177
  {
1271
1178
  className: "mt-0.5 size-3 shrink-0 text-primary",
1272
1179
  "aria-hidden": "true"
1273
1180
  }
1274
1181
  ),
1275
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "font-medium", children: "Next:" }),
1276
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-muted-foreground", children: nextTask })
1182
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "font-medium", children: "Next:" }),
1183
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "text-muted-foreground", children: nextTask })
1277
1184
  ] })
1278
1185
  ] }),
1279
1186
  hasActions && // stopPropagation: button clicks must not bubble to onCardClick
1280
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { onClick: stopProp, children: [
1281
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Separator, {}),
1282
- (onMoveToNextStage || onMarkAsDone) && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex gap-2 pt-2", children: [
1283
- onMoveToNextStage && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1187
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { onClick: stopProp, children: [
1188
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Separator, {}),
1189
+ (onMoveToNextStage || onMarkAsDone) && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex gap-2 pt-2", children: [
1190
+ onMoveToNextStage && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1284
1191
  Button,
1285
1192
  {
1286
1193
  variant: "outline",
@@ -1291,7 +1198,7 @@ function OpportunityCard({
1291
1198
  children: "Move to next stage"
1292
1199
  }
1293
1200
  ),
1294
- onMarkAsDone && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1201
+ onMarkAsDone && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1295
1202
  Button,
1296
1203
  {
1297
1204
  variant: "default",
@@ -1318,7 +1225,7 @@ function LeadCard({
1318
1225
  isSubmitting = false,
1319
1226
  className
1320
1227
  }) {
1321
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1228
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1322
1229
  "div",
1323
1230
  {
1324
1231
  className: cn(
@@ -1328,20 +1235,20 @@ function LeadCard({
1328
1235
  ),
1329
1236
  "data-slot": "lead-card",
1330
1237
  children: [
1331
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-start justify-between gap-2", children: [
1332
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
1333
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-sm font-semibold text-foreground", children: customerName }),
1334
- customerPhone && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1335
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Phone, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1238
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-start justify-between gap-2", children: [
1239
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
1240
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "text-sm font-semibold text-foreground", children: customerName }),
1241
+ customerPhone && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1242
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Phone, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1336
1243
  customerPhone
1337
1244
  ] }),
1338
- customerEmail && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1339
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.Mail, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1340
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate", children: customerEmail })
1245
+ customerEmail && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1246
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Mail, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1247
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "truncate", children: customerEmail })
1341
1248
  ] })
1342
1249
  ] }),
1343
- onDelete && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(DropdownMenu, { children: [
1344
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1250
+ onDelete && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(DropdownMenu, { children: [
1251
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1345
1252
  DropdownMenuTrigger,
1346
1253
  {
1347
1254
  className: cn(
@@ -1349,10 +1256,10 @@ function LeadCard({
1349
1256
  "-mr-1 -mt-1 size-7 shrink-0"
1350
1257
  ),
1351
1258
  "aria-label": "Lead actions",
1352
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react5.MoreVertical, { className: "size-4" })
1259
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.MoreVertical, { className: "size-4" })
1353
1260
  }
1354
1261
  ),
1355
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenuContent, { align: "end", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1262
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DropdownMenuContent, { align: "end", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1356
1263
  DropdownMenuItem,
1357
1264
  {
1358
1265
  onClick: onDelete,
@@ -1362,9 +1269,9 @@ function LeadCard({
1362
1269
  ) })
1363
1270
  ] })
1364
1271
  ] }),
1365
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Separator, {}),
1366
- onSendLoanApplication && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-col gap-2", children: [
1367
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1272
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Separator, {}),
1273
+ onSendLoanApplication && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col gap-2", children: [
1274
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1368
1275
  Button,
1369
1276
  {
1370
1277
  variant: "outline",
@@ -1375,13 +1282,16 @@ function LeadCard({
1375
1282
  children: "Send Loan Application Request"
1376
1283
  }
1377
1284
  ),
1378
- loanApplicationUrl && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("p", { className: "text-xs text-muted-foreground", children: [
1285
+ loanApplicationUrl && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("p", { className: "text-xs text-muted-foreground", children: [
1379
1286
  "Or the link below to fill out the loan application directly.",
1380
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("br", {}),
1381
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1287
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("br", {}),
1288
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1382
1289
  "a",
1383
1290
  {
1384
- href: `https://${loanApplicationUrl.replace(/^https?:\/\//, "")}`,
1291
+ href: `https://${loanApplicationUrl.replace(
1292
+ /^https?:\/\//,
1293
+ ""
1294
+ )}`,
1385
1295
  target: "_blank",
1386
1296
  rel: "noreferrer",
1387
1297
  className: "text-primary underline-offset-2 hover:underline",