@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
@@ -195,7 +195,7 @@ Slot.displayName = "Slot";
195
195
  // src/components/ui/badge.tsx
196
196
  var import_jsx_runtime = require("react/jsx-runtime");
197
197
  var badgeVariants = (0, import_class_variance_authority.cva)(
198
- "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",
198
+ "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",
199
199
  {
200
200
  variants: {
201
201
  variant: {
@@ -1215,6 +1215,45 @@ function OpportunityCard({
1215
1215
  }
1216
1216
  );
1217
1217
  }
1218
+ function normalizeUrl(url) {
1219
+ return `https://${url.replace(/^https?:\/\//, "")}`;
1220
+ }
1221
+ function LoanApplicationLink({ url }) {
1222
+ const [copied, setCopied] = (0, import_react5.useState)(false);
1223
+ const href = normalizeUrl(url);
1224
+ function handleCopy() {
1225
+ navigator.clipboard.writeText(href).then(() => {
1226
+ setCopied(true);
1227
+ setTimeout(() => setCopied(false), 2e3);
1228
+ });
1229
+ }
1230
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col gap-1", children: [
1231
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "text-caption text-muted-foreground", children: "Or the link below to fill out the loan application directly." }),
1232
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-center gap-1.5", children: [
1233
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Link2, { className: "size-4 shrink-0 text-muted-foreground" }),
1234
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1235
+ "a",
1236
+ {
1237
+ href,
1238
+ target: "_blank",
1239
+ rel: "noreferrer",
1240
+ className: "min-w-0 flex-1 truncate text-body-small text-primary underline-offset-2 hover:underline",
1241
+ children: url
1242
+ }
1243
+ ),
1244
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1245
+ "button",
1246
+ {
1247
+ type: "button",
1248
+ onClick: handleCopy,
1249
+ className: "shrink-0 rounded p-1 text-muted-foreground transition-colors hover:text-foreground",
1250
+ "aria-label": "Copy link",
1251
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Check, { className: "size-4 text-success-text" }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Copy, { className: "size-4" })
1252
+ }
1253
+ )
1254
+ ] })
1255
+ ] });
1256
+ }
1218
1257
  function LeadCard({
1219
1258
  customerName,
1220
1259
  customerPhone,
@@ -1237,13 +1276,13 @@ function LeadCard({
1237
1276
  children: [
1238
1277
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-start justify-between gap-2", children: [
1239
1278
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
1240
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "text-sm font-semibold text-foreground", children: customerName }),
1241
- customerPhone && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1242
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Phone, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1279
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "text-label-medium text-foreground", children: customerName }),
1280
+ customerPhone && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex items-center gap-1.5 text-caption text-muted-foreground", children: [
1281
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Phone, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
1243
1282
  customerPhone
1244
1283
  ] }),
1245
- customerEmail && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1246
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Mail, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1284
+ customerEmail && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex items-center gap-1.5 text-caption text-muted-foreground", children: [
1285
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react5.Mail, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
1247
1286
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "truncate", children: customerEmail })
1248
1287
  ] })
1249
1288
  ] }),
@@ -1282,23 +1321,7 @@ function LeadCard({
1282
1321
  children: "Send Loan Application Request"
1283
1322
  }
1284
1323
  ),
1285
- loanApplicationUrl && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("p", { className: "text-xs text-muted-foreground", children: [
1286
- "Or the link below to fill out the loan application directly.",
1287
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("br", {}),
1288
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1289
- "a",
1290
- {
1291
- href: `https://${loanApplicationUrl.replace(
1292
- /^https?:\/\//,
1293
- ""
1294
- )}`,
1295
- target: "_blank",
1296
- rel: "noreferrer",
1297
- className: "text-primary underline-offset-2 hover:underline",
1298
- children: loanApplicationUrl
1299
- }
1300
- )
1301
- ] })
1324
+ loanApplicationUrl && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(LoanApplicationLink, { url: loanApplicationUrl })
1302
1325
  ] })
1303
1326
  ]
1304
1327
  }
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  LeadCard,
3
3
  OpportunityCard
4
- } from "../../chunk-54MTIKNC.mjs";
5
- import "../../chunk-2WCIORP7.mjs";
4
+ } from "../../chunk-YV7XF32X.mjs";
5
+ import "../../chunk-EXI64H46.mjs";
6
6
  import "../../chunk-JPGL36WQ.mjs";
7
7
  import "../../chunk-IKXYTCSB.mjs";
8
8
  import "../../chunk-PNSYFE3K.mjs";
9
9
  import "../../chunk-H5DTKPJ2.mjs";
10
10
  import "../../chunk-2GIYVERS.mjs";
11
- import "../../chunk-WL6WVV47.mjs";
11
+ import "../../chunk-X6RC5UWB.mjs";
12
12
  import "../../chunk-LHWJQNLG.mjs";
13
13
  import "../../chunk-XYSRRDBH.mjs";
14
14
  import "../../chunk-FRCTOAKZ.mjs";
@@ -158,7 +158,7 @@ Slot.displayName = "Slot";
158
158
  // src/components/ui/badge.tsx
159
159
  var import_jsx_runtime = require("react/jsx-runtime");
160
160
  var badgeVariants = (0, import_class_variance_authority.cva)(
161
- "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",
161
+ "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",
162
162
  {
163
163
  variants: {
164
164
  variant: {
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  OpportunitySummaryTab
3
- } from "../../chunk-6U4NQGVM.mjs";
3
+ } from "../../chunk-4X4MGYHE.mjs";
4
4
  import "../../chunk-6MDNL5I2.mjs";
5
- import "../../chunk-W5QJ57PU.mjs";
5
+ import "../../chunk-7LN5OGC2.mjs";
6
6
  import "../../chunk-DQB4EPIS.mjs";
7
7
  import "../../chunk-JTK6VJXY.mjs";
8
8
  import "../../chunk-MXP2RX2V.mjs";
@@ -12,7 +12,7 @@ import "../../chunk-USOVLDGS.mjs";
12
12
  import "../../chunk-WE4YKBDE.mjs";
13
13
  import "../../chunk-BS75ICOO.mjs";
14
14
  import "../../chunk-LI2CTS5O.mjs";
15
- import "../../chunk-WL6WVV47.mjs";
15
+ import "../../chunk-X6RC5UWB.mjs";
16
16
  import "../../chunk-TRM3KIHT.mjs";
17
17
  import "../../chunk-HB5BKRMH.mjs";
18
18
  import "../../chunk-FBNEIYSE.mjs";
@@ -388,7 +388,7 @@ function formatCurrency(value, options) {
388
388
  var import_class_variance_authority3 = require("class-variance-authority");
389
389
  var import_jsx_runtime6 = require("react/jsx-runtime");
390
390
  var badgeVariants = (0, import_class_variance_authority3.cva)(
391
- "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",
391
+ "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",
392
392
  {
393
393
  variants: {
394
394
  variant: {
@@ -1375,6 +1375,45 @@ function OpportunityCard({
1375
1375
  }
1376
1376
  );
1377
1377
  }
1378
+ function normalizeUrl(url) {
1379
+ return `https://${url.replace(/^https?:\/\//, "")}`;
1380
+ }
1381
+ function LoanApplicationLink({ url }) {
1382
+ const [copied, setCopied] = (0, import_react5.useState)(false);
1383
+ const href = normalizeUrl(url);
1384
+ function handleCopy() {
1385
+ navigator.clipboard.writeText(href).then(() => {
1386
+ setCopied(true);
1387
+ setTimeout(() => setCopied(false), 2e3);
1388
+ });
1389
+ }
1390
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col gap-1", children: [
1391
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-caption text-muted-foreground", children: "Or the link below to fill out the loan application directly." }),
1392
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center gap-1.5", children: [
1393
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react6.Link2, { className: "size-4 shrink-0 text-muted-foreground" }),
1394
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1395
+ "a",
1396
+ {
1397
+ href,
1398
+ target: "_blank",
1399
+ rel: "noreferrer",
1400
+ className: "min-w-0 flex-1 truncate text-body-small text-primary underline-offset-2 hover:underline",
1401
+ children: url
1402
+ }
1403
+ ),
1404
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1405
+ "button",
1406
+ {
1407
+ type: "button",
1408
+ onClick: handleCopy,
1409
+ className: "shrink-0 rounded p-1 text-muted-foreground transition-colors hover:text-foreground",
1410
+ "aria-label": "Copy link",
1411
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react6.Check, { className: "size-4 text-success-text" }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react6.Copy, { className: "size-4" })
1412
+ }
1413
+ )
1414
+ ] })
1415
+ ] });
1416
+ }
1378
1417
  function LeadCard({
1379
1418
  customerName,
1380
1419
  customerPhone,
@@ -1397,13 +1436,13 @@ function LeadCard({
1397
1436
  children: [
1398
1437
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-start justify-between gap-2", children: [
1399
1438
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
1400
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "text-sm font-semibold text-foreground", children: customerName }),
1401
- customerPhone && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1402
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react6.Phone, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1439
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "text-label-medium text-foreground", children: customerName }),
1440
+ customerPhone && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "flex items-center gap-1.5 text-caption text-muted-foreground", children: [
1441
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react6.Phone, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
1403
1442
  customerPhone
1404
1443
  ] }),
1405
- customerEmail && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1406
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react6.Mail, { className: "size-3 shrink-0", "aria-hidden": "true" }),
1444
+ customerEmail && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "flex items-center gap-1.5 text-caption text-muted-foreground", children: [
1445
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react6.Mail, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
1407
1446
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "truncate", children: customerEmail })
1408
1447
  ] })
1409
1448
  ] }),
@@ -1442,23 +1481,7 @@ function LeadCard({
1442
1481
  children: "Send Loan Application Request"
1443
1482
  }
1444
1483
  ),
1445
- loanApplicationUrl && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("p", { className: "text-xs text-muted-foreground", children: [
1446
- "Or the link below to fill out the loan application directly.",
1447
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("br", {}),
1448
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1449
- "a",
1450
- {
1451
- href: `https://${loanApplicationUrl.replace(
1452
- /^https?:\/\//,
1453
- ""
1454
- )}`,
1455
- target: "_blank",
1456
- rel: "noreferrer",
1457
- className: "text-primary underline-offset-2 hover:underline",
1458
- children: loanApplicationUrl
1459
- }
1460
- )
1461
- ] })
1484
+ loanApplicationUrl && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(LoanApplicationLink, { url: loanApplicationUrl })
1462
1485
  ] })
1463
1486
  ]
1464
1487
  }
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  PipelineBoard
3
- } from "../../chunk-E5EDZQ5J.mjs";
4
- import "../../chunk-3CGM3QXQ.mjs";
5
- import "../../chunk-54MTIKNC.mjs";
6
- import "../../chunk-2WCIORP7.mjs";
3
+ } from "../../chunk-ZA44WICP.mjs";
4
+ import "../../chunk-AKWN5ZQG.mjs";
5
+ import "../../chunk-YV7XF32X.mjs";
6
+ import "../../chunk-EXI64H46.mjs";
7
7
  import "../../chunk-JPGL36WQ.mjs";
8
8
  import "../../chunk-IKXYTCSB.mjs";
9
9
  import "../../chunk-JVMXMFBB.mjs";
10
10
  import "../../chunk-PNSYFE3K.mjs";
11
11
  import "../../chunk-H5DTKPJ2.mjs";
12
12
  import "../../chunk-2GIYVERS.mjs";
13
- import "../../chunk-WL6WVV47.mjs";
13
+ import "../../chunk-X6RC5UWB.mjs";
14
14
  import "../../chunk-LHWJQNLG.mjs";
15
15
  import "../../chunk-OWFQSXVD.mjs";
16
16
  import "../../chunk-6QAFGZC2.mjs";
@@ -155,7 +155,7 @@ Slot.displayName = "Slot";
155
155
  // src/components/ui/badge.tsx
156
156
  var import_jsx_runtime = require("react/jsx-runtime");
157
157
  var badgeVariants = (0, import_class_variance_authority.cva)(
158
- "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",
158
+ "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",
159
159
  {
160
160
  variants: {
161
161
  variant: {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  TaskCheckItem
3
- } from "../../chunk-2WCIORP7.mjs";
3
+ } from "../../chunk-EXI64H46.mjs";
4
4
  import "../../chunk-IKXYTCSB.mjs";
5
5
  import "../../chunk-PNSYFE3K.mjs";
6
- import "../../chunk-WL6WVV47.mjs";
6
+ import "../../chunk-X6RC5UWB.mjs";
7
7
  import "../../chunk-R4HCRDU5.mjs";
8
8
  import "../../chunk-AFML43VJ.mjs";
9
9
  import "../../chunk-WNQUEZJF.mjs";
@@ -156,7 +156,7 @@ Slot.displayName = "Slot";
156
156
  // src/components/ui/badge.tsx
157
157
  var import_jsx_runtime = require("react/jsx-runtime");
158
158
  var badgeVariants = (0, import_class_variance_authority.cva)(
159
- "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",
159
+ "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",
160
160
  {
161
161
  variants: {
162
162
  variant: {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Badge
3
- } from "../../chunk-WL6WVV47.mjs";
3
+ } from "../../chunk-X6RC5UWB.mjs";
4
4
  import {
5
5
  Accordion,
6
6
  AccordionContent,
@@ -162,7 +162,7 @@ Slot.displayName = "Slot";
162
162
  // src/components/ui/badge.tsx
163
163
  var import_jsx_runtime = require("react/jsx-runtime");
164
164
  var badgeVariants = (0, import_class_variance_authority.cva)(
165
- "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",
165
+ "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",
166
166
  {
167
167
  variants: {
168
168
  variant: {
@@ -5,9 +5,9 @@ import {
5
5
  ResourceEmailTemplateCard,
6
6
  ResourceModal,
7
7
  ResourceVideoCard
8
- } from "../../chunk-VWZS32ZQ.mjs";
8
+ } from "../../chunk-XYWEGBAA.mjs";
9
9
  import "../../chunk-LI2CTS5O.mjs";
10
- import "../../chunk-WL6WVV47.mjs";
10
+ import "../../chunk-X6RC5UWB.mjs";
11
11
  import "../../chunk-XYSRRDBH.mjs";
12
12
  import "../../chunk-FRCTOAKZ.mjs";
13
13
  import "../../chunk-NOOEKOWY.mjs";