@wealthx/shadcn 1.5.19 → 1.5.21

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 (107) hide show
  1. package/.turbo/turbo-build.log +151 -151
  2. package/CHANGELOG.md +12 -0
  3. package/dist/{chunk-PUGQVHQL.mjs → chunk-2SDEURIQ.mjs} +2 -2
  4. package/dist/{chunk-STDCXTUU.mjs → chunk-3S4XQTAL.mjs} +2 -2
  5. package/dist/{chunk-ANERULZS.mjs → chunk-4UCRTTVL.mjs} +1 -1
  6. package/dist/{chunk-6LWCFAB4.mjs → chunk-57QES5LX.mjs} +1 -1
  7. package/dist/{chunk-KICT4VQL.mjs → chunk-5G2M45CA.mjs} +1 -1
  8. package/dist/{chunk-K3XP5ETH.mjs → chunk-66NM4AX2.mjs} +2 -2
  9. package/dist/{chunk-LWYMZHN7.mjs → chunk-6HTE24TP.mjs} +3 -3
  10. package/dist/{chunk-SSUK6C2K.mjs → chunk-6WRDXE7A.mjs} +1 -1
  11. package/dist/{chunk-RPOIXMHW.mjs → chunk-AADJ5IT6.mjs} +1 -1
  12. package/dist/{chunk-DKH35J4U.mjs → chunk-BWG7AX6X.mjs} +2 -2
  13. package/dist/{chunk-UBHBIWIA.mjs → chunk-DK55HZPN.mjs} +2 -2
  14. package/dist/{chunk-2UA4CPE5.mjs → chunk-DWJHPNFL.mjs} +1 -1
  15. package/dist/{chunk-WZFBLRNP.mjs → chunk-ETT5JAXF.mjs} +2 -2
  16. package/dist/{chunk-GDBM2GL5.mjs → chunk-F3MIRXRF.mjs} +1 -1
  17. package/dist/{chunk-G7YCLJ53.mjs → chunk-G6RCC2SF.mjs} +2 -2
  18. package/dist/{chunk-TUC2BNUR.mjs → chunk-IG7JBQZO.mjs} +2 -2
  19. package/dist/{chunk-GAXNO4JB.mjs → chunk-INGYBZGU.mjs} +1 -1
  20. package/dist/{chunk-UXWNUMQA.mjs → chunk-IT3QJF3D.mjs} +1 -1
  21. package/dist/{chunk-45V7X563.mjs → chunk-JGUC3KCA.mjs} +2 -2
  22. package/dist/{chunk-C4ESZLGT.mjs → chunk-K4GJTP6N.mjs} +1 -1
  23. package/dist/{chunk-USOVLDGS.mjs → chunk-K6VCC2MK.mjs} +13 -1
  24. package/dist/{chunk-5BU7TNB4.mjs → chunk-NEMWMXGL.mjs} +2 -2
  25. package/dist/{chunk-B3CTBLIY.mjs → chunk-NTIFG5A7.mjs} +2 -2
  26. package/dist/{chunk-33VT74R4.mjs → chunk-OFQFD2E2.mjs} +1 -1
  27. package/dist/{chunk-LI2CTS5O.mjs → chunk-OIETBBXQ.mjs} +4 -2
  28. package/dist/{chunk-XNX3XJ2F.mjs → chunk-QJ3RSZF4.mjs} +1 -1
  29. package/dist/{chunk-3NJPNSJG.mjs → chunk-RGHKARAK.mjs} +1 -1
  30. package/dist/{chunk-RFWP2325.mjs → chunk-RJHE3V4M.mjs} +1 -1
  31. package/dist/{chunk-SH5L5VG6.mjs → chunk-RVDBYV2B.mjs} +1 -1
  32. package/dist/{chunk-SU6TPDEU.mjs → chunk-SET6GFGL.mjs} +1 -1
  33. package/dist/{chunk-JJSA772M.mjs → chunk-WIDZVCH3.mjs} +1 -1
  34. package/dist/components/ui/add-column-modal.js +4 -2
  35. package/dist/components/ui/add-column-modal.mjs +2 -2
  36. package/dist/components/ui/add-lead-modal.js +13 -6
  37. package/dist/components/ui/add-lead-modal.mjs +4 -4
  38. package/dist/components/ui/ai-builder.js +4 -2
  39. package/dist/components/ui/ai-builder.mjs +2 -2
  40. package/dist/components/ui/ai-conversations.js +4 -2
  41. package/dist/components/ui/ai-conversations.mjs +2 -2
  42. package/dist/components/ui/appointment-action-dialogs.js +4 -2
  43. package/dist/components/ui/appointment-action-dialogs.mjs +2 -2
  44. package/dist/components/ui/appointment-availability-settings.js +10 -3
  45. package/dist/components/ui/appointment-availability-settings.mjs +3 -3
  46. package/dist/components/ui/appointment-book-dialog.js +10 -3
  47. package/dist/components/ui/appointment-book-dialog.mjs +3 -3
  48. package/dist/components/ui/appointment-detail-sheet.js +4 -2
  49. package/dist/components/ui/appointment-detail-sheet.mjs +3 -3
  50. package/dist/components/ui/appointment-upcoming-card.js +4 -2
  51. package/dist/components/ui/appointment-upcoming-card.mjs +2 -2
  52. package/dist/components/ui/backoffice-signup-steps.js +6 -1
  53. package/dist/components/ui/backoffice-signup-steps.mjs +3 -3
  54. package/dist/components/ui/bank-statement-generate-dialog.js +13 -6
  55. package/dist/components/ui/bank-statement-generate-dialog.mjs +4 -4
  56. package/dist/components/ui/bank-statement-pdf-viewer.js +4 -2
  57. package/dist/components/ui/bank-statement-pdf-viewer.mjs +2 -2
  58. package/dist/components/ui/category-edit-dialog.js +4 -2
  59. package/dist/components/ui/category-edit-dialog.mjs +2 -2
  60. package/dist/components/ui/contact-alert-dialog/index.js +22 -15
  61. package/dist/components/ui/contact-alert-dialog/index.mjs +3 -3
  62. package/dist/components/ui/create-contact-modal.js +25 -18
  63. package/dist/components/ui/create-contact-modal.mjs +3 -3
  64. package/dist/components/ui/csv-import-modal.js +4 -2
  65. package/dist/components/ui/csv-import-modal.mjs +2 -2
  66. package/dist/components/ui/dashboard-transactions-table.js +4 -2
  67. package/dist/components/ui/dashboard-transactions-table.mjs +2 -2
  68. package/dist/components/ui/data-table.js +13 -8
  69. package/dist/components/ui/data-table.mjs +3 -3
  70. package/dist/components/ui/dialog.js +4 -2
  71. package/dist/components/ui/dialog.mjs +1 -1
  72. package/dist/components/ui/document-checklist-template.js +6 -1
  73. package/dist/components/ui/document-checklist-template.mjs +2 -2
  74. package/dist/components/ui/file-preview-dialog.js +13 -6
  75. package/dist/components/ui/file-preview-dialog.mjs +3 -3
  76. package/dist/components/ui/frontend-signup-steps.js +4 -0
  77. package/dist/components/ui/frontend-signup-steps.mjs +3 -3
  78. package/dist/components/ui/opportunity-edit-modals.js +54 -47
  79. package/dist/components/ui/opportunity-edit-modals.mjs +3 -3
  80. package/dist/components/ui/opportunity-summary-tab.js +59 -52
  81. package/dist/components/ui/opportunity-summary-tab.mjs +4 -4
  82. package/dist/components/ui/pagination.js +6 -1
  83. package/dist/components/ui/pagination.mjs +2 -2
  84. package/dist/components/ui/pipeline-dialogs.js +24 -17
  85. package/dist/components/ui/pipeline-dialogs.mjs +3 -3
  86. package/dist/components/ui/property-report-dialog.js +4 -2
  87. package/dist/components/ui/property-report-dialog.mjs +2 -2
  88. package/dist/components/ui/resource-center/index.js +4 -2
  89. package/dist/components/ui/resource-center/index.mjs +2 -2
  90. package/dist/components/ui/review-alerts-dialog.js +4 -2
  91. package/dist/components/ui/review-alerts-dialog.mjs +2 -2
  92. package/dist/components/ui/savings-goal-modal.js +4 -2
  93. package/dist/components/ui/savings-goal-modal.mjs +1 -1
  94. package/dist/components/ui/select.js +24 -1
  95. package/dist/components/ui/select.mjs +3 -1
  96. package/dist/components/ui/share-details-dialog.js +4 -2
  97. package/dist/components/ui/share-details-dialog.mjs +2 -2
  98. package/dist/components/ui/signup-form-primitives.js +6 -1
  99. package/dist/components/ui/signup-form-primitives.mjs +2 -2
  100. package/dist/index.js +160 -145
  101. package/dist/index.mjs +32 -30
  102. package/dist/styles.css +1 -1
  103. package/package.json +1 -1
  104. package/src/components/index.tsx +2 -0
  105. package/src/components/ui/dialog.tsx +4 -2
  106. package/src/components/ui/select.tsx +34 -1
  107. package/src/styles/styles-css.ts +1 -1
@@ -238,6 +238,7 @@ var Button = (0, import_react.forwardRef)(function Button2(_a, ref) {
238
238
  });
239
239
 
240
240
  // src/components/ui/select.tsx
241
+ var React3 = __toESM(require("react"));
241
242
  var import_lucide_react2 = require("lucide-react");
242
243
  var import_select = require("@base-ui/react/select");
243
244
 
@@ -251,6 +252,9 @@ function useThemeVars() {
251
252
 
252
253
  // src/components/ui/select.tsx
253
254
  var import_jsx_runtime3 = require("react/jsx-runtime");
255
+ var SelectPortalContext = React3.createContext(
256
+ void 0
257
+ );
254
258
  function Select(_a) {
255
259
  var props = __objRest(_a, []);
256
260
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_select.Select.Root, __spreadValues({ "data-slot": "select" }, props));
@@ -297,7 +301,8 @@ function SelectContent(_a) {
297
301
  "style"
298
302
  ]);
299
303
  const themeVars = useThemeVars();
300
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
304
+ const portalContainer = React3.useContext(SelectPortalContext);
305
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_select.Select.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
301
306
  import_select.Select.Positioner,
302
307
  {
303
308
  className: "z-[200]",
@@ -8,8 +8,8 @@ import {
8
8
  PaginationNext,
9
9
  PaginationPrevious,
10
10
  TablePagination
11
- } from "../../chunk-SSUK6C2K.mjs";
12
- import "../../chunk-USOVLDGS.mjs";
11
+ } from "../../chunk-6WRDXE7A.mjs";
12
+ import "../../chunk-K6VCC2MK.mjs";
13
13
  import "../../chunk-XYSRRDBH.mjs";
14
14
  import "../../chunk-FRCTOAKZ.mjs";
15
15
  import "../../chunk-NOOEKOWY.mjs";
@@ -64,7 +64,7 @@ __export(pipeline_dialogs_exports, {
64
64
  PutOnHoldDialog: () => PutOnHoldDialog
65
65
  });
66
66
  module.exports = __toCommonJS(pipeline_dialogs_exports);
67
- var React6 = __toESM(require("react"));
67
+ var React7 = __toESM(require("react"));
68
68
  var import_date_fns3 = require("date-fns");
69
69
 
70
70
  // src/lib/utils.ts
@@ -265,7 +265,7 @@ function DialogOverlay(_a) {
265
265
  __spreadValues({
266
266
  className: cn(
267
267
  // WealthX: foreground/50 scrim (matches Figma — foreground token at 50% opacity)
268
- "fixed inset-0 z-50 bg-foreground/50 data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0",
268
+ "fixed inset-0 z-50 bg-foreground/50 pointer-events-auto data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0",
269
269
  className
270
270
  ),
271
271
  "data-slot": "dialog-overlay"
@@ -316,7 +316,9 @@ function DialogContent(_a) {
316
316
  // max-w-[calc(100%-2rem)] acts as a viewport-edge guard on all sizes.
317
317
  // Fixed max-width is applied via inline style (sizeStyle) to avoid
318
318
  // Tailwind v4 class-scanning gaps with dynamic class lookups.
319
- "fixed left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] gap-4 border bg-background p-6 duration-200 outline-none data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
319
+ // pointer-events-auto: Vaul Drawer (Radix DismissableLayer) sets body{pointer-events:none}
320
+ // when open — dialog portals to body and must override that on its own element.
321
+ "fixed left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] gap-4 border bg-background p-6 duration-200 outline-none pointer-events-auto data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
320
322
  // "auto" → hug content (with min-width floor); fixed sizes → fill to max-width
321
323
  isAuto ? "w-auto" : "w-full",
322
324
  align === "center" ? "top-[50%] translate-y-[-50%]" : "top-4 translate-y-0",
@@ -417,9 +419,13 @@ function DialogDescription(_a) {
417
419
  }
418
420
 
419
421
  // src/components/ui/select.tsx
422
+ var React3 = __toESM(require("react"));
420
423
  var import_lucide_react3 = require("lucide-react");
421
424
  var import_select = require("@base-ui/react/select");
422
425
  var import_jsx_runtime4 = require("react/jsx-runtime");
426
+ var SelectPortalContext = React3.createContext(
427
+ void 0
428
+ );
423
429
  function Select(_a) {
424
430
  var props = __objRest(_a, []);
425
431
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_select.Select.Root, __spreadValues({ "data-slot": "select" }, props));
@@ -462,7 +468,8 @@ function SelectContent(_a) {
462
468
  "style"
463
469
  ]);
464
470
  const themeVars = useThemeVars();
465
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
471
+ const portalContainer = React3.useContext(SelectPortalContext);
472
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_select.Select.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
466
473
  import_select.Select.Positioner,
467
474
  {
468
475
  className: "z-[200]",
@@ -560,7 +567,7 @@ function SelectScrollDownButton(_a) {
560
567
  }
561
568
 
562
569
  // src/components/ui/toggle-group.tsx
563
- var React3 = __toESM(require("react"));
570
+ var React4 = __toESM(require("react"));
564
571
  var import_toggle_group = require("@base-ui/react/toggle-group");
565
572
  var import_toggle2 = require("@base-ui/react/toggle");
566
573
 
@@ -591,7 +598,7 @@ var toggleVariants = (0, import_class_variance_authority2.cva)(
591
598
 
592
599
  // src/components/ui/toggle-group.tsx
593
600
  var import_jsx_runtime6 = require("react/jsx-runtime");
594
- var ToggleGroupContext = React3.createContext({
601
+ var ToggleGroupContext = React4.createContext({
595
602
  size: "default",
596
603
  variant: "default",
597
604
  spacing: 0
@@ -643,7 +650,7 @@ function ToggleGroupItem(_a) {
643
650
  "variant",
644
651
  "size"
645
652
  ]);
646
- const context = React3.useContext(ToggleGroupContext);
653
+ const context = React4.useContext(ToggleGroupContext);
647
654
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
648
655
  import_toggle2.Toggle,
649
656
  __spreadProps(__spreadValues({
@@ -668,7 +675,7 @@ function ToggleGroupItem(_a) {
668
675
  }
669
676
 
670
677
  // src/components/ui/date-picker.tsx
671
- var React5 = __toESM(require("react"));
678
+ var React6 = __toESM(require("react"));
672
679
  var import_date_fns2 = require("date-fns");
673
680
  var import_lucide_react5 = require("lucide-react");
674
681
 
@@ -692,7 +699,7 @@ function Input(_a) {
692
699
  }
693
700
 
694
701
  // src/components/ui/calendar.tsx
695
- var React4 = __toESM(require("react"));
702
+ var React5 = __toESM(require("react"));
696
703
  var import_lucide_react4 = require("lucide-react");
697
704
  var import_react_day_picker = require("react-day-picker");
698
705
 
@@ -881,8 +888,8 @@ function CalendarDayButton(_a) {
881
888
  "modifiers"
882
889
  ]);
883
890
  const defaultClassNames = (0, import_react_day_picker.getDefaultClassNames)();
884
- const ref = React4.useRef(null);
885
- React4.useEffect(() => {
891
+ const ref = React5.useRef(null);
892
+ React5.useEffect(() => {
886
893
  var _a2;
887
894
  if (modifiers.focused) (_a2 = ref.current) == null ? void 0 : _a2.focus();
888
895
  }, [modifiers.focused]);
@@ -963,7 +970,7 @@ function DatePicker({
963
970
  className,
964
971
  calendarProps
965
972
  }) {
966
- const [open, setOpen] = React5.useState(false);
973
+ const [open, setOpen] = React6.useState(false);
967
974
  function handleDaySelect(day) {
968
975
  if (!day) {
969
976
  onChange == null ? void 0 : onChange(void 0);
@@ -1164,10 +1171,10 @@ function PutOnHoldDialog({
1164
1171
  onSave,
1165
1172
  className
1166
1173
  }) {
1167
- const [duration, setDuration] = React6.useState("90");
1168
- const [customDate, setCustomDate] = React6.useState();
1169
- const today = React6.useMemo(() => (0, import_date_fns3.startOfDay)(/* @__PURE__ */ new Date()), []);
1170
- const resolvedDate = React6.useMemo(() => {
1174
+ const [duration, setDuration] = React7.useState("90");
1175
+ const [customDate, setCustomDate] = React7.useState();
1176
+ const today = React7.useMemo(() => (0, import_date_fns3.startOfDay)(/* @__PURE__ */ new Date()), []);
1177
+ const resolvedDate = React7.useMemo(() => {
1171
1178
  if (duration === "custom") return customDate;
1172
1179
  return (0, import_date_fns3.addDays)(today, parseInt(duration, 10));
1173
1180
  }, [duration, customDate, today]);
@@ -1176,7 +1183,7 @@ function PutOnHoldDialog({
1176
1183
  if (!resolvedDate) return;
1177
1184
  onSave((0, import_date_fns3.format)(resolvedDate, "yyyy-MM-dd"));
1178
1185
  }
1179
- React6.useEffect(() => {
1186
+ React7.useEffect(() => {
1180
1187
  if (open) {
1181
1188
  setDuration("90");
1182
1189
  setCustomDate(void 0);
@@ -2,9 +2,9 @@ import {
2
2
  ChangePriorityDialog,
3
3
  DeleteOpportunityDialog,
4
4
  PutOnHoldDialog
5
- } from "../../chunk-WZFBLRNP.mjs";
6
- import "../../chunk-USOVLDGS.mjs";
7
- import "../../chunk-LI2CTS5O.mjs";
5
+ } from "../../chunk-ETT5JAXF.mjs";
6
+ import "../../chunk-K6VCC2MK.mjs";
7
+ import "../../chunk-OIETBBXQ.mjs";
8
8
  import "../../chunk-UMF6LLQK.mjs";
9
9
  import "../../chunk-FBNEIYSE.mjs";
10
10
  import "../../chunk-LHWJQNLG.mjs";
@@ -320,7 +320,7 @@ function DialogOverlay(_a) {
320
320
  __spreadValues({
321
321
  className: cn(
322
322
  // WealthX: foreground/50 scrim (matches Figma — foreground token at 50% opacity)
323
- "fixed inset-0 z-50 bg-foreground/50 data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0",
323
+ "fixed inset-0 z-50 bg-foreground/50 pointer-events-auto data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0",
324
324
  className
325
325
  ),
326
326
  "data-slot": "dialog-overlay"
@@ -371,7 +371,9 @@ function DialogContent(_a) {
371
371
  // max-w-[calc(100%-2rem)] acts as a viewport-edge guard on all sizes.
372
372
  // Fixed max-width is applied via inline style (sizeStyle) to avoid
373
373
  // Tailwind v4 class-scanning gaps with dynamic class lookups.
374
- "fixed left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] gap-4 border bg-background p-6 duration-200 outline-none data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
374
+ // pointer-events-auto: Vaul Drawer (Radix DismissableLayer) sets body{pointer-events:none}
375
+ // when open — dialog portals to body and must override that on its own element.
376
+ "fixed left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] gap-4 border bg-background p-6 duration-200 outline-none pointer-events-auto data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
375
377
  // "auto" → hug content (with min-width floor); fixed sizes → fill to max-width
376
378
  isAuto ? "w-auto" : "w-full",
377
379
  align === "center" ? "top-[50%] translate-y-[-50%]" : "top-4 translate-y-0",
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PropertyReportDialog
3
- } from "../../chunk-RFWP2325.mjs";
3
+ } from "../../chunk-RJHE3V4M.mjs";
4
4
  import "../../chunk-KPGARKFC.mjs";
5
5
  import "../../chunk-ET4MTPIY.mjs";
6
6
  import "../../chunk-ISUA7DSB.mjs";
@@ -8,7 +8,7 @@ import "../../chunk-GT3RU6GA.mjs";
8
8
  import "../../chunk-IKXYTCSB.mjs";
9
9
  import "../../chunk-JVMXMFBB.mjs";
10
10
  import "../../chunk-2GIYVERS.mjs";
11
- import "../../chunk-LI2CTS5O.mjs";
11
+ import "../../chunk-OIETBBXQ.mjs";
12
12
  import "../../chunk-LSRGA5BI.mjs";
13
13
  import "../../chunk-OWFQSXVD.mjs";
14
14
  import "../../chunk-6QAFGZC2.mjs";
@@ -523,7 +523,7 @@ function DialogOverlay(_a) {
523
523
  __spreadValues({
524
524
  className: cn(
525
525
  // WealthX: foreground/50 scrim (matches Figma — foreground token at 50% opacity)
526
- "fixed inset-0 z-50 bg-foreground/50 data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0",
526
+ "fixed inset-0 z-50 bg-foreground/50 pointer-events-auto data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0",
527
527
  className
528
528
  ),
529
529
  "data-slot": "dialog-overlay"
@@ -574,7 +574,9 @@ function DialogContent(_a) {
574
574
  // max-w-[calc(100%-2rem)] acts as a viewport-edge guard on all sizes.
575
575
  // Fixed max-width is applied via inline style (sizeStyle) to avoid
576
576
  // Tailwind v4 class-scanning gaps with dynamic class lookups.
577
- "fixed left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] gap-4 border bg-background p-6 duration-200 outline-none data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
577
+ // pointer-events-auto: Vaul Drawer (Radix DismissableLayer) sets body{pointer-events:none}
578
+ // when open — dialog portals to body and must override that on its own element.
579
+ "fixed left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] gap-4 border bg-background p-6 duration-200 outline-none pointer-events-auto data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
578
580
  // "auto" → hug content (with min-width floor); fixed sizes → fill to max-width
579
581
  isAuto ? "w-auto" : "w-full",
580
582
  align === "center" ? "top-[50%] translate-y-[-50%]" : "top-4 translate-y-0",
@@ -6,8 +6,8 @@ import {
6
6
  ResourceEmailTemplateCard,
7
7
  ResourceModal,
8
8
  ResourceVideoCard
9
- } from "../../../chunk-KICT4VQL.mjs";
10
- import "../../../chunk-LI2CTS5O.mjs";
9
+ } from "../../../chunk-5G2M45CA.mjs";
10
+ import "../../../chunk-OIETBBXQ.mjs";
11
11
  import "../../../chunk-X6RC5UWB.mjs";
12
12
  import "../../../chunk-OWFQSXVD.mjs";
13
13
  import "../../../chunk-6QAFGZC2.mjs";
@@ -262,7 +262,7 @@ function DialogOverlay(_a) {
262
262
  __spreadValues({
263
263
  className: cn(
264
264
  // WealthX: foreground/50 scrim (matches Figma — foreground token at 50% opacity)
265
- "fixed inset-0 z-50 bg-foreground/50 data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0",
265
+ "fixed inset-0 z-50 bg-foreground/50 pointer-events-auto data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0",
266
266
  className
267
267
  ),
268
268
  "data-slot": "dialog-overlay"
@@ -313,7 +313,9 @@ function DialogContent(_a) {
313
313
  // max-w-[calc(100%-2rem)] acts as a viewport-edge guard on all sizes.
314
314
  // Fixed max-width is applied via inline style (sizeStyle) to avoid
315
315
  // Tailwind v4 class-scanning gaps with dynamic class lookups.
316
- "fixed left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] gap-4 border bg-background p-6 duration-200 outline-none data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
316
+ // pointer-events-auto: Vaul Drawer (Radix DismissableLayer) sets body{pointer-events:none}
317
+ // when open — dialog portals to body and must override that on its own element.
318
+ "fixed left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] gap-4 border bg-background p-6 duration-200 outline-none pointer-events-auto data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
317
319
  // "auto" → hug content (with min-width floor); fixed sizes → fill to max-width
318
320
  isAuto ? "w-auto" : "w-full",
319
321
  align === "center" ? "top-[50%] translate-y-[-50%]" : "top-4 translate-y-0",
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  ReviewAlertsDialog
3
- } from "../../chunk-SH5L5VG6.mjs";
3
+ } from "../../chunk-RVDBYV2B.mjs";
4
4
  import "../../chunk-IKXYTCSB.mjs";
5
- import "../../chunk-LI2CTS5O.mjs";
5
+ import "../../chunk-OIETBBXQ.mjs";
6
6
  import "../../chunk-LSRGA5BI.mjs";
7
7
  import "../../chunk-XYSRRDBH.mjs";
8
8
  import "../../chunk-FRCTOAKZ.mjs";
@@ -288,7 +288,7 @@ function DialogOverlay(_a) {
288
288
  __spreadValues({
289
289
  className: cn(
290
290
  // WealthX: foreground/50 scrim (matches Figma — foreground token at 50% opacity)
291
- "fixed inset-0 z-50 bg-foreground/50 data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0",
291
+ "fixed inset-0 z-50 bg-foreground/50 pointer-events-auto data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0",
292
292
  className
293
293
  ),
294
294
  "data-slot": "dialog-overlay"
@@ -339,7 +339,9 @@ function DialogContent(_a) {
339
339
  // max-w-[calc(100%-2rem)] acts as a viewport-edge guard on all sizes.
340
340
  // Fixed max-width is applied via inline style (sizeStyle) to avoid
341
341
  // Tailwind v4 class-scanning gaps with dynamic class lookups.
342
- "fixed left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] gap-4 border bg-background p-6 duration-200 outline-none data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
342
+ // pointer-events-auto: Vaul Drawer (Radix DismissableLayer) sets body{pointer-events:none}
343
+ // when open — dialog portals to body and must override that on its own element.
344
+ "fixed left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] gap-4 border bg-background p-6 duration-200 outline-none pointer-events-auto data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
343
345
  // "auto" → hug content (with min-width floor); fixed sizes → fill to max-width
344
346
  isAuto ? "w-auto" : "w-full",
345
347
  align === "center" ? "top-[50%] translate-y-[-50%]" : "top-4 translate-y-0",
@@ -8,7 +8,7 @@ import {
8
8
  DialogFooter,
9
9
  DialogHeader,
10
10
  DialogTitle
11
- } from "../../chunk-LI2CTS5O.mjs";
11
+ } from "../../chunk-OIETBBXQ.mjs";
12
12
  import {
13
13
  DatePicker
14
14
  } from "../../chunk-UMF6LLQK.mjs";
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __defProps = Object.defineProperties;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
7
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
8
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
8
10
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
11
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
12
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -44,6 +46,14 @@ var __copyProps = (to, from, except, desc) => {
44
46
  }
45
47
  return to;
46
48
  };
49
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
50
+ // If the importer is in node compatibility mode or this is not an ESM
51
+ // file that has been converted to a CommonJS file using a Babel-
52
+ // compatible transform (i.e. "__esModule" has not been set), then set
53
+ // "default" to the CommonJS "module.exports" for node compatibility.
54
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
55
+ mod
56
+ ));
47
57
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
48
58
 
49
59
  // src/components/ui/select.tsx
@@ -54,6 +64,7 @@ __export(select_exports, {
54
64
  SelectGroup: () => SelectGroup,
55
65
  SelectItem: () => SelectItem,
56
66
  SelectLabel: () => SelectLabel,
67
+ SelectPortalProvider: () => SelectPortalProvider,
57
68
  SelectScrollDownButton: () => SelectScrollDownButton,
58
69
  SelectScrollUpButton: () => SelectScrollUpButton,
59
70
  SelectSeparator: () => SelectSeparator,
@@ -61,6 +72,7 @@ __export(select_exports, {
61
72
  SelectValue: () => SelectValue
62
73
  });
63
74
  module.exports = __toCommonJS(select_exports);
75
+ var React2 = __toESM(require("react"));
64
76
  var import_lucide_react = require("lucide-react");
65
77
  var import_select = require("@base-ui/react/select");
66
78
 
@@ -113,6 +125,15 @@ function useThemeVars() {
113
125
 
114
126
  // src/components/ui/select.tsx
115
127
  var import_jsx_runtime2 = require("react/jsx-runtime");
128
+ var SelectPortalContext = React2.createContext(
129
+ void 0
130
+ );
131
+ function SelectPortalProvider({
132
+ container,
133
+ children
134
+ }) {
135
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SelectPortalContext.Provider, { value: container, children });
136
+ }
116
137
  function Select(_a) {
117
138
  var props = __objRest(_a, []);
118
139
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_select.Select.Root, __spreadValues({ "data-slot": "select" }, props));
@@ -163,7 +184,8 @@ function SelectContent(_a) {
163
184
  "style"
164
185
  ]);
165
186
  const themeVars = useThemeVars();
166
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
187
+ const portalContainer = React2.useContext(SelectPortalContext);
188
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_select.Select.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
167
189
  import_select.Select.Positioner,
168
190
  {
169
191
  className: "z-[200]",
@@ -294,6 +316,7 @@ function SelectScrollDownButton(_a) {
294
316
  SelectGroup,
295
317
  SelectItem,
296
318
  SelectLabel,
319
+ SelectPortalProvider,
297
320
  SelectScrollDownButton,
298
321
  SelectScrollUpButton,
299
322
  SelectSeparator,
@@ -4,12 +4,13 @@ import {
4
4
  SelectGroup,
5
5
  SelectItem,
6
6
  SelectLabel,
7
+ SelectPortalProvider,
7
8
  SelectScrollDownButton,
8
9
  SelectScrollUpButton,
9
10
  SelectSeparator,
10
11
  SelectTrigger,
11
12
  SelectValue
12
- } from "../../chunk-USOVLDGS.mjs";
13
+ } from "../../chunk-K6VCC2MK.mjs";
13
14
  import "../../chunk-XYSRRDBH.mjs";
14
15
  import "../../chunk-FRCTOAKZ.mjs";
15
16
  import "../../chunk-AFML43VJ.mjs";
@@ -20,6 +21,7 @@ export {
20
21
  SelectGroup,
21
22
  SelectItem,
22
23
  SelectLabel,
24
+ SelectPortalProvider,
23
25
  SelectScrollDownButton,
24
26
  SelectScrollUpButton,
25
27
  SelectSeparator,
@@ -265,7 +265,7 @@ function DialogOverlay(_a) {
265
265
  __spreadValues({
266
266
  className: cn(
267
267
  // WealthX: foreground/50 scrim (matches Figma — foreground token at 50% opacity)
268
- "fixed inset-0 z-50 bg-foreground/50 data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0",
268
+ "fixed inset-0 z-50 bg-foreground/50 pointer-events-auto data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0",
269
269
  className
270
270
  ),
271
271
  "data-slot": "dialog-overlay"
@@ -316,7 +316,9 @@ function DialogContent(_a) {
316
316
  // max-w-[calc(100%-2rem)] acts as a viewport-edge guard on all sizes.
317
317
  // Fixed max-width is applied via inline style (sizeStyle) to avoid
318
318
  // Tailwind v4 class-scanning gaps with dynamic class lookups.
319
- "fixed left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] gap-4 border bg-background p-6 duration-200 outline-none data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
319
+ // pointer-events-auto: Vaul Drawer (Radix DismissableLayer) sets body{pointer-events:none}
320
+ // when open — dialog portals to body and must override that on its own element.
321
+ "fixed left-[50%] z-50 grid max-w-[calc(100%-2rem)] translate-x-[-50%] gap-4 border bg-background p-6 duration-200 outline-none pointer-events-auto data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
320
322
  // "auto" → hug content (with min-width floor); fixed sizes → fill to max-width
321
323
  isAuto ? "w-auto" : "w-full",
322
324
  align === "center" ? "top-[50%] translate-y-[-50%]" : "top-4 translate-y-0",
@@ -2,11 +2,11 @@ import {
2
2
  EmailTemplateDialog,
3
3
  ShareContactDialog,
4
4
  ShareDetailsDialog
5
- } from "../../chunk-RPOIXMHW.mjs";
5
+ } from "../../chunk-AADJ5IT6.mjs";
6
6
  import "../../chunk-JVMXMFBB.mjs";
7
7
  import "../../chunk-WE4YKBDE.mjs";
8
8
  import "../../chunk-BS75ICOO.mjs";
9
- import "../../chunk-LI2CTS5O.mjs";
9
+ import "../../chunk-OIETBBXQ.mjs";
10
10
  import "../../chunk-LSRGA5BI.mjs";
11
11
  import "../../chunk-LBTHZSBT.mjs";
12
12
  import "../../chunk-XYSRRDBH.mjs";
@@ -394,6 +394,7 @@ function Input(_a) {
394
394
  }
395
395
 
396
396
  // src/components/ui/select.tsx
397
+ var React3 = __toESM(require("react"));
397
398
  var import_lucide_react2 = require("lucide-react");
398
399
  var import_select = require("@base-ui/react/select");
399
400
 
@@ -407,6 +408,9 @@ function useThemeVars() {
407
408
 
408
409
  // src/components/ui/select.tsx
409
410
  var import_jsx_runtime7 = require("react/jsx-runtime");
411
+ var SelectPortalContext = React3.createContext(
412
+ void 0
413
+ );
410
414
  function Select(_a) {
411
415
  var props = __objRest(_a, []);
412
416
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_select.Select.Root, __spreadValues({ "data-slot": "select" }, props));
@@ -453,7 +457,8 @@ function SelectContent(_a) {
453
457
  "style"
454
458
  ]);
455
459
  const themeVars = useThemeVars();
456
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
460
+ const portalContainer = React3.useContext(SelectPortalContext);
461
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_select.Select.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
457
462
  import_select.Select.Positioner,
458
463
  {
459
464
  className: "z-[200]",
@@ -3,10 +3,10 @@ import {
3
3
  PasswordField,
4
4
  SectionHeading,
5
5
  StaffRowItem
6
- } from "../../chunk-2UA4CPE5.mjs";
6
+ } from "../../chunk-DWJHPNFL.mjs";
7
7
  import "../../chunk-WHIW6KOB.mjs";
8
8
  import "../../chunk-KPGARKFC.mjs";
9
- import "../../chunk-USOVLDGS.mjs";
9
+ import "../../chunk-K6VCC2MK.mjs";
10
10
  import "../../chunk-2GIYVERS.mjs";
11
11
  import "../../chunk-LSRGA5BI.mjs";
12
12
  import "../../chunk-HB5BKRMH.mjs";