@assure-one/design-system 1.3.0 → 1.4.1

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/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import * as React37 from 'react';
2
+ import * as React38 from 'react';
3
3
  import { forwardRef, useId, useRef, useState, useEffect, useCallback, useImperativeHandle, useMemo, createContext, useContext } from 'react';
4
4
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
5
5
  import { clsx } from 'clsx';
@@ -2285,7 +2285,7 @@ function PauseIcon({ size = 24, ...props }) {
2285
2285
  function StopIcon({ size = 24, ...props }) {
2286
2286
  return /* @__PURE__ */ jsx(Icon, { size, ...props, children: /* @__PURE__ */ jsx("rect", { x: "6", y: "6", width: "12", height: "12", rx: "2", fill: "currentColor" }) });
2287
2287
  }
2288
- var Accordion = React37.forwardRef(function Accordion2({ className, ...props }, ref) {
2288
+ var Accordion = React38.forwardRef(function Accordion2({ className, ...props }, ref) {
2289
2289
  return /* @__PURE__ */ jsx(
2290
2290
  AccordionPrimitive.Root,
2291
2291
  {
@@ -2296,11 +2296,11 @@ var Accordion = React37.forwardRef(function Accordion2({ className, ...props },
2296
2296
  );
2297
2297
  });
2298
2298
  Accordion.displayName = AccordionPrimitive.Root.displayName;
2299
- var AccordionItem = React37.forwardRef(function AccordionItem2({ className, ...props }, ref) {
2299
+ var AccordionItem = React38.forwardRef(function AccordionItem2({ className, ...props }, ref) {
2300
2300
  return /* @__PURE__ */ jsx(AccordionPrimitive.Item, { ref, className: cn(className), ...props });
2301
2301
  });
2302
2302
  AccordionItem.displayName = AccordionPrimitive.Item.displayName;
2303
- var AccordionTrigger = React37.forwardRef(function AccordionTrigger2({ children, className, ...props }, ref) {
2303
+ var AccordionTrigger = React38.forwardRef(function AccordionTrigger2({ children, className, ...props }, ref) {
2304
2304
  return /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
2305
2305
  AccordionPrimitive.Trigger,
2306
2306
  {
@@ -2329,7 +2329,7 @@ var AccordionTrigger = React37.forwardRef(function AccordionTrigger2({ children,
2329
2329
  ) });
2330
2330
  });
2331
2331
  AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
2332
- var AccordionContent = React37.forwardRef(function AccordionContent2({ children, className, ...props }, ref) {
2332
+ var AccordionContent = React38.forwardRef(function AccordionContent2({ children, className, ...props }, ref) {
2333
2333
  return /* @__PURE__ */ jsx(
2334
2334
  AccordionPrimitive.Content,
2335
2335
  {
@@ -2349,7 +2349,7 @@ AccordionContent.displayName = AccordionPrimitive.Content.displayName;
2349
2349
  var AlertDialog = AlertDialogPrimitive.Root;
2350
2350
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
2351
2351
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
2352
- var AlertDialogOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2352
+ var AlertDialogOverlay = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2353
2353
  AlertDialogPrimitive.Overlay,
2354
2354
  {
2355
2355
  ref,
@@ -2364,7 +2364,7 @@ var AlertDialogOverlay = React37.forwardRef(({ className, ...props }, ref) => /*
2364
2364
  }
2365
2365
  ));
2366
2366
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
2367
- var AlertDialogContent = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
2367
+ var AlertDialogContent = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
2368
2368
  /* @__PURE__ */ jsx(AlertDialogOverlay, {}),
2369
2369
  /* @__PURE__ */ jsx(
2370
2370
  AlertDialogPrimitive.Content,
@@ -2399,7 +2399,7 @@ var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx(
2399
2399
  }
2400
2400
  );
2401
2401
  AlertDialogFooter.displayName = "AlertDialogFooter";
2402
- var AlertDialogTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2402
+ var AlertDialogTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2403
2403
  AlertDialogPrimitive.Title,
2404
2404
  {
2405
2405
  ref,
@@ -2411,7 +2411,7 @@ var AlertDialogTitle = React37.forwardRef(({ className, ...props }, ref) => /* @
2411
2411
  }
2412
2412
  ));
2413
2413
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
2414
- var AlertDialogDescription = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2414
+ var AlertDialogDescription = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2415
2415
  AlertDialogPrimitive.Description,
2416
2416
  {
2417
2417
  ref,
@@ -2420,7 +2420,7 @@ var AlertDialogDescription = React37.forwardRef(({ className, ...props }, ref) =
2420
2420
  }
2421
2421
  ));
2422
2422
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
2423
- var AlertDialogAction = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2423
+ var AlertDialogAction = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2424
2424
  AlertDialogPrimitive.Action,
2425
2425
  {
2426
2426
  ref,
@@ -2436,7 +2436,7 @@ var AlertDialogAction = React37.forwardRef(({ className, ...props }, ref) => /*
2436
2436
  }
2437
2437
  ));
2438
2438
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
2439
- var AlertDialogCancel = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
2439
+ var AlertDialogCancel = React38.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
2440
2440
  AlertDialogPrimitive.Cancel,
2441
2441
  {
2442
2442
  ref,
@@ -2631,7 +2631,7 @@ var AreaChart = forwardRef(function AreaChart2({ data, height = 140, formatValue
2631
2631
  ] });
2632
2632
  });
2633
2633
  AreaChart.displayName = "AreaChart";
2634
- var AspectRatio = React37.forwardRef(function AspectRatio2({ className, ratio = 16 / 9, ...props }, ref) {
2634
+ var AspectRatio = React38.forwardRef(function AspectRatio2({ className, ratio = 16 / 9, ...props }, ref) {
2635
2635
  return /* @__PURE__ */ jsx(
2636
2636
  AspectRatioPrimitive.Root,
2637
2637
  {
@@ -2970,7 +2970,7 @@ var statusDotSizes = {
2970
2970
  function getInitials(name) {
2971
2971
  return name.split(" ").map((part) => part[0]).filter(Boolean).slice(0, 2).join("").toUpperCase();
2972
2972
  }
2973
- var Avatar = React37.forwardRef(
2973
+ var Avatar = React38.forwardRef(
2974
2974
  function Avatar2({ src, alt, name, size = "md", variant = "initials", status, className, ...props }, ref) {
2975
2975
  const initials = name ? getInitials(name) : "?";
2976
2976
  const resolvedSize = size ?? "md";
@@ -3211,7 +3211,7 @@ function Calendar({
3211
3211
  classNames,
3212
3212
  ...props
3213
3213
  }) {
3214
- const { modifiers, modifiersClassNames } = React37.useMemo(() => {
3214
+ const { modifiers, modifiersClassNames } = React38.useMemo(() => {
3215
3215
  const buckets = {};
3216
3216
  for (const h of highlights) {
3217
3217
  const key = h.color ?? "primary";
@@ -3226,7 +3226,7 @@ function Calendar({
3226
3226
  }
3227
3227
  return { modifiers: mods, modifiersClassNames: modClasses };
3228
3228
  }, [highlights]);
3229
- const disabledMatcher = React37.useMemo(() => {
3229
+ const disabledMatcher = React38.useMemo(() => {
3230
3230
  if (!minDate && !maxDate) return void 0;
3231
3231
  if (minDate && maxDate) return [{ before: minDate }, { after: maxDate }];
3232
3232
  if (minDate) return { before: minDate };
@@ -3393,7 +3393,7 @@ var CategoryDivider = forwardRef(
3393
3393
  }
3394
3394
  );
3395
3395
  CategoryDivider.displayName = "CategoryDivider";
3396
- var Checkbox = React37.forwardRef(function Checkbox2({
3396
+ var Checkbox = React38.forwardRef(function Checkbox2({
3397
3397
  label,
3398
3398
  indeterminate,
3399
3399
  checked,
@@ -3403,7 +3403,7 @@ var Checkbox = React37.forwardRef(function Checkbox2({
3403
3403
  id: providedId,
3404
3404
  ...props
3405
3405
  }, ref) {
3406
- const generatedId = React37.useId();
3406
+ const generatedId = React38.useId();
3407
3407
  const id = providedId ?? generatedId;
3408
3408
  const resolvedChecked = indeterminate ? "indeterminate" : checked;
3409
3409
  return /* @__PURE__ */ jsxs("div", { className: "inline-flex items-center gap-2", children: [
@@ -3444,7 +3444,7 @@ Checkbox.displayName = CheckboxPrimitive.Root.displayName;
3444
3444
  var SelectRoot = SelectPrimitive.Root;
3445
3445
  var SelectGroup = SelectPrimitive.Group;
3446
3446
  var SelectValue = SelectPrimitive.Value;
3447
- var SelectTrigger = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3447
+ var SelectTrigger = React38.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3448
3448
  SelectPrimitive.Trigger,
3449
3449
  {
3450
3450
  ref,
@@ -3475,7 +3475,7 @@ var SelectTrigger = React37.forwardRef(({ className, children, ...props }, ref)
3475
3475
  }
3476
3476
  ));
3477
3477
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
3478
- var SelectScrollUpButton = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3478
+ var SelectScrollUpButton = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3479
3479
  SelectPrimitive.ScrollUpButton,
3480
3480
  {
3481
3481
  ref,
@@ -3485,7 +3485,7 @@ var SelectScrollUpButton = React37.forwardRef(({ className, ...props }, ref) =>
3485
3485
  }
3486
3486
  ));
3487
3487
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
3488
- var SelectScrollDownButton = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3488
+ var SelectScrollDownButton = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3489
3489
  SelectPrimitive.ScrollDownButton,
3490
3490
  {
3491
3491
  ref,
@@ -3495,7 +3495,7 @@ var SelectScrollDownButton = React37.forwardRef(({ className, ...props }, ref) =
3495
3495
  }
3496
3496
  ));
3497
3497
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
3498
- var SelectContent = React37.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
3498
+ var SelectContent = React38.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
3499
3499
  SelectPrimitive.Content,
3500
3500
  {
3501
3501
  ref,
@@ -3529,7 +3529,7 @@ var SelectContent = React37.forwardRef(({ className, children, position = "poppe
3529
3529
  }
3530
3530
  ) }));
3531
3531
  SelectContent.displayName = SelectPrimitive.Content.displayName;
3532
- var SelectLabel = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3532
+ var SelectLabel = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3533
3533
  SelectPrimitive.Label,
3534
3534
  {
3535
3535
  ref,
@@ -3541,7 +3541,7 @@ var SelectLabel = React37.forwardRef(({ className, ...props }, ref) => /* @__PUR
3541
3541
  }
3542
3542
  ));
3543
3543
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
3544
- var SelectItem = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3544
+ var SelectItem = React38.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3545
3545
  SelectPrimitive.Item,
3546
3546
  {
3547
3547
  ref,
@@ -3562,7 +3562,7 @@ var SelectItem = React37.forwardRef(({ className, children, ...props }, ref) =>
3562
3562
  }
3563
3563
  ));
3564
3564
  SelectItem.displayName = SelectPrimitive.Item.displayName;
3565
- var SelectSeparator = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3565
+ var SelectSeparator = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3566
3566
  SelectPrimitive.Separator,
3567
3567
  {
3568
3568
  ref,
@@ -3647,11 +3647,11 @@ function ClientSelect({
3647
3647
  ] });
3648
3648
  }
3649
3649
  ClientSelect.displayName = "ClientSelect";
3650
- var Collapsible = React37.forwardRef(function Collapsible2({ className, ...props }, ref) {
3650
+ var Collapsible = React38.forwardRef(function Collapsible2({ className, ...props }, ref) {
3651
3651
  return /* @__PURE__ */ jsx(CollapsiblePrimitive.Root, { ref, className: cn(className), ...props });
3652
3652
  });
3653
3653
  Collapsible.displayName = CollapsiblePrimitive.Root.displayName;
3654
- var CollapsibleTrigger = React37.forwardRef(function CollapsibleTrigger2({ className, ...props }, ref) {
3654
+ var CollapsibleTrigger = React38.forwardRef(function CollapsibleTrigger2({ className, ...props }, ref) {
3655
3655
  return /* @__PURE__ */ jsx(
3656
3656
  CollapsiblePrimitive.Trigger,
3657
3657
  {
@@ -3666,7 +3666,7 @@ var CollapsibleTrigger = React37.forwardRef(function CollapsibleTrigger2({ class
3666
3666
  );
3667
3667
  });
3668
3668
  CollapsibleTrigger.displayName = CollapsiblePrimitive.Trigger.displayName;
3669
- var CollapsibleContent = React37.forwardRef(function CollapsibleContent2({ className, ...props }, ref) {
3669
+ var CollapsibleContent = React38.forwardRef(function CollapsibleContent2({ className, ...props }, ref) {
3670
3670
  return /* @__PURE__ */ jsx(
3671
3671
  CollapsiblePrimitive.Content,
3672
3672
  {
@@ -3743,7 +3743,7 @@ ComingSoon.displayName = "ComingSoon";
3743
3743
  var Dialog = DialogPrimitive.Root;
3744
3744
  var DialogTrigger = DialogPrimitive.Trigger;
3745
3745
  var DialogPortal = DialogPrimitive.Portal;
3746
- var DialogOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3746
+ var DialogOverlay = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3747
3747
  DialogPrimitive.Overlay,
3748
3748
  {
3749
3749
  ref,
@@ -3764,7 +3764,7 @@ var dialogSizeStyles = {
3764
3764
  lg: "max-w-2xl",
3765
3765
  full: "max-w-[calc(100vw-2rem)]"
3766
3766
  };
3767
- var DialogContent = React37.forwardRef(({ size = "md", showCloseButton = true, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
3767
+ var DialogContent = React38.forwardRef(({ size = "md", showCloseButton = true, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
3768
3768
  /* @__PURE__ */ jsx(DialogOverlay, {}),
3769
3769
  /* @__PURE__ */ jsxs(
3770
3770
  DialogPrimitive.Content,
@@ -3805,7 +3805,7 @@ var DialogContent = React37.forwardRef(({ size = "md", showCloseButton = true, c
3805
3805
  )
3806
3806
  ] }));
3807
3807
  DialogContent.displayName = DialogPrimitive.Content.displayName;
3808
- var DialogClose = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(DialogPrimitive.Close, { ref, className: cn(className), ...props }));
3808
+ var DialogClose = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(DialogPrimitive.Close, { ref, className: cn(className), ...props }));
3809
3809
  DialogClose.displayName = "DialogClose";
3810
3810
  var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex flex-col gap-1.5 pr-8", className), ...props });
3811
3811
  DialogHeader.displayName = "DialogHeader";
@@ -3820,7 +3820,7 @@ var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx(
3820
3820
  }
3821
3821
  );
3822
3822
  DialogFooter.displayName = "DialogFooter";
3823
- var DialogTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3823
+ var DialogTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3824
3824
  DialogPrimitive.Title,
3825
3825
  {
3826
3826
  ref,
@@ -3832,7 +3832,7 @@ var DialogTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PUR
3832
3832
  }
3833
3833
  ));
3834
3834
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
3835
- var DialogDescription = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3835
+ var DialogDescription = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3836
3836
  DialogPrimitive.Description,
3837
3837
  {
3838
3838
  ref,
@@ -3862,17 +3862,17 @@ function CommandPalette({
3862
3862
  onOpenChange,
3863
3863
  placeholder = "Type a command or search..."
3864
3864
  }) {
3865
- const [internalOpen, setInternalOpen] = React37.useState(false);
3865
+ const [internalOpen, setInternalOpen] = React38.useState(false);
3866
3866
  const isControlled = controlledOpen !== void 0;
3867
3867
  const open = isControlled ? controlledOpen : internalOpen;
3868
- const setOpen = React37.useCallback(
3868
+ const setOpen = React38.useCallback(
3869
3869
  (value) => {
3870
3870
  if (!isControlled) setInternalOpen(value);
3871
3871
  onOpenChange?.(value);
3872
3872
  },
3873
3873
  [isControlled, onOpenChange]
3874
3874
  );
3875
- React37.useEffect(() => {
3875
+ React38.useEffect(() => {
3876
3876
  function handleKeyDown(e) {
3877
3877
  if ((e.metaKey || e.ctrlKey) && e.key === "k") {
3878
3878
  e.preventDefault();
@@ -4027,10 +4027,10 @@ function ConfirmActionButton({
4027
4027
  onOpenChange
4028
4028
  }) {
4029
4029
  const isControlled = open !== void 0;
4030
- const [uncontrolledOpen, setUncontrolledOpen] = React37.useState(defaultOpen);
4030
+ const [uncontrolledOpen, setUncontrolledOpen] = React38.useState(defaultOpen);
4031
4031
  const resolvedOpen = isControlled ? open : uncontrolledOpen;
4032
- const [pending, setPending] = React37.useState(false);
4033
- const setDialogOpen = React37.useCallback(
4032
+ const [pending, setPending] = React38.useState(false);
4033
+ const setDialogOpen = React38.useCallback(
4034
4034
  (nextOpen) => {
4035
4035
  onOpenChange?.(nextOpen);
4036
4036
  if (!isControlled) {
@@ -4089,7 +4089,7 @@ var ContextMenuGroup = ContextMenuPrimitive.Group;
4089
4089
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
4090
4090
  var ContextMenuSub = ContextMenuPrimitive.Sub;
4091
4091
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
4092
- var ContextMenuSubTrigger = React37.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
4092
+ var ContextMenuSubTrigger = React38.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
4093
4093
  ContextMenuPrimitive.SubTrigger,
4094
4094
  {
4095
4095
  ref,
@@ -4110,7 +4110,7 @@ var ContextMenuSubTrigger = React37.forwardRef(({ className, inset, children, ..
4110
4110
  }
4111
4111
  ));
4112
4112
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
4113
- var ContextMenuSubContent = React37.forwardRef(({ className, ...props }, ref) => (
4113
+ var ContextMenuSubContent = React38.forwardRef(({ className, ...props }, ref) => (
4114
4114
  // Portal the sub-content to the body. The parent Content keeps a persistent
4115
4115
  // `scale-100` transform (its open-state animation), which makes it the
4116
4116
  // containing block for `position: fixed` descendants — and its
@@ -4133,7 +4133,7 @@ var ContextMenuSubContent = React37.forwardRef(({ className, ...props }, ref) =>
4133
4133
  ) })
4134
4134
  ));
4135
4135
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
4136
- var ContextMenuContent = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
4136
+ var ContextMenuContent = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
4137
4137
  ContextMenuPrimitive.Content,
4138
4138
  {
4139
4139
  ref,
@@ -4149,7 +4149,7 @@ var ContextMenuContent = React37.forwardRef(({ className, ...props }, ref) => /*
4149
4149
  }
4150
4150
  ) }));
4151
4151
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
4152
- var ContextMenuItem = React37.forwardRef(({ className, destructive, inset, ...props }, ref) => /* @__PURE__ */ jsx(
4152
+ var ContextMenuItem = React38.forwardRef(({ className, destructive, inset, ...props }, ref) => /* @__PURE__ */ jsx(
4153
4153
  ContextMenuPrimitive.Item,
4154
4154
  {
4155
4155
  ref,
@@ -4167,7 +4167,7 @@ var ContextMenuItem = React37.forwardRef(({ className, destructive, inset, ...pr
4167
4167
  }
4168
4168
  ));
4169
4169
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
4170
- var ContextMenuCheckboxItem = React37.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
4170
+ var ContextMenuCheckboxItem = React38.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
4171
4171
  ContextMenuPrimitive.CheckboxItem,
4172
4172
  {
4173
4173
  ref,
@@ -4187,7 +4187,7 @@ var ContextMenuCheckboxItem = React37.forwardRef(({ className, children, checked
4187
4187
  }
4188
4188
  ));
4189
4189
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
4190
- var ContextMenuRadioItem = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
4190
+ var ContextMenuRadioItem = React38.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
4191
4191
  ContextMenuPrimitive.RadioItem,
4192
4192
  {
4193
4193
  ref,
@@ -4206,7 +4206,7 @@ var ContextMenuRadioItem = React37.forwardRef(({ className, children, ...props }
4206
4206
  }
4207
4207
  ));
4208
4208
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
4209
- var ContextMenuLabel = React37.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
4209
+ var ContextMenuLabel = React38.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
4210
4210
  ContextMenuPrimitive.Label,
4211
4211
  {
4212
4212
  ref,
@@ -4219,7 +4219,7 @@ var ContextMenuLabel = React37.forwardRef(({ className, inset, ...props }, ref)
4219
4219
  }
4220
4220
  ));
4221
4221
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
4222
- var ContextMenuSeparator = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4222
+ var ContextMenuSeparator = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4223
4223
  ContextMenuPrimitive.Separator,
4224
4224
  {
4225
4225
  ref,
@@ -4314,7 +4314,7 @@ var PopoverTrigger = PopoverPrimitive.Trigger;
4314
4314
  var PopoverAnchor = PopoverPrimitive.Anchor;
4315
4315
  var PopoverPortal = PopoverPrimitive.Portal;
4316
4316
  var PopoverClose = PopoverPrimitive.Close;
4317
- var PopoverContent = React37.forwardRef(({ className, align = "center", side = "bottom", sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
4317
+ var PopoverContent = React38.forwardRef(({ className, align = "center", side = "bottom", sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
4318
4318
  PopoverPrimitive.Content,
4319
4319
  {
4320
4320
  ref,
@@ -4859,7 +4859,7 @@ var chipVariants = cva(
4859
4859
  }
4860
4860
  }
4861
4861
  );
4862
- var DismissibleChip = React37.forwardRef(function DismissibleChip2({ label, onDismiss, variant, className, ...props }, ref) {
4862
+ var DismissibleChip = React38.forwardRef(function DismissibleChip2({ label, onDismiss, variant, className, ...props }, ref) {
4863
4863
  return /* @__PURE__ */ jsxs(
4864
4864
  "button",
4865
4865
  {
@@ -4876,6 +4876,29 @@ var DismissibleChip = React37.forwardRef(function DismissibleChip2({ label, onDi
4876
4876
  }
4877
4877
  );
4878
4878
  });
4879
+ var DocumentsWorkspaceLayout = forwardRef(function DocumentsWorkspaceLayout2({ clientsRail, folderTree, filesArea, className, ...props }, ref) {
4880
+ return /* @__PURE__ */ jsxs(
4881
+ "div",
4882
+ {
4883
+ ref,
4884
+ className: cn(
4885
+ // Root: fills parent, no self-scroll, 2-col base → 3-col at lg/xl
4886
+ "grid h-full min-h-0 overflow-hidden bg-surface",
4887
+ "grid-cols-[240px_minmax(0,1fr)]",
4888
+ "lg:grid-cols-[248px_220px_minmax(0,1fr)]",
4889
+ "xl:grid-cols-[280px_244px_minmax(0,1fr)]",
4890
+ className
4891
+ ),
4892
+ ...props,
4893
+ children: [
4894
+ /* @__PURE__ */ jsx("div", { className: "flex min-h-0 min-w-0 flex-col border-r border-rule bg-surface", children: clientsRail }),
4895
+ /* @__PURE__ */ jsx("div", { className: "hidden min-h-0 min-w-0 flex-col border-r border-rule bg-surface lg:flex", children: folderTree }),
4896
+ /* @__PURE__ */ jsx("div", { className: "flex min-h-0 min-w-0 flex-col bg-bg", children: filesArea })
4897
+ ]
4898
+ }
4899
+ );
4900
+ });
4901
+ DocumentsWorkspaceLayout.displayName = "DocumentsWorkspaceLayout";
4879
4902
  var RAMP = [
4880
4903
  "var(--color-chart-1)",
4881
4904
  "var(--color-chart-2)",
@@ -4999,7 +5022,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
4999
5022
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
5000
5023
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
5001
5024
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
5002
- var DropdownMenuSubTrigger = React37.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
5025
+ var DropdownMenuSubTrigger = React38.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
5003
5026
  DropdownMenuPrimitive.SubTrigger,
5004
5027
  {
5005
5028
  ref,
@@ -5020,7 +5043,7 @@ var DropdownMenuSubTrigger = React37.forwardRef(({ className, inset, children, .
5020
5043
  }
5021
5044
  ));
5022
5045
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
5023
- var DropdownMenuSubContent = React37.forwardRef(({ className, ...props }, ref) => (
5046
+ var DropdownMenuSubContent = React38.forwardRef(({ className, ...props }, ref) => (
5024
5047
  // Portal the sub-content to the body. The parent Content keeps a persistent
5025
5048
  // `scale-100` transform (its open-state animation), which makes it the
5026
5049
  // containing block for `position: fixed` descendants — and its
@@ -5043,7 +5066,7 @@ var DropdownMenuSubContent = React37.forwardRef(({ className, ...props }, ref) =
5043
5066
  ) })
5044
5067
  ));
5045
5068
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
5046
- var DropdownMenuContent = React37.forwardRef(({ className, sideOffset = 6, align = "start", ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
5069
+ var DropdownMenuContent = React38.forwardRef(({ className, sideOffset = 6, align = "start", ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
5047
5070
  DropdownMenuPrimitive.Content,
5048
5071
  {
5049
5072
  ref,
@@ -5061,7 +5084,7 @@ var DropdownMenuContent = React37.forwardRef(({ className, sideOffset = 6, align
5061
5084
  }
5062
5085
  ) }));
5063
5086
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
5064
- var DropdownMenuItem = React37.forwardRef(({ className, destructive, inset, ...props }, ref) => /* @__PURE__ */ jsx(
5087
+ var DropdownMenuItem = React38.forwardRef(({ className, destructive, inset, ...props }, ref) => /* @__PURE__ */ jsx(
5065
5088
  DropdownMenuPrimitive.Item,
5066
5089
  {
5067
5090
  ref,
@@ -5079,7 +5102,7 @@ var DropdownMenuItem = React37.forwardRef(({ className, destructive, inset, ...p
5079
5102
  }
5080
5103
  ));
5081
5104
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
5082
- var DropdownMenuCheckboxItem = React37.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
5105
+ var DropdownMenuCheckboxItem = React38.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
5083
5106
  DropdownMenuPrimitive.CheckboxItem,
5084
5107
  {
5085
5108
  ref,
@@ -5099,7 +5122,7 @@ var DropdownMenuCheckboxItem = React37.forwardRef(({ className, children, checke
5099
5122
  }
5100
5123
  ));
5101
5124
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
5102
- var DropdownMenuRadioItem = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
5125
+ var DropdownMenuRadioItem = React38.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
5103
5126
  DropdownMenuPrimitive.RadioItem,
5104
5127
  {
5105
5128
  ref,
@@ -5118,7 +5141,7 @@ var DropdownMenuRadioItem = React37.forwardRef(({ className, children, ...props
5118
5141
  }
5119
5142
  ));
5120
5143
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
5121
- var DropdownMenuLabel = React37.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
5144
+ var DropdownMenuLabel = React38.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
5122
5145
  DropdownMenuPrimitive.Label,
5123
5146
  {
5124
5147
  ref,
@@ -5131,7 +5154,7 @@ var DropdownMenuLabel = React37.forwardRef(({ className, inset, ...props }, ref)
5131
5154
  }
5132
5155
  ));
5133
5156
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
5134
- var DropdownMenuSeparator = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5157
+ var DropdownMenuSeparator = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5135
5158
  DropdownMenuPrimitive.Separator,
5136
5159
  {
5137
5160
  ref,
@@ -5384,7 +5407,7 @@ FormSection.displayName = "FormSection";
5384
5407
  var HoverCard = HoverCardPrimitive.Root;
5385
5408
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
5386
5409
  var HoverCardPortal = HoverCardPrimitive.Portal;
5387
- var HoverCardContent = React37.forwardRef(({ className, align = "center", side = "bottom", sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx(HoverCardPrimitive.Portal, { children: /* @__PURE__ */ jsx(
5410
+ var HoverCardContent = React38.forwardRef(({ className, align = "center", side = "bottom", sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx(HoverCardPrimitive.Portal, { children: /* @__PURE__ */ jsx(
5388
5411
  HoverCardPrimitive.Content,
5389
5412
  {
5390
5413
  ref,
@@ -5556,8 +5579,8 @@ function KeyboardShortcutsDialog({
5556
5579
  sections,
5557
5580
  hotkey = "?"
5558
5581
  } = {}) {
5559
- const [open, setOpen] = React37.useState(false);
5560
- React37.useEffect(() => {
5582
+ const [open, setOpen] = React38.useState(false);
5583
+ React38.useEffect(() => {
5561
5584
  if (hotkey === null) return;
5562
5585
  function handleKeyDown(e) {
5563
5586
  const target = e.target;
@@ -5595,7 +5618,7 @@ function KeyboardShortcutsDialog({
5595
5618
  className: "flex items-center justify-between gap-3 py-1",
5596
5619
  children: [
5597
5620
  /* @__PURE__ */ jsx("span", { className: "text-fg text-sm", children: shortcut.description }),
5598
- /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-1", children: shortcut.keys.map((key, i) => /* @__PURE__ */ jsxs(React37.Fragment, { children: [
5621
+ /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-1", children: shortcut.keys.map((key, i) => /* @__PURE__ */ jsxs(React38.Fragment, { children: [
5599
5622
  i > 0 && /* @__PURE__ */ jsx("span", { className: "text-fg-4 mx-0.5 text-[11px]", children: "then" }),
5600
5623
  /* @__PURE__ */ jsx("kbd", { className: kbdClass2, children: key })
5601
5624
  ] }, i)) })
@@ -5614,7 +5637,7 @@ function KeyboardShortcutsDialog({
5614
5637
  var labelVariants = cva(
5615
5638
  "text-[13px] font-medium leading-none text-fg select-none peer-disabled:cursor-not-allowed peer-disabled:text-fg-disabled has-[+input:disabled]:text-fg-disabled"
5616
5639
  );
5617
- var Label4 = React37.forwardRef(
5640
+ var Label4 = React38.forwardRef(
5618
5641
  function Label5({ children, required, className, ...props }, ref) {
5619
5642
  return /* @__PURE__ */ jsxs(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props, children: [
5620
5643
  children,
@@ -6019,7 +6042,7 @@ function MultiSelectField({
6019
6042
  size = "md",
6020
6043
  id
6021
6044
  }) {
6022
- const selected = React37.useMemo(
6045
+ const selected = React38.useMemo(
6023
6046
  () => new Set(value ? value.split(",").filter(Boolean) : []),
6024
6047
  [value]
6025
6048
  );
@@ -6032,7 +6055,7 @@ function MultiSelectField({
6032
6055
  }
6033
6056
  onChange(Array.from(next).join(","));
6034
6057
  };
6035
- const generatedId = React37.useId();
6058
+ const generatedId = React38.useId();
6036
6059
  const groupId = id ?? generatedId;
6037
6060
  return /* @__PURE__ */ jsxs("div", { className: cn("w-full", className), children: [
6038
6061
  /* @__PURE__ */ jsx(
@@ -6861,12 +6884,12 @@ var ProgressRing = forwardRef(function ProgressRing2({ value, max = 100, size =
6861
6884
  );
6862
6885
  });
6863
6886
  ProgressRing.displayName = "ProgressRing";
6864
- var RadioGroup3 = React37.forwardRef(function RadioGroup4({ className, ...props }, ref) {
6887
+ var RadioGroup3 = React38.forwardRef(function RadioGroup4({ className, ...props }, ref) {
6865
6888
  return /* @__PURE__ */ jsx(RadioGroupPrimitive.Root, { ref, className: cn("grid gap-2", className), ...props });
6866
6889
  });
6867
6890
  RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
6868
- var RadioGroupItem = React37.forwardRef(function RadioGroupItem2({ className, label, id: providedId, ...props }, ref) {
6869
- const generatedId = React37.useId();
6891
+ var RadioGroupItem = React38.forwardRef(function RadioGroupItem2({ className, label, id: providedId, ...props }, ref) {
6892
+ const generatedId = React38.useId();
6870
6893
  const id = providedId ?? generatedId;
6871
6894
  const root = /* @__PURE__ */ jsx(
6872
6895
  RadioGroupPrimitive.Item,
@@ -6951,13 +6974,13 @@ var RankedBars = forwardRef(function RankedBars2({ items, className, ...props },
6951
6974
  }) });
6952
6975
  });
6953
6976
  RankedBars.displayName = "RankedBars";
6954
- var SheetSideContext = React37.createContext({});
6977
+ var SheetSideContext = React38.createContext({});
6955
6978
  var Sheet = ({ side, children, ...props }) => /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...props, children: /* @__PURE__ */ jsx(SheetSideContext, { value: { side }, children }) });
6956
6979
  Sheet.displayName = "Sheet";
6957
6980
  var SheetTrigger = DialogPrimitive.Trigger;
6958
6981
  var SheetClose = DialogPrimitive.Close;
6959
6982
  var SheetPortal = DialogPrimitive.Portal;
6960
- var SheetOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
6983
+ var SheetOverlay = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
6961
6984
  DialogPrimitive.Overlay,
6962
6985
  {
6963
6986
  ref,
@@ -7009,9 +7032,9 @@ var sheetWidthClasses = {
7009
7032
  xl: "w-[95vw] max-w-[95vw] sm:w-[760px]",
7010
7033
  full: "w-full max-w-none"
7011
7034
  };
7012
- var SheetContent = React37.forwardRef(
7035
+ var SheetContent = React38.forwardRef(
7013
7036
  ({ side, width = "default", customWidth, className, children, showCloseButton = true, style, ...props }, ref) => {
7014
- const ctx = React37.use(SheetSideContext);
7037
+ const ctx = React38.use(SheetSideContext);
7015
7038
  const resolvedSide = side ?? ctx.side ?? "right";
7016
7039
  const supportsWidth = resolvedSide === "left" || resolvedSide === "right";
7017
7040
  const widthClass = supportsWidth && width !== "default" ? sheetWidthClasses[width] : null;
@@ -7061,7 +7084,7 @@ var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx(
7061
7084
  }
7062
7085
  );
7063
7086
  SheetFooter.displayName = "SheetFooter";
7064
- var SheetTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
7087
+ var SheetTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
7065
7088
  DialogPrimitive.Title,
7066
7089
  {
7067
7090
  ref,
@@ -7073,12 +7096,12 @@ var SheetTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE
7073
7096
  }
7074
7097
  ));
7075
7098
  SheetTitle.displayName = DialogPrimitive.Title.displayName;
7076
- var SheetDescription = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(DialogPrimitive.Description, { ref, className: cn("text-fg-3 text-sm", className), ...props }));
7099
+ var SheetDescription = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(DialogPrimitive.Description, { ref, className: cn("text-fg-3 text-sm", className), ...props }));
7077
7100
  SheetDescription.displayName = DialogPrimitive.Description.displayName;
7078
7101
  var MOBILE_QUERY = "(max-width: 639.98px)";
7079
7102
  function useIsMobile() {
7080
- const [state, setState] = React37.useState({ isMobile: false, mounted: false });
7081
- React37.useEffect(() => {
7103
+ const [state, setState] = React38.useState({ isMobile: false, mounted: false });
7104
+ React38.useEffect(() => {
7082
7105
  const mql = window.matchMedia(MOBILE_QUERY);
7083
7106
  const update = () => setState({ isMobile: mql.matches, mounted: true });
7084
7107
  update();
@@ -7099,7 +7122,7 @@ function ResponsiveDialog({
7099
7122
  size = "md"
7100
7123
  }) {
7101
7124
  const { isMobile, mounted } = useIsMobile();
7102
- const close = React37.useCallback(() => onOpenChange(false), [onOpenChange]);
7125
+ const close = React38.useCallback(() => onOpenChange(false), [onOpenChange]);
7103
7126
  const resolvedFooter = typeof footer === "function" ? footer(close) : footer;
7104
7127
  const hasHeader = Boolean(title || description);
7105
7128
  if (mounted && isMobile) {
@@ -7161,7 +7184,7 @@ var RouteTransition = forwardRef(
7161
7184
  }
7162
7185
  );
7163
7186
  RouteTransition.displayName = "RouteTransition";
7164
- var ScrollArea = React37.forwardRef(function ScrollArea2({ className, children, ...props }, ref) {
7187
+ var ScrollArea = React38.forwardRef(function ScrollArea2({ className, children, ...props }, ref) {
7165
7188
  return /* @__PURE__ */ jsxs(
7166
7189
  ScrollAreaPrimitive.Root,
7167
7190
  {
@@ -7184,7 +7207,7 @@ var ScrollArea = React37.forwardRef(function ScrollArea2({ className, children,
7184
7207
  );
7185
7208
  });
7186
7209
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
7187
- var ScrollBar = React37.forwardRef(function ScrollBar2({ className, orientation = "vertical", ...props }, ref) {
7210
+ var ScrollBar = React38.forwardRef(function ScrollBar2({ className, orientation = "vertical", ...props }, ref) {
7188
7211
  return /* @__PURE__ */ jsx(
7189
7212
  ScrollAreaPrimitive.ScrollAreaScrollbar,
7190
7213
  {
@@ -7249,7 +7272,7 @@ var searchInputVariants = cva(
7249
7272
  }
7250
7273
  }
7251
7274
  );
7252
- var SearchInput = React37.forwardRef(
7275
+ var SearchInput = React38.forwardRef(
7253
7276
  function SearchInput2({
7254
7277
  value,
7255
7278
  onValueChange,
@@ -7262,8 +7285,8 @@ var SearchInput = React37.forwardRef(
7262
7285
  ...props
7263
7286
  }, ref) {
7264
7287
  const debouncedValue = useDebounce(value, debounceMs);
7265
- const isFirstRender = React37.useRef(true);
7266
- React37.useEffect(() => {
7288
+ const isFirstRender = React38.useRef(true);
7289
+ React38.useEffect(() => {
7267
7290
  if (isFirstRender.current) {
7268
7291
  isFirstRender.current = false;
7269
7292
  return;
@@ -7341,15 +7364,15 @@ function SearchSelect({
7341
7364
  descriptionVariant = "inline"
7342
7365
  }) {
7343
7366
  const isSingleMode = value !== void 0 || onValueChange !== void 0;
7344
- const singleSelectedOption = React37.useMemo(
7367
+ const singleSelectedOption = React38.useMemo(
7345
7368
  () => isSingleMode && value ? options.find((o) => o.id === value) ?? null : null,
7346
7369
  [isSingleMode, value, options]
7347
7370
  );
7348
- const selected = React37.useMemo(
7371
+ const selected = React38.useMemo(
7349
7372
  () => isSingleMode ? singleSelectedOption ? [singleSelectedOption] : [] : selectedProp ?? [],
7350
7373
  [isSingleMode, singleSelectedOption, selectedProp]
7351
7374
  );
7352
- const onSelect = React37.useCallback(
7375
+ const onSelect = React38.useCallback(
7353
7376
  (option) => {
7354
7377
  if (isSingleMode) {
7355
7378
  onValueChange?.(option.id);
@@ -7359,7 +7382,7 @@ function SearchSelect({
7359
7382
  },
7360
7383
  [isSingleMode, onValueChange, onSelectProp]
7361
7384
  );
7362
- const onRemove = React37.useCallback(
7385
+ const onRemove = React38.useCallback(
7363
7386
  (option) => {
7364
7387
  if (isSingleMode) {
7365
7388
  onValueChange?.("");
@@ -7370,15 +7393,15 @@ function SearchSelect({
7370
7393
  [isSingleMode, onValueChange, onRemoveProp]
7371
7394
  );
7372
7395
  const closeOnSelect = isSingleMode || closeOnSelectProp;
7373
- const [search, setSearch] = React37.useState("");
7374
- const [open, setOpen] = React37.useState(false);
7375
- const [activeChip, setActiveChip] = React37.useState(null);
7376
- const selectedIds = React37.useMemo(() => new Set(selected.map((s) => s.id)), [selected]);
7377
- const filtered = React37.useMemo(
7396
+ const [search, setSearch] = React38.useState("");
7397
+ const [open, setOpen] = React38.useState(false);
7398
+ const [activeChip, setActiveChip] = React38.useState(null);
7399
+ const selectedIds = React38.useMemo(() => new Set(selected.map((s) => s.id)), [selected]);
7400
+ const filtered = React38.useMemo(
7378
7401
  () => options.filter((opt) => !selectedIds.has(opt.id)),
7379
7402
  [options, selectedIds]
7380
7403
  );
7381
- const groups = React37.useMemo(() => {
7404
+ const groups = React38.useMemo(() => {
7382
7405
  const order = [];
7383
7406
  const byGroup = /* @__PURE__ */ new Map();
7384
7407
  for (const opt of filtered) {
@@ -7390,25 +7413,25 @@ function SearchSelect({
7390
7413
  }
7391
7414
  return order.map((g) => [g, byGroup.get(g)]);
7392
7415
  }, [filtered]);
7393
- const hasGroups = React37.useMemo(() => groups.some(([g]) => g != null), [groups]);
7394
- const pinnedSet = React37.useMemo(() => new Set(pinnedGroups ?? []), [pinnedGroups]);
7395
- const chips = React37.useMemo(() => {
7416
+ const hasGroups = React38.useMemo(() => groups.some(([g]) => g != null), [groups]);
7417
+ const pinnedSet = React38.useMemo(() => new Set(pinnedGroups ?? []), [pinnedGroups]);
7418
+ const chips = React38.useMemo(() => {
7396
7419
  if (!groupFilter || !hasGroups) return [];
7397
7420
  return groups.map(([g]) => g).filter((g) => g != null && !pinnedSet.has(g));
7398
7421
  }, [groupFilter, hasGroups, groups, pinnedSet]);
7399
- const visibleGroups = React37.useMemo(() => {
7422
+ const visibleGroups = React38.useMemo(() => {
7400
7423
  if (chips.length > 0 && activeChip) {
7401
7424
  return groups.filter(([g]) => g === activeChip);
7402
7425
  }
7403
7426
  return groups;
7404
7427
  }, [groups, chips.length, activeChip]);
7405
7428
  const trimmedSearch = search.trim();
7406
- const hasExactMatch = React37.useMemo(
7429
+ const hasExactMatch = React38.useMemo(
7407
7430
  () => options.some((opt) => opt.label.toLowerCase() === trimmedSearch.toLowerCase()),
7408
7431
  [options, trimmedSearch]
7409
7432
  );
7410
7433
  const showCreate = !!onCreate && trimmedSearch.length > 0 && !hasExactMatch;
7411
- const handleSelect = React37.useCallback(
7434
+ const handleSelect = React38.useCallback(
7412
7435
  (option) => {
7413
7436
  onSelect(option);
7414
7437
  setSearch("");
@@ -7416,16 +7439,16 @@ function SearchSelect({
7416
7439
  },
7417
7440
  [onSelect, closeOnSelect]
7418
7441
  );
7419
- const handleCreate = React37.useCallback(() => {
7442
+ const handleCreate = React38.useCallback(() => {
7420
7443
  if (onCreate && trimmedSearch) {
7421
7444
  onCreate(trimmedSearch);
7422
7445
  setSearch("");
7423
7446
  setOpen(false);
7424
7447
  }
7425
7448
  }, [onCreate, trimmedSearch]);
7426
- const inputRef = React37.useRef(null);
7427
- const listboxId = React37.useId();
7428
- const setInputRef = React37.useCallback((node) => {
7449
+ const inputRef = React38.useRef(null);
7450
+ const listboxId = React38.useId();
7451
+ const setInputRef = React38.useCallback((node) => {
7429
7452
  inputRef.current = node;
7430
7453
  node?.removeAttribute("aria-labelledby");
7431
7454
  node?.setAttribute("aria-controls", listboxId);
@@ -7434,12 +7457,12 @@ function SearchSelect({
7434
7457
  const singleValue = closeOnSelect ? selected[0] ?? null : null;
7435
7458
  const showValue = singleValue !== null && !open;
7436
7459
  const popoverOpen = open && !disabled;
7437
- React37.useEffect(() => {
7460
+ React38.useEffect(() => {
7438
7461
  inputRef.current?.removeAttribute("aria-labelledby");
7439
7462
  inputRef.current?.setAttribute("aria-controls", listboxId);
7440
7463
  inputRef.current?.removeAttribute("aria-activedescendant");
7441
7464
  });
7442
- React37.useEffect(() => {
7465
+ React38.useEffect(() => {
7443
7466
  if (open && closeOnSelect) {
7444
7467
  const raf = requestAnimationFrame(() => inputRef.current?.focus());
7445
7468
  return () => cancelAnimationFrame(raf);
@@ -7884,7 +7907,7 @@ var SegmentedProgress = forwardRef(
7884
7907
  }
7885
7908
  );
7886
7909
  SegmentedProgress.displayName = "SegmentedProgress";
7887
- var Separator4 = React37.forwardRef(function Separator5({ className, orientation = "horizontal", decorative = true, ...props }, ref) {
7910
+ var Separator4 = React38.forwardRef(function Separator5({ className, orientation = "horizontal", decorative = true, ...props }, ref) {
7888
7911
  return /* @__PURE__ */ jsx(
7889
7912
  SeparatorPrimitive.Root,
7890
7913
  {
@@ -8016,7 +8039,7 @@ function SideDrawerFooter({ children, className }) {
8016
8039
  SideDrawer.Header = SideDrawerHeader;
8017
8040
  SideDrawer.Body = SideDrawerBody;
8018
8041
  SideDrawer.Footer = SideDrawerFooter;
8019
- var Slider = React37.forwardRef(
8042
+ var Slider = React38.forwardRef(
8020
8043
  function Slider2({
8021
8044
  className,
8022
8045
  label,
@@ -8028,7 +8051,7 @@ var Slider = React37.forwardRef(
8028
8051
  defaultValue,
8029
8052
  ...props
8030
8053
  }, ref) {
8031
- const generatedId = React37.useId();
8054
+ const generatedId = React38.useId();
8032
8055
  const id = providedId ?? generatedId;
8033
8056
  const displayValue = (() => {
8034
8057
  const v = value ?? defaultValue;
@@ -8336,6 +8359,7 @@ var statusMap = {
8336
8359
  approved: { variant: "success", label: "Approved" },
8337
8360
  paid: { variant: "success", label: "Paid" },
8338
8361
  complete: { variant: "success", label: "Complete" },
8362
+ received: { variant: "success", label: "Received" },
8339
8363
  draft: { variant: "secondary", label: "Draft" },
8340
8364
  pending: { variant: "secondary", label: "Pending" },
8341
8365
  overdue: { variant: "destructive", label: "Overdue" },
@@ -8606,9 +8630,9 @@ var switchThumbVariants = cva(
8606
8630
  }
8607
8631
  }
8608
8632
  );
8609
- var Switch = React37.forwardRef(
8633
+ var Switch = React38.forwardRef(
8610
8634
  function Switch2({ label, size, className, id: providedId, ...props }, ref) {
8611
- const generatedId = React37.useId();
8635
+ const generatedId = React38.useId();
8612
8636
  const id = providedId ?? generatedId;
8613
8637
  const root = /* @__PURE__ */ jsx(
8614
8638
  SwitchPrimitive.Root,
@@ -8742,13 +8766,13 @@ var TableCaption = forwardRef(
8742
8766
  }
8743
8767
  );
8744
8768
  TableCaption.displayName = "TableCaption";
8745
- var Tabs = React37.forwardRef(
8769
+ var Tabs = React38.forwardRef(
8746
8770
  function Tabs2({ className, ...props }, ref) {
8747
8771
  return /* @__PURE__ */ jsx(TabsPrimitive.Root, { ref, className: cn(className), ...props });
8748
8772
  }
8749
8773
  );
8750
8774
  Tabs.displayName = TabsPrimitive.Root.displayName;
8751
- var TabsList = React37.forwardRef(function TabsList2({ className, ...props }, ref) {
8775
+ var TabsList = React38.forwardRef(function TabsList2({ className, ...props }, ref) {
8752
8776
  return /* @__PURE__ */ jsx(
8753
8777
  TabsPrimitive.List,
8754
8778
  {
@@ -8793,7 +8817,7 @@ var triggerVariants = cva(
8793
8817
  }
8794
8818
  }
8795
8819
  );
8796
- var TabsTrigger = React37.forwardRef(function TabsTrigger2({ className, variant, ...props }, ref) {
8820
+ var TabsTrigger = React38.forwardRef(function TabsTrigger2({ className, variant, ...props }, ref) {
8797
8821
  return /* @__PURE__ */ jsx(
8798
8822
  TabsPrimitive.Trigger,
8799
8823
  {
@@ -8804,7 +8828,7 @@ var TabsTrigger = React37.forwardRef(function TabsTrigger2({ className, variant,
8804
8828
  );
8805
8829
  });
8806
8830
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
8807
- var TabsContent = React37.forwardRef(function TabsContent2({ className, ...props }, ref) {
8831
+ var TabsContent = React38.forwardRef(function TabsContent2({ className, ...props }, ref) {
8808
8832
  return /* @__PURE__ */ jsx(
8809
8833
  TabsPrimitive.Content,
8810
8834
  {
@@ -8829,7 +8853,7 @@ function TeamMemberSelect({
8829
8853
  placeholder = "Select team member...",
8830
8854
  className
8831
8855
  }) {
8832
- const options = React37.useMemo(() => {
8856
+ const options = React38.useMemo(() => {
8833
8857
  const meBadge = /* @__PURE__ */ jsx(
8834
8858
  Badge,
8835
8859
  {
@@ -9159,10 +9183,10 @@ var itemVariants = cva(
9159
9183
  }
9160
9184
  }
9161
9185
  );
9162
- var ToggleGroupContext = React37.createContext({
9186
+ var ToggleGroupContext = React38.createContext({
9163
9187
  variant: "default"
9164
9188
  });
9165
- var ToggleGroup = React37.forwardRef(function ToggleGroup2({ className, variant, children, ...props }, ref) {
9189
+ var ToggleGroup = React38.forwardRef(function ToggleGroup2({ className, variant, children, ...props }, ref) {
9166
9190
  return /* @__PURE__ */ jsx(
9167
9191
  ToggleGroupPrimitive.Root,
9168
9192
  {
@@ -9174,8 +9198,8 @@ var ToggleGroup = React37.forwardRef(function ToggleGroup2({ className, variant,
9174
9198
  );
9175
9199
  });
9176
9200
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
9177
- var ToggleGroupItem = React37.forwardRef(function ToggleGroupItem2({ className, variant, ...props }, ref) {
9178
- const ctx = React37.useContext(ToggleGroupContext);
9201
+ var ToggleGroupItem = React38.forwardRef(function ToggleGroupItem2({ className, variant, ...props }, ref) {
9202
+ const ctx = React38.useContext(ToggleGroupContext);
9179
9203
  return /* @__PURE__ */ jsx(
9180
9204
  ToggleGroupPrimitive.Item,
9181
9205
  {
@@ -9194,7 +9218,7 @@ var Tooltip = ({ delayMs, delayDuration, children, ...props }) => {
9194
9218
  return /* @__PURE__ */ jsx(TooltipPrimitive.Provider, { delayDuration: resolvedDelay, children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, { delayDuration: resolvedDelay, ...props, children }) });
9195
9219
  };
9196
9220
  Tooltip.displayName = "Tooltip";
9197
- var TooltipContent = React37.forwardRef(({ className, sideOffset = 6, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
9221
+ var TooltipContent = React38.forwardRef(({ className, sideOffset = 6, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
9198
9222
  TooltipPrimitive.Content,
9199
9223
  {
9200
9224
  ref,
@@ -9748,7 +9772,12 @@ var EngagementTimelineStep = forwardRef(
9748
9772
  }
9749
9773
  );
9750
9774
  EngagementTimelineStep.displayName = "EngagementTimelineStep";
9751
- var INDENT = 18;
9775
+ var ROW_BASE = "group/row flex w-full items-center gap-1.5 rounded-lg px-2.5 py-1 text-left text-[12px] font-medium transition-colors duration-[120ms] motion-reduce:transition-none";
9776
+ var ROW_INACTIVE = "text-fg-2 hover:bg-surface-2 hover:text-fg";
9777
+ var ROW_ACTIVE = "bg-pro-bg text-pro-fg font-semibold";
9778
+ var BADGE_BASE = "ml-auto min-w-[18px] rounded-full px-[5px] py-px text-center text-[10px] font-[650] tabular-nums";
9779
+ var BADGE_INACTIVE = "bg-surface-2 text-fg-4";
9780
+ var BADGE_ACTIVE = "bg-pro-bg text-pro-fg";
9752
9781
  var FolderTree = forwardRef(function FolderTree2({ nodes, activeId, onSelect, defaultOpenIds, openIds, onOpenChange, className, ...props }, ref) {
9753
9782
  const isControlled = openIds !== void 0;
9754
9783
  const [internalOpen, setInternalOpen] = useState(() => new Set(defaultOpenIds ?? []));
@@ -9767,64 +9796,562 @@ var FolderTree = forwardRef(function FolderTree2({ nodes, activeId, onSelect, de
9767
9796
  const hasChildren = Boolean(node.children?.length);
9768
9797
  const isOpen = open.has(node.id);
9769
9798
  const isActive = activeId === node.id;
9770
- return /* @__PURE__ */ jsxs("li", { children: [
9799
+ return /* @__PURE__ */ jsxs("li", { className: "relative", children: [
9800
+ depth > 0 && /* @__PURE__ */ jsx(
9801
+ "span",
9802
+ {
9803
+ "aria-hidden": true,
9804
+ className: "pointer-events-none absolute left-[-11px] top-0 bottom-0 w-px bg-[color:var(--color-rule-strong)]"
9805
+ }
9806
+ ),
9807
+ /* @__PURE__ */ jsxs("div", { className: cn(ROW_BASE, isActive ? ROW_ACTIVE : ROW_INACTIVE), children: [
9808
+ hasChildren ? /* @__PURE__ */ jsx(
9809
+ "button",
9810
+ {
9811
+ type: "button",
9812
+ "aria-expanded": isOpen,
9813
+ "aria-label": isOpen ? `Collapse ${node.name}` : `Expand ${node.name}`,
9814
+ onClick: (e) => {
9815
+ e.stopPropagation();
9816
+ toggle(node.id);
9817
+ },
9818
+ className: cn(
9819
+ "shrink-0 text-fg-4 transition-transform duration-[150ms] motion-reduce:transition-none",
9820
+ isOpen && "rotate-90"
9821
+ ),
9822
+ children: /* @__PURE__ */ jsx(ChevronRightIcon, { size: 13, "aria-hidden": "true" })
9823
+ }
9824
+ ) : /* @__PURE__ */ jsx("span", { className: "w-[13px] shrink-0", "aria-hidden": true }),
9825
+ /* @__PURE__ */ jsxs(
9826
+ "button",
9827
+ {
9828
+ type: "button",
9829
+ onClick: () => onSelect?.(node.id),
9830
+ "aria-current": isActive ? "true" : void 0,
9831
+ className: "flex min-w-0 flex-1 items-center gap-1.5 text-left text-[12px] focus-visible:outline-none focus-visible:[box-shadow:var(--shadow-focus-ring)]",
9832
+ children: [
9833
+ isOpen && hasChildren ? /* @__PURE__ */ jsx(
9834
+ FolderOpenIcon,
9835
+ {
9836
+ size: 14,
9837
+ "aria-hidden": "true",
9838
+ className: cn("shrink-0", isActive ? "text-pro-fg" : "text-fg-3")
9839
+ }
9840
+ ) : /* @__PURE__ */ jsx(
9841
+ FolderClosedIcon,
9842
+ {
9843
+ size: 14,
9844
+ "aria-hidden": "true",
9845
+ className: cn("shrink-0", isActive ? "text-pro-fg" : "text-fg-3")
9846
+ }
9847
+ ),
9848
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate", children: node.name })
9849
+ ]
9850
+ }
9851
+ ),
9852
+ node.count != null && /* @__PURE__ */ jsx("span", { className: cn(BADGE_BASE, isActive ? BADGE_ACTIVE : BADGE_INACTIVE), children: node.count })
9853
+ ] }),
9854
+ hasChildren && isOpen && /* @__PURE__ */ jsx("ul", { className: "relative flex flex-col pl-[22px]", children: node.children.map((child) => renderNode(child, depth + 1)) })
9855
+ ] }, node.id);
9856
+ };
9857
+ return /* @__PURE__ */ jsx("div", { ref, className: cn("w-full", className), ...props, children: /* @__PURE__ */ jsx("ul", { className: "flex flex-col", children: nodes.map((node) => renderNode(node, 0)) }) });
9858
+ });
9859
+ FolderTree.displayName = "FolderTree";
9860
+ var ClientRailItem = forwardRef(
9861
+ function ClientRailItem2({
9862
+ name,
9863
+ avatarSrc,
9864
+ entityType,
9865
+ pendingCount,
9866
+ fileCount,
9867
+ metaSuffix,
9868
+ active = false,
9869
+ className,
9870
+ ...props
9871
+ }, ref) {
9872
+ const hasPending = Boolean(pendingCount && pendingCount > 0);
9873
+ return /* @__PURE__ */ jsxs(
9874
+ "button",
9875
+ {
9876
+ ref,
9877
+ type: "button",
9878
+ className: cn(
9879
+ // Layout
9880
+ "relative flex w-full items-center gap-[11px] border-b border-rule px-[14px] py-[11px] text-left",
9881
+ // Motion
9882
+ "transition-colors duration-[120ms] motion-reduce:transition-none",
9883
+ // Cursor
9884
+ "cursor-pointer",
9885
+ // State — hover only when not active to avoid override
9886
+ active ? "bg-pro-bg" : "hover:bg-surface-2",
9887
+ className
9888
+ ),
9889
+ ...props,
9890
+ children: [
9891
+ active && /* @__PURE__ */ jsx(
9892
+ "span",
9893
+ {
9894
+ "aria-hidden": "true",
9895
+ className: "absolute top-0 bottom-0 left-0 w-[3px] bg-pro-fg"
9896
+ }
9897
+ ),
9898
+ /* @__PURE__ */ jsx("span", { className: "shrink-0", children: /* @__PURE__ */ jsx(Avatar, { name, src: avatarSrc, size: "sm" }) }),
9899
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
9900
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-[7px]", children: [
9901
+ /* @__PURE__ */ jsx("span", { className: "truncate text-[13.5px] font-[650] text-fg", children: name }),
9902
+ hasPending && /* @__PURE__ */ jsx(StatusDot, { tone: "pro", size: "sm" }),
9903
+ fileCount != null && /* @__PURE__ */ jsx("span", { className: "shrink-0 rounded-full bg-surface-2 px-[6px] py-px text-[10.5px] font-bold text-fg-3", children: fileCount })
9904
+ ] }),
9905
+ /* @__PURE__ */ jsx("p", { className: "mt-0.5 text-[11.5px] text-fg-3", children: hasPending ? /* @__PURE__ */ jsxs(Fragment, { children: [
9906
+ /* @__PURE__ */ jsxs("span", { className: "font-semibold text-pro-fg", children: [
9907
+ pendingCount,
9908
+ " pending"
9909
+ ] }),
9910
+ " \xB7 ",
9911
+ entityType
9912
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
9913
+ entityType,
9914
+ metaSuffix != null && /* @__PURE__ */ jsxs(Fragment, { children: [
9915
+ " \xB7 ",
9916
+ metaSuffix
9917
+ ] })
9918
+ ] }) })
9919
+ ] })
9920
+ ]
9921
+ }
9922
+ );
9923
+ }
9924
+ );
9925
+ ClientRailItem.displayName = "ClientRailItem";
9926
+ var ClientRailGroupHeader = forwardRef(function ClientRailGroupHeader2({ label, count, accent = false, className, ...props }, ref) {
9927
+ return /* @__PURE__ */ jsxs(
9928
+ "div",
9929
+ {
9930
+ ref,
9931
+ className: cn(
9932
+ "flex items-center gap-[7px] px-[14px] pt-[14px] pb-[5px] text-[11.5px] font-semibold",
9933
+ accent ? "text-pro-fg" : "text-fg-3",
9934
+ className
9935
+ ),
9936
+ ...props,
9937
+ children: [
9938
+ accent && /* @__PURE__ */ jsx(StatusDot, { tone: "pro", size: "sm" }),
9939
+ /* @__PURE__ */ jsxs("span", { children: [
9940
+ label,
9941
+ count != null && /* @__PURE__ */ jsxs("span", { className: accent ? void 0 : "text-fg-4", children: [
9942
+ " \xB7 ",
9943
+ count
9944
+ ] })
9945
+ ] })
9946
+ ]
9947
+ }
9948
+ );
9949
+ });
9950
+ ClientRailGroupHeader.displayName = "ClientRailGroupHeader";
9951
+ function getFileTypeParts(fileType) {
9952
+ const normalized = fileType.toLowerCase().trim().replace(/^\./, "");
9953
+ if (normalized.includes("pdf")) {
9954
+ return { Icon: FileTextIcon, colorClass: "text-danger-fg" };
9955
+ }
9956
+ if (normalized.includes("image") || ["jpg", "jpeg", "png", "tiff"].some((type) => normalized.includes(type))) {
9957
+ return { Icon: FileIcon, colorClass: "text-pro-fg" };
9958
+ }
9959
+ if (normalized.includes("excel") || normalized.includes("spreadsheet") || ["xlsx", "xls", "csv"].some((type) => normalized.includes(type))) {
9960
+ return { Icon: FileTextIcon, colorClass: "text-success-fg" };
9961
+ }
9962
+ if (normalized.includes("word") || ["docx", "doc"].some((type) => normalized.includes(type))) {
9963
+ return { Icon: FileTextIcon, colorClass: "text-pro-fg" };
9964
+ }
9965
+ return { Icon: FileIcon, colorClass: "text-fg-4" };
9966
+ }
9967
+ function MetaText({
9968
+ values,
9969
+ className,
9970
+ dotClassName
9971
+ }) {
9972
+ const presentValues = values.filter(Boolean);
9973
+ if (presentValues.length === 0) {
9974
+ return null;
9975
+ }
9976
+ return /* @__PURE__ */ jsx("div", { className, children: presentValues.map((value, index) => /* @__PURE__ */ jsxs(React38.Fragment, { children: [
9977
+ index > 0 && /* @__PURE__ */ jsx(
9978
+ "span",
9979
+ {
9980
+ className: cn("size-[3px] rounded-full bg-fg-4", dotClassName),
9981
+ "aria-hidden": "true"
9982
+ }
9983
+ ),
9984
+ /* @__PURE__ */ jsx("span", { children: value })
9985
+ ] }, `${value}-${index}`)) });
9986
+ }
9987
+ function FileTile({ fileType, card }) {
9988
+ const { Icon: Icon3, colorClass } = getFileTypeParts(fileType);
9989
+ return /* @__PURE__ */ jsx(
9990
+ "span",
9991
+ {
9992
+ className: cn(
9993
+ "grid shrink-0 place-items-center bg-surface-2",
9994
+ card ? "size-[46px] rounded-xl bg-surface" : "size-[38px] rounded-[10px]"
9995
+ ),
9996
+ "aria-hidden": "true",
9997
+ children: /* @__PURE__ */ jsx(Icon3, { className: colorClass, size: card ? 22 : 18 })
9998
+ }
9999
+ );
10000
+ }
10001
+ function CheckboxSlot({
10002
+ selected,
10003
+ onSelectedChange,
10004
+ className
10005
+ }) {
10006
+ return (
10007
+ // Wrapper only stops click propagation so the row's open handler does not
10008
+ // fire when toggling the checkbox; the Checkbox itself is the focusable control.
10009
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events
10010
+ /* @__PURE__ */ jsx(
10011
+ "div",
10012
+ {
10013
+ className: cn(
10014
+ "shrink-0 transition-opacity duration-[120ms] motion-reduce:transition-none",
10015
+ selected ? "opacity-100" : "opacity-0 group-hover:opacity-100",
10016
+ className
10017
+ ),
10018
+ onClick: (event) => event.stopPropagation(),
10019
+ children: /* @__PURE__ */ jsx(
10020
+ Checkbox,
10021
+ {
10022
+ checked: selected,
10023
+ onCheckedChange: (checked) => onSelectedChange?.(checked === true)
10024
+ }
10025
+ )
10026
+ }
10027
+ )
10028
+ );
10029
+ }
10030
+ function MoreActions({ menu }) {
10031
+ if (!menu) {
10032
+ return null;
10033
+ }
10034
+ return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
10035
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
10036
+ "button",
10037
+ {
10038
+ type: "button",
10039
+ className: cn(
10040
+ "grid size-[30px] place-items-center rounded-[8px] text-fg-4",
10041
+ "transition-colors duration-[120ms] motion-reduce:transition-none",
10042
+ "group-hover:text-fg-2 hover:bg-surface hover:text-pro-fg hover:shadow-sm"
10043
+ ),
10044
+ "aria-label": "More actions",
10045
+ onClick: (event) => event.stopPropagation(),
10046
+ children: /* @__PURE__ */ jsx(MoreHorizontalIcon, { size: 16 })
10047
+ }
10048
+ ) }),
10049
+ /* @__PURE__ */ jsx(DropdownMenuContent, { align: "end", children: menu })
10050
+ ] });
10051
+ }
10052
+ var DocumentFileRow = React38.forwardRef(
10053
+ function DocumentFileRow2({
10054
+ name,
10055
+ fileType,
10056
+ size,
10057
+ date,
10058
+ by,
10059
+ status,
10060
+ nameAdornment,
10061
+ menu,
10062
+ selected = false,
10063
+ showCheckbox = true,
10064
+ onSelectedChange,
10065
+ onOpen,
10066
+ className,
10067
+ onClick,
10068
+ ...props
10069
+ }, ref) {
10070
+ return (
10071
+ // Whole-row click is a pointer enhancement that opens the file; the same
10072
+ // action is keyboard-reachable via the kebab menu's items, and the row's
10073
+ // interactive controls (checkbox, menu) are independently focusable.
10074
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events
9771
10075
  /* @__PURE__ */ jsxs(
9772
10076
  "div",
9773
10077
  {
10078
+ ref,
9774
10079
  className: cn(
9775
- "group/row flex items-stretch rounded-[var(--radius-icon)]",
9776
- isActive ? "bg-pro-bg" : "hover:bg-bg-2"
10080
+ "group flex cursor-pointer items-center gap-[13px] border-b border-rule px-[14px] py-3",
10081
+ "transition-colors duration-[120ms] motion-reduce:transition-none hover:bg-surface-2",
10082
+ selected && "bg-pro-bg",
10083
+ className
9777
10084
  ),
10085
+ onClick: (event) => {
10086
+ onClick?.(event);
10087
+ if (!event.defaultPrevented) {
10088
+ onOpen?.();
10089
+ }
10090
+ },
10091
+ ...props,
9778
10092
  children: [
10093
+ showCheckbox !== false && /* @__PURE__ */ jsx(CheckboxSlot, { selected, onSelectedChange }),
10094
+ /* @__PURE__ */ jsx(FileTile, { fileType }),
10095
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
10096
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
10097
+ /* @__PURE__ */ jsx("span", { className: "truncate text-[13.5px] font-semibold text-fg", children: name }),
10098
+ nameAdornment
10099
+ ] }),
10100
+ /* @__PURE__ */ jsx(
10101
+ MetaText,
10102
+ {
10103
+ values: [size, date, by],
10104
+ className: "mt-0.5 flex flex-wrap items-center gap-[7px] text-[11.5px] text-fg-3"
10105
+ }
10106
+ )
10107
+ ] }),
10108
+ /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-[10px]", children: [
10109
+ status,
10110
+ /* @__PURE__ */ jsx(MoreActions, { menu })
10111
+ ] })
10112
+ ]
10113
+ }
10114
+ )
10115
+ );
10116
+ }
10117
+ );
10118
+ DocumentFileRow.displayName = "DocumentFileRow";
10119
+ var DocumentFileCard = React38.forwardRef(
10120
+ function DocumentFileCard2({
10121
+ name,
10122
+ fileType,
10123
+ size,
10124
+ date,
10125
+ by: _by,
10126
+ status,
10127
+ nameAdornment: _nameAdornment,
10128
+ menu,
10129
+ selected = false,
10130
+ showCheckbox = true,
10131
+ onSelectedChange,
10132
+ onOpen,
10133
+ className,
10134
+ onClick,
10135
+ ...props
10136
+ }, ref) {
10137
+ return (
10138
+ // Whole-card click is a pointer enhancement that opens the file; the same
10139
+ // action is keyboard-reachable via the kebab menu's items, and the card's
10140
+ // interactive controls (checkbox, menu) are independently focusable.
10141
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events
10142
+ /* @__PURE__ */ jsxs(
10143
+ "div",
10144
+ {
10145
+ ref,
10146
+ className: cn(
10147
+ "group relative cursor-pointer rounded-2xl border border-rule bg-surface p-3",
10148
+ "transition-[border-color,box-shadow,transform] duration-[120ms] motion-reduce:transition-none",
10149
+ "hover:-translate-y-0.5 hover:border-rule-strong hover:shadow-sm",
10150
+ selected && "border-pro-fg bg-pro-bg",
10151
+ className
10152
+ ),
10153
+ onClick: (event) => {
10154
+ onClick?.(event);
10155
+ if (!event.defaultPrevented) {
10156
+ onOpen?.();
10157
+ }
10158
+ },
10159
+ ...props,
10160
+ children: [
10161
+ showCheckbox !== false && /* @__PURE__ */ jsx(
10162
+ CheckboxSlot,
10163
+ {
10164
+ selected,
10165
+ onSelectedChange,
10166
+ className: "absolute top-2 left-2 z-[2]"
10167
+ }
10168
+ ),
10169
+ /* @__PURE__ */ jsx("div", { className: "relative mb-[11px] grid h-[92px] place-items-center overflow-hidden rounded-[10px] bg-surface-2", children: /* @__PURE__ */ jsx(FileTile, { fileType, card: true }) }),
10170
+ /* @__PURE__ */ jsx("div", { className: "truncate text-[13px] font-semibold text-fg", children: name }),
9779
10171
  /* @__PURE__ */ jsx(
9780
- "button",
10172
+ MetaText,
9781
10173
  {
9782
- type: "button",
9783
- "aria-expanded": hasChildren ? isOpen : void 0,
9784
- "aria-label": isOpen ? `Collapse ${node.name}` : `Expand ${node.name}`,
9785
- onClick: () => hasChildren && toggle(node.id),
9786
- disabled: !hasChildren,
9787
- className: "flex w-6 shrink-0 items-center justify-center self-stretch text-fg-4 disabled:opacity-0",
9788
- style: { marginLeft: depth * INDENT },
9789
- tabIndex: hasChildren ? 0 : -1,
9790
- children: /* @__PURE__ */ jsx(
9791
- ChevronRightIcon,
9792
- {
9793
- className: cn(
9794
- "size-3.5 transition-transform duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
9795
- isOpen && "rotate-90"
9796
- ),
9797
- "aria-hidden": "true"
9798
- }
9799
- )
10174
+ values: [size, date],
10175
+ className: "mt-[3px] flex items-center gap-[6px] text-[11px] text-fg-3"
10176
+ }
10177
+ ),
10178
+ /* @__PURE__ */ jsxs("div", { className: "mt-[10px] flex items-center justify-between", children: [
10179
+ /* @__PURE__ */ jsx("div", { className: "min-w-0", children: status }),
10180
+ /* @__PURE__ */ jsx(MoreActions, { menu })
10181
+ ] })
10182
+ ]
10183
+ }
10184
+ )
10185
+ );
10186
+ }
10187
+ );
10188
+ DocumentFileCard.displayName = "DocumentFileCard";
10189
+ var DocumentRequestField = forwardRef(
10190
+ function DocumentRequestField2({
10191
+ index,
10192
+ typeControl,
10193
+ label,
10194
+ onLabelChange,
10195
+ note,
10196
+ onNoteChange,
10197
+ onRemove,
10198
+ canRemove = true,
10199
+ className,
10200
+ ...props
10201
+ }, ref) {
10202
+ const humanIndex = index + 1;
10203
+ const showRemove = Boolean(onRemove) && canRemove;
10204
+ return /* @__PURE__ */ jsxs(
10205
+ "div",
10206
+ {
10207
+ ref,
10208
+ className: cn(
10209
+ "rounded-2xl border border-rule bg-surface-2 p-[14px] mb-[10px]",
10210
+ className
10211
+ ),
10212
+ ...props,
10213
+ children: [
10214
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-[9px] mb-3", children: [
10215
+ /* @__PURE__ */ jsx(
10216
+ "span",
10217
+ {
10218
+ "aria-hidden": "true",
10219
+ className: "size-[22px] rounded-full bg-pro-bg text-pro-fg text-[11px] font-bold grid place-items-center shrink-0 leading-none",
10220
+ children: humanIndex
9800
10221
  }
9801
10222
  ),
9802
- /* @__PURE__ */ jsxs(
10223
+ /* @__PURE__ */ jsxs("span", { className: "text-[13px] font-[650] text-pro-fg", children: [
10224
+ "Document ",
10225
+ humanIndex
10226
+ ] }),
10227
+ showRemove && /* @__PURE__ */ jsx(
9803
10228
  "button",
9804
10229
  {
9805
10230
  type: "button",
9806
- onClick: () => onSelect?.(node.id),
9807
- "aria-current": isActive ? "true" : void 0,
10231
+ onClick: onRemove,
10232
+ "aria-label": `Remove document ${humanIndex}`,
9808
10233
  className: cn(
9809
- "flex min-w-0 flex-1 items-center gap-2 py-1.5 pr-2 text-left text-sm focus-visible:outline-none focus-visible:[box-shadow:var(--shadow-focus-ring)]",
9810
- isActive ? "text-pro-fg font-medium" : "text-fg-2"
10234
+ "ml-auto size-[26px] rounded-[7px] grid place-items-center",
10235
+ "text-fg-4",
10236
+ "transition-colors duration-[120ms] motion-reduce:transition-none",
10237
+ "hover:bg-danger-bg hover:text-danger-fg",
10238
+ "focus-visible:outline-none focus-visible:[box-shadow:var(--shadow-focus-ring)]"
9811
10239
  ),
9812
- children: [
9813
- /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "shrink-0 [&_svg]:size-4", children: isOpen && hasChildren ? /* @__PURE__ */ jsx(FolderOpenIcon, {}) : /* @__PURE__ */ jsx(FolderClosedIcon, {}) }),
9814
- /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate", children: node.name }),
9815
- node.count != null && /* @__PURE__ */ jsx("span", { className: "text-fg-4 shrink-0 text-xs tabular-nums", children: node.count })
9816
- ]
10240
+ children: /* @__PURE__ */ jsx(CloseIcon, { size: 14, "aria-hidden": "true" })
9817
10241
  }
9818
10242
  )
9819
- ]
9820
- }
9821
- ),
9822
- hasChildren && isOpen && /* @__PURE__ */ jsx("ul", { className: "flex flex-col", children: node.children.map((child) => renderNode(child, depth + 1)) })
9823
- ] }, node.id);
9824
- };
9825
- return /* @__PURE__ */ jsx("div", { ref, className: cn("w-full", className), ...props, children: /* @__PURE__ */ jsx("ul", { className: "flex flex-col", children: nodes.map((node) => renderNode(node, 0)) }) });
9826
- });
9827
- FolderTree.displayName = "FolderTree";
10243
+ ] }),
10244
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
10245
+ /* @__PURE__ */ jsxs("div", { children: [
10246
+ /* @__PURE__ */ jsx("span", { className: "mb-1.5 block text-[11.5px] font-semibold text-fg-2", children: "Type" }),
10247
+ typeControl
10248
+ ] }),
10249
+ /* @__PURE__ */ jsxs("div", { children: [
10250
+ /* @__PURE__ */ jsxs("span", { className: "mb-1.5 block text-[11.5px] font-semibold text-fg-2", children: [
10251
+ "Label",
10252
+ " ",
10253
+ /* @__PURE__ */ jsx("span", { className: "text-danger-fg", "aria-hidden": "true", children: "*" })
10254
+ ] }),
10255
+ /* @__PURE__ */ jsx(
10256
+ Input,
10257
+ {
10258
+ value: label,
10259
+ onChange: (e) => onLabelChange(e.target.value),
10260
+ placeholder: "e.g. Bank statement for review",
10261
+ inputSize: "sm",
10262
+ "aria-label": `Label for document ${humanIndex}`,
10263
+ "aria-required": "true"
10264
+ }
10265
+ )
10266
+ ] }),
10267
+ /* @__PURE__ */ jsxs("div", { className: "col-span-2", children: [
10268
+ /* @__PURE__ */ jsx("span", { className: "mb-1.5 block text-[11.5px] font-semibold text-fg-2", children: "Note" }),
10269
+ /* @__PURE__ */ jsx(
10270
+ Input,
10271
+ {
10272
+ value: note,
10273
+ onChange: (e) => onNoteChange(e.target.value),
10274
+ placeholder: "Optional note for the client",
10275
+ inputSize: "sm",
10276
+ "aria-label": `Note for document ${humanIndex}`
10277
+ }
10278
+ )
10279
+ ] })
10280
+ ] })
10281
+ ]
10282
+ }
10283
+ );
10284
+ }
10285
+ );
10286
+ DocumentRequestField.displayName = "DocumentRequestField";
10287
+ var stateToStatus = {
10288
+ missing: "requested",
10289
+ pending: "pending",
10290
+ received: "received"
10291
+ };
10292
+ function StateDot({ state }) {
10293
+ const colorClass = state === "received" ? "bg-success-fg" : state === "pending" ? "bg-fg-4" : "bg-warning-fg";
10294
+ return /* @__PURE__ */ jsx(
10295
+ "span",
10296
+ {
10297
+ "aria-hidden": "true",
10298
+ className: cn("block size-1.5 shrink-0 rounded-full", colorClass)
10299
+ }
10300
+ );
10301
+ }
10302
+ var MissingDocumentsPanel = forwardRef(
10303
+ function MissingDocumentsPanel2({ items, subtitle = "Suggested from this engagement", onRequest, className, ...props }, ref) {
10304
+ const hasItems = items.length > 0;
10305
+ return /* @__PURE__ */ jsxs(
10306
+ "div",
10307
+ {
10308
+ ref,
10309
+ className: cn(
10310
+ "border-rule bg-surface flex flex-col gap-3 rounded-2xl border p-4 shadow-quiet",
10311
+ className
10312
+ ),
10313
+ ...props,
10314
+ children: [
10315
+ /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2.5", children: [
10316
+ /* @__PURE__ */ jsx(
10317
+ "span",
10318
+ {
10319
+ "aria-hidden": "true",
10320
+ className: "grid size-7 shrink-0 place-items-center rounded-lg bg-[image:var(--gradient-ai)] text-white [&_svg]:size-3.5",
10321
+ children: /* @__PURE__ */ jsx(SparklesIcon, {})
10322
+ }
10323
+ ),
10324
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
10325
+ /* @__PURE__ */ jsx("p", { className: "text-fg-4 mb-0.5 text-[10px] font-semibold tracking-widest uppercase", children: "AI" }),
10326
+ /* @__PURE__ */ jsx("p", { className: "text-fg text-[14px] font-[650] leading-tight", children: "Missing documents" }),
10327
+ /* @__PURE__ */ jsx("p", { className: "text-fg-3 mt-0.5 text-[12px] leading-snug", children: subtitle })
10328
+ ] })
10329
+ ] }),
10330
+ hasItems ? /* @__PURE__ */ jsx("ul", { className: "flex flex-col", children: items.map((item, idx) => /* @__PURE__ */ jsxs(
10331
+ "li",
10332
+ {
10333
+ className: "border-rule flex items-center gap-3 border-b py-2 last:border-0",
10334
+ children: [
10335
+ /* @__PURE__ */ jsx(StateDot, { state: item.state }),
10336
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
10337
+ /* @__PURE__ */ jsx("p", { className: "text-fg truncate text-[13px] leading-snug", children: item.label }),
10338
+ item.dueDate != null && /* @__PURE__ */ jsx("p", { className: "text-fg-3 mt-0.5 text-[11.5px] leading-none", children: item.dueDate })
10339
+ ] }),
10340
+ /* @__PURE__ */ jsx(StatusPill, { status: stateToStatus[item.state], dot: false })
10341
+ ]
10342
+ },
10343
+ idx
10344
+ )) }) : (
10345
+ /* Empty / all-received state */
10346
+ /* @__PURE__ */ jsx("p", { className: "text-success-fg py-1 text-[13px] font-medium", children: "All documents received" })
10347
+ ),
10348
+ onRequest != null && hasItems && /* @__PURE__ */ jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx(Button, { size: "sm", variant: "secondary", onClick: onRequest, children: "Request missing" }) })
10349
+ ]
10350
+ }
10351
+ );
10352
+ }
10353
+ );
10354
+ MissingDocumentsPanel.displayName = "MissingDocumentsPanel";
9828
10355
  function renderAction(action) {
9829
10356
  return /* @__PURE__ */ jsxs(DropdownMenuItem, { onSelect: action.onSelect, children: [
9830
10357
  action.icon && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "text-fg-3 [&_svg]:size-4", children: action.icon }),
@@ -9885,7 +10412,7 @@ var Content16 = forwardRef(function Content17({ padTop, padBottom, className, st
9885
10412
  );
9886
10413
  });
9887
10414
  Content16.displayName = "Content";
9888
- var SidebarContext = React37.createContext(null);
10415
+ var SidebarContext = React38.createContext(null);
9889
10416
  var NOOP_CONTEXT = {
9890
10417
  state: "expanded",
9891
10418
  setState: () => {
@@ -9898,7 +10425,7 @@ var NOOP_CONTEXT = {
9898
10425
  }
9899
10426
  };
9900
10427
  function useSidebarState() {
9901
- return React37.useContext(SidebarContext) ?? NOOP_CONTEXT;
10428
+ return React38.useContext(SidebarContext) ?? NOOP_CONTEXT;
9902
10429
  }
9903
10430
  var DEFAULT_SHORTCUT = "Mod+\\";
9904
10431
  function readStorage(key) {
@@ -9918,16 +10445,16 @@ function SidebarProvider({
9918
10445
  storageKey,
9919
10446
  shortcut = DEFAULT_SHORTCUT
9920
10447
  }) {
9921
- const [uncontrolled, setUncontrolled] = React37.useState(
10448
+ const [uncontrolled, setUncontrolled] = React38.useState(
9922
10449
  controlled ?? defaultState
9923
10450
  );
9924
- React37.useEffect(() => {
10451
+ React38.useEffect(() => {
9925
10452
  if (controlled !== void 0) return;
9926
10453
  const stored = readStorage(storageKey);
9927
10454
  if (stored && stored !== uncontrolled) setUncontrolled(stored);
9928
10455
  }, []);
9929
10456
  const state = controlled ?? uncontrolled;
9930
- const setState = React37.useCallback(
10457
+ const setState = React38.useCallback(
9931
10458
  (next) => {
9932
10459
  if (controlled === void 0) setUncontrolled(next);
9933
10460
  onStateChange?.(next);
@@ -9940,11 +10467,11 @@ function SidebarProvider({
9940
10467
  },
9941
10468
  [controlled, onStateChange, storageKey]
9942
10469
  );
9943
- const toggle = React37.useCallback(() => {
10470
+ const toggle = React38.useCallback(() => {
9944
10471
  setState(state === "expanded" ? "rail" : "expanded");
9945
10472
  }, [state, setState]);
9946
- const [peekLockCount, setPeekLockCount] = React37.useState(0);
9947
- const acquirePeekLock = React37.useCallback(() => {
10473
+ const [peekLockCount, setPeekLockCount] = React38.useState(0);
10474
+ const acquirePeekLock = React38.useCallback(() => {
9948
10475
  setPeekLockCount((n) => n + 1);
9949
10476
  let released = false;
9950
10477
  return () => {
@@ -9953,7 +10480,7 @@ function SidebarProvider({
9953
10480
  setPeekLockCount((n) => Math.max(0, n - 1));
9954
10481
  };
9955
10482
  }, []);
9956
- React37.useEffect(() => {
10483
+ React38.useEffect(() => {
9957
10484
  if (!shortcut) return;
9958
10485
  const parts = shortcut.split("+");
9959
10486
  const key = parts.pop() ?? "";
@@ -9973,7 +10500,7 @@ function SidebarProvider({
9973
10500
  window.addEventListener("keydown", onKey);
9974
10501
  return () => window.removeEventListener("keydown", onKey);
9975
10502
  }, [shortcut, toggle]);
9976
- const value = React37.useMemo(
10503
+ const value = React38.useMemo(
9977
10504
  () => ({ state, setState, toggle, collapsible: true, peekLockCount, acquirePeekLock }),
9978
10505
  [state, setState, toggle, peekLockCount, acquirePeekLock]
9979
10506
  );
@@ -9982,15 +10509,15 @@ function SidebarProvider({
9982
10509
  SidebarProvider.displayName = "SidebarProvider";
9983
10510
  var PEEK_ENTER_DELAY_MS = 100;
9984
10511
  var PEEK_LEAVE_DELAY_MS = 200;
9985
- var Sidebar = React37.forwardRef(function Sidebar2({ className, collapsible = false, variant = "classic", onMouseEnter, onMouseLeave, style, ...props }, ref) {
10512
+ var Sidebar = React38.forwardRef(function Sidebar2({ className, collapsible = false, variant = "classic", onMouseEnter, onMouseLeave, style, ...props }, ref) {
9986
10513
  const isFloating = variant === "floating";
9987
- const ctx = React37.useContext(SidebarContext);
10514
+ const ctx = React38.useContext(SidebarContext);
9988
10515
  const state = collapsible && ctx ? ctx.state : "expanded";
9989
10516
  const peekLockCount = collapsible && ctx ? ctx.peekLockCount : 0;
9990
- const [peek, setPeek] = React37.useState(false);
9991
- const enterTimer = React37.useRef(null);
9992
- const leaveTimer = React37.useRef(null);
9993
- const clearTimers = React37.useCallback(() => {
10517
+ const [peek, setPeek] = React38.useState(false);
10518
+ const enterTimer = React38.useRef(null);
10519
+ const leaveTimer = React38.useRef(null);
10520
+ const clearTimers = React38.useCallback(() => {
9994
10521
  if (enterTimer.current != null) {
9995
10522
  window.clearTimeout(enterTimer.current);
9996
10523
  enterTimer.current = null;
@@ -10000,8 +10527,8 @@ var Sidebar = React37.forwardRef(function Sidebar2({ className, collapsible = fa
10000
10527
  leaveTimer.current = null;
10001
10528
  }
10002
10529
  }, []);
10003
- React37.useEffect(() => () => clearTimers(), [clearTimers]);
10004
- React37.useEffect(() => {
10530
+ React38.useEffect(() => () => clearTimers(), [clearTimers]);
10531
+ React38.useEffect(() => {
10005
10532
  if (state === "expanded") {
10006
10533
  clearTimers();
10007
10534
  setPeek(false);
@@ -10082,7 +10609,7 @@ var Sidebar = React37.forwardRef(function Sidebar2({ className, collapsible = fa
10082
10609
  );
10083
10610
  });
10084
10611
  Sidebar.displayName = "Sidebar";
10085
- var SidebarTrigger = React37.forwardRef(
10612
+ var SidebarTrigger = React38.forwardRef(
10086
10613
  function SidebarTrigger2({
10087
10614
  className,
10088
10615
  expandLabel = "Expand sidebar",
@@ -10090,7 +10617,7 @@ var SidebarTrigger = React37.forwardRef(
10090
10617
  onClick,
10091
10618
  ...props
10092
10619
  }, ref) {
10093
- const ctx = React37.useContext(SidebarContext);
10620
+ const ctx = React38.useContext(SidebarContext);
10094
10621
  if (!ctx) return null;
10095
10622
  const { state, toggle } = ctx;
10096
10623
  const label = state === "expanded" ? collapseLabel : expandLabel;
@@ -10121,14 +10648,14 @@ var SidebarTrigger = React37.forwardRef(
10121
10648
  );
10122
10649
  SidebarTrigger.displayName = "SidebarTrigger";
10123
10650
  function useSidebarPeekLock(active) {
10124
- const ctx = React37.useContext(SidebarContext);
10125
- React37.useEffect(() => {
10651
+ const ctx = React38.useContext(SidebarContext);
10652
+ React38.useEffect(() => {
10126
10653
  if (!active || !ctx) return;
10127
10654
  const release = ctx.acquirePeekLock();
10128
10655
  return release;
10129
10656
  }, [active, ctx]);
10130
10657
  }
10131
- var SidebarPinButton = React37.forwardRef(
10658
+ var SidebarPinButton = React38.forwardRef(
10132
10659
  function SidebarPinButton2({
10133
10660
  pinLabel = "Pin sidebar",
10134
10661
  unpinLabel = "Unpin sidebar",
@@ -10136,7 +10663,7 @@ var SidebarPinButton = React37.forwardRef(
10136
10663
  onClick,
10137
10664
  ...props
10138
10665
  }, ref) {
10139
- const ctx = React37.useContext(SidebarContext);
10666
+ const ctx = React38.useContext(SidebarContext);
10140
10667
  if (!ctx || !ctx.collapsible) return null;
10141
10668
  const { state, setState } = ctx;
10142
10669
  const isPinned = state === "expanded";
@@ -10201,7 +10728,7 @@ function PinGlyph({
10201
10728
  }
10202
10729
  );
10203
10730
  }
10204
- var SidebarBrand = React37.forwardRef(
10731
+ var SidebarBrand = React38.forwardRef(
10205
10732
  function SidebarBrand2({ className, ...props }, ref) {
10206
10733
  return /* @__PURE__ */ jsx(
10207
10734
  "div",
@@ -10217,7 +10744,7 @@ var SidebarBrand = React37.forwardRef(
10217
10744
  }
10218
10745
  );
10219
10746
  SidebarBrand.displayName = "SidebarBrand";
10220
- var SidebarBrandText = React37.forwardRef(
10747
+ var SidebarBrandText = React38.forwardRef(
10221
10748
  function SidebarBrandText2({ className, ...props }, ref) {
10222
10749
  return /* @__PURE__ */ jsx(
10223
10750
  "span",
@@ -10242,16 +10769,16 @@ var SidebarBrandText = React37.forwardRef(
10242
10769
  }
10243
10770
  );
10244
10771
  SidebarBrandText.displayName = "SidebarBrandText";
10245
- var SidebarGroupScopeContext = React37.createContext(null);
10246
- var SidebarSection = React37.forwardRef(
10772
+ var SidebarGroupScopeContext = React38.createContext(null);
10773
+ var SidebarSection = React38.forwardRef(
10247
10774
  function SidebarSection2({ label, tone = "pro", className, children, ...props }, ref) {
10248
10775
  const ariaLabel = typeof label === "string" ? label : typeof label === "number" ? String(label) : void 0;
10249
- const [exclusiveId, setExclusiveIdState] = React37.useState(null);
10250
- const setExclusive = React37.useCallback(
10776
+ const [exclusiveId, setExclusiveIdState] = React38.useState(null);
10777
+ const setExclusive = React38.useCallback(
10251
10778
  (id) => setExclusiveIdState(id),
10252
10779
  []
10253
10780
  );
10254
- const scope = React37.useMemo(
10781
+ const scope = React38.useMemo(
10255
10782
  () => ({ exclusiveId, setExclusive }),
10256
10783
  [exclusiveId, setExclusive]
10257
10784
  );
@@ -10304,12 +10831,12 @@ function getTextContent(node) {
10304
10831
  if (node == null || typeof node === "boolean") return "";
10305
10832
  if (typeof node === "string" || typeof node === "number") return String(node);
10306
10833
  if (Array.isArray(node)) return node.map(getTextContent).filter(Boolean).join(" ");
10307
- if (React37.isValidElement(node)) {
10834
+ if (React38.isValidElement(node)) {
10308
10835
  return getTextContent(node.props.children);
10309
10836
  }
10310
10837
  return "";
10311
10838
  }
10312
- var SidebarLink = React37.forwardRef(
10839
+ var SidebarLink = React38.forwardRef(
10313
10840
  function SidebarLink2({ href, icon, active = false, asChild, className, children, "aria-label": ariaLabel, ...props }, ref) {
10314
10841
  const Comp = asChild ? Slot : "a";
10315
10842
  const accessibleLabel = ariaLabel ?? (asChild ? void 0 : getTextContent(children) || void 0);
@@ -10380,7 +10907,7 @@ var SidebarLink = React37.forwardRef(
10380
10907
  }
10381
10908
  );
10382
10909
  SidebarLink.displayName = "SidebarLink";
10383
- var SidebarLinkLabel = React37.forwardRef(
10910
+ var SidebarLinkLabel = React38.forwardRef(
10384
10911
  function SidebarLinkLabel2({ className, ...props }, ref) {
10385
10912
  return /* @__PURE__ */ jsx(
10386
10913
  "span",
@@ -10405,7 +10932,7 @@ var SidebarLinkLabel = React37.forwardRef(
10405
10932
  }
10406
10933
  );
10407
10934
  SidebarLinkLabel.displayName = "SidebarLinkLabel";
10408
- var SidebarLinkAction = React37.forwardRef(
10935
+ var SidebarLinkAction = React38.forwardRef(
10409
10936
  function SidebarLinkAction2({ className, ...props }, ref) {
10410
10937
  return /* @__PURE__ */ jsx(
10411
10938
  "span",
@@ -10437,13 +10964,13 @@ var sidebarLinkBadgeVariants = cva(
10437
10964
  defaultVariants: { tone: "default" }
10438
10965
  }
10439
10966
  );
10440
- var SidebarLinkBadge = React37.forwardRef(
10967
+ var SidebarLinkBadge = React38.forwardRef(
10441
10968
  function SidebarLinkBadge2({ tone, className, ...props }, ref) {
10442
10969
  return /* @__PURE__ */ jsx("span", { ref, className: cn(sidebarLinkBadgeVariants({ tone }), className), ...props });
10443
10970
  }
10444
10971
  );
10445
10972
  SidebarLinkBadge.displayName = "SidebarLinkBadge";
10446
- var SidebarLinkGroup = React37.forwardRef(
10973
+ var SidebarLinkGroup = React38.forwardRef(
10447
10974
  function SidebarLinkGroup2({
10448
10975
  id: idProp,
10449
10976
  icon,
@@ -10458,19 +10985,19 @@ var SidebarLinkGroup = React37.forwardRef(
10458
10985
  children,
10459
10986
  ...props
10460
10987
  }, ref) {
10461
- const reactId = React37.useId();
10988
+ const reactId = React38.useId();
10462
10989
  const id = idProp ?? reactId;
10463
- const scope = React37.useContext(SidebarGroupScopeContext);
10464
- const [uncontrolledOpen, setUncontrolledOpen] = React37.useState(defaultOpen);
10990
+ const scope = React38.useContext(SidebarGroupScopeContext);
10991
+ const [uncontrolledOpen, setUncontrolledOpen] = React38.useState(defaultOpen);
10465
10992
  const open = controlled ?? uncontrolledOpen;
10466
- const setOpen = React37.useCallback(
10993
+ const setOpen = React38.useCallback(
10467
10994
  (next) => {
10468
10995
  if (controlled === void 0) setUncontrolledOpen(next);
10469
10996
  onOpenChange?.(next);
10470
10997
  },
10471
10998
  [controlled, onOpenChange]
10472
10999
  );
10473
- React37.useEffect(() => {
11000
+ React38.useEffect(() => {
10474
11001
  if (scope?.exclusiveId && scope.exclusiveId !== id && open) {
10475
11002
  setOpen(false);
10476
11003
  }
@@ -10579,7 +11106,7 @@ var SidebarLinkGroup = React37.forwardRef(
10579
11106
  }
10580
11107
  );
10581
11108
  SidebarLinkGroup.displayName = "SidebarLinkGroup";
10582
- var SidebarFooter = React37.forwardRef(
11109
+ var SidebarFooter = React38.forwardRef(
10583
11110
  function SidebarFooter2({ className, ...props }, ref) {
10584
11111
  return /* @__PURE__ */ jsx(
10585
11112
  "div",
@@ -10596,7 +11123,7 @@ var SidebarFooter = React37.forwardRef(
10596
11123
  }
10597
11124
  );
10598
11125
  SidebarFooter.displayName = "SidebarFooter";
10599
- var SidebarUser = React37.forwardRef(function SidebarUser2({ name, subtitle, avatarSrc, className, ...props }, ref) {
11126
+ var SidebarUser = React38.forwardRef(function SidebarUser2({ name, subtitle, avatarSrc, className, ...props }, ref) {
10600
11127
  return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex min-w-0 items-center gap-2.5", className), ...props, children: [
10601
11128
  /* @__PURE__ */ jsx(Avatar, { size: "sm", variant: "branded", name, src: avatarSrc ?? void 0 }),
10602
11129
  /* @__PURE__ */ jsxs(
@@ -10617,7 +11144,7 @@ var SidebarUser = React37.forwardRef(function SidebarUser2({ name, subtitle, ava
10617
11144
  ] });
10618
11145
  });
10619
11146
  SidebarUser.displayName = "SidebarUser";
10620
- var SidebarBrandSwitcher = React37.forwardRef(
11147
+ var SidebarBrandSwitcher = React38.forwardRef(
10621
11148
  function SidebarBrandSwitcher2({
10622
11149
  brand,
10623
11150
  label,
@@ -10635,7 +11162,7 @@ var SidebarBrandSwitcher = React37.forwardRef(
10635
11162
  contentClassName,
10636
11163
  trailing
10637
11164
  }, ref) {
10638
- const [open, setOpen] = React37.useState(false);
11165
+ const [open, setOpen] = React38.useState(false);
10639
11166
  useSidebarPeekLock(open);
10640
11167
  const others = items.filter((p) => p.id !== current.id);
10641
11168
  return (
@@ -10755,7 +11282,7 @@ function SidebarBrandSwitcherOtherRow({
10755
11282
  unavailableBadge
10756
11283
  }) {
10757
11284
  const reachable = item.available !== false;
10758
- const [launching, setLaunching] = React37.useState(false);
11285
+ const [launching, setLaunching] = React38.useState(false);
10759
11286
  const handleSelect = async () => {
10760
11287
  if (!reachable || launching || !onLaunch) return;
10761
11288
  setLaunching(true);
@@ -12672,7 +13199,7 @@ var FilterChip = forwardRef(function FilterChip2({ active = false, size, count,
12672
13199
  );
12673
13200
  });
12674
13201
  FilterChip.displayName = "FilterChip";
12675
- var BulkActionBarContext = React37.createContext({ tone: "surface" });
13202
+ var BulkActionBarContext = React38.createContext({ tone: "surface" });
12676
13203
  function actionClasses(tone, destructive) {
12677
13204
  const base = cn(
12678
13205
  "inline-flex h-8 items-center gap-1.5 rounded-btn px-3 text-[13px] font-medium",
@@ -12695,8 +13222,8 @@ function actionClasses(tone, destructive) {
12695
13222
  destructive ? "text-control-destructive-fg hover:bg-control-destructive-hover-bg" : "text-control-fg hover:bg-control-hover-bg hover:text-control-hover-fg"
12696
13223
  );
12697
13224
  }
12698
- var BulkActionBarAction = React37.forwardRef(function BulkActionBarAction2({ asChild = false, destructive, className, type, ...props }, ref) {
12699
- const { tone } = React37.use(BulkActionBarContext);
13225
+ var BulkActionBarAction = React38.forwardRef(function BulkActionBarAction2({ asChild = false, destructive, className, type, ...props }, ref) {
13226
+ const { tone } = React38.use(BulkActionBarContext);
12700
13227
  const Comp = asChild ? Slot : "button";
12701
13228
  return /* @__PURE__ */ jsx(
12702
13229
  Comp,
@@ -12710,7 +13237,7 @@ var BulkActionBarAction = React37.forwardRef(function BulkActionBarAction2({ asC
12710
13237
  });
12711
13238
  BulkActionBarAction.displayName = "BulkActionBarAction";
12712
13239
  function BulkActionBarSeparator({ className }) {
12713
- const { tone } = React37.use(BulkActionBarContext);
13240
+ const { tone } = React38.use(BulkActionBarContext);
12714
13241
  return /* @__PURE__ */ jsx(
12715
13242
  "span",
12716
13243
  {
@@ -12910,6 +13437,6 @@ var KbdHint = forwardRef(function KbdHint2({ className, children, ...props }, re
12910
13437
  });
12911
13438
  KbdHint.displayName = "KbdHint";
12912
13439
 
12913
- export { AIReceiptPanel, Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityEventItem, ActivityItem, ActivityList, Alert, AlertCircleIcon, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AlertTriangleIcon, AlertTriangleSolidIcon, AppHeader, AppHeaderActions, AppHeaderBreadcrumb, AppHeaderSearch, AppHeaderTitle, AreaChart, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowRightSmallIcon, ArrowUpIcon, AspectRatio, AssureAuditBrandIcon, AssureBooksBrandIcon, AssureProBrandIcon, AssureTaxBrandIcon, AtSignIcon, AttachmentChip, AttentionItem, Avatar, Badge, BarChartIcon, BellIcon, Blockquote, BoldIcon, BottomNav, Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BriefcaseIcon, Building2Icon, BuildingIcon, BulkActionBar, BulkActionBarAction, BulkActionBarSeparator, Button, COUNTRY_CODES, Calendar, CalendarIcon, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CategoryDivider, CategoryTag, ChatBubbleIcon, CheckCircle2Icon, CheckCircleSolidIcon, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsUpDownIcon, CircleDotIcon, CircleIcon, ClientSelect, ClipboardCheckIcon, ClockIcon, CloseIcon, Collapsible, CollapsibleContent, CollapsibleTrigger, ComingSoon, CommandIcon, CommandPalette, ConfirmActionButton, Content16 as Content, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, CopyIcon, CornerDownLeftIcon, CountryFlag, CountrySelect, CreditCardIcon, DATE_DISPLAY_PLACEHOLDER, DangerAction, DashGrid, DataItem, DataTable, DataTableBody, DataTableCell, DataTableCellDue, DataTableCellId, DataTableCellMono, DataTableCellName, DataTableCheckbox, DataTableHead, DataTableHeader, DataTablePagination, DataTableResultsCount, DataTableRow, DataTableSearch, DataTableSpacer, DataTableToolbar, DatePicker, DateRangePicker, DetailGrid, DetailMain, DetailSpine, DetailSpineHeader, DetailSpineSection, DetailSpineStats, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DismissibleChip, DocumentIcon, DollarSignIcon, DonutChart, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EngagementCard, EngagementTimeline, EngagementTimelineStep, EyeIcon, EyeOffIcon, Eyebrow, FileChip, FileIcon, FileReturnIcon, FileTextIcon, FileTypeBadge, FileUpload, FilterChip, FilterIcon, FlagIcon, FolderClosedIcon, FolderOpenIcon, FolderPlusIcon, FolderTree, FolderUpIcon, FormError, FormSection, FormSuccess, GlobeIcon, GoogleBrandIcon, HelpCircleIcon, HistoryIcon, HomeIcon, HoverCard, HoverCardContent, HoverCardPortal, HoverCardTrigger, IconAction, IconTile, InboxIcon, InfoCircleSolidIcon, InfoIcon, Input, ItalicIcon, Kanban, KanbanCard, KanbanColumn, KanbanIcon, KbdHint, KeyIcon, KeyboardShortcutsDialog, KpiCard, Label4 as Label, LandmarkIcon, LayoutDashboardIcon, LayoutGridIcon, LayoutListIcon, LightningIcon, Link2Icon, LinkAction, LinkButton, LinkIcon, ListChecksIcon, ListIcon, ListOrderedIcon, LoaderIcon, LoadingRows, LockIcon, LockKeyholeIcon, LockOpenIcon, LogOutIcon, Logo, MailIcon, Main, MapPinIcon, MasterDetailLayout, MenuIcon, MessageBubble, MessageBubbleAction, MessageBubbleTombstone, MessageCircleIcon, MessageCircleWarningIcon, MessageComposer, MetadataGrid, MicrosoftBrandIcon, MinusIcon, MonitorIcon, MoonIcon, MoreHorizontalIcon, MoveIcon, MultiFilterPill, MultiSelectField, MutedSpec, NewMenu, NotificationFilter, NotificationItem, NotificationList, NotificationPanel, NotificationPanelFooter, NotificationPanelHeader, Numeric, OTPInput, PageHeader, PageHeaderSep, PageHeaderSpec, Pagination, PaletteIcon, PanelLeftCloseIcon, PanelLeftIcon, PaperclipIcon, PauseIcon, PenSignIcon, PenToolIcon, PencilIcon, PhoneCountryInput, PhoneIcon, PhoneInput, PlayIcon, PlusIcon, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverPortal, PopoverTrigger, PrimaryAction, PriorityIcon, ProgressBar, ProgressRing, RadioGroup3 as RadioGroup, RadioGroupItem, RankedBars, ReceiptIcon, ReplyIcon, ResponsiveDialog, RotateCcwIcon, RouteTransition, SERVICE_TONES, SaveIcon, ScrollArea, ScrollBar, SearchIcon, SearchInput, SearchSelect, SecondaryAction, Section, SectionHead, SectionHeader, SegmentedProgress, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectRoot, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectableKpiCard, SendIcon, Separator4 as Separator, SettingsIcon, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Shell, ShieldIcon, SideDrawer, Sidebar, SidebarBrand, SidebarBrandSwitcher, SidebarBrandSwitcherTile, SidebarBrandText, SidebarFooter, SidebarLink, SidebarLinkAction, SidebarLinkBadge, SidebarLinkGroup, SidebarLinkLabel, SidebarPinButton, SidebarProvider, SidebarSection, SidebarTrigger, SidebarUser, Skeleton, SkeletonCircle, SkeletonText, SlashIcon, Slider, SmartphoneIcon, SparkleIcon, SparklesIcon, Spinner, StarIcon, StarRating, Stat, StatusDot, StatusIcon, StatusPill, Stepper, StickyActionBar, StopIcon, StrikethroughIcon, SubmitButton, SuiteProgress, SunIcon, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableIcon, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagIcon, TeamIcon, TeamMemberSelect, Textarea, TimeLogger, TimeLoggerActions, TimeLoggerBillable, TimeLoggerContextRow, TimeLoggerEntry, TimeLoggerEntryList, TimeLoggerField, TimeLoggerFooter, TimeLoggerHeader, TimeLoggerNotes, TimeLoggerTimer, ToastProvider, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, Trash2Icon, TrashIcon, TrendingDownIcon, TrendingUpIcon, UnderlineIcon, UploadIcon, UserCircleIcon, UserIcon, UsersIcon, VisuallyHidden, WorkflowIcon, XCircleSolidIcon, XIcon, YEAR_DISPLAY_PLACEHOLDER, ZoomInIcon, ZoomOutIcon, alertVariants, applyMask, applyYearMask, attachmentChipVariants, badgeVariants, buttonVariants, cardVariants, cn, colors, dateToIso, displayToIso, fileTypeBadgeVariants, fileTypeFromName, filterChipVariants, formatClock, formatCurrency, formatDuration, getFlagEmoji, iconTileVariants, inputVariants, isoToDate, isoToDisplay, isoToYear, labelVariants, parseDuration, parsePhoneForEditing, progressBarVariants, progressRingVariants, radii, reference, searchInputVariants, serviceToneLabel, serviceToneStyle, shadows, sidebarLinkBadgeVariants, spacing, spinnerVariants, starRatingVariants, statusDotVariants, suiteProgressFillVariants, surfaces, systemTokens, textareaVariants, typography, useSidebarPeekLock, useSidebarState, useStopwatch, useToast, yearToIso };
13440
+ export { AIReceiptPanel, Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityEventItem, ActivityItem, ActivityList, Alert, AlertCircleIcon, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AlertTriangleIcon, AlertTriangleSolidIcon, AppHeader, AppHeaderActions, AppHeaderBreadcrumb, AppHeaderSearch, AppHeaderTitle, AreaChart, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowRightSmallIcon, ArrowUpIcon, AspectRatio, AssureAuditBrandIcon, AssureBooksBrandIcon, AssureProBrandIcon, AssureTaxBrandIcon, AtSignIcon, AttachmentChip, AttentionItem, Avatar, Badge, BarChartIcon, BellIcon, Blockquote, BoldIcon, BottomNav, Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BriefcaseIcon, Building2Icon, BuildingIcon, BulkActionBar, BulkActionBarAction, BulkActionBarSeparator, Button, COUNTRY_CODES, Calendar, CalendarIcon, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CategoryDivider, CategoryTag, ChatBubbleIcon, CheckCircle2Icon, CheckCircleSolidIcon, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsUpDownIcon, CircleDotIcon, CircleIcon, ClientRailGroupHeader, ClientRailItem, ClientSelect, ClipboardCheckIcon, ClockIcon, CloseIcon, Collapsible, CollapsibleContent, CollapsibleTrigger, ComingSoon, CommandIcon, CommandPalette, ConfirmActionButton, Content16 as Content, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, CopyIcon, CornerDownLeftIcon, CountryFlag, CountrySelect, CreditCardIcon, DATE_DISPLAY_PLACEHOLDER, DangerAction, DashGrid, DataItem, DataTable, DataTableBody, DataTableCell, DataTableCellDue, DataTableCellId, DataTableCellMono, DataTableCellName, DataTableCheckbox, DataTableHead, DataTableHeader, DataTablePagination, DataTableResultsCount, DataTableRow, DataTableSearch, DataTableSpacer, DataTableToolbar, DatePicker, DateRangePicker, DetailGrid, DetailMain, DetailSpine, DetailSpineHeader, DetailSpineSection, DetailSpineStats, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DismissibleChip, DocumentFileCard, DocumentFileRow, DocumentIcon, DocumentRequestField, DocumentsWorkspaceLayout, DollarSignIcon, DonutChart, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EngagementCard, EngagementTimeline, EngagementTimelineStep, EyeIcon, EyeOffIcon, Eyebrow, FileChip, FileIcon, FileReturnIcon, FileTextIcon, FileTypeBadge, FileUpload, FilterChip, FilterIcon, FlagIcon, FolderClosedIcon, FolderOpenIcon, FolderPlusIcon, FolderTree, FolderUpIcon, FormError, FormSection, FormSuccess, GlobeIcon, GoogleBrandIcon, HelpCircleIcon, HistoryIcon, HomeIcon, HoverCard, HoverCardContent, HoverCardPortal, HoverCardTrigger, IconAction, IconTile, InboxIcon, InfoCircleSolidIcon, InfoIcon, Input, ItalicIcon, Kanban, KanbanCard, KanbanColumn, KanbanIcon, KbdHint, KeyIcon, KeyboardShortcutsDialog, KpiCard, Label4 as Label, LandmarkIcon, LayoutDashboardIcon, LayoutGridIcon, LayoutListIcon, LightningIcon, Link2Icon, LinkAction, LinkButton, LinkIcon, ListChecksIcon, ListIcon, ListOrderedIcon, LoaderIcon, LoadingRows, LockIcon, LockKeyholeIcon, LockOpenIcon, LogOutIcon, Logo, MailIcon, Main, MapPinIcon, MasterDetailLayout, MenuIcon, MessageBubble, MessageBubbleAction, MessageBubbleTombstone, MessageCircleIcon, MessageCircleWarningIcon, MessageComposer, MetadataGrid, MicrosoftBrandIcon, MinusIcon, MissingDocumentsPanel, MonitorIcon, MoonIcon, MoreHorizontalIcon, MoveIcon, MultiFilterPill, MultiSelectField, MutedSpec, NewMenu, NotificationFilter, NotificationItem, NotificationList, NotificationPanel, NotificationPanelFooter, NotificationPanelHeader, Numeric, OTPInput, PageHeader, PageHeaderSep, PageHeaderSpec, Pagination, PaletteIcon, PanelLeftCloseIcon, PanelLeftIcon, PaperclipIcon, PauseIcon, PenSignIcon, PenToolIcon, PencilIcon, PhoneCountryInput, PhoneIcon, PhoneInput, PlayIcon, PlusIcon, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverPortal, PopoverTrigger, PrimaryAction, PriorityIcon, ProgressBar, ProgressRing, RadioGroup3 as RadioGroup, RadioGroupItem, RankedBars, ReceiptIcon, ReplyIcon, ResponsiveDialog, RotateCcwIcon, RouteTransition, SERVICE_TONES, SaveIcon, ScrollArea, ScrollBar, SearchIcon, SearchInput, SearchSelect, SecondaryAction, Section, SectionHead, SectionHeader, SegmentedProgress, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectRoot, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectableKpiCard, SendIcon, Separator4 as Separator, SettingsIcon, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Shell, ShieldIcon, SideDrawer, Sidebar, SidebarBrand, SidebarBrandSwitcher, SidebarBrandSwitcherTile, SidebarBrandText, SidebarFooter, SidebarLink, SidebarLinkAction, SidebarLinkBadge, SidebarLinkGroup, SidebarLinkLabel, SidebarPinButton, SidebarProvider, SidebarSection, SidebarTrigger, SidebarUser, Skeleton, SkeletonCircle, SkeletonText, SlashIcon, Slider, SmartphoneIcon, SparkleIcon, SparklesIcon, Spinner, StarIcon, StarRating, Stat, StatusDot, StatusIcon, StatusPill, Stepper, StickyActionBar, StopIcon, StrikethroughIcon, SubmitButton, SuiteProgress, SunIcon, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableIcon, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagIcon, TeamIcon, TeamMemberSelect, Textarea, TimeLogger, TimeLoggerActions, TimeLoggerBillable, TimeLoggerContextRow, TimeLoggerEntry, TimeLoggerEntryList, TimeLoggerField, TimeLoggerFooter, TimeLoggerHeader, TimeLoggerNotes, TimeLoggerTimer, ToastProvider, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, Trash2Icon, TrashIcon, TrendingDownIcon, TrendingUpIcon, UnderlineIcon, UploadIcon, UserCircleIcon, UserIcon, UsersIcon, VisuallyHidden, WorkflowIcon, XCircleSolidIcon, XIcon, YEAR_DISPLAY_PLACEHOLDER, ZoomInIcon, ZoomOutIcon, alertVariants, applyMask, applyYearMask, attachmentChipVariants, badgeVariants, buttonVariants, cardVariants, cn, colors, dateToIso, displayToIso, fileTypeBadgeVariants, fileTypeFromName, filterChipVariants, formatClock, formatCurrency, formatDuration, getFlagEmoji, iconTileVariants, inputVariants, isoToDate, isoToDisplay, isoToYear, labelVariants, parseDuration, parsePhoneForEditing, progressBarVariants, progressRingVariants, radii, reference, searchInputVariants, serviceToneLabel, serviceToneStyle, shadows, sidebarLinkBadgeVariants, spacing, spinnerVariants, starRatingVariants, statusDotVariants, suiteProgressFillVariants, surfaces, systemTokens, textareaVariants, typography, useSidebarPeekLock, useSidebarState, useStopwatch, useToast, yearToIso };
12914
13441
  //# sourceMappingURL=index.js.map
12915
13442
  //# sourceMappingURL=index.js.map