@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
package/dist/chunk-OZ2R6ERP.mjs
DELETED
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Spinner
|
|
3
|
-
} from "./chunk-JVMXMFBB.mjs";
|
|
4
|
-
import {
|
|
5
|
-
Textarea
|
|
6
|
-
} from "./chunk-BS75ICOO.mjs";
|
|
7
|
-
import {
|
|
8
|
-
Dialog,
|
|
9
|
-
DialogContent,
|
|
10
|
-
DialogFooter,
|
|
11
|
-
DialogHeader,
|
|
12
|
-
DialogTitle
|
|
13
|
-
} from "./chunk-LI2CTS5O.mjs";
|
|
14
|
-
import {
|
|
15
|
-
Label
|
|
16
|
-
} from "./chunk-P7CEBZM6.mjs";
|
|
17
|
-
import {
|
|
18
|
-
Input
|
|
19
|
-
} from "./chunk-LBTHZSBT.mjs";
|
|
20
|
-
import {
|
|
21
|
-
Button
|
|
22
|
-
} from "./chunk-NOOEKOWY.mjs";
|
|
23
|
-
|
|
24
|
-
// src/components/ui/share-details-dialog.tsx
|
|
25
|
-
import * as React from "react";
|
|
26
|
-
import { CheckIcon, CopyIcon } from "lucide-react";
|
|
27
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
28
|
-
function Field({
|
|
29
|
-
id,
|
|
30
|
-
label,
|
|
31
|
-
required,
|
|
32
|
-
children
|
|
33
|
-
}) {
|
|
34
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
|
|
35
|
-
/* @__PURE__ */ jsxs(Label, { htmlFor: id, children: [
|
|
36
|
-
label,
|
|
37
|
-
required && /* @__PURE__ */ jsx("span", { className: "ml-0.5 text-destructive", children: "*" })
|
|
38
|
-
] }),
|
|
39
|
-
children
|
|
40
|
-
] });
|
|
41
|
-
}
|
|
42
|
-
function ShareDetailsDialog({
|
|
43
|
-
open,
|
|
44
|
-
onOpenChange,
|
|
45
|
-
contactName,
|
|
46
|
-
shareUrl,
|
|
47
|
-
onEmailLink,
|
|
48
|
-
isSendingEmail = false,
|
|
49
|
-
className
|
|
50
|
-
}) {
|
|
51
|
-
const [copied, setCopied] = React.useState(false);
|
|
52
|
-
function handleCopy() {
|
|
53
|
-
navigator.clipboard.writeText(shareUrl).catch(() => {
|
|
54
|
-
});
|
|
55
|
-
setCopied(true);
|
|
56
|
-
setTimeout(() => setCopied(false), 2e3);
|
|
57
|
-
}
|
|
58
|
-
return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs(DialogContent, { size: "md", className, children: [
|
|
59
|
-
/* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: "Share Contact Details" }) }),
|
|
60
|
-
/* @__PURE__ */ jsxs("p", { className: "text-sm text-muted-foreground", children: [
|
|
61
|
-
"Share a secure link to",
|
|
62
|
-
" ",
|
|
63
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-foreground", children: contactName }),
|
|
64
|
-
"'s financial summary report."
|
|
65
|
-
] }),
|
|
66
|
-
/* @__PURE__ */ jsxs(Field, { label: "Shareable link", children: [
|
|
67
|
-
/* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
|
|
68
|
-
/* @__PURE__ */ jsx(
|
|
69
|
-
Input,
|
|
70
|
-
{
|
|
71
|
-
readOnly: true,
|
|
72
|
-
value: shareUrl,
|
|
73
|
-
className: "flex-1 font-mono text-xs text-muted-foreground",
|
|
74
|
-
onClick: (e) => e.target.select()
|
|
75
|
-
}
|
|
76
|
-
),
|
|
77
|
-
/* @__PURE__ */ jsx(
|
|
78
|
-
Button,
|
|
79
|
-
{
|
|
80
|
-
variant: "outline",
|
|
81
|
-
size: "icon",
|
|
82
|
-
onClick: handleCopy,
|
|
83
|
-
"aria-label": copied ? "Copied" : "Copy link",
|
|
84
|
-
className: "shrink-0",
|
|
85
|
-
children: copied ? /* @__PURE__ */ jsx(CheckIcon, { className: "size-4 text-success" }) : /* @__PURE__ */ jsx(CopyIcon, { className: "size-4" })
|
|
86
|
-
}
|
|
87
|
-
)
|
|
88
|
-
] }),
|
|
89
|
-
copied && /* @__PURE__ */ jsx("p", { className: "text-xs text-success", children: "Link copied to clipboard!" })
|
|
90
|
-
] }),
|
|
91
|
-
/* @__PURE__ */ jsxs(DialogFooter, { children: [
|
|
92
|
-
/* @__PURE__ */ jsx(Button, { variant: "outline", onClick: () => onOpenChange(false), children: "Close" }),
|
|
93
|
-
onEmailLink && /* @__PURE__ */ jsx(Button, { onClick: onEmailLink, disabled: isSendingEmail, children: isSendingEmail ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
94
|
-
/* @__PURE__ */ jsx(Spinner, { className: "size-3.5" }),
|
|
95
|
-
"Sending\u2026"
|
|
96
|
-
] }) : "Email link" })
|
|
97
|
-
] })
|
|
98
|
-
] }) });
|
|
99
|
-
}
|
|
100
|
-
function EmailTemplateDialog({
|
|
101
|
-
open,
|
|
102
|
-
onOpenChange,
|
|
103
|
-
contactName,
|
|
104
|
-
contactEmail,
|
|
105
|
-
defaultSubject = "",
|
|
106
|
-
defaultBody = "",
|
|
107
|
-
onSend,
|
|
108
|
-
isSending = false,
|
|
109
|
-
className
|
|
110
|
-
}) {
|
|
111
|
-
const [subject, setSubject] = React.useState(defaultSubject);
|
|
112
|
-
const [body, setBody] = React.useState(defaultBody);
|
|
113
|
-
React.useEffect(() => {
|
|
114
|
-
if (open) {
|
|
115
|
-
setSubject(defaultSubject);
|
|
116
|
-
setBody(defaultBody);
|
|
117
|
-
}
|
|
118
|
-
}, [open, defaultSubject, defaultBody]);
|
|
119
|
-
const canSend = subject.trim() !== "" && body.trim() !== "" && !isSending;
|
|
120
|
-
return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange: isSending ? void 0 : onOpenChange, children: /* @__PURE__ */ jsxs(DialogContent, { size: "lg", className, children: [
|
|
121
|
-
/* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: "Send Email" }) }),
|
|
122
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
123
|
-
/* @__PURE__ */ jsx(Field, { label: "To", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 border border-border bg-muted/40 px-3 py-2 text-sm", children: [
|
|
124
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-foreground", children: contactName }),
|
|
125
|
-
/* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
|
|
126
|
-
"<",
|
|
127
|
-
contactEmail,
|
|
128
|
-
">"
|
|
129
|
-
] })
|
|
130
|
-
] }) }),
|
|
131
|
-
/* @__PURE__ */ jsx(Field, { id: "etd-subject", label: "Subject", required: true, children: /* @__PURE__ */ jsx(
|
|
132
|
-
Input,
|
|
133
|
-
{
|
|
134
|
-
id: "etd-subject",
|
|
135
|
-
placeholder: "Email subject",
|
|
136
|
-
value: subject,
|
|
137
|
-
onChange: (e) => setSubject(e.target.value),
|
|
138
|
-
disabled: isSending
|
|
139
|
-
}
|
|
140
|
-
) }),
|
|
141
|
-
/* @__PURE__ */ jsx(Field, { id: "etd-body", label: "Message", required: true, children: /* @__PURE__ */ jsx(
|
|
142
|
-
Textarea,
|
|
143
|
-
{
|
|
144
|
-
id: "etd-body",
|
|
145
|
-
rows: 8,
|
|
146
|
-
placeholder: "Write your message here\u2026",
|
|
147
|
-
value: body,
|
|
148
|
-
onChange: (e) => setBody(e.target.value),
|
|
149
|
-
disabled: isSending
|
|
150
|
-
}
|
|
151
|
-
) })
|
|
152
|
-
] }),
|
|
153
|
-
/* @__PURE__ */ jsxs(DialogFooter, { children: [
|
|
154
|
-
/* @__PURE__ */ jsx(
|
|
155
|
-
Button,
|
|
156
|
-
{
|
|
157
|
-
variant: "outline",
|
|
158
|
-
onClick: () => onOpenChange(false),
|
|
159
|
-
disabled: isSending,
|
|
160
|
-
children: "Cancel"
|
|
161
|
-
}
|
|
162
|
-
),
|
|
163
|
-
/* @__PURE__ */ jsx(Button, { onClick: () => onSend({ subject, body }), disabled: !canSend, children: isSending ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
164
|
-
/* @__PURE__ */ jsx(Spinner, { className: "size-3.5" }),
|
|
165
|
-
"Sending\u2026"
|
|
166
|
-
] }) : "Send Email" })
|
|
167
|
-
] })
|
|
168
|
-
] }) });
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
export {
|
|
172
|
-
ShareDetailsDialog,
|
|
173
|
-
EmailTemplateDialog
|
|
174
|
-
};
|