@wealthx/shadcn 1.5.7 → 1.5.9

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 (169) hide show
  1. package/.turbo/turbo-build.log +167 -167
  2. package/CHANGELOG.md +12 -0
  3. package/dist/{chunk-XHGISOX5.mjs → chunk-33VT74R4.mjs} +1 -1
  4. package/dist/{chunk-M4LTX3MH.mjs → chunk-3C4DZTGA.mjs} +1 -1
  5. package/dist/{chunk-HRHXZIX5.mjs → chunk-3CGM3QXQ.mjs} +3 -3
  6. package/dist/{chunk-QBPNYXTI.mjs → chunk-3NJPNSJG.mjs} +1 -1
  7. package/dist/{chunk-6SR4K5T5.mjs → chunk-3S6KVFF5.mjs} +1 -1
  8. package/dist/{chunk-7KT5HPYM.mjs → chunk-3VZ6CYY2.mjs} +1 -1
  9. package/dist/{chunk-T6MMCOX6.mjs → chunk-4BHDDLWK.mjs} +1 -1
  10. package/dist/{chunk-KLJLDNCA.mjs → chunk-4LLTZ45R.mjs} +1 -1
  11. package/dist/{chunk-5WCIGJ3E.mjs → chunk-54MTIKNC.mjs} +1 -1
  12. package/dist/{chunk-MS4PDUSU.mjs → chunk-54TRNCID.mjs} +3 -3
  13. package/dist/{chunk-KCKYGQVQ.mjs → chunk-5DAQU3B6.mjs} +1 -1
  14. package/dist/{chunk-CKPEFZNH.mjs → chunk-5LZZYODG.mjs} +2 -2
  15. package/dist/{chunk-2A53WPEC.mjs → chunk-5YVJSKFH.mjs} +2 -2
  16. package/dist/{chunk-JUBUN65Q.mjs → chunk-5YWUGE6F.mjs} +1 -1
  17. package/dist/{chunk-K7WSRWOU.mjs → chunk-6LWCFAB4.mjs} +1 -1
  18. package/dist/{chunk-IXKE6LHN.mjs → chunk-6MDNL5I2.mjs} +3 -3
  19. package/dist/{chunk-3QAQQBCM.mjs → chunk-6U4NQGVM.mjs} +2 -2
  20. package/dist/{chunk-V4CUTCHS.mjs → chunk-77L3UPBW.mjs} +1 -1
  21. package/dist/{chunk-CW32WTZU.mjs → chunk-7UIL5UN3.mjs} +1 -1
  22. package/dist/{chunk-3OOUI5TO.mjs → chunk-AANINK2B.mjs} +2 -2
  23. package/dist/{chunk-XN37434W.mjs → chunk-B3CTBLIY.mjs} +2 -2
  24. package/dist/{chunk-XTWAJWCQ.mjs → chunk-BAONSY54.mjs} +1 -1
  25. package/dist/{chunk-XIY5DJXI.mjs → chunk-BXL74CM2.mjs} +1 -1
  26. package/dist/{chunk-OYBIUEGE.mjs → chunk-BZGFW6L7.mjs} +1 -1
  27. package/dist/{chunk-BD3DWDT4.mjs → chunk-CEYEK3TI.mjs} +1 -1
  28. package/dist/{chunk-I3UDLWQ7.mjs → chunk-D3HKFRQO.mjs} +1 -1
  29. package/dist/{chunk-3AREQTZU.mjs → chunk-DCKT635J.mjs} +1 -1
  30. package/dist/{chunk-BQBSYM2I.mjs → chunk-E5EDZQ5J.mjs} +1 -1
  31. package/dist/{chunk-QHJDGB54.mjs → chunk-EAKRTKHJ.mjs} +2 -2
  32. package/dist/{chunk-KB7MZMED.mjs → chunk-FGMDBJCF.mjs} +1 -1
  33. package/dist/{chunk-S4CTM3UE.mjs → chunk-FRCTOAKZ.mjs} +35 -4
  34. package/dist/{chunk-K7TWMLLW.mjs → chunk-FW4U543X.mjs} +4 -4
  35. package/dist/{chunk-PGR53HMH.mjs → chunk-G2W754UJ.mjs} +1 -1
  36. package/dist/{chunk-F73QFUZH.mjs → chunk-GS47ZSSA.mjs} +2 -2
  37. package/dist/{chunk-AHKHVBWR.mjs → chunk-GYWOD2YI.mjs} +1 -1
  38. package/dist/{chunk-HNDTLT5X.mjs → chunk-H5DTKPJ2.mjs} +1 -1
  39. package/dist/{chunk-C6SWS7OW.mjs → chunk-HB5BKRMH.mjs} +1 -1
  40. package/dist/{chunk-WUA546RX.mjs → chunk-IFSQWDRN.mjs} +1 -1
  41. package/dist/{chunk-KAD26MCC.mjs → chunk-IRZWYTGV.mjs} +1 -1
  42. package/dist/{chunk-AL6GOL2Y.mjs → chunk-IW33VLL5.mjs} +1 -1
  43. package/dist/{chunk-A6ER36CW.mjs → chunk-JGBV3XMQ.mjs} +1 -1
  44. package/dist/{chunk-Y6UM3VTN.mjs → chunk-JUMEIPII.mjs} +1 -1
  45. package/dist/{chunk-SDNG4XL6.mjs → chunk-K4WDPVFY.mjs} +3 -3
  46. package/dist/{chunk-NCUH54IZ.mjs → chunk-LI2CTS5O.mjs} +1 -1
  47. package/dist/{chunk-F24U4QQQ.mjs → chunk-LPVXO3TD.mjs} +1 -1
  48. package/dist/{chunk-CXGZSIQN.mjs → chunk-MNMSHB2J.mjs} +32 -6
  49. package/dist/{chunk-J5NW5NCT.mjs → chunk-NCMV3LTP.mjs} +1 -1
  50. package/dist/{chunk-I6QVWQCD.mjs → chunk-O5CP6VP6.mjs} +3 -3
  51. package/dist/{chunk-TGVXRD53.mjs → chunk-OZ2R6ERP.mjs} +1 -1
  52. package/dist/{chunk-7OLKVKJF.mjs → chunk-PCULNQWA.mjs} +2 -2
  53. package/dist/{chunk-CDVG7SFT.mjs → chunk-PGJRZHN7.mjs} +1 -1
  54. package/dist/{chunk-IKDTOCSY.mjs → chunk-RSEVIQEO.mjs} +1 -1
  55. package/dist/{chunk-GNER6MCO.mjs → chunk-SSUK6C2K.mjs} +1 -1
  56. package/dist/{chunk-XVZGXPIX.mjs → chunk-TAFL4WDY.mjs} +51 -38
  57. package/dist/{chunk-OECGKCVF.mjs → chunk-TLLD5IU6.mjs} +1 -1
  58. package/dist/{chunk-C2QMHKLT.mjs → chunk-TRM3KIHT.mjs} +1 -1
  59. package/dist/{chunk-TLYSVRSK.mjs → chunk-TUC2BNUR.mjs} +3 -3
  60. package/dist/{chunk-HXU5JGLQ.mjs → chunk-UBHBIWIA.mjs} +3 -3
  61. package/dist/{chunk-TXUBGKB7.mjs → chunk-UJMVXREM.mjs} +2 -2
  62. package/dist/{chunk-TAX3KL66.mjs → chunk-USOVLDGS.mjs} +1 -1
  63. package/dist/{chunk-HF4FUBCY.mjs → chunk-UTCW5YUX.mjs} +1 -1
  64. package/dist/{chunk-JCH2BG24.mjs → chunk-UYRHYJPX.mjs} +1 -1
  65. package/dist/{chunk-BDESHD25.mjs → chunk-VLVEZHFE.mjs} +1 -1
  66. package/dist/{chunk-EUYPMDQG.mjs → chunk-VWZS32ZQ.mjs} +1 -1
  67. package/dist/{chunk-F4O2YPXJ.mjs → chunk-WHIW6KOB.mjs} +1 -1
  68. package/dist/{chunk-TOIVHWNC.mjs → chunk-WWIWRNBK.mjs} +1 -1
  69. package/dist/{chunk-2QNOPXMQ.mjs → chunk-XMP24PWA.mjs} +1 -1
  70. package/dist/{chunk-G4WLCKFV.mjs → chunk-XUCDPAVI.mjs} +2 -2
  71. package/dist/{chunk-WDTXHLYM.mjs → chunk-XYSRRDBH.mjs} +17 -11
  72. package/dist/{chunk-QAX6HCUH.mjs → chunk-ZAXZBOWI.mjs} +1 -1
  73. package/dist/{chunk-E3PQDBYI.mjs → chunk-ZFKAYRFQ.mjs} +1 -1
  74. package/dist/components/ui/about-you-form.mjs +4 -4
  75. package/dist/components/ui/add-column-modal.mjs +4 -4
  76. package/dist/components/ui/add-lead-modal.mjs +6 -6
  77. package/dist/components/ui/ai-assistant-drawer.mjs +4 -4
  78. package/dist/components/ui/ai-builder.mjs +4 -4
  79. package/dist/components/ui/ai-conversations.mjs +6 -6
  80. package/dist/components/ui/alert-dialog.mjs +3 -3
  81. package/dist/components/ui/appointment-action-dialogs.mjs +5 -5
  82. package/dist/components/ui/appointment-availability-settings.js +29 -3
  83. package/dist/components/ui/appointment-availability-settings.mjs +7 -7
  84. package/dist/components/ui/appointment-book-dialog.mjs +5 -5
  85. package/dist/components/ui/appointment-calendar-view.js +51 -38
  86. package/dist/components/ui/appointment-calendar-view.mjs +1 -1
  87. package/dist/components/ui/appointment-detail-sheet.mjs +7 -7
  88. package/dist/components/ui/appointment-upcoming-card.mjs +4 -4
  89. package/dist/components/ui/assets-liabilities-side-card.mjs +3 -3
  90. package/dist/components/ui/backoffice-alert-history-chart.mjs +3 -3
  91. package/dist/components/ui/backoffice-alert-matching-chart.mjs +3 -3
  92. package/dist/components/ui/backoffice-alerts-chart.mjs +3 -3
  93. package/dist/components/ui/backoffice-connections-chart.mjs +3 -3
  94. package/dist/components/ui/backoffice-contact-history-chart.mjs +3 -3
  95. package/dist/components/ui/backoffice-contact-matching-chart.mjs +3 -3
  96. package/dist/components/ui/backoffice-signup-steps.mjs +9 -9
  97. package/dist/components/ui/bank-statement-generate-dialog.mjs +7 -7
  98. package/dist/components/ui/bank-statement-pdf-viewer.mjs +4 -4
  99. package/dist/components/ui/borrowing-capacity-card.mjs +3 -3
  100. package/dist/components/ui/borrowing-capacity-line-chart.mjs +3 -3
  101. package/dist/components/ui/calculator-section.mjs +4 -4
  102. package/dist/components/ui/cash-balance-line-chart.mjs +3 -3
  103. package/dist/components/ui/cashflow-bar-chart.mjs +3 -3
  104. package/dist/components/ui/category-edit-dialog.mjs +4 -4
  105. package/dist/components/ui/color-picker.mjs +4 -4
  106. package/dist/components/ui/contact-alert-dialog/index.mjs +5 -5
  107. package/dist/components/ui/create-contact-modal.mjs +5 -5
  108. package/dist/components/ui/csv-import-modal.mjs +4 -4
  109. package/dist/components/ui/dashboard-transactions-table.mjs +4 -4
  110. package/dist/components/ui/data-table.mjs +6 -6
  111. package/dist/components/ui/date-picker.mjs +4 -4
  112. package/dist/components/ui/delete-contact-component.mjs +4 -4
  113. package/dist/components/ui/dialog.mjs +3 -3
  114. package/dist/components/ui/document-checklist-template.mjs +4 -4
  115. package/dist/components/ui/drawer.mjs +3 -3
  116. package/dist/components/ui/dropdown-menu.mjs +3 -3
  117. package/dist/components/ui/dynamic-tabs.mjs +3 -3
  118. package/dist/components/ui/editable-money-item.mjs +4 -4
  119. package/dist/components/ui/expense-bar-chart.mjs +3 -3
  120. package/dist/components/ui/expense-work-details.mjs +4 -4
  121. package/dist/components/ui/file-preview-dialog.mjs +6 -6
  122. package/dist/components/ui/financial-drawers.mjs +4 -4
  123. package/dist/components/ui/frontend-signup-steps.mjs +7 -7
  124. package/dist/components/ui/income-bar-chart.mjs +3 -3
  125. package/dist/components/ui/income-work-details.mjs +4 -4
  126. package/dist/components/ui/kanban-column.mjs +5 -5
  127. package/dist/components/ui/money-item-with-color-indicator.mjs +4 -4
  128. package/dist/components/ui/opportunity-card.mjs +4 -4
  129. package/dist/components/ui/opportunity-edit-modals.mjs +7 -7
  130. package/dist/components/ui/opportunity-summary-tab.mjs +8 -8
  131. package/dist/components/ui/pagination.mjs +4 -4
  132. package/dist/components/ui/password-strength-tooltip.mjs +4 -4
  133. package/dist/components/ui/pipeline-board.mjs +6 -6
  134. package/dist/components/ui/pipeline-chart.mjs +4 -4
  135. package/dist/components/ui/pipeline-dialogs.mjs +7 -7
  136. package/dist/components/ui/popover.mjs +3 -3
  137. package/dist/components/ui/property-cashflow-doughnut-chart.mjs +3 -3
  138. package/dist/components/ui/property-debt-equity-doughnut-chart.mjs +3 -3
  139. package/dist/components/ui/property-mobile-estimate-line-chart.mjs +3 -3
  140. package/dist/components/ui/property-report-dialog.mjs +4 -4
  141. package/dist/components/ui/resource-center.mjs +4 -4
  142. package/dist/components/ui/review-alerts-dialog.mjs +4 -4
  143. package/dist/components/ui/savings-goal-modal.mjs +5 -5
  144. package/dist/components/ui/scenario-drawer.mjs +3 -3
  145. package/dist/components/ui/scenario-item.mjs +4 -4
  146. package/dist/components/ui/scenario-list.mjs +4 -4
  147. package/dist/components/ui/select.mjs +3 -3
  148. package/dist/components/ui/share-details-dialog.mjs +4 -4
  149. package/dist/components/ui/sheet.mjs +3 -3
  150. package/dist/components/ui/sidebar-nav.mjs +4 -4
  151. package/dist/components/ui/signup-form-primitives.mjs +6 -6
  152. package/dist/components/ui/tooltip.mjs +3 -3
  153. package/dist/components/ui/transactions-expense-categories-doughnut-chart.mjs +3 -3
  154. package/dist/components/ui/transactions-income-expense-bar-chart.mjs +3 -3
  155. package/dist/components/ui/transactions-liabilities-breakdown-doughnut-chart.mjs +3 -3
  156. package/dist/index.js +80 -41
  157. package/dist/index.mjs +68 -68
  158. package/dist/lib/colors.js +36 -3
  159. package/dist/lib/colors.mjs +5 -1
  160. package/dist/lib/theme-provider.js +60 -13
  161. package/dist/lib/theme-provider.mjs +2 -2
  162. package/dist/styles.css +1 -1
  163. package/package.json +1 -1
  164. package/src/components/ui/appointment-availability-settings.tsx +36 -3
  165. package/src/components/ui/appointment-calendar-view.tsx +20 -7
  166. package/src/lib/colors.ts +73 -5
  167. package/src/lib/theme-provider.tsx +13 -8
  168. package/src/styles/globals.css +37 -9
  169. package/src/styles/styles-css.ts +1 -1
@@ -4,7 +4,7 @@ import {
4
4
  SelectItem,
5
5
  SelectTrigger,
6
6
  SelectValue
7
- } from "./chunk-TAX3KL66.mjs";
7
+ } from "./chunk-USOVLDGS.mjs";
8
8
  import {
9
9
  Switch
10
10
  } from "./chunk-PNSYFE3K.mjs";
@@ -24,10 +24,10 @@ import {
24
24
  DialogFooter,
25
25
  DialogHeader,
26
26
  DialogTitle
27
- } from "./chunk-NCUH54IZ.mjs";
27
+ } from "./chunk-LI2CTS5O.mjs";
28
28
  import {
29
29
  DatePicker
30
- } from "./chunk-C2QMHKLT.mjs";
30
+ } from "./chunk-TRM3KIHT.mjs";
31
31
  import {
32
32
  formatDateWithWeekday
33
33
  } from "./chunk-LHWJQNLG.mjs";
@@ -79,6 +79,32 @@ var MEETING_PLATFORM_OPTIONS = [
79
79
  { value: "microsoft-teams", label: "Microsoft Teams" },
80
80
  { value: "any", label: "Let client choose" }
81
81
  ];
82
+ var MEETING_DURATION_OPTIONS = [
83
+ { value: "15", label: "15 minutes" },
84
+ { value: "30", label: "30 minutes" },
85
+ { value: "45", label: "45 minutes" },
86
+ { value: "60", label: "60 minutes" },
87
+ { value: "90", label: "90 minutes" }
88
+ ];
89
+ var SCHEDULING_BUFFER_OPTIONS = [
90
+ { value: "0", label: "No buffer" },
91
+ { value: "5", label: "5 minutes" },
92
+ { value: "10", label: "10 minutes" },
93
+ { value: "15", label: "15 minutes" },
94
+ { value: "30", label: "30 minutes" }
95
+ ];
96
+ var MAX_SLOTS_OPTIONS = [
97
+ { value: "2", label: "2 per day" },
98
+ { value: "4", label: "4 per day" },
99
+ { value: "6", label: "6 per day" },
100
+ { value: "8", label: "8 per day" },
101
+ { value: "10", label: "10 per day" },
102
+ { value: "unlimited", label: "Unlimited" }
103
+ ];
104
+ var selectLabel = (opts, v) => {
105
+ var _a, _b;
106
+ return (_b = (_a = opts.find((o) => o.value === String(v))) == null ? void 0 : _a.label) != null ? _b : String(v != null ? v : "");
107
+ };
82
108
  var TIME_OPTIONS = (() => {
83
109
  const opts = [];
84
110
  for (let h = 6; h <= 21; h++) {
@@ -108,7 +134,7 @@ function TimeSelect({
108
134
  onValueChange: (v) => onChange(v),
109
135
  disabled,
110
136
  children: [
111
- /* @__PURE__ */ jsx(SelectTrigger, { className: "w-36", children: /* @__PURE__ */ jsx(SelectValue, {}) }),
137
+ /* @__PURE__ */ jsx(SelectTrigger, { className: "w-36", children: /* @__PURE__ */ jsx(SelectValue, { children: (v) => selectLabel(TIME_OPTIONS, v) }) }),
112
138
  /* @__PURE__ */ jsx(SelectContent, { children: TIME_OPTIONS.map((opt) => /* @__PURE__ */ jsx(SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
113
139
  ]
114
140
  }
@@ -464,7 +490,7 @@ function AppointmentAvailabilitySettings({
464
490
  value: timezone,
465
491
  onValueChange: (v) => setTimezone(v),
466
492
  children: [
467
- /* @__PURE__ */ jsx(SelectTrigger, { className: "w-56", children: /* @__PURE__ */ jsx(SelectValue, {}) }),
493
+ /* @__PURE__ */ jsx(SelectTrigger, { className: "w-56", children: /* @__PURE__ */ jsx(SelectValue, { children: (v) => selectLabel(TIMEZONE_OPTIONS, v) }) }),
468
494
  /* @__PURE__ */ jsx(SelectContent, { children: TIMEZONE_OPTIONS.map((opt) => /* @__PURE__ */ jsx(SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
469
495
  ]
470
496
  }
@@ -484,7 +510,7 @@ function AppointmentAvailabilitySettings({
484
510
  v
485
511
  ),
486
512
  children: [
487
- /* @__PURE__ */ jsx(SelectTrigger, { className: "w-48", children: /* @__PURE__ */ jsx(SelectValue, {}) }),
513
+ /* @__PURE__ */ jsx(SelectTrigger, { className: "w-48", children: /* @__PURE__ */ jsx(SelectValue, { children: (v) => selectLabel(MEETING_PLATFORM_OPTIONS, v) }) }),
488
514
  /* @__PURE__ */ jsx(SelectContent, { children: MEETING_PLATFORM_OPTIONS.map((opt) => /* @__PURE__ */ jsx(SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
489
515
  ]
490
516
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useThemeVars
3
- } from "./chunk-WDTXHLYM.mjs";
3
+ } from "./chunk-XYSRRDBH.mjs";
4
4
  import {
5
5
  cn
6
6
  } from "./chunk-AFML43VJ.mjs";
@@ -19,7 +19,7 @@ import {
19
19
  SelectItem,
20
20
  SelectTrigger,
21
21
  SelectValue
22
- } from "./chunk-TAX3KL66.mjs";
22
+ } from "./chunk-USOVLDGS.mjs";
23
23
  import {
24
24
  Spinner
25
25
  } from "./chunk-JVMXMFBB.mjs";
@@ -29,10 +29,10 @@ import {
29
29
  DialogFooter,
30
30
  DialogHeader,
31
31
  DialogTitle
32
- } from "./chunk-NCUH54IZ.mjs";
32
+ } from "./chunk-LI2CTS5O.mjs";
33
33
  import {
34
34
  DatePicker
35
- } from "./chunk-C2QMHKLT.mjs";
35
+ } from "./chunk-TRM3KIHT.mjs";
36
36
  import {
37
37
  ToggleGroup,
38
38
  ToggleGroupItem
@@ -10,7 +10,7 @@ import {
10
10
  DialogFooter,
11
11
  DialogHeader,
12
12
  DialogTitle
13
- } from "./chunk-NCUH54IZ.mjs";
13
+ } from "./chunk-LI2CTS5O.mjs";
14
14
  import {
15
15
  Label
16
16
  } from "./chunk-P7CEBZM6.mjs";
@@ -3,10 +3,10 @@ import {
3
3
  TooltipContent,
4
4
  TooltipProvider,
5
5
  TooltipTrigger
6
- } from "./chunk-6SR4K5T5.mjs";
6
+ } from "./chunk-3S6KVFF5.mjs";
7
7
  import {
8
8
  useThemeVars
9
- } from "./chunk-WDTXHLYM.mjs";
9
+ } from "./chunk-XYSRRDBH.mjs";
10
10
  import {
11
11
  formatCurrencyAbbrev
12
12
  } from "./chunk-MN5NYQCL.mjs";
@@ -27,7 +27,7 @@ import {
27
27
  } from "./chunk-OWFQSXVD.mjs";
28
28
  import {
29
29
  useThemeVars
30
- } from "./chunk-WDTXHLYM.mjs";
30
+ } from "./chunk-XYSRRDBH.mjs";
31
31
  import {
32
32
  cn
33
33
  } from "./chunk-AFML43VJ.mjs";
@@ -3,7 +3,7 @@ import {
3
3
  TooltipContent,
4
4
  TooltipProvider,
5
5
  TooltipTrigger
6
- } from "./chunk-6SR4K5T5.mjs";
6
+ } from "./chunk-3S6KVFF5.mjs";
7
7
  import {
8
8
  Accordion,
9
9
  AccordionContent,
@@ -4,7 +4,7 @@ import {
4
4
  SelectItem,
5
5
  SelectTrigger,
6
6
  SelectValue
7
- } from "./chunk-TAX3KL66.mjs";
7
+ } from "./chunk-USOVLDGS.mjs";
8
8
  import {
9
9
  Button,
10
10
  buttonVariants
@@ -264,11 +264,12 @@ function generateMonthGrid(year, month) {
264
264
  }
265
265
  function MonthView({
266
266
  appointments,
267
+ viewDate,
267
268
  today,
268
269
  onSelectAppointment
269
270
  }) {
270
- const todayDate = /* @__PURE__ */ new Date(today + "T00:00:00");
271
- const grid = generateMonthGrid(todayDate.getFullYear(), todayDate.getMonth());
271
+ const vd = /* @__PURE__ */ new Date(viewDate + "T00:00:00");
272
+ const grid = generateMonthGrid(vd.getFullYear(), vd.getMonth());
272
273
  const toIso = (d) => `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(d.getDate()).padStart(2, "0")}`;
273
274
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
274
275
  /* @__PURE__ */ jsx("div", { className: "grid grid-cols-7 border-b border-border", children: MONTH_DAY_HEADERS.map((d) => /* @__PURE__ */ jsx(
@@ -337,15 +338,18 @@ function AppointmentCalendarView({
337
338
  periodLabel,
338
339
  weekDays,
339
340
  hours = DEFAULT_HOURS,
341
+ viewDate,
340
342
  dayViewDate,
341
343
  defaultView = "week",
342
344
  onPrev,
343
345
  onNext,
344
346
  onToday,
347
+ onViewChange,
345
348
  onSelectAppointment,
346
349
  toolbarActions
347
350
  }) {
348
- const dayDate = dayViewDate != null ? dayViewDate : today;
351
+ var _a;
352
+ const effectiveViewDate = (_a = viewDate != null ? viewDate : dayViewDate) != null ? _a : today;
349
353
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col border border-border bg-card", children: [
350
354
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4 px-4 py-3", children: [
351
355
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
@@ -375,41 +379,50 @@ function AppointmentCalendarView({
375
379
  toolbarActions && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: toolbarActions })
376
380
  ] }),
377
381
  /* @__PURE__ */ jsx(Separator, {}),
378
- /* @__PURE__ */ jsxs(Tabs, { defaultValue: defaultView, className: "flex flex-col", children: [
379
- /* @__PURE__ */ jsx("div", { className: "px-4 pt-3", children: /* @__PURE__ */ jsxs(TabsList, { children: [
380
- /* @__PURE__ */ jsx(TabsTrigger, { value: "day", children: "Day" }),
381
- /* @__PURE__ */ jsx(TabsTrigger, { value: "week", children: "Week" }),
382
- /* @__PURE__ */ jsx(TabsTrigger, { value: "month", children: "Month" })
383
- ] }) }),
384
- /* @__PURE__ */ jsx(TabsContent, { value: "day", className: "mt-0", children: /* @__PURE__ */ jsx(
385
- DayView,
386
- {
387
- appointments,
388
- date: dayDate,
389
- today,
390
- hours,
391
- onSelectAppointment
392
- }
393
- ) }),
394
- /* @__PURE__ */ jsx(TabsContent, { value: "week", className: "mt-0", children: /* @__PURE__ */ jsx(
395
- WeekView,
396
- {
397
- appointments,
398
- weekDays,
399
- today,
400
- hours,
401
- onSelectAppointment
402
- }
403
- ) }),
404
- /* @__PURE__ */ jsx(TabsContent, { value: "month", className: "mt-0", children: /* @__PURE__ */ jsx(
405
- MonthView,
406
- {
407
- appointments,
408
- today,
409
- onSelectAppointment
410
- }
411
- ) })
412
- ] })
382
+ /* @__PURE__ */ jsxs(
383
+ Tabs,
384
+ {
385
+ defaultValue: defaultView,
386
+ onValueChange: (v) => onViewChange == null ? void 0 : onViewChange(v),
387
+ className: "flex flex-col",
388
+ children: [
389
+ /* @__PURE__ */ jsx("div", { className: "px-4 pt-3", children: /* @__PURE__ */ jsxs(TabsList, { children: [
390
+ /* @__PURE__ */ jsx(TabsTrigger, { value: "day", children: "Day" }),
391
+ /* @__PURE__ */ jsx(TabsTrigger, { value: "week", children: "Week" }),
392
+ /* @__PURE__ */ jsx(TabsTrigger, { value: "month", children: "Month" })
393
+ ] }) }),
394
+ /* @__PURE__ */ jsx(TabsContent, { value: "day", className: "mt-0", children: /* @__PURE__ */ jsx(
395
+ DayView,
396
+ {
397
+ appointments,
398
+ date: effectiveViewDate,
399
+ today,
400
+ hours,
401
+ onSelectAppointment
402
+ }
403
+ ) }),
404
+ /* @__PURE__ */ jsx(TabsContent, { value: "week", className: "mt-0", children: /* @__PURE__ */ jsx(
405
+ WeekView,
406
+ {
407
+ appointments,
408
+ weekDays,
409
+ today,
410
+ hours,
411
+ onSelectAppointment
412
+ }
413
+ ) }),
414
+ /* @__PURE__ */ jsx(TabsContent, { value: "month", className: "mt-0", children: /* @__PURE__ */ jsx(
415
+ MonthView,
416
+ {
417
+ appointments,
418
+ viewDate: effectiveViewDate,
419
+ today,
420
+ onSelectAppointment
421
+ }
422
+ ) })
423
+ ]
424
+ }
425
+ )
413
426
  ] });
414
427
  }
415
428
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Sheet,
3
3
  SheetContent
4
- } from "./chunk-J5NW5NCT.mjs";
4
+ } from "./chunk-NCMV3LTP.mjs";
5
5
  import {
6
6
  Spinner
7
7
  } from "./chunk-JVMXMFBB.mjs";
@@ -2,7 +2,7 @@ import {
2
2
  Popover,
3
3
  PopoverContent,
4
4
  PopoverTrigger
5
- } from "./chunk-C6SWS7OW.mjs";
5
+ } from "./chunk-HB5BKRMH.mjs";
6
6
  import {
7
7
  Calendar
8
8
  } from "./chunk-FBNEIYSE.mjs";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-GTAVSBDO.mjs";
4
4
  import {
5
5
  PaginationNavButtons
6
- } from "./chunk-GNER6MCO.mjs";
6
+ } from "./chunk-SSUK6C2K.mjs";
7
7
  import {
8
8
  Table,
9
9
  TableBody,
@@ -21,7 +21,7 @@ import {
21
21
  SelectItem,
22
22
  SelectTrigger,
23
23
  SelectValue
24
- } from "./chunk-TAX3KL66.mjs";
24
+ } from "./chunk-USOVLDGS.mjs";
25
25
  import {
26
26
  DropdownMenu,
27
27
  DropdownMenuCheckboxItem,
@@ -30,7 +30,7 @@ import {
30
30
  DropdownMenuLabel,
31
31
  DropdownMenuSeparator,
32
32
  DropdownMenuTrigger
33
- } from "./chunk-HNDTLT5X.mjs";
33
+ } from "./chunk-H5DTKPJ2.mjs";
34
34
  import {
35
35
  Input
36
36
  } from "./chunk-LBTHZSBT.mjs";
@@ -18,7 +18,7 @@ import {
18
18
  SelectItem,
19
19
  SelectTrigger,
20
20
  SelectValue
21
- } from "./chunk-TAX3KL66.mjs";
21
+ } from "./chunk-USOVLDGS.mjs";
22
22
  import {
23
23
  Spinner
24
24
  } from "./chunk-JVMXMFBB.mjs";
@@ -27,14 +27,14 @@ import {
27
27
  TooltipContent,
28
28
  TooltipProvider,
29
29
  TooltipTrigger
30
- } from "./chunk-6SR4K5T5.mjs";
30
+ } from "./chunk-3S6KVFF5.mjs";
31
31
  import {
32
32
  Dialog,
33
33
  DialogContent,
34
34
  DialogFooter,
35
35
  DialogHeader,
36
36
  DialogTitle
37
- } from "./chunk-NCUH54IZ.mjs";
37
+ } from "./chunk-LI2CTS5O.mjs";
38
38
  import {
39
39
  Button
40
40
  } from "./chunk-NOOEKOWY.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PasswordStrengthTooltip
3
- } from "./chunk-F4O2YPXJ.mjs";
3
+ } from "./chunk-WHIW6KOB.mjs";
4
4
  import {
5
5
  Field,
6
6
  FieldError,
@@ -12,7 +12,7 @@ import {
12
12
  SelectItem,
13
13
  SelectTrigger,
14
14
  SelectValue
15
- } from "./chunk-TAX3KL66.mjs";
15
+ } from "./chunk-USOVLDGS.mjs";
16
16
  import {
17
17
  Input
18
18
  } from "./chunk-LBTHZSBT.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useThemeVars
3
- } from "./chunk-WDTXHLYM.mjs";
3
+ } from "./chunk-XYSRRDBH.mjs";
4
4
  import {
5
5
  cn
6
6
  } from "./chunk-AFML43VJ.mjs";
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-3VDET466.mjs";
23
23
  import {
24
24
  useThemeVars
25
- } from "./chunk-WDTXHLYM.mjs";
25
+ } from "./chunk-XYSRRDBH.mjs";
26
26
  import {
27
27
  formatCurrency,
28
28
  formatCurrencyAbbrev
@@ -7,7 +7,7 @@ import {
7
7
  DialogFooter,
8
8
  DialogHeader,
9
9
  DialogTitle
10
- } from "./chunk-NCUH54IZ.mjs";
10
+ } from "./chunk-LI2CTS5O.mjs";
11
11
  import {
12
12
  Label
13
13
  } from "./chunk-P7CEBZM6.mjs";
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-3VDET466.mjs";
19
19
  import {
20
20
  useThemeVars
21
- } from "./chunk-WDTXHLYM.mjs";
21
+ } from "./chunk-XYSRRDBH.mjs";
22
22
  import {
23
23
  formatCurrencyAbbrev
24
24
  } from "./chunk-MN5NYQCL.mjs";
@@ -3,7 +3,7 @@ import {
3
3
  DialogContent,
4
4
  DialogHeader,
5
5
  DialogTitle
6
- } from "./chunk-NCUH54IZ.mjs";
6
+ } from "./chunk-LI2CTS5O.mjs";
7
7
  import {
8
8
  Badge
9
9
  } from "./chunk-WL6WVV47.mjs";
@@ -2,7 +2,7 @@ import {
2
2
  Popover,
3
3
  PopoverContent,
4
4
  PopoverTrigger
5
- } from "./chunk-C6SWS7OW.mjs";
5
+ } from "./chunk-HB5BKRMH.mjs";
6
6
 
7
7
  // src/components/ui/password-strength-tooltip.tsx
8
8
  import { Check, X } from "lucide-react";
@@ -27,7 +27,7 @@ import {
27
27
  } from "./chunk-OWFQSXVD.mjs";
28
28
  import {
29
29
  useThemeVars
30
- } from "./chunk-WDTXHLYM.mjs";
30
+ } from "./chunk-XYSRRDBH.mjs";
31
31
  import {
32
32
  cn
33
33
  } from "./chunk-AFML43VJ.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  IncomeBarChart
3
- } from "./chunk-KAD26MCC.mjs";
3
+ } from "./chunk-IRZWYTGV.mjs";
4
4
  import {
5
5
  RadioGroup,
6
6
  RadioGroupItem
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  AppointmentConfirmDialog,
3
3
  AppointmentRescheduleDialog
4
- } from "./chunk-3OOUI5TO.mjs";
4
+ } from "./chunk-AANINK2B.mjs";
5
5
  import {
6
6
  Sheet,
7
7
  SheetContent
8
- } from "./chunk-J5NW5NCT.mjs";
8
+ } from "./chunk-NCMV3LTP.mjs";
9
9
  import {
10
10
  Separator
11
11
  } from "./chunk-2GIYVERS.mjs";
@@ -1,7 +1,12 @@
1
1
  import {
2
+ generatePrimaryShades,
2
3
  getContrastText,
3
4
  hexToOklch
4
- } from "./chunk-S4CTM3UE.mjs";
5
+ } from "./chunk-FRCTOAKZ.mjs";
6
+ import {
7
+ __spreadProps,
8
+ __spreadValues
9
+ } from "./chunk-WNQUEZJF.mjs";
5
10
 
6
11
  // src/lib/theme-provider.tsx
7
12
  import { createContext, useContext, useMemo } from "react";
@@ -26,7 +31,7 @@ function ThemeProvider({
26
31
  const primaryFgOklch = hexToOklch(getContrastText(primary));
27
32
  const secondaryOklch = hexToOklch(secondary);
28
33
  const secondaryFgOklch = hexToOklch(getContrastText(secondary));
29
- return {
34
+ return __spreadProps(__spreadValues({
30
35
  // Brand primary — used by buttons, links, focus rings, active states
31
36
  "--primary": primaryOklch,
32
37
  "--primary-foreground": primaryFgOklch,
@@ -43,17 +48,18 @@ function ThemeProvider({
43
48
  "--font-family-sans": fontFamily,
44
49
  // Legacy compat (used by existing WealthX apps)
45
50
  "--theme-primary": primary,
46
- "--theme-secondary": secondary,
47
- // Pipeline stage palette — 5 opacity levels of primary, tenant-adaptive.
48
- // Defined here (not :root) so they react to tenant theme switches.
49
- "--color-stage-1": primaryOklch,
50
- "--color-stage-2": `color-mix(in oklch, ${primaryOklch} 80%, transparent)`,
51
- "--color-stage-3": `color-mix(in oklch, ${primaryOklch} 60%, transparent)`,
52
- "--color-stage-4": `color-mix(in oklch, ${primaryOklch} 40%, transparent)`,
53
- "--color-stage-5": `color-mix(in oklch, ${primaryOklch} 20%, transparent)`,
51
+ "--theme-secondary": secondary
52
+ }, generatePrimaryShades(primary)), {
53
+ // Pipeline stage palette maps stage slots to primary shades.
54
+ // stage-1 = darkest visible, stage-5 = lightest visible on white bg.
55
+ "--color-stage-1": `var(--primary-600)`,
56
+ "--color-stage-2": `var(--primary-400)`,
57
+ "--color-stage-3": `var(--primary-300)`,
58
+ "--color-stage-4": `var(--primary-200)`,
59
+ "--color-stage-5": `var(--primary-100)`,
54
60
  // WCAG-computed contrast text for any primary-shaded background
55
61
  "--color-stage-fg": primaryFgOklch
56
- };
62
+ });
57
63
  }, [primary, secondary, fontFamily, injectCssVariables]);
58
64
  return /* @__PURE__ */ jsx(ThemeVarsContext.Provider, { value: vars, children: /* @__PURE__ */ jsx("div", { "data-wealthx-theme": true, style: vars, children }) });
59
65
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useThemeVars
3
- } from "./chunk-WDTXHLYM.mjs";
3
+ } from "./chunk-XYSRRDBH.mjs";
4
4
  import {
5
5
  cn
6
6
  } from "./chunk-AFML43VJ.mjs";
@@ -27,7 +27,7 @@ import {
27
27
  } from "./chunk-OWFQSXVD.mjs";
28
28
  import {
29
29
  useThemeVars
30
- } from "./chunk-WDTXHLYM.mjs";
30
+ } from "./chunk-XYSRRDBH.mjs";
31
31
  import {
32
32
  cn
33
33
  } from "./chunk-AFML43VJ.mjs";
@@ -3,8 +3,8 @@ import {
3
3
  } from "../../chunk-FFXTQTB4.mjs";
4
4
  import {
5
5
  DatePicker
6
- } from "../../chunk-C2QMHKLT.mjs";
7
- import "../../chunk-C6SWS7OW.mjs";
6
+ } from "../../chunk-TRM3KIHT.mjs";
7
+ import "../../chunk-HB5BKRMH.mjs";
8
8
  import "../../chunk-FBNEIYSE.mjs";
9
9
  import "../../chunk-LHWJQNLG.mjs";
10
10
  import {
@@ -15,8 +15,8 @@ import "../../chunk-6QAFGZC2.mjs";
15
15
  import {
16
16
  Input
17
17
  } from "../../chunk-LBTHZSBT.mjs";
18
- import "../../chunk-WDTXHLYM.mjs";
19
- import "../../chunk-S4CTM3UE.mjs";
18
+ import "../../chunk-XYSRRDBH.mjs";
19
+ import "../../chunk-FRCTOAKZ.mjs";
20
20
  import "../../chunk-NOOEKOWY.mjs";
21
21
  import "../../chunk-R4HCRDU5.mjs";
22
22
  import {
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  AddColumnModal
3
- } from "../../chunk-JCH2BG24.mjs";
3
+ } from "../../chunk-UYRHYJPX.mjs";
4
4
  import "../../chunk-2GIYVERS.mjs";
5
- import "../../chunk-NCUH54IZ.mjs";
5
+ import "../../chunk-LI2CTS5O.mjs";
6
6
  import "../../chunk-P7CEBZM6.mjs";
7
7
  import "../../chunk-LBTHZSBT.mjs";
8
- import "../../chunk-WDTXHLYM.mjs";
9
- import "../../chunk-S4CTM3UE.mjs";
8
+ import "../../chunk-XYSRRDBH.mjs";
9
+ import "../../chunk-FRCTOAKZ.mjs";
10
10
  import "../../chunk-NOOEKOWY.mjs";
11
11
  import "../../chunk-R4HCRDU5.mjs";
12
12
  import "../../chunk-AFML43VJ.mjs";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  AddLeadModal
3
- } from "../../chunk-XN37434W.mjs";
4
- import "../../chunk-GNER6MCO.mjs";
3
+ } from "../../chunk-B3CTBLIY.mjs";
4
+ import "../../chunk-SSUK6C2K.mjs";
5
5
  import "../../chunk-GT3RU6GA.mjs";
6
6
  import "../../chunk-IKXYTCSB.mjs";
7
- import "../../chunk-TAX3KL66.mjs";
7
+ import "../../chunk-USOVLDGS.mjs";
8
8
  import "../../chunk-JVMXMFBB.mjs";
9
- import "../../chunk-NCUH54IZ.mjs";
9
+ import "../../chunk-LI2CTS5O.mjs";
10
10
  import "../../chunk-LBTHZSBT.mjs";
11
- import "../../chunk-WDTXHLYM.mjs";
12
- import "../../chunk-S4CTM3UE.mjs";
11
+ import "../../chunk-XYSRRDBH.mjs";
12
+ import "../../chunk-FRCTOAKZ.mjs";
13
13
  import "../../chunk-NOOEKOWY.mjs";
14
14
  import "../../chunk-R4HCRDU5.mjs";
15
15
  import "../../chunk-AFML43VJ.mjs";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  AiAssistantDrawer
3
- } from "../../chunk-CW32WTZU.mjs";
4
- import "../../chunk-J5NW5NCT.mjs";
3
+ } from "../../chunk-7UIL5UN3.mjs";
4
+ import "../../chunk-NCMV3LTP.mjs";
5
5
  import "../../chunk-JVMXMFBB.mjs";
6
6
  import "../../chunk-BS75ICOO.mjs";
7
7
  import "../../chunk-WL6WVV47.mjs";
8
- import "../../chunk-WDTXHLYM.mjs";
9
- import "../../chunk-S4CTM3UE.mjs";
8
+ import "../../chunk-XYSRRDBH.mjs";
9
+ import "../../chunk-FRCTOAKZ.mjs";
10
10
  import "../../chunk-NOOEKOWY.mjs";
11
11
  import "../../chunk-R4HCRDU5.mjs";
12
12
  import "../../chunk-AFML43VJ.mjs";
@@ -4,14 +4,14 @@ import {
4
4
  IntegrationInstructionCard,
5
5
  IntegrationServiceCard,
6
6
  ServiceConfigurationModal
7
- } from "../../chunk-7KT5HPYM.mjs";
7
+ } from "../../chunk-3VZ6CYY2.mjs";
8
8
  import "../../chunk-3VDET466.mjs";
9
9
  import "../../chunk-PNSYFE3K.mjs";
10
- import "../../chunk-NCUH54IZ.mjs";
10
+ import "../../chunk-LI2CTS5O.mjs";
11
11
  import "../../chunk-H6NQTIF4.mjs";
12
12
  import "../../chunk-WL6WVV47.mjs";
13
- import "../../chunk-WDTXHLYM.mjs";
14
- import "../../chunk-S4CTM3UE.mjs";
13
+ import "../../chunk-XYSRRDBH.mjs";
14
+ import "../../chunk-FRCTOAKZ.mjs";
15
15
  import "../../chunk-NOOEKOWY.mjs";
16
16
  import "../../chunk-R4HCRDU5.mjs";
17
17
  import "../../chunk-AFML43VJ.mjs";