@otfdashkit/ui 0.1.2 → 0.1.3

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
@@ -2,7 +2,7 @@
2
2
 
3
3
  var clsx = require('clsx');
4
4
  var tailwindMerge = require('tailwind-merge');
5
- var React131 = require('react');
5
+ var React136 = require('react');
6
6
  var AccordionPrimitive = require('@radix-ui/react-accordion');
7
7
  var lucideReact = require('lucide-react');
8
8
  var jsxRuntime = require('react/jsx-runtime');
@@ -84,7 +84,7 @@ function _interopNamespace(e) {
84
84
  return Object.freeze(n);
85
85
  }
86
86
 
87
- var React131__namespace = /*#__PURE__*/_interopNamespace(React131);
87
+ var React136__namespace = /*#__PURE__*/_interopNamespace(React136);
88
88
  var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
89
89
  var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
90
90
  var AspectRatioPrimitive__namespace = /*#__PURE__*/_interopNamespace(AspectRatioPrimitive);
@@ -124,7 +124,7 @@ function cn(...inputs) {
124
124
  return tailwindMerge.twMerge(clsx.clsx(inputs));
125
125
  }
126
126
  var Accordion = AccordionPrimitive__namespace.Root;
127
- var AccordionItem = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
127
+ var AccordionItem = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
128
128
  AccordionPrimitive__namespace.Item,
129
129
  {
130
130
  ref,
@@ -133,7 +133,7 @@ var AccordionItem = React131__namespace.forwardRef(({ className, ...props }, ref
133
133
  }
134
134
  ));
135
135
  AccordionItem.displayName = "AccordionItem";
136
- var AccordionTrigger = React131__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
136
+ var AccordionTrigger = React136__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
137
137
  AccordionPrimitive__namespace.Trigger,
138
138
  {
139
139
  ref,
@@ -149,7 +149,7 @@ var AccordionTrigger = React131__namespace.forwardRef(({ className, children, ..
149
149
  }
150
150
  ) }));
151
151
  AccordionTrigger.displayName = AccordionPrimitive__namespace.Trigger.displayName;
152
- var AccordionContent = React131__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
152
+ var AccordionContent = React136__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
153
153
  AccordionPrimitive__namespace.Content,
154
154
  {
155
155
  ref,
@@ -181,7 +181,7 @@ var buttonVariants = classVarianceAuthority.cva(
181
181
  defaultVariants: { variant: "default", size: "default" }
182
182
  }
183
183
  );
184
- var Button = React131__namespace.default.forwardRef(
184
+ var Button = React136__namespace.default.forwardRef(
185
185
  ({ className, variant, size, asChild = false, ...props }, ref) => {
186
186
  const Comp = asChild ? reactSlot.Slot : "button";
187
187
  return /* @__PURE__ */ jsxRuntime.jsx(Comp, { className: cn(buttonVariants({ variant, size }), className), ref, ...props });
@@ -191,7 +191,7 @@ Button.displayName = "Button";
191
191
  var AlertDialog = AlertDialogPrimitive__namespace.Root;
192
192
  var AlertDialogTrigger = AlertDialogPrimitive__namespace.Trigger;
193
193
  var AlertDialogPortal = AlertDialogPrimitive__namespace.Portal;
194
- var AlertDialogOverlay = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
194
+ var AlertDialogOverlay = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
195
195
  AlertDialogPrimitive__namespace.Overlay,
196
196
  {
197
197
  className: cn(
@@ -203,7 +203,7 @@ var AlertDialogOverlay = React131__namespace.forwardRef(({ className, ...props }
203
203
  }
204
204
  ));
205
205
  AlertDialogOverlay.displayName = AlertDialogPrimitive__namespace.Overlay.displayName;
206
- var AlertDialogContent = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
206
+ var AlertDialogContent = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
207
207
  /* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
208
208
  /* @__PURE__ */ jsxRuntime.jsx(
209
209
  AlertDialogPrimitive__namespace.Content,
@@ -246,7 +246,7 @@ var AlertDialogFooter = ({
246
246
  }
247
247
  );
248
248
  AlertDialogFooter.displayName = "AlertDialogFooter";
249
- var AlertDialogTitle = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
249
+ var AlertDialogTitle = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
250
250
  AlertDialogPrimitive__namespace.Title,
251
251
  {
252
252
  ref,
@@ -255,7 +255,7 @@ var AlertDialogTitle = React131__namespace.forwardRef(({ className, ...props },
255
255
  }
256
256
  ));
257
257
  AlertDialogTitle.displayName = AlertDialogPrimitive__namespace.Title.displayName;
258
- var AlertDialogDescription = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
258
+ var AlertDialogDescription = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
259
259
  AlertDialogPrimitive__namespace.Description,
260
260
  {
261
261
  ref,
@@ -264,7 +264,7 @@ var AlertDialogDescription = React131__namespace.forwardRef(({ className, ...pro
264
264
  }
265
265
  ));
266
266
  AlertDialogDescription.displayName = AlertDialogPrimitive__namespace.Description.displayName;
267
- var AlertDialogAction = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
267
+ var AlertDialogAction = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
268
268
  AlertDialogPrimitive__namespace.Action,
269
269
  {
270
270
  ref,
@@ -273,7 +273,7 @@ var AlertDialogAction = React131__namespace.forwardRef(({ className, ...props },
273
273
  }
274
274
  ));
275
275
  AlertDialogAction.displayName = AlertDialogPrimitive__namespace.Action.displayName;
276
- var AlertDialogCancel = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
276
+ var AlertDialogCancel = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
277
277
  AlertDialogPrimitive__namespace.Cancel,
278
278
  {
279
279
  ref,
@@ -300,7 +300,7 @@ var alertVariants = classVarianceAuthority.cva(
300
300
  }
301
301
  }
302
302
  );
303
- var Alert = React131__namespace.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
303
+ var Alert = React136__namespace.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
304
304
  "div",
305
305
  {
306
306
  ref,
@@ -310,7 +310,7 @@ var Alert = React131__namespace.forwardRef(({ className, variant, ...props }, re
310
310
  }
311
311
  ));
312
312
  Alert.displayName = "Alert";
313
- var AlertTitle = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
313
+ var AlertTitle = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
314
314
  "h5",
315
315
  {
316
316
  ref,
@@ -319,7 +319,7 @@ var AlertTitle = React131__namespace.forwardRef(({ className, ...props }, ref) =
319
319
  }
320
320
  ));
321
321
  AlertTitle.displayName = "AlertTitle";
322
- var AlertDescription = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
322
+ var AlertDescription = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
323
323
  "div",
324
324
  {
325
325
  ref,
@@ -329,7 +329,7 @@ var AlertDescription = React131__namespace.forwardRef(({ className, ...props },
329
329
  ));
330
330
  AlertDescription.displayName = "AlertDescription";
331
331
  var AspectRatio = AspectRatioPrimitive__namespace.Root;
332
- var Avatar = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
332
+ var Avatar = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
333
333
  AvatarPrimitive__namespace.Root,
334
334
  {
335
335
  ref,
@@ -338,9 +338,9 @@ var Avatar = React131__namespace.default.forwardRef(({ className, ...props }, re
338
338
  }
339
339
  ));
340
340
  Avatar.displayName = AvatarPrimitive__namespace.Root.displayName;
341
- var AvatarImage = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AvatarPrimitive__namespace.Image, { ref, className: cn("aspect-square h-full w-full object-cover", className), ...props }));
341
+ var AvatarImage = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AvatarPrimitive__namespace.Image, { ref, className: cn("aspect-square h-full w-full object-cover", className), ...props }));
342
342
  AvatarImage.displayName = AvatarPrimitive__namespace.Image.displayName;
343
- var AvatarFallback = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
343
+ var AvatarFallback = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
344
344
  AvatarPrimitive__namespace.Fallback,
345
345
  {
346
346
  ref,
@@ -349,15 +349,15 @@ var AvatarFallback = React131__namespace.default.forwardRef(({ className, ...pro
349
349
  }
350
350
  ));
351
351
  AvatarFallback.displayName = AvatarPrimitive__namespace.Fallback.displayName;
352
- var AvatarGroup = React131__namespace.default.forwardRef(
352
+ var AvatarGroup = React136__namespace.default.forwardRef(
353
353
  ({ className, max = 4, size = 32, spacing, renderOverflow, children, ...props }, ref) => {
354
- const items = React131__namespace.default.Children.toArray(children).filter(React131__namespace.default.isValidElement);
354
+ const items = React136__namespace.default.Children.toArray(children).filter(React136__namespace.default.isValidElement);
355
355
  const overlap = spacing ?? Math.round(size / 3);
356
356
  const visible = items.slice(0, max);
357
357
  const remaining = Math.max(0, items.length - max);
358
358
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("flex items-center", className), "data-slot": "avatar-group", ...props, children: [
359
359
  visible.map(
360
- (child, i) => React131__namespace.default.cloneElement(child, {
360
+ (child, i) => React136__namespace.default.cloneElement(child, {
361
361
  key: child.key ?? i,
362
362
  style: {
363
363
  width: size,
@@ -563,8 +563,8 @@ function CalendarDayButton({
563
563
  ...props
564
564
  }) {
565
565
  const defaultClassNames = reactDayPicker.getDefaultClassNames();
566
- const ref = React131__namespace.useRef(null);
567
- React131__namespace.useEffect(() => {
566
+ const ref = React136__namespace.useRef(null);
567
+ React136__namespace.useEffect(() => {
568
568
  if (modifiers.focused) ref.current?.focus();
569
569
  }, [modifiers.focused]);
570
570
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -587,7 +587,7 @@ function CalendarDayButton({
587
587
  }
588
588
  );
589
589
  }
590
- var Card = React131__namespace.default.forwardRef(
590
+ var Card = React136__namespace.default.forwardRef(
591
591
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
592
592
  "div",
593
593
  {
@@ -598,35 +598,35 @@ var Card = React131__namespace.default.forwardRef(
598
598
  )
599
599
  );
600
600
  Card.displayName = "Card";
601
- var CardHeader = React131__namespace.default.forwardRef(
601
+ var CardHeader = React136__namespace.default.forwardRef(
602
602
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
603
603
  );
604
604
  CardHeader.displayName = "CardHeader";
605
- var CardTitle = React131__namespace.default.forwardRef(
605
+ var CardTitle = React136__namespace.default.forwardRef(
606
606
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("font-semibold leading-none tracking-tight", className), ...props })
607
607
  );
608
608
  CardTitle.displayName = "CardTitle";
609
- var CardDescription = React131__namespace.default.forwardRef(
609
+ var CardDescription = React136__namespace.default.forwardRef(
610
610
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
611
611
  );
612
612
  CardDescription.displayName = "CardDescription";
613
- var CardContent = React131__namespace.default.forwardRef(
613
+ var CardContent = React136__namespace.default.forwardRef(
614
614
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("p-6 pt-0", className), ...props })
615
615
  );
616
616
  CardContent.displayName = "CardContent";
617
- var CardFooter = React131__namespace.default.forwardRef(
617
+ var CardFooter = React136__namespace.default.forwardRef(
618
618
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
619
619
  );
620
620
  CardFooter.displayName = "CardFooter";
621
- var CarouselContext = React131__namespace.createContext(null);
621
+ var CarouselContext = React136__namespace.createContext(null);
622
622
  function useCarousel() {
623
- const context = React131__namespace.useContext(CarouselContext);
623
+ const context = React136__namespace.useContext(CarouselContext);
624
624
  if (!context) {
625
625
  throw new Error("useCarousel must be used within a <Carousel />");
626
626
  }
627
627
  return context;
628
628
  }
629
- var Carousel = React131__namespace.forwardRef(
629
+ var Carousel = React136__namespace.forwardRef(
630
630
  ({
631
631
  orientation = "horizontal",
632
632
  opts,
@@ -643,22 +643,22 @@ var Carousel = React131__namespace.forwardRef(
643
643
  },
644
644
  plugins
645
645
  );
646
- const [canScrollPrev, setCanScrollPrev] = React131__namespace.useState(false);
647
- const [canScrollNext, setCanScrollNext] = React131__namespace.useState(false);
648
- const onSelect = React131__namespace.useCallback((api2) => {
646
+ const [canScrollPrev, setCanScrollPrev] = React136__namespace.useState(false);
647
+ const [canScrollNext, setCanScrollNext] = React136__namespace.useState(false);
648
+ const onSelect = React136__namespace.useCallback((api2) => {
649
649
  if (!api2) {
650
650
  return;
651
651
  }
652
652
  setCanScrollPrev(api2.canScrollPrev());
653
653
  setCanScrollNext(api2.canScrollNext());
654
654
  }, []);
655
- const scrollPrev = React131__namespace.useCallback(() => {
655
+ const scrollPrev = React136__namespace.useCallback(() => {
656
656
  api?.scrollPrev();
657
657
  }, [api]);
658
- const scrollNext = React131__namespace.useCallback(() => {
658
+ const scrollNext = React136__namespace.useCallback(() => {
659
659
  api?.scrollNext();
660
660
  }, [api]);
661
- const handleKeyDown = React131__namespace.useCallback(
661
+ const handleKeyDown = React136__namespace.useCallback(
662
662
  (event) => {
663
663
  if (event.key === "ArrowLeft") {
664
664
  event.preventDefault();
@@ -670,13 +670,13 @@ var Carousel = React131__namespace.forwardRef(
670
670
  },
671
671
  [scrollPrev, scrollNext]
672
672
  );
673
- React131__namespace.useEffect(() => {
673
+ React136__namespace.useEffect(() => {
674
674
  if (!api || !setApi) {
675
675
  return;
676
676
  }
677
677
  setApi(api);
678
678
  }, [api, setApi]);
679
- React131__namespace.useEffect(() => {
679
+ React136__namespace.useEffect(() => {
680
680
  if (!api) {
681
681
  return;
682
682
  }
@@ -717,7 +717,7 @@ var Carousel = React131__namespace.forwardRef(
717
717
  }
718
718
  );
719
719
  Carousel.displayName = "Carousel";
720
- var CarouselContent = React131__namespace.forwardRef(({ className, ...props }, ref) => {
720
+ var CarouselContent = React136__namespace.forwardRef(({ className, ...props }, ref) => {
721
721
  const { carouselRef, orientation } = useCarousel();
722
722
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
723
723
  "div",
@@ -733,7 +733,7 @@ var CarouselContent = React131__namespace.forwardRef(({ className, ...props }, r
733
733
  ) });
734
734
  });
735
735
  CarouselContent.displayName = "CarouselContent";
736
- var CarouselItem = React131__namespace.forwardRef(({ className, ...props }, ref) => {
736
+ var CarouselItem = React136__namespace.forwardRef(({ className, ...props }, ref) => {
737
737
  const { orientation } = useCarousel();
738
738
  return /* @__PURE__ */ jsxRuntime.jsx(
739
739
  "div",
@@ -751,7 +751,7 @@ var CarouselItem = React131__namespace.forwardRef(({ className, ...props }, ref)
751
751
  );
752
752
  });
753
753
  CarouselItem.displayName = "CarouselItem";
754
- var CarouselPrevious = React131__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
754
+ var CarouselPrevious = React136__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
755
755
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
756
756
  return /* @__PURE__ */ jsxRuntime.jsxs(
757
757
  Button,
@@ -775,7 +775,7 @@ var CarouselPrevious = React131__namespace.forwardRef(({ className, variant = "o
775
775
  );
776
776
  });
777
777
  CarouselPrevious.displayName = "CarouselPrevious";
778
- var CarouselNext = React131__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
778
+ var CarouselNext = React136__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
779
779
  const { orientation, scrollNext, canScrollNext } = useCarousel();
780
780
  return /* @__PURE__ */ jsxRuntime.jsxs(
781
781
  Button,
@@ -799,17 +799,173 @@ var CarouselNext = React131__namespace.forwardRef(({ className, variant = "outli
799
799
  );
800
800
  });
801
801
  CarouselNext.displayName = "CarouselNext";
802
+ var SIZE = {
803
+ sm: { price: "text-sm", compare: "text-xs" },
804
+ md: { price: "text-lg", compare: "text-sm" },
805
+ lg: { price: "text-2xl", compare: "text-base" }
806
+ };
807
+ function formatMoney(minor, currency, locale) {
808
+ return new Intl.NumberFormat(locale, { style: "currency", currency }).format(minor / 100);
809
+ }
810
+ var PriceTag = React136__namespace.default.forwardRef(
811
+ ({ amount, compareAt, currency = "USD", locale = "en-US", size = "md", showDiscount = true, className, ...props }, ref) => {
812
+ const onSale = compareAt !== void 0 && compareAt > amount;
813
+ const pct = onSale ? Math.round((1 - amount / compareAt) * 100) : 0;
814
+ const s = SIZE[size];
815
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { ref, className: cn("inline-flex items-baseline gap-2 font-sans tabular-nums", className), ...props, children: [
816
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-semibold tracking-tight text-foreground", s.price), children: formatMoney(amount, currency, locale) }),
817
+ onSale && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
818
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-muted-foreground line-through", s.compare), children: formatMoney(compareAt, currency, locale) }),
819
+ showDiscount && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "rounded-full bg-destructive/10 px-2 py-0.5 text-xs font-semibold text-destructive", children: [
820
+ "\u2212",
821
+ pct,
822
+ "%"
823
+ ] })
824
+ ] })
825
+ ] });
826
+ }
827
+ );
828
+ PriceTag.displayName = "PriceTag";
829
+ var QuantityStepper = React136__namespace.default.forwardRef(
830
+ ({
831
+ value: valueProp,
832
+ defaultValue = 1,
833
+ onValueChange,
834
+ min = 1,
835
+ max = 99,
836
+ step = 1,
837
+ size = "md",
838
+ disabled = false,
839
+ className,
840
+ "aria-label": ariaLabel = "Quantity",
841
+ ...props
842
+ }, ref) => {
843
+ const isControlled = valueProp !== void 0;
844
+ const [internal, setInternal] = React136__namespace.default.useState(defaultValue);
845
+ const value = isControlled ? valueProp : internal;
846
+ const commit = (next) => {
847
+ const clamped = Math.max(min, Math.min(max, next));
848
+ if (!isControlled) setInternal(clamped);
849
+ onValueChange?.(clamped);
850
+ };
851
+ const dim = size === "sm" ? "h-7 w-7" : "h-9 w-9";
852
+ return /* @__PURE__ */ jsxRuntime.jsxs(
853
+ "div",
854
+ {
855
+ ref,
856
+ role: "group",
857
+ "aria-label": ariaLabel,
858
+ className: cn("inline-flex items-center rounded-md border border-input", className),
859
+ ...props,
860
+ children: [
861
+ /* @__PURE__ */ jsxRuntime.jsx(
862
+ Button,
863
+ {
864
+ type: "button",
865
+ variant: "ghost",
866
+ size: "icon",
867
+ className: cn("rounded-r-none", dim),
868
+ disabled: disabled || value <= min,
869
+ onClick: () => commit(value - step),
870
+ "aria-label": "Decrease quantity",
871
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, { className: "h-4 w-4" })
872
+ }
873
+ ),
874
+ /* @__PURE__ */ jsxRuntime.jsx(
875
+ "span",
876
+ {
877
+ "aria-live": "polite",
878
+ className: cn("select-none text-center text-sm font-medium tabular-nums", size === "sm" ? "min-w-7" : "min-w-8"),
879
+ children: value
880
+ }
881
+ ),
882
+ /* @__PURE__ */ jsxRuntime.jsx(
883
+ Button,
884
+ {
885
+ type: "button",
886
+ variant: "ghost",
887
+ size: "icon",
888
+ className: cn("rounded-l-none", dim),
889
+ disabled: disabled || value >= max,
890
+ onClick: () => commit(value + step),
891
+ "aria-label": "Increase quantity",
892
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "h-4 w-4" })
893
+ }
894
+ )
895
+ ]
896
+ }
897
+ );
898
+ }
899
+ );
900
+ QuantityStepper.displayName = "QuantityStepper";
901
+ var CartLineItem = React136__namespace.default.forwardRef(
902
+ ({
903
+ image,
904
+ title,
905
+ variant,
906
+ price,
907
+ compareAt,
908
+ currency = "USD",
909
+ quantity,
910
+ onQuantityChange,
911
+ onRemove,
912
+ minQuantity = 1,
913
+ maxQuantity = 99,
914
+ className,
915
+ ...props
916
+ }, ref) => {
917
+ return /* @__PURE__ */ jsxRuntime.jsxs(
918
+ "div",
919
+ {
920
+ ref,
921
+ className: cn("flex items-center gap-4 rounded-lg border border-border bg-card p-3", className),
922
+ ...props,
923
+ children: [
924
+ image && /* @__PURE__ */ jsxRuntime.jsx("img", { src: image, alt: "", className: "h-16 w-16 flex-none rounded-md object-cover" }),
925
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
926
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-medium text-card-foreground", children: title }),
927
+ variant && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm text-muted-foreground", children: variant }),
928
+ /* @__PURE__ */ jsxRuntime.jsx(PriceTag, { amount: price, compareAt, currency, size: "sm" })
929
+ ] }),
930
+ /* @__PURE__ */ jsxRuntime.jsx(
931
+ QuantityStepper,
932
+ {
933
+ value: quantity,
934
+ min: minQuantity,
935
+ max: maxQuantity,
936
+ onValueChange: onQuantityChange,
937
+ size: "sm"
938
+ }
939
+ ),
940
+ onRemove && /* @__PURE__ */ jsxRuntime.jsx(
941
+ Button,
942
+ {
943
+ type: "button",
944
+ variant: "ghost",
945
+ size: "icon",
946
+ className: "h-8 w-8 text-muted-foreground hover:text-destructive",
947
+ onClick: onRemove,
948
+ "aria-label": `Remove ${title}`,
949
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
950
+ }
951
+ )
952
+ ]
953
+ }
954
+ );
955
+ }
956
+ );
957
+ CartLineItem.displayName = "CartLineItem";
802
958
  var THEMES = { light: "", dark: ".dark" };
803
- var ChartContext = React131__namespace.createContext(null);
959
+ var ChartContext = React136__namespace.createContext(null);
804
960
  function useChart() {
805
- const context = React131__namespace.useContext(ChartContext);
961
+ const context = React136__namespace.useContext(ChartContext);
806
962
  if (!context) {
807
963
  throw new Error("useChart must be used within a <ChartContainer />");
808
964
  }
809
965
  return context;
810
966
  }
811
- var ChartContainer = React131__namespace.forwardRef(({ id, className, children, config, ...props }, ref) => {
812
- const uniqueId = React131__namespace.useId();
967
+ var ChartContainer = React136__namespace.forwardRef(({ id, className, children, config, ...props }, ref) => {
968
+ const uniqueId = React136__namespace.useId();
813
969
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
814
970
  return /* @__PURE__ */ jsxRuntime.jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxRuntime.jsxs(
815
971
  "div",
@@ -855,7 +1011,7 @@ ${colorConfig.map(([key, itemConfig]) => {
855
1011
  );
856
1012
  };
857
1013
  var ChartTooltip = RechartsPrimitive__namespace.Tooltip;
858
- var ChartTooltipContent = React131__namespace.forwardRef(
1014
+ var ChartTooltipContent = React136__namespace.forwardRef(
859
1015
  ({
860
1016
  active,
861
1017
  payload,
@@ -872,7 +1028,7 @@ var ChartTooltipContent = React131__namespace.forwardRef(
872
1028
  labelKey
873
1029
  }, ref) => {
874
1030
  const { config } = useChart();
875
- const tooltipLabel = React131__namespace.useMemo(() => {
1031
+ const tooltipLabel = React136__namespace.useMemo(() => {
876
1032
  if (hideLabel || !payload?.length) {
877
1033
  return null;
878
1034
  }
@@ -968,7 +1124,7 @@ var ChartTooltipContent = React131__namespace.forwardRef(
968
1124
  );
969
1125
  ChartTooltipContent.displayName = "ChartTooltip";
970
1126
  var ChartLegend = RechartsPrimitive__namespace.Legend;
971
- var ChartLegendContent = React131__namespace.forwardRef(
1127
+ var ChartLegendContent = React136__namespace.forwardRef(
972
1128
  ({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
973
1129
  const { config } = useChart();
974
1130
  if (!payload?.length) {
@@ -1026,7 +1182,7 @@ function getPayloadConfigFromPayload(config, payload, key) {
1026
1182
  }
1027
1183
  return configLabelKey in config ? config[configLabelKey] : config[key];
1028
1184
  }
1029
- var Checkbox = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1185
+ var Checkbox = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1030
1186
  CheckboxPrimitive__namespace.Root,
1031
1187
  {
1032
1188
  ref,
@@ -1066,7 +1222,7 @@ function detectTheme(node) {
1066
1222
  }
1067
1223
  return document.documentElement.classList.contains("dark") ? "dark" : "light";
1068
1224
  }
1069
- var CodeBlock = React131__namespace.default.forwardRef(
1225
+ var CodeBlock = React136__namespace.default.forwardRef(
1070
1226
  ({
1071
1227
  code,
1072
1228
  language = "tsx",
@@ -1077,10 +1233,10 @@ var CodeBlock = React131__namespace.default.forwardRef(
1077
1233
  className,
1078
1234
  ...props
1079
1235
  }, ref) => {
1080
- const containerRef = React131__namespace.default.useRef(null);
1081
- const [html, setHtml] = React131__namespace.default.useState(null);
1082
- const [copied, setCopied] = React131__namespace.default.useState(false);
1083
- React131__namespace.default.useEffect(() => {
1236
+ const containerRef = React136__namespace.default.useRef(null);
1237
+ const [html, setHtml] = React136__namespace.default.useState(null);
1238
+ const [copied, setCopied] = React136__namespace.default.useState(false);
1239
+ React136__namespace.default.useEffect(() => {
1084
1240
  let cancelled = false;
1085
1241
  getHighlighter().then((hl) => {
1086
1242
  if (cancelled) return;
@@ -1095,7 +1251,7 @@ var CodeBlock = React131__namespace.default.forwardRef(
1095
1251
  cancelled = true;
1096
1252
  };
1097
1253
  }, [code, language, theme]);
1098
- const onCopy = React131__namespace.default.useCallback(async () => {
1254
+ const onCopy = React136__namespace.default.useCallback(async () => {
1099
1255
  try {
1100
1256
  await navigator.clipboard.writeText(code);
1101
1257
  setCopied(true);
@@ -1103,7 +1259,7 @@ var CodeBlock = React131__namespace.default.forwardRef(
1103
1259
  } catch {
1104
1260
  }
1105
1261
  }, [code]);
1106
- const lines = React131__namespace.default.useMemo(() => code.split("\n"), [code]);
1262
+ const lines = React136__namespace.default.useMemo(() => code.split("\n"), [code]);
1107
1263
  return /* @__PURE__ */ jsxRuntime.jsxs(
1108
1264
  "div",
1109
1265
  {
@@ -1171,7 +1327,7 @@ var Dialog = DialogPrimitive__namespace.Root;
1171
1327
  var DialogTrigger = DialogPrimitive__namespace.Trigger;
1172
1328
  var DialogPortal = DialogPrimitive__namespace.Portal;
1173
1329
  var DialogClose = DialogPrimitive__namespace.Close;
1174
- var DialogOverlay = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1330
+ var DialogOverlay = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1175
1331
  DialogPrimitive__namespace.Overlay,
1176
1332
  {
1177
1333
  ref,
@@ -1185,7 +1341,7 @@ var DialogOverlay = React131__namespace.default.forwardRef(({ className, ...prop
1185
1341
  }
1186
1342
  ));
1187
1343
  DialogOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
1188
- var DialogContent = React131__namespace.default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
1344
+ var DialogContent = React136__namespace.default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
1189
1345
  /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
1190
1346
  /* @__PURE__ */ jsxRuntime.jsxs(
1191
1347
  DialogPrimitive__namespace.Content,
@@ -1215,7 +1371,7 @@ var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("
1215
1371
  DialogHeader.displayName = "DialogHeader";
1216
1372
  var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
1217
1373
  DialogFooter.displayName = "DialogFooter";
1218
- var DialogTitle = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1374
+ var DialogTitle = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1219
1375
  DialogPrimitive__namespace.Title,
1220
1376
  {
1221
1377
  ref,
@@ -1224,7 +1380,7 @@ var DialogTitle = React131__namespace.default.forwardRef(({ className, ...props
1224
1380
  }
1225
1381
  ));
1226
1382
  DialogTitle.displayName = DialogPrimitive__namespace.Title.displayName;
1227
- var DialogDescription = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1383
+ var DialogDescription = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1228
1384
  DialogPrimitive__namespace.Description,
1229
1385
  {
1230
1386
  ref,
@@ -1233,7 +1389,7 @@ var DialogDescription = React131__namespace.default.forwardRef(({ className, ...
1233
1389
  }
1234
1390
  ));
1235
1391
  DialogDescription.displayName = DialogPrimitive__namespace.Description.displayName;
1236
- var Command = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1392
+ var Command = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1237
1393
  cmdk.Command,
1238
1394
  {
1239
1395
  ref,
@@ -1248,7 +1404,7 @@ Command.displayName = cmdk.Command.displayName;
1248
1404
  var CommandDialog = ({ children, ...props }) => {
1249
1405
  return /* @__PURE__ */ jsxRuntime.jsx(Dialog, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx(DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ jsxRuntime.jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
1250
1406
  };
1251
- var CommandInput = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
1407
+ var CommandInput = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
1252
1408
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
1253
1409
  /* @__PURE__ */ jsxRuntime.jsx(
1254
1410
  cmdk.Command.Input,
@@ -1263,7 +1419,7 @@ var CommandInput = React131__namespace.forwardRef(({ className, ...props }, ref)
1263
1419
  )
1264
1420
  ] }));
1265
1421
  CommandInput.displayName = cmdk.Command.Input.displayName;
1266
- var CommandList = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1422
+ var CommandList = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1267
1423
  cmdk.Command.List,
1268
1424
  {
1269
1425
  ref,
@@ -1272,7 +1428,7 @@ var CommandList = React131__namespace.forwardRef(({ className, ...props }, ref)
1272
1428
  }
1273
1429
  ));
1274
1430
  CommandList.displayName = cmdk.Command.List.displayName;
1275
- var CommandEmpty = React131__namespace.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1431
+ var CommandEmpty = React136__namespace.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1276
1432
  cmdk.Command.Empty,
1277
1433
  {
1278
1434
  ref,
@@ -1281,7 +1437,7 @@ var CommandEmpty = React131__namespace.forwardRef((props, ref) => /* @__PURE__ *
1281
1437
  }
1282
1438
  ));
1283
1439
  CommandEmpty.displayName = cmdk.Command.Empty.displayName;
1284
- var CommandGroup = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1440
+ var CommandGroup = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1285
1441
  cmdk.Command.Group,
1286
1442
  {
1287
1443
  ref,
@@ -1293,7 +1449,7 @@ var CommandGroup = React131__namespace.forwardRef(({ className, ...props }, ref)
1293
1449
  }
1294
1450
  ));
1295
1451
  CommandGroup.displayName = cmdk.Command.Group.displayName;
1296
- var CommandSeparator = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1452
+ var CommandSeparator = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1297
1453
  cmdk.Command.Separator,
1298
1454
  {
1299
1455
  ref,
@@ -1302,7 +1458,7 @@ var CommandSeparator = React131__namespace.forwardRef(({ className, ...props },
1302
1458
  }
1303
1459
  ));
1304
1460
  CommandSeparator.displayName = cmdk.Command.Separator.displayName;
1305
- var CommandItem = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1461
+ var CommandItem = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1306
1462
  cmdk.Command.Item,
1307
1463
  {
1308
1464
  ref,
@@ -1330,7 +1486,7 @@ var CommandShortcut = ({
1330
1486
  );
1331
1487
  };
1332
1488
  CommandShortcut.displayName = "CommandShortcut";
1333
- var Comparison = React131__namespace.default.forwardRef(
1489
+ var Comparison = React136__namespace.default.forwardRef(
1334
1490
  ({
1335
1491
  before,
1336
1492
  after,
@@ -1346,10 +1502,10 @@ var Comparison = React131__namespace.default.forwardRef(
1346
1502
  ...props
1347
1503
  }, ref) => {
1348
1504
  const isControlled = valueProp !== void 0;
1349
- const [internal, setInternal] = React131__namespace.default.useState(defaultValue);
1505
+ const [internal, setInternal] = React136__namespace.default.useState(defaultValue);
1350
1506
  const value = Math.max(0, Math.min(100, isControlled ? valueProp : internal));
1351
- const containerRef = React131__namespace.default.useRef(null);
1352
- const commit = React131__namespace.default.useCallback(
1507
+ const containerRef = React136__namespace.default.useRef(null);
1508
+ const commit = React136__namespace.default.useCallback(
1353
1509
  (next) => {
1354
1510
  const clamped = Math.max(0, Math.min(100, next));
1355
1511
  if (!isControlled) setInternal(clamped);
@@ -1357,7 +1513,7 @@ var Comparison = React131__namespace.default.forwardRef(
1357
1513
  },
1358
1514
  [isControlled, onValueChange]
1359
1515
  );
1360
- const updateFromPointer = React131__namespace.default.useCallback(
1516
+ const updateFromPointer = React136__namespace.default.useCallback(
1361
1517
  (clientX, clientY) => {
1362
1518
  const el = containerRef.current;
1363
1519
  if (!el) return;
@@ -1480,30 +1636,30 @@ var ContextMenuSub = ContextMenuPrimitive__namespace.Sub;
1480
1636
  var ContextMenuRadioGroup = ContextMenuPrimitive__namespace.RadioGroup;
1481
1637
  var contentStyle = "z-50 min-w-[8rem] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-md animate-in fade-in-80";
1482
1638
  var itemStyle = "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-[hsl(var(--accent))] focus:text-[hsl(var(--accent-foreground))] data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
1483
- var ContextMenuContent = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Content, { ref, className: cn(contentStyle, className), ...props }) }));
1639
+ var ContextMenuContent = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Content, { ref, className: cn(contentStyle, className), ...props }) }));
1484
1640
  ContextMenuContent.displayName = ContextMenuPrimitive__namespace.Content.displayName;
1485
- var ContextMenuItem = React131__namespace.default.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Item, { ref, className: cn(itemStyle, inset && "pl-8", className), ...props }));
1641
+ var ContextMenuItem = React136__namespace.default.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Item, { ref, className: cn(itemStyle, inset && "pl-8", className), ...props }));
1486
1642
  ContextMenuItem.displayName = ContextMenuPrimitive__namespace.Item.displayName;
1487
- var ContextMenuCheckboxItem = React131__namespace.default.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(ContextMenuPrimitive__namespace.CheckboxItem, { ref, className: cn(itemStyle, "pl-8", className), checked, ...props, children: [
1643
+ var ContextMenuCheckboxItem = React136__namespace.default.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(ContextMenuPrimitive__namespace.CheckboxItem, { ref, className: cn(itemStyle, "pl-8", className), checked, ...props, children: [
1488
1644
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
1489
1645
  children
1490
1646
  ] }));
1491
1647
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive__namespace.CheckboxItem.displayName;
1492
- var ContextMenuRadioItem = React131__namespace.default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(ContextMenuPrimitive__namespace.RadioItem, { ref, className: cn(itemStyle, "pl-8", className), ...props, children: [
1648
+ var ContextMenuRadioItem = React136__namespace.default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(ContextMenuPrimitive__namespace.RadioItem, { ref, className: cn(itemStyle, "pl-8", className), ...props, children: [
1493
1649
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-2 w-2 fill-current" }) }) }),
1494
1650
  children
1495
1651
  ] }));
1496
1652
  ContextMenuRadioItem.displayName = ContextMenuPrimitive__namespace.RadioItem.displayName;
1497
- var ContextMenuLabel = React131__namespace.default.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Label, { ref, className: cn("px-2 py-1.5 text-xs font-semibold text-[hsl(var(--muted-foreground))]", inset && "pl-8", className), ...props }));
1653
+ var ContextMenuLabel = React136__namespace.default.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Label, { ref, className: cn("px-2 py-1.5 text-xs font-semibold text-[hsl(var(--muted-foreground))]", inset && "pl-8", className), ...props }));
1498
1654
  ContextMenuLabel.displayName = ContextMenuPrimitive__namespace.Label.displayName;
1499
- var ContextMenuSeparator = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-[hsl(var(--muted))]", className), ...props }));
1655
+ var ContextMenuSeparator = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-[hsl(var(--muted))]", className), ...props }));
1500
1656
  ContextMenuSeparator.displayName = ContextMenuPrimitive__namespace.Separator.displayName;
1501
- var ContextMenuSubTrigger = React131__namespace.default.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(ContextMenuPrimitive__namespace.SubTrigger, { ref, className: cn(itemStyle, inset && "pl-8", className), ...props, children: [
1657
+ var ContextMenuSubTrigger = React136__namespace.default.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(ContextMenuPrimitive__namespace.SubTrigger, { ref, className: cn(itemStyle, inset && "pl-8", className), ...props, children: [
1502
1658
  children,
1503
1659
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "ml-auto h-4 w-4" })
1504
1660
  ] }));
1505
1661
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive__namespace.SubTrigger.displayName;
1506
- var ContextMenuSubContent = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.SubContent, { ref, className: cn(contentStyle, className), ...props }));
1662
+ var ContextMenuSubContent = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.SubContent, { ref, className: cn(contentStyle, className), ...props }));
1507
1663
  ContextMenuSubContent.displayName = ContextMenuPrimitive__namespace.SubContent.displayName;
1508
1664
  var ContextMenuShortcut = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
1509
1665
  var Drawer = ({
@@ -1520,7 +1676,7 @@ Drawer.displayName = "Drawer";
1520
1676
  var DrawerTrigger = vaul.Drawer.Trigger;
1521
1677
  var DrawerPortal = vaul.Drawer.Portal;
1522
1678
  var DrawerClose = vaul.Drawer.Close;
1523
- var DrawerOverlay = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1679
+ var DrawerOverlay = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1524
1680
  vaul.Drawer.Overlay,
1525
1681
  {
1526
1682
  ref,
@@ -1529,7 +1685,7 @@ var DrawerOverlay = React131__namespace.forwardRef(({ className, ...props }, ref
1529
1685
  }
1530
1686
  ));
1531
1687
  DrawerOverlay.displayName = vaul.Drawer.Overlay.displayName;
1532
- var DrawerContent = React131__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DrawerPortal, { children: [
1688
+ var DrawerContent = React136__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DrawerPortal, { children: [
1533
1689
  /* @__PURE__ */ jsxRuntime.jsx(DrawerOverlay, {}),
1534
1690
  /* @__PURE__ */ jsxRuntime.jsxs(
1535
1691
  vaul.Drawer.Content,
@@ -1570,7 +1726,7 @@ var DrawerFooter = ({
1570
1726
  }
1571
1727
  );
1572
1728
  DrawerFooter.displayName = "DrawerFooter";
1573
- var DrawerTitle = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1729
+ var DrawerTitle = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1574
1730
  vaul.Drawer.Title,
1575
1731
  {
1576
1732
  ref,
@@ -1582,7 +1738,7 @@ var DrawerTitle = React131__namespace.forwardRef(({ className, ...props }, ref)
1582
1738
  }
1583
1739
  ));
1584
1740
  DrawerTitle.displayName = vaul.Drawer.Title.displayName;
1585
- var DrawerDescription = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1741
+ var DrawerDescription = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1586
1742
  vaul.Drawer.Description,
1587
1743
  {
1588
1744
  ref,
@@ -1607,36 +1763,65 @@ var itemStyle2 = cn(
1607
1763
  "focus:bg-[hsl(var(--accent))] focus:text-[hsl(var(--accent-foreground))]",
1608
1764
  "data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
1609
1765
  );
1610
- var DropdownMenuContent = React131__namespace.default.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Content, { ref, sideOffset, className: cn(contentStyle2, className), ...props }) }));
1766
+ var DropdownMenuContent = React136__namespace.default.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Content, { ref, sideOffset, className: cn(contentStyle2, className), ...props }) }));
1611
1767
  DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
1612
- var DropdownMenuItem = React131__namespace.default.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Item, { ref, className: cn(itemStyle2, inset && "pl-8", className), ...props }));
1768
+ var DropdownMenuItem = React136__namespace.default.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Item, { ref, className: cn(itemStyle2, inset && "pl-8", className), ...props }));
1613
1769
  DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
1614
- var DropdownMenuCheckboxItem = React131__namespace.default.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuPrimitive__namespace.CheckboxItem, { ref, className: cn(itemStyle2, "pl-8", className), checked, ...props, children: [
1770
+ var DropdownMenuCheckboxItem = React136__namespace.default.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuPrimitive__namespace.CheckboxItem, { ref, className: cn(itemStyle2, "pl-8", className), checked, ...props, children: [
1615
1771
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
1616
1772
  children
1617
1773
  ] }));
1618
1774
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
1619
- var DropdownMenuRadioItem = React131__namespace.default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuPrimitive__namespace.RadioItem, { ref, className: cn(itemStyle2, "pl-8", className), ...props, children: [
1775
+ var DropdownMenuRadioItem = React136__namespace.default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuPrimitive__namespace.RadioItem, { ref, className: cn(itemStyle2, "pl-8", className), ...props, children: [
1620
1776
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-2 w-2 fill-current" }) }) }),
1621
1777
  children
1622
1778
  ] }));
1623
1779
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
1624
- var DropdownMenuLabel = React131__namespace.default.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Label, { ref, className: cn("px-2 py-1.5 text-xs font-semibold text-[hsl(var(--muted-foreground))]", inset && "pl-8", className), ...props }));
1780
+ var DropdownMenuLabel = React136__namespace.default.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Label, { ref, className: cn("px-2 py-1.5 text-xs font-semibold text-[hsl(var(--muted-foreground))]", inset && "pl-8", className), ...props }));
1625
1781
  DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
1626
- var DropdownMenuSeparator = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-[hsl(var(--muted))]", className), ...props }));
1782
+ var DropdownMenuSeparator = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-[hsl(var(--muted))]", className), ...props }));
1627
1783
  DropdownMenuSeparator.displayName = DropdownMenuPrimitive__namespace.Separator.displayName;
1628
- var DropdownMenuSubTrigger = React131__namespace.default.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuPrimitive__namespace.SubTrigger, { ref, className: cn(itemStyle2, inset && "pl-8", "data-[state=open]:bg-[hsl(var(--accent))]", className), ...props, children: [
1784
+ var DropdownMenuSubTrigger = React136__namespace.default.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuPrimitive__namespace.SubTrigger, { ref, className: cn(itemStyle2, inset && "pl-8", "data-[state=open]:bg-[hsl(var(--accent))]", className), ...props, children: [
1629
1785
  children,
1630
1786
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "ml-auto h-4 w-4" })
1631
1787
  ] }));
1632
1788
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
1633
- var DropdownMenuSubContent = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.SubContent, { ref, className: cn(contentStyle2, className), ...props }));
1789
+ var DropdownMenuSubContent = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.SubContent, { ref, className: cn(contentStyle2, className), ...props }));
1634
1790
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
1635
1791
  var DropdownMenuShortcut = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
1636
1792
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
1793
+ var EmptyCart = React136__namespace.default.forwardRef(
1794
+ ({
1795
+ title = "Your cart is empty",
1796
+ description = "Browse the catalog and add something you love.",
1797
+ actionLabel = "Continue shopping",
1798
+ onAction,
1799
+ icon,
1800
+ className,
1801
+ ...props
1802
+ }, ref) => {
1803
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1804
+ "div",
1805
+ {
1806
+ ref,
1807
+ className: cn("flex flex-col items-center justify-center gap-4 px-6 py-12 text-center", className),
1808
+ ...props,
1809
+ children: [
1810
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-14 w-14 items-center justify-center rounded-full bg-[hsl(var(--muted))] text-[hsl(var(--muted-foreground))]", children: icon ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ShoppingCart, { className: "h-6 w-6", strokeWidth: 1.5 }) }),
1811
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [
1812
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-semibold text-foreground", children: title }),
1813
+ description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "max-w-xs text-sm text-muted-foreground", children: description })
1814
+ ] }),
1815
+ actionLabel && onAction && /* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: onAction, className: "mt-1", children: actionLabel })
1816
+ ]
1817
+ }
1818
+ );
1819
+ }
1820
+ );
1821
+ EmptyCart.displayName = "EmptyCart";
1637
1822
  var HoverCard = HoverCardPrimitive__namespace.Root;
1638
1823
  var HoverCardTrigger = HoverCardPrimitive__namespace.Trigger;
1639
- var HoverCardContent = React131__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1824
+ var HoverCardContent = React136__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1640
1825
  HoverCardPrimitive__namespace.Content,
1641
1826
  {
1642
1827
  ref,
@@ -1650,7 +1835,7 @@ var HoverCardContent = React131__namespace.forwardRef(({ className, align = "cen
1650
1835
  }
1651
1836
  ));
1652
1837
  HoverCardContent.displayName = HoverCardPrimitive__namespace.Content.displayName;
1653
- var InputOTP = React131__namespace.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1838
+ var InputOTP = React136__namespace.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1654
1839
  inputOtp.OTPInput,
1655
1840
  {
1656
1841
  ref,
@@ -1663,10 +1848,10 @@ var InputOTP = React131__namespace.forwardRef(({ className, containerClassName,
1663
1848
  }
1664
1849
  ));
1665
1850
  InputOTP.displayName = "InputOTP";
1666
- var InputOTPGroup = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex items-center", className), ...props }));
1851
+ var InputOTPGroup = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex items-center", className), ...props }));
1667
1852
  InputOTPGroup.displayName = "InputOTPGroup";
1668
- var InputOTPSlot = React131__namespace.forwardRef(({ index, className, ...props }, ref) => {
1669
- const inputOTPContext = React131__namespace.useContext(inputOtp.OTPInputContext);
1853
+ var InputOTPSlot = React136__namespace.forwardRef(({ index, className, ...props }, ref) => {
1854
+ const inputOTPContext = React136__namespace.useContext(inputOtp.OTPInputContext);
1670
1855
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
1671
1856
  return /* @__PURE__ */ jsxRuntime.jsxs(
1672
1857
  "div",
@@ -1686,9 +1871,9 @@ var InputOTPSlot = React131__namespace.forwardRef(({ index, className, ...props
1686
1871
  );
1687
1872
  });
1688
1873
  InputOTPSlot.displayName = "InputOTPSlot";
1689
- var InputOTPSeparator = React131__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, {}) }));
1874
+ var InputOTPSeparator = React136__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, {}) }));
1690
1875
  InputOTPSeparator.displayName = "InputOTPSeparator";
1691
- var Input = React131__namespace.default.forwardRef(
1876
+ var Input = React136__namespace.default.forwardRef(
1692
1877
  ({ className, type, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1693
1878
  "input",
1694
1879
  {
@@ -1710,7 +1895,7 @@ Input.displayName = "Input";
1710
1895
  var labelVariants = classVarianceAuthority.cva(
1711
1896
  "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1712
1897
  );
1713
- var Label3 = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1898
+ var Label3 = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1714
1899
  LabelPrimitive__namespace.Root,
1715
1900
  {
1716
1901
  ref,
@@ -1719,7 +1904,7 @@ var Label3 = React131__namespace.forwardRef(({ className, ...props }, ref) => /*
1719
1904
  }
1720
1905
  ));
1721
1906
  Label3.displayName = LabelPrimitive__namespace.Root.displayName;
1722
- var LogoCarousel = React131__namespace.default.forwardRef(
1907
+ var LogoCarousel = React136__namespace.default.forwardRef(
1723
1908
  ({
1724
1909
  className,
1725
1910
  logos,
@@ -1813,7 +1998,7 @@ var SPEED_DURATION = {
1813
1998
  normal: "40s",
1814
1999
  fast: "20s"
1815
2000
  };
1816
- var Marquee = React131__namespace.default.forwardRef(
2001
+ var Marquee = React136__namespace.default.forwardRef(
1817
2002
  ({
1818
2003
  children,
1819
2004
  speed = "normal",
@@ -1877,7 +2062,7 @@ function MenubarSub({
1877
2062
  }) {
1878
2063
  return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Sub, { "data-slot": "menubar-sub", ...props });
1879
2064
  }
1880
- var Menubar = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2065
+ var Menubar = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1881
2066
  MenubarPrimitive__namespace.Root,
1882
2067
  {
1883
2068
  ref,
@@ -1889,7 +2074,7 @@ var Menubar = React131__namespace.forwardRef(({ className, ...props }, ref) => /
1889
2074
  }
1890
2075
  ));
1891
2076
  Menubar.displayName = MenubarPrimitive__namespace.Root.displayName;
1892
- var MenubarTrigger = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2077
+ var MenubarTrigger = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1893
2078
  MenubarPrimitive__namespace.Trigger,
1894
2079
  {
1895
2080
  ref,
@@ -1901,7 +2086,7 @@ var MenubarTrigger = React131__namespace.forwardRef(({ className, ...props }, re
1901
2086
  }
1902
2087
  ));
1903
2088
  MenubarTrigger.displayName = MenubarPrimitive__namespace.Trigger.displayName;
1904
- var MenubarSubTrigger = React131__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2089
+ var MenubarSubTrigger = React136__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1905
2090
  MenubarPrimitive__namespace.SubTrigger,
1906
2091
  {
1907
2092
  ref,
@@ -1918,7 +2103,7 @@ var MenubarSubTrigger = React131__namespace.forwardRef(({ className, inset, chil
1918
2103
  }
1919
2104
  ));
1920
2105
  MenubarSubTrigger.displayName = MenubarPrimitive__namespace.SubTrigger.displayName;
1921
- var MenubarSubContent = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2106
+ var MenubarSubContent = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1922
2107
  MenubarPrimitive__namespace.SubContent,
1923
2108
  {
1924
2109
  ref,
@@ -1930,7 +2115,7 @@ var MenubarSubContent = React131__namespace.forwardRef(({ className, ...props },
1930
2115
  }
1931
2116
  ));
1932
2117
  MenubarSubContent.displayName = MenubarPrimitive__namespace.SubContent.displayName;
1933
- var MenubarContent = React131__namespace.forwardRef(
2118
+ var MenubarContent = React136__namespace.forwardRef(
1934
2119
  ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1935
2120
  MenubarPrimitive__namespace.Content,
1936
2121
  {
@@ -1947,7 +2132,7 @@ var MenubarContent = React131__namespace.forwardRef(
1947
2132
  ) })
1948
2133
  );
1949
2134
  MenubarContent.displayName = MenubarPrimitive__namespace.Content.displayName;
1950
- var MenubarItem = React131__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2135
+ var MenubarItem = React136__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1951
2136
  MenubarPrimitive__namespace.Item,
1952
2137
  {
1953
2138
  ref,
@@ -1960,7 +2145,7 @@ var MenubarItem = React131__namespace.forwardRef(({ className, inset, ...props }
1960
2145
  }
1961
2146
  ));
1962
2147
  MenubarItem.displayName = MenubarPrimitive__namespace.Item.displayName;
1963
- var MenubarCheckboxItem = React131__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2148
+ var MenubarCheckboxItem = React136__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1964
2149
  MenubarPrimitive__namespace.CheckboxItem,
1965
2150
  {
1966
2151
  ref,
@@ -1977,7 +2162,7 @@ var MenubarCheckboxItem = React131__namespace.forwardRef(({ className, children,
1977
2162
  }
1978
2163
  ));
1979
2164
  MenubarCheckboxItem.displayName = MenubarPrimitive__namespace.CheckboxItem.displayName;
1980
- var MenubarRadioItem = React131__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2165
+ var MenubarRadioItem = React136__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1981
2166
  MenubarPrimitive__namespace.RadioItem,
1982
2167
  {
1983
2168
  ref,
@@ -1993,7 +2178,7 @@ var MenubarRadioItem = React131__namespace.forwardRef(({ className, children, ..
1993
2178
  }
1994
2179
  ));
1995
2180
  MenubarRadioItem.displayName = MenubarPrimitive__namespace.RadioItem.displayName;
1996
- var MenubarLabel = React131__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2181
+ var MenubarLabel = React136__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1997
2182
  MenubarPrimitive__namespace.Label,
1998
2183
  {
1999
2184
  ref,
@@ -2006,7 +2191,7 @@ var MenubarLabel = React131__namespace.forwardRef(({ className, inset, ...props
2006
2191
  }
2007
2192
  ));
2008
2193
  MenubarLabel.displayName = MenubarPrimitive__namespace.Label.displayName;
2009
- var MenubarSeparator = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2194
+ var MenubarSeparator = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2010
2195
  MenubarPrimitive__namespace.Separator,
2011
2196
  {
2012
2197
  ref,
@@ -2031,7 +2216,7 @@ var MenubarShortcut = ({
2031
2216
  );
2032
2217
  };
2033
2218
  MenubarShortcut.displayname = "MenubarShortcut";
2034
- var NavigationMenu = React131__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2219
+ var NavigationMenu = React136__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2035
2220
  NavigationMenuPrimitive__namespace.Root,
2036
2221
  {
2037
2222
  ref,
@@ -2047,7 +2232,7 @@ var NavigationMenu = React131__namespace.forwardRef(({ className, children, ...p
2047
2232
  }
2048
2233
  ));
2049
2234
  NavigationMenu.displayName = NavigationMenuPrimitive__namespace.Root.displayName;
2050
- var NavigationMenuList = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2235
+ var NavigationMenuList = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2051
2236
  NavigationMenuPrimitive__namespace.List,
2052
2237
  {
2053
2238
  ref,
@@ -2063,7 +2248,7 @@ var NavigationMenuItem = NavigationMenuPrimitive__namespace.Item;
2063
2248
  var navigationMenuTriggerStyle = classVarianceAuthority.cva(
2064
2249
  "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent"
2065
2250
  );
2066
- var NavigationMenuTrigger = React131__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2251
+ var NavigationMenuTrigger = React136__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2067
2252
  NavigationMenuPrimitive__namespace.Trigger,
2068
2253
  {
2069
2254
  ref,
@@ -2083,7 +2268,7 @@ var NavigationMenuTrigger = React131__namespace.forwardRef(({ className, childre
2083
2268
  }
2084
2269
  ));
2085
2270
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive__namespace.Trigger.displayName;
2086
- var NavigationMenuContent = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2271
+ var NavigationMenuContent = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2087
2272
  NavigationMenuPrimitive__namespace.Content,
2088
2273
  {
2089
2274
  ref,
@@ -2096,7 +2281,7 @@ var NavigationMenuContent = React131__namespace.forwardRef(({ className, ...prop
2096
2281
  ));
2097
2282
  NavigationMenuContent.displayName = NavigationMenuPrimitive__namespace.Content.displayName;
2098
2283
  var NavigationMenuLink = NavigationMenuPrimitive__namespace.Link;
2099
- var NavigationMenuViewport = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(
2284
+ var NavigationMenuViewport = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(
2100
2285
  NavigationMenuPrimitive__namespace.Viewport,
2101
2286
  {
2102
2287
  className: cn(
@@ -2108,7 +2293,7 @@ var NavigationMenuViewport = React131__namespace.forwardRef(({ className, ...pro
2108
2293
  }
2109
2294
  ) }));
2110
2295
  NavigationMenuViewport.displayName = NavigationMenuPrimitive__namespace.Viewport.displayName;
2111
- var NavigationMenuIndicator = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2296
+ var NavigationMenuIndicator = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2112
2297
  NavigationMenuPrimitive__namespace.Indicator,
2113
2298
  {
2114
2299
  ref,
@@ -2131,7 +2316,7 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2131
2316
  }
2132
2317
  );
2133
2318
  Pagination.displayName = "Pagination";
2134
- var PaginationContent = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2319
+ var PaginationContent = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2135
2320
  "ul",
2136
2321
  {
2137
2322
  ref,
@@ -2140,7 +2325,7 @@ var PaginationContent = React131__namespace.forwardRef(({ className, ...props },
2140
2325
  }
2141
2326
  ));
2142
2327
  PaginationContent.displayName = "PaginationContent";
2143
- var PaginationItem = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, className: cn("", className), ...props }));
2328
+ var PaginationItem = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, className: cn("", className), ...props }));
2144
2329
  PaginationItem.displayName = "PaginationItem";
2145
2330
  var PaginationLink = ({
2146
2331
  className,
@@ -2215,7 +2400,7 @@ PaginationEllipsis.displayName = "PaginationEllipsis";
2215
2400
  var Popover = PopoverPrimitive__namespace.Root;
2216
2401
  var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
2217
2402
  var PopoverAnchor = PopoverPrimitive__namespace.Anchor;
2218
- var PopoverContent = React131__namespace.default.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
2403
+ var PopoverContent = React136__namespace.default.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
2219
2404
  PopoverPrimitive__namespace.Content,
2220
2405
  {
2221
2406
  ref,
@@ -2232,7 +2417,7 @@ var PopoverContent = React131__namespace.default.forwardRef(({ className, align
2232
2417
  }
2233
2418
  ) }));
2234
2419
  PopoverContent.displayName = PopoverPrimitive__namespace.Content.displayName;
2235
- var Progress = React131__namespace.default.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2420
+ var Progress = React136__namespace.default.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2236
2421
  ProgressPrimitive__namespace.Root,
2237
2422
  {
2238
2423
  ref,
@@ -2248,7 +2433,7 @@ var Progress = React131__namespace.default.forwardRef(({ className, value, ...pr
2248
2433
  }
2249
2434
  ));
2250
2435
  Progress.displayName = ProgressPrimitive__namespace.Root.displayName;
2251
- var QrCode = React131__namespace.default.forwardRef(
2436
+ var QrCode = React136__namespace.default.forwardRef(
2252
2437
  ({
2253
2438
  value,
2254
2439
  size = 192,
@@ -2305,9 +2490,9 @@ var QrCode = React131__namespace.default.forwardRef(
2305
2490
  }
2306
2491
  );
2307
2492
  QrCode.displayName = "QrCode";
2308
- var RadioGroup4 = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(RadioGroupPrimitive__namespace.Root, { className: cn("grid gap-2", className), ref, ...props }));
2493
+ var RadioGroup4 = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(RadioGroupPrimitive__namespace.Root, { className: cn("grid gap-2", className), ref, ...props }));
2309
2494
  RadioGroup4.displayName = RadioGroupPrimitive__namespace.Root.displayName;
2310
- var RadioGroupItem = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2495
+ var RadioGroupItem = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2311
2496
  RadioGroupPrimitive__namespace.Item,
2312
2497
  {
2313
2498
  ref,
@@ -2322,12 +2507,12 @@ var RadioGroupItem = React131__namespace.default.forwardRef(({ className, ...pro
2322
2507
  }
2323
2508
  ));
2324
2509
  RadioGroupItem.displayName = RadioGroupPrimitive__namespace.Item.displayName;
2325
- var SIZE = {
2510
+ var SIZE2 = {
2326
2511
  sm: "h-4 w-4",
2327
2512
  md: "h-5 w-5",
2328
2513
  lg: "h-6 w-6"
2329
2514
  };
2330
- var Rating = React131__namespace.default.forwardRef(
2515
+ var Rating = React136__namespace.default.forwardRef(
2331
2516
  ({
2332
2517
  value: valueProp,
2333
2518
  defaultValue = 0,
@@ -2343,10 +2528,10 @@ var Rating = React131__namespace.default.forwardRef(
2343
2528
  ...props
2344
2529
  }, ref) => {
2345
2530
  const isControlled = valueProp !== void 0;
2346
- const [internal, setInternal] = React131__namespace.default.useState(defaultValue);
2531
+ const [internal, setInternal] = React136__namespace.default.useState(defaultValue);
2347
2532
  const value = isControlled ? valueProp : internal;
2348
2533
  const step = allowHalf ? 0.5 : 1;
2349
- const commit = React131__namespace.default.useCallback(
2534
+ const commit = React136__namespace.default.useCallback(
2350
2535
  (next) => {
2351
2536
  const clamped = Math.max(0, Math.min(max, next));
2352
2537
  if (!isControlled) setInternal(clamped);
@@ -2393,13 +2578,13 @@ var Rating = React131__namespace.default.forwardRef(
2393
2578
  children: Array.from({ length: max }).map((_, i) => {
2394
2579
  const fillPercent = Math.max(0, Math.min(1, value - i)) * 100;
2395
2580
  const Icon2 = /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative inline-block leading-none", children: [
2396
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("block text-muted-foreground/40", SIZE[size]), children: emptyIcon ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: "h-full w-full", strokeWidth: 1.5 }) }),
2581
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("block text-muted-foreground/40", SIZE2[size]), children: emptyIcon ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: "h-full w-full", strokeWidth: 1.5 }) }),
2397
2582
  /* @__PURE__ */ jsxRuntime.jsx(
2398
2583
  "span",
2399
2584
  {
2400
2585
  className: cn(
2401
2586
  "absolute inset-0 overflow-hidden text-[hsl(var(--primary))]",
2402
- SIZE[size]
2587
+ SIZE2[size]
2403
2588
  ),
2404
2589
  style: { width: `${fillPercent}%` },
2405
2590
  "aria-hidden": "true",
@@ -2460,7 +2645,7 @@ var ResizableHandle = ({
2460
2645
  children: withHandle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GripVertical, { className: "h-2.5 w-2.5" }) })
2461
2646
  }
2462
2647
  );
2463
- var ScrollArea = React131__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2648
+ var ScrollArea = React136__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2464
2649
  ScrollAreaPrimitive__namespace.Root,
2465
2650
  {
2466
2651
  ref,
@@ -2474,7 +2659,7 @@ var ScrollArea = React131__namespace.forwardRef(({ className, children, ...props
2474
2659
  }
2475
2660
  ));
2476
2661
  ScrollArea.displayName = ScrollAreaPrimitive__namespace.Root.displayName;
2477
- var ScrollBar = React131__namespace.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2662
+ var ScrollBar = React136__namespace.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2478
2663
  ScrollAreaPrimitive__namespace.ScrollAreaScrollbar,
2479
2664
  {
2480
2665
  ref,
@@ -2493,7 +2678,7 @@ ScrollBar.displayName = ScrollAreaPrimitive__namespace.ScrollAreaScrollbar.displ
2493
2678
  var Select = SelectPrimitive__namespace.Root;
2494
2679
  var SelectGroup = SelectPrimitive__namespace.Group;
2495
2680
  var SelectValue = SelectPrimitive__namespace.Value;
2496
- var SelectTrigger = React131__namespace.default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2681
+ var SelectTrigger = React136__namespace.default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2497
2682
  SelectPrimitive__namespace.Trigger,
2498
2683
  {
2499
2684
  ref,
@@ -2513,7 +2698,7 @@ var SelectTrigger = React131__namespace.default.forwardRef(({ className, childre
2513
2698
  }
2514
2699
  ));
2515
2700
  SelectTrigger.displayName = SelectPrimitive__namespace.Trigger.displayName;
2516
- var SelectScrollUpButton = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2701
+ var SelectScrollUpButton = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2517
2702
  SelectPrimitive__namespace.ScrollUpButton,
2518
2703
  {
2519
2704
  ref,
@@ -2523,7 +2708,7 @@ var SelectScrollUpButton = React131__namespace.default.forwardRef(({ className,
2523
2708
  }
2524
2709
  ));
2525
2710
  SelectScrollUpButton.displayName = SelectPrimitive__namespace.ScrollUpButton.displayName;
2526
- var SelectScrollDownButton = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2711
+ var SelectScrollDownButton = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2527
2712
  SelectPrimitive__namespace.ScrollDownButton,
2528
2713
  {
2529
2714
  ref,
@@ -2533,7 +2718,7 @@ var SelectScrollDownButton = React131__namespace.default.forwardRef(({ className
2533
2718
  }
2534
2719
  ));
2535
2720
  SelectScrollDownButton.displayName = SelectPrimitive__namespace.ScrollDownButton.displayName;
2536
- var SelectContent = React131__namespace.default.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
2721
+ var SelectContent = React136__namespace.default.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
2537
2722
  SelectPrimitive__namespace.Content,
2538
2723
  {
2539
2724
  ref,
@@ -2560,7 +2745,7 @@ var SelectContent = React131__namespace.default.forwardRef(({ className, childre
2560
2745
  }
2561
2746
  ) }));
2562
2747
  SelectContent.displayName = SelectPrimitive__namespace.Content.displayName;
2563
- var SelectLabel = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2748
+ var SelectLabel = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2564
2749
  SelectPrimitive__namespace.Label,
2565
2750
  {
2566
2751
  ref,
@@ -2569,7 +2754,7 @@ var SelectLabel = React131__namespace.default.forwardRef(({ className, ...props
2569
2754
  }
2570
2755
  ));
2571
2756
  SelectLabel.displayName = SelectPrimitive__namespace.Label.displayName;
2572
- var SelectItem = React131__namespace.default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2757
+ var SelectItem = React136__namespace.default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2573
2758
  SelectPrimitive__namespace.Item,
2574
2759
  {
2575
2760
  ref,
@@ -2587,7 +2772,7 @@ var SelectItem = React131__namespace.default.forwardRef(({ className, children,
2587
2772
  }
2588
2773
  ));
2589
2774
  SelectItem.displayName = SelectPrimitive__namespace.Item.displayName;
2590
- var SelectSeparator = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2775
+ var SelectSeparator = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2591
2776
  SelectPrimitive__namespace.Separator,
2592
2777
  {
2593
2778
  ref,
@@ -2596,7 +2781,7 @@ var SelectSeparator = React131__namespace.default.forwardRef(({ className, ...pr
2596
2781
  }
2597
2782
  ));
2598
2783
  SelectSeparator.displayName = SelectPrimitive__namespace.Separator.displayName;
2599
- var Separator6 = React131__namespace.default.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2784
+ var Separator6 = React136__namespace.default.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2600
2785
  SeparatorPrimitive__namespace.Root,
2601
2786
  {
2602
2787
  ref,
@@ -2615,7 +2800,7 @@ var Sheet = DialogPrimitive__namespace.Root;
2615
2800
  var SheetTrigger = DialogPrimitive__namespace.Trigger;
2616
2801
  var SheetClose = DialogPrimitive__namespace.Close;
2617
2802
  var SheetPortal = DialogPrimitive__namespace.Portal;
2618
- var SheetOverlay = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2803
+ var SheetOverlay = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2619
2804
  DialogPrimitive__namespace.Overlay,
2620
2805
  {
2621
2806
  ref,
@@ -2643,7 +2828,7 @@ var sheetVariants = classVarianceAuthority.cva(
2643
2828
  defaultVariants: { side: "right" }
2644
2829
  }
2645
2830
  );
2646
- var SheetContent = React131__namespace.default.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
2831
+ var SheetContent = React136__namespace.default.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
2647
2832
  /* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, {}),
2648
2833
  /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
2649
2834
  /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]", children: [
@@ -2656,9 +2841,9 @@ var SheetContent = React131__namespace.default.forwardRef(({ side = "right", cla
2656
2841
  SheetContent.displayName = DialogPrimitive__namespace.Content.displayName;
2657
2842
  var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
2658
2843
  var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
2659
- var SheetTitle = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Title, { ref, className: cn("text-lg font-semibold", className), ...props }));
2844
+ var SheetTitle = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Title, { ref, className: cn("text-lg font-semibold", className), ...props }));
2660
2845
  SheetTitle.displayName = DialogPrimitive__namespace.Title.displayName;
2661
- var SheetDescription = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Description, { ref, className: cn("text-sm text-[hsl(var(--muted-foreground))]", className), ...props }));
2846
+ var SheetDescription = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Description, { ref, className: cn("text-sm text-[hsl(var(--muted-foreground))]", className), ...props }));
2662
2847
  SheetDescription.displayName = DialogPrimitive__namespace.Description.displayName;
2663
2848
  function Skeleton({ className, ...props }) {
2664
2849
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -2669,7 +2854,7 @@ function Skeleton({ className, ...props }) {
2669
2854
  }
2670
2855
  );
2671
2856
  }
2672
- var Slider = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2857
+ var Slider = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2673
2858
  SliderPrimitive__namespace.Root,
2674
2859
  {
2675
2860
  ref,
@@ -2693,7 +2878,7 @@ function Spinner({ className, ...props }) {
2693
2878
  }
2694
2879
  );
2695
2880
  }
2696
- var Switch = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2881
+ var Switch = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2697
2882
  SwitchPrimitive__namespace.Root,
2698
2883
  {
2699
2884
  ref,
@@ -2719,7 +2904,7 @@ var Switch = React131__namespace.default.forwardRef(({ className, ...props }, re
2719
2904
  }
2720
2905
  ));
2721
2906
  Switch.displayName = SwitchPrimitive__namespace.Root.displayName;
2722
- var Table = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
2907
+ var Table = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
2723
2908
  "table",
2724
2909
  {
2725
2910
  ref,
@@ -2728,9 +2913,9 @@ var Table = React131__namespace.forwardRef(({ className, ...props }, ref) => /*
2728
2913
  }
2729
2914
  ) }));
2730
2915
  Table.displayName = "Table";
2731
- var TableHeader = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
2916
+ var TableHeader = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
2732
2917
  TableHeader.displayName = "TableHeader";
2733
- var TableBody = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2918
+ var TableBody = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2734
2919
  "tbody",
2735
2920
  {
2736
2921
  ref,
@@ -2739,7 +2924,7 @@ var TableBody = React131__namespace.forwardRef(({ className, ...props }, ref) =>
2739
2924
  }
2740
2925
  ));
2741
2926
  TableBody.displayName = "TableBody";
2742
- var TableFooter = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2927
+ var TableFooter = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2743
2928
  "tfoot",
2744
2929
  {
2745
2930
  ref,
@@ -2751,7 +2936,7 @@ var TableFooter = React131__namespace.forwardRef(({ className, ...props }, ref)
2751
2936
  }
2752
2937
  ));
2753
2938
  TableFooter.displayName = "TableFooter";
2754
- var TableRow = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2939
+ var TableRow = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2755
2940
  "tr",
2756
2941
  {
2757
2942
  ref,
@@ -2763,7 +2948,7 @@ var TableRow = React131__namespace.forwardRef(({ className, ...props }, ref) =>
2763
2948
  }
2764
2949
  ));
2765
2950
  TableRow.displayName = "TableRow";
2766
- var TableHead = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2951
+ var TableHead = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2767
2952
  "th",
2768
2953
  {
2769
2954
  ref,
@@ -2775,7 +2960,7 @@ var TableHead = React131__namespace.forwardRef(({ className, ...props }, ref) =>
2775
2960
  }
2776
2961
  ));
2777
2962
  TableHead.displayName = "TableHead";
2778
- var TableCell = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2963
+ var TableCell = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2779
2964
  "td",
2780
2965
  {
2781
2966
  ref,
@@ -2787,7 +2972,7 @@ var TableCell = React131__namespace.forwardRef(({ className, ...props }, ref) =>
2787
2972
  }
2788
2973
  ));
2789
2974
  TableCell.displayName = "TableCell";
2790
- var TableCaption = React131__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2975
+ var TableCaption = React136__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2791
2976
  "caption",
2792
2977
  {
2793
2978
  ref,
@@ -2797,7 +2982,7 @@ var TableCaption = React131__namespace.forwardRef(({ className, ...props }, ref)
2797
2982
  ));
2798
2983
  TableCaption.displayName = "TableCaption";
2799
2984
  var Tabs = TabsPrimitive__namespace.Root;
2800
- var TabsList = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2985
+ var TabsList = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2801
2986
  TabsPrimitive__namespace.List,
2802
2987
  {
2803
2988
  ref,
@@ -2809,7 +2994,7 @@ var TabsList = React131__namespace.default.forwardRef(({ className, ...props },
2809
2994
  }
2810
2995
  ));
2811
2996
  TabsList.displayName = TabsPrimitive__namespace.List.displayName;
2812
- var TabsTrigger = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2997
+ var TabsTrigger = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2813
2998
  TabsPrimitive__namespace.Trigger,
2814
2999
  {
2815
3000
  ref,
@@ -2824,7 +3009,7 @@ var TabsTrigger = React131__namespace.default.forwardRef(({ className, ...props
2824
3009
  }
2825
3010
  ));
2826
3011
  TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName;
2827
- var TabsContent = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
3012
+ var TabsContent = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2828
3013
  TabsPrimitive__namespace.Content,
2829
3014
  {
2830
3015
  ref,
@@ -2836,7 +3021,7 @@ var TabsContent = React131__namespace.default.forwardRef(({ className, ...props
2836
3021
  }
2837
3022
  ));
2838
3023
  TabsContent.displayName = TabsPrimitive__namespace.Content.displayName;
2839
- var Textarea = React131__namespace.default.forwardRef(
3024
+ var Textarea = React136__namespace.default.forwardRef(
2840
3025
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2841
3026
  "textarea",
2842
3027
  {
@@ -2854,7 +3039,7 @@ var Textarea = React131__namespace.default.forwardRef(
2854
3039
  )
2855
3040
  );
2856
3041
  Textarea.displayName = "Textarea";
2857
- var TextureCard = React131__namespace.forwardRef(
3042
+ var TextureCard = React136__namespace.forwardRef(
2858
3043
  ({ children, className, padding = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2859
3044
  "div",
2860
3045
  {
@@ -2871,15 +3056,15 @@ var TextureCard = React131__namespace.forwardRef(
2871
3056
  )
2872
3057
  );
2873
3058
  TextureCard.displayName = "TextureCard";
2874
- var TextureCardHeader = React131__namespace.forwardRef(
3059
+ var TextureCardHeader = React136__namespace.forwardRef(
2875
3060
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex flex-col gap-1.5 mb-4", className), ...props })
2876
3061
  );
2877
3062
  TextureCardHeader.displayName = "TextureCardHeader";
2878
- var TextureCardTitle = React131__namespace.forwardRef(
3063
+ var TextureCardTitle = React136__namespace.forwardRef(
2879
3064
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("h3", { ref, className: cn("font-semibold text-base leading-tight tracking-tight text-foreground", className), ...props })
2880
3065
  );
2881
3066
  TextureCardTitle.displayName = "TextureCardTitle";
2882
- var TextureCardDescription = React131__namespace.forwardRef(
3067
+ var TextureCardDescription = React136__namespace.forwardRef(
2883
3068
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
2884
3069
  );
2885
3070
  TextureCardDescription.displayName = "TextureCardDescription";
@@ -2903,7 +3088,7 @@ var toggleVariants = classVarianceAuthority.cva(
2903
3088
  }
2904
3089
  }
2905
3090
  );
2906
- var Toggle = React131__namespace.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
3091
+ var Toggle = React136__namespace.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2907
3092
  TogglePrimitive__namespace.Root,
2908
3093
  {
2909
3094
  ref,
@@ -2912,11 +3097,11 @@ var Toggle = React131__namespace.forwardRef(({ className, variant, size, ...prop
2912
3097
  }
2913
3098
  ));
2914
3099
  Toggle.displayName = TogglePrimitive__namespace.Root.displayName;
2915
- var ToggleGroupContext = React131__namespace.createContext({
3100
+ var ToggleGroupContext = React136__namespace.createContext({
2916
3101
  size: "default",
2917
3102
  variant: "default"
2918
3103
  });
2919
- var ToggleGroup = React131__namespace.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
3104
+ var ToggleGroup = React136__namespace.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2920
3105
  ToggleGroupPrimitive__namespace.Root,
2921
3106
  {
2922
3107
  ref,
@@ -2926,8 +3111,8 @@ var ToggleGroup = React131__namespace.forwardRef(({ className, variant, size, ch
2926
3111
  }
2927
3112
  ));
2928
3113
  ToggleGroup.displayName = ToggleGroupPrimitive__namespace.Root.displayName;
2929
- var ToggleGroupItem = React131__namespace.forwardRef(({ className, children, variant, size, ...props }, ref) => {
2930
- const context = React131__namespace.useContext(ToggleGroupContext);
3114
+ var ToggleGroupItem = React136__namespace.forwardRef(({ className, children, variant, size, ...props }, ref) => {
3115
+ const context = React136__namespace.useContext(ToggleGroupContext);
2931
3116
  return /* @__PURE__ */ jsxRuntime.jsx(
2932
3117
  ToggleGroupPrimitive__namespace.Item,
2933
3118
  {
@@ -2948,7 +3133,7 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive__namespace.Item.displayName;
2948
3133
  var TooltipProvider = TooltipPrimitive__namespace.Provider;
2949
3134
  var Tooltip2 = TooltipPrimitive__namespace.Root;
2950
3135
  var TooltipTrigger = TooltipPrimitive__namespace.Trigger;
2951
- var TooltipContent = React131__namespace.default.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
3136
+ var TooltipContent = React136__namespace.default.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
2952
3137
  TooltipPrimitive__namespace.Content,
2953
3138
  {
2954
3139
  ref,
@@ -2964,6 +3149,52 @@ var TooltipContent = React131__namespace.default.forwardRef(({ className, sideOf
2964
3149
  }
2965
3150
  ) }));
2966
3151
  TooltipContent.displayName = TooltipPrimitive__namespace.Content.displayName;
3152
+ var VariantPicker = React136__namespace.default.forwardRef(
3153
+ ({ label, options, value: valueProp, defaultValue, onValueChange, className, ...props }, ref) => {
3154
+ const isControlled = valueProp !== void 0;
3155
+ const [internal, setInternal] = React136__namespace.default.useState(defaultValue);
3156
+ const value = isControlled ? valueProp : internal;
3157
+ const select = (v) => {
3158
+ if (!isControlled) setInternal(v);
3159
+ onValueChange?.(v);
3160
+ };
3161
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, role: "radiogroup", "aria-label": label, className: cn("flex flex-col gap-2", className), ...props, children: [
3162
+ label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: label }),
3163
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: options.map((opt) => {
3164
+ const selected = value === opt.value;
3165
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3166
+ "button",
3167
+ {
3168
+ type: "button",
3169
+ role: "radio",
3170
+ "aria-checked": selected,
3171
+ disabled: opt.disabled,
3172
+ onClick: () => select(opt.value),
3173
+ className: cn(
3174
+ "inline-flex items-center gap-2 rounded-md border px-3 py-1.5 text-sm font-medium transition-colors",
3175
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
3176
+ selected ? "border-primary bg-primary/10 text-[hsl(var(--primary))]" : "border-border hover:bg-accent hover:text-accent-foreground",
3177
+ opt.disabled && "cursor-not-allowed text-muted-foreground line-through opacity-50"
3178
+ ),
3179
+ children: [
3180
+ opt.swatch && /* @__PURE__ */ jsxRuntime.jsx(
3181
+ "span",
3182
+ {
3183
+ "aria-hidden": "true",
3184
+ className: "h-4 w-4 rounded-full border border-border",
3185
+ style: { backgroundColor: opt.swatch }
3186
+ }
3187
+ ),
3188
+ opt.label
3189
+ ]
3190
+ },
3191
+ opt.value
3192
+ );
3193
+ }) })
3194
+ ] });
3195
+ }
3196
+ );
3197
+ VariantPicker.displayName = "VariantPicker";
2967
3198
  var bannerVariants = classVarianceAuthority.cva(
2968
3199
  "relative flex items-start gap-3 rounded-lg border px-4 py-3.5 text-sm transition-all",
2969
3200
  {
@@ -3060,8 +3291,8 @@ function Banner({
3060
3291
  className,
3061
3292
  children
3062
3293
  }) {
3063
- const [dismissed, setDismissed] = React131__namespace.default.useState(false);
3064
- const [exiting, setExiting] = React131__namespace.default.useState(false);
3294
+ const [dismissed, setDismissed] = React136__namespace.default.useState(false);
3295
+ const [exiting, setExiting] = React136__namespace.default.useState(false);
3065
3296
  const handleDismiss = () => {
3066
3297
  setExiting(true);
3067
3298
  setTimeout(() => {
@@ -3122,7 +3353,7 @@ function BreadcrumbSeparator({ className }) {
3122
3353
  return /* @__PURE__ */ jsxRuntime.jsx("li", { role: "presentation", "aria-hidden": "true", className: cn("flex items-center text-[hsl(var(--muted-foreground))]", className), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-3.5 w-3.5" }) });
3123
3354
  }
3124
3355
  function Breadcrumb({ children, className }) {
3125
- const items = React131__namespace.default.Children.toArray(children);
3356
+ const items = React136__namespace.default.Children.toArray(children);
3126
3357
  const withSeparators = [];
3127
3358
  items.forEach((item, i) => {
3128
3359
  withSeparators.push(item);
@@ -3152,8 +3383,8 @@ function CommandItem2({ icon, label, description, shortcut, active, onClick, cla
3152
3383
  );
3153
3384
  }
3154
3385
  function EditableCell({ value: initial, onSave }) {
3155
- const [editing, setEditing] = React131__namespace.default.useState(false);
3156
- const [val, setVal] = React131__namespace.default.useState(String(initial ?? ""));
3386
+ const [editing, setEditing] = React136__namespace.default.useState(false);
3387
+ const [val, setVal] = React136__namespace.default.useState(String(initial ?? ""));
3157
3388
  const commit = () => {
3158
3389
  onSave(val);
3159
3390
  setEditing(false);
@@ -3184,10 +3415,10 @@ var selectionCol = () => ({
3184
3415
  enableResizing: false
3185
3416
  });
3186
3417
  function DataGrid({ columns, data: initialData, onDataChange, editable, className }) {
3187
- const [data, setData] = React131__namespace.default.useState(initialData);
3188
- const [rowSelection, setRowSelection] = React131__namespace.default.useState({});
3418
+ const [data, setData] = React136__namespace.default.useState(initialData);
3419
+ const [rowSelection, setRowSelection] = React136__namespace.default.useState({});
3189
3420
  const columnResizeMode = "onChange";
3190
- const editableColumns = React131__namespace.default.useMemo(() => {
3421
+ const editableColumns = React136__namespace.default.useMemo(() => {
3191
3422
  if (!editable) return columns;
3192
3423
  return columns.map((col) => ({
3193
3424
  ...col,
@@ -3206,7 +3437,7 @@ function DataGrid({ columns, data: initialData, onDataChange, editable, classNam
3206
3437
  )
3207
3438
  }));
3208
3439
  }, [columns, data, editable, onDataChange]);
3209
- const allColumns = React131__namespace.default.useMemo(() => [selectionCol(), ...editableColumns], [editableColumns]);
3440
+ const allColumns = React136__namespace.default.useMemo(() => [selectionCol(), ...editableColumns], [editableColumns]);
3210
3441
  const table = reactTable.useReactTable({
3211
3442
  data,
3212
3443
  columns: allColumns,
@@ -3277,7 +3508,7 @@ function DataTableToolbar({ table, searchColumn }) {
3277
3508
  ) });
3278
3509
  }
3279
3510
  function DataTable({ columns, data, pageSize = 10, searchable, searchColumn, loading }) {
3280
- const [sorting, setSorting] = React131__namespace.default.useState([]);
3511
+ const [sorting, setSorting] = React136__namespace.default.useState([]);
3281
3512
  const table = reactTable.useReactTable({
3282
3513
  data,
3283
3514
  columns,
@@ -3302,7 +3533,7 @@ function DataTable({ columns, data, pageSize = 10, searchable, searchColumn, loa
3302
3533
  /* @__PURE__ */ jsxRuntime.jsx(DataTablePagination, { table })
3303
3534
  ] });
3304
3535
  }
3305
- var EmptyStateIcon = React131__namespace.default.forwardRef(
3536
+ var EmptyStateIcon = React136__namespace.default.forwardRef(
3306
3537
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex h-12 w-12 items-center justify-center rounded-full bg-[hsl(var(--muted))] text-[hsl(var(--muted-foreground))]", className), ...props })
3307
3538
  );
3308
3539
  EmptyStateIcon.displayName = "EmptyStateIcon";
@@ -3417,7 +3648,7 @@ function Persona({ name, subtitle, src, size = "md", badge, className }) {
3417
3648
  ] })
3418
3649
  ] });
3419
3650
  }
3420
- var PropertyList = React131__namespace.default.forwardRef(
3651
+ var PropertyList = React136__namespace.default.forwardRef(
3421
3652
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("dl", { ref, className: cn("divide-y divide-[hsl(var(--border))]", className), ...props })
3422
3653
  );
3423
3654
  PropertyList.displayName = "PropertyList";
@@ -3503,7 +3734,7 @@ function StructuredListItem({ left, title, description, right, onClick, classNam
3503
3734
  }
3504
3735
  );
3505
3736
  }
3506
- var StructuredList = React131__namespace.default.forwardRef(
3737
+ var StructuredList = React136__namespace.default.forwardRef(
3507
3738
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("space-y-4", className), ...props })
3508
3739
  );
3509
3740
  StructuredList.displayName = "StructuredList";
@@ -3513,7 +3744,7 @@ var dotColors = {
3513
3744
  error: "bg-red-500",
3514
3745
  warning: "bg-yellow-500"
3515
3746
  };
3516
- var TimelineContent = React131__namespace.default.forwardRef(
3747
+ var TimelineContent = React136__namespace.default.forwardRef(
3517
3748
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("pb-1", className), ...props })
3518
3749
  );
3519
3750
  TimelineContent.displayName = "TimelineContent";
@@ -3536,9 +3767,9 @@ function TimelineItem({ icon, title, description, timestamp, variant = "default"
3536
3767
  ] });
3537
3768
  }
3538
3769
  function Timeline({ children, className }) {
3539
- const items = React131__namespace.default.Children.toArray(children);
3770
+ const items = React136__namespace.default.Children.toArray(children);
3540
3771
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("", className), children: items.map(
3541
- (child, i) => React131__namespace.default.isValidElement(child) ? React131__namespace.default.cloneElement(child, { isLast: i === items.length - 1 }) : child
3772
+ (child, i) => React136__namespace.default.isValidElement(child) ? React136__namespace.default.cloneElement(child, { isLast: i === items.length - 1 }) : child
3542
3773
  ) });
3543
3774
  }
3544
3775
  var INITIAL_MESSAGES = [
@@ -3563,8 +3794,8 @@ function ChatBubble({ msg }) {
3563
3794
  ] });
3564
3795
  }
3565
3796
  function ChatDetail({ className }) {
3566
- const [messages, setMessages] = React131.useState(INITIAL_MESSAGES);
3567
- const [input, setInput] = React131.useState("");
3797
+ const [messages, setMessages] = React136.useState(INITIAL_MESSAGES);
3798
+ const [input, setInput] = React136.useState("");
3568
3799
  const send = () => {
3569
3800
  if (!input.trim()) return;
3570
3801
  const now = (/* @__PURE__ */ new Date()).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
@@ -3597,9 +3828,9 @@ function ChatDetail({ className }) {
3597
3828
  }
3598
3829
  var REACTIONS = ["\u{1F60A}", "\u{1F610}", "\u{1F615}", "\u{1F621}", "\u{1F929}"];
3599
3830
  function FeedbackModal({ onSubmit, className }) {
3600
- const [reaction, setReaction] = React131.useState("");
3601
- const [text, setText] = React131.useState("");
3602
- const [submitted, setSubmitted] = React131.useState(false);
3831
+ const [reaction, setReaction] = React136.useState("");
3832
+ const [text, setText] = React136.useState("");
3833
+ const [submitted, setSubmitted] = React136.useState(false);
3603
3834
  const handleSubmit = () => {
3604
3835
  onSubmit?.({ reaction, text });
3605
3836
  setSubmitted(true);
@@ -3722,7 +3953,7 @@ function FileRow({ file, onDelete }) {
3722
3953
  ] });
3723
3954
  }
3724
3955
  function FilesList({ className }) {
3725
- const [files, setFiles] = React131__namespace.default.useState(FILES2);
3956
+ const [files, setFiles] = React136__namespace.default.useState(FILES2);
3726
3957
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("rounded-md border border-[hsl(var(--border))] overflow-hidden", className), children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full", children: [
3727
3958
  /* @__PURE__ */ jsxRuntime.jsx("thead", { className: "bg-[hsl(var(--muted)/0.5)]", children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: ["Name", "Type", "Size", "Modified", ""].map((h) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-2.5 text-left text-xs font-medium text-[hsl(var(--muted-foreground))]", children: h }, h)) }) }),
3728
3959
  /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: files.map((f) => /* @__PURE__ */ jsxRuntime.jsx(FileRow, { file: f, onDelete: () => setFiles((fs) => fs.filter((x) => x.id !== f.id)) }, f.id)) })
@@ -3735,7 +3966,7 @@ function IntegrationCard({
3735
3966
  connected = false,
3736
3967
  className
3737
3968
  }) {
3738
- const [isConnected, setIsConnected] = React131.useState(connected);
3969
+ const [isConnected, setIsConnected] = React136.useState(connected);
3739
3970
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-4 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-4", className), children: [
3740
3971
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-md bg-[hsl(var(--muted))] text-[hsl(var(--muted-foreground))]", children: icon ?? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-bold", children: name[0] }) }),
3741
3972
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
@@ -3769,9 +4000,9 @@ var PENDING = [
3769
4000
  { email: "sam@startup.io", role: "Viewer" }
3770
4001
  ];
3771
4002
  function InviteModal({ className }) {
3772
- const [email, setEmail] = React131.useState("");
3773
- const [role, setRole] = React131.useState("Member");
3774
- const [pending, setPending] = React131.useState(PENDING);
4003
+ const [email, setEmail] = React136.useState("");
4004
+ const [role, setRole] = React136.useState("Member");
4005
+ const [pending, setPending] = React136.useState(PENDING);
3775
4006
  const invite = () => {
3776
4007
  if (!email.trim()) return;
3777
4008
  setPending((p) => [...p, { email: email.trim(), role }]);
@@ -3818,9 +4049,9 @@ var INITIAL_TAGS = [
3818
4049
  { id: "4", name: "Research", color: "bg-purple-500" }
3819
4050
  ];
3820
4051
  function ManageTagsModal({ className }) {
3821
- const [tags, setTags] = React131.useState(INITIAL_TAGS);
3822
- const [newTag, setNewTag] = React131.useState("");
3823
- const [colorIdx, setColorIdx] = React131.useState(0);
4052
+ const [tags, setTags] = React136.useState(INITIAL_TAGS);
4053
+ const [newTag, setNewTag] = React136.useState("");
4054
+ const [colorIdx, setColorIdx] = React136.useState(0);
3824
4055
  const addTag = () => {
3825
4056
  if (!newTag.trim()) return;
3826
4057
  const id = `tag-${Date.now()}`;
@@ -4022,13 +4253,13 @@ function Heatmap({
4022
4253
  showLegend = true,
4023
4254
  formatTooltip
4024
4255
  }) {
4025
- const valueByDate = React131.useMemo(() => {
4256
+ const valueByDate = React136.useMemo(() => {
4026
4257
  const m = /* @__PURE__ */ new Map();
4027
4258
  for (const d of data) m.set(d.date, d.value);
4028
4259
  return m;
4029
4260
  }, [data]);
4030
- const max = React131.useMemo(() => Math.max(1, ...data.map((d) => d.value)), [data]);
4031
- const grid = React131.useMemo(() => {
4261
+ const max = React136.useMemo(() => Math.max(1, ...data.map((d) => d.value)), [data]);
4262
+ const grid = React136.useMemo(() => {
4032
4263
  const end = startOfWeek(endDate);
4033
4264
  end.setDate(end.getDate() + 6);
4034
4265
  const cols = [];
@@ -4046,7 +4277,7 @@ function Heatmap({
4046
4277
  }
4047
4278
  return cols;
4048
4279
  }, [endDate, weeks, valueByDate]);
4049
- const monthLabels = React131.useMemo(() => {
4280
+ const monthLabels = React136.useMemo(() => {
4050
4281
  const labels = [];
4051
4282
  let lastMonth = -1;
4052
4283
  grid.forEach((col, i) => {
@@ -4217,9 +4448,9 @@ function apply(mode) {
4217
4448
  document.documentElement.classList.toggle("dark", isDark);
4218
4449
  }
4219
4450
  function ThemeSwitch({ defaultMode, onChange, className, variant = "segmented" }) {
4220
- const [mode, setMode] = React131__namespace.default.useState(() => defaultMode ?? readInitial());
4221
- const didMount = React131__namespace.default.useRef(false);
4222
- React131__namespace.default.useEffect(() => {
4451
+ const [mode, setMode] = React136__namespace.default.useState(() => defaultMode ?? readInitial());
4452
+ const didMount = React136__namespace.default.useRef(false);
4453
+ React136__namespace.default.useEffect(() => {
4223
4454
  if (!didMount.current) {
4224
4455
  didMount.current = true;
4225
4456
  return;
@@ -4231,7 +4462,7 @@ function ThemeSwitch({ defaultMode, onChange, className, variant = "segmented" }
4231
4462
  }
4232
4463
  onChange?.(mode);
4233
4464
  }, [mode, onChange]);
4234
- React131__namespace.default.useEffect(() => {
4465
+ React136__namespace.default.useEffect(() => {
4235
4466
  if (mode !== "system" || typeof window === "undefined") return;
4236
4467
  const mql = window.matchMedia("(prefers-color-scheme: dark)");
4237
4468
  const handler = () => apply("system");
@@ -4322,7 +4553,7 @@ function FloatingActionButton({
4322
4553
  position = "bottom-right",
4323
4554
  className
4324
4555
  }) {
4325
- const [open, setOpen] = React131__namespace.default.useState(false);
4556
+ const [open, setOpen] = React136__namespace.default.useState(false);
4326
4557
  return /* @__PURE__ */ jsxRuntime.jsx(
4327
4558
  "div",
4328
4559
  {
@@ -4363,7 +4594,7 @@ function FloatingActionButton({
4363
4594
  ] }),
4364
4595
  sections.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(Separator6, {})
4365
4596
  ] }),
4366
- sections.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3 py-2.5 space-y-3", children: sections.map((section, i) => /* @__PURE__ */ jsxRuntime.jsxs(React131__namespace.default.Fragment, { children: [
4597
+ sections.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3 py-2.5 space-y-3", children: sections.map((section, i) => /* @__PURE__ */ jsxRuntime.jsxs(React136__namespace.default.Fragment, { children: [
4367
4598
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4368
4599
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] font-semibold uppercase tracking-widest text-muted-foreground mb-1.5", children: section.label }),
4369
4600
  section.content
@@ -4405,7 +4636,7 @@ function applyTheme(val) {
4405
4636
  }
4406
4637
  }
4407
4638
  function PaletteSwatches({ options = DEFAULT_THEME_OPTIONS }) {
4408
- const [activeValue, setActiveValue] = React131__namespace.default.useState(readStoredTheme);
4639
+ const [activeValue, setActiveValue] = React136__namespace.default.useState(readStoredTheme);
4409
4640
  const activeOption = options.find((o) => o.value === activeValue) ?? options[0];
4410
4641
  const handleSelect = (value) => {
4411
4642
  setActiveValue(value);
@@ -4482,7 +4713,7 @@ function NotifRow({ label, description, checked, onChange }) {
4482
4713
  ] });
4483
4714
  }
4484
4715
  function NotificationSettings({ className }) {
4485
- const [states, setStates] = React131.useState(
4716
+ const [states, setStates] = React136.useState(
4486
4717
  Object.fromEntries(NOTIFICATIONS.map((n) => [n.id, n.default]))
4487
4718
  );
4488
4719
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-6", className), children: [
@@ -4502,16 +4733,16 @@ function NotificationSettings({ className }) {
4502
4733
  )) })
4503
4734
  ] });
4504
4735
  }
4505
- var SidebarCtx = React131.createContext({
4736
+ var SidebarCtx = React136.createContext({
4506
4737
  collapsed: false,
4507
4738
  toggleCollapsed: () => {
4508
4739
  }
4509
4740
  });
4510
4741
  function useSidebar() {
4511
- return React131.useContext(SidebarCtx);
4742
+ return React136.useContext(SidebarCtx);
4512
4743
  }
4513
4744
  function SidebarRoot({ children, storageKey = "sidebar-collapsed", defaultCollapsed = false, className }) {
4514
- const [collapsed, setCollapsed] = React131.useState(() => {
4745
+ const [collapsed, setCollapsed] = React136.useState(() => {
4515
4746
  if (typeof window === "undefined") return defaultCollapsed;
4516
4747
  try {
4517
4748
  return JSON.parse(localStorage.getItem(storageKey) ?? String(defaultCollapsed));
@@ -4519,7 +4750,7 @@ function SidebarRoot({ children, storageKey = "sidebar-collapsed", defaultCollap
4519
4750
  return defaultCollapsed;
4520
4751
  }
4521
4752
  });
4522
- const toggleCollapsed = React131.useCallback(() => {
4753
+ const toggleCollapsed = React136.useCallback(() => {
4523
4754
  setCollapsed((v) => {
4524
4755
  const next = !v;
4525
4756
  try {
@@ -4647,7 +4878,7 @@ function OrgMenu({
4647
4878
  onCreateOrg,
4648
4879
  className
4649
4880
  }) {
4650
- const [internalId, setInternalId] = React131.useState(defaultOrgId ?? ORGS[0]?.id ?? "1");
4881
+ const [internalId, setInternalId] = React136.useState(defaultOrgId ?? ORGS[0]?.id ?? "1");
4651
4882
  const activeId = currentOrgId ?? internalId;
4652
4883
  const current = ORGS.find((o) => o.id === activeId) ?? ORGS[0];
4653
4884
  const { collapsed } = useSidebar();
@@ -4696,7 +4927,7 @@ var ROLES = [
4696
4927
  { value: "viewer", label: "Viewer", description: "Read-only access" }
4697
4928
  ];
4698
4929
  function RolesMenu({ value = "member", onChange, className }) {
4699
- const [role, setRole] = React131.useState(value);
4930
+ const [role, setRole] = React136.useState(value);
4700
4931
  const current = ROLES.find((r) => r.value === role) ?? ROLES[0];
4701
4932
  const handleChange = (v) => {
4702
4933
  setRole(v);
@@ -4726,8 +4957,8 @@ var USERS = [
4726
4957
  { id: "6", name: "Mike Liu", email: "mike@acme.com", initials: "ML" }
4727
4958
  ];
4728
4959
  function SelectUsersModal({ onConfirm, className }) {
4729
- const [query, setQuery] = React131.useState("");
4730
- const [selected, setSelected] = React131.useState(/* @__PURE__ */ new Set());
4960
+ const [query, setQuery] = React136.useState("");
4961
+ const [selected, setSelected] = React136.useState(/* @__PURE__ */ new Set());
4731
4962
  const filtered = USERS.filter(
4732
4963
  (u) => u.name.toLowerCase().includes(query.toLowerCase()) || u.email.toLowerCase().includes(query.toLowerCase())
4733
4964
  );
@@ -4937,7 +5168,7 @@ function SidebarLayoutSearch({
4937
5168
  children,
4938
5169
  className
4939
5170
  }) {
4940
- const [query, setQuery] = React131.useState("");
5171
+ const [query, setQuery] = React136.useState("");
4941
5172
  const filtered = ALL_ITEMS.filter((i) => i.label.toLowerCase().includes(query.toLowerCase()));
4942
5173
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
4943
5174
  /* @__PURE__ */ jsxRuntime.jsxs("aside", { className: "flex w-60 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))]", children: [
@@ -5028,7 +5259,7 @@ function TaskRow({ task, onToggle }) {
5028
5259
  ] });
5029
5260
  }
5030
5261
  function SortableTaskList({ className }) {
5031
- const [tasks, setTasks] = React131.useState(TASKS);
5262
+ const [tasks, setTasks] = React136.useState(TASKS);
5032
5263
  const toggle = (id) => setTasks((ts) => ts.map((t) => t.id === id ? { ...t, done: !t.done } : t));
5033
5264
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-4 space-y-4", className), children: SECTIONS.map((section) => {
5034
5265
  const items = tasks.filter((t) => t.status === section);
@@ -5082,8 +5313,8 @@ function StackedLayoutTabs({
5082
5313
  children,
5083
5314
  className
5084
5315
  }) {
5085
- const [activeTab, setActiveTab] = React131.useState(0);
5086
- const [activeNav, setActiveNav] = React131.useState(0);
5316
+ const [activeTab, setActiveTab] = React136.useState(0);
5317
+ const [activeNav, setActiveNav] = React136.useState(0);
5087
5318
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] flex-col overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
5088
5319
  /* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "flex h-14 items-center gap-6 border-b border-[hsl(var(--border))] bg-[hsl(var(--card))] px-4", children: [
5089
5320
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-sm shrink-0", children: brandName }),
@@ -5226,8 +5457,8 @@ var MEMBERS = [
5226
5457
  ];
5227
5458
  var roleVariant = (role) => role === "Owner" ? "default" : role === "Admin" ? "secondary" : "outline";
5228
5459
  function WorkspaceMembers({ className }) {
5229
- const [query, setQuery] = React131.useState("");
5230
- const [members, setMembers] = React131.useState(MEMBERS);
5460
+ const [query, setQuery] = React136.useState("");
5461
+ const [members, setMembers] = React136.useState(MEMBERS);
5231
5462
  const filtered = members.filter(
5232
5463
  (m) => m.name.toLowerCase().includes(query.toLowerCase()) || m.email.toLowerCase().includes(query.toLowerCase())
5233
5464
  );
@@ -5281,8 +5512,8 @@ function BulkActions({ count, actions, onClear, className }) {
5281
5512
  ] });
5282
5513
  }
5283
5514
  function useCommandBar() {
5284
- const [open, setOpen] = React131__namespace.default.useState(false);
5285
- React131__namespace.default.useEffect(() => {
5515
+ const [open, setOpen] = React136__namespace.default.useState(false);
5516
+ React136__namespace.default.useEffect(() => {
5286
5517
  const handler = (e) => {
5287
5518
  if ((e.metaKey || e.ctrlKey) && e.key === "k") {
5288
5519
  e.preventDefault();
@@ -5322,12 +5553,12 @@ function CommandBarItem({ icon, label, shortcut, onSelect, active, className })
5322
5553
  );
5323
5554
  }
5324
5555
  function CommandBar({ open, onOpenChange, children, placeholder = "Search commands...", onSearch }) {
5325
- const [query, setQuery] = React131__namespace.default.useState("");
5556
+ const [query, setQuery] = React136__namespace.default.useState("");
5326
5557
  const handleSearch = (v) => {
5327
5558
  setQuery(v);
5328
5559
  onSearch?.(v);
5329
5560
  };
5330
- const items = React131__namespace.default.useRef(null);
5561
+ const items = React136__namespace.default.useRef(null);
5331
5562
  const handleKeyDown = (e) => {
5332
5563
  if (e.key === "Escape") {
5333
5564
  onOpenChange(false);
@@ -5368,10 +5599,10 @@ function CommandBar({ open, onOpenChange, children, placeholder = "Search comman
5368
5599
  var textOps = ["contains", "equals", "starts with"];
5369
5600
  var numOps = ["=", ">", "<", ">=", "<="];
5370
5601
  function AddFilterPopover({ filters, onAdd }) {
5371
- const [open, setOpen] = React131__namespace.default.useState(false);
5372
- const [key, setKey] = React131__namespace.default.useState("");
5373
- const [op, setOp] = React131__namespace.default.useState("");
5374
- const [val, setVal] = React131__namespace.default.useState("");
5602
+ const [open, setOpen] = React136__namespace.default.useState(false);
5603
+ const [key, setKey] = React136__namespace.default.useState("");
5604
+ const [op, setOp] = React136__namespace.default.useState("");
5605
+ const [val, setVal] = React136__namespace.default.useState("");
5375
5606
  const def = filters.find((f) => f.key === key);
5376
5607
  const ops = def?.type === "number" ? numOps : textOps;
5377
5608
  const handleAdd = () => {
@@ -5483,7 +5714,7 @@ function formatColumnSubLabel(date, scale) {
5483
5714
  function snapDate(date, scale) {
5484
5715
  return startOfScale(date, scale);
5485
5716
  }
5486
- var Gantt = React131__namespace.default.forwardRef(
5717
+ var Gantt = React136__namespace.default.forwardRef(
5487
5718
  ({
5488
5719
  items,
5489
5720
  scale = "days",
@@ -5501,7 +5732,7 @@ var Gantt = React131__namespace.default.forwardRef(
5501
5732
  }, ref) => {
5502
5733
  const interactive = !!onItemMove || !!onItemResize;
5503
5734
  const columnWidth = DEFAULT_COLUMN_WIDTH[scale];
5504
- const viewport = React131__namespace.default.useMemo(() => {
5735
+ const viewport = React136__namespace.default.useMemo(() => {
5505
5736
  const earliest = startDate ?? (items.length ? new Date(Math.min(...items.map((i) => i.start.getTime()))) : /* @__PURE__ */ new Date());
5506
5737
  const latest = endDate ?? (items.length ? new Date(Math.max(...items.map((i) => i.end.getTime()))) : dateFns.addDays(/* @__PURE__ */ new Date(), 14));
5507
5738
  return {
@@ -5511,7 +5742,7 @@ var Gantt = React131__namespace.default.forwardRef(
5511
5742
  }, [items, startDate, endDate, scale]);
5512
5743
  const colCount = totalColumns(viewport.start, viewport.end, scale);
5513
5744
  const timelineWidth = colCount * columnWidth;
5514
- const grouped = React131__namespace.default.useMemo(() => {
5745
+ const grouped = React136__namespace.default.useMemo(() => {
5515
5746
  const map = /* @__PURE__ */ new Map();
5516
5747
  for (const it of items) {
5517
5748
  const k = it.group ?? void 0;
@@ -5521,7 +5752,7 @@ var Gantt = React131__namespace.default.forwardRef(
5521
5752
  return Array.from(map.entries());
5522
5753
  }, [items]);
5523
5754
  const hasGroups = grouped.some(([k]) => k !== void 0);
5524
- const [collapsed, setCollapsed] = React131__namespace.default.useState(() => /* @__PURE__ */ new Set());
5755
+ const [collapsed, setCollapsed] = React136__namespace.default.useState(() => /* @__PURE__ */ new Set());
5525
5756
  const toggleGroup = (key) => {
5526
5757
  setCollapsed((prev) => {
5527
5758
  const next = new Set(prev);
@@ -5530,7 +5761,7 @@ var Gantt = React131__namespace.default.forwardRef(
5530
5761
  return next;
5531
5762
  });
5532
5763
  };
5533
- const rows = React131__namespace.default.useMemo(() => {
5764
+ const rows = React136__namespace.default.useMemo(() => {
5534
5765
  const out = [];
5535
5766
  for (const [groupKey, list] of grouped) {
5536
5767
  if (groupKey !== void 0) {
@@ -5541,21 +5772,21 @@ var Gantt = React131__namespace.default.forwardRef(
5541
5772
  }
5542
5773
  return out;
5543
5774
  }, [grouped, collapsed]);
5544
- const itemRowIndex = React131__namespace.default.useMemo(() => {
5775
+ const itemRowIndex = React136__namespace.default.useMemo(() => {
5545
5776
  const m = /* @__PURE__ */ new Map();
5546
5777
  rows.forEach((r, i) => {
5547
5778
  if (r.kind === "item") m.set(r.item.id, i);
5548
5779
  });
5549
5780
  return m;
5550
5781
  }, [rows]);
5551
- const todayOffsetPx = React131__namespace.default.useMemo(() => {
5782
+ const todayOffsetPx = React136__namespace.default.useMemo(() => {
5552
5783
  if (!showToday) return null;
5553
5784
  const now = /* @__PURE__ */ new Date();
5554
5785
  const u = unitsBetween(viewport.start, now, scale);
5555
5786
  if (u < 0 || u > colCount) return null;
5556
5787
  return u * columnWidth;
5557
5788
  }, [showToday, viewport.start, scale, colCount, columnWidth]);
5558
- const columnDates = React131__namespace.default.useMemo(() => {
5789
+ const columnDates = React136__namespace.default.useMemo(() => {
5559
5790
  return Array.from(
5560
5791
  { length: colCount },
5561
5792
  (_, i) => addUnits(viewport.start, i, scale)
@@ -5779,12 +6010,12 @@ function GanttBar({
5779
6010
  }) {
5780
6011
  const color = item.color ?? DEFAULT_COLOR2;
5781
6012
  const progress = Math.max(0, Math.min(100, item.progress ?? 0));
5782
- const [previewLeftDelta, setPreviewLeftDelta] = React131__namespace.default.useState(0);
5783
- const [previewRightDelta, setPreviewRightDelta] = React131__namespace.default.useState(0);
5784
- const dragMode = React131__namespace.default.useRef(null);
5785
- const startX = React131__namespace.default.useRef(0);
5786
- const longPressTimer = React131__namespace.default.useRef(null);
5787
- const moved = React131__namespace.default.useRef(false);
6013
+ const [previewLeftDelta, setPreviewLeftDelta] = React136__namespace.default.useState(0);
6014
+ const [previewRightDelta, setPreviewRightDelta] = React136__namespace.default.useState(0);
6015
+ const dragMode = React136__namespace.default.useRef(null);
6016
+ const startX = React136__namespace.default.useRef(0);
6017
+ const longPressTimer = React136__namespace.default.useRef(null);
6018
+ const moved = React136__namespace.default.useRef(false);
5788
6019
  const baseLeft = unitsBetween(viewportStart, item.start, scale) * columnWidth;
5789
6020
  const baseRight = unitsBetween(viewportStart, item.end, scale) * columnWidth;
5790
6021
  const baseWidth = Math.max(columnWidth * 0.25, baseRight - baseLeft);
@@ -5990,7 +6221,7 @@ function DependencyLayer({
5990
6221
  timelineWidth,
5991
6222
  totalHeight
5992
6223
  }) {
5993
- const itemById = React131__namespace.default.useMemo(() => {
6224
+ const itemById = React136__namespace.default.useMemo(() => {
5994
6225
  const m = /* @__PURE__ */ new Map();
5995
6226
  for (const it of items) m.set(it.id, it);
5996
6227
  return m;
@@ -6089,9 +6320,9 @@ function KanbanColumn({ column, isOver }) {
6089
6320
  ] });
6090
6321
  }
6091
6322
  function Kanban({ columns: initialColumns, onMoveCard, className }) {
6092
- const [cols, setCols] = React131__namespace.default.useState(initialColumns);
6093
- const [activeCard, setActiveCard] = React131__namespace.default.useState(null);
6094
- const [overColId, setOverColId] = React131__namespace.default.useState(null);
6323
+ const [cols, setCols] = React136__namespace.default.useState(initialColumns);
6324
+ const [activeCard, setActiveCard] = React136__namespace.default.useState(null);
6325
+ const [overColId, setOverColId] = React136__namespace.default.useState(null);
6095
6326
  const sensors = core.useSensors(core.useSensor(core.PointerSensor, { activationConstraint: { distance: 5 } }));
6096
6327
  const findColByCard = (cardId) => cols.find((c) => c.cards.some((card) => card.id === cardId));
6097
6328
  const onDragStart = ({ active }) => {
@@ -6160,10 +6391,10 @@ function ToolbarButton({
6160
6391
  ] });
6161
6392
  }
6162
6393
  function LinkPopover({ editor }) {
6163
- const [open, setOpen] = React131__namespace.default.useState(false);
6164
- const [url, setUrl] = React131__namespace.default.useState("");
6394
+ const [open, setOpen] = React136__namespace.default.useState(false);
6395
+ const [url, setUrl] = React136__namespace.default.useState("");
6165
6396
  const isActive = editor.isActive("link");
6166
- React131__namespace.default.useEffect(() => {
6397
+ React136__namespace.default.useEffect(() => {
6167
6398
  if (!open) return;
6168
6399
  const current = editor.getAttributes("link")?.href;
6169
6400
  setUrl(current ?? "");
@@ -6628,7 +6859,7 @@ var proseClasses = cn(
6628
6859
  // Selected cells in tables
6629
6860
  "[&_.selectedCell]:bg-[hsl(var(--accent))]/40"
6630
6861
  );
6631
- var RichEditor = React131__namespace.default.forwardRef(
6862
+ var RichEditor = React136__namespace.default.forwardRef(
6632
6863
  function RichEditor2({
6633
6864
  value,
6634
6865
  defaultValue,
@@ -6642,12 +6873,12 @@ var RichEditor = React131__namespace.default.forwardRef(
6642
6873
  }, ref) {
6643
6874
  const isControlled = value !== void 0;
6644
6875
  const initialContent = isControlled ? value ?? "" : defaultValue ?? "";
6645
- const debounceRef = React131__namespace.default.useRef(null);
6646
- const onChangeRef = React131__namespace.default.useRef(onChange);
6647
- React131__namespace.default.useEffect(() => {
6876
+ const debounceRef = React136__namespace.default.useRef(null);
6877
+ const onChangeRef = React136__namespace.default.useRef(onChange);
6878
+ React136__namespace.default.useEffect(() => {
6648
6879
  onChangeRef.current = onChange;
6649
6880
  }, [onChange]);
6650
- const [charCount, setCharCount] = React131__namespace.default.useState(0);
6881
+ const [charCount, setCharCount] = React136__namespace.default.useState(0);
6651
6882
  const editor = react$1.useEditor({
6652
6883
  editable,
6653
6884
  content: initialContent,
@@ -6690,18 +6921,18 @@ var RichEditor = React131__namespace.default.forwardRef(
6690
6921
  }, 100);
6691
6922
  }
6692
6923
  });
6693
- React131__namespace.default.useEffect(() => {
6924
+ React136__namespace.default.useEffect(() => {
6694
6925
  if (!editor || !isControlled) return;
6695
6926
  const current = editor.getHTML();
6696
6927
  if ((value ?? "") !== current) {
6697
6928
  editor.commands.setContent(value ?? "", { emitUpdate: false });
6698
6929
  }
6699
6930
  }, [editor, isControlled, value]);
6700
- React131__namespace.default.useEffect(() => {
6931
+ React136__namespace.default.useEffect(() => {
6701
6932
  if (!editor) return;
6702
6933
  if (editor.isEditable !== editable) editor.setEditable(editable);
6703
6934
  }, [editor, editable]);
6704
- React131__namespace.default.useEffect(() => {
6935
+ React136__namespace.default.useEffect(() => {
6705
6936
  return () => {
6706
6937
  if (debounceRef.current) clearTimeout(debounceRef.current);
6707
6938
  };
@@ -6799,10 +7030,10 @@ function ToggleButtonGroup(props) {
6799
7030
  props.onChange(val);
6800
7031
  }
6801
7032
  };
6802
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-flex items-center gap-1 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] p-0.5", className), children: React131__namespace.default.Children.map(children, (child) => {
6803
- if (!React131__namespace.default.isValidElement(child)) return child;
7033
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-flex items-center gap-1 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] p-0.5", className), children: React136__namespace.default.Children.map(children, (child) => {
7034
+ if (!React136__namespace.default.isValidElement(child)) return child;
6804
7035
  const tb = child;
6805
- return React131__namespace.default.cloneElement(tb, {
7036
+ return React136__namespace.default.cloneElement(tb, {
6806
7037
  pressed: isPressed(tb.props.value),
6807
7038
  onClick: () => handleClick(tb.props.value)
6808
7039
  });
@@ -7086,24 +7317,24 @@ function Beacon({ color = "primary", size = "md", children, className }) {
7086
7317
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-1 -right-1 flex", children: /* @__PURE__ */ jsxRuntime.jsx(BeaconDot, { color, size }) })
7087
7318
  ] });
7088
7319
  }
7089
- var TourContext = React131.createContext(null);
7320
+ var TourContext = React136.createContext(null);
7090
7321
  function useTour() {
7091
- const ctx = React131.useContext(TourContext);
7322
+ const ctx = React136.useContext(TourContext);
7092
7323
  if (!ctx) throw new Error("useTour must be used within <Tour>");
7093
7324
  return ctx;
7094
7325
  }
7095
7326
  function Tour({ totalSteps, children }) {
7096
- const [currentStep, setCurrentStep] = React131.useState(0);
7097
- const [isActive, setIsActive] = React131.useState(false);
7098
- const stop = React131.useCallback(() => setIsActive(false), []);
7099
- const start = React131.useCallback(() => {
7327
+ const [currentStep, setCurrentStep] = React136.useState(0);
7328
+ const [isActive, setIsActive] = React136.useState(false);
7329
+ const stop = React136.useCallback(() => setIsActive(false), []);
7330
+ const start = React136.useCallback(() => {
7100
7331
  setCurrentStep(0);
7101
7332
  setIsActive(true);
7102
7333
  }, []);
7103
- const next = React131.useCallback(() => setCurrentStep((s) => Math.min(s + 1, totalSteps - 1)), [totalSteps]);
7104
- const prev = React131.useCallback(() => setCurrentStep((s) => Math.max(s - 1, 0)), []);
7105
- const goTo = React131.useCallback((step) => setCurrentStep(Math.max(0, Math.min(step, totalSteps - 1))), [totalSteps]);
7106
- React131.useEffect(() => {
7334
+ const next = React136.useCallback(() => setCurrentStep((s) => Math.min(s + 1, totalSteps - 1)), [totalSteps]);
7335
+ const prev = React136.useCallback(() => setCurrentStep((s) => Math.max(s - 1, 0)), []);
7336
+ const goTo = React136.useCallback((step) => setCurrentStep(Math.max(0, Math.min(step, totalSteps - 1))), [totalSteps]);
7337
+ React136.useEffect(() => {
7107
7338
  if (!isActive) return;
7108
7339
  const onKey = (e) => {
7109
7340
  if (e.key === "Escape") stop();
@@ -7151,13 +7382,13 @@ function TourStep({ step, title, description, placement = "bottom", children })
7151
7382
  ] })
7152
7383
  ] });
7153
7384
  }
7154
- var ChecklistContext = React131.createContext(null);
7385
+ var ChecklistContext = React136.createContext(null);
7155
7386
  function useChecklist() {
7156
- const ctx = React131.useContext(ChecklistContext);
7387
+ const ctx = React136.useContext(ChecklistContext);
7157
7388
  if (!ctx) throw new Error("<ChecklistItem> must be used inside <Checklist>");
7158
7389
  return ctx;
7159
7390
  }
7160
- var Checklist = React131__namespace.default.forwardRef(
7391
+ var Checklist = React136__namespace.default.forwardRef(
7161
7392
  ({
7162
7393
  title = "Getting started",
7163
7394
  description,
@@ -7171,32 +7402,32 @@ var Checklist = React131__namespace.default.forwardRef(
7171
7402
  children,
7172
7403
  ...props
7173
7404
  }, ref) => {
7174
- const [internalCompleted, setInternalCompleted] = React131.useState({});
7175
- const [open, setOpen] = React131.useState(defaultOpen);
7176
- const completedFiredRef = React131__namespace.default.useRef(false);
7405
+ const [internalCompleted, setInternalCompleted] = React136.useState({});
7406
+ const [open, setOpen] = React136.useState(defaultOpen);
7407
+ const completedFiredRef = React136__namespace.default.useRef(false);
7177
7408
  const isControlled = controlledCompleted !== void 0;
7178
7409
  const completed = isControlled ? controlledCompleted : internalCompleted;
7179
- const setCompleted = React131.useCallback(
7410
+ const setCompleted = React136.useCallback(
7180
7411
  (id, value) => {
7181
7412
  if (!isControlled) setInternalCompleted((prev) => ({ ...prev, [id]: value }));
7182
7413
  onItemChange?.(id, value);
7183
7414
  },
7184
7415
  [isControlled, onItemChange]
7185
7416
  );
7186
- const total = React131.useMemo(() => {
7417
+ const total = React136.useMemo(() => {
7187
7418
  let n = 0;
7188
- React131__namespace.default.Children.forEach(children, (child) => {
7189
- if (React131__namespace.default.isValidElement(child) && child.type.displayName === "ChecklistItem") {
7419
+ React136__namespace.default.Children.forEach(children, (child) => {
7420
+ if (React136__namespace.default.isValidElement(child) && child.type.displayName === "ChecklistItem") {
7190
7421
  n++;
7191
7422
  }
7192
7423
  });
7193
7424
  return n;
7194
7425
  }, [children]);
7195
- const doneCount = React131.useMemo(
7426
+ const doneCount = React136.useMemo(
7196
7427
  () => Object.values(completed).filter(Boolean).length,
7197
7428
  [completed]
7198
7429
  );
7199
- React131__namespace.default.useEffect(() => {
7430
+ React136__namespace.default.useEffect(() => {
7200
7431
  if (!completedFiredRef.current && total > 0 && doneCount >= total) {
7201
7432
  completedFiredRef.current = true;
7202
7433
  onComplete?.();
@@ -7257,11 +7488,11 @@ var Checklist = React131__namespace.default.forwardRef(
7257
7488
  }
7258
7489
  );
7259
7490
  Checklist.displayName = "Checklist";
7260
- var ChecklistItem = React131__namespace.default.forwardRef(
7491
+ var ChecklistItem = React136__namespace.default.forwardRef(
7261
7492
  ({ id, title, description, action, onActivate, className, ...props }, ref) => {
7262
7493
  const { completed, setCompleted } = useChecklist();
7263
7494
  const done = !!completed[id];
7264
- const toggle = React131.useCallback(() => {
7495
+ const toggle = React136.useCallback(() => {
7265
7496
  setCompleted(id, !done);
7266
7497
  }, [id, done, setCompleted]);
7267
7498
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -7340,9 +7571,9 @@ function IntroDisclosure({
7340
7571
  finishLabel = "Get started"
7341
7572
  }) {
7342
7573
  const isControlled = controlledOpen !== void 0;
7343
- const [internalOpen, setInternalOpen] = React131.useState(false);
7344
- const [step, setStep] = React131.useState(0);
7345
- React131.useEffect(() => {
7574
+ const [internalOpen, setInternalOpen] = React136.useState(false);
7575
+ const [step, setStep] = React136.useState(0);
7576
+ React136.useEffect(() => {
7346
7577
  if (isControlled) return;
7347
7578
  if (typeof window === "undefined") return;
7348
7579
  if (!storageKey) {
@@ -7355,19 +7586,19 @@ function IntroDisclosure({
7355
7586
  const isOpen = isControlled ? controlledOpen : internalOpen;
7356
7587
  const total = steps.length;
7357
7588
  const isLast = step === total - 1;
7358
- const close = React131.useCallback(() => {
7589
+ const close = React136.useCallback(() => {
7359
7590
  if (!isControlled) {
7360
7591
  setInternalOpen(false);
7361
7592
  if (storageKey && typeof window !== "undefined") window.localStorage.setItem(storageKey, "1");
7362
7593
  }
7363
7594
  onOpenChange?.(false);
7364
7595
  }, [isControlled, onOpenChange, storageKey]);
7365
- const next = React131.useCallback(() => {
7596
+ const next = React136.useCallback(() => {
7366
7597
  if (isLast) close();
7367
7598
  else setStep((s) => s + 1);
7368
7599
  }, [isLast, close]);
7369
- const prev = React131.useCallback(() => setStep((s) => Math.max(0, s - 1)), []);
7370
- React131.useEffect(() => {
7600
+ const prev = React136.useCallback(() => setStep((s) => Math.max(0, s - 1)), []);
7601
+ React136.useEffect(() => {
7371
7602
  if (!isOpen) return;
7372
7603
  const onKey = (e) => {
7373
7604
  if (e.key === "Escape") close();
@@ -7377,7 +7608,7 @@ function IntroDisclosure({
7377
7608
  window.addEventListener("keydown", onKey);
7378
7609
  return () => window.removeEventListener("keydown", onKey);
7379
7610
  }, [isOpen, close, next, prev]);
7380
- const current = React131.useMemo(() => steps[Math.min(step, total - 1)], [steps, step, total]);
7611
+ const current = React136.useMemo(() => steps[Math.min(step, total - 1)], [steps, step, total]);
7381
7612
  if (!isOpen || total === 0 || !current) return null;
7382
7613
  return /* @__PURE__ */ jsxRuntime.jsxs(
7383
7614
  "div",
@@ -7557,9 +7788,9 @@ function CalendarGrid({ year, month, selected, onSelect }) {
7557
7788
  ] });
7558
7789
  }
7559
7790
  function DatePicker({ value, onChange, placeholder = "Pick a date", disabled, className }) {
7560
- const [open, setOpen] = React131.useState(false);
7791
+ const [open, setOpen] = React136.useState(false);
7561
7792
  const now = value ?? /* @__PURE__ */ new Date();
7562
- const [view, setView] = React131.useState({ year: now.getFullYear(), month: now.getMonth() });
7793
+ const [view, setView] = React136.useState({ year: now.getFullYear(), month: now.getMonth() });
7563
7794
  function navigate(delta) {
7564
7795
  setView((v) => {
7565
7796
  const date = new Date(v.year, v.month + delta);
@@ -7605,7 +7836,7 @@ function Field({ label, description, error, required, children, className }) {
7605
7836
  error && /* @__PURE__ */ jsxRuntime.jsx(FieldError, { children: error })
7606
7837
  ] });
7607
7838
  }
7608
- var FieldLabel = React131__namespace.default.forwardRef(
7839
+ var FieldLabel = React136__namespace.default.forwardRef(
7609
7840
  ({ className, required, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
7610
7841
  "label",
7611
7842
  {
@@ -7620,7 +7851,7 @@ var FieldLabel = React131__namespace.default.forwardRef(
7620
7851
  )
7621
7852
  );
7622
7853
  FieldLabel.displayName = "FieldLabel";
7623
- var FieldDescription = React131__namespace.default.forwardRef(
7854
+ var FieldDescription = React136__namespace.default.forwardRef(
7624
7855
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
7625
7856
  "p",
7626
7857
  {
@@ -7631,7 +7862,7 @@ var FieldDescription = React131__namespace.default.forwardRef(
7631
7862
  )
7632
7863
  );
7633
7864
  FieldDescription.displayName = "FieldDescription";
7634
- var FieldError = React131__namespace.default.forwardRef(
7865
+ var FieldError = React136__namespace.default.forwardRef(
7635
7866
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
7636
7867
  "p",
7637
7868
  {
@@ -7732,7 +7963,7 @@ function defaultFor(format3, showAlpha) {
7732
7963
  if (format3 === "rgb") return showAlpha ? "rgba(59, 130, 246, 1)" : "rgb(59, 130, 246)";
7733
7964
  return showAlpha ? "hsla(217, 91%, 60%, 1)" : "hsl(217, 91%, 60%)";
7734
7965
  }
7735
- var ColorPicker = React131__namespace.default.forwardRef(
7966
+ var ColorPicker = React136__namespace.default.forwardRef(
7736
7967
  ({
7737
7968
  value: valueProp,
7738
7969
  defaultValue,
@@ -7747,21 +7978,21 @@ var ColorPicker = React131__namespace.default.forwardRef(
7747
7978
  }, ref) => {
7748
7979
  const fallback = defaultValue ?? defaultFor(format3, showAlpha);
7749
7980
  const isControlled = valueProp !== void 0;
7750
- const [internal, setInternal] = React131__namespace.default.useState(fallback);
7981
+ const [internal, setInternal] = React136__namespace.default.useState(fallback);
7751
7982
  const value = isControlled ? valueProp : internal;
7752
- const [draft, setDraft] = React131__namespace.default.useState(value);
7753
- const [draftValid, setDraftValid] = React131__namespace.default.useState(true);
7754
- React131__namespace.default.useEffect(() => {
7983
+ const [draft, setDraft] = React136__namespace.default.useState(value);
7984
+ const [draftValid, setDraftValid] = React136__namespace.default.useState(true);
7985
+ React136__namespace.default.useEffect(() => {
7755
7986
  setDraft(value);
7756
7987
  setDraftValid(true);
7757
7988
  }, [value]);
7758
- const [eyeDropperSupported, setEyeDropperSupported] = React131__namespace.default.useState(false);
7759
- React131__namespace.default.useEffect(() => {
7989
+ const [eyeDropperSupported, setEyeDropperSupported] = React136__namespace.default.useState(false);
7990
+ React136__namespace.default.useEffect(() => {
7760
7991
  if (typeof window !== "undefined" && "EyeDropper" in window) {
7761
7992
  setEyeDropperSupported(true);
7762
7993
  }
7763
7994
  }, []);
7764
- const commit = React131__namespace.default.useCallback(
7995
+ const commit = React136__namespace.default.useCallback(
7765
7996
  (next) => {
7766
7997
  if (!isControlled) setInternal(next);
7767
7998
  onValueChange?.(next);
@@ -7924,8 +8155,8 @@ function filterBySize(files, maxSize) {
7924
8155
  return maxSize ? files.filter((f) => f.size <= maxSize) : files;
7925
8156
  }
7926
8157
  function FileUpload({ accept, multiple, maxSize, onFiles, className, disabled }) {
7927
- const inputRef = React131.useRef(null);
7928
- const [dragging, setDragging] = React131.useState(false);
8158
+ const inputRef = React136.useRef(null);
8159
+ const [dragging, setDragging] = React136.useState(false);
7929
8160
  function handleFiles(raw) {
7930
8161
  if (!raw) return;
7931
8162
  const files = filterBySize(Array.from(raw), maxSize);
@@ -7998,15 +8229,15 @@ function FileUploadPreview({ files, onRemove, className }) {
7998
8229
  ] })
7999
8230
  ] }, i)) });
8000
8231
  }
8001
- var FloatingLabelInput = React131__namespace.default.forwardRef(
8232
+ var FloatingLabelInput = React136__namespace.default.forwardRef(
8002
8233
  ({ label, error, hint, wrapperClassName, className, id, value, defaultValue, onFocus, onBlur, onChange, ...props }, ref) => {
8003
- const autoId = React131.useId();
8234
+ const autoId = React136.useId();
8004
8235
  const inputId = id ?? autoId;
8005
8236
  const errorId = error ? `${inputId}-error` : void 0;
8006
8237
  const hintId = hint ? `${inputId}-hint` : void 0;
8007
8238
  const describedBy = [errorId, hintId].filter(Boolean).join(" ") || void 0;
8008
- const [focused, setFocused] = React131.useState(false);
8009
- const [filled, setFilled] = React131.useState(() => {
8239
+ const [focused, setFocused] = React136.useState(false);
8240
+ const [filled, setFilled] = React136.useState(() => {
8010
8241
  if (value !== void 0 && value !== null && value !== "") return true;
8011
8242
  if (defaultValue !== void 0 && defaultValue !== null && defaultValue !== "") return true;
8012
8243
  return false;
@@ -8082,7 +8313,7 @@ function FormField(props) {
8082
8313
  function FormItem({ className, ...props }) {
8083
8314
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-1.5", className), ...props });
8084
8315
  }
8085
- var FormLabel = React131__namespace.default.forwardRef(
8316
+ var FormLabel = React136__namespace.default.forwardRef(
8086
8317
  ({ className, error, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8087
8318
  "label",
8088
8319
  {
@@ -8097,9 +8328,9 @@ var FormLabel = React131__namespace.default.forwardRef(
8097
8328
  )
8098
8329
  );
8099
8330
  FormLabel.displayName = "FormLabel";
8100
- var FormControl = React131__namespace.default.forwardRef(
8331
+ var FormControl = React136__namespace.default.forwardRef(
8101
8332
  ({ ...props }, ref) => {
8102
- const id = React131.useId();
8333
+ const id = React136.useId();
8103
8334
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, id, ...props });
8104
8335
  }
8105
8336
  );
@@ -8122,7 +8353,7 @@ function ObjectField({
8122
8353
  children,
8123
8354
  className
8124
8355
  }) {
8125
- const [open, setOpen] = React131.useState(defaultOpen);
8356
+ const [open, setOpen] = React136.useState(defaultOpen);
8126
8357
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-md border border-[hsl(var(--border))] overflow-hidden", className), children: [
8127
8358
  /* @__PURE__ */ jsxRuntime.jsxs(
8128
8359
  "div",
@@ -8154,9 +8385,9 @@ function getStrength(value) {
8154
8385
  if (score <= 3) return { level: "medium", width: "w-2/3", color: "bg-yellow-500" };
8155
8386
  return { level: "strong", width: "w-full", color: "bg-green-500" };
8156
8387
  }
8157
- var PasswordInput = React131__namespace.default.forwardRef(
8388
+ var PasswordInput = React136__namespace.default.forwardRef(
8158
8389
  ({ className, strength, ...props }, ref) => {
8159
- const [show, setShow] = React131.useState(false);
8390
+ const [show, setShow] = React136.useState(false);
8160
8391
  const value = String(props.value ?? "");
8161
8392
  const str = getStrength(value);
8162
8393
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1.5", children: [
@@ -8189,9 +8420,9 @@ var PasswordInput = React131__namespace.default.forwardRef(
8189
8420
  }
8190
8421
  );
8191
8422
  PasswordInput.displayName = "PasswordInput";
8192
- var SearchInput = React131__namespace.default.forwardRef(
8423
+ var SearchInput = React136__namespace.default.forwardRef(
8193
8424
  ({ className, shortcut, onClear, onChange, value: valueProp, defaultValue, ...props }, ref) => {
8194
- const [internalValue, setInternalValue] = React131.useState(defaultValue ?? "");
8425
+ const [internalValue, setInternalValue] = React136.useState(defaultValue ?? "");
8195
8426
  const isControlled = valueProp !== void 0;
8196
8427
  const value = isControlled ? String(valueProp) : String(internalValue);
8197
8428
  function handleChange(e) {
@@ -8234,14 +8465,14 @@ var SearchInput = React131__namespace.default.forwardRef(
8234
8465
  }
8235
8466
  );
8236
8467
  SearchInput.displayName = "SearchInput";
8237
- var StepFormContext = React131.createContext(null);
8468
+ var StepFormContext = React136.createContext(null);
8238
8469
  function useStepForm() {
8239
- const ctx = React131.useContext(StepFormContext);
8470
+ const ctx = React136.useContext(StepFormContext);
8240
8471
  if (!ctx) throw new Error("useStepForm must be used within StepForm");
8241
8472
  return ctx;
8242
8473
  }
8243
8474
  function StepForm({ steps, onSubmit, children, className }) {
8244
- const [currentStep, setCurrentStep] = React131.useState(0);
8475
+ const [currentStep, setCurrentStep] = React136.useState(0);
8245
8476
  const totalSteps = steps.length;
8246
8477
  const ctx = {
8247
8478
  currentStep,
@@ -8252,7 +8483,7 @@ function StepForm({ steps, onSubmit, children, className }) {
8252
8483
  isFirst: currentStep === 0,
8253
8484
  isLast: currentStep === totalSteps - 1
8254
8485
  };
8255
- const childArray = React131__namespace.default.Children.toArray(children);
8486
+ const childArray = React136__namespace.default.Children.toArray(children);
8256
8487
  const currentChild = childArray[currentStep];
8257
8488
  return /* @__PURE__ */ jsxRuntime.jsx(StepFormContext.Provider, { value: ctx, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-6", className), children: [
8258
8489
  /* @__PURE__ */ jsxRuntime.jsx(StepIndicator, { steps, currentStep }),
@@ -8261,7 +8492,7 @@ function StepForm({ steps, onSubmit, children, className }) {
8261
8492
  ] }) });
8262
8493
  }
8263
8494
  function StepIndicator({ steps, currentStep }) {
8264
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: steps.map((label, i) => /* @__PURE__ */ jsxRuntime.jsxs(React131__namespace.default.Fragment, { children: [
8495
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: steps.map((label, i) => /* @__PURE__ */ jsxRuntime.jsxs(React136__namespace.default.Fragment, { children: [
8265
8496
  i > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("h-px flex-1 bg-[hsl(var(--border))]", i <= currentStep && "bg-[hsl(var(--primary))]") }),
8266
8497
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-1", children: [
8267
8498
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(
@@ -8290,7 +8521,7 @@ function StepFormNavigation({ onSubmit, submitLabel = "Submit" }) {
8290
8521
  isLast ? /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", onClick: onSubmit, children: submitLabel }) : /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", onClick: next, children: "Next" })
8291
8522
  ] });
8292
8523
  }
8293
- var Tags = React131__namespace.default.forwardRef(
8524
+ var Tags = React136__namespace.default.forwardRef(
8294
8525
  ({
8295
8526
  value: valueProp,
8296
8527
  defaultValue,
@@ -8306,25 +8537,25 @@ var Tags = React131__namespace.default.forwardRef(
8306
8537
  ...props
8307
8538
  }, ref) => {
8308
8539
  const isControlled = valueProp !== void 0;
8309
- const [internal, setInternal] = React131__namespace.default.useState(defaultValue ?? []);
8540
+ const [internal, setInternal] = React136__namespace.default.useState(defaultValue ?? []);
8310
8541
  const tags = isControlled ? valueProp : internal;
8311
- const [input, setInput] = React131__namespace.default.useState("");
8312
- const [error, setError] = React131__namespace.default.useState(null);
8313
- const [focused, setFocused] = React131__namespace.default.useState(false);
8314
- const [activeIndex, setActiveIndex] = React131__namespace.default.useState(0);
8315
- const inputRef = React131__namespace.default.useRef(null);
8316
- const containerRef = React131__namespace.default.useRef(null);
8317
- React131__namespace.default.useImperativeHandle(ref, () => containerRef.current);
8542
+ const [input, setInput] = React136__namespace.default.useState("");
8543
+ const [error, setError] = React136__namespace.default.useState(null);
8544
+ const [focused, setFocused] = React136__namespace.default.useState(false);
8545
+ const [activeIndex, setActiveIndex] = React136__namespace.default.useState(0);
8546
+ const inputRef = React136__namespace.default.useRef(null);
8547
+ const containerRef = React136__namespace.default.useRef(null);
8548
+ React136__namespace.default.useImperativeHandle(ref, () => containerRef.current);
8318
8549
  const atMax = maxTags !== void 0 && tags.length >= maxTags;
8319
8550
  const inputDisabled = disabled || atMax;
8320
- const commit = React131__namespace.default.useCallback(
8551
+ const commit = React136__namespace.default.useCallback(
8321
8552
  (next) => {
8322
8553
  if (!isControlled) setInternal(next);
8323
8554
  onValueChange?.(next);
8324
8555
  },
8325
8556
  [isControlled, onValueChange]
8326
8557
  );
8327
- const addTag = React131__namespace.default.useCallback(
8558
+ const addTag = React136__namespace.default.useCallback(
8328
8559
  (raw) => {
8329
8560
  const tag = raw.trim();
8330
8561
  if (!tag) return false;
@@ -8350,20 +8581,20 @@ var Tags = React131__namespace.default.forwardRef(
8350
8581
  },
8351
8582
  [tags, allowDuplicates, validate, atMax, commit]
8352
8583
  );
8353
- const removeTag = React131__namespace.default.useCallback(
8584
+ const removeTag = React136__namespace.default.useCallback(
8354
8585
  (index) => {
8355
8586
  commit(tags.filter((_, i) => i !== index));
8356
8587
  setError(null);
8357
8588
  },
8358
8589
  [tags, commit]
8359
8590
  );
8360
- const filteredSuggestions = React131__namespace.default.useMemo(() => {
8591
+ const filteredSuggestions = React136__namespace.default.useMemo(() => {
8361
8592
  if (!suggestions || !input.trim()) return [];
8362
8593
  const q = input.trim().toLowerCase();
8363
8594
  return suggestions.filter((s) => s.toLowerCase().includes(q)).filter((s) => allowDuplicates || !tags.includes(s)).slice(0, 8);
8364
8595
  }, [suggestions, input, tags, allowDuplicates]);
8365
8596
  const showPopover = focused && !inputDisabled && filteredSuggestions.length > 0;
8366
- React131__namespace.default.useEffect(() => {
8597
+ React136__namespace.default.useEffect(() => {
8367
8598
  if (activeIndex >= filteredSuggestions.length) setActiveIndex(0);
8368
8599
  }, [filteredSuggestions.length, activeIndex]);
8369
8600
  const handleKeyDown = (e) => {
@@ -8505,7 +8736,7 @@ var Tags = React131__namespace.default.forwardRef(
8505
8736
  }
8506
8737
  );
8507
8738
  Tags.displayName = "Tags";
8508
- var AppShellCtx = React131__namespace.default.createContext({
8739
+ var AppShellCtx = React136__namespace.default.createContext({
8509
8740
  collapsed: false,
8510
8741
  setCollapsed: () => {
8511
8742
  },
@@ -8513,12 +8744,12 @@ var AppShellCtx = React131__namespace.default.createContext({
8513
8744
  setMobileOpen: () => {
8514
8745
  }
8515
8746
  });
8516
- var useAppShell = () => React131__namespace.default.useContext(AppShellCtx);
8517
- var AppShell = React131__namespace.default.forwardRef(
8747
+ var useAppShell = () => React136__namespace.default.useContext(AppShellCtx);
8748
+ var AppShell = React136__namespace.default.forwardRef(
8518
8749
  ({ className, defaultCollapsed = false, children, ...props }, ref) => {
8519
- const [collapsed, setCollapsed] = React131__namespace.default.useState(defaultCollapsed);
8520
- const [mobileOpen, setMobileOpen] = React131__namespace.default.useState(false);
8521
- React131__namespace.default.useEffect(() => {
8750
+ const [collapsed, setCollapsed] = React136__namespace.default.useState(defaultCollapsed);
8751
+ const [mobileOpen, setMobileOpen] = React136__namespace.default.useState(false);
8752
+ React136__namespace.default.useEffect(() => {
8522
8753
  const handleClick = (e) => {
8523
8754
  const target = e.target;
8524
8755
  if (target.closest("a[href]") || target.closest("[data-mobile-close]")) {
@@ -8549,7 +8780,7 @@ var AppShell = React131__namespace.default.forwardRef(
8549
8780
  }
8550
8781
  );
8551
8782
  AppShell.displayName = "AppShell";
8552
- var AppShellSidebar = React131__namespace.default.forwardRef(
8783
+ var AppShellSidebar = React136__namespace.default.forwardRef(
8553
8784
  ({ className, ...props }, ref) => {
8554
8785
  const { mobileOpen } = useAppShell();
8555
8786
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8570,11 +8801,11 @@ var AppShellSidebar = React131__namespace.default.forwardRef(
8570
8801
  }
8571
8802
  );
8572
8803
  AppShellSidebar.displayName = "AppShellSidebar";
8573
- var AppShellMain = React131__namespace.default.forwardRef(
8804
+ var AppShellMain = React136__namespace.default.forwardRef(
8574
8805
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex-1 min-w-0 flex flex-col overflow-auto", className), ...props })
8575
8806
  );
8576
8807
  AppShellMain.displayName = "AppShellMain";
8577
- var MobileSidebarTrigger = React131__namespace.default.forwardRef(
8808
+ var MobileSidebarTrigger = React136__namespace.default.forwardRef(
8578
8809
  ({ className, ...props }, ref) => {
8579
8810
  const { mobileOpen, setMobileOpen } = useAppShell();
8580
8811
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8603,7 +8834,7 @@ var sizeMap5 = {
8603
8834
  xl: "max-w-screen-xl",
8604
8835
  full: "max-w-full"
8605
8836
  };
8606
- var Container = React131__namespace.default.forwardRef(
8837
+ var Container = React136__namespace.default.forwardRef(
8607
8838
  ({ className, size = "lg", noPadding = false, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8608
8839
  "div",
8609
8840
  {
@@ -8619,7 +8850,7 @@ var Container = React131__namespace.default.forwardRef(
8619
8850
  )
8620
8851
  );
8621
8852
  Container.displayName = "Container";
8622
- var Navbar = React131__namespace.default.forwardRef(
8853
+ var Navbar = React136__namespace.default.forwardRef(
8623
8854
  ({ className, sticky = false, border = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8624
8855
  "nav",
8625
8856
  {
@@ -8635,7 +8866,7 @@ var Navbar = React131__namespace.default.forwardRef(
8635
8866
  )
8636
8867
  );
8637
8868
  Navbar.displayName = "Navbar";
8638
- var NavbarBrand = React131__namespace.default.forwardRef(
8869
+ var NavbarBrand = React136__namespace.default.forwardRef(
8639
8870
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex items-center gap-2 px-4 shrink-0", className), ...props })
8640
8871
  );
8641
8872
  NavbarBrand.displayName = "NavbarBrand";
@@ -8644,7 +8875,7 @@ var alignMap = {
8644
8875
  center: "justify-center flex-1",
8645
8876
  end: "justify-end ml-auto"
8646
8877
  };
8647
- var NavbarContent = React131__namespace.default.forwardRef(
8878
+ var NavbarContent = React136__namespace.default.forwardRef(
8648
8879
  ({ className, align = "start", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8649
8880
  "div",
8650
8881
  {
@@ -8655,11 +8886,11 @@ var NavbarContent = React131__namespace.default.forwardRef(
8655
8886
  )
8656
8887
  );
8657
8888
  NavbarContent.displayName = "NavbarContent";
8658
- var NavbarItem = React131__namespace.default.forwardRef(
8889
+ var NavbarItem = React136__namespace.default.forwardRef(
8659
8890
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex items-center", className), ...props })
8660
8891
  );
8661
8892
  NavbarItem.displayName = "NavbarItem";
8662
- var Page = React131__namespace.default.forwardRef(
8893
+ var Page = React136__namespace.default.forwardRef(
8663
8894
  ({ className, maxWidth, style, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8664
8895
  "div",
8665
8896
  {
@@ -8671,7 +8902,7 @@ var Page = React131__namespace.default.forwardRef(
8671
8902
  )
8672
8903
  );
8673
8904
  Page.displayName = "Page";
8674
- var PageHeader = React131__namespace.default.forwardRef(
8905
+ var PageHeader = React136__namespace.default.forwardRef(
8675
8906
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8676
8907
  "div",
8677
8908
  {
@@ -8682,7 +8913,7 @@ var PageHeader = React131__namespace.default.forwardRef(
8682
8913
  )
8683
8914
  );
8684
8915
  PageHeader.displayName = "PageHeader";
8685
- var PageTitle = React131__namespace.default.forwardRef(
8916
+ var PageTitle = React136__namespace.default.forwardRef(
8686
8917
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8687
8918
  "h1",
8688
8919
  {
@@ -8693,19 +8924,19 @@ var PageTitle = React131__namespace.default.forwardRef(
8693
8924
  )
8694
8925
  );
8695
8926
  PageTitle.displayName = "PageTitle";
8696
- var PageDescription = React131__namespace.default.forwardRef(
8927
+ var PageDescription = React136__namespace.default.forwardRef(
8697
8928
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("p", { ref, className: cn("text-sm text-[hsl(var(--muted-foreground))] mt-1", className), ...props })
8698
8929
  );
8699
8930
  PageDescription.displayName = "PageDescription";
8700
- var PageActions = React131__namespace.default.forwardRef(
8931
+ var PageActions = React136__namespace.default.forwardRef(
8701
8932
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex items-center gap-2 shrink-0", className), ...props })
8702
8933
  );
8703
8934
  PageActions.displayName = "PageActions";
8704
- var PageBody = React131__namespace.default.forwardRef(
8935
+ var PageBody = React136__namespace.default.forwardRef(
8705
8936
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex-1 p-6 flex flex-col gap-6", className), ...props })
8706
8937
  );
8707
8938
  PageBody.displayName = "PageBody";
8708
- var ResizeBox = React131__namespace.default.forwardRef(
8939
+ var ResizeBox = React136__namespace.default.forwardRef(
8709
8940
  ({ className, resize = "both", minWidth = 100, minHeight = 100, style, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8710
8941
  "div",
8711
8942
  {
@@ -8722,7 +8953,7 @@ var HandleIcon = () => /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "10", hei
8722
8953
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 5L5 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }),
8723
8954
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 8L8 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
8724
8955
  ] });
8725
- var ResizeHandle = React131__namespace.default.forwardRef(
8956
+ var ResizeHandle = React136__namespace.default.forwardRef(
8726
8957
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8727
8958
  "div",
8728
8959
  {
@@ -8738,16 +8969,16 @@ var ResizeHandle = React131__namespace.default.forwardRef(
8738
8969
  )
8739
8970
  );
8740
8971
  ResizeHandle.displayName = "ResizeHandle";
8741
- var SidebarCtx2 = React131__namespace.default.createContext({ collapsed: false });
8742
- var useSidebarCtx = () => React131__namespace.default.useContext(SidebarCtx2);
8972
+ var SidebarCtx2 = React136__namespace.default.createContext({ collapsed: false });
8973
+ var useSidebarCtx = () => React136__namespace.default.useContext(SidebarCtx2);
8743
8974
  var makeSlot = (name, cls) => {
8744
- const C = React131__namespace.default.forwardRef(
8975
+ const C = React136__namespace.default.forwardRef(
8745
8976
  ({ className, ...p }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn(cls, className), ...p })
8746
8977
  );
8747
8978
  C.displayName = name;
8748
8979
  return C;
8749
8980
  };
8750
- var Sidebar2 = React131__namespace.default.forwardRef(
8981
+ var Sidebar2 = React136__namespace.default.forwardRef(
8751
8982
  ({ className, collapsed = false, onCollapse, width = "240px", style, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SidebarCtx2.Provider, { value: { collapsed }, children: /* @__PURE__ */ jsxRuntime.jsxs(
8752
8983
  "div",
8753
8984
  {
@@ -8775,7 +9006,7 @@ var SidebarContent = makeSlot("SidebarContent", "flex-1 overflow-y-auto py-2");
8775
9006
  var SidebarFooter2 = makeSlot("SidebarFooter", "px-3 py-3 border-t border-[hsl(var(--border))] shrink-0");
8776
9007
  var SidebarGroup = makeSlot("SidebarGroup", "mb-2");
8777
9008
  var SidebarSeparator2 = makeSlot("SidebarSeparator", "h-px bg-[hsl(var(--border))] mx-3 my-2");
8778
- var SidebarGroupLabel = React131__namespace.default.forwardRef(
9009
+ var SidebarGroupLabel = React136__namespace.default.forwardRef(
8779
9010
  ({ className, ...props }, ref) => {
8780
9011
  const { collapsed } = useSidebarCtx();
8781
9012
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8789,7 +9020,7 @@ var SidebarGroupLabel = React131__namespace.default.forwardRef(
8789
9020
  }
8790
9021
  );
8791
9022
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
8792
- var SidebarItem2 = React131__namespace.default.forwardRef(
9023
+ var SidebarItem2 = React136__namespace.default.forwardRef(
8793
9024
  ({ className, icon, label, active, href, badge, onClick, ...props }, ref) => {
8794
9025
  const { collapsed } = useSidebarCtx();
8795
9026
  const cls = cn(
@@ -8808,11 +9039,11 @@ var SidebarItem2 = React131__namespace.default.forwardRef(
8808
9039
  }
8809
9040
  );
8810
9041
  SidebarItem2.displayName = "SidebarItem";
8811
- var SplitPage = React131__namespace.default.forwardRef(
9042
+ var SplitPage = React136__namespace.default.forwardRef(
8812
9043
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex h-full w-full overflow-hidden", className), ...props })
8813
9044
  );
8814
9045
  SplitPage.displayName = "SplitPage";
8815
- var SplitPageList = React131__namespace.default.forwardRef(
9046
+ var SplitPageList = React136__namespace.default.forwardRef(
8816
9047
  ({ className, width = "320px", style, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8817
9048
  "div",
8818
9049
  {
@@ -8824,7 +9055,7 @@ var SplitPageList = React131__namespace.default.forwardRef(
8824
9055
  )
8825
9056
  );
8826
9057
  SplitPageList.displayName = "SplitPageList";
8827
- var SplitPageDetail = React131__namespace.default.forwardRef(
9058
+ var SplitPageDetail = React136__namespace.default.forwardRef(
8828
9059
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex-1 min-w-0 h-full overflow-auto", className), ...props })
8829
9060
  );
8830
9061
  SplitPageDetail.displayName = "SplitPageDetail";
@@ -8849,7 +9080,7 @@ var justifyMap = {
8849
9080
  around: "justify-around",
8850
9081
  evenly: "justify-evenly"
8851
9082
  };
8852
- var Stack = React131__namespace.default.forwardRef(
9083
+ var Stack = React136__namespace.default.forwardRef(
8853
9084
  ({ className, gap, direction = "col", align, justify, wrap, style, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8854
9085
  "div",
8855
9086
  {
@@ -8868,15 +9099,15 @@ var Stack = React131__namespace.default.forwardRef(
8868
9099
  )
8869
9100
  );
8870
9101
  Stack.displayName = "Stack";
8871
- var HStack = React131__namespace.default.forwardRef(
9102
+ var HStack = React136__namespace.default.forwardRef(
8872
9103
  (props, ref) => /* @__PURE__ */ jsxRuntime.jsx(Stack, { ref, direction: "row", ...props })
8873
9104
  );
8874
9105
  HStack.displayName = "HStack";
8875
- var VStack = React131__namespace.default.forwardRef(
9106
+ var VStack = React136__namespace.default.forwardRef(
8876
9107
  (props, ref) => /* @__PURE__ */ jsxRuntime.jsx(Stack, { ref, direction: "col", ...props })
8877
9108
  );
8878
9109
  VStack.displayName = "VStack";
8879
- var PageLayout = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
9110
+ var PageLayout = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8880
9111
  "div",
8881
9112
  {
8882
9113
  ref,
@@ -8886,7 +9117,7 @@ var PageLayout = React131__namespace.default.forwardRef(({ className, ...props }
8886
9117
  }
8887
9118
  ));
8888
9119
  PageLayout.displayName = "PageLayout";
8889
- var PageHeader2 = React131__namespace.default.forwardRef(
9120
+ var PageHeader2 = React136__namespace.default.forwardRef(
8890
9121
  ({ className, title, description, actions, back, children }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
8891
9122
  "div",
8892
9123
  {
@@ -8908,7 +9139,7 @@ var PageHeader2 = React131__namespace.default.forwardRef(
8908
9139
  )
8909
9140
  );
8910
9141
  PageHeader2.displayName = "PageHeader";
8911
- var PageContainer = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
9142
+ var PageContainer = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8912
9143
  "div",
8913
9144
  {
8914
9145
  ref,
@@ -8922,7 +9153,7 @@ var PageContainer = React131__namespace.default.forwardRef(({ className, ...prop
8922
9153
  }
8923
9154
  ));
8924
9155
  PageContainer.displayName = "PageContainer";
8925
- var PageMain = React131__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
9156
+ var PageMain = React136__namespace.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8926
9157
  "div",
8927
9158
  {
8928
9159
  ref,
@@ -8937,7 +9168,7 @@ var PageMain = React131__namespace.default.forwardRef(({ className, ...props },
8937
9168
  }
8938
9169
  ));
8939
9170
  PageMain.displayName = "PageMain";
8940
- var CommandPaletteCtx = React131.createContext({
9171
+ var CommandPaletteCtx = React136.createContext({
8941
9172
  open: false,
8942
9173
  setOpen: () => {
8943
9174
  },
@@ -8947,9 +9178,9 @@ var CommandPaletteCtx = React131.createContext({
8947
9178
  function CommandPaletteProvider({
8948
9179
  children
8949
9180
  }) {
8950
- const [open, setOpen] = React131.useState(false);
8951
- const toggle = React131.useCallback(() => setOpen((v) => !v), []);
8952
- React131.useEffect(() => {
9181
+ const [open, setOpen] = React136.useState(false);
9182
+ const toggle = React136.useCallback(() => setOpen((v) => !v), []);
9183
+ React136.useEffect(() => {
8953
9184
  const down = (e) => {
8954
9185
  if (e.key === "k" && (e.metaKey || e.ctrlKey) || e.key === "/") {
8955
9186
  if (e.key === "/" && e.target.tagName !== "BODY") return;
@@ -8963,7 +9194,7 @@ function CommandPaletteProvider({
8963
9194
  return /* @__PURE__ */ jsxRuntime.jsx(CommandPaletteCtx.Provider, { value: { open, setOpen, toggle }, children });
8964
9195
  }
8965
9196
  function useCommandPalette() {
8966
- return React131.useContext(CommandPaletteCtx);
9197
+ return React136.useContext(CommandPaletteCtx);
8967
9198
  }
8968
9199
  function CommandPalette({
8969
9200
  open,
@@ -9071,7 +9302,7 @@ function CommandPalette({
9071
9302
  )
9072
9303
  ] });
9073
9304
  }
9074
- var HotkeysCtx = React131.createContext({
9305
+ var HotkeysCtx = React136.createContext({
9075
9306
  hotkeys: [],
9076
9307
  registerHotkeys: () => () => {
9077
9308
  }
@@ -9094,16 +9325,16 @@ function HotkeysProvider({
9094
9325
  children,
9095
9326
  hotkeys: initialHotkeys = []
9096
9327
  }) {
9097
- const [hotkeys, setHotkeys] = React131.useState(initialHotkeys);
9098
- const seqRef = React131.useRef([]);
9099
- const seqTimerRef = React131.useRef(null);
9100
- const registerHotkeys = React131.useCallback((newHotkeys) => {
9328
+ const [hotkeys, setHotkeys] = React136.useState(initialHotkeys);
9329
+ const seqRef = React136.useRef([]);
9330
+ const seqTimerRef = React136.useRef(null);
9331
+ const registerHotkeys = React136.useCallback((newHotkeys) => {
9101
9332
  setHotkeys((prev) => [...prev, ...newHotkeys]);
9102
9333
  return () => {
9103
9334
  setHotkeys((prev) => prev.filter((h) => !newHotkeys.includes(h)));
9104
9335
  };
9105
9336
  }, []);
9106
- React131.useEffect(() => {
9337
+ React136.useEffect(() => {
9107
9338
  const handleKeyDown = (e) => {
9108
9339
  const target = e.target;
9109
9340
  if (target.tagName === "INPUT" || target.tagName === "TEXTAREA" || target.tagName === "SELECT" || target.isContentEditable) {
@@ -9143,14 +9374,14 @@ function HotkeysProvider({
9143
9374
  return /* @__PURE__ */ jsxRuntime.jsx(HotkeysCtx.Provider, { value: { hotkeys, registerHotkeys }, children });
9144
9375
  }
9145
9376
  function useHotkeys() {
9146
- return React131.useContext(HotkeysCtx);
9377
+ return React136.useContext(HotkeysCtx);
9147
9378
  }
9148
9379
  function HelpSheet({
9149
9380
  open,
9150
9381
  onClose
9151
9382
  }) {
9152
9383
  const { hotkeys } = useHotkeys();
9153
- React131.useEffect(() => {
9384
+ React136.useEffect(() => {
9154
9385
  const handleEsc = (e) => {
9155
9386
  if (e.key === "Escape" && open) onClose();
9156
9387
  };
@@ -9304,9 +9535,9 @@ function ToastItem({ toast: t, onDismiss }) {
9304
9535
  );
9305
9536
  }
9306
9537
  function Toaster() {
9307
- const [toasts, setToasts] = React131.useState([]);
9308
- const timers = React131.useRef(/* @__PURE__ */ new Map());
9309
- const dismiss = React131.useCallback((id) => {
9538
+ const [toasts, setToasts] = React136.useState([]);
9539
+ const timers = React136.useRef(/* @__PURE__ */ new Map());
9540
+ const dismiss = React136.useCallback((id) => {
9310
9541
  setToasts(
9311
9542
  (prev) => prev.map((t) => t.id === id ? { ...t, visible: false } : t)
9312
9543
  );
@@ -9319,7 +9550,7 @@ function Toaster() {
9319
9550
  timers.current.delete(id);
9320
9551
  }
9321
9552
  }, []);
9322
- React131.useEffect(() => {
9553
+ React136.useEffect(() => {
9323
9554
  const unsubToast = toastEmitter.onToast((event) => {
9324
9555
  setToasts((prev) => {
9325
9556
  const next = [
@@ -9368,7 +9599,7 @@ var directionClasses = {
9368
9599
  bl: "bg-gradient-to-bl",
9369
9600
  l: "bg-gradient-to-l"
9370
9601
  };
9371
- var GradientHeading = React131__namespace.default.forwardRef(
9602
+ var GradientHeading = React136__namespace.default.forwardRef(
9372
9603
  ({
9373
9604
  as: Tag = "h2",
9374
9605
  preset = "primary",
@@ -9414,7 +9645,7 @@ function formatNumber(value, decimals, format3, locale) {
9414
9645
  }
9415
9646
  return decimals > 0 ? value.toFixed(decimals) : String(Math.round(value));
9416
9647
  }
9417
- var AnimatedNumber = React131__namespace.default.forwardRef(
9648
+ var AnimatedNumber = React136__namespace.default.forwardRef(
9418
9649
  ({
9419
9650
  value,
9420
9651
  from = 0,
@@ -9429,12 +9660,12 @@ var AnimatedNumber = React131__namespace.default.forwardRef(
9429
9660
  className,
9430
9661
  ...props
9431
9662
  }, ref) => {
9432
- const [displayed, setDisplayed] = React131.useState(autoStart ? from : value);
9433
- const rafRef = React131.useRef(null);
9434
- const startTimeRef = React131.useRef(null);
9435
- const containerRef = React131.useRef(null);
9436
- const hasStarted = React131.useRef(false);
9437
- const runAnimation = React131__namespace.default.useCallback(
9663
+ const [displayed, setDisplayed] = React136.useState(autoStart ? from : value);
9664
+ const rafRef = React136.useRef(null);
9665
+ const startTimeRef = React136.useRef(null);
9666
+ const containerRef = React136.useRef(null);
9667
+ const hasStarted = React136.useRef(false);
9668
+ const runAnimation = React136__namespace.default.useCallback(
9438
9669
  (startFrom) => {
9439
9670
  if (rafRef.current !== null) cancelAnimationFrame(rafRef.current);
9440
9671
  startTimeRef.current = null;
@@ -9457,7 +9688,7 @@ var AnimatedNumber = React131__namespace.default.forwardRef(
9457
9688
  },
9458
9689
  [value, duration, easing]
9459
9690
  );
9460
- React131.useEffect(() => {
9691
+ React136.useEffect(() => {
9461
9692
  if (!autoStart) return void 0;
9462
9693
  if (typeof IntersectionObserver !== "undefined") {
9463
9694
  const el = containerRef.current;
@@ -9478,11 +9709,11 @@ var AnimatedNumber = React131__namespace.default.forwardRef(
9478
9709
  return void 0;
9479
9710
  }
9480
9711
  }, []);
9481
- React131.useEffect(() => {
9712
+ React136.useEffect(() => {
9482
9713
  if (!hasStarted.current) return;
9483
9714
  runAnimation(displayed);
9484
9715
  }, [value]);
9485
- React131.useEffect(() => {
9716
+ React136.useEffect(() => {
9486
9717
  return () => {
9487
9718
  if (rafRef.current !== null) cancelAnimationFrame(rafRef.current);
9488
9719
  };
@@ -9522,9 +9753,9 @@ function TextReveal({
9522
9753
  className,
9523
9754
  style
9524
9755
  }) {
9525
- const [revealed, setRevealed] = React131.useState(false);
9526
- const containerRef = React131.useRef(null);
9527
- React131.useEffect(() => {
9756
+ const [revealed, setRevealed] = React136.useState(false);
9757
+ const containerRef = React136.useRef(null);
9758
+ React136.useEffect(() => {
9528
9759
  if (!autoStart) return void 0;
9529
9760
  const el = containerRef.current;
9530
9761
  if (!el) return void 0;
@@ -9546,7 +9777,7 @@ function TextReveal({
9546
9777
  }
9547
9778
  }, [autoStart, delay]);
9548
9779
  const units = mode === "chars" ? text.split("") : mode === "words" ? text.split(" ") : [text];
9549
- return React131__namespace.default.createElement(
9780
+ return React136__namespace.default.createElement(
9550
9781
  Tag,
9551
9782
  {
9552
9783
  ref: containerRef,
@@ -9586,16 +9817,16 @@ function Typewriter({
9586
9817
  className,
9587
9818
  style
9588
9819
  }) {
9589
- const [display, setDisplay] = React131.useState("");
9590
- const [phase, setPhase] = React131.useState("typing");
9591
- const [wordIdx, setWordIdx] = React131.useState(0);
9592
- const [cursorVisible, setCursorVisible] = React131.useState(true);
9593
- const timerRef = React131.useRef(null);
9594
- React131.useEffect(() => {
9820
+ const [display, setDisplay] = React136.useState("");
9821
+ const [phase, setPhase] = React136.useState("typing");
9822
+ const [wordIdx, setWordIdx] = React136.useState(0);
9823
+ const [cursorVisible, setCursorVisible] = React136.useState(true);
9824
+ const timerRef = React136.useRef(null);
9825
+ React136.useEffect(() => {
9595
9826
  const id = setInterval(() => setCursorVisible((v) => !v), 530);
9596
9827
  return () => clearInterval(id);
9597
9828
  }, []);
9598
- React131.useEffect(() => {
9829
+ React136.useEffect(() => {
9599
9830
  if (!words.length) return void 0;
9600
9831
  const word = words[wordIdx] ?? "";
9601
9832
  if (phase === "typing") {
@@ -9626,7 +9857,7 @@ function Typewriter({
9626
9857
  if (timerRef.current) clearTimeout(timerRef.current);
9627
9858
  };
9628
9859
  }, [display, phase, wordIdx, words, typeSpeed, deleteSpeed, pauseAfter, loop]);
9629
- return React131__namespace.default.createElement(
9860
+ return React136__namespace.default.createElement(
9630
9861
  Tag,
9631
9862
  {
9632
9863
  "data-slot": "typewriter",
@@ -9665,9 +9896,9 @@ var headingVariants = classVarianceAuthority.cva("font-heading tracking-tight te
9665
9896
  },
9666
9897
  defaultVariants: { size: "lg", tone: "default" }
9667
9898
  });
9668
- var Heading = React131__namespace.default.forwardRef(
9899
+ var Heading = React136__namespace.default.forwardRef(
9669
9900
  ({ as: Tag = "h2", size, tone, className, ...props }, ref) => {
9670
- return React131__namespace.default.createElement(Tag, {
9901
+ return React136__namespace.default.createElement(Tag, {
9671
9902
  ref,
9672
9903
  "data-slot": "heading",
9673
9904
  className: cn(headingVariants({ size, tone }), className),
@@ -9697,9 +9928,9 @@ var bodyVariants = classVarianceAuthority.cva("font-sans", {
9697
9928
  },
9698
9929
  defaultVariants: { size: "md", tone: "default", weight: "normal" }
9699
9930
  });
9700
- var Body = React131__namespace.default.forwardRef(
9931
+ var Body = React136__namespace.default.forwardRef(
9701
9932
  ({ as: Tag = "p", size, tone, weight, className, ...props }, ref) => {
9702
- return React131__namespace.default.createElement(Tag, {
9933
+ return React136__namespace.default.createElement(Tag, {
9703
9934
  ref,
9704
9935
  "data-slot": "body",
9705
9936
  className: cn(bodyVariants({ size, tone, weight }), className),
@@ -9718,7 +9949,7 @@ var captionVariants = classVarianceAuthority.cva("font-sans text-[11px] font-sem
9718
9949
  },
9719
9950
  defaultVariants: { tone: "default" }
9720
9951
  });
9721
- var Caption = React131__namespace.default.forwardRef(
9952
+ var Caption = React136__namespace.default.forwardRef(
9722
9953
  ({ tone, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
9723
9954
  "span",
9724
9955
  {
@@ -9730,7 +9961,7 @@ var Caption = React131__namespace.default.forwardRef(
9730
9961
  )
9731
9962
  );
9732
9963
  Caption.displayName = "Caption";
9733
- var Code3 = React131__namespace.default.forwardRef(
9964
+ var Code3 = React136__namespace.default.forwardRef(
9734
9965
  ({ block, className, children, ...props }, ref) => {
9735
9966
  if (block) {
9736
9967
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -9782,7 +10013,7 @@ var presetStyles = {
9782
10013
  },
9783
10014
  custom: {}
9784
10015
  };
9785
- var GradientBackground = React131__namespace.default.forwardRef(
10016
+ var GradientBackground = React136__namespace.default.forwardRef(
9786
10017
  ({
9787
10018
  fixed = false,
9788
10019
  preset = "slate",
@@ -9841,7 +10072,7 @@ var DEFAULT_COLORS4 = [
9841
10072
  "hsl(280 100% 70% / 0.25)",
9842
10073
  "hsl(217 33% 17% / 0.4)"
9843
10074
  ];
9844
- var AnimatedGradient = React131__namespace.default.forwardRef(
10075
+ var AnimatedGradient = React136__namespace.default.forwardRef(
9845
10076
  ({
9846
10077
  colors = DEFAULT_COLORS4,
9847
10078
  speed = 1,
@@ -9852,7 +10083,7 @@ var AnimatedGradient = React131__namespace.default.forwardRef(
9852
10083
  style,
9853
10084
  ...props
9854
10085
  }, ref) => {
9855
- const idRef = React131.useRef(`ag-${Math.random().toString(36).slice(2, 7)}`);
10086
+ const idRef = React136.useRef(`ag-${Math.random().toString(36).slice(2, 7)}`);
9856
10087
  idRef.current;
9857
10088
  const [c0 = DEFAULT_COLORS4[0], c1 = DEFAULT_COLORS4[1], c2 = DEFAULT_COLORS4[2]] = colors;
9858
10089
  const duration0 = (12 / speed).toFixed(1);
@@ -9960,7 +10191,7 @@ var AnimatedGradient = React131__namespace.default.forwardRef(
9960
10191
  }
9961
10192
  );
9962
10193
  AnimatedGradient.displayName = "AnimatedGradient";
9963
- var DottedBackground = React131__namespace.default.forwardRef(
10194
+ var DottedBackground = React136__namespace.default.forwardRef(
9964
10195
  ({
9965
10196
  color,
9966
10197
  dotSize = 1,
@@ -10007,7 +10238,7 @@ var DottedBackground = React131__namespace.default.forwardRef(
10007
10238
  }
10008
10239
  );
10009
10240
  DottedBackground.displayName = "DottedBackground";
10010
- var NoiseBackground = React131__namespace.default.forwardRef(
10241
+ var NoiseBackground = React136__namespace.default.forwardRef(
10011
10242
  ({
10012
10243
  opacity = 0.04,
10013
10244
  frequency = 0.65,
@@ -10103,7 +10334,7 @@ var DEFAULT_COLORS5 = [
10103
10334
  [0.55, 0.3, 0.95]
10104
10335
  // chart-3 violet
10105
10336
  ];
10106
- var HeroShaderA = React131__namespace.default.forwardRef(
10337
+ var HeroShaderA = React136__namespace.default.forwardRef(
10107
10338
  ({
10108
10339
  className,
10109
10340
  colors = DEFAULT_COLORS5,
@@ -10114,11 +10345,11 @@ var HeroShaderA = React131__namespace.default.forwardRef(
10114
10345
  style,
10115
10346
  ...props
10116
10347
  }, ref) => {
10117
- const wrapRef = React131.useRef(null);
10118
- const canvasRef = React131.useRef(null);
10119
- const fallbackRef = React131.useRef(false);
10120
- React131__namespace.default.useImperativeHandle(ref, () => wrapRef.current);
10121
- React131.useEffect(() => {
10348
+ const wrapRef = React136.useRef(null);
10349
+ const canvasRef = React136.useRef(null);
10350
+ const fallbackRef = React136.useRef(false);
10351
+ React136__namespace.default.useImperativeHandle(ref, () => wrapRef.current);
10352
+ React136.useEffect(() => {
10122
10353
  if (typeof window === "undefined") return;
10123
10354
  const reduceMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
10124
10355
  const canvas = canvasRef.current;
@@ -10254,7 +10485,7 @@ var HeroShaderA = React131__namespace.default.forwardRef(
10254
10485
  }
10255
10486
  );
10256
10487
  HeroShaderA.displayName = "HeroShaderA";
10257
- var ScrollHeader = React131__namespace.default.forwardRef(
10488
+ var ScrollHeader = React136__namespace.default.forwardRef(
10258
10489
  ({
10259
10490
  title,
10260
10491
  subtitle,
@@ -10266,8 +10497,8 @@ var ScrollHeader = React131__namespace.default.forwardRef(
10266
10497
  sticky = true,
10267
10498
  className
10268
10499
  }, ref) => {
10269
- const [scrolled, setScrolled] = React131.useState(false);
10270
- React131.useEffect(() => {
10500
+ const [scrolled, setScrolled] = React136.useState(false);
10501
+ React136.useEffect(() => {
10271
10502
  const container = scrollRef?.current ?? window;
10272
10503
  const handleScroll = () => {
10273
10504
  const scrollY = container === window ? window.scrollY : container.scrollTop;
@@ -10341,7 +10572,7 @@ var DEFAULT_TRANSITION = {
10341
10572
  ease: [0.16, 1, 0.3, 1]
10342
10573
  // ease-out-expo (BezierDefinition)
10343
10574
  };
10344
- var FadeIn = React131__namespace.default.forwardRef(
10575
+ var FadeIn = React136__namespace.default.forwardRef(
10345
10576
  ({ delay = 0, duration, children, ...props }, ref) => {
10346
10577
  const transition = {
10347
10578
  ...DEFAULT_TRANSITION,
@@ -10369,7 +10600,7 @@ var DIRECTION_PRESET_MAP = {
10369
10600
  left: "slideLeft",
10370
10601
  right: "slideRight"
10371
10602
  };
10372
- var SlideIn = React131__namespace.default.forwardRef(
10603
+ var SlideIn = React136__namespace.default.forwardRef(
10373
10604
  ({ direction = "up", delay = 0, duration, children, ...props }, ref) => {
10374
10605
  const preset = MOTION_PRESETS[DIRECTION_PRESET_MAP[direction]];
10375
10606
  const transition = {
@@ -10392,7 +10623,7 @@ var SlideIn = React131__namespace.default.forwardRef(
10392
10623
  }
10393
10624
  );
10394
10625
  SlideIn.displayName = "SlideIn";
10395
- var ScaleIn = React131__namespace.default.forwardRef(
10626
+ var ScaleIn = React136__namespace.default.forwardRef(
10396
10627
  ({ delay = 0, duration, children, ...props }, ref) => {
10397
10628
  const transition = {
10398
10629
  ...DEFAULT_TRANSITION,
@@ -10415,7 +10646,7 @@ var ScaleIn = React131__namespace.default.forwardRef(
10415
10646
  );
10416
10647
  ScaleIn.displayName = "ScaleIn";
10417
10648
  function Reveal({ preset = "fadeIn", delay = 0, once = true, children, className }) {
10418
- const ref = React131.useRef(null);
10649
+ const ref = React136.useRef(null);
10419
10650
  const isInView = react.useInView(ref, { once });
10420
10651
  const variants = MOTION_PRESETS[preset];
10421
10652
  const transition = { ...DEFAULT_TRANSITION, delay };
@@ -10433,7 +10664,7 @@ function Reveal({ preset = "fadeIn", delay = 0, once = true, children, className
10433
10664
  );
10434
10665
  }
10435
10666
  function Stagger({ staggerDelay = 0.05, preset = "fadeIn", children, className, once = true }) {
10436
- const ref = React131.useRef(null);
10667
+ const ref = React136.useRef(null);
10437
10668
  const isInView = react.useInView(ref, { once });
10438
10669
  const childVariants = MOTION_PRESETS[preset];
10439
10670
  const containerVariants = {
@@ -10456,19 +10687,19 @@ function Stagger({ staggerDelay = 0.05, preset = "fadeIn", children, className,
10456
10687
  initial: "hidden",
10457
10688
  animate: isInView ? "visible" : "hidden",
10458
10689
  className,
10459
- children: React131__namespace.default.Children.map(children, (child, i) => /* @__PURE__ */ jsxRuntime.jsx(react.motion.div, { variants: itemVariants, children: child }, i))
10690
+ children: React136__namespace.default.Children.map(children, (child, i) => /* @__PURE__ */ jsxRuntime.jsx(react.motion.div, { variants: itemVariants, children: child }, i))
10460
10691
  }
10461
10692
  );
10462
10693
  }
10463
- var Morph = React131__namespace.default.forwardRef(
10694
+ var Morph = React136__namespace.default.forwardRef(
10464
10695
  ({ layoutId, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(react.motion.div, { ref, layoutId, layout: true, ...props, children })
10465
10696
  );
10466
10697
  Morph.displayName = "Morph";
10467
10698
  var rippleCounter = 0;
10468
- var Ripple = React131__namespace.default.forwardRef(
10699
+ var Ripple = React136__namespace.default.forwardRef(
10469
10700
  ({ color = "currentColor", duration = 0.6, children, style, ...props }, ref) => {
10470
- const [ripples, setRipples] = React131.useState([]);
10471
- const handlePointerDown = React131.useCallback(
10701
+ const [ripples, setRipples] = React136.useState([]);
10702
+ const handlePointerDown = React136.useCallback(
10472
10703
  (e) => {
10473
10704
  const rect = e.currentTarget.getBoundingClientRect();
10474
10705
  const x = e.clientX - rect.left;
@@ -10479,7 +10710,7 @@ var Ripple = React131__namespace.default.forwardRef(
10479
10710
  },
10480
10711
  []
10481
10712
  );
10482
- const removeRipple = React131.useCallback((key) => {
10713
+ const removeRipple = React136.useCallback((key) => {
10483
10714
  setRipples((prev) => prev.filter((r) => r.key !== key));
10484
10715
  }, []);
10485
10716
  const rippleTransition = {
@@ -10521,9 +10752,9 @@ var Ripple = React131__namespace.default.forwardRef(
10521
10752
  }
10522
10753
  );
10523
10754
  Ripple.displayName = "Ripple";
10524
- var Parallax = React131__namespace.default.forwardRef(
10755
+ var Parallax = React136__namespace.default.forwardRef(
10525
10756
  ({ offset = 50, scrollRef, children, style, ...props }, ref) => {
10526
- const innerRef = React131.useRef(null);
10757
+ const innerRef = React136.useRef(null);
10527
10758
  const resolvedRef = ref ?? innerRef;
10528
10759
  const { scrollYProgress } = react.useScroll({
10529
10760
  target: resolvedRef,
@@ -10544,13 +10775,13 @@ var Parallax = React131__namespace.default.forwardRef(
10544
10775
  );
10545
10776
  Parallax.displayName = "Parallax";
10546
10777
  function useLayoutId(key) {
10547
- const id = React131.useId();
10778
+ const id = React136.useId();
10548
10779
  return `${key}-${id}`;
10549
10780
  }
10550
10781
  function Transition({ show = true, children, mode = "wait" }) {
10551
10782
  return /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { mode, children: show ? children : null });
10552
10783
  }
10553
- var DataList = React131__namespace.default.forwardRef(
10784
+ var DataList = React136__namespace.default.forwardRef(
10554
10785
  ({ divided = true, bordered = true, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
10555
10786
  "ul",
10556
10787
  {
@@ -10567,7 +10798,7 @@ var DataList = React131__namespace.default.forwardRef(
10567
10798
  )
10568
10799
  );
10569
10800
  DataList.displayName = "DataList";
10570
- var DataListItem = React131__namespace.default.forwardRef(
10801
+ var DataListItem = React136__namespace.default.forwardRef(
10571
10802
  ({ left, title, description, right, interactive, onSelect, className, children, ...props }, ref) => {
10572
10803
  const clickable = interactive || !!onSelect;
10573
10804
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -10627,7 +10858,7 @@ function getWeekDays(date, weekStartsOn) {
10627
10858
  const start = dateFns.startOfWeek(date, { weekStartsOn });
10628
10859
  return Array.from({ length: 7 }, (_, i) => dateFns.addDays(start, i));
10629
10860
  }
10630
- var EventCalendar = React131__namespace.default.forwardRef(
10861
+ var EventCalendar = React136__namespace.default.forwardRef(
10631
10862
  ({
10632
10863
  events,
10633
10864
  view: viewProp,
@@ -10642,20 +10873,20 @@ var EventCalendar = React131__namespace.default.forwardRef(
10642
10873
  className,
10643
10874
  ...props
10644
10875
  }, ref) => {
10645
- const [internalView, setInternalView] = React131__namespace.default.useState("month");
10876
+ const [internalView, setInternalView] = React136__namespace.default.useState("month");
10646
10877
  const view = viewProp ?? internalView;
10647
- const commitView = React131__namespace.default.useCallback(
10878
+ const commitView = React136__namespace.default.useCallback(
10648
10879
  (next) => {
10649
10880
  if (viewProp === void 0) setInternalView(next);
10650
10881
  onViewChange?.(next);
10651
10882
  },
10652
10883
  [viewProp, onViewChange]
10653
10884
  );
10654
- const [internalDate, setInternalDate] = React131__namespace.default.useState(
10885
+ const [internalDate, setInternalDate] = React136__namespace.default.useState(
10655
10886
  () => defaultDate ?? /* @__PURE__ */ new Date()
10656
10887
  );
10657
10888
  const date = dateProp ?? internalDate;
10658
- const commitDate = React131__namespace.default.useCallback(
10889
+ const commitDate = React136__namespace.default.useCallback(
10659
10890
  (next) => {
10660
10891
  if (dateProp === void 0) setInternalDate(next);
10661
10892
  onDateChange?.(next);
@@ -10681,7 +10912,7 @@ var EventCalendar = React131__namespace.default.forwardRef(
10681
10912
  handleToday();
10682
10913
  }
10683
10914
  };
10684
- const headerLabel = React131__namespace.default.useMemo(() => {
10915
+ const headerLabel = React136__namespace.default.useMemo(() => {
10685
10916
  if (view === "month") return dateFns.format(date, "MMMM yyyy");
10686
10917
  if (view === "week") {
10687
10918
  const start = dateFns.startOfWeek(date, { weekStartsOn });
@@ -10830,11 +11061,11 @@ function MonthView({
10830
11061
  onEventCreate,
10831
11062
  onDayPick
10832
11063
  }) {
10833
- const cells = React131__namespace.default.useMemo(
11064
+ const cells = React136__namespace.default.useMemo(
10834
11065
  () => getMonthMatrix(date, weekStartsOn),
10835
11066
  [date, weekStartsOn]
10836
11067
  );
10837
- const weekdayLabels = React131__namespace.default.useMemo(() => {
11068
+ const weekdayLabels = React136__namespace.default.useMemo(() => {
10838
11069
  const start = dateFns.startOfWeek(/* @__PURE__ */ new Date(), { weekStartsOn });
10839
11070
  return Array.from({ length: 7 }, (_, i) => dateFns.format(dateFns.addDays(start, i), "EEE"));
10840
11071
  }, [weekStartsOn]);
@@ -10981,7 +11212,7 @@ function HourGrid({
10981
11212
  onEventCreate,
10982
11213
  onEventResize
10983
11214
  }) {
10984
- const hours = React131__namespace.default.useMemo(() => Array.from({ length: 24 }, (_, i) => i), []);
11215
+ const hours = React136__namespace.default.useMemo(() => Array.from({ length: 24 }, (_, i) => i), []);
10985
11216
  const today = /* @__PURE__ */ new Date();
10986
11217
  return /* @__PURE__ */ jsxRuntime.jsxs(
10987
11218
  "div",
@@ -11035,7 +11266,7 @@ function DayColumn({
11035
11266
  onEventResize,
11036
11267
  showHeader
11037
11268
  }) {
11038
- const bodyRef = React131__namespace.default.useRef(null);
11269
+ const bodyRef = React136__namespace.default.useRef(null);
11039
11270
  const handleEmptyClick = (e) => {
11040
11271
  if (e.target.closest("[data-event-block]")) return;
11041
11272
  if (!onEventCreate) return;
@@ -11116,10 +11347,10 @@ function EventBlock({ event, day, onClick, onResize }) {
11116
11347
  dateFns.differenceInMinutes(visibleEnd, visibleStart)
11117
11348
  );
11118
11349
  const top = startMinutes / 60 * HOUR_ROW_PX;
11119
- const [resizingDelta, setResizingDelta] = React131__namespace.default.useState(0);
11350
+ const [resizingDelta, setResizingDelta] = React136__namespace.default.useState(0);
11120
11351
  const height = durationMinutes / 60 * HOUR_ROW_PX + resizingDelta;
11121
- const isResizing = React131__namespace.default.useRef(false);
11122
- const startY = React131__namespace.default.useRef(0);
11352
+ const isResizing = React136__namespace.default.useRef(false);
11353
+ const startY = React136__namespace.default.useRef(0);
11123
11354
  const handleResizePointerDown = (e) => {
11124
11355
  if (!onResize) return;
11125
11356
  e.preventDefault();
@@ -11208,7 +11439,7 @@ function WeekView({
11208
11439
  onEventCreate,
11209
11440
  onEventResize
11210
11441
  }) {
11211
- const days = React131__namespace.default.useMemo(
11442
+ const days = React136__namespace.default.useMemo(
11212
11443
  () => getWeekDays(date, weekStartsOn),
11213
11444
  [date, weekStartsOn]
11214
11445
  );
@@ -11241,7 +11472,7 @@ function DayView({
11241
11472
  }
11242
11473
  ) });
11243
11474
  }
11244
- var GridList = React131__namespace.default.forwardRef(
11475
+ var GridList = React136__namespace.default.forwardRef(
11245
11476
  ({ minItemWidth = 240, gap = 1, className, style, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
11246
11477
  "ul",
11247
11478
  {
@@ -11258,7 +11489,7 @@ var GridList = React131__namespace.default.forwardRef(
11258
11489
  )
11259
11490
  );
11260
11491
  GridList.displayName = "GridList";
11261
- var GridListItem = React131__namespace.default.forwardRef(
11492
+ var GridListItem = React136__namespace.default.forwardRef(
11262
11493
  ({ interactive, onSelect, className, ...props }, ref) => {
11263
11494
  const clickable = interactive || !!onSelect;
11264
11495
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -11329,7 +11560,7 @@ async function extractCroppedDataUrl(image, crop, format3, quality) {
11329
11560
  const mime = format3 === "jpeg" ? "image/jpeg" : format3 === "webp" ? "image/webp" : "image/png";
11330
11561
  return canvas.toDataURL(mime, quality);
11331
11562
  }
11332
- var ImageCrop = React131__namespace.default.forwardRef(
11563
+ var ImageCrop = React136__namespace.default.forwardRef(
11333
11564
  ({
11334
11565
  src,
11335
11566
  aspect,
@@ -11344,13 +11575,13 @@ var ImageCrop = React131__namespace.default.forwardRef(
11344
11575
  className,
11345
11576
  ...props
11346
11577
  }, ref) => {
11347
- const [crop, setCrop] = React131__namespace.default.useState(void 0);
11348
- const imgRef = React131__namespace.default.useRef(null);
11349
- const timerRef = React131__namespace.default.useRef(null);
11350
- React131__namespace.default.useEffect(() => {
11578
+ const [crop, setCrop] = React136__namespace.default.useState(void 0);
11579
+ const imgRef = React136__namespace.default.useRef(null);
11580
+ const timerRef = React136__namespace.default.useRef(null);
11581
+ React136__namespace.default.useEffect(() => {
11351
11582
  setCrop(void 0);
11352
11583
  }, [src]);
11353
- React131__namespace.default.useEffect(() => {
11584
+ React136__namespace.default.useEffect(() => {
11354
11585
  return () => {
11355
11586
  if (timerRef.current) clearTimeout(timerRef.current);
11356
11587
  };
@@ -11575,7 +11806,7 @@ function TreeRow({
11575
11806
  }
11576
11807
  );
11577
11808
  }
11578
- var Tree = React131__namespace.default.forwardRef(
11809
+ var Tree = React136__namespace.default.forwardRef(
11579
11810
  ({
11580
11811
  data,
11581
11812
  defaultExpandedIds,
@@ -11591,21 +11822,21 @@ var Tree = React131__namespace.default.forwardRef(
11591
11822
  ...props
11592
11823
  }, ref) => {
11593
11824
  const isControlled = expandedIds !== void 0;
11594
- const [internalExpanded, setInternalExpanded] = React131__namespace.default.useState(
11825
+ const [internalExpanded, setInternalExpanded] = React136__namespace.default.useState(
11595
11826
  () => new Set(defaultExpandedIds ?? [])
11596
11827
  );
11597
- const expandedSet = React131__namespace.default.useMemo(
11828
+ const expandedSet = React136__namespace.default.useMemo(
11598
11829
  () => isControlled ? new Set(expandedIds) : internalExpanded,
11599
11830
  [isControlled, expandedIds, internalExpanded]
11600
11831
  );
11601
- const commitExpanded = React131__namespace.default.useCallback(
11832
+ const commitExpanded = React136__namespace.default.useCallback(
11602
11833
  (next) => {
11603
11834
  if (!isControlled) setInternalExpanded(next);
11604
11835
  onExpandedChange?.(Array.from(next));
11605
11836
  },
11606
11837
  [isControlled, onExpandedChange]
11607
11838
  );
11608
- const toggle = React131__namespace.default.useCallback(
11839
+ const toggle = React136__namespace.default.useCallback(
11609
11840
  (id) => {
11610
11841
  const next = new Set(expandedSet);
11611
11842
  if (next.has(id)) next.delete(id);
@@ -11614,7 +11845,7 @@ var Tree = React131__namespace.default.forwardRef(
11614
11845
  },
11615
11846
  [expandedSet, commitExpanded]
11616
11847
  );
11617
- const expand = React131__namespace.default.useCallback(
11848
+ const expand = React136__namespace.default.useCallback(
11618
11849
  (id) => {
11619
11850
  if (expandedSet.has(id)) return;
11620
11851
  const next = new Set(expandedSet);
@@ -11623,7 +11854,7 @@ var Tree = React131__namespace.default.forwardRef(
11623
11854
  },
11624
11855
  [expandedSet, commitExpanded]
11625
11856
  );
11626
- const collapse = React131__namespace.default.useCallback(
11857
+ const collapse = React136__namespace.default.useCallback(
11627
11858
  (id) => {
11628
11859
  if (!expandedSet.has(id)) return;
11629
11860
  const next = new Set(expandedSet);
@@ -11632,27 +11863,27 @@ var Tree = React131__namespace.default.forwardRef(
11632
11863
  },
11633
11864
  [expandedSet, commitExpanded]
11634
11865
  );
11635
- const rows = React131__namespace.default.useMemo(
11866
+ const rows = React136__namespace.default.useMemo(
11636
11867
  () => flatten(data, expandedSet),
11637
11868
  [data, expandedSet]
11638
11869
  );
11639
- const [focusedId, setFocusedId] = React131__namespace.default.useState(
11870
+ const [focusedId, setFocusedId] = React136__namespace.default.useState(
11640
11871
  () => selectedId ?? data[0]?.id ?? null
11641
11872
  );
11642
- const rowRefs = React131__namespace.default.useRef(/* @__PURE__ */ new Map());
11643
- const registerRef = React131__namespace.default.useCallback(
11873
+ const rowRefs = React136__namespace.default.useRef(/* @__PURE__ */ new Map());
11874
+ const registerRef = React136__namespace.default.useCallback(
11644
11875
  (id, el) => {
11645
11876
  if (el) rowRefs.current.set(id, el);
11646
11877
  else rowRefs.current.delete(id);
11647
11878
  },
11648
11879
  []
11649
11880
  );
11650
- const moveFocus = React131__namespace.default.useCallback((id) => {
11881
+ const moveFocus = React136__namespace.default.useCallback((id) => {
11651
11882
  setFocusedId(id);
11652
11883
  const el = rowRefs.current.get(id);
11653
11884
  el?.focus();
11654
11885
  }, []);
11655
- const onRowKeyDown = React131__namespace.default.useCallback(
11886
+ const onRowKeyDown = React136__namespace.default.useCallback(
11656
11887
  (e, row) => {
11657
11888
  const idx = rows.findIndex((r) => r.node.id === row.node.id);
11658
11889
  if (idx === -1) return;
@@ -11702,11 +11933,11 @@ var Tree = React131__namespace.default.forwardRef(
11702
11933
  core.useSensor(core.PointerSensor, { activationConstraint: { distance: 5 } }),
11703
11934
  core.useSensor(core.KeyboardSensor)
11704
11935
  );
11705
- const [activeDragId, setActiveDragId] = React131__namespace.default.useState(null);
11706
- const handleDragStart = React131__namespace.default.useCallback((e) => {
11936
+ const [activeDragId, setActiveDragId] = React136__namespace.default.useState(null);
11937
+ const handleDragStart = React136__namespace.default.useCallback((e) => {
11707
11938
  setActiveDragId(String(e.active.id));
11708
11939
  }, []);
11709
- const handleDragEnd = React131__namespace.default.useCallback(
11940
+ const handleDragEnd = React136__namespace.default.useCallback(
11710
11941
  (e) => {
11711
11942
  setActiveDragId(null);
11712
11943
  const { active, over } = e;
@@ -11722,8 +11953,8 @@ var Tree = React131__namespace.default.forwardRef(
11722
11953
  },
11723
11954
  [onMove]
11724
11955
  );
11725
- const handleDragCancel = React131__namespace.default.useCallback(() => setActiveDragId(null), []);
11726
- const scrollerRef = React131__namespace.default.useRef(null);
11956
+ const handleDragCancel = React136__namespace.default.useCallback(() => setActiveDragId(null), []);
11957
+ const scrollerRef = React136__namespace.default.useRef(null);
11727
11958
  const virtualizer = reactVirtual.useVirtualizer({
11728
11959
  count: virtualize ? rows.length : 0,
11729
11960
  getScrollElement: () => scrollerRef.current,
@@ -11825,7 +12056,7 @@ async function exitFs() {
11825
12056
  if (d.exitFullscreen) return void d.exitFullscreen();
11826
12057
  if (d.webkitExitFullscreen) return void d.webkitExitFullscreen();
11827
12058
  }
11828
- var VideoPlayer = React131__namespace.default.forwardRef(
12059
+ var VideoPlayer = React136__namespace.default.forwardRef(
11829
12060
  ({
11830
12061
  src,
11831
12062
  poster,
@@ -11842,33 +12073,33 @@ var VideoPlayer = React131__namespace.default.forwardRef(
11842
12073
  muted: mutedProp,
11843
12074
  ...videoProps
11844
12075
  }, ref) => {
11845
- const containerRef = React131__namespace.default.useRef(null);
11846
- const videoRef = React131__namespace.default.useRef(null);
11847
- const hideTimerRef = React131__namespace.default.useRef(null);
11848
- const [isPlaying, setIsPlaying] = React131__namespace.default.useState(false);
11849
- const [hasPlayed, setHasPlayed] = React131__namespace.default.useState(Boolean(autoPlay));
11850
- const [currentTime, setCurrentTime] = React131__namespace.default.useState(0);
11851
- const [duration, setDuration] = React131__namespace.default.useState(0);
11852
- const [buffered, setBuffered] = React131__namespace.default.useState(0);
11853
- const [volume, setVolume] = React131__namespace.default.useState(1);
11854
- const [isMuted, setIsMuted] = React131__namespace.default.useState(Boolean(mutedProp ?? autoPlay));
11855
- const [isFullscreen, setIsFullscreen] = React131__namespace.default.useState(false);
11856
- const [showControls, setShowControls] = React131__namespace.default.useState(true);
11857
- React131__namespace.default.useImperativeHandle(ref, () => containerRef.current);
11858
- React131__namespace.default.useEffect(() => {
12076
+ const containerRef = React136__namespace.default.useRef(null);
12077
+ const videoRef = React136__namespace.default.useRef(null);
12078
+ const hideTimerRef = React136__namespace.default.useRef(null);
12079
+ const [isPlaying, setIsPlaying] = React136__namespace.default.useState(false);
12080
+ const [hasPlayed, setHasPlayed] = React136__namespace.default.useState(Boolean(autoPlay));
12081
+ const [currentTime, setCurrentTime] = React136__namespace.default.useState(0);
12082
+ const [duration, setDuration] = React136__namespace.default.useState(0);
12083
+ const [buffered, setBuffered] = React136__namespace.default.useState(0);
12084
+ const [volume, setVolume] = React136__namespace.default.useState(1);
12085
+ const [isMuted, setIsMuted] = React136__namespace.default.useState(Boolean(mutedProp ?? autoPlay));
12086
+ const [isFullscreen, setIsFullscreen] = React136__namespace.default.useState(false);
12087
+ const [showControls, setShowControls] = React136__namespace.default.useState(true);
12088
+ React136__namespace.default.useImperativeHandle(ref, () => containerRef.current);
12089
+ React136__namespace.default.useEffect(() => {
11859
12090
  const v = videoRef.current;
11860
12091
  if (!v) return;
11861
12092
  v.volume = volume;
11862
12093
  v.muted = isMuted;
11863
12094
  }, [volume, isMuted]);
11864
- const showAndScheduleHide = React131__namespace.default.useCallback(() => {
12095
+ const showAndScheduleHide = React136__namespace.default.useCallback(() => {
11865
12096
  setShowControls(true);
11866
12097
  if (hideTimerRef.current) clearTimeout(hideTimerRef.current);
11867
12098
  if (isPlaying) {
11868
12099
  hideTimerRef.current = setTimeout(() => setShowControls(false), 3e3);
11869
12100
  }
11870
12101
  }, [isPlaying]);
11871
- React131__namespace.default.useEffect(() => {
12102
+ React136__namespace.default.useEffect(() => {
11872
12103
  if (!isPlaying) {
11873
12104
  if (hideTimerRef.current) clearTimeout(hideTimerRef.current);
11874
12105
  setShowControls(true);
@@ -11879,7 +12110,7 @@ var VideoPlayer = React131__namespace.default.forwardRef(
11879
12110
  if (hideTimerRef.current) clearTimeout(hideTimerRef.current);
11880
12111
  };
11881
12112
  }, [isPlaying]);
11882
- React131__namespace.default.useEffect(() => {
12113
+ React136__namespace.default.useEffect(() => {
11883
12114
  const onFsChange = () => setIsFullscreen(isFullscreenActive());
11884
12115
  document.addEventListener("fullscreenchange", onFsChange);
11885
12116
  document.addEventListener("webkitfullscreenchange", onFsChange);
@@ -11888,7 +12119,7 @@ var VideoPlayer = React131__namespace.default.forwardRef(
11888
12119
  document.removeEventListener("webkitfullscreenchange", onFsChange);
11889
12120
  };
11890
12121
  }, []);
11891
- const togglePlay = React131__namespace.default.useCallback(() => {
12122
+ const togglePlay = React136__namespace.default.useCallback(() => {
11892
12123
  const v = videoRef.current;
11893
12124
  if (!v) return;
11894
12125
  if (v.paused) {
@@ -11897,22 +12128,22 @@ var VideoPlayer = React131__namespace.default.forwardRef(
11897
12128
  v.pause();
11898
12129
  }
11899
12130
  }, []);
11900
- const toggleMute = React131__namespace.default.useCallback(() => {
12131
+ const toggleMute = React136__namespace.default.useCallback(() => {
11901
12132
  setIsMuted((m) => !m);
11902
12133
  }, []);
11903
- const toggleFullscreen = React131__namespace.default.useCallback(() => {
12134
+ const toggleFullscreen = React136__namespace.default.useCallback(() => {
11904
12135
  const el = containerRef.current;
11905
12136
  if (!el) return;
11906
12137
  if (isFullscreenActive()) void exitFs();
11907
12138
  else void requestFs(el);
11908
12139
  }, []);
11909
- const seekTo = React131__namespace.default.useCallback((time) => {
12140
+ const seekTo = React136__namespace.default.useCallback((time) => {
11910
12141
  const v = videoRef.current;
11911
12142
  if (!v) return;
11912
12143
  const clamped = Math.max(0, Math.min(v.duration || 0, time));
11913
12144
  v.currentTime = clamped;
11914
12145
  }, []);
11915
- const seekBy = React131__namespace.default.useCallback(
12146
+ const seekBy = React136__namespace.default.useCallback(
11916
12147
  (delta) => {
11917
12148
  seekTo((videoRef.current?.currentTime ?? 0) + delta);
11918
12149
  },
@@ -12260,7 +12491,7 @@ function Combobox({
12260
12491
  className,
12261
12492
  contentWidth = "trigger"
12262
12493
  }) {
12263
- const [open, setOpen] = React131__namespace.default.useState(false);
12494
+ const [open, setOpen] = React136__namespace.default.useState(false);
12264
12495
  const selected = options.find((o) => o.value === value);
12265
12496
  return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
12266
12497
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
@@ -12354,9 +12585,9 @@ function ColorSchemeSelect({
12354
12585
  className
12355
12586
  }) {
12356
12587
  const fallback = defaultValue ?? options[0]?.value ?? "";
12357
- const [value, setValue] = React131__namespace.default.useState(() => readInitial2(fallback));
12358
- const didMount = React131__namespace.default.useRef(false);
12359
- React131__namespace.default.useEffect(() => {
12588
+ const [value, setValue] = React136__namespace.default.useState(() => readInitial2(fallback));
12589
+ const didMount = React136__namespace.default.useRef(false);
12590
+ React136__namespace.default.useEffect(() => {
12360
12591
  if (!didMount.current) {
12361
12592
  didMount.current = true;
12362
12593
  return;
@@ -12401,10 +12632,10 @@ function SidebarResizer({
12401
12632
  onWidthChange,
12402
12633
  className
12403
12634
  }) {
12404
- const [isDragging, setIsDragging] = React131.useState(false);
12405
- const startX = React131.useRef(0);
12406
- const startWidth = React131.useRef(defaultWidth);
12407
- React131.useEffect(() => {
12635
+ const [isDragging, setIsDragging] = React136.useState(false);
12636
+ const startX = React136.useRef(0);
12637
+ const startWidth = React136.useRef(defaultWidth);
12638
+ React136.useEffect(() => {
12408
12639
  if (typeof window === "undefined") return;
12409
12640
  try {
12410
12641
  const stored = localStorage.getItem(storageKey);
@@ -12416,7 +12647,7 @@ function SidebarResizer({
12416
12647
  } catch {
12417
12648
  }
12418
12649
  }, [storageKey, min, max, onWidthChange]);
12419
- const handlePointerDown = React131.useCallback(
12650
+ const handlePointerDown = React136.useCallback(
12420
12651
  (e) => {
12421
12652
  e.preventDefault();
12422
12653
  e.currentTarget.setPointerCapture(e.pointerId);
@@ -12429,7 +12660,7 @@ function SidebarResizer({
12429
12660
  },
12430
12661
  []
12431
12662
  );
12432
- const handlePointerMove = React131.useCallback(
12663
+ const handlePointerMove = React136.useCallback(
12433
12664
  (e) => {
12434
12665
  if (!isDragging) return;
12435
12666
  const delta = e.clientX - startX.current;
@@ -12442,7 +12673,7 @@ function SidebarResizer({
12442
12673
  },
12443
12674
  [isDragging, min, max, onWidthChange]
12444
12675
  );
12445
- const handlePointerUp = React131.useCallback(
12676
+ const handlePointerUp = React136.useCallback(
12446
12677
  (e) => {
12447
12678
  if (!isDragging) return;
12448
12679
  setIsDragging(false);
@@ -12480,10 +12711,10 @@ function getInitials(name) {
12480
12711
  }
12481
12712
  function WorkspacesMenu({ workspaces, current, onSelect, className }) {
12482
12713
  const { collapsed } = useSidebar();
12483
- const [open, setOpen] = React131.useState(false);
12484
- const ref = React131.useRef(null);
12714
+ const [open, setOpen] = React136.useState(false);
12715
+ const ref = React136.useRef(null);
12485
12716
  const currentWorkspace = workspaces.find((w) => w.id === current);
12486
- React131.useEffect(() => {
12717
+ React136.useEffect(() => {
12487
12718
  if (!open) return;
12488
12719
  function handleClickOutside(e) {
12489
12720
  if (ref.current && !ref.current.contains(e.target)) {
@@ -12566,9 +12797,9 @@ function getInitials2(name) {
12566
12797
  }
12567
12798
  function AppShellUserMenu({ name, email, avatar, onSignOut, onProfile, onSettings, className }) {
12568
12799
  const { collapsed } = useSidebar();
12569
- const [open, setOpen] = React131.useState(false);
12570
- const ref = React131.useRef(null);
12571
- React131.useEffect(() => {
12800
+ const [open, setOpen] = React136.useState(false);
12801
+ const ref = React136.useRef(null);
12802
+ React136.useEffect(() => {
12572
12803
  if (!open) return;
12573
12804
  function handleClickOutside(e) {
12574
12805
  if (ref.current && !ref.current.contains(e.target)) {
@@ -12895,6 +13126,7 @@ exports.CarouselContent = CarouselContent;
12895
13126
  exports.CarouselItem = CarouselItem;
12896
13127
  exports.CarouselNext = CarouselNext;
12897
13128
  exports.CarouselPrevious = CarouselPrevious;
13129
+ exports.CartLineItem = CartLineItem;
12898
13130
  exports.ChartContainer = ChartContainer;
12899
13131
  exports.ChartLegend = ChartLegend;
12900
13132
  exports.ChartLegendContent = ChartLegendContent;
@@ -12992,6 +13224,7 @@ exports.DropdownMenuSub = DropdownMenuSub;
12992
13224
  exports.DropdownMenuSubContent = DropdownMenuSubContent;
12993
13225
  exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
12994
13226
  exports.DropdownMenuTrigger = DropdownMenuTrigger;
13227
+ exports.EmptyCart = EmptyCart;
12995
13228
  exports.EmptyState = EmptyState;
12996
13229
  exports.EmptyStateIcon = EmptyStateIcon;
12997
13230
  exports.EventCalendar = EventCalendar;
@@ -13115,10 +13348,12 @@ exports.Popover = Popover;
13115
13348
  exports.PopoverAnchor = PopoverAnchor;
13116
13349
  exports.PopoverContent = PopoverContent;
13117
13350
  exports.PopoverTrigger = PopoverTrigger;
13351
+ exports.PriceTag = PriceTag;
13118
13352
  exports.Progress = Progress;
13119
13353
  exports.PropertyItem = PropertyItem;
13120
13354
  exports.PropertyList = PropertyList;
13121
13355
  exports.QrCode = QrCode;
13356
+ exports.QuantityStepper = QuantityStepper;
13122
13357
  exports.RadioGroup = RadioGroup4;
13123
13358
  exports.RadioGroupItem = RadioGroupItem;
13124
13359
  exports.Rating = Rating;
@@ -13241,6 +13476,7 @@ exports.Tree = Tree;
13241
13476
  exports.Typewriter = Typewriter;
13242
13477
  exports.UserMenu = UserMenu;
13243
13478
  exports.VStack = VStack;
13479
+ exports.VariantPicker = VariantPicker;
13244
13480
  exports.VideoPlayer = VideoPlayer;
13245
13481
  exports.WorkspaceMembers = WorkspaceMembers;
13246
13482
  exports.WorkspacesMenu = WorkspacesMenu;