@wealthx/shadcn 1.5.10 → 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.
- package/.turbo/turbo-build.log +126 -126
- package/CHANGELOG.md +6 -0
- package/dist/{chunk-AANINK2B.mjs → chunk-2KNQZG5S.mjs} +1 -1
- package/dist/chunk-3KLJ4XRE.mjs +375 -0
- package/dist/{chunk-6U4NQGVM.mjs → chunk-4X4MGYHE.mjs} +2 -2
- package/dist/{chunk-CEEVYRQA.mjs → chunk-67DGIPQ4.mjs} +1 -1
- package/dist/{chunk-7UIL5UN3.mjs → chunk-7II6QRCZ.mjs} +1 -1
- package/dist/{chunk-W5QJ57PU.mjs → chunk-7LN5OGC2.mjs} +1 -1
- package/dist/{chunk-ZXEUBBHJ.mjs → chunk-7TMPOZDE.mjs} +1 -1
- package/dist/{chunk-AHSCWXYJ.mjs → chunk-AJUAJC5O.mjs} +1 -1
- package/dist/{chunk-3CGM3QXQ.mjs → chunk-AKWN5ZQG.mjs} +2 -2
- package/dist/{chunk-FRT3S72S.mjs → chunk-CQ7HKBEX.mjs} +1 -1
- package/dist/{chunk-E2BNCA6L.mjs → chunk-EHQL64B7.mjs} +1 -1
- package/dist/{chunk-2WCIORP7.mjs → chunk-EXI64H46.mjs} +1 -1
- package/dist/{chunk-BBXSNDS3.mjs → chunk-FQYFPHDO.mjs} +1 -1
- package/dist/{chunk-3VZ6CYY2.mjs → chunk-GAXNO4JB.mjs} +1 -1
- package/dist/{chunk-3WGFIFP6.mjs → chunk-I4P7RXAE.mjs} +1 -1
- package/dist/{chunk-Z2BW5T7P.mjs → chunk-IODGRCQG.mjs} +1 -1
- package/dist/{chunk-GS47ZSSA.mjs → chunk-J7KQON2N.mjs} +20 -5
- package/dist/{chunk-IQGKOT7A.mjs → chunk-K35TFQUB.mjs} +1 -1
- package/dist/{chunk-4DO3WM7V.mjs → chunk-K4VWSDJJ.mjs} +1 -1
- package/dist/{chunk-KWD6GANL.mjs → chunk-MPA2HV5U.mjs} +1 -1
- package/dist/{chunk-5LZZYODG.mjs → chunk-QHAMVWDG.mjs} +19 -1
- package/dist/{chunk-XUCDPAVI.mjs → chunk-R6U246E4.mjs} +2 -2
- package/dist/{chunk-VCDGLN25.mjs → chunk-S6AYZJYO.mjs} +47 -21
- package/dist/{chunk-WL6WVV47.mjs → chunk-X6RC5UWB.mjs} +1 -1
- package/dist/{chunk-4BHDDLWK.mjs → chunk-XAS6KBIG.mjs} +2 -2
- package/dist/{chunk-VWZS32ZQ.mjs → chunk-XYWEGBAA.mjs} +1 -1
- package/dist/{chunk-54MTIKNC.mjs → chunk-YV7XF32X.mjs} +49 -24
- package/dist/{chunk-E5EDZQ5J.mjs → chunk-ZA44WICP.mjs} +1 -1
- package/dist/{chunk-54TRNCID.mjs → chunk-ZMTCMP2G.mjs} +8 -8
- package/dist/components/ui/advisor-card.js +144 -55
- package/dist/components/ui/advisor-card.mjs +5 -2
- package/dist/components/ui/agent-evaluation-toast.js +1 -1
- package/dist/components/ui/agent-evaluation-toast.mjs +2 -2
- package/dist/components/ui/ai-assistant-drawer.js +1 -1
- package/dist/components/ui/ai-assistant-drawer.mjs +2 -2
- package/dist/components/ui/ai-builder.js +1 -1
- package/dist/components/ui/ai-builder.mjs +2 -2
- package/dist/components/ui/ai-conversations.js +1 -1
- package/dist/components/ui/ai-conversations.mjs +3 -3
- package/dist/components/ui/appointment-action-dialogs.js +1 -1
- package/dist/components/ui/appointment-action-dialogs.mjs +3 -3
- package/dist/components/ui/appointment-book-dialog.js +19 -4
- package/dist/components/ui/appointment-book-dialog.mjs +3 -3
- package/dist/components/ui/appointment-calendar-view.js +1 -1
- package/dist/components/ui/appointment-calendar-view.mjs +2 -2
- package/dist/components/ui/appointment-detail-sheet.js +1 -1
- package/dist/components/ui/appointment-detail-sheet.mjs +4 -4
- package/dist/components/ui/appointment-gmail-connect.js +1 -1
- package/dist/components/ui/appointment-gmail-connect.mjs +2 -2
- package/dist/components/ui/appointment-time-slot-picker.js +1 -1
- package/dist/components/ui/appointment-time-slot-picker.mjs +2 -2
- package/dist/components/ui/appointment-upcoming-card.js +1 -1
- package/dist/components/ui/appointment-upcoming-card.mjs +3 -3
- package/dist/components/ui/badge.js +1 -1
- package/dist/components/ui/badge.mjs +1 -1
- package/dist/components/ui/chat-widget-primitives.js +1 -1
- package/dist/components/ui/chat-widget-primitives.mjs +2 -2
- package/dist/components/ui/chat-widget.js +1 -1
- package/dist/components/ui/chat-widget.mjs +3 -3
- package/dist/components/ui/chip.js +1 -1
- package/dist/components/ui/chip.mjs +2 -2
- package/dist/components/ui/contact-alert-dialog/index.js +19 -1
- package/dist/components/ui/contact-alert-dialog/index.mjs +1 -1
- package/dist/components/ui/dashboard-transactions-table.js +1 -1
- package/dist/components/ui/dashboard-transactions-table.mjs +2 -2
- package/dist/components/ui/financial-cards.js +1 -1
- package/dist/components/ui/financial-cards.mjs +2 -2
- package/dist/components/ui/financial-sections.js +1 -1
- package/dist/components/ui/financial-sections.mjs +3 -3
- package/dist/components/ui/income-summary-component.js +1 -1
- package/dist/components/ui/income-summary-component.mjs +1 -1
- package/dist/components/ui/integration-card.js +1 -1
- package/dist/components/ui/integration-card.mjs +2 -2
- package/dist/components/ui/kanban-column.js +46 -23
- package/dist/components/ui/kanban-column.mjs +4 -4
- package/dist/components/ui/loan-applicant-information.js +1 -1
- package/dist/components/ui/loan-applicant-information.mjs +1 -1
- package/dist/components/ui/loan-application-badge.js +1 -1
- package/dist/components/ui/loan-application-badge.mjs +2 -2
- package/dist/components/ui/opportunity-card.js +46 -23
- package/dist/components/ui/opportunity-card.mjs +3 -3
- package/dist/components/ui/opportunity-summary-tab.js +1 -1
- package/dist/components/ui/opportunity-summary-tab.mjs +3 -3
- package/dist/components/ui/pipeline-board.js +46 -23
- package/dist/components/ui/pipeline-board.mjs +5 -5
- package/dist/components/ui/pipeline-primitives.js +1 -1
- package/dist/components/ui/pipeline-primitives.mjs +2 -2
- package/dist/components/ui/property-asset-card.js +1 -1
- package/dist/components/ui/property-asset-card.mjs +1 -1
- package/dist/components/ui/resource-center.js +1 -1
- package/dist/components/ui/resource-center.mjs +2 -2
- package/dist/components/ui/share-details-dialog.js +326 -30
- package/dist/components/ui/share-details-dialog.mjs +4 -1
- package/dist/components/ui/stage-timeline.js +1 -1
- package/dist/components/ui/stage-timeline.mjs +3 -3
- package/dist/index.js +457 -188
- package/dist/index.mjs +44 -42
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/src/components/index.tsx +4 -0
- package/src/components/ui/advisor-card.tsx +75 -25
- package/src/components/ui/appointment-book-dialog.tsx +26 -3
- package/src/components/ui/appointment-time-slot-picker.tsx +1 -0
- package/src/components/ui/badge.tsx +1 -1
- package/src/components/ui/contact-alert-dialog/contact-alert-dialog.tsx +19 -1
- package/src/components/ui/opportunity-card.tsx +56 -20
- package/src/components/ui/share-details-dialog.tsx +251 -0
- package/src/styles/styles-css.ts +1 -1
- package/dist/chunk-OZ2R6ERP.mjs +0 -174
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DropdownMenu,
|
|
3
|
+
DropdownMenuContent,
|
|
4
|
+
DropdownMenuItem,
|
|
5
|
+
DropdownMenuTrigger
|
|
6
|
+
} from "./chunk-H5DTKPJ2.mjs";
|
|
1
7
|
import {
|
|
2
8
|
Separator
|
|
3
9
|
} from "./chunk-2GIYVERS.mjs";
|
|
@@ -8,7 +14,7 @@ import {
|
|
|
8
14
|
} from "./chunk-H6NQTIF4.mjs";
|
|
9
15
|
import {
|
|
10
16
|
Badge
|
|
11
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-X6RC5UWB.mjs";
|
|
12
18
|
import {
|
|
13
19
|
Button
|
|
14
20
|
} from "./chunk-NOOEKOWY.mjs";
|
|
@@ -54,6 +60,7 @@ function AdvisorCard({
|
|
|
54
60
|
isPrimary = false,
|
|
55
61
|
appointments,
|
|
56
62
|
onRefer,
|
|
63
|
+
menuItems,
|
|
57
64
|
onMoreOptions,
|
|
58
65
|
onBookAppointment,
|
|
59
66
|
onViewAppointment
|
|
@@ -64,17 +71,17 @@ function AdvisorCard({
|
|
|
64
71
|
/* @__PURE__ */ jsxs("div", { className: "flex items-start gap-4 p-4", children: [
|
|
65
72
|
/* @__PURE__ */ jsxs(Avatar, { className: "h-10 w-10 shrink-0", children: [
|
|
66
73
|
companyLogoUrl && /* @__PURE__ */ jsx(AvatarImage, { src: companyLogoUrl, alt: `${name} company logo` }),
|
|
67
|
-
/* @__PURE__ */ jsx(AvatarFallback, { className: "text-
|
|
74
|
+
/* @__PURE__ */ 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() })
|
|
68
75
|
] }),
|
|
69
76
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
|
|
70
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
71
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
77
|
+
/* @__PURE__ */ jsx("p", { className: "text-label-large leading-tight", children: name }),
|
|
78
|
+
/* @__PURE__ */ jsx("p", { className: "text-body-small text-muted-foreground", children: role }),
|
|
72
79
|
/* @__PURE__ */ jsxs("div", { className: "mt-2 flex flex-col gap-1", children: [
|
|
73
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-
|
|
80
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-body-small text-muted-foreground", children: [
|
|
74
81
|
/* @__PURE__ */ jsx(Phone, { className: "h-4 w-4 shrink-0" }),
|
|
75
82
|
/* @__PURE__ */ jsx("span", { children: phone })
|
|
76
83
|
] }),
|
|
77
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-
|
|
84
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-body-small text-muted-foreground", children: [
|
|
78
85
|
/* @__PURE__ */ jsx(Mail, { className: "h-4 w-4 shrink-0" }),
|
|
79
86
|
/* @__PURE__ */ jsx("span", { children: email })
|
|
80
87
|
] })
|
|
@@ -82,7 +89,33 @@ function AdvisorCard({
|
|
|
82
89
|
] }),
|
|
83
90
|
/* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-1.5", children: [
|
|
84
91
|
isPrimary && /* @__PURE__ */ jsx(Badge, { variant: "success", children: "Primary" }),
|
|
85
|
-
/* @__PURE__ */
|
|
92
|
+
menuItems && menuItems.length > 0 ? /* @__PURE__ */ jsxs(DropdownMenu, { children: [
|
|
93
|
+
/* @__PURE__ */ jsx(
|
|
94
|
+
DropdownMenuTrigger,
|
|
95
|
+
{
|
|
96
|
+
render: /* @__PURE__ */ jsx(
|
|
97
|
+
Button,
|
|
98
|
+
{
|
|
99
|
+
variant: "ghost",
|
|
100
|
+
size: "icon",
|
|
101
|
+
className: "h-7 w-7",
|
|
102
|
+
"aria-label": "More options"
|
|
103
|
+
}
|
|
104
|
+
),
|
|
105
|
+
children: /* @__PURE__ */ jsx(MoreVertical, { className: "h-4 w-4" })
|
|
106
|
+
}
|
|
107
|
+
),
|
|
108
|
+
/* @__PURE__ */ jsx(DropdownMenuContent, { align: "end", children: menuItems.map((item, i) => /* @__PURE__ */ jsx(
|
|
109
|
+
DropdownMenuItem,
|
|
110
|
+
{
|
|
111
|
+
variant: item.variant,
|
|
112
|
+
disabled: item.disabled,
|
|
113
|
+
onClick: item.onClick,
|
|
114
|
+
children: item.label
|
|
115
|
+
},
|
|
116
|
+
i
|
|
117
|
+
)) })
|
|
118
|
+
] }) : /* @__PURE__ */ jsx(
|
|
86
119
|
Button,
|
|
87
120
|
{
|
|
88
121
|
variant: "ghost",
|
|
@@ -107,17 +140,10 @@ function AdvisorCard({
|
|
|
107
140
|
/* @__PURE__ */ jsx(CalendarCheck, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
108
141
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
|
|
109
142
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
110
|
-
/* @__PURE__ */ jsx(
|
|
111
|
-
|
|
112
|
-
{
|
|
113
|
-
variant: STATUS_VARIANT[appt.status],
|
|
114
|
-
className: "text-[10px]",
|
|
115
|
-
children: STATUS_LABEL[appt.status]
|
|
116
|
-
}
|
|
117
|
-
),
|
|
118
|
-
appt.appointmentType && /* @__PURE__ */ jsx("span", { className: "truncate text-sm font-semibold", children: appt.appointmentType })
|
|
143
|
+
/* @__PURE__ */ jsx(Badge, { variant: STATUS_VARIANT[appt.status], children: STATUS_LABEL[appt.status] }),
|
|
144
|
+
appt.appointmentType && /* @__PURE__ */ jsx("span", { className: "truncate text-h6", children: appt.appointmentType })
|
|
119
145
|
] }),
|
|
120
|
-
/* @__PURE__ */ jsxs("p", { className: "whitespace-nowrap text-
|
|
146
|
+
/* @__PURE__ */ jsxs("p", { className: "whitespace-nowrap text-body-small text-muted-foreground", children: [
|
|
121
147
|
appt.date,
|
|
122
148
|
" \xB7 ",
|
|
123
149
|
appt.timeStart,
|
|
@@ -145,7 +171,7 @@ function AdvisorCard({
|
|
|
145
171
|
/* Empty state */
|
|
146
172
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 px-4 py-3", children: [
|
|
147
173
|
/* @__PURE__ */ jsx(Calendar, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
148
|
-
/* @__PURE__ */ jsx("p", { className: "flex-1 text-
|
|
174
|
+
/* @__PURE__ */ jsx("p", { className: "flex-1 text-caption text-muted-foreground", children: "No upcoming appointments" })
|
|
149
175
|
] })
|
|
150
176
|
)
|
|
151
177
|
] }),
|
|
@@ -164,7 +190,7 @@ function AdvisorCard({
|
|
|
164
190
|
onRefer && /* @__PURE__ */ jsxs(
|
|
165
191
|
Button,
|
|
166
192
|
{
|
|
167
|
-
variant: "
|
|
193
|
+
variant: "default",
|
|
168
194
|
size: "sm",
|
|
169
195
|
className: "w-full",
|
|
170
196
|
onClick: onRefer,
|
|
@@ -188,8 +214,8 @@ function AdvisorInviteCard({ onInvite }) {
|
|
|
188
214
|
children: [
|
|
189
215
|
/* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 items-center justify-center border border-dashed border-muted-foreground/40", children: /* @__PURE__ */ jsx(Plus, { className: "h-5 w-5 text-muted-foreground" }) }),
|
|
190
216
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
|
|
191
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
192
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
217
|
+
/* @__PURE__ */ jsx("p", { className: "text-label-large", children: "Add Another Advisor" }),
|
|
218
|
+
/* @__PURE__ */ jsx("p", { className: "text-caption text-muted-foreground", children: "Connect more advisors to your account" })
|
|
193
219
|
] })
|
|
194
220
|
]
|
|
195
221
|
}
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import { cva } from "class-variance-authority";
|
|
14
14
|
import { jsx } from "react/jsx-runtime";
|
|
15
15
|
var badgeVariants = cva(
|
|
16
|
-
"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-
|
|
16
|
+
"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",
|
|
17
17
|
{
|
|
18
18
|
variants: {
|
|
19
19
|
variant: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AppointmentSlotSection
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CQ7HKBEX.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Separator
|
|
6
6
|
} from "./chunk-2GIYVERS.mjs";
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
} from "./chunk-H6NQTIF4.mjs";
|
|
23
23
|
import {
|
|
24
24
|
Badge
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-X6RC5UWB.mjs";
|
|
26
26
|
import {
|
|
27
27
|
Calendar
|
|
28
28
|
} from "./chunk-FBNEIYSE.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TaskCheckItem
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EXI64H46.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Progress
|
|
6
6
|
} from "./chunk-JPGL36WQ.mjs";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from "./chunk-2GIYVERS.mjs";
|
|
17
17
|
import {
|
|
18
18
|
Badge
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-X6RC5UWB.mjs";
|
|
20
20
|
import {
|
|
21
21
|
formatDateDayMonth,
|
|
22
22
|
formatDateShort
|
|
@@ -47,6 +47,8 @@ import {
|
|
|
47
47
|
Users,
|
|
48
48
|
Calendar,
|
|
49
49
|
Check,
|
|
50
|
+
Copy,
|
|
51
|
+
Link2,
|
|
50
52
|
MoreVertical,
|
|
51
53
|
Clock,
|
|
52
54
|
ArrowRight,
|
|
@@ -574,6 +576,45 @@ function OpportunityCard({
|
|
|
574
576
|
}
|
|
575
577
|
);
|
|
576
578
|
}
|
|
579
|
+
function normalizeUrl(url) {
|
|
580
|
+
return `https://${url.replace(/^https?:\/\//, "")}`;
|
|
581
|
+
}
|
|
582
|
+
function LoanApplicationLink({ url }) {
|
|
583
|
+
const [copied, setCopied] = useState(false);
|
|
584
|
+
const href = normalizeUrl(url);
|
|
585
|
+
function handleCopy() {
|
|
586
|
+
navigator.clipboard.writeText(href).then(() => {
|
|
587
|
+
setCopied(true);
|
|
588
|
+
setTimeout(() => setCopied(false), 2e3);
|
|
589
|
+
});
|
|
590
|
+
}
|
|
591
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
|
|
592
|
+
/* @__PURE__ */ jsx("p", { className: "text-caption text-muted-foreground", children: "Or the link below to fill out the loan application directly." }),
|
|
593
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
594
|
+
/* @__PURE__ */ jsx(Link2, { className: "size-4 shrink-0 text-muted-foreground" }),
|
|
595
|
+
/* @__PURE__ */ jsx(
|
|
596
|
+
"a",
|
|
597
|
+
{
|
|
598
|
+
href,
|
|
599
|
+
target: "_blank",
|
|
600
|
+
rel: "noreferrer",
|
|
601
|
+
className: "min-w-0 flex-1 truncate text-body-small text-primary underline-offset-2 hover:underline",
|
|
602
|
+
children: url
|
|
603
|
+
}
|
|
604
|
+
),
|
|
605
|
+
/* @__PURE__ */ jsx(
|
|
606
|
+
"button",
|
|
607
|
+
{
|
|
608
|
+
type: "button",
|
|
609
|
+
onClick: handleCopy,
|
|
610
|
+
className: "shrink-0 rounded p-1 text-muted-foreground transition-colors hover:text-foreground",
|
|
611
|
+
"aria-label": "Copy link",
|
|
612
|
+
children: copied ? /* @__PURE__ */ jsx(Check, { className: "size-4 text-success-text" }) : /* @__PURE__ */ jsx(Copy, { className: "size-4" })
|
|
613
|
+
}
|
|
614
|
+
)
|
|
615
|
+
] })
|
|
616
|
+
] });
|
|
617
|
+
}
|
|
577
618
|
function LeadCard({
|
|
578
619
|
customerName,
|
|
579
620
|
customerPhone,
|
|
@@ -596,13 +637,13 @@ function LeadCard({
|
|
|
596
637
|
children: [
|
|
597
638
|
/* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-2", children: [
|
|
598
639
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
599
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
600
|
-
customerPhone && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5 text-
|
|
601
|
-
/* @__PURE__ */ jsx(Phone, { className: "size-3 shrink-0", "aria-hidden": "true" }),
|
|
640
|
+
/* @__PURE__ */ jsx("span", { className: "text-label-medium text-foreground", children: customerName }),
|
|
641
|
+
customerPhone && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5 text-caption text-muted-foreground", children: [
|
|
642
|
+
/* @__PURE__ */ jsx(Phone, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
|
|
602
643
|
customerPhone
|
|
603
644
|
] }),
|
|
604
|
-
customerEmail && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5 text-
|
|
605
|
-
/* @__PURE__ */ jsx(Mail, { className: "size-3 shrink-0", "aria-hidden": "true" }),
|
|
645
|
+
customerEmail && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5 text-caption text-muted-foreground", children: [
|
|
646
|
+
/* @__PURE__ */ jsx(Mail, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
|
|
606
647
|
/* @__PURE__ */ jsx("span", { className: "truncate", children: customerEmail })
|
|
607
648
|
] })
|
|
608
649
|
] }),
|
|
@@ -641,23 +682,7 @@ function LeadCard({
|
|
|
641
682
|
children: "Send Loan Application Request"
|
|
642
683
|
}
|
|
643
684
|
),
|
|
644
|
-
loanApplicationUrl && /* @__PURE__ */
|
|
645
|
-
"Or the link below to fill out the loan application directly.",
|
|
646
|
-
/* @__PURE__ */ jsx("br", {}),
|
|
647
|
-
/* @__PURE__ */ jsx(
|
|
648
|
-
"a",
|
|
649
|
-
{
|
|
650
|
-
href: `https://${loanApplicationUrl.replace(
|
|
651
|
-
/^https?:\/\//,
|
|
652
|
-
""
|
|
653
|
-
)}`,
|
|
654
|
-
target: "_blank",
|
|
655
|
-
rel: "noreferrer",
|
|
656
|
-
className: "text-primary underline-offset-2 hover:underline",
|
|
657
|
-
children: loanApplicationUrl
|
|
658
|
-
}
|
|
659
|
-
)
|
|
660
|
-
] })
|
|
685
|
+
loanApplicationUrl && /* @__PURE__ */ jsx(LoanApplicationLink, { url: loanApplicationUrl })
|
|
661
686
|
] })
|
|
662
687
|
]
|
|
663
688
|
}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DropdownMenu,
|
|
3
|
-
DropdownMenuContent,
|
|
4
|
-
DropdownMenuItem,
|
|
5
|
-
DropdownMenuSeparator,
|
|
6
|
-
DropdownMenuTrigger
|
|
7
|
-
} from "./chunk-H5DTKPJ2.mjs";
|
|
8
1
|
import {
|
|
9
2
|
Tooltip,
|
|
10
3
|
TooltipContent,
|
|
@@ -16,6 +9,13 @@ import {
|
|
|
16
9
|
TabsList,
|
|
17
10
|
TabsTrigger
|
|
18
11
|
} from "./chunk-WE4YKBDE.mjs";
|
|
12
|
+
import {
|
|
13
|
+
DropdownMenu,
|
|
14
|
+
DropdownMenuContent,
|
|
15
|
+
DropdownMenuItem,
|
|
16
|
+
DropdownMenuSeparator,
|
|
17
|
+
DropdownMenuTrigger
|
|
18
|
+
} from "./chunk-H5DTKPJ2.mjs";
|
|
19
19
|
import {
|
|
20
20
|
Separator
|
|
21
21
|
} from "./chunk-2GIYVERS.mjs";
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
} from "./chunk-H6NQTIF4.mjs";
|
|
37
37
|
import {
|
|
38
38
|
Badge
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-X6RC5UWB.mjs";
|
|
40
40
|
import {
|
|
41
41
|
ToggleGroup,
|
|
42
42
|
ToggleGroupItem
|
|
@@ -63,7 +63,7 @@ __export(advisor_card_exports, {
|
|
|
63
63
|
AdvisorInviteCard: () => AdvisorInviteCard
|
|
64
64
|
});
|
|
65
65
|
module.exports = __toCommonJS(advisor_card_exports);
|
|
66
|
-
var
|
|
66
|
+
var import_react3 = __toESM(require("react"));
|
|
67
67
|
|
|
68
68
|
// src/components/ui/badge.tsx
|
|
69
69
|
var import_class_variance_authority = require("class-variance-authority");
|
|
@@ -157,7 +157,7 @@ Slot.displayName = "Slot";
|
|
|
157
157
|
// src/components/ui/badge.tsx
|
|
158
158
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
159
159
|
var badgeVariants = (0, import_class_variance_authority.cva)(
|
|
160
|
-
"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-
|
|
160
|
+
"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",
|
|
161
161
|
{
|
|
162
162
|
variants: {
|
|
163
163
|
variant: {
|
|
@@ -350,9 +350,78 @@ function Separator(_a) {
|
|
|
350
350
|
);
|
|
351
351
|
}
|
|
352
352
|
|
|
353
|
-
// src/components/ui/
|
|
353
|
+
// src/components/ui/dropdown-menu.tsx
|
|
354
354
|
var import_lucide_react2 = require("lucide-react");
|
|
355
|
+
var import_menu = require("@base-ui/react/menu");
|
|
356
|
+
|
|
357
|
+
// src/lib/theme-provider.tsx
|
|
358
|
+
var import_react2 = require("react");
|
|
355
359
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
360
|
+
var ThemeVarsContext = (0, import_react2.createContext)({});
|
|
361
|
+
function useThemeVars() {
|
|
362
|
+
return (0, import_react2.useContext)(ThemeVarsContext);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
// src/components/ui/dropdown-menu.tsx
|
|
366
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
367
|
+
function DropdownMenu(_a) {
|
|
368
|
+
var props = __objRest(_a, []);
|
|
369
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_menu.Menu.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
|
|
370
|
+
}
|
|
371
|
+
function DropdownMenuTrigger(_a) {
|
|
372
|
+
var props = __objRest(_a, []);
|
|
373
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_menu.Menu.Trigger, __spreadValues({ "data-slot": "dropdown-menu-trigger" }, props));
|
|
374
|
+
}
|
|
375
|
+
function DropdownMenuContent(_a) {
|
|
376
|
+
var _b = _a, {
|
|
377
|
+
className,
|
|
378
|
+
sideOffset = 4,
|
|
379
|
+
style
|
|
380
|
+
} = _b, props = __objRest(_b, [
|
|
381
|
+
"className",
|
|
382
|
+
"sideOffset",
|
|
383
|
+
"style"
|
|
384
|
+
]);
|
|
385
|
+
const themeVars = useThemeVars();
|
|
386
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_menu.Menu.Positioner, { sideOffset, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
387
|
+
import_menu.Menu.Popup,
|
|
388
|
+
__spreadValues({
|
|
389
|
+
className: cn(
|
|
390
|
+
"z-50 min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-none border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
|
|
391
|
+
className
|
|
392
|
+
),
|
|
393
|
+
"data-slot": "dropdown-menu-content",
|
|
394
|
+
style: __spreadValues(__spreadValues({}, themeVars), style)
|
|
395
|
+
}, props)
|
|
396
|
+
) }) });
|
|
397
|
+
}
|
|
398
|
+
function DropdownMenuItem(_a) {
|
|
399
|
+
var _b = _a, {
|
|
400
|
+
className,
|
|
401
|
+
inset,
|
|
402
|
+
variant = "default"
|
|
403
|
+
} = _b, props = __objRest(_b, [
|
|
404
|
+
"className",
|
|
405
|
+
"inset",
|
|
406
|
+
"variant"
|
|
407
|
+
]);
|
|
408
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
409
|
+
import_menu.Menu.Item,
|
|
410
|
+
__spreadValues({
|
|
411
|
+
className: cn(
|
|
412
|
+
"relative flex cursor-default items-center gap-2 rounded-none px-2 py-1.5 text-body-small outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",
|
|
413
|
+
className
|
|
414
|
+
),
|
|
415
|
+
"data-inset": inset,
|
|
416
|
+
"data-slot": "dropdown-menu-item",
|
|
417
|
+
"data-variant": variant
|
|
418
|
+
}, props)
|
|
419
|
+
);
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
// src/components/ui/advisor-card.tsx
|
|
423
|
+
var import_lucide_react3 = require("lucide-react");
|
|
424
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
356
425
|
var STATUS_VARIANT = {
|
|
357
426
|
pending: "warning",
|
|
358
427
|
confirmed: "success",
|
|
@@ -382,35 +451,62 @@ function AdvisorCard({
|
|
|
382
451
|
isPrimary = false,
|
|
383
452
|
appointments,
|
|
384
453
|
onRefer,
|
|
454
|
+
menuItems,
|
|
385
455
|
onMoreOptions,
|
|
386
456
|
onBookAppointment,
|
|
387
457
|
onViewAppointment
|
|
388
458
|
}) {
|
|
389
459
|
const hasAppointments = appointments !== void 0;
|
|
390
460
|
const appointmentList = appointments === null || Array.isArray(appointments) && appointments.length === 0 ? null : appointments;
|
|
391
|
-
return /* @__PURE__ */ (0,
|
|
392
|
-
/* @__PURE__ */ (0,
|
|
393
|
-
/* @__PURE__ */ (0,
|
|
394
|
-
companyLogoUrl && /* @__PURE__ */ (0,
|
|
395
|
-
/* @__PURE__ */ (0,
|
|
461
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col border border-border bg-card", children: [
|
|
462
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex items-start gap-4 p-4", children: [
|
|
463
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Avatar, { className: "h-10 w-10 shrink-0", children: [
|
|
464
|
+
companyLogoUrl && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(AvatarImage, { src: companyLogoUrl, alt: `${name} company logo` }),
|
|
465
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.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() })
|
|
396
466
|
] }),
|
|
397
|
-
/* @__PURE__ */ (0,
|
|
398
|
-
/* @__PURE__ */ (0,
|
|
399
|
-
/* @__PURE__ */ (0,
|
|
400
|
-
/* @__PURE__ */ (0,
|
|
401
|
-
/* @__PURE__ */ (0,
|
|
402
|
-
/* @__PURE__ */ (0,
|
|
403
|
-
/* @__PURE__ */ (0,
|
|
467
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
|
|
468
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-label-large leading-tight", children: name }),
|
|
469
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-body-small text-muted-foreground", children: role }),
|
|
470
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "mt-2 flex flex-col gap-1", children: [
|
|
471
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex items-center gap-1.5 text-body-small text-muted-foreground", children: [
|
|
472
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.Phone, { className: "h-4 w-4 shrink-0" }),
|
|
473
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { children: phone })
|
|
404
474
|
] }),
|
|
405
|
-
/* @__PURE__ */ (0,
|
|
406
|
-
/* @__PURE__ */ (0,
|
|
407
|
-
/* @__PURE__ */ (0,
|
|
475
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex items-center gap-1.5 text-body-small text-muted-foreground", children: [
|
|
476
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.Mail, { className: "h-4 w-4 shrink-0" }),
|
|
477
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { children: email })
|
|
408
478
|
] })
|
|
409
479
|
] })
|
|
410
480
|
] }),
|
|
411
|
-
/* @__PURE__ */ (0,
|
|
412
|
-
isPrimary && /* @__PURE__ */ (0,
|
|
413
|
-
/* @__PURE__ */ (0,
|
|
481
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex shrink-0 items-center gap-1.5", children: [
|
|
482
|
+
isPrimary && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Badge, { variant: "success", children: "Primary" }),
|
|
483
|
+
menuItems && menuItems.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(DropdownMenu, { children: [
|
|
484
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
485
|
+
DropdownMenuTrigger,
|
|
486
|
+
{
|
|
487
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
488
|
+
Button,
|
|
489
|
+
{
|
|
490
|
+
variant: "ghost",
|
|
491
|
+
size: "icon",
|
|
492
|
+
className: "h-7 w-7",
|
|
493
|
+
"aria-label": "More options"
|
|
494
|
+
}
|
|
495
|
+
),
|
|
496
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.MoreVertical, { className: "h-4 w-4" })
|
|
497
|
+
}
|
|
498
|
+
),
|
|
499
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropdownMenuContent, { align: "end", children: menuItems.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
500
|
+
DropdownMenuItem,
|
|
501
|
+
{
|
|
502
|
+
variant: item.variant,
|
|
503
|
+
disabled: item.disabled,
|
|
504
|
+
onClick: item.onClick,
|
|
505
|
+
children: item.label
|
|
506
|
+
},
|
|
507
|
+
i
|
|
508
|
+
)) })
|
|
509
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
414
510
|
Button,
|
|
415
511
|
{
|
|
416
512
|
variant: "ghost",
|
|
@@ -418,34 +514,27 @@ function AdvisorCard({
|
|
|
418
514
|
className: "h-7 w-7",
|
|
419
515
|
onClick: onMoreOptions,
|
|
420
516
|
"aria-label": "More options",
|
|
421
|
-
children: /* @__PURE__ */ (0,
|
|
517
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.MoreVertical, { className: "h-4 w-4" })
|
|
422
518
|
}
|
|
423
519
|
)
|
|
424
520
|
] })
|
|
425
521
|
] }),
|
|
426
|
-
hasAppointments && /* @__PURE__ */ (0,
|
|
427
|
-
/* @__PURE__ */ (0,
|
|
428
|
-
appointmentList ? appointmentList.map((appt, i) => /* @__PURE__ */ (0,
|
|
429
|
-
i > 0 && /* @__PURE__ */ (0,
|
|
430
|
-
/* @__PURE__ */ (0,
|
|
522
|
+
hasAppointments && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
|
|
523
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Separator, {}),
|
|
524
|
+
appointmentList ? appointmentList.map((appt, i) => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react3.default.Fragment, { children: [
|
|
525
|
+
i > 0 && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Separator, {}),
|
|
526
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
431
527
|
"div",
|
|
432
528
|
{
|
|
433
529
|
className: `flex items-center gap-3 px-4 py-3 ${STRIP_BG[appt.status]}`,
|
|
434
530
|
children: [
|
|
435
|
-
/* @__PURE__ */ (0,
|
|
436
|
-
/* @__PURE__ */ (0,
|
|
437
|
-
/* @__PURE__ */ (0,
|
|
438
|
-
/* @__PURE__ */ (0,
|
|
439
|
-
|
|
440
|
-
{
|
|
441
|
-
variant: STATUS_VARIANT[appt.status],
|
|
442
|
-
className: "text-[10px]",
|
|
443
|
-
children: STATUS_LABEL[appt.status]
|
|
444
|
-
}
|
|
445
|
-
),
|
|
446
|
-
appt.appointmentType && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "truncate text-sm font-semibold", children: appt.appointmentType })
|
|
531
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.CalendarCheck, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
532
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
|
|
533
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
534
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Badge, { variant: STATUS_VARIANT[appt.status], children: STATUS_LABEL[appt.status] }),
|
|
535
|
+
appt.appointmentType && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "truncate text-h6", children: appt.appointmentType })
|
|
447
536
|
] }),
|
|
448
|
-
/* @__PURE__ */ (0,
|
|
537
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("p", { className: "whitespace-nowrap text-body-small text-muted-foreground", children: [
|
|
449
538
|
appt.date,
|
|
450
539
|
" \xB7 ",
|
|
451
540
|
appt.timeStart,
|
|
@@ -453,7 +542,7 @@ function AdvisorCard({
|
|
|
453
542
|
appt.timeEnd
|
|
454
543
|
] })
|
|
455
544
|
] }),
|
|
456
|
-
onViewAppointment && /* @__PURE__ */ (0,
|
|
545
|
+
onViewAppointment && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
457
546
|
Button,
|
|
458
547
|
{
|
|
459
548
|
variant: "ghost",
|
|
@@ -462,7 +551,7 @@ function AdvisorCard({
|
|
|
462
551
|
onClick: () => onViewAppointment(i),
|
|
463
552
|
children: [
|
|
464
553
|
"View",
|
|
465
|
-
/* @__PURE__ */ (0,
|
|
554
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.ChevronRight, { className: "h-3 w-3" })
|
|
466
555
|
]
|
|
467
556
|
}
|
|
468
557
|
)
|
|
@@ -471,15 +560,15 @@ function AdvisorCard({
|
|
|
471
560
|
)
|
|
472
561
|
] }, i)) : (
|
|
473
562
|
/* Empty state */
|
|
474
|
-
/* @__PURE__ */ (0,
|
|
475
|
-
/* @__PURE__ */ (0,
|
|
476
|
-
/* @__PURE__ */ (0,
|
|
563
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex items-center gap-3 px-4 py-3", children: [
|
|
564
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.Calendar, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
565
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "flex-1 text-caption text-muted-foreground", children: "No upcoming appointments" })
|
|
477
566
|
] })
|
|
478
567
|
)
|
|
479
568
|
] }),
|
|
480
|
-
/* @__PURE__ */ (0,
|
|
481
|
-
/* @__PURE__ */ (0,
|
|
482
|
-
onBookAppointment && /* @__PURE__ */ (0,
|
|
569
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Separator, {}),
|
|
570
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-2 px-4 py-3", children: [
|
|
571
|
+
onBookAppointment && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
483
572
|
Button,
|
|
484
573
|
{
|
|
485
574
|
variant: "outline-primary",
|
|
@@ -489,10 +578,10 @@ function AdvisorCard({
|
|
|
489
578
|
children: "Book Appointment"
|
|
490
579
|
}
|
|
491
580
|
),
|
|
492
|
-
onRefer && /* @__PURE__ */ (0,
|
|
581
|
+
onRefer && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
493
582
|
Button,
|
|
494
583
|
{
|
|
495
|
-
variant: "
|
|
584
|
+
variant: "default",
|
|
496
585
|
size: "sm",
|
|
497
586
|
className: "w-full",
|
|
498
587
|
onClick: onRefer,
|
|
@@ -507,17 +596,17 @@ function AdvisorCard({
|
|
|
507
596
|
] });
|
|
508
597
|
}
|
|
509
598
|
function AdvisorInviteCard({ onInvite }) {
|
|
510
|
-
return /* @__PURE__ */ (0,
|
|
599
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
511
600
|
Button,
|
|
512
601
|
{
|
|
513
602
|
variant: "ghost",
|
|
514
603
|
onClick: onInvite,
|
|
515
604
|
className: "flex h-auto w-full flex-col items-center justify-center gap-3 border border-dashed border-border bg-card p-8 text-center transition-colors hover:bg-muted/40",
|
|
516
605
|
children: [
|
|
517
|
-
/* @__PURE__ */ (0,
|
|
518
|
-
/* @__PURE__ */ (0,
|
|
519
|
-
/* @__PURE__ */ (0,
|
|
520
|
-
/* @__PURE__ */ (0,
|
|
606
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "flex h-10 w-10 items-center justify-center border border-dashed border-muted-foreground/40", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.Plus, { className: "h-5 w-5 text-muted-foreground" }) }),
|
|
607
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-1", children: [
|
|
608
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-label-large", children: "Add Another Advisor" }),
|
|
609
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-caption text-muted-foreground", children: "Connect more advisors to your account" })
|
|
521
610
|
] })
|
|
522
611
|
]
|
|
523
612
|
}
|