@wealthx/shadcn 1.5.6 → 1.5.7
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 +141 -135
- package/CHANGELOG.md +6 -0
- package/dist/{chunk-2LLFNGJZ.mjs → chunk-3OOUI5TO.mjs} +1 -1
- package/dist/{chunk-AUEUTZIC.mjs → chunk-3QAQQBCM.mjs} +2 -2
- package/dist/chunk-3Z75IKFO.mjs +34 -0
- package/dist/{chunk-RAKBWNQH.mjs → chunk-5WCIGJ3E.mjs} +26 -65
- package/dist/chunk-65PZNG4Y.mjs +129 -0
- package/dist/{chunk-D447W45Z.mjs → chunk-7OLKVKJF.mjs} +41 -49
- package/dist/{chunk-UEREFDAE.mjs → chunk-AZGLSIHF.mjs} +1 -1
- package/dist/{chunk-QRVEI6J3.mjs → chunk-BQBSYM2I.mjs} +1 -3
- package/dist/{chunk-BFB3UH7V.mjs → chunk-C2QMHKLT.mjs} +1 -1
- package/dist/chunk-CEEVYRQA.mjs +61 -0
- package/dist/{chunk-VJ3GC7W3.mjs → chunk-CXGZSIQN.mjs} +4 -30
- package/dist/{chunk-VLELWBEW.mjs → chunk-E2BNCA6L.mjs} +1 -1
- package/dist/{chunk-46Q4335I.mjs → chunk-F73QFUZH.mjs} +10 -20
- package/dist/{chunk-Q35PNFJ7.mjs → chunk-FBNEIYSE.mjs} +1 -1
- package/dist/{chunk-HO6S3ECM.mjs → chunk-G4WLCKFV.mjs} +1 -1
- package/dist/{chunk-ODO6BUOF.mjs → chunk-HRHXZIX5.mjs} +1 -3
- package/dist/{chunk-IXR4BQSQ.mjs → chunk-I6QVWQCD.mjs} +1 -1
- package/dist/{chunk-Q5SGEIJV.mjs → chunk-IXKE6LHN.mjs} +1 -1
- package/dist/{chunk-OL65UQHQ.mjs → chunk-JCH2BG24.mjs} +26 -60
- package/dist/{chunk-PV3Y7QGK.mjs → chunk-LHWJQNLG.mjs} +3 -3
- package/dist/{chunk-JTG5R5YV.mjs → chunk-MS4PDUSU.mjs} +284 -58
- package/dist/{chunk-VFH632TB.mjs → chunk-SDNG4XL6.mjs} +1 -1
- package/dist/{chunk-DFL5CV75.mjs → chunk-T6MMCOX6.mjs} +1 -1
- package/dist/{chunk-6TX73WG7.mjs → chunk-TCE5L44O.mjs} +3 -2
- package/dist/{chunk-HROG643K.mjs → chunk-W5QJ57PU.mjs} +1 -1
- package/dist/{chunk-EW72FINW.mjs → chunk-XVZGXPIX.mjs} +1 -1
- package/dist/components/ui/about-you-form.mjs +3 -3
- package/dist/components/ui/add-column-modal.js +56 -227
- package/dist/components/ui/add-column-modal.mjs +1 -2
- package/dist/components/ui/ai-conversations.js +278 -58
- package/dist/components/ui/ai-conversations.mjs +1 -1
- package/dist/components/ui/appointment-action-dialogs.mjs +3 -3
- package/dist/components/ui/appointment-availability-settings.js +2 -28
- package/dist/components/ui/appointment-availability-settings.mjs +4 -4
- package/dist/components/ui/appointment-book-dialog.js +11 -21
- package/dist/components/ui/appointment-book-dialog.mjs +3 -3
- package/dist/components/ui/appointment-calendar-view.mjs +2 -2
- package/dist/components/ui/appointment-detail-sheet.mjs +4 -4
- package/dist/components/ui/appointment-upcoming-card.mjs +3 -3
- package/dist/components/ui/bank-statement-generate-dialog.mjs +4 -4
- package/dist/components/ui/calendar.mjs +2 -2
- package/dist/components/ui/dashboard-transactions-table.mjs +1 -1
- package/dist/components/ui/date-picker.mjs +3 -3
- package/dist/components/ui/financial-cards.mjs +2 -2
- package/dist/components/ui/financial-sections.mjs +3 -3
- package/dist/components/ui/integration-card.js +326 -0
- package/dist/components/ui/integration-card.mjs +11 -0
- package/dist/components/ui/kanban-column.js +151 -243
- package/dist/components/ui/kanban-column.mjs +3 -4
- package/dist/components/ui/loan-application-cards.mjs +1 -1
- package/dist/components/ui/onboarding-layout.js +65 -4
- package/dist/components/ui/onboarding-layout.mjs +6 -4
- package/dist/components/ui/opportunity-card.js +126 -216
- package/dist/components/ui/opportunity-card.mjs +2 -3
- package/dist/components/ui/opportunity-edit-modals.mjs +4 -4
- package/dist/components/ui/opportunity-summary-tab.mjs +6 -6
- package/dist/components/ui/pipeline-board.js +167 -261
- package/dist/components/ui/pipeline-board.mjs +4 -5
- package/dist/components/ui/pipeline-chart.js +128 -55
- package/dist/components/ui/pipeline-chart.mjs +2 -1
- package/dist/components/ui/pipeline-dialogs.mjs +4 -4
- package/dist/components/ui/savings-goal-modal.mjs +3 -3
- package/dist/components/ui/selectable-card.js +163 -0
- package/dist/components/ui/selectable-card.mjs +9 -0
- package/dist/components/ui/signup-shell.js +3 -2
- package/dist/components/ui/signup-shell.mjs +2 -2
- package/dist/components/ui/stepper.js +3 -2
- package/dist/components/ui/stepper.mjs +1 -1
- package/dist/index.js +2121 -1878
- package/dist/index.mjs +56 -46
- package/dist/styles.css +1 -1
- package/package.json +11 -1
- package/src/components/index.tsx +13 -1
- package/src/components/ui/add-column-modal.tsx +9 -58
- package/src/components/ui/ai-conversations.tsx +308 -42
- package/src/components/ui/appointment-availability-settings.tsx +2 -35
- package/src/components/ui/appointment-book-dialog.tsx +25 -48
- package/src/components/ui/integration-card.tsx +88 -0
- package/src/components/ui/kanban-column.tsx +0 -7
- package/src/components/ui/onboarding-layout.tsx +102 -1
- package/src/components/ui/opportunity-card.tsx +5 -53
- package/src/components/ui/pipeline-board.tsx +0 -3
- package/src/components/ui/pipeline-chart.tsx +47 -53
- package/src/components/ui/selectable-card.tsx +37 -0
- package/src/components/ui/stepper.tsx +3 -2
- package/src/lib/format-date.ts +6 -6
- package/src/styles/styles-css.ts +1 -1
- package/tsup.config.ts +2 -0
- package/dist/chunk-2P7HP7LR.mjs +0 -68
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wealthx/shadcn",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.7",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"module": "./dist/index.mjs",
|
|
6
6
|
"types": "./src/index.ts",
|
|
@@ -448,6 +448,16 @@
|
|
|
448
448
|
"import": "./dist/components/ui/opportunity-card.mjs",
|
|
449
449
|
"require": "./dist/components/ui/opportunity-card.js"
|
|
450
450
|
},
|
|
451
|
+
"./selectable-card": {
|
|
452
|
+
"types": "./src/components/ui/selectable-card.tsx",
|
|
453
|
+
"import": "./dist/components/ui/selectable-card.mjs",
|
|
454
|
+
"require": "./dist/components/ui/selectable-card.js"
|
|
455
|
+
},
|
|
456
|
+
"./integration-card": {
|
|
457
|
+
"types": "./src/components/ui/integration-card.tsx",
|
|
458
|
+
"import": "./dist/components/ui/integration-card.mjs",
|
|
459
|
+
"require": "./dist/components/ui/integration-card.js"
|
|
460
|
+
},
|
|
451
461
|
"./kanban-column": {
|
|
452
462
|
"types": "./src/components/ui/kanban-column.tsx",
|
|
453
463
|
"import": "./dist/components/ui/kanban-column.mjs",
|
package/src/components/index.tsx
CHANGED
|
@@ -47,6 +47,8 @@ export type {
|
|
|
47
47
|
AiConvFieldConfidence,
|
|
48
48
|
AiConvFilterTab,
|
|
49
49
|
AiConvMode,
|
|
50
|
+
AiConvChannel,
|
|
51
|
+
AiConvChannelFilter,
|
|
50
52
|
AiConvMeetingType,
|
|
51
53
|
AiConvContact,
|
|
52
54
|
AiConvAdvisor,
|
|
@@ -813,16 +815,26 @@ export type {
|
|
|
813
815
|
InputOTPSeparatorProps,
|
|
814
816
|
} from "./ui/input-otp";
|
|
815
817
|
|
|
818
|
+
export { IntegrationCard } from "./ui/integration-card";
|
|
819
|
+
export type { IntegrationCardProps } from "./ui/integration-card";
|
|
820
|
+
|
|
821
|
+
export { SelectableCard } from "./ui/selectable-card";
|
|
822
|
+
export type { SelectableCardProps } from "./ui/selectable-card";
|
|
823
|
+
|
|
816
824
|
export { KanbanColumn } from "./ui/kanban-column";
|
|
817
825
|
export type { KanbanColumnProps, KanbanColumnStage } from "./ui/kanban-column";
|
|
818
826
|
|
|
819
827
|
export { Label } from "./ui/label";
|
|
820
828
|
export type { LabelProps } from "./ui/label";
|
|
821
829
|
|
|
822
|
-
export {
|
|
830
|
+
export {
|
|
831
|
+
OnboardingLayout,
|
|
832
|
+
OnboardingPanelLayout,
|
|
833
|
+
} from "./ui/onboarding-layout";
|
|
823
834
|
export type {
|
|
824
835
|
OnboardingStep,
|
|
825
836
|
OnboardingLayoutProps,
|
|
837
|
+
OnboardingPanelLayoutProps,
|
|
826
838
|
} from "./ui/onboarding-layout";
|
|
827
839
|
|
|
828
840
|
export { OpportunityCard, LeadCard } from "./ui/opportunity-card";
|
|
@@ -12,21 +12,13 @@ import { Button } from "@/components/ui/button";
|
|
|
12
12
|
import { Input } from "@/components/ui/input";
|
|
13
13
|
import { Label } from "@/components/ui/label";
|
|
14
14
|
import { Separator } from "@/components/ui/separator";
|
|
15
|
-
import {
|
|
16
|
-
Select,
|
|
17
|
-
SelectContent,
|
|
18
|
-
SelectItem,
|
|
19
|
-
SelectTrigger,
|
|
20
|
-
SelectValue,
|
|
21
|
-
} from "@/components/ui/select";
|
|
22
|
-
|
|
23
15
|
/**
|
|
24
16
|
* AddColumnModal — WealthX DS (L4 Dialog)
|
|
25
17
|
*
|
|
26
18
|
* Create or edit a Pipeline stage (column). Supports:
|
|
27
19
|
* - Column title (optionally locked for system stages)
|
|
28
20
|
* - Time-based alert thresholds (warning days, priority days)
|
|
29
|
-
* - Task template list (up to 20 tasks
|
|
21
|
+
* - Task template list (up to 20 tasks)
|
|
30
22
|
*
|
|
31
23
|
* Data source: `listColumns()` → `Stage` in `loan-crm.ts`
|
|
32
24
|
*/
|
|
@@ -37,16 +29,10 @@ const MAX_TASKS = 20;
|
|
|
37
29
|
// Types
|
|
38
30
|
// ---------------------------------------------------------------------------
|
|
39
31
|
|
|
40
|
-
export interface AiAgent {
|
|
41
|
-
id: string;
|
|
42
|
-
name: string;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
32
|
export interface ColumnTask {
|
|
46
33
|
/** Temp numeric ID for new tasks; persisted string ID for existing ones. */
|
|
47
34
|
id: string | number;
|
|
48
35
|
name: string;
|
|
49
|
-
aiAgentId?: string | null;
|
|
50
36
|
}
|
|
51
37
|
|
|
52
38
|
export interface AddColumnEditData {
|
|
@@ -66,8 +52,6 @@ export interface AddColumnModalProps {
|
|
|
66
52
|
onSave: (data: AddColumnEditData) => void;
|
|
67
53
|
/** Pre-populate for edit mode. Omit (or pass null) for create mode. */
|
|
68
54
|
editData?: AddColumnEditData | null;
|
|
69
|
-
/** Available AI agents for task assignment. Pass [] to hide agent selects. */
|
|
70
|
-
aiAgents?: AiAgent[];
|
|
71
55
|
loading?: boolean;
|
|
72
56
|
className?: string;
|
|
73
57
|
}
|
|
@@ -81,7 +65,6 @@ export function AddColumnModal({
|
|
|
81
65
|
onOpenChange,
|
|
82
66
|
onSave,
|
|
83
67
|
editData,
|
|
84
|
-
aiAgents = [],
|
|
85
68
|
loading = false,
|
|
86
69
|
className,
|
|
87
70
|
}: AddColumnModalProps) {
|
|
@@ -90,10 +73,10 @@ export function AddColumnModal({
|
|
|
90
73
|
|
|
91
74
|
const [name, setName] = React.useState(editData?.name ?? "");
|
|
92
75
|
const [warningDays, setWarningDays] = React.useState(
|
|
93
|
-
editData?.warningDays != null ? String(editData.warningDays) : ""
|
|
76
|
+
editData?.warningDays != null ? String(editData.warningDays) : ""
|
|
94
77
|
);
|
|
95
78
|
const [priorityDays, setPriorityDays] = React.useState(
|
|
96
|
-
editData?.priorityDays != null ? String(editData.priorityDays) : ""
|
|
79
|
+
editData?.priorityDays != null ? String(editData.priorityDays) : ""
|
|
97
80
|
);
|
|
98
81
|
const [tasks, setTasks] = React.useState<ColumnTask[]>(editData?.tasks ?? []);
|
|
99
82
|
|
|
@@ -102,10 +85,10 @@ export function AddColumnModal({
|
|
|
102
85
|
if (open) {
|
|
103
86
|
setName(editData?.name ?? "");
|
|
104
87
|
setWarningDays(
|
|
105
|
-
editData?.warningDays != null ? String(editData.warningDays) : ""
|
|
88
|
+
editData?.warningDays != null ? String(editData.warningDays) : ""
|
|
106
89
|
);
|
|
107
90
|
setPriorityDays(
|
|
108
|
-
editData?.priorityDays != null ? String(editData.priorityDays) : ""
|
|
91
|
+
editData?.priorityDays != null ? String(editData.priorityDays) : ""
|
|
109
92
|
);
|
|
110
93
|
setTasks(editData?.tasks ?? []);
|
|
111
94
|
}
|
|
@@ -131,10 +114,7 @@ export function AddColumnModal({
|
|
|
131
114
|
|
|
132
115
|
function addTask() {
|
|
133
116
|
if (tasks.length >= MAX_TASKS) return;
|
|
134
|
-
setTasks((prev) => [
|
|
135
|
-
...prev,
|
|
136
|
-
{ id: nextId.current++, name: "", aiAgentId: null },
|
|
137
|
-
]);
|
|
117
|
+
setTasks((prev) => [...prev, { id: nextId.current++, name: "" }]);
|
|
138
118
|
}
|
|
139
119
|
|
|
140
120
|
function removeTask(id: string | number) {
|
|
@@ -143,7 +123,7 @@ export function AddColumnModal({
|
|
|
143
123
|
|
|
144
124
|
function updateTask(
|
|
145
125
|
id: string | number,
|
|
146
|
-
patch: Partial<Pick<ColumnTask, "name"
|
|
126
|
+
patch: Partial<Pick<ColumnTask, "name">>
|
|
147
127
|
) {
|
|
148
128
|
setTasks((prev) => prev.map((t) => (t.id === id ? { ...t, ...patch } : t)));
|
|
149
129
|
}
|
|
@@ -274,35 +254,6 @@ export function AddColumnModal({
|
|
|
274
254
|
<Trash2 className="size-4" />
|
|
275
255
|
</Button>
|
|
276
256
|
</div>
|
|
277
|
-
|
|
278
|
-
{aiAgents.length > 0 && (
|
|
279
|
-
<Select
|
|
280
|
-
value={task.aiAgentId ?? undefined}
|
|
281
|
-
onValueChange={(v) =>
|
|
282
|
-
updateTask(task.id, { aiAgentId: v || null })
|
|
283
|
-
}
|
|
284
|
-
>
|
|
285
|
-
<SelectTrigger size="sm" className="w-full">
|
|
286
|
-
<span
|
|
287
|
-
className={cn(
|
|
288
|
-
!task.aiAgentId && "text-muted-foreground",
|
|
289
|
-
)}
|
|
290
|
-
>
|
|
291
|
-
{task.aiAgentId
|
|
292
|
-
? (aiAgents.find((a) => a.id === task.aiAgentId)
|
|
293
|
-
?.name ?? task.aiAgentId)
|
|
294
|
-
: "Select agent"}
|
|
295
|
-
</span>
|
|
296
|
-
</SelectTrigger>
|
|
297
|
-
<SelectContent>
|
|
298
|
-
{aiAgents.map((agent) => (
|
|
299
|
-
<SelectItem key={agent.id} value={agent.id}>
|
|
300
|
-
{agent.name}
|
|
301
|
-
</SelectItem>
|
|
302
|
-
))}
|
|
303
|
-
</SelectContent>
|
|
304
|
-
</Select>
|
|
305
|
-
)}
|
|
306
257
|
</div>
|
|
307
258
|
))}
|
|
308
259
|
</div>
|
|
@@ -329,8 +280,8 @@ export function AddColumnModal({
|
|
|
329
280
|
? "Saving…"
|
|
330
281
|
: "Adding…"
|
|
331
282
|
: isEdit
|
|
332
|
-
|
|
333
|
-
|
|
283
|
+
? "Save changes"
|
|
284
|
+
: "Add column"}
|
|
334
285
|
</Button>
|
|
335
286
|
</DialogFooter>
|
|
336
287
|
</DialogContent>
|