@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
@@ -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
- };