@wealthx/shadcn 1.5.5 → 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.
Files changed (95) hide show
  1. package/.turbo/turbo-build.log +164 -158
  2. package/CHANGELOG.md +12 -0
  3. package/dist/{chunk-2LLFNGJZ.mjs → chunk-3OOUI5TO.mjs} +1 -1
  4. package/dist/{chunk-AUEUTZIC.mjs → chunk-3QAQQBCM.mjs} +2 -2
  5. package/dist/chunk-3Z75IKFO.mjs +34 -0
  6. package/dist/{chunk-RAKBWNQH.mjs → chunk-5WCIGJ3E.mjs} +26 -65
  7. package/dist/chunk-65PZNG4Y.mjs +129 -0
  8. package/dist/{chunk-D447W45Z.mjs → chunk-7OLKVKJF.mjs} +41 -49
  9. package/dist/{chunk-UEREFDAE.mjs → chunk-AZGLSIHF.mjs} +1 -1
  10. package/dist/{chunk-QRVEI6J3.mjs → chunk-BQBSYM2I.mjs} +1 -3
  11. package/dist/{chunk-BFB3UH7V.mjs → chunk-C2QMHKLT.mjs} +1 -1
  12. package/dist/chunk-CEEVYRQA.mjs +61 -0
  13. package/dist/{chunk-VJ3GC7W3.mjs → chunk-CXGZSIQN.mjs} +4 -30
  14. package/dist/{chunk-VLELWBEW.mjs → chunk-E2BNCA6L.mjs} +1 -1
  15. package/dist/{chunk-46Q4335I.mjs → chunk-F73QFUZH.mjs} +10 -20
  16. package/dist/{chunk-Q35PNFJ7.mjs → chunk-FBNEIYSE.mjs} +1 -1
  17. package/dist/{chunk-HO6S3ECM.mjs → chunk-G4WLCKFV.mjs} +1 -1
  18. package/dist/{chunk-ODO6BUOF.mjs → chunk-HRHXZIX5.mjs} +1 -3
  19. package/dist/{chunk-IXR4BQSQ.mjs → chunk-I6QVWQCD.mjs} +1 -1
  20. package/dist/{chunk-PV7PNA6K.mjs → chunk-IKDTOCSY.mjs} +2 -4
  21. package/dist/{chunk-Q5SGEIJV.mjs → chunk-IXKE6LHN.mjs} +1 -1
  22. package/dist/{chunk-OL65UQHQ.mjs → chunk-JCH2BG24.mjs} +26 -60
  23. package/dist/{chunk-PV3Y7QGK.mjs → chunk-LHWJQNLG.mjs} +3 -3
  24. package/dist/{chunk-JTG5R5YV.mjs → chunk-MS4PDUSU.mjs} +284 -58
  25. package/dist/{chunk-VFH632TB.mjs → chunk-SDNG4XL6.mjs} +1 -1
  26. package/dist/{chunk-DFL5CV75.mjs → chunk-T6MMCOX6.mjs} +1 -1
  27. package/dist/{chunk-6TX73WG7.mjs → chunk-TCE5L44O.mjs} +3 -2
  28. package/dist/{chunk-HROG643K.mjs → chunk-W5QJ57PU.mjs} +1 -1
  29. package/dist/{chunk-EW72FINW.mjs → chunk-XVZGXPIX.mjs} +1 -1
  30. package/dist/components/ui/about-you-form.mjs +3 -3
  31. package/dist/components/ui/add-column-modal.js +56 -227
  32. package/dist/components/ui/add-column-modal.mjs +1 -2
  33. package/dist/components/ui/ai-conversations.js +278 -58
  34. package/dist/components/ui/ai-conversations.mjs +1 -1
  35. package/dist/components/ui/appointment-action-dialogs.mjs +3 -3
  36. package/dist/components/ui/appointment-availability-settings.js +2 -28
  37. package/dist/components/ui/appointment-availability-settings.mjs +4 -4
  38. package/dist/components/ui/appointment-book-dialog.js +11 -21
  39. package/dist/components/ui/appointment-book-dialog.mjs +3 -3
  40. package/dist/components/ui/appointment-calendar-view.mjs +2 -2
  41. package/dist/components/ui/appointment-detail-sheet.mjs +4 -4
  42. package/dist/components/ui/appointment-upcoming-card.mjs +3 -3
  43. package/dist/components/ui/bank-statement-generate-dialog.mjs +4 -4
  44. package/dist/components/ui/calendar.mjs +2 -2
  45. package/dist/components/ui/dashboard-transactions-table.mjs +1 -1
  46. package/dist/components/ui/date-picker.mjs +3 -3
  47. package/dist/components/ui/financial-cards.mjs +2 -2
  48. package/dist/components/ui/financial-sections.mjs +3 -3
  49. package/dist/components/ui/integration-card.js +326 -0
  50. package/dist/components/ui/integration-card.mjs +11 -0
  51. package/dist/components/ui/kanban-column.js +151 -243
  52. package/dist/components/ui/kanban-column.mjs +3 -4
  53. package/dist/components/ui/loan-application-cards.mjs +1 -1
  54. package/dist/components/ui/onboarding-layout.js +65 -4
  55. package/dist/components/ui/onboarding-layout.mjs +6 -4
  56. package/dist/components/ui/opportunity-card.js +126 -216
  57. package/dist/components/ui/opportunity-card.mjs +2 -3
  58. package/dist/components/ui/opportunity-edit-modals.mjs +4 -4
  59. package/dist/components/ui/opportunity-summary-tab.mjs +6 -6
  60. package/dist/components/ui/pipeline-board.js +167 -261
  61. package/dist/components/ui/pipeline-board.mjs +4 -5
  62. package/dist/components/ui/pipeline-chart.js +128 -55
  63. package/dist/components/ui/pipeline-chart.mjs +2 -1
  64. package/dist/components/ui/pipeline-dialogs.mjs +4 -4
  65. package/dist/components/ui/savings-goal-modal.mjs +3 -3
  66. package/dist/components/ui/selectable-card.js +163 -0
  67. package/dist/components/ui/selectable-card.mjs +9 -0
  68. package/dist/components/ui/sidebar-nav.js +2 -4
  69. package/dist/components/ui/sidebar-nav.mjs +1 -1
  70. package/dist/components/ui/signup-shell.js +3 -2
  71. package/dist/components/ui/signup-shell.mjs +2 -2
  72. package/dist/components/ui/stepper.js +3 -2
  73. package/dist/components/ui/stepper.mjs +1 -1
  74. package/dist/index.js +2122 -1881
  75. package/dist/index.mjs +56 -46
  76. package/dist/styles.css +1 -1
  77. package/package.json +11 -1
  78. package/src/components/index.tsx +26 -2
  79. package/src/components/ui/add-column-modal.tsx +9 -58
  80. package/src/components/ui/ai-conversations.tsx +308 -42
  81. package/src/components/ui/appointment-availability-settings.tsx +2 -35
  82. package/src/components/ui/appointment-book-dialog.tsx +25 -48
  83. package/src/components/ui/integration-card.tsx +88 -0
  84. package/src/components/ui/kanban-column.tsx +0 -7
  85. package/src/components/ui/onboarding-layout.tsx +102 -1
  86. package/src/components/ui/opportunity-card.tsx +5 -53
  87. package/src/components/ui/pipeline-board.tsx +0 -3
  88. package/src/components/ui/pipeline-chart.tsx +47 -53
  89. package/src/components/ui/selectable-card.tsx +37 -0
  90. package/src/components/ui/sidebar-nav.tsx +0 -2
  91. package/src/components/ui/stepper.tsx +3 -2
  92. package/src/lib/format-date.ts +6 -6
  93. package/src/styles/styles-css.ts +1 -1
  94. package/tsup.config.ts +2 -0
  95. 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.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",
@@ -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,
@@ -473,7 +475,19 @@ export type {
473
475
  ContactAlertQueryBuilderProps,
474
476
  ContactAlertDialogProps,
475
477
  } from "./ui/contact-alert-dialog";
476
- export type { ImmutableTree, JsonGroup } from "@react-awesome-query-builder/ui";
478
+ export type {
479
+ ImmutableTree,
480
+ JsonGroup,
481
+ JsonRule,
482
+ JsonItem,
483
+ JsonTree,
484
+ JsonAnyRule,
485
+ JsonRuleGroup,
486
+ JsonRuleGroupExt,
487
+ JsonSwitchGroup,
488
+ JsonCaseGroup,
489
+ Config,
490
+ } from "@react-awesome-query-builder/ui";
477
491
 
478
492
  export {
479
493
  ShareDetailsDialog,
@@ -801,16 +815,26 @@ export type {
801
815
  InputOTPSeparatorProps,
802
816
  } from "./ui/input-otp";
803
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
+
804
824
  export { KanbanColumn } from "./ui/kanban-column";
805
825
  export type { KanbanColumnProps, KanbanColumnStage } from "./ui/kanban-column";
806
826
 
807
827
  export { Label } from "./ui/label";
808
828
  export type { LabelProps } from "./ui/label";
809
829
 
810
- export { OnboardingLayout } from "./ui/onboarding-layout";
830
+ export {
831
+ OnboardingLayout,
832
+ OnboardingPanelLayout,
833
+ } from "./ui/onboarding-layout";
811
834
  export type {
812
835
  OnboardingStep,
813
836
  OnboardingLayoutProps,
837
+ OnboardingPanelLayoutProps,
814
838
  } from "./ui/onboarding-layout";
815
839
 
816
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 with optional AI agent assignment)
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" | "aiAgentId">>,
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
- ? "Save changes"
333
- : "Add column"}
283
+ ? "Save changes"
284
+ : "Add column"}
334
285
  </Button>
335
286
  </DialogFooter>
336
287
  </DialogContent>