@wealthx/shadcn 1.5.9 → 1.5.11

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 (112) hide show
  1. package/.turbo/turbo-build.log +157 -157
  2. package/CHANGELOG.md +12 -0
  3. package/dist/{chunk-AANINK2B.mjs → chunk-2KNQZG5S.mjs} +1 -1
  4. package/dist/chunk-3KLJ4XRE.mjs +375 -0
  5. package/dist/{chunk-6U4NQGVM.mjs → chunk-4X4MGYHE.mjs} +2 -2
  6. package/dist/{chunk-CEEVYRQA.mjs → chunk-67DGIPQ4.mjs} +1 -1
  7. package/dist/{chunk-7UIL5UN3.mjs → chunk-7II6QRCZ.mjs} +1 -1
  8. package/dist/{chunk-W5QJ57PU.mjs → chunk-7LN5OGC2.mjs} +1 -1
  9. package/dist/{chunk-ZXEUBBHJ.mjs → chunk-7TMPOZDE.mjs} +1 -1
  10. package/dist/{chunk-AHSCWXYJ.mjs → chunk-AJUAJC5O.mjs} +1 -1
  11. package/dist/{chunk-3CGM3QXQ.mjs → chunk-AKWN5ZQG.mjs} +2 -2
  12. package/dist/{chunk-FRT3S72S.mjs → chunk-CQ7HKBEX.mjs} +1 -1
  13. package/dist/{chunk-E2BNCA6L.mjs → chunk-EHQL64B7.mjs} +1 -1
  14. package/dist/{chunk-2WCIORP7.mjs → chunk-EXI64H46.mjs} +1 -1
  15. package/dist/{chunk-BBXSNDS3.mjs → chunk-FQYFPHDO.mjs} +1 -1
  16. package/dist/{chunk-3VZ6CYY2.mjs → chunk-GAXNO4JB.mjs} +1 -1
  17. package/dist/{chunk-3WGFIFP6.mjs → chunk-I4P7RXAE.mjs} +1 -1
  18. package/dist/{chunk-TAFL4WDY.mjs → chunk-IODGRCQG.mjs} +17 -10
  19. package/dist/{chunk-GS47ZSSA.mjs → chunk-J7KQON2N.mjs} +20 -5
  20. package/dist/{chunk-IQGKOT7A.mjs → chunk-K35TFQUB.mjs} +1 -1
  21. package/dist/{chunk-4DO3WM7V.mjs → chunk-K4VWSDJJ.mjs} +1 -1
  22. package/dist/{chunk-KWD6GANL.mjs → chunk-MPA2HV5U.mjs} +1 -1
  23. package/dist/{chunk-5LZZYODG.mjs → chunk-QHAMVWDG.mjs} +19 -1
  24. package/dist/{chunk-XUCDPAVI.mjs → chunk-R6U246E4.mjs} +2 -2
  25. package/dist/{chunk-VCDGLN25.mjs → chunk-S6AYZJYO.mjs} +47 -21
  26. package/dist/{chunk-WL6WVV47.mjs → chunk-X6RC5UWB.mjs} +1 -1
  27. package/dist/{chunk-4BHDDLWK.mjs → chunk-XAS6KBIG.mjs} +2 -2
  28. package/dist/{chunk-VWZS32ZQ.mjs → chunk-XYWEGBAA.mjs} +1 -1
  29. package/dist/{chunk-54MTIKNC.mjs → chunk-YV7XF32X.mjs} +49 -24
  30. package/dist/{chunk-E5EDZQ5J.mjs → chunk-ZA44WICP.mjs} +1 -1
  31. package/dist/{chunk-54TRNCID.mjs → chunk-ZMTCMP2G.mjs} +8 -8
  32. package/dist/components/ui/advisor-card.js +144 -55
  33. package/dist/components/ui/advisor-card.mjs +5 -2
  34. package/dist/components/ui/agent-evaluation-toast.js +1 -1
  35. package/dist/components/ui/agent-evaluation-toast.mjs +2 -2
  36. package/dist/components/ui/ai-assistant-drawer.js +1 -1
  37. package/dist/components/ui/ai-assistant-drawer.mjs +2 -2
  38. package/dist/components/ui/ai-builder.js +1 -1
  39. package/dist/components/ui/ai-builder.mjs +2 -2
  40. package/dist/components/ui/ai-conversations.js +1 -1
  41. package/dist/components/ui/ai-conversations.mjs +3 -3
  42. package/dist/components/ui/appointment-action-dialogs.js +1 -1
  43. package/dist/components/ui/appointment-action-dialogs.mjs +3 -3
  44. package/dist/components/ui/appointment-book-dialog.js +19 -4
  45. package/dist/components/ui/appointment-book-dialog.mjs +3 -3
  46. package/dist/components/ui/appointment-calendar-view.js +17 -10
  47. package/dist/components/ui/appointment-calendar-view.mjs +2 -2
  48. package/dist/components/ui/appointment-detail-sheet.js +1 -1
  49. package/dist/components/ui/appointment-detail-sheet.mjs +4 -4
  50. package/dist/components/ui/appointment-gmail-connect.js +1 -1
  51. package/dist/components/ui/appointment-gmail-connect.mjs +2 -2
  52. package/dist/components/ui/appointment-time-slot-picker.js +1 -1
  53. package/dist/components/ui/appointment-time-slot-picker.mjs +2 -2
  54. package/dist/components/ui/appointment-upcoming-card.js +1 -1
  55. package/dist/components/ui/appointment-upcoming-card.mjs +3 -3
  56. package/dist/components/ui/badge.js +1 -1
  57. package/dist/components/ui/badge.mjs +1 -1
  58. package/dist/components/ui/chat-widget-primitives.js +1 -1
  59. package/dist/components/ui/chat-widget-primitives.mjs +2 -2
  60. package/dist/components/ui/chat-widget.js +1 -1
  61. package/dist/components/ui/chat-widget.mjs +3 -3
  62. package/dist/components/ui/chip.js +1 -1
  63. package/dist/components/ui/chip.mjs +2 -2
  64. package/dist/components/ui/contact-alert-dialog/index.js +19 -1
  65. package/dist/components/ui/contact-alert-dialog/index.mjs +1 -1
  66. package/dist/components/ui/dashboard-transactions-table.js +1 -1
  67. package/dist/components/ui/dashboard-transactions-table.mjs +2 -2
  68. package/dist/components/ui/financial-cards.js +1 -1
  69. package/dist/components/ui/financial-cards.mjs +2 -2
  70. package/dist/components/ui/financial-sections.js +1 -1
  71. package/dist/components/ui/financial-sections.mjs +3 -3
  72. package/dist/components/ui/income-summary-component.js +1 -1
  73. package/dist/components/ui/income-summary-component.mjs +1 -1
  74. package/dist/components/ui/integration-card.js +1 -1
  75. package/dist/components/ui/integration-card.mjs +2 -2
  76. package/dist/components/ui/kanban-column.js +46 -23
  77. package/dist/components/ui/kanban-column.mjs +4 -4
  78. package/dist/components/ui/loan-applicant-information.js +1 -1
  79. package/dist/components/ui/loan-applicant-information.mjs +1 -1
  80. package/dist/components/ui/loan-application-badge.js +1 -1
  81. package/dist/components/ui/loan-application-badge.mjs +2 -2
  82. package/dist/components/ui/opportunity-card.js +46 -23
  83. package/dist/components/ui/opportunity-card.mjs +3 -3
  84. package/dist/components/ui/opportunity-summary-tab.js +1 -1
  85. package/dist/components/ui/opportunity-summary-tab.mjs +3 -3
  86. package/dist/components/ui/pipeline-board.js +46 -23
  87. package/dist/components/ui/pipeline-board.mjs +5 -5
  88. package/dist/components/ui/pipeline-primitives.js +1 -1
  89. package/dist/components/ui/pipeline-primitives.mjs +2 -2
  90. package/dist/components/ui/property-asset-card.js +1 -1
  91. package/dist/components/ui/property-asset-card.mjs +1 -1
  92. package/dist/components/ui/resource-center.js +1 -1
  93. package/dist/components/ui/resource-center.mjs +2 -2
  94. package/dist/components/ui/share-details-dialog.js +326 -30
  95. package/dist/components/ui/share-details-dialog.mjs +4 -1
  96. package/dist/components/ui/stage-timeline.js +1 -1
  97. package/dist/components/ui/stage-timeline.mjs +3 -3
  98. package/dist/index.js +473 -197
  99. package/dist/index.mjs +44 -42
  100. package/dist/styles.css +1 -1
  101. package/package.json +1 -1
  102. package/src/components/index.tsx +4 -0
  103. package/src/components/ui/advisor-card.tsx +75 -25
  104. package/src/components/ui/appointment-book-dialog.tsx +26 -3
  105. package/src/components/ui/appointment-calendar-view.tsx +7 -6
  106. package/src/components/ui/appointment-time-slot-picker.tsx +1 -0
  107. package/src/components/ui/badge.tsx +1 -1
  108. package/src/components/ui/contact-alert-dialog/contact-alert-dialog.tsx +19 -1
  109. package/src/components/ui/opportunity-card.tsx +56 -20
  110. package/src/components/ui/share-details-dialog.tsx +251 -0
  111. package/src/styles/styles-css.ts +1 -1
  112. package/dist/chunk-OZ2R6ERP.mjs +0 -174
package/dist/index.js CHANGED
@@ -388,6 +388,7 @@ __export(index_exports, {
388
388
  SelectableCard: () => SelectableCard,
389
389
  Separator: () => Separator,
390
390
  ServiceConfigurationModal: () => ServiceConfigurationModal,
391
+ ShareContactDialog: () => ShareContactDialog,
391
392
  ShareDetailsDialog: () => ShareDetailsDialog,
392
393
  Sheet: () => Sheet,
393
394
  SheetClose: () => SheetClose,
@@ -845,7 +846,7 @@ Slot.displayName = "Slot";
845
846
  // src/components/ui/badge.tsx
846
847
  var import_jsx_runtime3 = require("react/jsx-runtime");
847
848
  var badgeVariants = (0, import_class_variance_authority.cva)(
848
- "inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2.5 py-0.5 text-xs font-medium font-sans whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",
849
+ "inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2.5 py-0.5 text-caption whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",
849
850
  {
850
851
  variants: {
851
852
  variant: {
@@ -3654,6 +3655,7 @@ function AdvisorCard({
3654
3655
  isPrimary = false,
3655
3656
  appointments,
3656
3657
  onRefer,
3658
+ menuItems,
3657
3659
  onMoreOptions,
3658
3660
  onBookAppointment,
3659
3661
  onViewAppointment
@@ -3664,17 +3666,17 @@ function AdvisorCard({
3664
3666
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-start gap-4 p-4", children: [
3665
3667
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Avatar, { className: "h-10 w-10 shrink-0", children: [
3666
3668
  companyLogoUrl && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AvatarImage, { src: companyLogoUrl, alt: `${name} company logo` }),
3667
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AvatarFallback, { className: "text-sm", children: avatarInitials != null ? avatarInitials : companyName ? companyName.split(" ").map((w) => w[0]).join("").slice(0, 2).toUpperCase() : name.slice(0, 2).toUpperCase() })
3669
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AvatarFallback, { className: "text-caption", children: avatarInitials != null ? avatarInitials : companyName ? companyName.split(" ").map((w) => w[0]).join("").slice(0, 2).toUpperCase() : name.slice(0, 2).toUpperCase() })
3668
3670
  ] }),
3669
3671
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
3670
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-sm font-semibold leading-tight", children: name }),
3671
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-sm text-muted-foreground", children: role }),
3672
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-label-large leading-tight", children: name }),
3673
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-body-small text-muted-foreground", children: role }),
3672
3674
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "mt-2 flex flex-col gap-1", children: [
3673
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-center gap-1.5 text-sm text-muted-foreground", children: [
3675
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-center gap-1.5 text-body-small text-muted-foreground", children: [
3674
3676
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react7.Phone, { className: "h-4 w-4 shrink-0" }),
3675
3677
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { children: phone })
3676
3678
  ] }),
3677
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-center gap-1.5 text-sm text-muted-foreground", children: [
3679
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-center gap-1.5 text-body-small text-muted-foreground", children: [
3678
3680
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react7.Mail, { className: "h-4 w-4 shrink-0" }),
3679
3681
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { children: email })
3680
3682
  ] })
@@ -3682,7 +3684,33 @@ function AdvisorCard({
3682
3684
  ] }),
3683
3685
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex shrink-0 items-center gap-1.5", children: [
3684
3686
  isPrimary && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Badge, { variant: "success", children: "Primary" }),
3685
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3687
+ menuItems && menuItems.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(DropdownMenu, { children: [
3688
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3689
+ DropdownMenuTrigger,
3690
+ {
3691
+ render: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3692
+ Button,
3693
+ {
3694
+ variant: "ghost",
3695
+ size: "icon",
3696
+ className: "h-7 w-7",
3697
+ "aria-label": "More options"
3698
+ }
3699
+ ),
3700
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react7.MoreVertical, { className: "h-4 w-4" })
3701
+ }
3702
+ ),
3703
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DropdownMenuContent, { align: "end", children: menuItems.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3704
+ DropdownMenuItem,
3705
+ {
3706
+ variant: item.variant,
3707
+ disabled: item.disabled,
3708
+ onClick: item.onClick,
3709
+ children: item.label
3710
+ },
3711
+ i
3712
+ )) })
3713
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3686
3714
  Button,
3687
3715
  {
3688
3716
  variant: "ghost",
@@ -3707,17 +3735,10 @@ function AdvisorCard({
3707
3735
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react7.CalendarCheck, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
3708
3736
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
3709
3737
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-center gap-2", children: [
3710
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3711
- Badge,
3712
- {
3713
- variant: STATUS_VARIANT[appt.status],
3714
- className: "text-[10px]",
3715
- children: STATUS_LABEL[appt.status]
3716
- }
3717
- ),
3718
- appt.appointmentType && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "truncate text-sm font-semibold", children: appt.appointmentType })
3738
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Badge, { variant: STATUS_VARIANT[appt.status], children: STATUS_LABEL[appt.status] }),
3739
+ appt.appointmentType && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "truncate text-h6", children: appt.appointmentType })
3719
3740
  ] }),
3720
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("p", { className: "whitespace-nowrap text-sm text-muted-foreground", children: [
3741
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("p", { className: "whitespace-nowrap text-body-small text-muted-foreground", children: [
3721
3742
  appt.date,
3722
3743
  " \xB7 ",
3723
3744
  appt.timeStart,
@@ -3745,7 +3766,7 @@ function AdvisorCard({
3745
3766
  /* Empty state */
3746
3767
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-center gap-3 px-4 py-3", children: [
3747
3768
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react7.Calendar, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
3748
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "flex-1 text-xs text-muted-foreground", children: "No upcoming appointments" })
3769
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "flex-1 text-caption text-muted-foreground", children: "No upcoming appointments" })
3749
3770
  ] })
3750
3771
  )
3751
3772
  ] }),
@@ -3764,7 +3785,7 @@ function AdvisorCard({
3764
3785
  onRefer && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
3765
3786
  Button,
3766
3787
  {
3767
- variant: "outline",
3788
+ variant: "default",
3768
3789
  size: "sm",
3769
3790
  className: "w-full",
3770
3791
  onClick: onRefer,
@@ -3788,8 +3809,8 @@ function AdvisorInviteCard({ onInvite }) {
3788
3809
  children: [
3789
3810
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex h-10 w-10 items-center justify-center border border-dashed border-muted-foreground/40", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react7.Plus, { className: "h-5 w-5 text-muted-foreground" }) }),
3790
3811
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex flex-col gap-1", children: [
3791
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-sm font-medium", children: "Add Another Advisor" }),
3792
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-xs text-muted-foreground", children: "Connect more advisors to your account" })
3812
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-label-large", children: "Add Another Advisor" }),
3813
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-caption text-muted-foreground", children: "Connect more advisors to your account" })
3793
3814
  ] })
3794
3815
  ]
3795
3816
  }
@@ -8904,6 +8925,19 @@ var FORMAT_OPTIONS = [
8904
8925
  icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react26.MapPin, { className: "h-4 w-4" })
8905
8926
  }
8906
8927
  ];
8928
+ var CLIENT_FORMAT_OPTIONS = [
8929
+ { value: "call", label: "Call", icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react26.Phone, { className: "h-4 w-4" }) },
8930
+ {
8931
+ value: "online",
8932
+ label: "Online Meeting",
8933
+ icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react26.Video, { className: "h-4 w-4" })
8934
+ },
8935
+ {
8936
+ value: "offline",
8937
+ label: "Offline Meeting",
8938
+ icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react26.MapPin, { className: "h-4 w-4" })
8939
+ }
8940
+ ];
8907
8941
  function MeetingFormatSection({
8908
8942
  format: format5,
8909
8943
  onFormatChange,
@@ -8913,10 +8947,11 @@ function MeetingFormatSection({
8913
8947
  onCustomAddressChange,
8914
8948
  advisorOfficeAddress,
8915
8949
  clientHomeAddress,
8916
- isClientMode
8950
+ isClientMode,
8951
+ formatOptions
8917
8952
  }) {
8918
8953
  return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex flex-col gap-2", children: [
8919
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "flex gap-2", children: FORMAT_OPTIONS.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
8954
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "flex gap-2", children: formatOptions.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
8920
8955
  Toggle,
8921
8956
  {
8922
8957
  variant: "outline",
@@ -9209,7 +9244,8 @@ function AppointmentBookDialog({
9209
9244
  onCustomAddressChange: setCustomAddress,
9210
9245
  advisorOfficeAddress,
9211
9246
  clientHomeAddress,
9212
- isClientMode
9247
+ isClientMode,
9248
+ formatOptions: isClientMode ? CLIENT_FORMAT_OPTIONS : FORMAT_OPTIONS
9213
9249
  }
9214
9250
  )
9215
9251
  ] }),
@@ -9716,7 +9752,7 @@ function AppointmentCalendarView({
9716
9752
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabsTrigger, { value: "week", children: "Week" }),
9717
9753
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabsTrigger, { value: "month", children: "Month" })
9718
9754
  ] }) }),
9719
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabsContent, { value: "day", className: "mt-0", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9755
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabsContent, { value: "day", className: "mt-0 max-h-[75vh] overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9720
9756
  DayView,
9721
9757
  {
9722
9758
  appointments,
@@ -9726,7 +9762,7 @@ function AppointmentCalendarView({
9726
9762
  onSelectAppointment
9727
9763
  }
9728
9764
  ) }),
9729
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabsContent, { value: "week", className: "mt-0", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9765
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabsContent, { value: "week", className: "mt-0 max-h-[75vh] overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9730
9766
  WeekView,
9731
9767
  {
9732
9768
  appointments,
@@ -9736,15 +9772,22 @@ function AppointmentCalendarView({
9736
9772
  onSelectAppointment
9737
9773
  }
9738
9774
  ) }),
9739
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabsContent, { value: "month", className: "mt-0", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9740
- MonthView,
9775
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9776
+ TabsContent,
9741
9777
  {
9742
- appointments,
9743
- viewDate: effectiveViewDate,
9744
- today,
9745
- onSelectAppointment
9778
+ value: "month",
9779
+ className: "mt-0 max-h-[75vh] overflow-y-auto",
9780
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9781
+ MonthView,
9782
+ {
9783
+ appointments,
9784
+ viewDate: effectiveViewDate,
9785
+ today,
9786
+ onSelectAppointment
9787
+ }
9788
+ )
9746
9789
  }
9747
- ) })
9790
+ )
9748
9791
  ]
9749
9792
  }
9750
9793
  )
@@ -14110,6 +14153,7 @@ function ReviewAlertsDialog({
14110
14153
 
14111
14154
  // src/components/ui/contact-alert-dialog/contact-alert-dialog.tsx
14112
14155
  var React33 = __toESM(require("react"));
14156
+ var import_lucide_react42 = require("lucide-react");
14113
14157
  var import_ui4 = require("@react-awesome-query-builder/ui");
14114
14158
 
14115
14159
  // src/components/ui/contact-alert-dialog/types.ts
@@ -15057,7 +15101,24 @@ function ContactAlertDialog({
15057
15101
  size: "sm",
15058
15102
  value: severity,
15059
15103
  onValueChange: (v) => v && setSeverity(v),
15060
- children: ["NEED_ACTION", "WATCH", "HEALTHY"].map((s) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(ToggleGroupItem, { value: s, children: SEVERITY_LABELS[s] }, s))
15104
+ children: ["NEED_ACTION", "WATCH", "HEALTHY"].map((s) => /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
15105
+ ToggleGroupItem,
15106
+ {
15107
+ value: s,
15108
+ className: cn(
15109
+ s === "NEED_ACTION" && "data-pressed:bg-destructive/10 data-pressed:inset-ring-destructive data-pressed:text-destructive-text data-pressed:hover:bg-destructive/10",
15110
+ s === "WATCH" && "data-pressed:bg-warning/10 data-pressed:inset-ring-warning data-pressed:text-warning-text data-pressed:hover:bg-warning/10",
15111
+ s === "HEALTHY" && "data-pressed:bg-info/10 data-pressed:inset-ring-info data-pressed:text-info-text data-pressed:hover:bg-info/10"
15112
+ ),
15113
+ children: [
15114
+ s === "NEED_ACTION" && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react42.AlertCircleIcon, { className: "size-3.5" }),
15115
+ s === "WATCH" && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react42.EyeIcon, { className: "size-3.5" }),
15116
+ s === "HEALTHY" && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react42.InfoIcon, { className: "size-3.5" }),
15117
+ SEVERITY_LABELS[s]
15118
+ ]
15119
+ },
15120
+ s
15121
+ ))
15061
15122
  }
15062
15123
  )
15063
15124
  ] }),
@@ -15111,7 +15172,7 @@ function ContactAlertDialog({
15111
15172
 
15112
15173
  // src/components/ui/share-details-dialog.tsx
15113
15174
  var React34 = __toESM(require("react"));
15114
- var import_lucide_react42 = require("lucide-react");
15175
+ var import_lucide_react43 = require("lucide-react");
15115
15176
  var import_jsx_runtime78 = require("react/jsx-runtime");
15116
15177
  function Field3({
15117
15178
  id,
@@ -15170,7 +15231,7 @@ function ShareDetailsDialog({
15170
15231
  onClick: handleCopy,
15171
15232
  "aria-label": copied ? "Copied" : "Copy link",
15172
15233
  className: "shrink-0",
15173
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react42.CheckIcon, { className: "size-4 text-success" }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react42.CopyIcon, { className: "size-4" })
15234
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react43.CheckIcon, { className: "size-4 text-success" }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react43.CopyIcon, { className: "size-4" })
15174
15235
  }
15175
15236
  )
15176
15237
  ] }),
@@ -15255,10 +15316,201 @@ function EmailTemplateDialog({
15255
15316
  ] })
15256
15317
  ] }) });
15257
15318
  }
15319
+ function ShareContactDialog({
15320
+ open,
15321
+ onOpenChange,
15322
+ contactName,
15323
+ internalAdvisors,
15324
+ onShareInternal,
15325
+ onShareExternal,
15326
+ isSending = false,
15327
+ className
15328
+ }) {
15329
+ const [tab, setTab] = React34.useState("internal");
15330
+ const [search, setSearch] = React34.useState("");
15331
+ const [selectedId, setSelectedId] = React34.useState(null);
15332
+ const [internalNotes, setInternalNotes] = React34.useState("");
15333
+ const [firstName, setFirstName] = React34.useState("");
15334
+ const [lastName, setLastName] = React34.useState("");
15335
+ const [email, setEmail] = React34.useState("");
15336
+ const [externalNotes, setExternalNotes] = React34.useState("");
15337
+ function reset() {
15338
+ setTab("internal");
15339
+ setSearch("");
15340
+ setSelectedId(null);
15341
+ setInternalNotes("");
15342
+ setFirstName("");
15343
+ setLastName("");
15344
+ setEmail("");
15345
+ setExternalNotes("");
15346
+ }
15347
+ function handleOpenChange(v) {
15348
+ if (!v) reset();
15349
+ onOpenChange(v);
15350
+ }
15351
+ const filtered = internalAdvisors.filter((a) => {
15352
+ const q = search.toLowerCase();
15353
+ return a.name.toLowerCase().includes(q) || a.role.toLowerCase().includes(q);
15354
+ });
15355
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Dialog, { open, onOpenChange: isSending ? void 0 : handleOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(DialogContent, { size: "md", className, children: [
15356
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(DialogHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(DialogTitle, { children: "Share Contact's Information" }) }),
15357
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("p", { className: "text-sm text-muted-foreground", children: [
15358
+ "Share",
15359
+ " ",
15360
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "font-medium text-foreground", children: contactName }),
15361
+ "'s information with an advisor."
15362
+ ] }),
15363
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(Tabs, { value: tab, onValueChange: setTab, children: [
15364
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(TabsList, { className: "w-full", children: [
15365
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(TabsTrigger, { value: "internal", className: "flex-1", children: "Internal Advisor" }),
15366
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(TabsTrigger, { value: "external", className: "flex-1", children: "External / Referral" })
15367
+ ] }),
15368
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(TabsContent, { value: "internal", className: "mt-4 flex flex-col gap-4", children: [
15369
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Field3, { label: "Search Advisor", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
15370
+ Input,
15371
+ {
15372
+ placeholder: "Search by name or role\u2026",
15373
+ value: search,
15374
+ onChange: (e) => setSearch(e.target.value)
15375
+ }
15376
+ ) }),
15377
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "max-h-[200px] overflow-y-auto border border-border divide-y divide-border", children: filtered.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "px-3 py-4 text-center text-sm text-muted-foreground", children: "No advisors found." }) : filtered.map((a) => {
15378
+ const isSelected = selectedId === a.id;
15379
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
15380
+ "button",
15381
+ {
15382
+ type: "button",
15383
+ onClick: () => setSelectedId(a.id),
15384
+ className: cn(
15385
+ "flex w-full items-center gap-3 px-3 py-2.5 text-left transition-colors hover:bg-muted/40",
15386
+ isSelected && "bg-primary/5"
15387
+ ),
15388
+ children: [
15389
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
15390
+ "div",
15391
+ {
15392
+ className: cn(
15393
+ "flex size-4 shrink-0 items-center justify-center rounded-full border-2",
15394
+ isSelected ? "border-primary" : "border-border bg-background"
15395
+ ),
15396
+ children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "size-2 rounded-full bg-primary" })
15397
+ }
15398
+ ),
15399
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { children: [
15400
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-sm font-medium", children: a.name }),
15401
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("p", { className: "text-xs text-muted-foreground", children: [
15402
+ a.role,
15403
+ " \xB7 ",
15404
+ a.practice
15405
+ ] })
15406
+ ] })
15407
+ ]
15408
+ },
15409
+ a.id
15410
+ );
15411
+ }) }),
15412
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Field3, { id: "sc-int-notes", label: "Notes", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
15413
+ Textarea,
15414
+ {
15415
+ id: "sc-int-notes",
15416
+ placeholder: "Optional message for the advisor\u2026",
15417
+ rows: 3,
15418
+ value: internalNotes,
15419
+ onChange: (e) => setInternalNotes(e.target.value),
15420
+ disabled: isSending
15421
+ }
15422
+ ) })
15423
+ ] }),
15424
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(TabsContent, { value: "external", className: "mt-4 flex flex-col gap-4", children: [
15425
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "grid grid-cols-2 gap-4", children: [
15426
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Field3, { id: "sc-first", label: "First Name", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
15427
+ Input,
15428
+ {
15429
+ id: "sc-first",
15430
+ placeholder: "First name",
15431
+ value: firstName,
15432
+ onChange: (e) => setFirstName(e.target.value),
15433
+ disabled: isSending
15434
+ }
15435
+ ) }),
15436
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Field3, { id: "sc-last", label: "Last Name", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
15437
+ Input,
15438
+ {
15439
+ id: "sc-last",
15440
+ placeholder: "Last name",
15441
+ value: lastName,
15442
+ onChange: (e) => setLastName(e.target.value),
15443
+ disabled: isSending
15444
+ }
15445
+ ) })
15446
+ ] }),
15447
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Field3, { id: "sc-email", label: "Email", required: true, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
15448
+ Input,
15449
+ {
15450
+ id: "sc-email",
15451
+ type: "email",
15452
+ placeholder: "advisor@company.com.au",
15453
+ value: email,
15454
+ onChange: (e) => setEmail(e.target.value),
15455
+ disabled: isSending
15456
+ }
15457
+ ) }),
15458
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Field3, { id: "sc-ext-notes", label: "Notes", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
15459
+ Textarea,
15460
+ {
15461
+ id: "sc-ext-notes",
15462
+ placeholder: "Optional message\u2026",
15463
+ rows: 3,
15464
+ value: externalNotes,
15465
+ onChange: (e) => setExternalNotes(e.target.value),
15466
+ disabled: isSending
15467
+ }
15468
+ ) })
15469
+ ] })
15470
+ ] }),
15471
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(DialogFooter, { children: [
15472
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
15473
+ Button,
15474
+ {
15475
+ variant: "outline",
15476
+ onClick: () => handleOpenChange(false),
15477
+ disabled: isSending,
15478
+ children: "Cancel"
15479
+ }
15480
+ ),
15481
+ tab === "internal" ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
15482
+ Button,
15483
+ {
15484
+ onClick: () => onShareInternal(selectedId, internalNotes),
15485
+ disabled: !selectedId || isSending,
15486
+ children: isSending ? /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(import_jsx_runtime78.Fragment, { children: [
15487
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Spinner, { className: "size-3.5" }),
15488
+ "Sharing\u2026"
15489
+ ] }) : "Share Contact"
15490
+ }
15491
+ ) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
15492
+ Button,
15493
+ {
15494
+ onClick: () => onShareExternal({
15495
+ firstName,
15496
+ lastName,
15497
+ email,
15498
+ notes: externalNotes
15499
+ }),
15500
+ disabled: !email || isSending,
15501
+ children: isSending ? /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(import_jsx_runtime78.Fragment, { children: [
15502
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Spinner, { className: "size-3.5" }),
15503
+ "Sending\u2026"
15504
+ ] }) : "Send Invite"
15505
+ }
15506
+ )
15507
+ ] })
15508
+ ] }) });
15509
+ }
15258
15510
 
15259
15511
  // src/components/ui/file-preview-dialog.tsx
15260
15512
  var React35 = __toESM(require("react"));
15261
- var import_lucide_react43 = require("lucide-react");
15513
+ var import_lucide_react44 = require("lucide-react");
15262
15514
 
15263
15515
  // src/components/ui/progress.tsx
15264
15516
  var import_progress = require("@base-ui/react/progress");
@@ -15303,14 +15555,14 @@ function LoadingState({ columnCount }) {
15303
15555
  }
15304
15556
  function EmptyState() {
15305
15557
  return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex flex-col items-center gap-3 py-12 text-center", children: [
15306
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react43.FileTextIcon, { className: "size-10 text-muted-foreground/40" }),
15558
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react44.FileTextIcon, { className: "size-10 text-muted-foreground/40" }),
15307
15559
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-sm font-medium text-foreground", children: "No data found" }),
15308
15560
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xs text-muted-foreground", children: "The CSV file appears to be empty or contains only headers." })
15309
15561
  ] });
15310
15562
  }
15311
15563
  function ErrorState({ message }) {
15312
15564
  return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex flex-col items-center gap-3 py-12 text-center", children: [
15313
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react43.AlertCircleIcon, { className: "size-10 text-destructive/60" }),
15565
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react44.AlertCircleIcon, { className: "size-10 text-destructive/60" }),
15314
15566
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-sm font-medium text-foreground", children: "Unable to parse file" }),
15315
15567
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xs text-muted-foreground", children: message != null ? message : "The file could not be read. Please check the format and try again." })
15316
15568
  ] });
@@ -15343,11 +15595,11 @@ function ImportingState({
15343
15595
  function RowStatusCell({ row }) {
15344
15596
  const { _status, _statusMessage } = row;
15345
15597
  if (_status === "success") {
15346
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex items-center justify-center h-full px-2", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react43.CheckCircle2Icon, { className: "size-4 text-success" }) });
15598
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex items-center justify-center h-full px-2", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react44.CheckCircle2Icon, { className: "size-4 text-success" }) });
15347
15599
  }
15348
15600
  if (_status === "failed") {
15349
15601
  return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(Tooltip, { children: [
15350
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex items-center justify-center h-full px-2 cursor-default", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react43.CircleAlertIcon, { className: "size-4 text-destructive" }) }) }),
15602
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex items-center justify-center h-full px-2 cursor-default", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react44.CircleAlertIcon, { className: "size-4 text-destructive" }) }) }),
15351
15603
  _statusMessage && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(TooltipContent, { side: "top", children: _statusMessage })
15352
15604
  ] }) });
15353
15605
  }
@@ -15486,7 +15738,7 @@ function FilePreviewDialog({
15486
15738
  "aria-label": `Delete row ${absoluteIdx + 1}`,
15487
15739
  onClick: () => onRowDelete(absoluteIdx),
15488
15740
  className: "text-muted-foreground hover:text-destructive",
15489
- children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react43.Trash2Icon, { className: "size-3.5" })
15741
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react44.Trash2Icon, { className: "size-3.5" })
15490
15742
  }
15491
15743
  ) })
15492
15744
  ]
@@ -15543,7 +15795,7 @@ function FilePreviewDialog({
15543
15795
  // src/components/ui/data-table.tsx
15544
15796
  var React36 = __toESM(require("react"));
15545
15797
  var import_react_table = require("@tanstack/react-table");
15546
- var import_lucide_react44 = require("lucide-react");
15798
+ var import_lucide_react45 = require("lucide-react");
15547
15799
  var import_jsx_runtime81 = require("react/jsx-runtime");
15548
15800
  function DataTableColumnHeader({
15549
15801
  column,
@@ -15556,11 +15808,11 @@ function DataTableColumnHeader({
15556
15808
  const sorted = column.getIsSorted();
15557
15809
  let sortIcon;
15558
15810
  if (sorted === "asc") {
15559
- sortIcon = /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react44.ArrowUp, { className: "ml-1 size-3.5" });
15811
+ sortIcon = /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react45.ArrowUp, { className: "ml-1 size-3.5" });
15560
15812
  } else if (sorted === "desc") {
15561
- sortIcon = /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react44.ArrowDown, { className: "ml-1 size-3.5" });
15813
+ sortIcon = /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react45.ArrowDown, { className: "ml-1 size-3.5" });
15562
15814
  } else {
15563
- sortIcon = /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react44.ArrowUpDown, { className: "ml-1 size-3.5" });
15815
+ sortIcon = /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react45.ArrowUpDown, { className: "ml-1 size-3.5" });
15564
15816
  }
15565
15817
  return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
15566
15818
  Button,
@@ -15647,7 +15899,7 @@ function DataTableToolbar({
15647
15899
  }
15648
15900
  ),
15649
15901
  children: [
15650
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react44.SlidersHorizontal, { className: "size-3.5" }),
15902
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react45.SlidersHorizontal, { className: "size-3.5" }),
15651
15903
  /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "hidden sm:inline", children: "Columns" })
15652
15904
  ]
15653
15905
  }
@@ -15884,13 +16136,13 @@ function DataTable({
15884
16136
 
15885
16137
  // src/components/ui/applicant-document-checklist.tsx
15886
16138
  var React37 = __toESM(require("react"));
15887
- var import_lucide_react45 = require("lucide-react");
16139
+ var import_lucide_react46 = require("lucide-react");
15888
16140
  var import_jsx_runtime82 = require("react/jsx-runtime");
15889
16141
  function StatusIcon({ status }) {
15890
16142
  if (status === "uploaded") {
15891
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react45.CheckCircle2, { className: "size-5 shrink-0 text-primary" });
16143
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react46.CheckCircle2, { className: "size-5 shrink-0 text-primary" });
15892
16144
  }
15893
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react45.Circle, { className: "size-5 shrink-0 text-muted-foreground" });
16145
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react46.Circle, { className: "size-5 shrink-0 text-muted-foreground" });
15894
16146
  }
15895
16147
  function ApplicantDocumentChecklist({
15896
16148
  applicantName,
@@ -15972,7 +16224,7 @@ function ApplicantDocumentChecklist({
15972
16224
  return (_a = inputRefs.current[item.id]) == null ? void 0 : _a.click();
15973
16225
  },
15974
16226
  children: [
15975
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react45.Upload, { className: "size-3.5" }),
16227
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react46.Upload, { className: "size-3.5" }),
15976
16228
  "Upload"
15977
16229
  ]
15978
16230
  }
@@ -15997,7 +16249,7 @@ function ApplicantDocumentChecklist({
15997
16249
 
15998
16250
  // src/components/ui/document-checklist-template.tsx
15999
16251
  var import_react27 = require("react");
16000
- var import_lucide_react46 = require("lucide-react");
16252
+ var import_lucide_react47 = require("lucide-react");
16001
16253
  var import_jsx_runtime83 = require("react/jsx-runtime");
16002
16254
  var DOCUMENT_TYPES = [
16003
16255
  "Income Verification",
@@ -16096,7 +16348,7 @@ function DocumentChecklistTemplate({
16096
16348
  {
16097
16349
  className: cn("grid items-center gap-3 px-6 py-3", COLS),
16098
16350
  children: [
16099
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react46.GripVertical, { className: "size-4 shrink-0 text-muted-foreground/30" }),
16351
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react47.GripVertical, { className: "size-4 shrink-0 text-muted-foreground/30" }),
16100
16352
  cat.custom ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
16101
16353
  Input,
16102
16354
  {
@@ -16143,7 +16395,7 @@ function DocumentChecklistTemplate({
16143
16395
  size: "icon",
16144
16396
  className: "size-8 text-muted-foreground hover:text-destructive",
16145
16397
  onClick: () => handleDelete(cat.id),
16146
- children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react46.Trash2, { className: "size-4" })
16398
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react47.Trash2, { className: "size-4" })
16147
16399
  }
16148
16400
  )
16149
16401
  ]
@@ -16158,7 +16410,7 @@ function DocumentChecklistTemplate({
16158
16410
  className: "gap-1.5",
16159
16411
  onClick: handleAdd,
16160
16412
  children: [
16161
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react46.Plus, { className: "size-4" }),
16413
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react47.Plus, { className: "size-4" }),
16162
16414
  "Add Category"
16163
16415
  ]
16164
16416
  }
@@ -16494,7 +16746,7 @@ function ExpenseBarChart({
16494
16746
 
16495
16747
  // src/components/ui/financial-cards.tsx
16496
16748
  var React39 = __toESM(require("react"));
16497
- var import_lucide_react47 = require("lucide-react");
16749
+ var import_lucide_react48 = require("lucide-react");
16498
16750
 
16499
16751
  // src/components/ui/financial-primitives.tsx
16500
16752
  var import_jsx_runtime86 = require("react/jsx-runtime");
@@ -16677,7 +16929,7 @@ function PropertyCard({
16677
16929
  /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: "flex-1 min-w-0 truncate text-label-medium text-foreground", children: address }),
16678
16930
  type && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Badge, { className: "shrink-0", variant: "outline", children: type }),
16679
16931
  /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
16680
- import_lucide_react47.ChevronDown,
16932
+ import_lucide_react48.ChevronDown,
16681
16933
  {
16682
16934
  className: cn(
16683
16935
  "h-5 w-5 shrink-0 text-muted-foreground transition-transform duration-200",
@@ -17319,35 +17571,35 @@ function IncomeCard({
17319
17571
  );
17320
17572
  }
17321
17573
  var EXPENSE_ICON_MAP = {
17322
- groceries: import_lucide_react47.ShoppingCart,
17323
- "dining out": import_lucide_react47.UtensilsCrossed,
17324
- dining: import_lucide_react47.UtensilsCrossed,
17325
- restaurants: import_lucide_react47.UtensilsCrossed,
17326
- transport: import_lucide_react47.Car,
17327
- transportation: import_lucide_react47.Car,
17328
- vehicle: import_lucide_react47.Car,
17329
- utilities: import_lucide_react47.Zap,
17330
- electricity: import_lucide_react47.Zap,
17331
- insurance: import_lucide_react47.Shield,
17332
- "council rates": import_lucide_react47.Landmark,
17333
- council: import_lucide_react47.Landmark,
17334
- rates: import_lucide_react47.Landmark,
17335
- medical: import_lucide_react47.HeartPulse,
17336
- health: import_lucide_react47.HeartPulse,
17337
- subscriptions: import_lucide_react47.RefreshCw,
17338
- subscription: import_lucide_react47.RefreshCw,
17339
- "credit card": import_lucide_react47.CreditCard,
17340
- education: import_lucide_react47.GraduationCap,
17341
- childcare: import_lucide_react47.Baby,
17342
- entertainment: import_lucide_react47.Tv,
17343
- gym: import_lucide_react47.Dumbbell,
17344
- fitness: import_lucide_react47.Dumbbell,
17345
- clothing: import_lucide_react47.Shirt,
17346
- rent: import_lucide_react47.Building2
17574
+ groceries: import_lucide_react48.ShoppingCart,
17575
+ "dining out": import_lucide_react48.UtensilsCrossed,
17576
+ dining: import_lucide_react48.UtensilsCrossed,
17577
+ restaurants: import_lucide_react48.UtensilsCrossed,
17578
+ transport: import_lucide_react48.Car,
17579
+ transportation: import_lucide_react48.Car,
17580
+ vehicle: import_lucide_react48.Car,
17581
+ utilities: import_lucide_react48.Zap,
17582
+ electricity: import_lucide_react48.Zap,
17583
+ insurance: import_lucide_react48.Shield,
17584
+ "council rates": import_lucide_react48.Landmark,
17585
+ council: import_lucide_react48.Landmark,
17586
+ rates: import_lucide_react48.Landmark,
17587
+ medical: import_lucide_react48.HeartPulse,
17588
+ health: import_lucide_react48.HeartPulse,
17589
+ subscriptions: import_lucide_react48.RefreshCw,
17590
+ subscription: import_lucide_react48.RefreshCw,
17591
+ "credit card": import_lucide_react48.CreditCard,
17592
+ education: import_lucide_react48.GraduationCap,
17593
+ childcare: import_lucide_react48.Baby,
17594
+ entertainment: import_lucide_react48.Tv,
17595
+ gym: import_lucide_react48.Dumbbell,
17596
+ fitness: import_lucide_react48.Dumbbell,
17597
+ clothing: import_lucide_react48.Shirt,
17598
+ rent: import_lucide_react48.Building2
17347
17599
  };
17348
17600
  function getExpenseIcon(expenseType) {
17349
17601
  var _a;
17350
- return (_a = EXPENSE_ICON_MAP[expenseType.toLowerCase()]) != null ? _a : import_lucide_react47.Receipt;
17602
+ return (_a = EXPENSE_ICON_MAP[expenseType.toLowerCase()]) != null ? _a : import_lucide_react48.Receipt;
17351
17603
  }
17352
17604
  function ExpensesCard({
17353
17605
  items,
@@ -17398,7 +17650,7 @@ function ExpensesCard({
17398
17650
  }
17399
17651
 
17400
17652
  // src/components/ui/financial-drawers.tsx
17401
- var import_lucide_react48 = require("lucide-react");
17653
+ var import_lucide_react49 = require("lucide-react");
17402
17654
  var import_jsx_runtime88 = require("react/jsx-runtime");
17403
17655
  function SummaryReportDrawer({
17404
17656
  open,
@@ -17480,7 +17732,7 @@ function SummaryReportDrawer({
17480
17732
  size: "icon-sm",
17481
17733
  onClick: () => onOpenChange(false),
17482
17734
  "aria-label": "Close drawer",
17483
- children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_lucide_react48.X, { className: "h-4 w-4" })
17735
+ children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_lucide_react49.X, { className: "h-4 w-4" })
17484
17736
  }
17485
17737
  )
17486
17738
  ] }),
@@ -17557,7 +17809,7 @@ function OpportunityDetailsDrawer({
17557
17809
  size: "icon-sm",
17558
17810
  onClick: () => onOpenChange(false),
17559
17811
  "aria-label": "Close drawer",
17560
- children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_lucide_react48.X, { className: "h-4 w-4" })
17812
+ children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_lucide_react49.X, { className: "h-4 w-4" })
17561
17813
  }
17562
17814
  ) })
17563
17815
  ] }),
@@ -18133,7 +18385,7 @@ function IncomeBarChart({
18133
18385
  // src/components/ui/input-otp.tsx
18134
18386
  var React42 = __toESM(require("react"));
18135
18387
  var import_input_otp = require("input-otp");
18136
- var import_lucide_react49 = require("lucide-react");
18388
+ var import_lucide_react50 = require("lucide-react");
18137
18389
  var import_jsx_runtime91 = require("react/jsx-runtime");
18138
18390
  function InputOTP(_a) {
18139
18391
  var _b = _a, {
@@ -18199,11 +18451,11 @@ function InputOTPSlot(_a) {
18199
18451
  }
18200
18452
  function InputOTPSeparator(_a) {
18201
18453
  var props = __objRest(_a, []);
18202
- return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", __spreadProps(__spreadValues({ "data-slot": "input-otp-separator", role: "separator" }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react49.MinusIcon, {}) }));
18454
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", __spreadProps(__spreadValues({ "data-slot": "input-otp-separator", role: "separator" }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react50.MinusIcon, {}) }));
18203
18455
  }
18204
18456
 
18205
18457
  // src/components/ui/integration-card.tsx
18206
- var import_lucide_react50 = require("lucide-react");
18458
+ var import_lucide_react51 = require("lucide-react");
18207
18459
  var import_jsx_runtime92 = require("react/jsx-runtime");
18208
18460
  function IntegrationCard({
18209
18461
  name,
@@ -18237,7 +18489,7 @@ function IntegrationCard({
18237
18489
  ) : /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: "flex h-9 w-9 items-center justify-center", children: logoFallback }) }),
18238
18490
  /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: "text-label-medium", children: name }),
18239
18491
  connected && /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(Badge, { variant: "success", className: "gap-1", children: [
18240
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_lucide_react50.Check, { className: "h-3 w-3" }),
18492
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_lucide_react51.Check, { className: "h-3 w-3" }),
18241
18493
  "Connected"
18242
18494
  ] })
18243
18495
  ] }),
@@ -18276,11 +18528,11 @@ function SelectableCard({
18276
18528
 
18277
18529
  // src/components/ui/kanban-column.tsx
18278
18530
  var React43 = __toESM(require("react"));
18279
- var import_lucide_react52 = require("lucide-react");
18531
+ var import_lucide_react53 = require("lucide-react");
18280
18532
 
18281
18533
  // src/components/ui/opportunity-card.tsx
18282
18534
  var import_react31 = require("react");
18283
- var import_lucide_react51 = require("lucide-react");
18535
+ var import_lucide_react52 = require("lucide-react");
18284
18536
 
18285
18537
  // src/components/ui/pipeline-primitives.tsx
18286
18538
  var import_jsx_runtime94 = require("react/jsx-runtime");
@@ -18440,7 +18692,7 @@ function TaskViewCard({
18440
18692
  className: "flex items-center gap-1.5 text-sm font-semibold",
18441
18693
  style: { color: "var(--color-success-text)" },
18442
18694
  children: [
18443
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.Check, { className: "size-3.5 shrink-0" }),
18695
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.Check, { className: "size-3.5 shrink-0" }),
18444
18696
  "All tasks complete"
18445
18697
  ]
18446
18698
  }
@@ -18510,7 +18762,7 @@ function TaskViewCard({
18510
18762
  className: "flex w-full items-center justify-between text-xs text-muted-foreground hover:text-foreground",
18511
18763
  children: [
18512
18764
  /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("span", { className: "flex items-center gap-1", children: [
18513
- subtasksExpanded ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.ChevronDown, { className: "size-3" }) : /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.ChevronRight, { className: "size-3" }),
18765
+ subtasksExpanded ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.ChevronDown, { className: "size-3" }) : /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.ChevronRight, { className: "size-3" }),
18514
18766
  "Subtasks"
18515
18767
  ] }),
18516
18768
  /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("span", { children: [
@@ -18549,7 +18801,7 @@ function TaskViewCard({
18549
18801
  "size-7 shrink-0"
18550
18802
  ),
18551
18803
  "aria-label": "Opportunity actions",
18552
- children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.MoreVertical, { className: "size-4" })
18804
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.MoreVertical, { className: "size-4" })
18553
18805
  }
18554
18806
  ),
18555
18807
  /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(DropdownMenuContent, { align: "end", children: [
@@ -18696,7 +18948,7 @@ function OpportunityCard({
18696
18948
  className: "flex items-center gap-1.5 rounded border border-warning/30 bg-warning/10 px-2 py-1 text-xs font-medium",
18697
18949
  style: { color: "var(--color-warning-text)" },
18698
18950
  children: [
18699
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.Clock, { className: "size-3 shrink-0" }),
18951
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.Clock, { className: "size-3 shrink-0" }),
18700
18952
  "On hold until ",
18701
18953
  formatDateDayMonth(onHoldTo)
18702
18954
  ]
@@ -18724,7 +18976,7 @@ function OpportunityCard({
18724
18976
  "size-7 shrink-0"
18725
18977
  ),
18726
18978
  "aria-label": "Opportunity actions",
18727
- children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.MoreVertical, { className: "size-4" })
18979
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.MoreVertical, { className: "size-4" })
18728
18980
  }
18729
18981
  ),
18730
18982
  /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(DropdownMenuContent, { align: "end", children: [
@@ -18743,32 +18995,32 @@ function OpportunityCard({
18743
18995
  /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
18744
18996
  /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "truncate text-sm font-semibold text-foreground", children: customerName }),
18745
18997
  additionalContacts && additionalContacts > 0 ? /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(Badge, { variant: "secondary", className: "shrink-0 gap-1", children: [
18746
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.Users, { className: "size-3", "aria-hidden": "true" }),
18998
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.Users, { className: "size-3", "aria-hidden": "true" }),
18747
18999
  "Joint"
18748
19000
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(Badge, { variant: "secondary", className: "shrink-0 gap-1", children: [
18749
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.User, { className: "size-3", "aria-hidden": "true" }),
19001
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.User, { className: "size-3", "aria-hidden": "true" }),
18750
19002
  "Individual"
18751
19003
  ] })
18752
19004
  ] }),
18753
19005
  customerPhone && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
18754
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.Phone, { className: "size-3 shrink-0", "aria-hidden": "true" }),
19006
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.Phone, { className: "size-3 shrink-0", "aria-hidden": "true" }),
18755
19007
  customerPhone
18756
19008
  ] }),
18757
19009
  customerEmail && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
18758
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.Mail, { className: "size-3 shrink-0", "aria-hidden": "true" }),
19010
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.Mail, { className: "size-3 shrink-0", "aria-hidden": "true" }),
18759
19011
  /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "truncate", children: customerEmail })
18760
19012
  ] })
18761
19013
  ] }),
18762
19014
  /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Separator, {}),
18763
19015
  /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center justify-between", children: [
18764
19016
  /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
18765
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.Calendar, { className: "size-3 shrink-0", "aria-hidden": "true" }),
19017
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.Calendar, { className: "size-3 shrink-0", "aria-hidden": "true" }),
18766
19018
  formatDateShort(date)
18767
19019
  ] }),
18768
19020
  /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("span", { className: "flex items-center gap-1.5", children: [
18769
19021
  daysSinceColumnChanged !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_jsx_runtime95.Fragment, { children: [
18770
19022
  /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
18771
- import_lucide_react51.Clock,
19023
+ import_lucide_react52.Clock,
18772
19024
  {
18773
19025
  className: "size-3 shrink-0",
18774
19026
  style: { color: priorityTextColor },
@@ -18842,7 +19094,7 @@ function OpportunityCard({
18842
19094
  ] }) }),
18843
19095
  nextTask && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-start gap-1.5 border border-primary/30 bg-primary/5 px-2 py-1.5 text-xs", children: [
18844
19096
  /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
18845
- import_lucide_react51.ArrowRight,
19097
+ import_lucide_react52.ArrowRight,
18846
19098
  {
18847
19099
  className: "mt-0.5 size-3 shrink-0 text-primary",
18848
19100
  "aria-hidden": "true"
@@ -18884,6 +19136,45 @@ function OpportunityCard({
18884
19136
  }
18885
19137
  );
18886
19138
  }
19139
+ function normalizeUrl(url) {
19140
+ return `https://${url.replace(/^https?:\/\//, "")}`;
19141
+ }
19142
+ function LoanApplicationLink({ url }) {
19143
+ const [copied, setCopied] = (0, import_react31.useState)(false);
19144
+ const href = normalizeUrl(url);
19145
+ function handleCopy() {
19146
+ navigator.clipboard.writeText(href).then(() => {
19147
+ setCopied(true);
19148
+ setTimeout(() => setCopied(false), 2e3);
19149
+ });
19150
+ }
19151
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex flex-col gap-1", children: [
19152
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("p", { className: "text-caption text-muted-foreground", children: "Or the link below to fill out the loan application directly." }),
19153
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center gap-1.5", children: [
19154
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.Link2, { className: "size-4 shrink-0 text-muted-foreground" }),
19155
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
19156
+ "a",
19157
+ {
19158
+ href,
19159
+ target: "_blank",
19160
+ rel: "noreferrer",
19161
+ className: "min-w-0 flex-1 truncate text-body-small text-primary underline-offset-2 hover:underline",
19162
+ children: url
19163
+ }
19164
+ ),
19165
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
19166
+ "button",
19167
+ {
19168
+ type: "button",
19169
+ onClick: handleCopy,
19170
+ className: "shrink-0 rounded p-1 text-muted-foreground transition-colors hover:text-foreground",
19171
+ "aria-label": "Copy link",
19172
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.Check, { className: "size-4 text-success-text" }) : /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.Copy, { className: "size-4" })
19173
+ }
19174
+ )
19175
+ ] })
19176
+ ] });
19177
+ }
18887
19178
  function LeadCard({
18888
19179
  customerName,
18889
19180
  customerPhone,
@@ -18906,13 +19197,13 @@ function LeadCard({
18906
19197
  children: [
18907
19198
  /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-start justify-between gap-2", children: [
18908
19199
  /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
18909
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "text-sm font-semibold text-foreground", children: customerName }),
18910
- customerPhone && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
18911
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.Phone, { className: "size-3 shrink-0", "aria-hidden": "true" }),
19200
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "text-label-medium text-foreground", children: customerName }),
19201
+ customerPhone && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("span", { className: "flex items-center gap-1.5 text-caption text-muted-foreground", children: [
19202
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.Phone, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
18912
19203
  customerPhone
18913
19204
  ] }),
18914
- customerEmail && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
18915
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.Mail, { className: "size-3 shrink-0", "aria-hidden": "true" }),
19205
+ customerEmail && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("span", { className: "flex items-center gap-1.5 text-caption text-muted-foreground", children: [
19206
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.Mail, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
18916
19207
  /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "truncate", children: customerEmail })
18917
19208
  ] })
18918
19209
  ] }),
@@ -18925,7 +19216,7 @@ function LeadCard({
18925
19216
  "-mr-1 -mt-1 size-7 shrink-0"
18926
19217
  ),
18927
19218
  "aria-label": "Lead actions",
18928
- children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react51.MoreVertical, { className: "size-4" })
19219
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react52.MoreVertical, { className: "size-4" })
18929
19220
  }
18930
19221
  ),
18931
19222
  /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(DropdownMenuContent, { align: "end", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
@@ -18951,23 +19242,7 @@ function LeadCard({
18951
19242
  children: "Send Loan Application Request"
18952
19243
  }
18953
19244
  ),
18954
- loanApplicationUrl && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("p", { className: "text-xs text-muted-foreground", children: [
18955
- "Or the link below to fill out the loan application directly.",
18956
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("br", {}),
18957
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
18958
- "a",
18959
- {
18960
- href: `https://${loanApplicationUrl.replace(
18961
- /^https?:\/\//,
18962
- ""
18963
- )}`,
18964
- target: "_blank",
18965
- rel: "noreferrer",
18966
- className: "text-primary underline-offset-2 hover:underline",
18967
- children: loanApplicationUrl
18968
- }
18969
- )
18970
- ] })
19245
+ loanApplicationUrl && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(LoanApplicationLink, { url: loanApplicationUrl })
18971
19246
  ] })
18972
19247
  ]
18973
19248
  }
@@ -19060,7 +19335,7 @@ function KanbanColumn({
19060
19335
  "-mr-1 size-7 shrink-0"
19061
19336
  ),
19062
19337
  "aria-label": "Column actions",
19063
- children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react52.MoreVertical, { className: "size-4" })
19338
+ children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react53.MoreVertical, { className: "size-4" })
19064
19339
  }
19065
19340
  ),
19066
19341
  /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(DropdownMenuContent, { align: "end", children: [
@@ -19164,7 +19439,7 @@ function KanbanColumn({
19164
19439
 
19165
19440
  // src/components/ui/stepper.tsx
19166
19441
  var React44 = __toESM(require("react"));
19167
- var import_lucide_react53 = require("lucide-react");
19442
+ var import_lucide_react54 = require("lucide-react");
19168
19443
  var import_jsx_runtime97 = require("react/jsx-runtime");
19169
19444
  var StepperContext = React44.createContext({
19170
19445
  activeStep: 0,
@@ -19246,7 +19521,7 @@ function StepIndicator({ error, className }) {
19246
19521
  isCompleted && !error && "bg-primary text-primary-foreground",
19247
19522
  error && "border-2 border-destructive bg-destructive text-destructive-foreground"
19248
19523
  ),
19249
- children: isCompleted && !error ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react53.Check, { className: "size-4", strokeWidth: 2.5 }) : /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { children: index + 1 })
19524
+ children: isCompleted && !error ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react54.Check, { className: "size-4", strokeWidth: 2.5 }) : /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { children: index + 1 })
19250
19525
  }
19251
19526
  );
19252
19527
  if (orientation === "horizontal") {
@@ -19471,7 +19746,7 @@ function OnboardingLayout({
19471
19746
 
19472
19747
  // src/components/ui/opportunity-edit-modals.tsx
19473
19748
  var React45 = __toESM(require("react"));
19474
- var import_lucide_react54 = require("lucide-react");
19749
+ var import_lucide_react55 = require("lucide-react");
19475
19750
 
19476
19751
  // src/lib/opportunity-constants.ts
19477
19752
  var PROPERTY_ASSET_TYPES = /* @__PURE__ */ new Set([
@@ -19717,7 +19992,7 @@ function AccordionItemHeader({
19717
19992
  ),
19718
19993
  children: [
19719
19994
  label,
19720
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react54.ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 text-muted-foreground transition-transform duration-200" })
19995
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react55.ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 text-muted-foreground transition-transform duration-200" })
19721
19996
  ]
19722
19997
  }
19723
19998
  ),
@@ -19730,7 +20005,7 @@ function AccordionItemHeader({
19730
20005
  onClick: onRemove,
19731
20006
  className: "size-8 shrink-0",
19732
20007
  "aria-label": removeLabel,
19733
- children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react54.Trash2, { className: "size-3.5 text-destructive" })
20008
+ children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react55.Trash2, { className: "size-3.5 text-destructive" })
19734
20009
  }
19735
20010
  )
19736
20011
  ] });
@@ -20358,7 +20633,7 @@ function EditAssetsModal({
20358
20633
  onClick: addItem,
20359
20634
  className: "w-full gap-1.5",
20360
20635
  children: [
20361
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react54.Plus, { className: "h-4 w-4" }),
20636
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react55.Plus, { className: "h-4 w-4" }),
20362
20637
  "Add More"
20363
20638
  ]
20364
20639
  }
@@ -20685,7 +20960,7 @@ function EditDebtsModal({
20685
20960
  onClick: addItem,
20686
20961
  className: "w-full gap-1.5",
20687
20962
  children: [
20688
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react54.Plus, { className: "h-4 w-4" }),
20963
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react55.Plus, { className: "h-4 w-4" }),
20689
20964
  "Add More"
20690
20965
  ]
20691
20966
  }
@@ -21186,7 +21461,7 @@ function EditIncomeModal({
21186
21461
  onClick: addItem,
21187
21462
  className: "w-full gap-1.5",
21188
21463
  children: [
21189
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react54.Plus, { className: "h-4 w-4" }),
21464
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react55.Plus, { className: "h-4 w-4" }),
21190
21465
  "Add More"
21191
21466
  ]
21192
21467
  }
@@ -21336,7 +21611,7 @@ function EditExpensesModal({
21336
21611
  onClick: addItem,
21337
21612
  className: "w-full gap-1.5",
21338
21613
  children: [
21339
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react54.Plus, { className: "h-4 w-4" }),
21614
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react55.Plus, { className: "h-4 w-4" }),
21340
21615
  "Add More"
21341
21616
  ]
21342
21617
  }
@@ -21364,7 +21639,7 @@ function EditExpensesModal({
21364
21639
  // src/components/ui/opportunity-summary-tab.tsx
21365
21640
  var React46 = __toESM(require("react"));
21366
21641
  var import_react32 = require("react");
21367
- var import_lucide_react55 = require("lucide-react");
21642
+ var import_lucide_react56 = require("lucide-react");
21368
21643
  var import_jsx_runtime100 = require("react/jsx-runtime");
21369
21644
  function toMonthly(amount, freq) {
21370
21645
  return freq === "Monthly" ? amount : amount * 52 / 12;
@@ -21415,7 +21690,7 @@ function SectionEditButton({
21415
21690
  },
21416
21691
  "aria-label": title,
21417
21692
  title,
21418
- children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react55.Pencil, { className: "size-3.5" })
21693
+ children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react56.Pencil, { className: "size-3.5" })
21419
21694
  }
21420
21695
  );
21421
21696
  }
@@ -21451,7 +21726,7 @@ function HeroBand({
21451
21726
  href: `tel:${mainAbout.phone}`,
21452
21727
  className: "inline-flex size-7 items-center justify-center text-muted-foreground hover:text-foreground",
21453
21728
  title: `Call: ${mainAbout.phone}`,
21454
- children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react55.Phone, { className: "size-3.5" })
21729
+ children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react56.Phone, { className: "size-3.5" })
21455
21730
  }
21456
21731
  ),
21457
21732
  mainAbout.email && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
@@ -21460,7 +21735,7 @@ function HeroBand({
21460
21735
  href: `mailto:${mainAbout.email}`,
21461
21736
  className: "inline-flex size-7 items-center justify-center text-muted-foreground hover:text-foreground",
21462
21737
  title: `Email: ${mainAbout.email}`,
21463
- children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react55.Mail, { className: "size-3.5" })
21738
+ children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react56.Mail, { className: "size-3.5" })
21464
21739
  }
21465
21740
  )
21466
21741
  ] })
@@ -21599,19 +21874,19 @@ function ApplicantCardTab({
21599
21874
  var STATUS_OPTIONS = ["verified", "pending", "rejected"];
21600
21875
  var STATUS_CONFIG4 = {
21601
21876
  verified: {
21602
- Icon: import_lucide_react55.CheckCircle2,
21877
+ Icon: import_lucide_react56.CheckCircle2,
21603
21878
  label: "Verified",
21604
21879
  iconCls: "text-success",
21605
21880
  triggerCls: "border-success text-success"
21606
21881
  },
21607
21882
  pending: {
21608
- Icon: import_lucide_react55.AlertCircle,
21883
+ Icon: import_lucide_react56.AlertCircle,
21609
21884
  label: "Pending",
21610
21885
  iconCls: "text-warning",
21611
21886
  triggerCls: "border-warning text-warning"
21612
21887
  },
21613
21888
  rejected: {
21614
- Icon: import_lucide_react55.AlertCircle,
21889
+ Icon: import_lucide_react56.AlertCircle,
21615
21890
  label: "Rejected",
21616
21891
  iconCls: "text-destructive",
21617
21892
  triggerCls: "border-destructive text-destructive"
@@ -21641,7 +21916,7 @@ function DocRow({
21641
21916
  ),
21642
21917
  children: [
21643
21918
  /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("span", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Checkbox, { checked: isSelected, onCheckedChange: () => onRowClick() }) }),
21644
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react55.FileText, { className: "size-4 shrink-0 text-muted-foreground" }),
21919
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react56.FileText, { className: "size-4 shrink-0 text-muted-foreground" }),
21645
21920
  /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col", children: [
21646
21921
  doc.url ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
21647
21922
  "a",
@@ -21695,7 +21970,7 @@ function DocRow({
21695
21970
  download: true,
21696
21971
  onClick: (e) => e.stopPropagation(),
21697
21972
  className: "shrink-0 text-muted-foreground transition-colors hover:text-foreground",
21698
- children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react55.Download, { className: "size-4" })
21973
+ children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react56.Download, { className: "size-4" })
21699
21974
  }
21700
21975
  )
21701
21976
  ]
@@ -21981,7 +22256,7 @@ function OpportunitySummaryTab({
21981
22256
  onDocumentsDownload == null ? void 0 : onDocumentsDownload(selected);
21982
22257
  },
21983
22258
  children: [
21984
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react55.Download, { className: "size-3.5" }),
22259
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react56.Download, { className: "size-3.5" }),
21985
22260
  "Download (",
21986
22261
  selectedDocIds.size,
21987
22262
  ")"
@@ -22003,7 +22278,7 @@ function OpportunitySummaryTab({
22003
22278
  cat.hasVerified ? "text-success" : "text-warning"
22004
22279
  ),
22005
22280
  children: [
22006
- cat.hasVerified ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react55.CheckCircle2, { className: "size-3.5 shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react55.AlertCircle, { className: "size-3.5 shrink-0" }),
22281
+ cat.hasVerified ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react56.CheckCircle2, { className: "size-3.5 shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react56.AlertCircle, { className: "size-3.5 shrink-0" }),
22007
22282
  cat.name,
22008
22283
  /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("span", { className: "text-muted-foreground", children: [
22009
22284
  "(",
@@ -22244,7 +22519,7 @@ function OpportunitySummaryTab({
22244
22519
 
22245
22520
  // src/components/ui/sidebar-nav.tsx
22246
22521
  var React47 = __toESM(require("react"));
22247
- var import_lucide_react56 = require("lucide-react");
22522
+ var import_lucide_react57 = require("lucide-react");
22248
22523
  var import_accordion8 = require("@base-ui/react/accordion");
22249
22524
  var import_jsx_runtime101 = require("react/jsx-runtime");
22250
22525
  function navIconCn(isActive) {
@@ -22278,7 +22553,7 @@ function MetricsGroup({ group }) {
22278
22553
  }
22279
22554
  ),
22280
22555
  item.info && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
22281
- import_lucide_react56.Info,
22556
+ import_lucide_react57.Info,
22282
22557
  {
22283
22558
  size: 11,
22284
22559
  strokeWidth: 2,
@@ -22397,7 +22672,7 @@ function CollapsibleNavItem({
22397
22672
  ),
22398
22673
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { className: "flex-1 truncate text-left", children: item.title }),
22399
22674
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
22400
- import_lucide_react56.ChevronDown,
22675
+ import_lucide_react57.ChevronDown,
22401
22676
  {
22402
22677
  className: cn(
22403
22678
  "ml-auto shrink-0 text-brand-secondary-foreground/40 transition-transform duration-200",
@@ -22423,7 +22698,7 @@ function CollapsibleNavItem({
22423
22698
  ),
22424
22699
  children: [
22425
22700
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
22426
- import_lucide_react56.ChevronRight,
22701
+ import_lucide_react57.ChevronRight,
22427
22702
  {
22428
22703
  size: 11,
22429
22704
  strokeWidth: 2,
@@ -22532,7 +22807,7 @@ function SidebarNav({
22532
22807
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center font-semibold text-xs bg-primary text-primary-foreground", children: getInitials(userName) }),
22533
22808
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { className: "flex-1 truncate text-left font-medium text-brand-secondary-foreground", children: userName }),
22534
22809
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
22535
- import_lucide_react56.ChevronDown,
22810
+ import_lucide_react57.ChevronDown,
22536
22811
  {
22537
22812
  className: "ml-auto shrink-0 text-brand-secondary-foreground/50 transition-transform duration-200 group-data-[panel-open]:rotate-180",
22538
22813
  size: 16,
@@ -22554,7 +22829,7 @@ function SidebarNav({
22554
22829
  ),
22555
22830
  children: [
22556
22831
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
22557
- import_lucide_react56.LogOut,
22832
+ import_lucide_react57.LogOut,
22558
22833
  {
22559
22834
  size: 16,
22560
22835
  strokeWidth: 1.75,
@@ -22627,14 +22902,14 @@ function SidebarNav({
22627
22902
  ),
22628
22903
  children: [
22629
22904
  collapsed ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
22630
- import_lucide_react56.PanelLeftOpen,
22905
+ import_lucide_react57.PanelLeftOpen,
22631
22906
  {
22632
22907
  size: 24,
22633
22908
  strokeWidth: 1.75,
22634
22909
  className: "shrink-0"
22635
22910
  }
22636
22911
  ) : /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
22637
- import_lucide_react56.PanelLeftClose,
22912
+ import_lucide_react57.PanelLeftClose,
22638
22913
  {
22639
22914
  size: 24,
22640
22915
  strokeWidth: 1.75,
@@ -22688,7 +22963,7 @@ function PipelineAlerts({ counts, className }) {
22688
22963
  }
22689
22964
 
22690
22965
  // src/components/ui/pipeline-board.tsx
22691
- var import_lucide_react57 = require("lucide-react");
22966
+ var import_lucide_react58 = require("lucide-react");
22692
22967
  var import_jsx_runtime103 = require("react/jsx-runtime");
22693
22968
  function Toolbar({
22694
22969
  searchValue,
@@ -22700,7 +22975,7 @@ function Toolbar({
22700
22975
  }) {
22701
22976
  return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: "flex flex-wrap items-center gap-3 border-b border-border bg-background px-4 py-3", children: [
22702
22977
  /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: "relative w-56 shrink-0", children: [
22703
- /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react57.Search, { className: "absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground" }),
22978
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react58.Search, { className: "absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground" }),
22704
22979
  /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
22705
22980
  Input,
22706
22981
  {
@@ -22719,7 +22994,7 @@ function Toolbar({
22719
22994
  onClick: () => onSearchChange(""),
22720
22995
  className: "absolute right-2 top-1/2 size-6 -translate-y-1/2 text-muted-foreground hover:text-foreground",
22721
22996
  "aria-label": "Clear search",
22722
- children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react57.X, { className: "size-3.5" })
22997
+ children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react58.X, { className: "size-3.5" })
22723
22998
  }
22724
22999
  )
22725
23000
  ] }),
@@ -22748,7 +23023,7 @@ function Toolbar({
22748
23023
  onClick: onRefresh,
22749
23024
  className: "ml-auto text-muted-foreground hover:text-foreground",
22750
23025
  "aria-label": "Refresh board",
22751
- children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react57.RefreshCw, { className: "size-4" })
23026
+ children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react58.RefreshCw, { className: "size-4" })
22752
23027
  }
22753
23028
  )
22754
23029
  ] });
@@ -23707,7 +23982,7 @@ function PropertyMobileEstimateLineChart({
23707
23982
  }
23708
23983
 
23709
23984
  // src/components/ui/sonner.tsx
23710
- var import_lucide_react58 = require("lucide-react");
23985
+ var import_lucide_react59 = require("lucide-react");
23711
23986
  var import_sonner2 = require("sonner");
23712
23987
  var import_jsx_runtime111 = require("react/jsx-runtime");
23713
23988
  function Toaster(_a) {
@@ -23717,11 +23992,11 @@ function Toaster(_a) {
23717
23992
  __spreadValues({
23718
23993
  className: "toaster group",
23719
23994
  icons: {
23720
- success: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react58.CircleCheckIcon, { className: "size-4" }),
23721
- info: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react58.InfoIcon, { className: "size-4" }),
23722
- warning: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react58.TriangleAlertIcon, { className: "size-4" }),
23723
- error: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react58.OctagonXIcon, { className: "size-4" }),
23724
- loading: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react58.Loader2Icon, { className: "size-4 animate-spin" })
23995
+ success: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react59.CircleCheckIcon, { className: "size-4" }),
23996
+ info: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react59.InfoIcon, { className: "size-4" }),
23997
+ warning: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react59.TriangleAlertIcon, { className: "size-4" }),
23998
+ error: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react59.OctagonXIcon, { className: "size-4" }),
23999
+ loading: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react59.Loader2Icon, { className: "size-4 animate-spin" })
23725
24000
  },
23726
24001
  style: {
23727
24002
  "--normal-bg": "var(--popover)",
@@ -23740,7 +24015,7 @@ function Toaster(_a) {
23740
24015
  }
23741
24016
 
23742
24017
  // src/components/ui/stage-timeline.tsx
23743
- var import_lucide_react59 = require("lucide-react");
24018
+ var import_lucide_react60 = require("lucide-react");
23744
24019
  var import_jsx_runtime112 = require("react/jsx-runtime");
23745
24020
  function StageTimeline({
23746
24021
  stages,
@@ -23831,7 +24106,7 @@ function StageTimeline({
23831
24106
  className: "flex size-5 shrink-0 items-center justify-center rounded-full bg-primary",
23832
24107
  "aria-hidden": "true",
23833
24108
  children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
23834
- import_lucide_react59.Check,
24109
+ import_lucide_react60.Check,
23835
24110
  {
23836
24111
  className: "size-3 text-primary-foreground",
23837
24112
  strokeWidth: 2.5
@@ -24018,10 +24293,10 @@ function FrontendShell({
24018
24293
 
24019
24294
  // src/components/ui/signup-form-primitives.tsx
24020
24295
  var import_react36 = require("react");
24021
- var import_lucide_react61 = require("lucide-react");
24296
+ var import_lucide_react62 = require("lucide-react");
24022
24297
 
24023
24298
  // src/components/ui/password-strength-tooltip.tsx
24024
- var import_lucide_react60 = require("lucide-react");
24299
+ var import_lucide_react61 = require("lucide-react");
24025
24300
  var import_jsx_runtime116 = require("react/jsx-runtime");
24026
24301
  var RULES = [
24027
24302
  { label: "Minimum 8 characters", test: (p) => p.length >= 8 },
@@ -24056,7 +24331,7 @@ function PasswordStrengthTooltip({
24056
24331
  {
24057
24332
  className: `flex items-center gap-1.5 text-[13px] leading-[18px] ${valid ? "text-success" : "text-destructive"}`,
24058
24333
  children: [
24059
- valid ? /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(import_lucide_react60.Check, { size: 14, className: "shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(import_lucide_react60.X, { size: 14, className: "shrink-0" }),
24334
+ valid ? /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(import_lucide_react61.Check, { size: 14, className: "shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(import_lucide_react61.X, { size: 14, className: "shrink-0" }),
24060
24335
  /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("span", { children: rule.label })
24061
24336
  ]
24062
24337
  },
@@ -24135,7 +24410,7 @@ function PasswordField({
24135
24410
  "aria-label": show ? "Hide password" : "Show password",
24136
24411
  className: "absolute right-3 top-2.5 text-muted-foreground hover:text-foreground",
24137
24412
  onClick: () => setShow((s) => !s),
24138
- children: show ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_lucide_react61.EyeOffIcon, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_lucide_react61.EyeIcon, { className: "size-4" })
24413
+ children: show ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_lucide_react62.EyeOffIcon, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_lucide_react62.EyeIcon, { className: "size-4" })
24139
24414
  }
24140
24415
  )
24141
24416
  ] });
@@ -24192,7 +24467,7 @@ function StaffRowItem({
24192
24467
  size: "icon-sm",
24193
24468
  onClick: () => onRemove(member.id),
24194
24469
  "aria-label": "Remove staff member",
24195
- children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_lucide_react61.Trash2Icon, { className: "size-4" })
24470
+ children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_lucide_react62.Trash2Icon, { className: "size-4" })
24196
24471
  }
24197
24472
  )
24198
24473
  ] });
@@ -24200,7 +24475,7 @@ function StaffRowItem({
24200
24475
 
24201
24476
  // src/components/ui/backoffice-signup-steps.tsx
24202
24477
  var import_react37 = __toESM(require("react"));
24203
- var import_lucide_react62 = require("lucide-react");
24478
+ var import_lucide_react63 = require("lucide-react");
24204
24479
  var import_jsx_runtime118 = require("react/jsx-runtime");
24205
24480
  var BASE_PLAN_PRICE = 299;
24206
24481
  var ROLE_INFO = {
@@ -24507,7 +24782,7 @@ function InviteStaffView({
24507
24782
  m.id
24508
24783
  )),
24509
24784
  /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(Button, { variant: "outline", onClick: addStaff, className: "w-full", children: [
24510
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_lucide_react62.PlusIcon, { className: "size-4" }),
24785
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_lucide_react63.PlusIcon, { className: "size-4" }),
24511
24786
  "Add Staff"
24512
24787
  ] })
24513
24788
  ] })
@@ -24565,7 +24840,7 @@ function PaymentView({
24565
24840
  /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: "flex items-center gap-2", children: [
24566
24841
  /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: "text-base w-[60px]", children: role }),
24567
24842
  /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(Tooltip, { children: [
24568
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TooltipTrigger, { children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Button, { variant: "ghost", size: "icon-sm", "aria-label": "Info", children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_lucide_react62.InfoIcon, { className: "size-4" }) }) }),
24843
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TooltipTrigger, { children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Button, { variant: "ghost", size: "icon-sm", "aria-label": "Info", children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_lucide_react63.InfoIcon, { className: "size-4" }) }) }),
24569
24844
  /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TooltipContent, { side: "top", children: ROLE_INFO[role] })
24570
24845
  ] })
24571
24846
  ] }),
@@ -24641,15 +24916,15 @@ function BackofficeSuccessStep() {
24641
24916
  /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: "border border-border p-6 flex flex-col gap-4 text-left w-full max-w-[400px]", children: [
24642
24917
  /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("p", { className: "font-semibold text-base text-foreground", children: "Contact us anytime if you have any concerns." }),
24643
24918
  /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: "flex items-center gap-2.5", children: [
24644
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_lucide_react62.PhoneIcon, { className: "size-5 text-success shrink-0" }),
24919
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_lucide_react63.PhoneIcon, { className: "size-5 text-success shrink-0" }),
24645
24920
  /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: "text-base text-foreground", children: "0416 338 438" })
24646
24921
  ] }),
24647
24922
  /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: "flex items-center gap-2.5", children: [
24648
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_lucide_react62.CalendarIcon, { className: "size-5 text-success shrink-0" }),
24923
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_lucide_react63.CalendarIcon, { className: "size-5 text-success shrink-0" }),
24649
24924
  /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: "text-base text-foreground", children: "Book call back" })
24650
24925
  ] }),
24651
24926
  /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: "flex items-center gap-2.5", children: [
24652
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_lucide_react62.MailIcon, { className: "size-5 text-success shrink-0" }),
24927
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_lucide_react63.MailIcon, { className: "size-5 text-success shrink-0" }),
24653
24928
  /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: "text-base text-foreground", children: "clint@wealthx.au" })
24654
24929
  ] })
24655
24930
  ] })
@@ -24658,7 +24933,7 @@ function BackofficeSuccessStep() {
24658
24933
 
24659
24934
  // src/components/ui/frontend-signup-steps.tsx
24660
24935
  var import_react38 = require("react");
24661
- var import_lucide_react63 = require("lucide-react");
24936
+ var import_lucide_react64 = require("lucide-react");
24662
24937
  var import_jsx_runtime119 = require("react/jsx-runtime");
24663
24938
  var fmt = (v) => new Intl.NumberFormat("en-AU", {
24664
24939
  style: "currency",
@@ -24846,7 +25121,7 @@ function ConnectBankStep({ onConnect }) {
24846
25121
  {
24847
25122
  "aria-hidden": "true",
24848
25123
  className: "flex h-7 w-7 items-center justify-center bg-primary text-primary-foreground",
24849
- children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_lucide_react63.PlusIcon, { className: "size-4" })
25124
+ children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_lucide_react64.PlusIcon, { className: "size-4" })
24850
25125
  }
24851
25126
  )
24852
25127
  ] })
@@ -24926,7 +25201,7 @@ function ConnectPropertyStep({
24926
25201
  children: [
24927
25202
  /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)("div", { className: "flex items-center gap-3", children: [
24928
25203
  /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
24929
- import_lucide_react63.HomeIcon,
25204
+ import_lucide_react64.HomeIcon,
24930
25205
  {
24931
25206
  "aria-hidden": "true",
24932
25207
  className: "size-4 shrink-0 text-muted-foreground"
@@ -24942,7 +25217,7 @@ function ConnectPropertyStep({
24942
25217
  ] })
24943
25218
  ] }),
24944
25219
  /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
24945
- import_lucide_react63.CheckIcon,
25220
+ import_lucide_react64.CheckIcon,
24946
25221
  {
24947
25222
  "aria-hidden": "true",
24948
25223
  className: "size-4 text-success"
@@ -25055,7 +25330,7 @@ function FrontendSuccessStep({
25055
25330
  {
25056
25331
  "aria-hidden": "true",
25057
25332
  className: "flex size-16 items-center justify-center bg-success/10",
25058
- children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_lucide_react63.CheckIcon, { className: "size-8 text-success", strokeWidth: 2 })
25333
+ children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_lucide_react64.CheckIcon, { className: "size-8 text-success", strokeWidth: 2 })
25059
25334
  }
25060
25335
  ),
25061
25336
  /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)("div", { className: "flex flex-col gap-2", children: [
@@ -25072,7 +25347,7 @@ function FrontendSuccessStep({
25072
25347
 
25073
25348
  // src/components/ui/two-fa-setup-form.tsx
25074
25349
  var import_react39 = require("react");
25075
- var import_lucide_react64 = require("lucide-react");
25350
+ var import_lucide_react65 = require("lucide-react");
25076
25351
  var import_jsx_runtime120 = require("react/jsx-runtime");
25077
25352
  var DEFAULT_APPS = [
25078
25353
  { name: "Google Authenticator" },
@@ -25093,7 +25368,7 @@ function AppDownloadStep({
25093
25368
  className: "flex flex-1 flex-col items-center gap-3 border border-border bg-muted/30 p-4 text-center",
25094
25369
  children: [
25095
25370
  /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "flex items-center gap-2 text-sm font-medium text-foreground", children: [
25096
- (_a = app.icon) != null ? _a : /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react64.Smartphone, { size: 18, className: "text-muted-foreground" }),
25371
+ (_a = app.icon) != null ? _a : /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react65.Smartphone, { size: 18, className: "text-muted-foreground" }),
25097
25372
  app.name
25098
25373
  ] }),
25099
25374
  app.qrNode ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "flex items-center justify-center", children: app.qrNode }) : /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "flex h-[100px] w-[100px] items-center justify-center border border-dashed border-border bg-muted/50 text-[11px] text-muted-foreground", children: "Scan to download" })
@@ -26075,7 +26350,7 @@ function IncomeWorkDetails({
26075
26350
  }
26076
26351
 
26077
26352
  // src/components/ui/loan-application-badge.tsx
26078
- var import_lucide_react65 = require("lucide-react");
26353
+ var import_lucide_react66 = require("lucide-react");
26079
26354
  var import_jsx_runtime128 = require("react/jsx-runtime");
26080
26355
  var STATUS_CONFIG5 = {
26081
26356
  SENT: {
@@ -26105,7 +26380,7 @@ function LoanApplicationBadge({
26105
26380
  variant: "outline",
26106
26381
  className: cn("w-fit text-xs gap-1", statusClassName, className),
26107
26382
  children: [
26108
- showCheck && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_lucide_react65.CheckIcon, { "aria-hidden": "true", className: "size-3" }),
26383
+ showCheck && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_lucide_react66.CheckIcon, { "aria-hidden": "true", className: "size-3" }),
26109
26384
  label
26110
26385
  ]
26111
26386
  }
@@ -26276,7 +26551,7 @@ function ChevronRightIcon4({ className }) {
26276
26551
 
26277
26552
  // src/components/ui/resource-center.tsx
26278
26553
  var import_react43 = require("react");
26279
- var import_lucide_react66 = require("lucide-react");
26554
+ var import_lucide_react67 = require("lucide-react");
26280
26555
  var import_jsx_runtime131 = require("react/jsx-runtime");
26281
26556
  function ResourceModal({
26282
26557
  open,
@@ -26315,7 +26590,7 @@ function ResourceModal({
26315
26590
  download: true,
26316
26591
  className: "flex items-center gap-2 text-sm text-primary hover:underline",
26317
26592
  children: [
26318
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react66.Download, { className: "size-3.5 shrink-0" }),
26593
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react67.Download, { className: "size-3.5 shrink-0" }),
26319
26594
  attachment.name
26320
26595
  ]
26321
26596
  },
@@ -26345,8 +26620,8 @@ function ResourceVideoCard({ video }) {
26345
26620
  alt: video.title,
26346
26621
  className: "h-full w-full object-cover transition-transform duration-200 group-hover:scale-105"
26347
26622
  }
26348
- ) : /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex h-full w-full items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react66.Play, { className: "size-10 text-muted-foreground opacity-40" }) }),
26349
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-black/30 opacity-0 transition-opacity duration-200 group-hover:opacity-100", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex size-12 items-center justify-center bg-background/90", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react66.Play, { className: "size-5 text-foreground" }) }) }),
26623
+ ) : /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex h-full w-full items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react67.Play, { className: "size-10 text-muted-foreground opacity-40" }) }),
26624
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-black/30 opacity-0 transition-opacity duration-200 group-hover:opacity-100", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex size-12 items-center justify-center bg-background/90", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react67.Play, { className: "size-5 text-foreground" }) }) }),
26350
26625
  video.duration && /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "absolute bottom-2 right-2 bg-black/70 px-1.5 py-0.5 text-xs font-medium text-white", children: video.duration })
26351
26626
  ] }),
26352
26627
  /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { className: "text-sm font-medium text-foreground leading-snug line-clamp-2 group-hover:text-primary", children: video.title })
@@ -26449,7 +26724,7 @@ function ResourceDocumentCard({
26449
26724
  className: "h-full w-full object-cover"
26450
26725
  }
26451
26726
  ) : /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex h-full w-full flex-col items-center justify-center gap-2", children: [
26452
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex items-center justify-center bg-muted-foreground/10 p-4", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react66.Download, { className: "size-8 text-muted-foreground opacity-50" }) }),
26727
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex items-center justify-center bg-muted-foreground/10 p-4", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react67.Download, { className: "size-8 text-muted-foreground opacity-50" }) }),
26453
26728
  /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "text-xs text-muted-foreground", children: document2.title })
26454
26729
  ] }),
26455
26730
  /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "absolute inset-0 bg-foreground/40 opacity-0 transition-opacity duration-200 group-hover:opacity-100" })
@@ -26469,7 +26744,7 @@ function ResourceDocumentCard({
26469
26744
  onClick: (e) => e.stopPropagation(),
26470
26745
  className: "shrink-0",
26471
26746
  "aria-label": `Download ${document2.title}`,
26472
- children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Button, { variant: "outline", size: "icon", className: "size-8", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react66.Download, { className: "size-4" }) })
26747
+ children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Button, { variant: "outline", size: "icon", className: "size-8", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react67.Download, { className: "size-4" }) })
26473
26748
  }
26474
26749
  )
26475
26750
  ] })
@@ -26509,7 +26784,7 @@ function ResourceCarousel({
26509
26784
  "opacity-0 transition-opacity duration-200 group-hover:opacity-100",
26510
26785
  "hover:bg-muted focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
26511
26786
  ),
26512
- children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react66.ChevronLeft, { className: "size-4 text-foreground" })
26787
+ children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react67.ChevronLeft, { className: "size-4 text-foreground" })
26513
26788
  }
26514
26789
  ),
26515
26790
  /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
@@ -26534,7 +26809,7 @@ function ResourceCarousel({
26534
26809
  "opacity-0 transition-opacity duration-200 group-hover:opacity-100",
26535
26810
  "hover:bg-muted focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
26536
26811
  ),
26537
- children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react66.ChevronRight, { className: "size-4 text-foreground" })
26812
+ children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react67.ChevronRight, { className: "size-4 text-foreground" })
26538
26813
  }
26539
26814
  )
26540
26815
  ] })
@@ -26577,7 +26852,7 @@ function ResourceCenterHeader({
26577
26852
  className: "border-background text-background bg-transparent hover:bg-background/10 hover:text-background",
26578
26853
  onClick: () => setWatchModalOpen(true),
26579
26854
  children: [
26580
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react66.Play, { className: "mr-2 size-4" }),
26855
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react67.Play, { className: "mr-2 size-4" }),
26581
26856
  "Watch Now"
26582
26857
  ]
26583
26858
  }
@@ -26908,6 +27183,7 @@ function ResourceCenterHeader({
26908
27183
  SelectableCard,
26909
27184
  Separator,
26910
27185
  ServiceConfigurationModal,
27186
+ ShareContactDialog,
26911
27187
  ShareDetailsDialog,
26912
27188
  Sheet,
26913
27189
  SheetClose,