@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
@@ -0,0 +1,37 @@
1
+ import React from "react";
2
+ import { RadioGroupItem } from "./radio-group";
3
+ import { cn } from "../../lib/utils";
4
+
5
+ export interface SelectableCardProps {
6
+ /** The value passed to the parent RadioGroup */
7
+ value: string;
8
+ /** Whether this card is currently selected */
9
+ selected?: boolean;
10
+ /** Content rendered inside the card */
11
+ children: React.ReactNode;
12
+ className?: string;
13
+ }
14
+
15
+ /**
16
+ * A card-shaped radio option. Place inside a RadioGroup.
17
+ * Hides the RadioGroupItem visually so the entire card acts as the selector.
18
+ */
19
+ export function SelectableCard({
20
+ value,
21
+ selected = false,
22
+ children,
23
+ className,
24
+ }: SelectableCardProps) {
25
+ return (
26
+ <label
27
+ className={cn(
28
+ "flex cursor-pointer flex-col items-center justify-center gap-3 border border-border p-6 text-center transition-colors hover:border-primary/50",
29
+ selected && "border-primary bg-primary/5",
30
+ className,
31
+ )}
32
+ >
33
+ <RadioGroupItem value={value} className="sr-only" />
34
+ {children}
35
+ </label>
36
+ );
37
+ }
@@ -392,7 +392,6 @@ export function SidebarNav({
392
392
  "h-8 w-auto object-contain object-left px-5 transition-opacity duration-200",
393
393
  collapsed ? "opacity-0" : "opacity-100",
394
394
  )}
395
- style={{ filter: "brightness(0) invert(1)" }}
396
395
  />
397
396
  )}
398
397
  {logoCollapsed && (
@@ -403,7 +402,6 @@ export function SidebarNav({
403
402
  "absolute inset-y-0 left-0 right-0 m-auto h-8 w-8 object-contain transition-opacity duration-200",
404
403
  collapsed ? "opacity-100" : "opacity-0",
405
404
  )}
406
- style={{ filter: "brightness(0) invert(1)" }}
407
405
  />
408
406
  )}
409
407
  </div>
@@ -279,7 +279,8 @@ function StepLabel({
279
279
  >
280
280
  <span
281
281
  className={cn(
282
- "text-sm font-medium leading-tight transition-colors",
282
+ orientation === "vertical" && "flex h-8 items-center",
283
+ "text-label-small transition-colors",
283
284
  (isActive || isCompleted) && !error && "text-foreground",
284
285
  !isActive && !isCompleted && !error && "text-muted-foreground",
285
286
  error && "text-destructive",
@@ -290,7 +291,7 @@ function StepLabel({
290
291
  {subtext && (
291
292
  <span
292
293
  className={cn(
293
- "mt-0.5 text-xs",
294
+ "mt-0.5 text-caption",
294
295
  error ? "text-destructive" : "text-muted-foreground",
295
296
  )}
296
297
  >
@@ -50,21 +50,21 @@ export function formatDateWithWeekday(iso: string): string {
50
50
  }
51
51
 
52
52
  /**
53
- * Format a Date or ISO string as "Monday, 15 January" (long weekday + day + long month).
54
- * Returns raw string on parse failure.
53
+ * Format a Date or ISO string as a long human-readable string: "Wednesday, 15 January 2026".
54
+ * Used for booking confirmations and summary displays.
55
55
  */
56
56
  export function formatDateLong(date: Date | string): string {
57
- const d = typeof date === "string" ? safeParse(date) : date;
58
57
  try {
59
- return format(d, "EEEE, d MMMM");
58
+ const d = typeof date === "string" ? safeParse(date) : date;
59
+ return format(d, "EEEE, d MMMM yyyy");
60
60
  } catch {
61
- return d.toLocaleDateString();
61
+ return String(date);
62
62
  }
63
63
  }
64
64
 
65
65
  /**
66
66
  * Format a Date or ISO string as an uppercase short weekday: "MON", "TUE", etc.
67
- * Returns raw string on parse failure.
67
+ * Used for calendar day headers.
68
68
  */
69
69
  export function formatWeekdayShort(date: Date | string): string {
70
70
  try {