@wealthx/shadcn 1.3.0 → 1.3.1
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 +43 -43
- package/CHANGELOG.md +6 -0
- package/dist/chunk-MLNEWRWV.mjs +449 -0
- package/dist/{chunk-FNQXOAYJ.mjs → chunk-Q2BGOAMG.mjs} +61 -28
- package/dist/components/ui/advisor-card.js +61 -28
- package/dist/components/ui/advisor-card.mjs +5 -3
- package/dist/components/ui/sidebar-nav.js +268 -172
- package/dist/components/ui/sidebar-nav.mjs +2 -1
- package/dist/index.js +515 -424
- package/dist/index.mjs +5 -3
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/src/components/index.tsx +2 -1
- package/src/components/ui/advisor-card.tsx +111 -54
- package/src/components/ui/sidebar-nav.tsx +194 -137
- package/src/styles/styles-css.ts +1 -1
- package/dist/chunk-ZC45IGZO.mjs +0 -388
|
@@ -59,9 +59,11 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
59
59
|
// src/components/ui/advisor-card.tsx
|
|
60
60
|
var advisor_card_exports = {};
|
|
61
61
|
__export(advisor_card_exports, {
|
|
62
|
-
AdvisorCard: () => AdvisorCard
|
|
62
|
+
AdvisorCard: () => AdvisorCard,
|
|
63
|
+
AdvisorInviteCard: () => AdvisorInviteCard
|
|
63
64
|
});
|
|
64
65
|
module.exports = __toCommonJS(advisor_card_exports);
|
|
66
|
+
var import_react2 = __toESM(require("react"));
|
|
65
67
|
|
|
66
68
|
// src/components/ui/badge.tsx
|
|
67
69
|
var import_class_variance_authority = require("class-variance-authority");
|
|
@@ -374,31 +376,34 @@ function AdvisorCard({
|
|
|
374
376
|
role,
|
|
375
377
|
phone,
|
|
376
378
|
email,
|
|
379
|
+
companyName,
|
|
377
380
|
companyLogoUrl,
|
|
378
381
|
avatarInitials,
|
|
379
382
|
isPrimary = false,
|
|
380
|
-
|
|
383
|
+
appointments,
|
|
381
384
|
onRefer,
|
|
382
385
|
onMoreOptions,
|
|
383
386
|
onBookAppointment,
|
|
384
387
|
onViewAppointment
|
|
385
388
|
}) {
|
|
389
|
+
const hasAppointments = appointments !== void 0;
|
|
390
|
+
const appointmentList = appointments === null || Array.isArray(appointments) && appointments.length === 0 ? null : appointments;
|
|
386
391
|
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex flex-col border border-border bg-card", children: [
|
|
387
392
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex items-start gap-4 p-4", children: [
|
|
388
393
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Avatar, { className: "h-10 w-10 shrink-0", children: [
|
|
389
394
|
companyLogoUrl && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AvatarImage, { src: companyLogoUrl, alt: `${name} company logo` }),
|
|
390
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AvatarFallback, { className: "text-sm", children: avatarInitials != null ? avatarInitials : name.slice(0, 2).toUpperCase() })
|
|
395
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.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() })
|
|
391
396
|
] }),
|
|
392
397
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
|
|
393
398
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: "text-sm font-semibold leading-tight", children: name }),
|
|
394
399
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: "text-sm text-muted-foreground", children: role }),
|
|
395
400
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "mt-2 flex flex-col gap-1", children: [
|
|
396
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex items-center gap-1.5 text-
|
|
397
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.Phone, { className: "h-
|
|
401
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex items-center gap-1.5 text-sm text-muted-foreground", children: [
|
|
402
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.Phone, { className: "h-4 w-4 shrink-0" }),
|
|
398
403
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { children: phone })
|
|
399
404
|
] }),
|
|
400
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex items-center gap-1.5 text-
|
|
401
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.Mail, { className: "h-
|
|
405
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex items-center gap-1.5 text-sm text-muted-foreground", children: [
|
|
406
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.Mail, { className: "h-4 w-4 shrink-0" }),
|
|
402
407
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { children: email })
|
|
403
408
|
] })
|
|
404
409
|
] })
|
|
@@ -418,14 +423,14 @@ function AdvisorCard({
|
|
|
418
423
|
)
|
|
419
424
|
] })
|
|
420
425
|
] }),
|
|
421
|
-
|
|
426
|
+
hasAppointments && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
|
|
422
427
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Separator, {}),
|
|
423
|
-
|
|
424
|
-
/*
|
|
428
|
+
appointmentList ? appointmentList.map((appt, i) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react2.default.Fragment, { children: [
|
|
429
|
+
i > 0 && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Separator, {}),
|
|
425
430
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
426
431
|
"div",
|
|
427
432
|
{
|
|
428
|
-
className: `flex items-center gap-3 px-4 py-3 ${STRIP_BG[
|
|
433
|
+
className: `flex items-center gap-3 px-4 py-3 ${STRIP_BG[appt.status]}`,
|
|
429
434
|
children: [
|
|
430
435
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.CalendarCheck, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
431
436
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
|
|
@@ -433,19 +438,19 @@ function AdvisorCard({
|
|
|
433
438
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
434
439
|
Badge,
|
|
435
440
|
{
|
|
436
|
-
variant: STATUS_VARIANT[
|
|
441
|
+
variant: STATUS_VARIANT[appt.status],
|
|
437
442
|
className: "text-[10px]",
|
|
438
|
-
children: STATUS_LABEL[
|
|
443
|
+
children: STATUS_LABEL[appt.status]
|
|
439
444
|
}
|
|
440
445
|
),
|
|
441
|
-
|
|
446
|
+
appt.appointmentType && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "truncate text-sm font-semibold", children: appt.appointmentType })
|
|
442
447
|
] }),
|
|
443
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("p", { className: "text-
|
|
444
|
-
|
|
448
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("p", { className: "whitespace-nowrap text-sm text-muted-foreground", children: [
|
|
449
|
+
appt.date,
|
|
445
450
|
" \xB7 ",
|
|
446
|
-
|
|
451
|
+
appt.timeStart,
|
|
447
452
|
"\u2013",
|
|
448
|
-
|
|
453
|
+
appt.timeEnd
|
|
449
454
|
] })
|
|
450
455
|
] }),
|
|
451
456
|
onViewAppointment && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
@@ -454,7 +459,7 @@ function AdvisorCard({
|
|
|
454
459
|
variant: "ghost",
|
|
455
460
|
size: "sm",
|
|
456
461
|
className: "h-7 shrink-0 gap-1 px-2 text-xs",
|
|
457
|
-
onClick: onViewAppointment,
|
|
462
|
+
onClick: () => onViewAppointment(i),
|
|
458
463
|
children: [
|
|
459
464
|
"View",
|
|
460
465
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.ChevronRight, { className: "h-3 w-3" })
|
|
@@ -464,8 +469,8 @@ function AdvisorCard({
|
|
|
464
469
|
]
|
|
465
470
|
}
|
|
466
471
|
)
|
|
467
|
-
) : (
|
|
468
|
-
/*
|
|
472
|
+
] }, i)) : (
|
|
473
|
+
/* Empty state */
|
|
469
474
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex items-center gap-3 px-4 py-3", children: [
|
|
470
475
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.Calendar, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
471
476
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: "flex-1 text-xs text-muted-foreground", children: "No upcoming appointments" })
|
|
@@ -473,25 +478,53 @@ function AdvisorCard({
|
|
|
473
478
|
)
|
|
474
479
|
] }),
|
|
475
480
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Separator, {}),
|
|
476
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex
|
|
481
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex flex-col gap-2 px-4 py-3", children: [
|
|
477
482
|
onBookAppointment && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
478
483
|
Button,
|
|
479
484
|
{
|
|
480
485
|
variant: "outline-primary",
|
|
481
486
|
size: "sm",
|
|
487
|
+
className: "w-full",
|
|
482
488
|
onClick: onBookAppointment,
|
|
483
489
|
children: "Book Appointment"
|
|
484
490
|
}
|
|
485
491
|
),
|
|
486
|
-
onRefer && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
492
|
+
onRefer && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
493
|
+
Button,
|
|
494
|
+
{
|
|
495
|
+
variant: "outline",
|
|
496
|
+
size: "sm",
|
|
497
|
+
className: "w-full",
|
|
498
|
+
onClick: onRefer,
|
|
499
|
+
children: [
|
|
500
|
+
"Refer ",
|
|
501
|
+
name,
|
|
502
|
+
" to Others"
|
|
503
|
+
]
|
|
504
|
+
}
|
|
505
|
+
)
|
|
491
506
|
] })
|
|
492
507
|
] });
|
|
493
508
|
}
|
|
509
|
+
function AdvisorInviteCard({ onInvite }) {
|
|
510
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
511
|
+
Button,
|
|
512
|
+
{
|
|
513
|
+
variant: "ghost",
|
|
514
|
+
onClick: onInvite,
|
|
515
|
+
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
|
+
children: [
|
|
517
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "flex h-10 w-10 items-center justify-center border border-dashed border-muted-foreground/40", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.Plus, { className: "h-5 w-5 text-muted-foreground" }) }),
|
|
518
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex flex-col gap-1", children: [
|
|
519
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: "text-sm font-medium", children: "Add Another Advisor" }),
|
|
520
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: "text-xs text-muted-foreground", children: "Connect more advisors to your account" })
|
|
521
|
+
] })
|
|
522
|
+
]
|
|
523
|
+
}
|
|
524
|
+
);
|
|
525
|
+
}
|
|
494
526
|
// Annotate the CommonJS export names for ESM import in node:
|
|
495
527
|
0 && (module.exports = {
|
|
496
|
-
AdvisorCard
|
|
528
|
+
AdvisorCard,
|
|
529
|
+
AdvisorInviteCard
|
|
497
530
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
-
AdvisorCard
|
|
3
|
-
|
|
2
|
+
AdvisorCard,
|
|
3
|
+
AdvisorInviteCard
|
|
4
|
+
} from "../../chunk-Q2BGOAMG.mjs";
|
|
4
5
|
import "../../chunk-24FUO7TD.mjs";
|
|
5
6
|
import "../../chunk-BKNFWEH2.mjs";
|
|
6
7
|
import "../../chunk-FH6QVUVZ.mjs";
|
|
@@ -9,5 +10,6 @@ import "../../chunk-DBHJ5KC3.mjs";
|
|
|
9
10
|
import "../../chunk-VLQZANBF.mjs";
|
|
10
11
|
import "../../chunk-FWCSY2DS.mjs";
|
|
11
12
|
export {
|
|
12
|
-
AdvisorCard
|
|
13
|
+
AdvisorCard,
|
|
14
|
+
AdvisorInviteCard
|
|
13
15
|
};
|