@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 +775 -539
- package/dist/index.mjs +639 -408
- package/package.json +1 -1
- package/src/index.ts +5 -0
- package/src/primitives/cart-line-item.tsx +81 -0
- package/src/primitives/empty-cart.tsx +52 -0
- package/src/primitives/price-tag.tsx +62 -0
- package/src/primitives/quantity-stepper.tsx +92 -0
- package/src/primitives/variant-picker.tsx +74 -0
package/dist/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { clsx } from 'clsx';
|
|
2
2
|
import { twMerge } from 'tailwind-merge';
|
|
3
|
-
import * as
|
|
4
|
-
import
|
|
3
|
+
import * as React136 from 'react';
|
|
4
|
+
import React136__default, { createContext, useState, useCallback, useMemo, useId, useRef, useEffect, useContext } from 'react';
|
|
5
5
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
6
|
-
import { ChevronDown, ArrowLeft, ArrowRight,
|
|
6
|
+
import { ChevronDown, ArrowLeft, ArrowRight, Minus, Plus, X, Check, Copy, Search, GripVertical, Circle, ChevronRight, ShoppingCart, Star, ChevronUp, Pipette, EyeOff, Eye, Menu, ChevronLeft, Play, Pause, VolumeX, Volume1, Volume2, Layers, Minimize, Maximize, Heading1, Heading2, Heading3, Bold, Italic, Underline, Code, List, ListOrdered, Quote, Code2, Undo2, Redo2, Link, Table as Table$2, ArrowUpToLine, ArrowDownToLine, ArrowLeftToLine, ArrowRightToLine, Trash2, ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon, MoreHorizontal, Loader2Icon, ArrowUp, ArrowDown, ArrowUpDown, Loader2, TrendingUp, TrendingDown, Send, Pencil, Sun, Moon, Monitor, Palette, LayoutDashboard, FolderOpen, Users, Settings, Bell, BarChart2, CreditCard, HelpCircle, Calendar as Calendar$1, User, LogOut, Upload, ChevronsUpDown, Info, XCircle, AlertTriangle, CheckCircle2, FileText, Archive, Film, FileCode, Image, File, Download, CheckCircle } from 'lucide-react';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
|
|
9
9
|
import { Slot } from '@radix-ui/react-slot';
|
|
@@ -71,7 +71,7 @@ function cn(...inputs) {
|
|
|
71
71
|
return twMerge(clsx(inputs));
|
|
72
72
|
}
|
|
73
73
|
var Accordion = AccordionPrimitive.Root;
|
|
74
|
-
var AccordionItem =
|
|
74
|
+
var AccordionItem = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
75
75
|
AccordionPrimitive.Item,
|
|
76
76
|
{
|
|
77
77
|
ref,
|
|
@@ -80,7 +80,7 @@ var AccordionItem = React131.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
80
80
|
}
|
|
81
81
|
));
|
|
82
82
|
AccordionItem.displayName = "AccordionItem";
|
|
83
|
-
var AccordionTrigger =
|
|
83
|
+
var AccordionTrigger = React136.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
|
|
84
84
|
AccordionPrimitive.Trigger,
|
|
85
85
|
{
|
|
86
86
|
ref,
|
|
@@ -96,7 +96,7 @@ var AccordionTrigger = React131.forwardRef(({ className, children, ...props }, r
|
|
|
96
96
|
}
|
|
97
97
|
) }));
|
|
98
98
|
AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
|
|
99
|
-
var AccordionContent =
|
|
99
|
+
var AccordionContent = React136.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
100
100
|
AccordionPrimitive.Content,
|
|
101
101
|
{
|
|
102
102
|
ref,
|
|
@@ -128,7 +128,7 @@ var buttonVariants = cva(
|
|
|
128
128
|
defaultVariants: { variant: "default", size: "default" }
|
|
129
129
|
}
|
|
130
130
|
);
|
|
131
|
-
var Button =
|
|
131
|
+
var Button = React136__default.forwardRef(
|
|
132
132
|
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
133
133
|
const Comp = asChild ? Slot : "button";
|
|
134
134
|
return /* @__PURE__ */ jsx(Comp, { className: cn(buttonVariants({ variant, size }), className), ref, ...props });
|
|
@@ -138,7 +138,7 @@ Button.displayName = "Button";
|
|
|
138
138
|
var AlertDialog = AlertDialogPrimitive.Root;
|
|
139
139
|
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
140
140
|
var AlertDialogPortal = AlertDialogPrimitive.Portal;
|
|
141
|
-
var AlertDialogOverlay =
|
|
141
|
+
var AlertDialogOverlay = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
142
142
|
AlertDialogPrimitive.Overlay,
|
|
143
143
|
{
|
|
144
144
|
className: cn(
|
|
@@ -150,7 +150,7 @@ var AlertDialogOverlay = React131.forwardRef(({ className, ...props }, ref) => /
|
|
|
150
150
|
}
|
|
151
151
|
));
|
|
152
152
|
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
153
|
-
var AlertDialogContent =
|
|
153
|
+
var AlertDialogContent = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
|
|
154
154
|
/* @__PURE__ */ jsx(AlertDialogOverlay, {}),
|
|
155
155
|
/* @__PURE__ */ jsx(
|
|
156
156
|
AlertDialogPrimitive.Content,
|
|
@@ -193,7 +193,7 @@ var AlertDialogFooter = ({
|
|
|
193
193
|
}
|
|
194
194
|
);
|
|
195
195
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
196
|
-
var AlertDialogTitle =
|
|
196
|
+
var AlertDialogTitle = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
197
197
|
AlertDialogPrimitive.Title,
|
|
198
198
|
{
|
|
199
199
|
ref,
|
|
@@ -202,7 +202,7 @@ var AlertDialogTitle = React131.forwardRef(({ className, ...props }, ref) => /*
|
|
|
202
202
|
}
|
|
203
203
|
));
|
|
204
204
|
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
|
205
|
-
var AlertDialogDescription =
|
|
205
|
+
var AlertDialogDescription = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
206
206
|
AlertDialogPrimitive.Description,
|
|
207
207
|
{
|
|
208
208
|
ref,
|
|
@@ -211,7 +211,7 @@ var AlertDialogDescription = React131.forwardRef(({ className, ...props }, ref)
|
|
|
211
211
|
}
|
|
212
212
|
));
|
|
213
213
|
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
|
214
|
-
var AlertDialogAction =
|
|
214
|
+
var AlertDialogAction = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
215
215
|
AlertDialogPrimitive.Action,
|
|
216
216
|
{
|
|
217
217
|
ref,
|
|
@@ -220,7 +220,7 @@ var AlertDialogAction = React131.forwardRef(({ className, ...props }, ref) => /*
|
|
|
220
220
|
}
|
|
221
221
|
));
|
|
222
222
|
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
|
223
|
-
var AlertDialogCancel =
|
|
223
|
+
var AlertDialogCancel = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
224
224
|
AlertDialogPrimitive.Cancel,
|
|
225
225
|
{
|
|
226
226
|
ref,
|
|
@@ -247,7 +247,7 @@ var alertVariants = cva(
|
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
249
|
);
|
|
250
|
-
var Alert =
|
|
250
|
+
var Alert = React136.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
251
251
|
"div",
|
|
252
252
|
{
|
|
253
253
|
ref,
|
|
@@ -257,7 +257,7 @@ var Alert = React131.forwardRef(({ className, variant, ...props }, ref) => /* @_
|
|
|
257
257
|
}
|
|
258
258
|
));
|
|
259
259
|
Alert.displayName = "Alert";
|
|
260
|
-
var AlertTitle =
|
|
260
|
+
var AlertTitle = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
261
261
|
"h5",
|
|
262
262
|
{
|
|
263
263
|
ref,
|
|
@@ -266,7 +266,7 @@ var AlertTitle = React131.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
266
266
|
}
|
|
267
267
|
));
|
|
268
268
|
AlertTitle.displayName = "AlertTitle";
|
|
269
|
-
var AlertDescription =
|
|
269
|
+
var AlertDescription = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
270
270
|
"div",
|
|
271
271
|
{
|
|
272
272
|
ref,
|
|
@@ -276,7 +276,7 @@ var AlertDescription = React131.forwardRef(({ className, ...props }, ref) => /*
|
|
|
276
276
|
));
|
|
277
277
|
AlertDescription.displayName = "AlertDescription";
|
|
278
278
|
var AspectRatio = AspectRatioPrimitive.Root;
|
|
279
|
-
var Avatar =
|
|
279
|
+
var Avatar = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
280
280
|
AvatarPrimitive.Root,
|
|
281
281
|
{
|
|
282
282
|
ref,
|
|
@@ -285,9 +285,9 @@ var Avatar = React131__default.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
285
285
|
}
|
|
286
286
|
));
|
|
287
287
|
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
288
|
-
var AvatarImage =
|
|
288
|
+
var AvatarImage = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(AvatarPrimitive.Image, { ref, className: cn("aspect-square h-full w-full object-cover", className), ...props }));
|
|
289
289
|
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
290
|
-
var AvatarFallback =
|
|
290
|
+
var AvatarFallback = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
291
291
|
AvatarPrimitive.Fallback,
|
|
292
292
|
{
|
|
293
293
|
ref,
|
|
@@ -296,15 +296,15 @@ var AvatarFallback = React131__default.forwardRef(({ className, ...props }, ref)
|
|
|
296
296
|
}
|
|
297
297
|
));
|
|
298
298
|
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
299
|
-
var AvatarGroup =
|
|
299
|
+
var AvatarGroup = React136__default.forwardRef(
|
|
300
300
|
({ className, max = 4, size = 32, spacing, renderOverflow, children, ...props }, ref) => {
|
|
301
|
-
const items =
|
|
301
|
+
const items = React136__default.Children.toArray(children).filter(React136__default.isValidElement);
|
|
302
302
|
const overlap = spacing ?? Math.round(size / 3);
|
|
303
303
|
const visible = items.slice(0, max);
|
|
304
304
|
const remaining = Math.max(0, items.length - max);
|
|
305
305
|
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex items-center", className), "data-slot": "avatar-group", ...props, children: [
|
|
306
306
|
visible.map(
|
|
307
|
-
(child, i) =>
|
|
307
|
+
(child, i) => React136__default.cloneElement(child, {
|
|
308
308
|
key: child.key ?? i,
|
|
309
309
|
style: {
|
|
310
310
|
width: size,
|
|
@@ -510,8 +510,8 @@ function CalendarDayButton({
|
|
|
510
510
|
...props
|
|
511
511
|
}) {
|
|
512
512
|
const defaultClassNames = getDefaultClassNames();
|
|
513
|
-
const ref =
|
|
514
|
-
|
|
513
|
+
const ref = React136.useRef(null);
|
|
514
|
+
React136.useEffect(() => {
|
|
515
515
|
if (modifiers.focused) ref.current?.focus();
|
|
516
516
|
}, [modifiers.focused]);
|
|
517
517
|
return /* @__PURE__ */ jsx(
|
|
@@ -534,7 +534,7 @@ function CalendarDayButton({
|
|
|
534
534
|
}
|
|
535
535
|
);
|
|
536
536
|
}
|
|
537
|
-
var Card =
|
|
537
|
+
var Card = React136__default.forwardRef(
|
|
538
538
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
539
539
|
"div",
|
|
540
540
|
{
|
|
@@ -545,35 +545,35 @@ var Card = React131__default.forwardRef(
|
|
|
545
545
|
)
|
|
546
546
|
);
|
|
547
547
|
Card.displayName = "Card";
|
|
548
|
-
var CardHeader =
|
|
548
|
+
var CardHeader = React136__default.forwardRef(
|
|
549
549
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
|
|
550
550
|
);
|
|
551
551
|
CardHeader.displayName = "CardHeader";
|
|
552
|
-
var CardTitle =
|
|
552
|
+
var CardTitle = React136__default.forwardRef(
|
|
553
553
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("font-semibold leading-none tracking-tight", className), ...props })
|
|
554
554
|
);
|
|
555
555
|
CardTitle.displayName = "CardTitle";
|
|
556
|
-
var CardDescription =
|
|
556
|
+
var CardDescription = React136__default.forwardRef(
|
|
557
557
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
|
|
558
558
|
);
|
|
559
559
|
CardDescription.displayName = "CardDescription";
|
|
560
|
-
var CardContent =
|
|
560
|
+
var CardContent = React136__default.forwardRef(
|
|
561
561
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props })
|
|
562
562
|
);
|
|
563
563
|
CardContent.displayName = "CardContent";
|
|
564
|
-
var CardFooter =
|
|
564
|
+
var CardFooter = React136__default.forwardRef(
|
|
565
565
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
|
|
566
566
|
);
|
|
567
567
|
CardFooter.displayName = "CardFooter";
|
|
568
|
-
var CarouselContext =
|
|
568
|
+
var CarouselContext = React136.createContext(null);
|
|
569
569
|
function useCarousel() {
|
|
570
|
-
const context =
|
|
570
|
+
const context = React136.useContext(CarouselContext);
|
|
571
571
|
if (!context) {
|
|
572
572
|
throw new Error("useCarousel must be used within a <Carousel />");
|
|
573
573
|
}
|
|
574
574
|
return context;
|
|
575
575
|
}
|
|
576
|
-
var Carousel =
|
|
576
|
+
var Carousel = React136.forwardRef(
|
|
577
577
|
({
|
|
578
578
|
orientation = "horizontal",
|
|
579
579
|
opts,
|
|
@@ -590,22 +590,22 @@ var Carousel = React131.forwardRef(
|
|
|
590
590
|
},
|
|
591
591
|
plugins
|
|
592
592
|
);
|
|
593
|
-
const [canScrollPrev, setCanScrollPrev] =
|
|
594
|
-
const [canScrollNext, setCanScrollNext] =
|
|
595
|
-
const onSelect =
|
|
593
|
+
const [canScrollPrev, setCanScrollPrev] = React136.useState(false);
|
|
594
|
+
const [canScrollNext, setCanScrollNext] = React136.useState(false);
|
|
595
|
+
const onSelect = React136.useCallback((api2) => {
|
|
596
596
|
if (!api2) {
|
|
597
597
|
return;
|
|
598
598
|
}
|
|
599
599
|
setCanScrollPrev(api2.canScrollPrev());
|
|
600
600
|
setCanScrollNext(api2.canScrollNext());
|
|
601
601
|
}, []);
|
|
602
|
-
const scrollPrev =
|
|
602
|
+
const scrollPrev = React136.useCallback(() => {
|
|
603
603
|
api?.scrollPrev();
|
|
604
604
|
}, [api]);
|
|
605
|
-
const scrollNext =
|
|
605
|
+
const scrollNext = React136.useCallback(() => {
|
|
606
606
|
api?.scrollNext();
|
|
607
607
|
}, [api]);
|
|
608
|
-
const handleKeyDown =
|
|
608
|
+
const handleKeyDown = React136.useCallback(
|
|
609
609
|
(event) => {
|
|
610
610
|
if (event.key === "ArrowLeft") {
|
|
611
611
|
event.preventDefault();
|
|
@@ -617,13 +617,13 @@ var Carousel = React131.forwardRef(
|
|
|
617
617
|
},
|
|
618
618
|
[scrollPrev, scrollNext]
|
|
619
619
|
);
|
|
620
|
-
|
|
620
|
+
React136.useEffect(() => {
|
|
621
621
|
if (!api || !setApi) {
|
|
622
622
|
return;
|
|
623
623
|
}
|
|
624
624
|
setApi(api);
|
|
625
625
|
}, [api, setApi]);
|
|
626
|
-
|
|
626
|
+
React136.useEffect(() => {
|
|
627
627
|
if (!api) {
|
|
628
628
|
return;
|
|
629
629
|
}
|
|
@@ -664,7 +664,7 @@ var Carousel = React131.forwardRef(
|
|
|
664
664
|
}
|
|
665
665
|
);
|
|
666
666
|
Carousel.displayName = "Carousel";
|
|
667
|
-
var CarouselContent =
|
|
667
|
+
var CarouselContent = React136.forwardRef(({ className, ...props }, ref) => {
|
|
668
668
|
const { carouselRef, orientation } = useCarousel();
|
|
669
669
|
return /* @__PURE__ */ jsx("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx(
|
|
670
670
|
"div",
|
|
@@ -680,7 +680,7 @@ var CarouselContent = React131.forwardRef(({ className, ...props }, ref) => {
|
|
|
680
680
|
) });
|
|
681
681
|
});
|
|
682
682
|
CarouselContent.displayName = "CarouselContent";
|
|
683
|
-
var CarouselItem =
|
|
683
|
+
var CarouselItem = React136.forwardRef(({ className, ...props }, ref) => {
|
|
684
684
|
const { orientation } = useCarousel();
|
|
685
685
|
return /* @__PURE__ */ jsx(
|
|
686
686
|
"div",
|
|
@@ -698,7 +698,7 @@ var CarouselItem = React131.forwardRef(({ className, ...props }, ref) => {
|
|
|
698
698
|
);
|
|
699
699
|
});
|
|
700
700
|
CarouselItem.displayName = "CarouselItem";
|
|
701
|
-
var CarouselPrevious =
|
|
701
|
+
var CarouselPrevious = React136.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
702
702
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
703
703
|
return /* @__PURE__ */ jsxs(
|
|
704
704
|
Button,
|
|
@@ -722,7 +722,7 @@ var CarouselPrevious = React131.forwardRef(({ className, variant = "outline", si
|
|
|
722
722
|
);
|
|
723
723
|
});
|
|
724
724
|
CarouselPrevious.displayName = "CarouselPrevious";
|
|
725
|
-
var CarouselNext =
|
|
725
|
+
var CarouselNext = React136.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
726
726
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
727
727
|
return /* @__PURE__ */ jsxs(
|
|
728
728
|
Button,
|
|
@@ -746,17 +746,173 @@ var CarouselNext = React131.forwardRef(({ className, variant = "outline", size =
|
|
|
746
746
|
);
|
|
747
747
|
});
|
|
748
748
|
CarouselNext.displayName = "CarouselNext";
|
|
749
|
+
var SIZE = {
|
|
750
|
+
sm: { price: "text-sm", compare: "text-xs" },
|
|
751
|
+
md: { price: "text-lg", compare: "text-sm" },
|
|
752
|
+
lg: { price: "text-2xl", compare: "text-base" }
|
|
753
|
+
};
|
|
754
|
+
function formatMoney(minor, currency, locale) {
|
|
755
|
+
return new Intl.NumberFormat(locale, { style: "currency", currency }).format(minor / 100);
|
|
756
|
+
}
|
|
757
|
+
var PriceTag = React136__default.forwardRef(
|
|
758
|
+
({ amount, compareAt, currency = "USD", locale = "en-US", size = "md", showDiscount = true, className, ...props }, ref) => {
|
|
759
|
+
const onSale = compareAt !== void 0 && compareAt > amount;
|
|
760
|
+
const pct = onSale ? Math.round((1 - amount / compareAt) * 100) : 0;
|
|
761
|
+
const s = SIZE[size];
|
|
762
|
+
return /* @__PURE__ */ jsxs("span", { ref, className: cn("inline-flex items-baseline gap-2 font-sans tabular-nums", className), ...props, children: [
|
|
763
|
+
/* @__PURE__ */ jsx("span", { className: cn("font-semibold tracking-tight text-foreground", s.price), children: formatMoney(amount, currency, locale) }),
|
|
764
|
+
onSale && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
765
|
+
/* @__PURE__ */ jsx("span", { className: cn("text-muted-foreground line-through", s.compare), children: formatMoney(compareAt, currency, locale) }),
|
|
766
|
+
showDiscount && /* @__PURE__ */ jsxs("span", { className: "rounded-full bg-destructive/10 px-2 py-0.5 text-xs font-semibold text-destructive", children: [
|
|
767
|
+
"\u2212",
|
|
768
|
+
pct,
|
|
769
|
+
"%"
|
|
770
|
+
] })
|
|
771
|
+
] })
|
|
772
|
+
] });
|
|
773
|
+
}
|
|
774
|
+
);
|
|
775
|
+
PriceTag.displayName = "PriceTag";
|
|
776
|
+
var QuantityStepper = React136__default.forwardRef(
|
|
777
|
+
({
|
|
778
|
+
value: valueProp,
|
|
779
|
+
defaultValue = 1,
|
|
780
|
+
onValueChange,
|
|
781
|
+
min = 1,
|
|
782
|
+
max = 99,
|
|
783
|
+
step = 1,
|
|
784
|
+
size = "md",
|
|
785
|
+
disabled = false,
|
|
786
|
+
className,
|
|
787
|
+
"aria-label": ariaLabel = "Quantity",
|
|
788
|
+
...props
|
|
789
|
+
}, ref) => {
|
|
790
|
+
const isControlled = valueProp !== void 0;
|
|
791
|
+
const [internal, setInternal] = React136__default.useState(defaultValue);
|
|
792
|
+
const value = isControlled ? valueProp : internal;
|
|
793
|
+
const commit = (next) => {
|
|
794
|
+
const clamped = Math.max(min, Math.min(max, next));
|
|
795
|
+
if (!isControlled) setInternal(clamped);
|
|
796
|
+
onValueChange?.(clamped);
|
|
797
|
+
};
|
|
798
|
+
const dim = size === "sm" ? "h-7 w-7" : "h-9 w-9";
|
|
799
|
+
return /* @__PURE__ */ jsxs(
|
|
800
|
+
"div",
|
|
801
|
+
{
|
|
802
|
+
ref,
|
|
803
|
+
role: "group",
|
|
804
|
+
"aria-label": ariaLabel,
|
|
805
|
+
className: cn("inline-flex items-center rounded-md border border-input", className),
|
|
806
|
+
...props,
|
|
807
|
+
children: [
|
|
808
|
+
/* @__PURE__ */ jsx(
|
|
809
|
+
Button,
|
|
810
|
+
{
|
|
811
|
+
type: "button",
|
|
812
|
+
variant: "ghost",
|
|
813
|
+
size: "icon",
|
|
814
|
+
className: cn("rounded-r-none", dim),
|
|
815
|
+
disabled: disabled || value <= min,
|
|
816
|
+
onClick: () => commit(value - step),
|
|
817
|
+
"aria-label": "Decrease quantity",
|
|
818
|
+
children: /* @__PURE__ */ jsx(Minus, { className: "h-4 w-4" })
|
|
819
|
+
}
|
|
820
|
+
),
|
|
821
|
+
/* @__PURE__ */ jsx(
|
|
822
|
+
"span",
|
|
823
|
+
{
|
|
824
|
+
"aria-live": "polite",
|
|
825
|
+
className: cn("select-none text-center text-sm font-medium tabular-nums", size === "sm" ? "min-w-7" : "min-w-8"),
|
|
826
|
+
children: value
|
|
827
|
+
}
|
|
828
|
+
),
|
|
829
|
+
/* @__PURE__ */ jsx(
|
|
830
|
+
Button,
|
|
831
|
+
{
|
|
832
|
+
type: "button",
|
|
833
|
+
variant: "ghost",
|
|
834
|
+
size: "icon",
|
|
835
|
+
className: cn("rounded-l-none", dim),
|
|
836
|
+
disabled: disabled || value >= max,
|
|
837
|
+
onClick: () => commit(value + step),
|
|
838
|
+
"aria-label": "Increase quantity",
|
|
839
|
+
children: /* @__PURE__ */ jsx(Plus, { className: "h-4 w-4" })
|
|
840
|
+
}
|
|
841
|
+
)
|
|
842
|
+
]
|
|
843
|
+
}
|
|
844
|
+
);
|
|
845
|
+
}
|
|
846
|
+
);
|
|
847
|
+
QuantityStepper.displayName = "QuantityStepper";
|
|
848
|
+
var CartLineItem = React136__default.forwardRef(
|
|
849
|
+
({
|
|
850
|
+
image,
|
|
851
|
+
title,
|
|
852
|
+
variant,
|
|
853
|
+
price,
|
|
854
|
+
compareAt,
|
|
855
|
+
currency = "USD",
|
|
856
|
+
quantity,
|
|
857
|
+
onQuantityChange,
|
|
858
|
+
onRemove,
|
|
859
|
+
minQuantity = 1,
|
|
860
|
+
maxQuantity = 99,
|
|
861
|
+
className,
|
|
862
|
+
...props
|
|
863
|
+
}, ref) => {
|
|
864
|
+
return /* @__PURE__ */ jsxs(
|
|
865
|
+
"div",
|
|
866
|
+
{
|
|
867
|
+
ref,
|
|
868
|
+
className: cn("flex items-center gap-4 rounded-lg border border-border bg-card p-3", className),
|
|
869
|
+
...props,
|
|
870
|
+
children: [
|
|
871
|
+
image && /* @__PURE__ */ jsx("img", { src: image, alt: "", className: "h-16 w-16 flex-none rounded-md object-cover" }),
|
|
872
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
873
|
+
/* @__PURE__ */ jsx("span", { className: "truncate font-medium text-card-foreground", children: title }),
|
|
874
|
+
variant && /* @__PURE__ */ jsx("span", { className: "truncate text-sm text-muted-foreground", children: variant }),
|
|
875
|
+
/* @__PURE__ */ jsx(PriceTag, { amount: price, compareAt, currency, size: "sm" })
|
|
876
|
+
] }),
|
|
877
|
+
/* @__PURE__ */ jsx(
|
|
878
|
+
QuantityStepper,
|
|
879
|
+
{
|
|
880
|
+
value: quantity,
|
|
881
|
+
min: minQuantity,
|
|
882
|
+
max: maxQuantity,
|
|
883
|
+
onValueChange: onQuantityChange,
|
|
884
|
+
size: "sm"
|
|
885
|
+
}
|
|
886
|
+
),
|
|
887
|
+
onRemove && /* @__PURE__ */ jsx(
|
|
888
|
+
Button,
|
|
889
|
+
{
|
|
890
|
+
type: "button",
|
|
891
|
+
variant: "ghost",
|
|
892
|
+
size: "icon",
|
|
893
|
+
className: "h-8 w-8 text-muted-foreground hover:text-destructive",
|
|
894
|
+
onClick: onRemove,
|
|
895
|
+
"aria-label": `Remove ${title}`,
|
|
896
|
+
children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4" })
|
|
897
|
+
}
|
|
898
|
+
)
|
|
899
|
+
]
|
|
900
|
+
}
|
|
901
|
+
);
|
|
902
|
+
}
|
|
903
|
+
);
|
|
904
|
+
CartLineItem.displayName = "CartLineItem";
|
|
749
905
|
var THEMES = { light: "", dark: ".dark" };
|
|
750
|
-
var ChartContext =
|
|
906
|
+
var ChartContext = React136.createContext(null);
|
|
751
907
|
function useChart() {
|
|
752
|
-
const context =
|
|
908
|
+
const context = React136.useContext(ChartContext);
|
|
753
909
|
if (!context) {
|
|
754
910
|
throw new Error("useChart must be used within a <ChartContainer />");
|
|
755
911
|
}
|
|
756
912
|
return context;
|
|
757
913
|
}
|
|
758
|
-
var ChartContainer =
|
|
759
|
-
const uniqueId =
|
|
914
|
+
var ChartContainer = React136.forwardRef(({ id, className, children, config, ...props }, ref) => {
|
|
915
|
+
const uniqueId = React136.useId();
|
|
760
916
|
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
761
917
|
return /* @__PURE__ */ jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs(
|
|
762
918
|
"div",
|
|
@@ -802,7 +958,7 @@ ${colorConfig.map(([key, itemConfig]) => {
|
|
|
802
958
|
);
|
|
803
959
|
};
|
|
804
960
|
var ChartTooltip = RechartsPrimitive.Tooltip;
|
|
805
|
-
var ChartTooltipContent =
|
|
961
|
+
var ChartTooltipContent = React136.forwardRef(
|
|
806
962
|
({
|
|
807
963
|
active,
|
|
808
964
|
payload,
|
|
@@ -819,7 +975,7 @@ var ChartTooltipContent = React131.forwardRef(
|
|
|
819
975
|
labelKey
|
|
820
976
|
}, ref) => {
|
|
821
977
|
const { config } = useChart();
|
|
822
|
-
const tooltipLabel =
|
|
978
|
+
const tooltipLabel = React136.useMemo(() => {
|
|
823
979
|
if (hideLabel || !payload?.length) {
|
|
824
980
|
return null;
|
|
825
981
|
}
|
|
@@ -915,7 +1071,7 @@ var ChartTooltipContent = React131.forwardRef(
|
|
|
915
1071
|
);
|
|
916
1072
|
ChartTooltipContent.displayName = "ChartTooltip";
|
|
917
1073
|
var ChartLegend = RechartsPrimitive.Legend;
|
|
918
|
-
var ChartLegendContent =
|
|
1074
|
+
var ChartLegendContent = React136.forwardRef(
|
|
919
1075
|
({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
|
|
920
1076
|
const { config } = useChart();
|
|
921
1077
|
if (!payload?.length) {
|
|
@@ -973,7 +1129,7 @@ function getPayloadConfigFromPayload(config, payload, key) {
|
|
|
973
1129
|
}
|
|
974
1130
|
return configLabelKey in config ? config[configLabelKey] : config[key];
|
|
975
1131
|
}
|
|
976
|
-
var Checkbox =
|
|
1132
|
+
var Checkbox = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
977
1133
|
CheckboxPrimitive.Root,
|
|
978
1134
|
{
|
|
979
1135
|
ref,
|
|
@@ -1013,7 +1169,7 @@ function detectTheme(node) {
|
|
|
1013
1169
|
}
|
|
1014
1170
|
return document.documentElement.classList.contains("dark") ? "dark" : "light";
|
|
1015
1171
|
}
|
|
1016
|
-
var CodeBlock =
|
|
1172
|
+
var CodeBlock = React136__default.forwardRef(
|
|
1017
1173
|
({
|
|
1018
1174
|
code,
|
|
1019
1175
|
language = "tsx",
|
|
@@ -1024,10 +1180,10 @@ var CodeBlock = React131__default.forwardRef(
|
|
|
1024
1180
|
className,
|
|
1025
1181
|
...props
|
|
1026
1182
|
}, ref) => {
|
|
1027
|
-
const containerRef =
|
|
1028
|
-
const [html, setHtml] =
|
|
1029
|
-
const [copied, setCopied] =
|
|
1030
|
-
|
|
1183
|
+
const containerRef = React136__default.useRef(null);
|
|
1184
|
+
const [html, setHtml] = React136__default.useState(null);
|
|
1185
|
+
const [copied, setCopied] = React136__default.useState(false);
|
|
1186
|
+
React136__default.useEffect(() => {
|
|
1031
1187
|
let cancelled = false;
|
|
1032
1188
|
getHighlighter().then((hl) => {
|
|
1033
1189
|
if (cancelled) return;
|
|
@@ -1042,7 +1198,7 @@ var CodeBlock = React131__default.forwardRef(
|
|
|
1042
1198
|
cancelled = true;
|
|
1043
1199
|
};
|
|
1044
1200
|
}, [code, language, theme]);
|
|
1045
|
-
const onCopy =
|
|
1201
|
+
const onCopy = React136__default.useCallback(async () => {
|
|
1046
1202
|
try {
|
|
1047
1203
|
await navigator.clipboard.writeText(code);
|
|
1048
1204
|
setCopied(true);
|
|
@@ -1050,7 +1206,7 @@ var CodeBlock = React131__default.forwardRef(
|
|
|
1050
1206
|
} catch {
|
|
1051
1207
|
}
|
|
1052
1208
|
}, [code]);
|
|
1053
|
-
const lines =
|
|
1209
|
+
const lines = React136__default.useMemo(() => code.split("\n"), [code]);
|
|
1054
1210
|
return /* @__PURE__ */ jsxs(
|
|
1055
1211
|
"div",
|
|
1056
1212
|
{
|
|
@@ -1118,7 +1274,7 @@ var Dialog = DialogPrimitive.Root;
|
|
|
1118
1274
|
var DialogTrigger = DialogPrimitive.Trigger;
|
|
1119
1275
|
var DialogPortal = DialogPrimitive.Portal;
|
|
1120
1276
|
var DialogClose = DialogPrimitive.Close;
|
|
1121
|
-
var DialogOverlay =
|
|
1277
|
+
var DialogOverlay = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1122
1278
|
DialogPrimitive.Overlay,
|
|
1123
1279
|
{
|
|
1124
1280
|
ref,
|
|
@@ -1132,7 +1288,7 @@ var DialogOverlay = React131__default.forwardRef(({ className, ...props }, ref)
|
|
|
1132
1288
|
}
|
|
1133
1289
|
));
|
|
1134
1290
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
1135
|
-
var DialogContent =
|
|
1291
|
+
var DialogContent = React136__default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
|
|
1136
1292
|
/* @__PURE__ */ jsx(DialogOverlay, {}),
|
|
1137
1293
|
/* @__PURE__ */ jsxs(
|
|
1138
1294
|
DialogPrimitive.Content,
|
|
@@ -1162,7 +1318,7 @@ var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { cla
|
|
|
1162
1318
|
DialogHeader.displayName = "DialogHeader";
|
|
1163
1319
|
var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
1164
1320
|
DialogFooter.displayName = "DialogFooter";
|
|
1165
|
-
var DialogTitle =
|
|
1321
|
+
var DialogTitle = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1166
1322
|
DialogPrimitive.Title,
|
|
1167
1323
|
{
|
|
1168
1324
|
ref,
|
|
@@ -1171,7 +1327,7 @@ var DialogTitle = React131__default.forwardRef(({ className, ...props }, ref) =>
|
|
|
1171
1327
|
}
|
|
1172
1328
|
));
|
|
1173
1329
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
1174
|
-
var DialogDescription =
|
|
1330
|
+
var DialogDescription = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1175
1331
|
DialogPrimitive.Description,
|
|
1176
1332
|
{
|
|
1177
1333
|
ref,
|
|
@@ -1180,7 +1336,7 @@ var DialogDescription = React131__default.forwardRef(({ className, ...props }, r
|
|
|
1180
1336
|
}
|
|
1181
1337
|
));
|
|
1182
1338
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
1183
|
-
var Command =
|
|
1339
|
+
var Command = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1184
1340
|
Command$1,
|
|
1185
1341
|
{
|
|
1186
1342
|
ref,
|
|
@@ -1195,7 +1351,7 @@ Command.displayName = Command$1.displayName;
|
|
|
1195
1351
|
var CommandDialog = ({ children, ...props }) => {
|
|
1196
1352
|
return /* @__PURE__ */ jsx(Dialog, { ...props, children: /* @__PURE__ */ jsx(DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ 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 }) }) });
|
|
1197
1353
|
};
|
|
1198
|
-
var CommandInput =
|
|
1354
|
+
var CommandInput = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
|
|
1199
1355
|
/* @__PURE__ */ jsx(Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
|
|
1200
1356
|
/* @__PURE__ */ jsx(
|
|
1201
1357
|
Command$1.Input,
|
|
@@ -1210,7 +1366,7 @@ var CommandInput = React131.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
1210
1366
|
)
|
|
1211
1367
|
] }));
|
|
1212
1368
|
CommandInput.displayName = Command$1.Input.displayName;
|
|
1213
|
-
var CommandList =
|
|
1369
|
+
var CommandList = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1214
1370
|
Command$1.List,
|
|
1215
1371
|
{
|
|
1216
1372
|
ref,
|
|
@@ -1219,7 +1375,7 @@ var CommandList = React131.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1219
1375
|
}
|
|
1220
1376
|
));
|
|
1221
1377
|
CommandList.displayName = Command$1.List.displayName;
|
|
1222
|
-
var CommandEmpty =
|
|
1378
|
+
var CommandEmpty = React136.forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
1223
1379
|
Command$1.Empty,
|
|
1224
1380
|
{
|
|
1225
1381
|
ref,
|
|
@@ -1228,7 +1384,7 @@ var CommandEmpty = React131.forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
|
1228
1384
|
}
|
|
1229
1385
|
));
|
|
1230
1386
|
CommandEmpty.displayName = Command$1.Empty.displayName;
|
|
1231
|
-
var CommandGroup =
|
|
1387
|
+
var CommandGroup = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1232
1388
|
Command$1.Group,
|
|
1233
1389
|
{
|
|
1234
1390
|
ref,
|
|
@@ -1240,7 +1396,7 @@ var CommandGroup = React131.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
1240
1396
|
}
|
|
1241
1397
|
));
|
|
1242
1398
|
CommandGroup.displayName = Command$1.Group.displayName;
|
|
1243
|
-
var CommandSeparator =
|
|
1399
|
+
var CommandSeparator = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1244
1400
|
Command$1.Separator,
|
|
1245
1401
|
{
|
|
1246
1402
|
ref,
|
|
@@ -1249,7 +1405,7 @@ var CommandSeparator = React131.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1249
1405
|
}
|
|
1250
1406
|
));
|
|
1251
1407
|
CommandSeparator.displayName = Command$1.Separator.displayName;
|
|
1252
|
-
var CommandItem =
|
|
1408
|
+
var CommandItem = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1253
1409
|
Command$1.Item,
|
|
1254
1410
|
{
|
|
1255
1411
|
ref,
|
|
@@ -1277,7 +1433,7 @@ var CommandShortcut = ({
|
|
|
1277
1433
|
);
|
|
1278
1434
|
};
|
|
1279
1435
|
CommandShortcut.displayName = "CommandShortcut";
|
|
1280
|
-
var Comparison =
|
|
1436
|
+
var Comparison = React136__default.forwardRef(
|
|
1281
1437
|
({
|
|
1282
1438
|
before,
|
|
1283
1439
|
after,
|
|
@@ -1293,10 +1449,10 @@ var Comparison = React131__default.forwardRef(
|
|
|
1293
1449
|
...props
|
|
1294
1450
|
}, ref) => {
|
|
1295
1451
|
const isControlled = valueProp !== void 0;
|
|
1296
|
-
const [internal, setInternal] =
|
|
1452
|
+
const [internal, setInternal] = React136__default.useState(defaultValue);
|
|
1297
1453
|
const value = Math.max(0, Math.min(100, isControlled ? valueProp : internal));
|
|
1298
|
-
const containerRef =
|
|
1299
|
-
const commit =
|
|
1454
|
+
const containerRef = React136__default.useRef(null);
|
|
1455
|
+
const commit = React136__default.useCallback(
|
|
1300
1456
|
(next) => {
|
|
1301
1457
|
const clamped = Math.max(0, Math.min(100, next));
|
|
1302
1458
|
if (!isControlled) setInternal(clamped);
|
|
@@ -1304,7 +1460,7 @@ var Comparison = React131__default.forwardRef(
|
|
|
1304
1460
|
},
|
|
1305
1461
|
[isControlled, onValueChange]
|
|
1306
1462
|
);
|
|
1307
|
-
const updateFromPointer =
|
|
1463
|
+
const updateFromPointer = React136__default.useCallback(
|
|
1308
1464
|
(clientX, clientY) => {
|
|
1309
1465
|
const el = containerRef.current;
|
|
1310
1466
|
if (!el) return;
|
|
@@ -1427,30 +1583,30 @@ var ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
|
1427
1583
|
var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
1428
1584
|
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";
|
|
1429
1585
|
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";
|
|
1430
|
-
var ContextMenuContent =
|
|
1586
|
+
var ContextMenuContent = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(ContextMenuPrimitive.Content, { ref, className: cn(contentStyle, className), ...props }) }));
|
|
1431
1587
|
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
1432
|
-
var ContextMenuItem =
|
|
1588
|
+
var ContextMenuItem = React136__default.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Item, { ref, className: cn(itemStyle, inset && "pl-8", className), ...props }));
|
|
1433
1589
|
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
1434
|
-
var ContextMenuCheckboxItem =
|
|
1590
|
+
var ContextMenuCheckboxItem = React136__default.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(ContextMenuPrimitive.CheckboxItem, { ref, className: cn(itemStyle, "pl-8", className), checked, ...props, children: [
|
|
1435
1591
|
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
1436
1592
|
children
|
|
1437
1593
|
] }));
|
|
1438
1594
|
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
1439
|
-
var ContextMenuRadioItem =
|
|
1595
|
+
var ContextMenuRadioItem = React136__default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(ContextMenuPrimitive.RadioItem, { ref, className: cn(itemStyle, "pl-8", className), ...props, children: [
|
|
1440
1596
|
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
|
1441
1597
|
children
|
|
1442
1598
|
] }));
|
|
1443
1599
|
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
1444
|
-
var ContextMenuLabel =
|
|
1600
|
+
var ContextMenuLabel = React136__default.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Label, { ref, className: cn("px-2 py-1.5 text-xs font-semibold text-[hsl(var(--muted-foreground))]", inset && "pl-8", className), ...props }));
|
|
1445
1601
|
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
1446
|
-
var ContextMenuSeparator =
|
|
1602
|
+
var ContextMenuSeparator = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-[hsl(var(--muted))]", className), ...props }));
|
|
1447
1603
|
ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
|
1448
|
-
var ContextMenuSubTrigger =
|
|
1604
|
+
var ContextMenuSubTrigger = React136__default.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(ContextMenuPrimitive.SubTrigger, { ref, className: cn(itemStyle, inset && "pl-8", className), ...props, children: [
|
|
1449
1605
|
children,
|
|
1450
1606
|
/* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto h-4 w-4" })
|
|
1451
1607
|
] }));
|
|
1452
1608
|
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
1453
|
-
var ContextMenuSubContent =
|
|
1609
|
+
var ContextMenuSubContent = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.SubContent, { ref, className: cn(contentStyle, className), ...props }));
|
|
1454
1610
|
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
1455
1611
|
var ContextMenuShortcut = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
|
|
1456
1612
|
var Drawer = ({
|
|
@@ -1467,7 +1623,7 @@ Drawer.displayName = "Drawer";
|
|
|
1467
1623
|
var DrawerTrigger = Drawer$1.Trigger;
|
|
1468
1624
|
var DrawerPortal = Drawer$1.Portal;
|
|
1469
1625
|
var DrawerClose = Drawer$1.Close;
|
|
1470
|
-
var DrawerOverlay =
|
|
1626
|
+
var DrawerOverlay = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1471
1627
|
Drawer$1.Overlay,
|
|
1472
1628
|
{
|
|
1473
1629
|
ref,
|
|
@@ -1476,7 +1632,7 @@ var DrawerOverlay = React131.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
1476
1632
|
}
|
|
1477
1633
|
));
|
|
1478
1634
|
DrawerOverlay.displayName = Drawer$1.Overlay.displayName;
|
|
1479
|
-
var DrawerContent =
|
|
1635
|
+
var DrawerContent = React136.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DrawerPortal, { children: [
|
|
1480
1636
|
/* @__PURE__ */ jsx(DrawerOverlay, {}),
|
|
1481
1637
|
/* @__PURE__ */ jsxs(
|
|
1482
1638
|
Drawer$1.Content,
|
|
@@ -1517,7 +1673,7 @@ var DrawerFooter = ({
|
|
|
1517
1673
|
}
|
|
1518
1674
|
);
|
|
1519
1675
|
DrawerFooter.displayName = "DrawerFooter";
|
|
1520
|
-
var DrawerTitle =
|
|
1676
|
+
var DrawerTitle = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1521
1677
|
Drawer$1.Title,
|
|
1522
1678
|
{
|
|
1523
1679
|
ref,
|
|
@@ -1529,7 +1685,7 @@ var DrawerTitle = React131.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1529
1685
|
}
|
|
1530
1686
|
));
|
|
1531
1687
|
DrawerTitle.displayName = Drawer$1.Title.displayName;
|
|
1532
|
-
var DrawerDescription =
|
|
1688
|
+
var DrawerDescription = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1533
1689
|
Drawer$1.Description,
|
|
1534
1690
|
{
|
|
1535
1691
|
ref,
|
|
@@ -1554,36 +1710,65 @@ var itemStyle2 = cn(
|
|
|
1554
1710
|
"focus:bg-[hsl(var(--accent))] focus:text-[hsl(var(--accent-foreground))]",
|
|
1555
1711
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
|
|
1556
1712
|
);
|
|
1557
|
-
var DropdownMenuContent =
|
|
1713
|
+
var DropdownMenuContent = React136__default.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.Content, { ref, sideOffset, className: cn(contentStyle2, className), ...props }) }));
|
|
1558
1714
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
1559
|
-
var DropdownMenuItem =
|
|
1715
|
+
var DropdownMenuItem = React136__default.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Item, { ref, className: cn(itemStyle2, inset && "pl-8", className), ...props }));
|
|
1560
1716
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
1561
|
-
var DropdownMenuCheckboxItem =
|
|
1717
|
+
var DropdownMenuCheckboxItem = React136__default.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(DropdownMenuPrimitive.CheckboxItem, { ref, className: cn(itemStyle2, "pl-8", className), checked, ...props, children: [
|
|
1562
1718
|
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
1563
1719
|
children
|
|
1564
1720
|
] }));
|
|
1565
1721
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
1566
|
-
var DropdownMenuRadioItem =
|
|
1722
|
+
var DropdownMenuRadioItem = React136__default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DropdownMenuPrimitive.RadioItem, { ref, className: cn(itemStyle2, "pl-8", className), ...props, children: [
|
|
1567
1723
|
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
|
1568
1724
|
children
|
|
1569
1725
|
] }));
|
|
1570
1726
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
1571
|
-
var DropdownMenuLabel =
|
|
1727
|
+
var DropdownMenuLabel = React136__default.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Label, { ref, className: cn("px-2 py-1.5 text-xs font-semibold text-[hsl(var(--muted-foreground))]", inset && "pl-8", className), ...props }));
|
|
1572
1728
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
1573
|
-
var DropdownMenuSeparator =
|
|
1729
|
+
var DropdownMenuSeparator = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-[hsl(var(--muted))]", className), ...props }));
|
|
1574
1730
|
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
1575
|
-
var DropdownMenuSubTrigger =
|
|
1731
|
+
var DropdownMenuSubTrigger = React136__default.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(DropdownMenuPrimitive.SubTrigger, { ref, className: cn(itemStyle2, inset && "pl-8", "data-[state=open]:bg-[hsl(var(--accent))]", className), ...props, children: [
|
|
1576
1732
|
children,
|
|
1577
1733
|
/* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto h-4 w-4" })
|
|
1578
1734
|
] }));
|
|
1579
1735
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
1580
|
-
var DropdownMenuSubContent =
|
|
1736
|
+
var DropdownMenuSubContent = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.SubContent, { ref, className: cn(contentStyle2, className), ...props }));
|
|
1581
1737
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
1582
1738
|
var DropdownMenuShortcut = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
|
|
1583
1739
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
1740
|
+
var EmptyCart = React136__default.forwardRef(
|
|
1741
|
+
({
|
|
1742
|
+
title = "Your cart is empty",
|
|
1743
|
+
description = "Browse the catalog and add something you love.",
|
|
1744
|
+
actionLabel = "Continue shopping",
|
|
1745
|
+
onAction,
|
|
1746
|
+
icon,
|
|
1747
|
+
className,
|
|
1748
|
+
...props
|
|
1749
|
+
}, ref) => {
|
|
1750
|
+
return /* @__PURE__ */ jsxs(
|
|
1751
|
+
"div",
|
|
1752
|
+
{
|
|
1753
|
+
ref,
|
|
1754
|
+
className: cn("flex flex-col items-center justify-center gap-4 px-6 py-12 text-center", className),
|
|
1755
|
+
...props,
|
|
1756
|
+
children: [
|
|
1757
|
+
/* @__PURE__ */ 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__ */ jsx(ShoppingCart, { className: "h-6 w-6", strokeWidth: 1.5 }) }),
|
|
1758
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
|
|
1759
|
+
/* @__PURE__ */ jsx("span", { className: "text-base font-semibold text-foreground", children: title }),
|
|
1760
|
+
description && /* @__PURE__ */ jsx("span", { className: "max-w-xs text-sm text-muted-foreground", children: description })
|
|
1761
|
+
] }),
|
|
1762
|
+
actionLabel && onAction && /* @__PURE__ */ jsx(Button, { onClick: onAction, className: "mt-1", children: actionLabel })
|
|
1763
|
+
]
|
|
1764
|
+
}
|
|
1765
|
+
);
|
|
1766
|
+
}
|
|
1767
|
+
);
|
|
1768
|
+
EmptyCart.displayName = "EmptyCart";
|
|
1584
1769
|
var HoverCard = HoverCardPrimitive.Root;
|
|
1585
1770
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
1586
|
-
var HoverCardContent =
|
|
1771
|
+
var HoverCardContent = React136.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1587
1772
|
HoverCardPrimitive.Content,
|
|
1588
1773
|
{
|
|
1589
1774
|
ref,
|
|
@@ -1597,7 +1782,7 @@ var HoverCardContent = React131.forwardRef(({ className, align = "center", sideO
|
|
|
1597
1782
|
}
|
|
1598
1783
|
));
|
|
1599
1784
|
HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
1600
|
-
var InputOTP =
|
|
1785
|
+
var InputOTP = React136.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1601
1786
|
OTPInput,
|
|
1602
1787
|
{
|
|
1603
1788
|
ref,
|
|
@@ -1610,10 +1795,10 @@ var InputOTP = React131.forwardRef(({ className, containerClassName, ...props },
|
|
|
1610
1795
|
}
|
|
1611
1796
|
));
|
|
1612
1797
|
InputOTP.displayName = "InputOTP";
|
|
1613
|
-
var InputOTPGroup =
|
|
1798
|
+
var InputOTPGroup = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center", className), ...props }));
|
|
1614
1799
|
InputOTPGroup.displayName = "InputOTPGroup";
|
|
1615
|
-
var InputOTPSlot =
|
|
1616
|
-
const inputOTPContext =
|
|
1800
|
+
var InputOTPSlot = React136.forwardRef(({ index, className, ...props }, ref) => {
|
|
1801
|
+
const inputOTPContext = React136.useContext(OTPInputContext);
|
|
1617
1802
|
const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
|
|
1618
1803
|
return /* @__PURE__ */ jsxs(
|
|
1619
1804
|
"div",
|
|
@@ -1633,9 +1818,9 @@ var InputOTPSlot = React131.forwardRef(({ index, className, ...props }, ref) =>
|
|
|
1633
1818
|
);
|
|
1634
1819
|
});
|
|
1635
1820
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
1636
|
-
var InputOTPSeparator =
|
|
1821
|
+
var InputOTPSeparator = React136.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx(Minus, {}) }));
|
|
1637
1822
|
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
1638
|
-
var Input =
|
|
1823
|
+
var Input = React136__default.forwardRef(
|
|
1639
1824
|
({ className, type, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1640
1825
|
"input",
|
|
1641
1826
|
{
|
|
@@ -1657,7 +1842,7 @@ Input.displayName = "Input";
|
|
|
1657
1842
|
var labelVariants = cva(
|
|
1658
1843
|
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
|
1659
1844
|
);
|
|
1660
|
-
var Label3 =
|
|
1845
|
+
var Label3 = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1661
1846
|
LabelPrimitive.Root,
|
|
1662
1847
|
{
|
|
1663
1848
|
ref,
|
|
@@ -1666,7 +1851,7 @@ var Label3 = React131.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1666
1851
|
}
|
|
1667
1852
|
));
|
|
1668
1853
|
Label3.displayName = LabelPrimitive.Root.displayName;
|
|
1669
|
-
var LogoCarousel =
|
|
1854
|
+
var LogoCarousel = React136__default.forwardRef(
|
|
1670
1855
|
({
|
|
1671
1856
|
className,
|
|
1672
1857
|
logos,
|
|
@@ -1760,7 +1945,7 @@ var SPEED_DURATION = {
|
|
|
1760
1945
|
normal: "40s",
|
|
1761
1946
|
fast: "20s"
|
|
1762
1947
|
};
|
|
1763
|
-
var Marquee =
|
|
1948
|
+
var Marquee = React136__default.forwardRef(
|
|
1764
1949
|
({
|
|
1765
1950
|
children,
|
|
1766
1951
|
speed = "normal",
|
|
@@ -1824,7 +2009,7 @@ function MenubarSub({
|
|
|
1824
2009
|
}) {
|
|
1825
2010
|
return /* @__PURE__ */ jsx(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
|
|
1826
2011
|
}
|
|
1827
|
-
var Menubar =
|
|
2012
|
+
var Menubar = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1828
2013
|
MenubarPrimitive.Root,
|
|
1829
2014
|
{
|
|
1830
2015
|
ref,
|
|
@@ -1836,7 +2021,7 @@ var Menubar = React131.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1836
2021
|
}
|
|
1837
2022
|
));
|
|
1838
2023
|
Menubar.displayName = MenubarPrimitive.Root.displayName;
|
|
1839
|
-
var MenubarTrigger =
|
|
2024
|
+
var MenubarTrigger = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1840
2025
|
MenubarPrimitive.Trigger,
|
|
1841
2026
|
{
|
|
1842
2027
|
ref,
|
|
@@ -1848,7 +2033,7 @@ var MenubarTrigger = React131.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
1848
2033
|
}
|
|
1849
2034
|
));
|
|
1850
2035
|
MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
|
|
1851
|
-
var MenubarSubTrigger =
|
|
2036
|
+
var MenubarSubTrigger = React136.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1852
2037
|
MenubarPrimitive.SubTrigger,
|
|
1853
2038
|
{
|
|
1854
2039
|
ref,
|
|
@@ -1865,7 +2050,7 @@ var MenubarSubTrigger = React131.forwardRef(({ className, inset, children, ...pr
|
|
|
1865
2050
|
}
|
|
1866
2051
|
));
|
|
1867
2052
|
MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
|
|
1868
|
-
var MenubarSubContent =
|
|
2053
|
+
var MenubarSubContent = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1869
2054
|
MenubarPrimitive.SubContent,
|
|
1870
2055
|
{
|
|
1871
2056
|
ref,
|
|
@@ -1877,7 +2062,7 @@ var MenubarSubContent = React131.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1877
2062
|
}
|
|
1878
2063
|
));
|
|
1879
2064
|
MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
|
|
1880
|
-
var MenubarContent =
|
|
2065
|
+
var MenubarContent = React136.forwardRef(
|
|
1881
2066
|
({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
1882
2067
|
MenubarPrimitive.Content,
|
|
1883
2068
|
{
|
|
@@ -1894,7 +2079,7 @@ var MenubarContent = React131.forwardRef(
|
|
|
1894
2079
|
) })
|
|
1895
2080
|
);
|
|
1896
2081
|
MenubarContent.displayName = MenubarPrimitive.Content.displayName;
|
|
1897
|
-
var MenubarItem =
|
|
2082
|
+
var MenubarItem = React136.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1898
2083
|
MenubarPrimitive.Item,
|
|
1899
2084
|
{
|
|
1900
2085
|
ref,
|
|
@@ -1907,7 +2092,7 @@ var MenubarItem = React131.forwardRef(({ className, inset, ...props }, ref) => /
|
|
|
1907
2092
|
}
|
|
1908
2093
|
));
|
|
1909
2094
|
MenubarItem.displayName = MenubarPrimitive.Item.displayName;
|
|
1910
|
-
var MenubarCheckboxItem =
|
|
2095
|
+
var MenubarCheckboxItem = React136.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1911
2096
|
MenubarPrimitive.CheckboxItem,
|
|
1912
2097
|
{
|
|
1913
2098
|
ref,
|
|
@@ -1924,7 +2109,7 @@ var MenubarCheckboxItem = React131.forwardRef(({ className, children, checked, .
|
|
|
1924
2109
|
}
|
|
1925
2110
|
));
|
|
1926
2111
|
MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
|
|
1927
|
-
var MenubarRadioItem =
|
|
2112
|
+
var MenubarRadioItem = React136.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1928
2113
|
MenubarPrimitive.RadioItem,
|
|
1929
2114
|
{
|
|
1930
2115
|
ref,
|
|
@@ -1940,7 +2125,7 @@ var MenubarRadioItem = React131.forwardRef(({ className, children, ...props }, r
|
|
|
1940
2125
|
}
|
|
1941
2126
|
));
|
|
1942
2127
|
MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
|
|
1943
|
-
var MenubarLabel =
|
|
2128
|
+
var MenubarLabel = React136.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1944
2129
|
MenubarPrimitive.Label,
|
|
1945
2130
|
{
|
|
1946
2131
|
ref,
|
|
@@ -1953,7 +2138,7 @@ var MenubarLabel = React131.forwardRef(({ className, inset, ...props }, ref) =>
|
|
|
1953
2138
|
}
|
|
1954
2139
|
));
|
|
1955
2140
|
MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
|
|
1956
|
-
var MenubarSeparator =
|
|
2141
|
+
var MenubarSeparator = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1957
2142
|
MenubarPrimitive.Separator,
|
|
1958
2143
|
{
|
|
1959
2144
|
ref,
|
|
@@ -1978,7 +2163,7 @@ var MenubarShortcut = ({
|
|
|
1978
2163
|
);
|
|
1979
2164
|
};
|
|
1980
2165
|
MenubarShortcut.displayname = "MenubarShortcut";
|
|
1981
|
-
var NavigationMenu =
|
|
2166
|
+
var NavigationMenu = React136.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1982
2167
|
NavigationMenuPrimitive.Root,
|
|
1983
2168
|
{
|
|
1984
2169
|
ref,
|
|
@@ -1994,7 +2179,7 @@ var NavigationMenu = React131.forwardRef(({ className, children, ...props }, ref
|
|
|
1994
2179
|
}
|
|
1995
2180
|
));
|
|
1996
2181
|
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
|
1997
|
-
var NavigationMenuList =
|
|
2182
|
+
var NavigationMenuList = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1998
2183
|
NavigationMenuPrimitive.List,
|
|
1999
2184
|
{
|
|
2000
2185
|
ref,
|
|
@@ -2010,7 +2195,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
|
2010
2195
|
var navigationMenuTriggerStyle = cva(
|
|
2011
2196
|
"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"
|
|
2012
2197
|
);
|
|
2013
|
-
var NavigationMenuTrigger =
|
|
2198
|
+
var NavigationMenuTrigger = React136.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2014
2199
|
NavigationMenuPrimitive.Trigger,
|
|
2015
2200
|
{
|
|
2016
2201
|
ref,
|
|
@@ -2030,7 +2215,7 @@ var NavigationMenuTrigger = React131.forwardRef(({ className, children, ...props
|
|
|
2030
2215
|
}
|
|
2031
2216
|
));
|
|
2032
2217
|
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
2033
|
-
var NavigationMenuContent =
|
|
2218
|
+
var NavigationMenuContent = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2034
2219
|
NavigationMenuPrimitive.Content,
|
|
2035
2220
|
{
|
|
2036
2221
|
ref,
|
|
@@ -2043,7 +2228,7 @@ var NavigationMenuContent = React131.forwardRef(({ className, ...props }, ref) =
|
|
|
2043
2228
|
));
|
|
2044
2229
|
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
|
2045
2230
|
var NavigationMenuLink = NavigationMenuPrimitive.Link;
|
|
2046
|
-
var NavigationMenuViewport =
|
|
2231
|
+
var NavigationMenuViewport = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
|
|
2047
2232
|
NavigationMenuPrimitive.Viewport,
|
|
2048
2233
|
{
|
|
2049
2234
|
className: cn(
|
|
@@ -2055,7 +2240,7 @@ var NavigationMenuViewport = React131.forwardRef(({ className, ...props }, ref)
|
|
|
2055
2240
|
}
|
|
2056
2241
|
) }));
|
|
2057
2242
|
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
|
2058
|
-
var NavigationMenuIndicator =
|
|
2243
|
+
var NavigationMenuIndicator = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2059
2244
|
NavigationMenuPrimitive.Indicator,
|
|
2060
2245
|
{
|
|
2061
2246
|
ref,
|
|
@@ -2078,7 +2263,7 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
|
2078
2263
|
}
|
|
2079
2264
|
);
|
|
2080
2265
|
Pagination.displayName = "Pagination";
|
|
2081
|
-
var PaginationContent =
|
|
2266
|
+
var PaginationContent = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2082
2267
|
"ul",
|
|
2083
2268
|
{
|
|
2084
2269
|
ref,
|
|
@@ -2087,7 +2272,7 @@ var PaginationContent = React131.forwardRef(({ className, ...props }, ref) => /*
|
|
|
2087
2272
|
}
|
|
2088
2273
|
));
|
|
2089
2274
|
PaginationContent.displayName = "PaginationContent";
|
|
2090
|
-
var PaginationItem =
|
|
2275
|
+
var PaginationItem = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("li", { ref, className: cn("", className), ...props }));
|
|
2091
2276
|
PaginationItem.displayName = "PaginationItem";
|
|
2092
2277
|
var PaginationLink = ({
|
|
2093
2278
|
className,
|
|
@@ -2162,7 +2347,7 @@ PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
|
2162
2347
|
var Popover = PopoverPrimitive.Root;
|
|
2163
2348
|
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
2164
2349
|
var PopoverAnchor = PopoverPrimitive.Anchor;
|
|
2165
|
-
var PopoverContent =
|
|
2350
|
+
var PopoverContent = React136__default.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
2166
2351
|
PopoverPrimitive.Content,
|
|
2167
2352
|
{
|
|
2168
2353
|
ref,
|
|
@@ -2179,7 +2364,7 @@ var PopoverContent = React131__default.forwardRef(({ className, align = "center"
|
|
|
2179
2364
|
}
|
|
2180
2365
|
) }));
|
|
2181
2366
|
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
2182
|
-
var Progress =
|
|
2367
|
+
var Progress = React136__default.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2183
2368
|
ProgressPrimitive.Root,
|
|
2184
2369
|
{
|
|
2185
2370
|
ref,
|
|
@@ -2195,7 +2380,7 @@ var Progress = React131__default.forwardRef(({ className, value, ...props }, ref
|
|
|
2195
2380
|
}
|
|
2196
2381
|
));
|
|
2197
2382
|
Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
2198
|
-
var QrCode =
|
|
2383
|
+
var QrCode = React136__default.forwardRef(
|
|
2199
2384
|
({
|
|
2200
2385
|
value,
|
|
2201
2386
|
size = 192,
|
|
@@ -2252,9 +2437,9 @@ var QrCode = React131__default.forwardRef(
|
|
|
2252
2437
|
}
|
|
2253
2438
|
);
|
|
2254
2439
|
QrCode.displayName = "QrCode";
|
|
2255
|
-
var RadioGroup4 =
|
|
2440
|
+
var RadioGroup4 = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ref, ...props }));
|
|
2256
2441
|
RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
|
|
2257
|
-
var RadioGroupItem =
|
|
2442
|
+
var RadioGroupItem = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2258
2443
|
RadioGroupPrimitive.Item,
|
|
2259
2444
|
{
|
|
2260
2445
|
ref,
|
|
@@ -2269,12 +2454,12 @@ var RadioGroupItem = React131__default.forwardRef(({ className, ...props }, ref)
|
|
|
2269
2454
|
}
|
|
2270
2455
|
));
|
|
2271
2456
|
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
2272
|
-
var
|
|
2457
|
+
var SIZE2 = {
|
|
2273
2458
|
sm: "h-4 w-4",
|
|
2274
2459
|
md: "h-5 w-5",
|
|
2275
2460
|
lg: "h-6 w-6"
|
|
2276
2461
|
};
|
|
2277
|
-
var Rating =
|
|
2462
|
+
var Rating = React136__default.forwardRef(
|
|
2278
2463
|
({
|
|
2279
2464
|
value: valueProp,
|
|
2280
2465
|
defaultValue = 0,
|
|
@@ -2290,10 +2475,10 @@ var Rating = React131__default.forwardRef(
|
|
|
2290
2475
|
...props
|
|
2291
2476
|
}, ref) => {
|
|
2292
2477
|
const isControlled = valueProp !== void 0;
|
|
2293
|
-
const [internal, setInternal] =
|
|
2478
|
+
const [internal, setInternal] = React136__default.useState(defaultValue);
|
|
2294
2479
|
const value = isControlled ? valueProp : internal;
|
|
2295
2480
|
const step = allowHalf ? 0.5 : 1;
|
|
2296
|
-
const commit =
|
|
2481
|
+
const commit = React136__default.useCallback(
|
|
2297
2482
|
(next) => {
|
|
2298
2483
|
const clamped = Math.max(0, Math.min(max, next));
|
|
2299
2484
|
if (!isControlled) setInternal(clamped);
|
|
@@ -2340,13 +2525,13 @@ var Rating = React131__default.forwardRef(
|
|
|
2340
2525
|
children: Array.from({ length: max }).map((_, i) => {
|
|
2341
2526
|
const fillPercent = Math.max(0, Math.min(1, value - i)) * 100;
|
|
2342
2527
|
const Icon2 = /* @__PURE__ */ jsxs("span", { className: "relative inline-block leading-none", children: [
|
|
2343
|
-
/* @__PURE__ */ jsx("span", { className: cn("block text-muted-foreground/40",
|
|
2528
|
+
/* @__PURE__ */ jsx("span", { className: cn("block text-muted-foreground/40", SIZE2[size]), children: emptyIcon ?? /* @__PURE__ */ jsx(Star, { className: "h-full w-full", strokeWidth: 1.5 }) }),
|
|
2344
2529
|
/* @__PURE__ */ jsx(
|
|
2345
2530
|
"span",
|
|
2346
2531
|
{
|
|
2347
2532
|
className: cn(
|
|
2348
2533
|
"absolute inset-0 overflow-hidden text-[hsl(var(--primary))]",
|
|
2349
|
-
|
|
2534
|
+
SIZE2[size]
|
|
2350
2535
|
),
|
|
2351
2536
|
style: { width: `${fillPercent}%` },
|
|
2352
2537
|
"aria-hidden": "true",
|
|
@@ -2407,7 +2592,7 @@ var ResizableHandle = ({
|
|
|
2407
2592
|
children: withHandle && /* @__PURE__ */ jsx("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx(GripVertical, { className: "h-2.5 w-2.5" }) })
|
|
2408
2593
|
}
|
|
2409
2594
|
);
|
|
2410
|
-
var ScrollArea =
|
|
2595
|
+
var ScrollArea = React136.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2411
2596
|
ScrollAreaPrimitive.Root,
|
|
2412
2597
|
{
|
|
2413
2598
|
ref,
|
|
@@ -2421,7 +2606,7 @@ var ScrollArea = React131.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
2421
2606
|
}
|
|
2422
2607
|
));
|
|
2423
2608
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
2424
|
-
var ScrollBar =
|
|
2609
|
+
var ScrollBar = React136.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2425
2610
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
2426
2611
|
{
|
|
2427
2612
|
ref,
|
|
@@ -2440,7 +2625,7 @@ ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
|
2440
2625
|
var Select = SelectPrimitive.Root;
|
|
2441
2626
|
var SelectGroup = SelectPrimitive.Group;
|
|
2442
2627
|
var SelectValue = SelectPrimitive.Value;
|
|
2443
|
-
var SelectTrigger =
|
|
2628
|
+
var SelectTrigger = React136__default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2444
2629
|
SelectPrimitive.Trigger,
|
|
2445
2630
|
{
|
|
2446
2631
|
ref,
|
|
@@ -2460,7 +2645,7 @@ var SelectTrigger = React131__default.forwardRef(({ className, children, ...prop
|
|
|
2460
2645
|
}
|
|
2461
2646
|
));
|
|
2462
2647
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
2463
|
-
var SelectScrollUpButton =
|
|
2648
|
+
var SelectScrollUpButton = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2464
2649
|
SelectPrimitive.ScrollUpButton,
|
|
2465
2650
|
{
|
|
2466
2651
|
ref,
|
|
@@ -2470,7 +2655,7 @@ var SelectScrollUpButton = React131__default.forwardRef(({ className, ...props }
|
|
|
2470
2655
|
}
|
|
2471
2656
|
));
|
|
2472
2657
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
2473
|
-
var SelectScrollDownButton =
|
|
2658
|
+
var SelectScrollDownButton = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2474
2659
|
SelectPrimitive.ScrollDownButton,
|
|
2475
2660
|
{
|
|
2476
2661
|
ref,
|
|
@@ -2480,7 +2665,7 @@ var SelectScrollDownButton = React131__default.forwardRef(({ className, ...props
|
|
|
2480
2665
|
}
|
|
2481
2666
|
));
|
|
2482
2667
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
2483
|
-
var SelectContent =
|
|
2668
|
+
var SelectContent = React136__default.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
|
|
2484
2669
|
SelectPrimitive.Content,
|
|
2485
2670
|
{
|
|
2486
2671
|
ref,
|
|
@@ -2507,7 +2692,7 @@ var SelectContent = React131__default.forwardRef(({ className, children, positio
|
|
|
2507
2692
|
}
|
|
2508
2693
|
) }));
|
|
2509
2694
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
2510
|
-
var SelectLabel =
|
|
2695
|
+
var SelectLabel = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2511
2696
|
SelectPrimitive.Label,
|
|
2512
2697
|
{
|
|
2513
2698
|
ref,
|
|
@@ -2516,7 +2701,7 @@ var SelectLabel = React131__default.forwardRef(({ className, ...props }, ref) =>
|
|
|
2516
2701
|
}
|
|
2517
2702
|
));
|
|
2518
2703
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
2519
|
-
var SelectItem =
|
|
2704
|
+
var SelectItem = React136__default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2520
2705
|
SelectPrimitive.Item,
|
|
2521
2706
|
{
|
|
2522
2707
|
ref,
|
|
@@ -2534,7 +2719,7 @@ var SelectItem = React131__default.forwardRef(({ className, children, ...props }
|
|
|
2534
2719
|
}
|
|
2535
2720
|
));
|
|
2536
2721
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
2537
|
-
var SelectSeparator =
|
|
2722
|
+
var SelectSeparator = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2538
2723
|
SelectPrimitive.Separator,
|
|
2539
2724
|
{
|
|
2540
2725
|
ref,
|
|
@@ -2543,7 +2728,7 @@ var SelectSeparator = React131__default.forwardRef(({ className, ...props }, ref
|
|
|
2543
2728
|
}
|
|
2544
2729
|
));
|
|
2545
2730
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
2546
|
-
var Separator6 =
|
|
2731
|
+
var Separator6 = React136__default.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2547
2732
|
SeparatorPrimitive.Root,
|
|
2548
2733
|
{
|
|
2549
2734
|
ref,
|
|
@@ -2562,7 +2747,7 @@ var Sheet = DialogPrimitive.Root;
|
|
|
2562
2747
|
var SheetTrigger = DialogPrimitive.Trigger;
|
|
2563
2748
|
var SheetClose = DialogPrimitive.Close;
|
|
2564
2749
|
var SheetPortal = DialogPrimitive.Portal;
|
|
2565
|
-
var SheetOverlay =
|
|
2750
|
+
var SheetOverlay = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2566
2751
|
DialogPrimitive.Overlay,
|
|
2567
2752
|
{
|
|
2568
2753
|
ref,
|
|
@@ -2590,7 +2775,7 @@ var sheetVariants = cva(
|
|
|
2590
2775
|
defaultVariants: { side: "right" }
|
|
2591
2776
|
}
|
|
2592
2777
|
);
|
|
2593
|
-
var SheetContent =
|
|
2778
|
+
var SheetContent = React136__default.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
|
|
2594
2779
|
/* @__PURE__ */ jsx(SheetOverlay, {}),
|
|
2595
2780
|
/* @__PURE__ */ jsxs(DialogPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
|
|
2596
2781
|
/* @__PURE__ */ jsxs(DialogPrimitive.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: [
|
|
@@ -2603,9 +2788,9 @@ var SheetContent = React131__default.forwardRef(({ side = "right", className, ch
|
|
|
2603
2788
|
SheetContent.displayName = DialogPrimitive.Content.displayName;
|
|
2604
2789
|
var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
|
|
2605
2790
|
var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
2606
|
-
var SheetTitle =
|
|
2791
|
+
var SheetTitle = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(DialogPrimitive.Title, { ref, className: cn("text-lg font-semibold", className), ...props }));
|
|
2607
2792
|
SheetTitle.displayName = DialogPrimitive.Title.displayName;
|
|
2608
|
-
var SheetDescription =
|
|
2793
|
+
var SheetDescription = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(DialogPrimitive.Description, { ref, className: cn("text-sm text-[hsl(var(--muted-foreground))]", className), ...props }));
|
|
2609
2794
|
SheetDescription.displayName = DialogPrimitive.Description.displayName;
|
|
2610
2795
|
function Skeleton({ className, ...props }) {
|
|
2611
2796
|
return /* @__PURE__ */ jsx(
|
|
@@ -2616,7 +2801,7 @@ function Skeleton({ className, ...props }) {
|
|
|
2616
2801
|
}
|
|
2617
2802
|
);
|
|
2618
2803
|
}
|
|
2619
|
-
var Slider =
|
|
2804
|
+
var Slider = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2620
2805
|
SliderPrimitive.Root,
|
|
2621
2806
|
{
|
|
2622
2807
|
ref,
|
|
@@ -2640,7 +2825,7 @@ function Spinner({ className, ...props }) {
|
|
|
2640
2825
|
}
|
|
2641
2826
|
);
|
|
2642
2827
|
}
|
|
2643
|
-
var Switch =
|
|
2828
|
+
var Switch = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2644
2829
|
SwitchPrimitive.Root,
|
|
2645
2830
|
{
|
|
2646
2831
|
ref,
|
|
@@ -2666,7 +2851,7 @@ var Switch = React131__default.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
2666
2851
|
}
|
|
2667
2852
|
));
|
|
2668
2853
|
Switch.displayName = SwitchPrimitive.Root.displayName;
|
|
2669
|
-
var Table =
|
|
2854
|
+
var Table = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx(
|
|
2670
2855
|
"table",
|
|
2671
2856
|
{
|
|
2672
2857
|
ref,
|
|
@@ -2675,9 +2860,9 @@ var Table = React131.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
2675
2860
|
}
|
|
2676
2861
|
) }));
|
|
2677
2862
|
Table.displayName = "Table";
|
|
2678
|
-
var TableHeader =
|
|
2863
|
+
var TableHeader = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
|
|
2679
2864
|
TableHeader.displayName = "TableHeader";
|
|
2680
|
-
var TableBody =
|
|
2865
|
+
var TableBody = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2681
2866
|
"tbody",
|
|
2682
2867
|
{
|
|
2683
2868
|
ref,
|
|
@@ -2686,7 +2871,7 @@ var TableBody = React131.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
2686
2871
|
}
|
|
2687
2872
|
));
|
|
2688
2873
|
TableBody.displayName = "TableBody";
|
|
2689
|
-
var TableFooter =
|
|
2874
|
+
var TableFooter = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2690
2875
|
"tfoot",
|
|
2691
2876
|
{
|
|
2692
2877
|
ref,
|
|
@@ -2698,7 +2883,7 @@ var TableFooter = React131.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
2698
2883
|
}
|
|
2699
2884
|
));
|
|
2700
2885
|
TableFooter.displayName = "TableFooter";
|
|
2701
|
-
var TableRow =
|
|
2886
|
+
var TableRow = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2702
2887
|
"tr",
|
|
2703
2888
|
{
|
|
2704
2889
|
ref,
|
|
@@ -2710,7 +2895,7 @@ var TableRow = React131.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
2710
2895
|
}
|
|
2711
2896
|
));
|
|
2712
2897
|
TableRow.displayName = "TableRow";
|
|
2713
|
-
var TableHead =
|
|
2898
|
+
var TableHead = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2714
2899
|
"th",
|
|
2715
2900
|
{
|
|
2716
2901
|
ref,
|
|
@@ -2722,7 +2907,7 @@ var TableHead = React131.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
2722
2907
|
}
|
|
2723
2908
|
));
|
|
2724
2909
|
TableHead.displayName = "TableHead";
|
|
2725
|
-
var TableCell =
|
|
2910
|
+
var TableCell = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2726
2911
|
"td",
|
|
2727
2912
|
{
|
|
2728
2913
|
ref,
|
|
@@ -2734,7 +2919,7 @@ var TableCell = React131.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
2734
2919
|
}
|
|
2735
2920
|
));
|
|
2736
2921
|
TableCell.displayName = "TableCell";
|
|
2737
|
-
var TableCaption =
|
|
2922
|
+
var TableCaption = React136.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2738
2923
|
"caption",
|
|
2739
2924
|
{
|
|
2740
2925
|
ref,
|
|
@@ -2744,7 +2929,7 @@ var TableCaption = React131.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
2744
2929
|
));
|
|
2745
2930
|
TableCaption.displayName = "TableCaption";
|
|
2746
2931
|
var Tabs = TabsPrimitive.Root;
|
|
2747
|
-
var TabsList =
|
|
2932
|
+
var TabsList = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2748
2933
|
TabsPrimitive.List,
|
|
2749
2934
|
{
|
|
2750
2935
|
ref,
|
|
@@ -2756,7 +2941,7 @@ var TabsList = React131__default.forwardRef(({ className, ...props }, ref) => /*
|
|
|
2756
2941
|
}
|
|
2757
2942
|
));
|
|
2758
2943
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
2759
|
-
var TabsTrigger =
|
|
2944
|
+
var TabsTrigger = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2760
2945
|
TabsPrimitive.Trigger,
|
|
2761
2946
|
{
|
|
2762
2947
|
ref,
|
|
@@ -2771,7 +2956,7 @@ var TabsTrigger = React131__default.forwardRef(({ className, ...props }, ref) =>
|
|
|
2771
2956
|
}
|
|
2772
2957
|
));
|
|
2773
2958
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
2774
|
-
var TabsContent =
|
|
2959
|
+
var TabsContent = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2775
2960
|
TabsPrimitive.Content,
|
|
2776
2961
|
{
|
|
2777
2962
|
ref,
|
|
@@ -2783,7 +2968,7 @@ var TabsContent = React131__default.forwardRef(({ className, ...props }, ref) =>
|
|
|
2783
2968
|
}
|
|
2784
2969
|
));
|
|
2785
2970
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
2786
|
-
var Textarea =
|
|
2971
|
+
var Textarea = React136__default.forwardRef(
|
|
2787
2972
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2788
2973
|
"textarea",
|
|
2789
2974
|
{
|
|
@@ -2801,7 +2986,7 @@ var Textarea = React131__default.forwardRef(
|
|
|
2801
2986
|
)
|
|
2802
2987
|
);
|
|
2803
2988
|
Textarea.displayName = "Textarea";
|
|
2804
|
-
var TextureCard =
|
|
2989
|
+
var TextureCard = React136.forwardRef(
|
|
2805
2990
|
({ children, className, padding = true, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2806
2991
|
"div",
|
|
2807
2992
|
{
|
|
@@ -2818,15 +3003,15 @@ var TextureCard = React131.forwardRef(
|
|
|
2818
3003
|
)
|
|
2819
3004
|
);
|
|
2820
3005
|
TextureCard.displayName = "TextureCard";
|
|
2821
|
-
var TextureCardHeader =
|
|
3006
|
+
var TextureCardHeader = React136.forwardRef(
|
|
2822
3007
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex flex-col gap-1.5 mb-4", className), ...props })
|
|
2823
3008
|
);
|
|
2824
3009
|
TextureCardHeader.displayName = "TextureCardHeader";
|
|
2825
|
-
var TextureCardTitle =
|
|
3010
|
+
var TextureCardTitle = React136.forwardRef(
|
|
2826
3011
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("h3", { ref, className: cn("font-semibold text-base leading-tight tracking-tight text-foreground", className), ...props })
|
|
2827
3012
|
);
|
|
2828
3013
|
TextureCardTitle.displayName = "TextureCardTitle";
|
|
2829
|
-
var TextureCardDescription =
|
|
3014
|
+
var TextureCardDescription = React136.forwardRef(
|
|
2830
3015
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
|
|
2831
3016
|
);
|
|
2832
3017
|
TextureCardDescription.displayName = "TextureCardDescription";
|
|
@@ -2850,7 +3035,7 @@ var toggleVariants = cva(
|
|
|
2850
3035
|
}
|
|
2851
3036
|
}
|
|
2852
3037
|
);
|
|
2853
|
-
var Toggle =
|
|
3038
|
+
var Toggle = React136.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2854
3039
|
TogglePrimitive.Root,
|
|
2855
3040
|
{
|
|
2856
3041
|
ref,
|
|
@@ -2859,11 +3044,11 @@ var Toggle = React131.forwardRef(({ className, variant, size, ...props }, ref) =
|
|
|
2859
3044
|
}
|
|
2860
3045
|
));
|
|
2861
3046
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
2862
|
-
var ToggleGroupContext =
|
|
3047
|
+
var ToggleGroupContext = React136.createContext({
|
|
2863
3048
|
size: "default",
|
|
2864
3049
|
variant: "default"
|
|
2865
3050
|
});
|
|
2866
|
-
var ToggleGroup =
|
|
3051
|
+
var ToggleGroup = React136.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2867
3052
|
ToggleGroupPrimitive.Root,
|
|
2868
3053
|
{
|
|
2869
3054
|
ref,
|
|
@@ -2873,8 +3058,8 @@ var ToggleGroup = React131.forwardRef(({ className, variant, size, children, ...
|
|
|
2873
3058
|
}
|
|
2874
3059
|
));
|
|
2875
3060
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
2876
|
-
var ToggleGroupItem =
|
|
2877
|
-
const context =
|
|
3061
|
+
var ToggleGroupItem = React136.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
3062
|
+
const context = React136.useContext(ToggleGroupContext);
|
|
2878
3063
|
return /* @__PURE__ */ jsx(
|
|
2879
3064
|
ToggleGroupPrimitive.Item,
|
|
2880
3065
|
{
|
|
@@ -2895,7 +3080,7 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
|
2895
3080
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
2896
3081
|
var Tooltip2 = TooltipPrimitive.Root;
|
|
2897
3082
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
2898
|
-
var TooltipContent =
|
|
3083
|
+
var TooltipContent = React136__default.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
2899
3084
|
TooltipPrimitive.Content,
|
|
2900
3085
|
{
|
|
2901
3086
|
ref,
|
|
@@ -2911,6 +3096,52 @@ var TooltipContent = React131__default.forwardRef(({ className, sideOffset = 4,
|
|
|
2911
3096
|
}
|
|
2912
3097
|
) }));
|
|
2913
3098
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
3099
|
+
var VariantPicker = React136__default.forwardRef(
|
|
3100
|
+
({ label, options, value: valueProp, defaultValue, onValueChange, className, ...props }, ref) => {
|
|
3101
|
+
const isControlled = valueProp !== void 0;
|
|
3102
|
+
const [internal, setInternal] = React136__default.useState(defaultValue);
|
|
3103
|
+
const value = isControlled ? valueProp : internal;
|
|
3104
|
+
const select = (v) => {
|
|
3105
|
+
if (!isControlled) setInternal(v);
|
|
3106
|
+
onValueChange?.(v);
|
|
3107
|
+
};
|
|
3108
|
+
return /* @__PURE__ */ jsxs("div", { ref, role: "radiogroup", "aria-label": label, className: cn("flex flex-col gap-2", className), ...props, children: [
|
|
3109
|
+
label && /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: label }),
|
|
3110
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: options.map((opt) => {
|
|
3111
|
+
const selected = value === opt.value;
|
|
3112
|
+
return /* @__PURE__ */ jsxs(
|
|
3113
|
+
"button",
|
|
3114
|
+
{
|
|
3115
|
+
type: "button",
|
|
3116
|
+
role: "radio",
|
|
3117
|
+
"aria-checked": selected,
|
|
3118
|
+
disabled: opt.disabled,
|
|
3119
|
+
onClick: () => select(opt.value),
|
|
3120
|
+
className: cn(
|
|
3121
|
+
"inline-flex items-center gap-2 rounded-md border px-3 py-1.5 text-sm font-medium transition-colors",
|
|
3122
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
3123
|
+
selected ? "border-primary bg-primary/10 text-[hsl(var(--primary))]" : "border-border hover:bg-accent hover:text-accent-foreground",
|
|
3124
|
+
opt.disabled && "cursor-not-allowed text-muted-foreground line-through opacity-50"
|
|
3125
|
+
),
|
|
3126
|
+
children: [
|
|
3127
|
+
opt.swatch && /* @__PURE__ */ jsx(
|
|
3128
|
+
"span",
|
|
3129
|
+
{
|
|
3130
|
+
"aria-hidden": "true",
|
|
3131
|
+
className: "h-4 w-4 rounded-full border border-border",
|
|
3132
|
+
style: { backgroundColor: opt.swatch }
|
|
3133
|
+
}
|
|
3134
|
+
),
|
|
3135
|
+
opt.label
|
|
3136
|
+
]
|
|
3137
|
+
},
|
|
3138
|
+
opt.value
|
|
3139
|
+
);
|
|
3140
|
+
}) })
|
|
3141
|
+
] });
|
|
3142
|
+
}
|
|
3143
|
+
);
|
|
3144
|
+
VariantPicker.displayName = "VariantPicker";
|
|
2914
3145
|
var bannerVariants = cva(
|
|
2915
3146
|
"relative flex items-start gap-3 rounded-lg border px-4 py-3.5 text-sm transition-all",
|
|
2916
3147
|
{
|
|
@@ -3007,8 +3238,8 @@ function Banner({
|
|
|
3007
3238
|
className,
|
|
3008
3239
|
children
|
|
3009
3240
|
}) {
|
|
3010
|
-
const [dismissed, setDismissed] =
|
|
3011
|
-
const [exiting, setExiting] =
|
|
3241
|
+
const [dismissed, setDismissed] = React136__default.useState(false);
|
|
3242
|
+
const [exiting, setExiting] = React136__default.useState(false);
|
|
3012
3243
|
const handleDismiss = () => {
|
|
3013
3244
|
setExiting(true);
|
|
3014
3245
|
setTimeout(() => {
|
|
@@ -3069,7 +3300,7 @@ function BreadcrumbSeparator({ className }) {
|
|
|
3069
3300
|
return /* @__PURE__ */ jsx("li", { role: "presentation", "aria-hidden": "true", className: cn("flex items-center text-[hsl(var(--muted-foreground))]", className), children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-3.5 w-3.5" }) });
|
|
3070
3301
|
}
|
|
3071
3302
|
function Breadcrumb({ children, className }) {
|
|
3072
|
-
const items =
|
|
3303
|
+
const items = React136__default.Children.toArray(children);
|
|
3073
3304
|
const withSeparators = [];
|
|
3074
3305
|
items.forEach((item, i) => {
|
|
3075
3306
|
withSeparators.push(item);
|
|
@@ -3099,8 +3330,8 @@ function CommandItem2({ icon, label, description, shortcut, active, onClick, cla
|
|
|
3099
3330
|
);
|
|
3100
3331
|
}
|
|
3101
3332
|
function EditableCell({ value: initial, onSave }) {
|
|
3102
|
-
const [editing, setEditing] =
|
|
3103
|
-
const [val, setVal] =
|
|
3333
|
+
const [editing, setEditing] = React136__default.useState(false);
|
|
3334
|
+
const [val, setVal] = React136__default.useState(String(initial ?? ""));
|
|
3104
3335
|
const commit = () => {
|
|
3105
3336
|
onSave(val);
|
|
3106
3337
|
setEditing(false);
|
|
@@ -3131,10 +3362,10 @@ var selectionCol = () => ({
|
|
|
3131
3362
|
enableResizing: false
|
|
3132
3363
|
});
|
|
3133
3364
|
function DataGrid({ columns, data: initialData, onDataChange, editable, className }) {
|
|
3134
|
-
const [data, setData] =
|
|
3135
|
-
const [rowSelection, setRowSelection] =
|
|
3365
|
+
const [data, setData] = React136__default.useState(initialData);
|
|
3366
|
+
const [rowSelection, setRowSelection] = React136__default.useState({});
|
|
3136
3367
|
const columnResizeMode = "onChange";
|
|
3137
|
-
const editableColumns =
|
|
3368
|
+
const editableColumns = React136__default.useMemo(() => {
|
|
3138
3369
|
if (!editable) return columns;
|
|
3139
3370
|
return columns.map((col) => ({
|
|
3140
3371
|
...col,
|
|
@@ -3153,7 +3384,7 @@ function DataGrid({ columns, data: initialData, onDataChange, editable, classNam
|
|
|
3153
3384
|
)
|
|
3154
3385
|
}));
|
|
3155
3386
|
}, [columns, data, editable, onDataChange]);
|
|
3156
|
-
const allColumns =
|
|
3387
|
+
const allColumns = React136__default.useMemo(() => [selectionCol(), ...editableColumns], [editableColumns]);
|
|
3157
3388
|
const table = useReactTable({
|
|
3158
3389
|
data,
|
|
3159
3390
|
columns: allColumns,
|
|
@@ -3224,7 +3455,7 @@ function DataTableToolbar({ table, searchColumn }) {
|
|
|
3224
3455
|
) });
|
|
3225
3456
|
}
|
|
3226
3457
|
function DataTable({ columns, data, pageSize = 10, searchable, searchColumn, loading }) {
|
|
3227
|
-
const [sorting, setSorting] =
|
|
3458
|
+
const [sorting, setSorting] = React136__default.useState([]);
|
|
3228
3459
|
const table = useReactTable({
|
|
3229
3460
|
data,
|
|
3230
3461
|
columns,
|
|
@@ -3249,7 +3480,7 @@ function DataTable({ columns, data, pageSize = 10, searchable, searchColumn, loa
|
|
|
3249
3480
|
/* @__PURE__ */ jsx(DataTablePagination, { table })
|
|
3250
3481
|
] });
|
|
3251
3482
|
}
|
|
3252
|
-
var EmptyStateIcon =
|
|
3483
|
+
var EmptyStateIcon = React136__default.forwardRef(
|
|
3253
3484
|
({ className, ...props }, ref) => /* @__PURE__ */ 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 })
|
|
3254
3485
|
);
|
|
3255
3486
|
EmptyStateIcon.displayName = "EmptyStateIcon";
|
|
@@ -3364,7 +3595,7 @@ function Persona({ name, subtitle, src, size = "md", badge, className }) {
|
|
|
3364
3595
|
] })
|
|
3365
3596
|
] });
|
|
3366
3597
|
}
|
|
3367
|
-
var PropertyList =
|
|
3598
|
+
var PropertyList = React136__default.forwardRef(
|
|
3368
3599
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("dl", { ref, className: cn("divide-y divide-[hsl(var(--border))]", className), ...props })
|
|
3369
3600
|
);
|
|
3370
3601
|
PropertyList.displayName = "PropertyList";
|
|
@@ -3450,7 +3681,7 @@ function StructuredListItem({ left, title, description, right, onClick, classNam
|
|
|
3450
3681
|
}
|
|
3451
3682
|
);
|
|
3452
3683
|
}
|
|
3453
|
-
var StructuredList =
|
|
3684
|
+
var StructuredList = React136__default.forwardRef(
|
|
3454
3685
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("space-y-4", className), ...props })
|
|
3455
3686
|
);
|
|
3456
3687
|
StructuredList.displayName = "StructuredList";
|
|
@@ -3460,7 +3691,7 @@ var dotColors = {
|
|
|
3460
3691
|
error: "bg-red-500",
|
|
3461
3692
|
warning: "bg-yellow-500"
|
|
3462
3693
|
};
|
|
3463
|
-
var TimelineContent =
|
|
3694
|
+
var TimelineContent = React136__default.forwardRef(
|
|
3464
3695
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("pb-1", className), ...props })
|
|
3465
3696
|
);
|
|
3466
3697
|
TimelineContent.displayName = "TimelineContent";
|
|
@@ -3483,9 +3714,9 @@ function TimelineItem({ icon, title, description, timestamp, variant = "default"
|
|
|
3483
3714
|
] });
|
|
3484
3715
|
}
|
|
3485
3716
|
function Timeline({ children, className }) {
|
|
3486
|
-
const items =
|
|
3717
|
+
const items = React136__default.Children.toArray(children);
|
|
3487
3718
|
return /* @__PURE__ */ jsx("div", { className: cn("", className), children: items.map(
|
|
3488
|
-
(child, i) =>
|
|
3719
|
+
(child, i) => React136__default.isValidElement(child) ? React136__default.cloneElement(child, { isLast: i === items.length - 1 }) : child
|
|
3489
3720
|
) });
|
|
3490
3721
|
}
|
|
3491
3722
|
var INITIAL_MESSAGES = [
|
|
@@ -3669,7 +3900,7 @@ function FileRow({ file, onDelete }) {
|
|
|
3669
3900
|
] });
|
|
3670
3901
|
}
|
|
3671
3902
|
function FilesList({ className }) {
|
|
3672
|
-
const [files, setFiles] =
|
|
3903
|
+
const [files, setFiles] = React136__default.useState(FILES2);
|
|
3673
3904
|
return /* @__PURE__ */ jsx("div", { className: cn("rounded-md border border-[hsl(var(--border))] overflow-hidden", className), children: /* @__PURE__ */ jsxs("table", { className: "w-full", children: [
|
|
3674
3905
|
/* @__PURE__ */ jsx("thead", { className: "bg-[hsl(var(--muted)/0.5)]", children: /* @__PURE__ */ jsx("tr", { children: ["Name", "Type", "Size", "Modified", ""].map((h) => /* @__PURE__ */ jsx("th", { className: "px-4 py-2.5 text-left text-xs font-medium text-[hsl(var(--muted-foreground))]", children: h }, h)) }) }),
|
|
3675
3906
|
/* @__PURE__ */ jsx("tbody", { children: files.map((f) => /* @__PURE__ */ jsx(FileRow, { file: f, onDelete: () => setFiles((fs) => fs.filter((x) => x.id !== f.id)) }, f.id)) })
|
|
@@ -4164,9 +4395,9 @@ function apply(mode) {
|
|
|
4164
4395
|
document.documentElement.classList.toggle("dark", isDark);
|
|
4165
4396
|
}
|
|
4166
4397
|
function ThemeSwitch({ defaultMode, onChange, className, variant = "segmented" }) {
|
|
4167
|
-
const [mode, setMode] =
|
|
4168
|
-
const didMount =
|
|
4169
|
-
|
|
4398
|
+
const [mode, setMode] = React136__default.useState(() => defaultMode ?? readInitial());
|
|
4399
|
+
const didMount = React136__default.useRef(false);
|
|
4400
|
+
React136__default.useEffect(() => {
|
|
4170
4401
|
if (!didMount.current) {
|
|
4171
4402
|
didMount.current = true;
|
|
4172
4403
|
return;
|
|
@@ -4178,7 +4409,7 @@ function ThemeSwitch({ defaultMode, onChange, className, variant = "segmented" }
|
|
|
4178
4409
|
}
|
|
4179
4410
|
onChange?.(mode);
|
|
4180
4411
|
}, [mode, onChange]);
|
|
4181
|
-
|
|
4412
|
+
React136__default.useEffect(() => {
|
|
4182
4413
|
if (mode !== "system" || typeof window === "undefined") return;
|
|
4183
4414
|
const mql = window.matchMedia("(prefers-color-scheme: dark)");
|
|
4184
4415
|
const handler = () => apply("system");
|
|
@@ -4269,7 +4500,7 @@ function FloatingActionButton({
|
|
|
4269
4500
|
position = "bottom-right",
|
|
4270
4501
|
className
|
|
4271
4502
|
}) {
|
|
4272
|
-
const [open, setOpen] =
|
|
4503
|
+
const [open, setOpen] = React136__default.useState(false);
|
|
4273
4504
|
return /* @__PURE__ */ jsx(
|
|
4274
4505
|
"div",
|
|
4275
4506
|
{
|
|
@@ -4310,7 +4541,7 @@ function FloatingActionButton({
|
|
|
4310
4541
|
] }),
|
|
4311
4542
|
sections.length > 0 && /* @__PURE__ */ jsx(Separator6, {})
|
|
4312
4543
|
] }),
|
|
4313
|
-
sections.length > 0 && /* @__PURE__ */ jsx("div", { className: "px-3 py-2.5 space-y-3", children: sections.map((section, i) => /* @__PURE__ */ jsxs(
|
|
4544
|
+
sections.length > 0 && /* @__PURE__ */ jsx("div", { className: "px-3 py-2.5 space-y-3", children: sections.map((section, i) => /* @__PURE__ */ jsxs(React136__default.Fragment, { children: [
|
|
4314
4545
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
4315
4546
|
/* @__PURE__ */ jsx("p", { className: "text-[9px] font-semibold uppercase tracking-widest text-muted-foreground mb-1.5", children: section.label }),
|
|
4316
4547
|
section.content
|
|
@@ -4352,7 +4583,7 @@ function applyTheme(val) {
|
|
|
4352
4583
|
}
|
|
4353
4584
|
}
|
|
4354
4585
|
function PaletteSwatches({ options = DEFAULT_THEME_OPTIONS }) {
|
|
4355
|
-
const [activeValue, setActiveValue] =
|
|
4586
|
+
const [activeValue, setActiveValue] = React136__default.useState(readStoredTheme);
|
|
4356
4587
|
const activeOption = options.find((o) => o.value === activeValue) ?? options[0];
|
|
4357
4588
|
const handleSelect = (value) => {
|
|
4358
4589
|
setActiveValue(value);
|
|
@@ -5228,8 +5459,8 @@ function BulkActions({ count, actions, onClear, className }) {
|
|
|
5228
5459
|
] });
|
|
5229
5460
|
}
|
|
5230
5461
|
function useCommandBar() {
|
|
5231
|
-
const [open, setOpen] =
|
|
5232
|
-
|
|
5462
|
+
const [open, setOpen] = React136__default.useState(false);
|
|
5463
|
+
React136__default.useEffect(() => {
|
|
5233
5464
|
const handler = (e) => {
|
|
5234
5465
|
if ((e.metaKey || e.ctrlKey) && e.key === "k") {
|
|
5235
5466
|
e.preventDefault();
|
|
@@ -5269,12 +5500,12 @@ function CommandBarItem({ icon, label, shortcut, onSelect, active, className })
|
|
|
5269
5500
|
);
|
|
5270
5501
|
}
|
|
5271
5502
|
function CommandBar({ open, onOpenChange, children, placeholder = "Search commands...", onSearch }) {
|
|
5272
|
-
const [query, setQuery] =
|
|
5503
|
+
const [query, setQuery] = React136__default.useState("");
|
|
5273
5504
|
const handleSearch = (v) => {
|
|
5274
5505
|
setQuery(v);
|
|
5275
5506
|
onSearch?.(v);
|
|
5276
5507
|
};
|
|
5277
|
-
const items =
|
|
5508
|
+
const items = React136__default.useRef(null);
|
|
5278
5509
|
const handleKeyDown = (e) => {
|
|
5279
5510
|
if (e.key === "Escape") {
|
|
5280
5511
|
onOpenChange(false);
|
|
@@ -5315,10 +5546,10 @@ function CommandBar({ open, onOpenChange, children, placeholder = "Search comman
|
|
|
5315
5546
|
var textOps = ["contains", "equals", "starts with"];
|
|
5316
5547
|
var numOps = ["=", ">", "<", ">=", "<="];
|
|
5317
5548
|
function AddFilterPopover({ filters, onAdd }) {
|
|
5318
|
-
const [open, setOpen] =
|
|
5319
|
-
const [key, setKey] =
|
|
5320
|
-
const [op, setOp] =
|
|
5321
|
-
const [val, setVal] =
|
|
5549
|
+
const [open, setOpen] = React136__default.useState(false);
|
|
5550
|
+
const [key, setKey] = React136__default.useState("");
|
|
5551
|
+
const [op, setOp] = React136__default.useState("");
|
|
5552
|
+
const [val, setVal] = React136__default.useState("");
|
|
5322
5553
|
const def = filters.find((f) => f.key === key);
|
|
5323
5554
|
const ops = def?.type === "number" ? numOps : textOps;
|
|
5324
5555
|
const handleAdd = () => {
|
|
@@ -5430,7 +5661,7 @@ function formatColumnSubLabel(date, scale) {
|
|
|
5430
5661
|
function snapDate(date, scale) {
|
|
5431
5662
|
return startOfScale(date, scale);
|
|
5432
5663
|
}
|
|
5433
|
-
var Gantt =
|
|
5664
|
+
var Gantt = React136__default.forwardRef(
|
|
5434
5665
|
({
|
|
5435
5666
|
items,
|
|
5436
5667
|
scale = "days",
|
|
@@ -5448,7 +5679,7 @@ var Gantt = React131__default.forwardRef(
|
|
|
5448
5679
|
}, ref) => {
|
|
5449
5680
|
const interactive = !!onItemMove || !!onItemResize;
|
|
5450
5681
|
const columnWidth = DEFAULT_COLUMN_WIDTH[scale];
|
|
5451
|
-
const viewport =
|
|
5682
|
+
const viewport = React136__default.useMemo(() => {
|
|
5452
5683
|
const earliest = startDate ?? (items.length ? new Date(Math.min(...items.map((i) => i.start.getTime()))) : /* @__PURE__ */ new Date());
|
|
5453
5684
|
const latest = endDate ?? (items.length ? new Date(Math.max(...items.map((i) => i.end.getTime()))) : addDays(/* @__PURE__ */ new Date(), 14));
|
|
5454
5685
|
return {
|
|
@@ -5458,7 +5689,7 @@ var Gantt = React131__default.forwardRef(
|
|
|
5458
5689
|
}, [items, startDate, endDate, scale]);
|
|
5459
5690
|
const colCount = totalColumns(viewport.start, viewport.end, scale);
|
|
5460
5691
|
const timelineWidth = colCount * columnWidth;
|
|
5461
|
-
const grouped =
|
|
5692
|
+
const grouped = React136__default.useMemo(() => {
|
|
5462
5693
|
const map = /* @__PURE__ */ new Map();
|
|
5463
5694
|
for (const it of items) {
|
|
5464
5695
|
const k = it.group ?? void 0;
|
|
@@ -5468,7 +5699,7 @@ var Gantt = React131__default.forwardRef(
|
|
|
5468
5699
|
return Array.from(map.entries());
|
|
5469
5700
|
}, [items]);
|
|
5470
5701
|
const hasGroups = grouped.some(([k]) => k !== void 0);
|
|
5471
|
-
const [collapsed, setCollapsed] =
|
|
5702
|
+
const [collapsed, setCollapsed] = React136__default.useState(() => /* @__PURE__ */ new Set());
|
|
5472
5703
|
const toggleGroup = (key) => {
|
|
5473
5704
|
setCollapsed((prev) => {
|
|
5474
5705
|
const next = new Set(prev);
|
|
@@ -5477,7 +5708,7 @@ var Gantt = React131__default.forwardRef(
|
|
|
5477
5708
|
return next;
|
|
5478
5709
|
});
|
|
5479
5710
|
};
|
|
5480
|
-
const rows =
|
|
5711
|
+
const rows = React136__default.useMemo(() => {
|
|
5481
5712
|
const out = [];
|
|
5482
5713
|
for (const [groupKey, list] of grouped) {
|
|
5483
5714
|
if (groupKey !== void 0) {
|
|
@@ -5488,21 +5719,21 @@ var Gantt = React131__default.forwardRef(
|
|
|
5488
5719
|
}
|
|
5489
5720
|
return out;
|
|
5490
5721
|
}, [grouped, collapsed]);
|
|
5491
|
-
const itemRowIndex =
|
|
5722
|
+
const itemRowIndex = React136__default.useMemo(() => {
|
|
5492
5723
|
const m = /* @__PURE__ */ new Map();
|
|
5493
5724
|
rows.forEach((r, i) => {
|
|
5494
5725
|
if (r.kind === "item") m.set(r.item.id, i);
|
|
5495
5726
|
});
|
|
5496
5727
|
return m;
|
|
5497
5728
|
}, [rows]);
|
|
5498
|
-
const todayOffsetPx =
|
|
5729
|
+
const todayOffsetPx = React136__default.useMemo(() => {
|
|
5499
5730
|
if (!showToday) return null;
|
|
5500
5731
|
const now = /* @__PURE__ */ new Date();
|
|
5501
5732
|
const u = unitsBetween(viewport.start, now, scale);
|
|
5502
5733
|
if (u < 0 || u > colCount) return null;
|
|
5503
5734
|
return u * columnWidth;
|
|
5504
5735
|
}, [showToday, viewport.start, scale, colCount, columnWidth]);
|
|
5505
|
-
const columnDates =
|
|
5736
|
+
const columnDates = React136__default.useMemo(() => {
|
|
5506
5737
|
return Array.from(
|
|
5507
5738
|
{ length: colCount },
|
|
5508
5739
|
(_, i) => addUnits(viewport.start, i, scale)
|
|
@@ -5726,12 +5957,12 @@ function GanttBar({
|
|
|
5726
5957
|
}) {
|
|
5727
5958
|
const color = item.color ?? DEFAULT_COLOR2;
|
|
5728
5959
|
const progress = Math.max(0, Math.min(100, item.progress ?? 0));
|
|
5729
|
-
const [previewLeftDelta, setPreviewLeftDelta] =
|
|
5730
|
-
const [previewRightDelta, setPreviewRightDelta] =
|
|
5731
|
-
const dragMode =
|
|
5732
|
-
const startX =
|
|
5733
|
-
const longPressTimer =
|
|
5734
|
-
const moved =
|
|
5960
|
+
const [previewLeftDelta, setPreviewLeftDelta] = React136__default.useState(0);
|
|
5961
|
+
const [previewRightDelta, setPreviewRightDelta] = React136__default.useState(0);
|
|
5962
|
+
const dragMode = React136__default.useRef(null);
|
|
5963
|
+
const startX = React136__default.useRef(0);
|
|
5964
|
+
const longPressTimer = React136__default.useRef(null);
|
|
5965
|
+
const moved = React136__default.useRef(false);
|
|
5735
5966
|
const baseLeft = unitsBetween(viewportStart, item.start, scale) * columnWidth;
|
|
5736
5967
|
const baseRight = unitsBetween(viewportStart, item.end, scale) * columnWidth;
|
|
5737
5968
|
const baseWidth = Math.max(columnWidth * 0.25, baseRight - baseLeft);
|
|
@@ -5937,7 +6168,7 @@ function DependencyLayer({
|
|
|
5937
6168
|
timelineWidth,
|
|
5938
6169
|
totalHeight
|
|
5939
6170
|
}) {
|
|
5940
|
-
const itemById =
|
|
6171
|
+
const itemById = React136__default.useMemo(() => {
|
|
5941
6172
|
const m = /* @__PURE__ */ new Map();
|
|
5942
6173
|
for (const it of items) m.set(it.id, it);
|
|
5943
6174
|
return m;
|
|
@@ -6036,9 +6267,9 @@ function KanbanColumn({ column, isOver }) {
|
|
|
6036
6267
|
] });
|
|
6037
6268
|
}
|
|
6038
6269
|
function Kanban({ columns: initialColumns, onMoveCard, className }) {
|
|
6039
|
-
const [cols, setCols] =
|
|
6040
|
-
const [activeCard, setActiveCard] =
|
|
6041
|
-
const [overColId, setOverColId] =
|
|
6270
|
+
const [cols, setCols] = React136__default.useState(initialColumns);
|
|
6271
|
+
const [activeCard, setActiveCard] = React136__default.useState(null);
|
|
6272
|
+
const [overColId, setOverColId] = React136__default.useState(null);
|
|
6042
6273
|
const sensors = useSensors(useSensor(PointerSensor, { activationConstraint: { distance: 5 } }));
|
|
6043
6274
|
const findColByCard = (cardId) => cols.find((c) => c.cards.some((card) => card.id === cardId));
|
|
6044
6275
|
const onDragStart = ({ active }) => {
|
|
@@ -6107,10 +6338,10 @@ function ToolbarButton({
|
|
|
6107
6338
|
] });
|
|
6108
6339
|
}
|
|
6109
6340
|
function LinkPopover({ editor }) {
|
|
6110
|
-
const [open, setOpen] =
|
|
6111
|
-
const [url, setUrl] =
|
|
6341
|
+
const [open, setOpen] = React136__default.useState(false);
|
|
6342
|
+
const [url, setUrl] = React136__default.useState("");
|
|
6112
6343
|
const isActive = editor.isActive("link");
|
|
6113
|
-
|
|
6344
|
+
React136__default.useEffect(() => {
|
|
6114
6345
|
if (!open) return;
|
|
6115
6346
|
const current = editor.getAttributes("link")?.href;
|
|
6116
6347
|
setUrl(current ?? "");
|
|
@@ -6575,7 +6806,7 @@ var proseClasses = cn(
|
|
|
6575
6806
|
// Selected cells in tables
|
|
6576
6807
|
"[&_.selectedCell]:bg-[hsl(var(--accent))]/40"
|
|
6577
6808
|
);
|
|
6578
|
-
var RichEditor =
|
|
6809
|
+
var RichEditor = React136__default.forwardRef(
|
|
6579
6810
|
function RichEditor2({
|
|
6580
6811
|
value,
|
|
6581
6812
|
defaultValue,
|
|
@@ -6589,12 +6820,12 @@ var RichEditor = React131__default.forwardRef(
|
|
|
6589
6820
|
}, ref) {
|
|
6590
6821
|
const isControlled = value !== void 0;
|
|
6591
6822
|
const initialContent = isControlled ? value ?? "" : defaultValue ?? "";
|
|
6592
|
-
const debounceRef =
|
|
6593
|
-
const onChangeRef =
|
|
6594
|
-
|
|
6823
|
+
const debounceRef = React136__default.useRef(null);
|
|
6824
|
+
const onChangeRef = React136__default.useRef(onChange);
|
|
6825
|
+
React136__default.useEffect(() => {
|
|
6595
6826
|
onChangeRef.current = onChange;
|
|
6596
6827
|
}, [onChange]);
|
|
6597
|
-
const [charCount, setCharCount] =
|
|
6828
|
+
const [charCount, setCharCount] = React136__default.useState(0);
|
|
6598
6829
|
const editor = useEditor({
|
|
6599
6830
|
editable,
|
|
6600
6831
|
content: initialContent,
|
|
@@ -6637,18 +6868,18 @@ var RichEditor = React131__default.forwardRef(
|
|
|
6637
6868
|
}, 100);
|
|
6638
6869
|
}
|
|
6639
6870
|
});
|
|
6640
|
-
|
|
6871
|
+
React136__default.useEffect(() => {
|
|
6641
6872
|
if (!editor || !isControlled) return;
|
|
6642
6873
|
const current = editor.getHTML();
|
|
6643
6874
|
if ((value ?? "") !== current) {
|
|
6644
6875
|
editor.commands.setContent(value ?? "", { emitUpdate: false });
|
|
6645
6876
|
}
|
|
6646
6877
|
}, [editor, isControlled, value]);
|
|
6647
|
-
|
|
6878
|
+
React136__default.useEffect(() => {
|
|
6648
6879
|
if (!editor) return;
|
|
6649
6880
|
if (editor.isEditable !== editable) editor.setEditable(editable);
|
|
6650
6881
|
}, [editor, editable]);
|
|
6651
|
-
|
|
6882
|
+
React136__default.useEffect(() => {
|
|
6652
6883
|
return () => {
|
|
6653
6884
|
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
6654
6885
|
};
|
|
@@ -6746,10 +6977,10 @@ function ToggleButtonGroup(props) {
|
|
|
6746
6977
|
props.onChange(val);
|
|
6747
6978
|
}
|
|
6748
6979
|
};
|
|
6749
|
-
return /* @__PURE__ */ 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:
|
|
6750
|
-
if (!
|
|
6980
|
+
return /* @__PURE__ */ 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__default.Children.map(children, (child) => {
|
|
6981
|
+
if (!React136__default.isValidElement(child)) return child;
|
|
6751
6982
|
const tb = child;
|
|
6752
|
-
return
|
|
6983
|
+
return React136__default.cloneElement(tb, {
|
|
6753
6984
|
pressed: isPressed(tb.props.value),
|
|
6754
6985
|
onClick: () => handleClick(tb.props.value)
|
|
6755
6986
|
});
|
|
@@ -7104,7 +7335,7 @@ function useChecklist() {
|
|
|
7104
7335
|
if (!ctx) throw new Error("<ChecklistItem> must be used inside <Checklist>");
|
|
7105
7336
|
return ctx;
|
|
7106
7337
|
}
|
|
7107
|
-
var Checklist =
|
|
7338
|
+
var Checklist = React136__default.forwardRef(
|
|
7108
7339
|
({
|
|
7109
7340
|
title = "Getting started",
|
|
7110
7341
|
description,
|
|
@@ -7120,7 +7351,7 @@ var Checklist = React131__default.forwardRef(
|
|
|
7120
7351
|
}, ref) => {
|
|
7121
7352
|
const [internalCompleted, setInternalCompleted] = useState({});
|
|
7122
7353
|
const [open, setOpen] = useState(defaultOpen);
|
|
7123
|
-
const completedFiredRef =
|
|
7354
|
+
const completedFiredRef = React136__default.useRef(false);
|
|
7124
7355
|
const isControlled = controlledCompleted !== void 0;
|
|
7125
7356
|
const completed = isControlled ? controlledCompleted : internalCompleted;
|
|
7126
7357
|
const setCompleted = useCallback(
|
|
@@ -7132,8 +7363,8 @@ var Checklist = React131__default.forwardRef(
|
|
|
7132
7363
|
);
|
|
7133
7364
|
const total = useMemo(() => {
|
|
7134
7365
|
let n = 0;
|
|
7135
|
-
|
|
7136
|
-
if (
|
|
7366
|
+
React136__default.Children.forEach(children, (child) => {
|
|
7367
|
+
if (React136__default.isValidElement(child) && child.type.displayName === "ChecklistItem") {
|
|
7137
7368
|
n++;
|
|
7138
7369
|
}
|
|
7139
7370
|
});
|
|
@@ -7143,7 +7374,7 @@ var Checklist = React131__default.forwardRef(
|
|
|
7143
7374
|
() => Object.values(completed).filter(Boolean).length,
|
|
7144
7375
|
[completed]
|
|
7145
7376
|
);
|
|
7146
|
-
|
|
7377
|
+
React136__default.useEffect(() => {
|
|
7147
7378
|
if (!completedFiredRef.current && total > 0 && doneCount >= total) {
|
|
7148
7379
|
completedFiredRef.current = true;
|
|
7149
7380
|
onComplete?.();
|
|
@@ -7204,7 +7435,7 @@ var Checklist = React131__default.forwardRef(
|
|
|
7204
7435
|
}
|
|
7205
7436
|
);
|
|
7206
7437
|
Checklist.displayName = "Checklist";
|
|
7207
|
-
var ChecklistItem =
|
|
7438
|
+
var ChecklistItem = React136__default.forwardRef(
|
|
7208
7439
|
({ id, title, description, action, onActivate, className, ...props }, ref) => {
|
|
7209
7440
|
const { completed, setCompleted } = useChecklist();
|
|
7210
7441
|
const done = !!completed[id];
|
|
@@ -7552,7 +7783,7 @@ function Field({ label, description, error, required, children, className }) {
|
|
|
7552
7783
|
error && /* @__PURE__ */ jsx(FieldError, { children: error })
|
|
7553
7784
|
] });
|
|
7554
7785
|
}
|
|
7555
|
-
var FieldLabel =
|
|
7786
|
+
var FieldLabel = React136__default.forwardRef(
|
|
7556
7787
|
({ className, required, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
7557
7788
|
"label",
|
|
7558
7789
|
{
|
|
@@ -7567,7 +7798,7 @@ var FieldLabel = React131__default.forwardRef(
|
|
|
7567
7798
|
)
|
|
7568
7799
|
);
|
|
7569
7800
|
FieldLabel.displayName = "FieldLabel";
|
|
7570
|
-
var FieldDescription =
|
|
7801
|
+
var FieldDescription = React136__default.forwardRef(
|
|
7571
7802
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
7572
7803
|
"p",
|
|
7573
7804
|
{
|
|
@@ -7578,7 +7809,7 @@ var FieldDescription = React131__default.forwardRef(
|
|
|
7578
7809
|
)
|
|
7579
7810
|
);
|
|
7580
7811
|
FieldDescription.displayName = "FieldDescription";
|
|
7581
|
-
var FieldError =
|
|
7812
|
+
var FieldError = React136__default.forwardRef(
|
|
7582
7813
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
7583
7814
|
"p",
|
|
7584
7815
|
{
|
|
@@ -7679,7 +7910,7 @@ function defaultFor(format3, showAlpha) {
|
|
|
7679
7910
|
if (format3 === "rgb") return showAlpha ? "rgba(59, 130, 246, 1)" : "rgb(59, 130, 246)";
|
|
7680
7911
|
return showAlpha ? "hsla(217, 91%, 60%, 1)" : "hsl(217, 91%, 60%)";
|
|
7681
7912
|
}
|
|
7682
|
-
var ColorPicker =
|
|
7913
|
+
var ColorPicker = React136__default.forwardRef(
|
|
7683
7914
|
({
|
|
7684
7915
|
value: valueProp,
|
|
7685
7916
|
defaultValue,
|
|
@@ -7694,21 +7925,21 @@ var ColorPicker = React131__default.forwardRef(
|
|
|
7694
7925
|
}, ref) => {
|
|
7695
7926
|
const fallback = defaultValue ?? defaultFor(format3, showAlpha);
|
|
7696
7927
|
const isControlled = valueProp !== void 0;
|
|
7697
|
-
const [internal, setInternal] =
|
|
7928
|
+
const [internal, setInternal] = React136__default.useState(fallback);
|
|
7698
7929
|
const value = isControlled ? valueProp : internal;
|
|
7699
|
-
const [draft, setDraft] =
|
|
7700
|
-
const [draftValid, setDraftValid] =
|
|
7701
|
-
|
|
7930
|
+
const [draft, setDraft] = React136__default.useState(value);
|
|
7931
|
+
const [draftValid, setDraftValid] = React136__default.useState(true);
|
|
7932
|
+
React136__default.useEffect(() => {
|
|
7702
7933
|
setDraft(value);
|
|
7703
7934
|
setDraftValid(true);
|
|
7704
7935
|
}, [value]);
|
|
7705
|
-
const [eyeDropperSupported, setEyeDropperSupported] =
|
|
7706
|
-
|
|
7936
|
+
const [eyeDropperSupported, setEyeDropperSupported] = React136__default.useState(false);
|
|
7937
|
+
React136__default.useEffect(() => {
|
|
7707
7938
|
if (typeof window !== "undefined" && "EyeDropper" in window) {
|
|
7708
7939
|
setEyeDropperSupported(true);
|
|
7709
7940
|
}
|
|
7710
7941
|
}, []);
|
|
7711
|
-
const commit =
|
|
7942
|
+
const commit = React136__default.useCallback(
|
|
7712
7943
|
(next) => {
|
|
7713
7944
|
if (!isControlled) setInternal(next);
|
|
7714
7945
|
onValueChange?.(next);
|
|
@@ -7945,7 +8176,7 @@ function FileUploadPreview({ files, onRemove, className }) {
|
|
|
7945
8176
|
] })
|
|
7946
8177
|
] }, i)) });
|
|
7947
8178
|
}
|
|
7948
|
-
var FloatingLabelInput =
|
|
8179
|
+
var FloatingLabelInput = React136__default.forwardRef(
|
|
7949
8180
|
({ label, error, hint, wrapperClassName, className, id, value, defaultValue, onFocus, onBlur, onChange, ...props }, ref) => {
|
|
7950
8181
|
const autoId = useId();
|
|
7951
8182
|
const inputId = id ?? autoId;
|
|
@@ -8029,7 +8260,7 @@ function FormField(props) {
|
|
|
8029
8260
|
function FormItem({ className, ...props }) {
|
|
8030
8261
|
return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-1.5", className), ...props });
|
|
8031
8262
|
}
|
|
8032
|
-
var FormLabel =
|
|
8263
|
+
var FormLabel = React136__default.forwardRef(
|
|
8033
8264
|
({ className, error, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8034
8265
|
"label",
|
|
8035
8266
|
{
|
|
@@ -8044,7 +8275,7 @@ var FormLabel = React131__default.forwardRef(
|
|
|
8044
8275
|
)
|
|
8045
8276
|
);
|
|
8046
8277
|
FormLabel.displayName = "FormLabel";
|
|
8047
|
-
var FormControl =
|
|
8278
|
+
var FormControl = React136__default.forwardRef(
|
|
8048
8279
|
({ ...props }, ref) => {
|
|
8049
8280
|
const id = useId();
|
|
8050
8281
|
return /* @__PURE__ */ jsx("div", { ref, id, ...props });
|
|
@@ -8101,7 +8332,7 @@ function getStrength(value) {
|
|
|
8101
8332
|
if (score <= 3) return { level: "medium", width: "w-2/3", color: "bg-yellow-500" };
|
|
8102
8333
|
return { level: "strong", width: "w-full", color: "bg-green-500" };
|
|
8103
8334
|
}
|
|
8104
|
-
var PasswordInput =
|
|
8335
|
+
var PasswordInput = React136__default.forwardRef(
|
|
8105
8336
|
({ className, strength, ...props }, ref) => {
|
|
8106
8337
|
const [show, setShow] = useState(false);
|
|
8107
8338
|
const value = String(props.value ?? "");
|
|
@@ -8136,7 +8367,7 @@ var PasswordInput = React131__default.forwardRef(
|
|
|
8136
8367
|
}
|
|
8137
8368
|
);
|
|
8138
8369
|
PasswordInput.displayName = "PasswordInput";
|
|
8139
|
-
var SearchInput =
|
|
8370
|
+
var SearchInput = React136__default.forwardRef(
|
|
8140
8371
|
({ className, shortcut, onClear, onChange, value: valueProp, defaultValue, ...props }, ref) => {
|
|
8141
8372
|
const [internalValue, setInternalValue] = useState(defaultValue ?? "");
|
|
8142
8373
|
const isControlled = valueProp !== void 0;
|
|
@@ -8199,7 +8430,7 @@ function StepForm({ steps, onSubmit, children, className }) {
|
|
|
8199
8430
|
isFirst: currentStep === 0,
|
|
8200
8431
|
isLast: currentStep === totalSteps - 1
|
|
8201
8432
|
};
|
|
8202
|
-
const childArray =
|
|
8433
|
+
const childArray = React136__default.Children.toArray(children);
|
|
8203
8434
|
const currentChild = childArray[currentStep];
|
|
8204
8435
|
return /* @__PURE__ */ jsx(StepFormContext.Provider, { value: ctx, children: /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-6", className), children: [
|
|
8205
8436
|
/* @__PURE__ */ jsx(StepIndicator, { steps, currentStep }),
|
|
@@ -8208,7 +8439,7 @@ function StepForm({ steps, onSubmit, children, className }) {
|
|
|
8208
8439
|
] }) });
|
|
8209
8440
|
}
|
|
8210
8441
|
function StepIndicator({ steps, currentStep }) {
|
|
8211
|
-
return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: steps.map((label, i) => /* @__PURE__ */ jsxs(
|
|
8442
|
+
return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: steps.map((label, i) => /* @__PURE__ */ jsxs(React136__default.Fragment, { children: [
|
|
8212
8443
|
i > 0 && /* @__PURE__ */ jsx("div", { className: cn("h-px flex-1 bg-[hsl(var(--border))]", i <= currentStep && "bg-[hsl(var(--primary))]") }),
|
|
8213
8444
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-1", children: [
|
|
8214
8445
|
/* @__PURE__ */ jsx("div", { className: cn(
|
|
@@ -8237,7 +8468,7 @@ function StepFormNavigation({ onSubmit, submitLabel = "Submit" }) {
|
|
|
8237
8468
|
isLast ? /* @__PURE__ */ jsx(Button, { type: "button", onClick: onSubmit, children: submitLabel }) : /* @__PURE__ */ jsx(Button, { type: "button", onClick: next, children: "Next" })
|
|
8238
8469
|
] });
|
|
8239
8470
|
}
|
|
8240
|
-
var Tags =
|
|
8471
|
+
var Tags = React136__default.forwardRef(
|
|
8241
8472
|
({
|
|
8242
8473
|
value: valueProp,
|
|
8243
8474
|
defaultValue,
|
|
@@ -8253,25 +8484,25 @@ var Tags = React131__default.forwardRef(
|
|
|
8253
8484
|
...props
|
|
8254
8485
|
}, ref) => {
|
|
8255
8486
|
const isControlled = valueProp !== void 0;
|
|
8256
|
-
const [internal, setInternal] =
|
|
8487
|
+
const [internal, setInternal] = React136__default.useState(defaultValue ?? []);
|
|
8257
8488
|
const tags = isControlled ? valueProp : internal;
|
|
8258
|
-
const [input, setInput] =
|
|
8259
|
-
const [error, setError] =
|
|
8260
|
-
const [focused, setFocused] =
|
|
8261
|
-
const [activeIndex, setActiveIndex] =
|
|
8262
|
-
const inputRef =
|
|
8263
|
-
const containerRef =
|
|
8264
|
-
|
|
8489
|
+
const [input, setInput] = React136__default.useState("");
|
|
8490
|
+
const [error, setError] = React136__default.useState(null);
|
|
8491
|
+
const [focused, setFocused] = React136__default.useState(false);
|
|
8492
|
+
const [activeIndex, setActiveIndex] = React136__default.useState(0);
|
|
8493
|
+
const inputRef = React136__default.useRef(null);
|
|
8494
|
+
const containerRef = React136__default.useRef(null);
|
|
8495
|
+
React136__default.useImperativeHandle(ref, () => containerRef.current);
|
|
8265
8496
|
const atMax = maxTags !== void 0 && tags.length >= maxTags;
|
|
8266
8497
|
const inputDisabled = disabled || atMax;
|
|
8267
|
-
const commit =
|
|
8498
|
+
const commit = React136__default.useCallback(
|
|
8268
8499
|
(next) => {
|
|
8269
8500
|
if (!isControlled) setInternal(next);
|
|
8270
8501
|
onValueChange?.(next);
|
|
8271
8502
|
},
|
|
8272
8503
|
[isControlled, onValueChange]
|
|
8273
8504
|
);
|
|
8274
|
-
const addTag =
|
|
8505
|
+
const addTag = React136__default.useCallback(
|
|
8275
8506
|
(raw) => {
|
|
8276
8507
|
const tag = raw.trim();
|
|
8277
8508
|
if (!tag) return false;
|
|
@@ -8297,20 +8528,20 @@ var Tags = React131__default.forwardRef(
|
|
|
8297
8528
|
},
|
|
8298
8529
|
[tags, allowDuplicates, validate, atMax, commit]
|
|
8299
8530
|
);
|
|
8300
|
-
const removeTag =
|
|
8531
|
+
const removeTag = React136__default.useCallback(
|
|
8301
8532
|
(index) => {
|
|
8302
8533
|
commit(tags.filter((_, i) => i !== index));
|
|
8303
8534
|
setError(null);
|
|
8304
8535
|
},
|
|
8305
8536
|
[tags, commit]
|
|
8306
8537
|
);
|
|
8307
|
-
const filteredSuggestions =
|
|
8538
|
+
const filteredSuggestions = React136__default.useMemo(() => {
|
|
8308
8539
|
if (!suggestions || !input.trim()) return [];
|
|
8309
8540
|
const q = input.trim().toLowerCase();
|
|
8310
8541
|
return suggestions.filter((s) => s.toLowerCase().includes(q)).filter((s) => allowDuplicates || !tags.includes(s)).slice(0, 8);
|
|
8311
8542
|
}, [suggestions, input, tags, allowDuplicates]);
|
|
8312
8543
|
const showPopover = focused && !inputDisabled && filteredSuggestions.length > 0;
|
|
8313
|
-
|
|
8544
|
+
React136__default.useEffect(() => {
|
|
8314
8545
|
if (activeIndex >= filteredSuggestions.length) setActiveIndex(0);
|
|
8315
8546
|
}, [filteredSuggestions.length, activeIndex]);
|
|
8316
8547
|
const handleKeyDown = (e) => {
|
|
@@ -8452,7 +8683,7 @@ var Tags = React131__default.forwardRef(
|
|
|
8452
8683
|
}
|
|
8453
8684
|
);
|
|
8454
8685
|
Tags.displayName = "Tags";
|
|
8455
|
-
var AppShellCtx =
|
|
8686
|
+
var AppShellCtx = React136__default.createContext({
|
|
8456
8687
|
collapsed: false,
|
|
8457
8688
|
setCollapsed: () => {
|
|
8458
8689
|
},
|
|
@@ -8460,12 +8691,12 @@ var AppShellCtx = React131__default.createContext({
|
|
|
8460
8691
|
setMobileOpen: () => {
|
|
8461
8692
|
}
|
|
8462
8693
|
});
|
|
8463
|
-
var useAppShell = () =>
|
|
8464
|
-
var AppShell =
|
|
8694
|
+
var useAppShell = () => React136__default.useContext(AppShellCtx);
|
|
8695
|
+
var AppShell = React136__default.forwardRef(
|
|
8465
8696
|
({ className, defaultCollapsed = false, children, ...props }, ref) => {
|
|
8466
|
-
const [collapsed, setCollapsed] =
|
|
8467
|
-
const [mobileOpen, setMobileOpen] =
|
|
8468
|
-
|
|
8697
|
+
const [collapsed, setCollapsed] = React136__default.useState(defaultCollapsed);
|
|
8698
|
+
const [mobileOpen, setMobileOpen] = React136__default.useState(false);
|
|
8699
|
+
React136__default.useEffect(() => {
|
|
8469
8700
|
const handleClick = (e) => {
|
|
8470
8701
|
const target = e.target;
|
|
8471
8702
|
if (target.closest("a[href]") || target.closest("[data-mobile-close]")) {
|
|
@@ -8496,7 +8727,7 @@ var AppShell = React131__default.forwardRef(
|
|
|
8496
8727
|
}
|
|
8497
8728
|
);
|
|
8498
8729
|
AppShell.displayName = "AppShell";
|
|
8499
|
-
var AppShellSidebar =
|
|
8730
|
+
var AppShellSidebar = React136__default.forwardRef(
|
|
8500
8731
|
({ className, ...props }, ref) => {
|
|
8501
8732
|
const { mobileOpen } = useAppShell();
|
|
8502
8733
|
return /* @__PURE__ */ jsx(
|
|
@@ -8517,11 +8748,11 @@ var AppShellSidebar = React131__default.forwardRef(
|
|
|
8517
8748
|
}
|
|
8518
8749
|
);
|
|
8519
8750
|
AppShellSidebar.displayName = "AppShellSidebar";
|
|
8520
|
-
var AppShellMain =
|
|
8751
|
+
var AppShellMain = React136__default.forwardRef(
|
|
8521
8752
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex-1 min-w-0 flex flex-col overflow-auto", className), ...props })
|
|
8522
8753
|
);
|
|
8523
8754
|
AppShellMain.displayName = "AppShellMain";
|
|
8524
|
-
var MobileSidebarTrigger =
|
|
8755
|
+
var MobileSidebarTrigger = React136__default.forwardRef(
|
|
8525
8756
|
({ className, ...props }, ref) => {
|
|
8526
8757
|
const { mobileOpen, setMobileOpen } = useAppShell();
|
|
8527
8758
|
return /* @__PURE__ */ jsx(
|
|
@@ -8550,7 +8781,7 @@ var sizeMap5 = {
|
|
|
8550
8781
|
xl: "max-w-screen-xl",
|
|
8551
8782
|
full: "max-w-full"
|
|
8552
8783
|
};
|
|
8553
|
-
var Container =
|
|
8784
|
+
var Container = React136__default.forwardRef(
|
|
8554
8785
|
({ className, size = "lg", noPadding = false, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8555
8786
|
"div",
|
|
8556
8787
|
{
|
|
@@ -8566,7 +8797,7 @@ var Container = React131__default.forwardRef(
|
|
|
8566
8797
|
)
|
|
8567
8798
|
);
|
|
8568
8799
|
Container.displayName = "Container";
|
|
8569
|
-
var Navbar =
|
|
8800
|
+
var Navbar = React136__default.forwardRef(
|
|
8570
8801
|
({ className, sticky = false, border = true, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8571
8802
|
"nav",
|
|
8572
8803
|
{
|
|
@@ -8582,7 +8813,7 @@ var Navbar = React131__default.forwardRef(
|
|
|
8582
8813
|
)
|
|
8583
8814
|
);
|
|
8584
8815
|
Navbar.displayName = "Navbar";
|
|
8585
|
-
var NavbarBrand =
|
|
8816
|
+
var NavbarBrand = React136__default.forwardRef(
|
|
8586
8817
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center gap-2 px-4 shrink-0", className), ...props })
|
|
8587
8818
|
);
|
|
8588
8819
|
NavbarBrand.displayName = "NavbarBrand";
|
|
@@ -8591,7 +8822,7 @@ var alignMap = {
|
|
|
8591
8822
|
center: "justify-center flex-1",
|
|
8592
8823
|
end: "justify-end ml-auto"
|
|
8593
8824
|
};
|
|
8594
|
-
var NavbarContent =
|
|
8825
|
+
var NavbarContent = React136__default.forwardRef(
|
|
8595
8826
|
({ className, align = "start", ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8596
8827
|
"div",
|
|
8597
8828
|
{
|
|
@@ -8602,11 +8833,11 @@ var NavbarContent = React131__default.forwardRef(
|
|
|
8602
8833
|
)
|
|
8603
8834
|
);
|
|
8604
8835
|
NavbarContent.displayName = "NavbarContent";
|
|
8605
|
-
var NavbarItem =
|
|
8836
|
+
var NavbarItem = React136__default.forwardRef(
|
|
8606
8837
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center", className), ...props })
|
|
8607
8838
|
);
|
|
8608
8839
|
NavbarItem.displayName = "NavbarItem";
|
|
8609
|
-
var Page =
|
|
8840
|
+
var Page = React136__default.forwardRef(
|
|
8610
8841
|
({ className, maxWidth, style, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8611
8842
|
"div",
|
|
8612
8843
|
{
|
|
@@ -8618,7 +8849,7 @@ var Page = React131__default.forwardRef(
|
|
|
8618
8849
|
)
|
|
8619
8850
|
);
|
|
8620
8851
|
Page.displayName = "Page";
|
|
8621
|
-
var PageHeader =
|
|
8852
|
+
var PageHeader = React136__default.forwardRef(
|
|
8622
8853
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8623
8854
|
"div",
|
|
8624
8855
|
{
|
|
@@ -8629,7 +8860,7 @@ var PageHeader = React131__default.forwardRef(
|
|
|
8629
8860
|
)
|
|
8630
8861
|
);
|
|
8631
8862
|
PageHeader.displayName = "PageHeader";
|
|
8632
|
-
var PageTitle =
|
|
8863
|
+
var PageTitle = React136__default.forwardRef(
|
|
8633
8864
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8634
8865
|
"h1",
|
|
8635
8866
|
{
|
|
@@ -8640,19 +8871,19 @@ var PageTitle = React131__default.forwardRef(
|
|
|
8640
8871
|
)
|
|
8641
8872
|
);
|
|
8642
8873
|
PageTitle.displayName = "PageTitle";
|
|
8643
|
-
var PageDescription =
|
|
8874
|
+
var PageDescription = React136__default.forwardRef(
|
|
8644
8875
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("p", { ref, className: cn("text-sm text-[hsl(var(--muted-foreground))] mt-1", className), ...props })
|
|
8645
8876
|
);
|
|
8646
8877
|
PageDescription.displayName = "PageDescription";
|
|
8647
|
-
var PageActions =
|
|
8878
|
+
var PageActions = React136__default.forwardRef(
|
|
8648
8879
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center gap-2 shrink-0", className), ...props })
|
|
8649
8880
|
);
|
|
8650
8881
|
PageActions.displayName = "PageActions";
|
|
8651
|
-
var PageBody =
|
|
8882
|
+
var PageBody = React136__default.forwardRef(
|
|
8652
8883
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex-1 p-6 flex flex-col gap-6", className), ...props })
|
|
8653
8884
|
);
|
|
8654
8885
|
PageBody.displayName = "PageBody";
|
|
8655
|
-
var ResizeBox =
|
|
8886
|
+
var ResizeBox = React136__default.forwardRef(
|
|
8656
8887
|
({ className, resize = "both", minWidth = 100, minHeight = 100, style, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8657
8888
|
"div",
|
|
8658
8889
|
{
|
|
@@ -8669,7 +8900,7 @@ var HandleIcon = () => /* @__PURE__ */ jsxs("svg", { width: "10", height: "10",
|
|
|
8669
8900
|
/* @__PURE__ */ jsx("path", { d: "M8 5L5 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }),
|
|
8670
8901
|
/* @__PURE__ */ jsx("path", { d: "M8 8L8 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
|
|
8671
8902
|
] });
|
|
8672
|
-
var ResizeHandle =
|
|
8903
|
+
var ResizeHandle = React136__default.forwardRef(
|
|
8673
8904
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8674
8905
|
"div",
|
|
8675
8906
|
{
|
|
@@ -8685,16 +8916,16 @@ var ResizeHandle = React131__default.forwardRef(
|
|
|
8685
8916
|
)
|
|
8686
8917
|
);
|
|
8687
8918
|
ResizeHandle.displayName = "ResizeHandle";
|
|
8688
|
-
var SidebarCtx2 =
|
|
8689
|
-
var useSidebarCtx = () =>
|
|
8919
|
+
var SidebarCtx2 = React136__default.createContext({ collapsed: false });
|
|
8920
|
+
var useSidebarCtx = () => React136__default.useContext(SidebarCtx2);
|
|
8690
8921
|
var makeSlot = (name, cls) => {
|
|
8691
|
-
const C =
|
|
8922
|
+
const C = React136__default.forwardRef(
|
|
8692
8923
|
({ className, ...p }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn(cls, className), ...p })
|
|
8693
8924
|
);
|
|
8694
8925
|
C.displayName = name;
|
|
8695
8926
|
return C;
|
|
8696
8927
|
};
|
|
8697
|
-
var Sidebar2 =
|
|
8928
|
+
var Sidebar2 = React136__default.forwardRef(
|
|
8698
8929
|
({ className, collapsed = false, onCollapse, width = "240px", style, children, ...props }, ref) => /* @__PURE__ */ jsx(SidebarCtx2.Provider, { value: { collapsed }, children: /* @__PURE__ */ jsxs(
|
|
8699
8930
|
"div",
|
|
8700
8931
|
{
|
|
@@ -8722,7 +8953,7 @@ var SidebarContent = makeSlot("SidebarContent", "flex-1 overflow-y-auto py-2");
|
|
|
8722
8953
|
var SidebarFooter2 = makeSlot("SidebarFooter", "px-3 py-3 border-t border-[hsl(var(--border))] shrink-0");
|
|
8723
8954
|
var SidebarGroup = makeSlot("SidebarGroup", "mb-2");
|
|
8724
8955
|
var SidebarSeparator2 = makeSlot("SidebarSeparator", "h-px bg-[hsl(var(--border))] mx-3 my-2");
|
|
8725
|
-
var SidebarGroupLabel =
|
|
8956
|
+
var SidebarGroupLabel = React136__default.forwardRef(
|
|
8726
8957
|
({ className, ...props }, ref) => {
|
|
8727
8958
|
const { collapsed } = useSidebarCtx();
|
|
8728
8959
|
return /* @__PURE__ */ jsx(
|
|
@@ -8736,7 +8967,7 @@ var SidebarGroupLabel = React131__default.forwardRef(
|
|
|
8736
8967
|
}
|
|
8737
8968
|
);
|
|
8738
8969
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
8739
|
-
var SidebarItem2 =
|
|
8970
|
+
var SidebarItem2 = React136__default.forwardRef(
|
|
8740
8971
|
({ className, icon, label, active, href, badge, onClick, ...props }, ref) => {
|
|
8741
8972
|
const { collapsed } = useSidebarCtx();
|
|
8742
8973
|
const cls = cn(
|
|
@@ -8755,11 +8986,11 @@ var SidebarItem2 = React131__default.forwardRef(
|
|
|
8755
8986
|
}
|
|
8756
8987
|
);
|
|
8757
8988
|
SidebarItem2.displayName = "SidebarItem";
|
|
8758
|
-
var SplitPage =
|
|
8989
|
+
var SplitPage = React136__default.forwardRef(
|
|
8759
8990
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex h-full w-full overflow-hidden", className), ...props })
|
|
8760
8991
|
);
|
|
8761
8992
|
SplitPage.displayName = "SplitPage";
|
|
8762
|
-
var SplitPageList =
|
|
8993
|
+
var SplitPageList = React136__default.forwardRef(
|
|
8763
8994
|
({ className, width = "320px", style, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8764
8995
|
"div",
|
|
8765
8996
|
{
|
|
@@ -8771,7 +9002,7 @@ var SplitPageList = React131__default.forwardRef(
|
|
|
8771
9002
|
)
|
|
8772
9003
|
);
|
|
8773
9004
|
SplitPageList.displayName = "SplitPageList";
|
|
8774
|
-
var SplitPageDetail =
|
|
9005
|
+
var SplitPageDetail = React136__default.forwardRef(
|
|
8775
9006
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex-1 min-w-0 h-full overflow-auto", className), ...props })
|
|
8776
9007
|
);
|
|
8777
9008
|
SplitPageDetail.displayName = "SplitPageDetail";
|
|
@@ -8796,7 +9027,7 @@ var justifyMap = {
|
|
|
8796
9027
|
around: "justify-around",
|
|
8797
9028
|
evenly: "justify-evenly"
|
|
8798
9029
|
};
|
|
8799
|
-
var Stack =
|
|
9030
|
+
var Stack = React136__default.forwardRef(
|
|
8800
9031
|
({ className, gap, direction = "col", align, justify, wrap, style, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8801
9032
|
"div",
|
|
8802
9033
|
{
|
|
@@ -8815,15 +9046,15 @@ var Stack = React131__default.forwardRef(
|
|
|
8815
9046
|
)
|
|
8816
9047
|
);
|
|
8817
9048
|
Stack.displayName = "Stack";
|
|
8818
|
-
var HStack =
|
|
9049
|
+
var HStack = React136__default.forwardRef(
|
|
8819
9050
|
(props, ref) => /* @__PURE__ */ jsx(Stack, { ref, direction: "row", ...props })
|
|
8820
9051
|
);
|
|
8821
9052
|
HStack.displayName = "HStack";
|
|
8822
|
-
var VStack =
|
|
9053
|
+
var VStack = React136__default.forwardRef(
|
|
8823
9054
|
(props, ref) => /* @__PURE__ */ jsx(Stack, { ref, direction: "col", ...props })
|
|
8824
9055
|
);
|
|
8825
9056
|
VStack.displayName = "VStack";
|
|
8826
|
-
var PageLayout =
|
|
9057
|
+
var PageLayout = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8827
9058
|
"div",
|
|
8828
9059
|
{
|
|
8829
9060
|
ref,
|
|
@@ -8833,7 +9064,7 @@ var PageLayout = React131__default.forwardRef(({ className, ...props }, ref) =>
|
|
|
8833
9064
|
}
|
|
8834
9065
|
));
|
|
8835
9066
|
PageLayout.displayName = "PageLayout";
|
|
8836
|
-
var PageHeader2 =
|
|
9067
|
+
var PageHeader2 = React136__default.forwardRef(
|
|
8837
9068
|
({ className, title, description, actions, back, children }, ref) => /* @__PURE__ */ jsxs(
|
|
8838
9069
|
"div",
|
|
8839
9070
|
{
|
|
@@ -8855,7 +9086,7 @@ var PageHeader2 = React131__default.forwardRef(
|
|
|
8855
9086
|
)
|
|
8856
9087
|
);
|
|
8857
9088
|
PageHeader2.displayName = "PageHeader";
|
|
8858
|
-
var PageContainer =
|
|
9089
|
+
var PageContainer = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8859
9090
|
"div",
|
|
8860
9091
|
{
|
|
8861
9092
|
ref,
|
|
@@ -8869,7 +9100,7 @@ var PageContainer = React131__default.forwardRef(({ className, ...props }, ref)
|
|
|
8869
9100
|
}
|
|
8870
9101
|
));
|
|
8871
9102
|
PageContainer.displayName = "PageContainer";
|
|
8872
|
-
var PageMain =
|
|
9103
|
+
var PageMain = React136__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
8873
9104
|
"div",
|
|
8874
9105
|
{
|
|
8875
9106
|
ref,
|
|
@@ -9315,7 +9546,7 @@ var directionClasses = {
|
|
|
9315
9546
|
bl: "bg-gradient-to-bl",
|
|
9316
9547
|
l: "bg-gradient-to-l"
|
|
9317
9548
|
};
|
|
9318
|
-
var GradientHeading =
|
|
9549
|
+
var GradientHeading = React136__default.forwardRef(
|
|
9319
9550
|
({
|
|
9320
9551
|
as: Tag = "h2",
|
|
9321
9552
|
preset = "primary",
|
|
@@ -9361,7 +9592,7 @@ function formatNumber(value, decimals, format3, locale) {
|
|
|
9361
9592
|
}
|
|
9362
9593
|
return decimals > 0 ? value.toFixed(decimals) : String(Math.round(value));
|
|
9363
9594
|
}
|
|
9364
|
-
var AnimatedNumber =
|
|
9595
|
+
var AnimatedNumber = React136__default.forwardRef(
|
|
9365
9596
|
({
|
|
9366
9597
|
value,
|
|
9367
9598
|
from = 0,
|
|
@@ -9381,7 +9612,7 @@ var AnimatedNumber = React131__default.forwardRef(
|
|
|
9381
9612
|
const startTimeRef = useRef(null);
|
|
9382
9613
|
const containerRef = useRef(null);
|
|
9383
9614
|
const hasStarted = useRef(false);
|
|
9384
|
-
const runAnimation =
|
|
9615
|
+
const runAnimation = React136__default.useCallback(
|
|
9385
9616
|
(startFrom) => {
|
|
9386
9617
|
if (rafRef.current !== null) cancelAnimationFrame(rafRef.current);
|
|
9387
9618
|
startTimeRef.current = null;
|
|
@@ -9493,7 +9724,7 @@ function TextReveal({
|
|
|
9493
9724
|
}
|
|
9494
9725
|
}, [autoStart, delay]);
|
|
9495
9726
|
const units = mode === "chars" ? text.split("") : mode === "words" ? text.split(" ") : [text];
|
|
9496
|
-
return
|
|
9727
|
+
return React136__default.createElement(
|
|
9497
9728
|
Tag,
|
|
9498
9729
|
{
|
|
9499
9730
|
ref: containerRef,
|
|
@@ -9573,7 +9804,7 @@ function Typewriter({
|
|
|
9573
9804
|
if (timerRef.current) clearTimeout(timerRef.current);
|
|
9574
9805
|
};
|
|
9575
9806
|
}, [display, phase, wordIdx, words, typeSpeed, deleteSpeed, pauseAfter, loop]);
|
|
9576
|
-
return
|
|
9807
|
+
return React136__default.createElement(
|
|
9577
9808
|
Tag,
|
|
9578
9809
|
{
|
|
9579
9810
|
"data-slot": "typewriter",
|
|
@@ -9612,9 +9843,9 @@ var headingVariants = cva("font-heading tracking-tight text-foreground", {
|
|
|
9612
9843
|
},
|
|
9613
9844
|
defaultVariants: { size: "lg", tone: "default" }
|
|
9614
9845
|
});
|
|
9615
|
-
var Heading =
|
|
9846
|
+
var Heading = React136__default.forwardRef(
|
|
9616
9847
|
({ as: Tag = "h2", size, tone, className, ...props }, ref) => {
|
|
9617
|
-
return
|
|
9848
|
+
return React136__default.createElement(Tag, {
|
|
9618
9849
|
ref,
|
|
9619
9850
|
"data-slot": "heading",
|
|
9620
9851
|
className: cn(headingVariants({ size, tone }), className),
|
|
@@ -9644,9 +9875,9 @@ var bodyVariants = cva("font-sans", {
|
|
|
9644
9875
|
},
|
|
9645
9876
|
defaultVariants: { size: "md", tone: "default", weight: "normal" }
|
|
9646
9877
|
});
|
|
9647
|
-
var Body =
|
|
9878
|
+
var Body = React136__default.forwardRef(
|
|
9648
9879
|
({ as: Tag = "p", size, tone, weight, className, ...props }, ref) => {
|
|
9649
|
-
return
|
|
9880
|
+
return React136__default.createElement(Tag, {
|
|
9650
9881
|
ref,
|
|
9651
9882
|
"data-slot": "body",
|
|
9652
9883
|
className: cn(bodyVariants({ size, tone, weight }), className),
|
|
@@ -9665,7 +9896,7 @@ var captionVariants = cva("font-sans text-[11px] font-semibold uppercase trackin
|
|
|
9665
9896
|
},
|
|
9666
9897
|
defaultVariants: { tone: "default" }
|
|
9667
9898
|
});
|
|
9668
|
-
var Caption =
|
|
9899
|
+
var Caption = React136__default.forwardRef(
|
|
9669
9900
|
({ tone, className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
9670
9901
|
"span",
|
|
9671
9902
|
{
|
|
@@ -9677,7 +9908,7 @@ var Caption = React131__default.forwardRef(
|
|
|
9677
9908
|
)
|
|
9678
9909
|
);
|
|
9679
9910
|
Caption.displayName = "Caption";
|
|
9680
|
-
var Code3 =
|
|
9911
|
+
var Code3 = React136__default.forwardRef(
|
|
9681
9912
|
({ block, className, children, ...props }, ref) => {
|
|
9682
9913
|
if (block) {
|
|
9683
9914
|
return /* @__PURE__ */ jsx(
|
|
@@ -9729,7 +9960,7 @@ var presetStyles = {
|
|
|
9729
9960
|
},
|
|
9730
9961
|
custom: {}
|
|
9731
9962
|
};
|
|
9732
|
-
var GradientBackground =
|
|
9963
|
+
var GradientBackground = React136__default.forwardRef(
|
|
9733
9964
|
({
|
|
9734
9965
|
fixed = false,
|
|
9735
9966
|
preset = "slate",
|
|
@@ -9788,7 +10019,7 @@ var DEFAULT_COLORS4 = [
|
|
|
9788
10019
|
"hsl(280 100% 70% / 0.25)",
|
|
9789
10020
|
"hsl(217 33% 17% / 0.4)"
|
|
9790
10021
|
];
|
|
9791
|
-
var AnimatedGradient =
|
|
10022
|
+
var AnimatedGradient = React136__default.forwardRef(
|
|
9792
10023
|
({
|
|
9793
10024
|
colors = DEFAULT_COLORS4,
|
|
9794
10025
|
speed = 1,
|
|
@@ -9907,7 +10138,7 @@ var AnimatedGradient = React131__default.forwardRef(
|
|
|
9907
10138
|
}
|
|
9908
10139
|
);
|
|
9909
10140
|
AnimatedGradient.displayName = "AnimatedGradient";
|
|
9910
|
-
var DottedBackground =
|
|
10141
|
+
var DottedBackground = React136__default.forwardRef(
|
|
9911
10142
|
({
|
|
9912
10143
|
color,
|
|
9913
10144
|
dotSize = 1,
|
|
@@ -9954,7 +10185,7 @@ var DottedBackground = React131__default.forwardRef(
|
|
|
9954
10185
|
}
|
|
9955
10186
|
);
|
|
9956
10187
|
DottedBackground.displayName = "DottedBackground";
|
|
9957
|
-
var NoiseBackground =
|
|
10188
|
+
var NoiseBackground = React136__default.forwardRef(
|
|
9958
10189
|
({
|
|
9959
10190
|
opacity = 0.04,
|
|
9960
10191
|
frequency = 0.65,
|
|
@@ -10050,7 +10281,7 @@ var DEFAULT_COLORS5 = [
|
|
|
10050
10281
|
[0.55, 0.3, 0.95]
|
|
10051
10282
|
// chart-3 violet
|
|
10052
10283
|
];
|
|
10053
|
-
var HeroShaderA =
|
|
10284
|
+
var HeroShaderA = React136__default.forwardRef(
|
|
10054
10285
|
({
|
|
10055
10286
|
className,
|
|
10056
10287
|
colors = DEFAULT_COLORS5,
|
|
@@ -10064,7 +10295,7 @@ var HeroShaderA = React131__default.forwardRef(
|
|
|
10064
10295
|
const wrapRef = useRef(null);
|
|
10065
10296
|
const canvasRef = useRef(null);
|
|
10066
10297
|
const fallbackRef = useRef(false);
|
|
10067
|
-
|
|
10298
|
+
React136__default.useImperativeHandle(ref, () => wrapRef.current);
|
|
10068
10299
|
useEffect(() => {
|
|
10069
10300
|
if (typeof window === "undefined") return;
|
|
10070
10301
|
const reduceMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
@@ -10201,7 +10432,7 @@ var HeroShaderA = React131__default.forwardRef(
|
|
|
10201
10432
|
}
|
|
10202
10433
|
);
|
|
10203
10434
|
HeroShaderA.displayName = "HeroShaderA";
|
|
10204
|
-
var ScrollHeader =
|
|
10435
|
+
var ScrollHeader = React136__default.forwardRef(
|
|
10205
10436
|
({
|
|
10206
10437
|
title,
|
|
10207
10438
|
subtitle,
|
|
@@ -10288,7 +10519,7 @@ var DEFAULT_TRANSITION = {
|
|
|
10288
10519
|
ease: [0.16, 1, 0.3, 1]
|
|
10289
10520
|
// ease-out-expo (BezierDefinition)
|
|
10290
10521
|
};
|
|
10291
|
-
var FadeIn =
|
|
10522
|
+
var FadeIn = React136__default.forwardRef(
|
|
10292
10523
|
({ delay = 0, duration, children, ...props }, ref) => {
|
|
10293
10524
|
const transition = {
|
|
10294
10525
|
...DEFAULT_TRANSITION,
|
|
@@ -10316,7 +10547,7 @@ var DIRECTION_PRESET_MAP = {
|
|
|
10316
10547
|
left: "slideLeft",
|
|
10317
10548
|
right: "slideRight"
|
|
10318
10549
|
};
|
|
10319
|
-
var SlideIn =
|
|
10550
|
+
var SlideIn = React136__default.forwardRef(
|
|
10320
10551
|
({ direction = "up", delay = 0, duration, children, ...props }, ref) => {
|
|
10321
10552
|
const preset = MOTION_PRESETS[DIRECTION_PRESET_MAP[direction]];
|
|
10322
10553
|
const transition = {
|
|
@@ -10339,7 +10570,7 @@ var SlideIn = React131__default.forwardRef(
|
|
|
10339
10570
|
}
|
|
10340
10571
|
);
|
|
10341
10572
|
SlideIn.displayName = "SlideIn";
|
|
10342
|
-
var ScaleIn =
|
|
10573
|
+
var ScaleIn = React136__default.forwardRef(
|
|
10343
10574
|
({ delay = 0, duration, children, ...props }, ref) => {
|
|
10344
10575
|
const transition = {
|
|
10345
10576
|
...DEFAULT_TRANSITION,
|
|
@@ -10403,16 +10634,16 @@ function Stagger({ staggerDelay = 0.05, preset = "fadeIn", children, className,
|
|
|
10403
10634
|
initial: "hidden",
|
|
10404
10635
|
animate: isInView ? "visible" : "hidden",
|
|
10405
10636
|
className,
|
|
10406
|
-
children:
|
|
10637
|
+
children: React136__default.Children.map(children, (child, i) => /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: child }, i))
|
|
10407
10638
|
}
|
|
10408
10639
|
);
|
|
10409
10640
|
}
|
|
10410
|
-
var Morph =
|
|
10641
|
+
var Morph = React136__default.forwardRef(
|
|
10411
10642
|
({ layoutId, children, ...props }, ref) => /* @__PURE__ */ jsx(motion.div, { ref, layoutId, layout: true, ...props, children })
|
|
10412
10643
|
);
|
|
10413
10644
|
Morph.displayName = "Morph";
|
|
10414
10645
|
var rippleCounter = 0;
|
|
10415
|
-
var Ripple =
|
|
10646
|
+
var Ripple = React136__default.forwardRef(
|
|
10416
10647
|
({ color = "currentColor", duration = 0.6, children, style, ...props }, ref) => {
|
|
10417
10648
|
const [ripples, setRipples] = useState([]);
|
|
10418
10649
|
const handlePointerDown = useCallback(
|
|
@@ -10468,7 +10699,7 @@ var Ripple = React131__default.forwardRef(
|
|
|
10468
10699
|
}
|
|
10469
10700
|
);
|
|
10470
10701
|
Ripple.displayName = "Ripple";
|
|
10471
|
-
var Parallax =
|
|
10702
|
+
var Parallax = React136__default.forwardRef(
|
|
10472
10703
|
({ offset = 50, scrollRef, children, style, ...props }, ref) => {
|
|
10473
10704
|
const innerRef = useRef(null);
|
|
10474
10705
|
const resolvedRef = ref ?? innerRef;
|
|
@@ -10497,7 +10728,7 @@ function useLayoutId(key) {
|
|
|
10497
10728
|
function Transition({ show = true, children, mode = "wait" }) {
|
|
10498
10729
|
return /* @__PURE__ */ jsx(AnimatePresence, { mode, children: show ? children : null });
|
|
10499
10730
|
}
|
|
10500
|
-
var DataList =
|
|
10731
|
+
var DataList = React136__default.forwardRef(
|
|
10501
10732
|
({ divided = true, bordered = true, className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
10502
10733
|
"ul",
|
|
10503
10734
|
{
|
|
@@ -10514,7 +10745,7 @@ var DataList = React131__default.forwardRef(
|
|
|
10514
10745
|
)
|
|
10515
10746
|
);
|
|
10516
10747
|
DataList.displayName = "DataList";
|
|
10517
|
-
var DataListItem =
|
|
10748
|
+
var DataListItem = React136__default.forwardRef(
|
|
10518
10749
|
({ left, title, description, right, interactive, onSelect, className, children, ...props }, ref) => {
|
|
10519
10750
|
const clickable = interactive || !!onSelect;
|
|
10520
10751
|
return /* @__PURE__ */ jsxs(
|
|
@@ -10574,7 +10805,7 @@ function getWeekDays(date, weekStartsOn) {
|
|
|
10574
10805
|
const start = startOfWeek$1(date, { weekStartsOn });
|
|
10575
10806
|
return Array.from({ length: 7 }, (_, i) => addDays(start, i));
|
|
10576
10807
|
}
|
|
10577
|
-
var EventCalendar =
|
|
10808
|
+
var EventCalendar = React136__default.forwardRef(
|
|
10578
10809
|
({
|
|
10579
10810
|
events,
|
|
10580
10811
|
view: viewProp,
|
|
@@ -10589,20 +10820,20 @@ var EventCalendar = React131__default.forwardRef(
|
|
|
10589
10820
|
className,
|
|
10590
10821
|
...props
|
|
10591
10822
|
}, ref) => {
|
|
10592
|
-
const [internalView, setInternalView] =
|
|
10823
|
+
const [internalView, setInternalView] = React136__default.useState("month");
|
|
10593
10824
|
const view = viewProp ?? internalView;
|
|
10594
|
-
const commitView =
|
|
10825
|
+
const commitView = React136__default.useCallback(
|
|
10595
10826
|
(next) => {
|
|
10596
10827
|
if (viewProp === void 0) setInternalView(next);
|
|
10597
10828
|
onViewChange?.(next);
|
|
10598
10829
|
},
|
|
10599
10830
|
[viewProp, onViewChange]
|
|
10600
10831
|
);
|
|
10601
|
-
const [internalDate, setInternalDate] =
|
|
10832
|
+
const [internalDate, setInternalDate] = React136__default.useState(
|
|
10602
10833
|
() => defaultDate ?? /* @__PURE__ */ new Date()
|
|
10603
10834
|
);
|
|
10604
10835
|
const date = dateProp ?? internalDate;
|
|
10605
|
-
const commitDate =
|
|
10836
|
+
const commitDate = React136__default.useCallback(
|
|
10606
10837
|
(next) => {
|
|
10607
10838
|
if (dateProp === void 0) setInternalDate(next);
|
|
10608
10839
|
onDateChange?.(next);
|
|
@@ -10628,7 +10859,7 @@ var EventCalendar = React131__default.forwardRef(
|
|
|
10628
10859
|
handleToday();
|
|
10629
10860
|
}
|
|
10630
10861
|
};
|
|
10631
|
-
const headerLabel =
|
|
10862
|
+
const headerLabel = React136__default.useMemo(() => {
|
|
10632
10863
|
if (view === "month") return format(date, "MMMM yyyy");
|
|
10633
10864
|
if (view === "week") {
|
|
10634
10865
|
const start = startOfWeek$1(date, { weekStartsOn });
|
|
@@ -10777,11 +11008,11 @@ function MonthView({
|
|
|
10777
11008
|
onEventCreate,
|
|
10778
11009
|
onDayPick
|
|
10779
11010
|
}) {
|
|
10780
|
-
const cells =
|
|
11011
|
+
const cells = React136__default.useMemo(
|
|
10781
11012
|
() => getMonthMatrix(date, weekStartsOn),
|
|
10782
11013
|
[date, weekStartsOn]
|
|
10783
11014
|
);
|
|
10784
|
-
const weekdayLabels =
|
|
11015
|
+
const weekdayLabels = React136__default.useMemo(() => {
|
|
10785
11016
|
const start = startOfWeek$1(/* @__PURE__ */ new Date(), { weekStartsOn });
|
|
10786
11017
|
return Array.from({ length: 7 }, (_, i) => format(addDays(start, i), "EEE"));
|
|
10787
11018
|
}, [weekStartsOn]);
|
|
@@ -10928,7 +11159,7 @@ function HourGrid({
|
|
|
10928
11159
|
onEventCreate,
|
|
10929
11160
|
onEventResize
|
|
10930
11161
|
}) {
|
|
10931
|
-
const hours =
|
|
11162
|
+
const hours = React136__default.useMemo(() => Array.from({ length: 24 }, (_, i) => i), []);
|
|
10932
11163
|
const today = /* @__PURE__ */ new Date();
|
|
10933
11164
|
return /* @__PURE__ */ jsxs(
|
|
10934
11165
|
"div",
|
|
@@ -10982,7 +11213,7 @@ function DayColumn({
|
|
|
10982
11213
|
onEventResize,
|
|
10983
11214
|
showHeader
|
|
10984
11215
|
}) {
|
|
10985
|
-
const bodyRef =
|
|
11216
|
+
const bodyRef = React136__default.useRef(null);
|
|
10986
11217
|
const handleEmptyClick = (e) => {
|
|
10987
11218
|
if (e.target.closest("[data-event-block]")) return;
|
|
10988
11219
|
if (!onEventCreate) return;
|
|
@@ -11063,10 +11294,10 @@ function EventBlock({ event, day, onClick, onResize }) {
|
|
|
11063
11294
|
differenceInMinutes(visibleEnd, visibleStart)
|
|
11064
11295
|
);
|
|
11065
11296
|
const top = startMinutes / 60 * HOUR_ROW_PX;
|
|
11066
|
-
const [resizingDelta, setResizingDelta] =
|
|
11297
|
+
const [resizingDelta, setResizingDelta] = React136__default.useState(0);
|
|
11067
11298
|
const height = durationMinutes / 60 * HOUR_ROW_PX + resizingDelta;
|
|
11068
|
-
const isResizing =
|
|
11069
|
-
const startY =
|
|
11299
|
+
const isResizing = React136__default.useRef(false);
|
|
11300
|
+
const startY = React136__default.useRef(0);
|
|
11070
11301
|
const handleResizePointerDown = (e) => {
|
|
11071
11302
|
if (!onResize) return;
|
|
11072
11303
|
e.preventDefault();
|
|
@@ -11155,7 +11386,7 @@ function WeekView({
|
|
|
11155
11386
|
onEventCreate,
|
|
11156
11387
|
onEventResize
|
|
11157
11388
|
}) {
|
|
11158
|
-
const days =
|
|
11389
|
+
const days = React136__default.useMemo(
|
|
11159
11390
|
() => getWeekDays(date, weekStartsOn),
|
|
11160
11391
|
[date, weekStartsOn]
|
|
11161
11392
|
);
|
|
@@ -11188,7 +11419,7 @@ function DayView({
|
|
|
11188
11419
|
}
|
|
11189
11420
|
) });
|
|
11190
11421
|
}
|
|
11191
|
-
var GridList =
|
|
11422
|
+
var GridList = React136__default.forwardRef(
|
|
11192
11423
|
({ minItemWidth = 240, gap = 1, className, style, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
11193
11424
|
"ul",
|
|
11194
11425
|
{
|
|
@@ -11205,7 +11436,7 @@ var GridList = React131__default.forwardRef(
|
|
|
11205
11436
|
)
|
|
11206
11437
|
);
|
|
11207
11438
|
GridList.displayName = "GridList";
|
|
11208
|
-
var GridListItem =
|
|
11439
|
+
var GridListItem = React136__default.forwardRef(
|
|
11209
11440
|
({ interactive, onSelect, className, ...props }, ref) => {
|
|
11210
11441
|
const clickable = interactive || !!onSelect;
|
|
11211
11442
|
return /* @__PURE__ */ jsx(
|
|
@@ -11276,7 +11507,7 @@ async function extractCroppedDataUrl(image, crop, format3, quality) {
|
|
|
11276
11507
|
const mime = format3 === "jpeg" ? "image/jpeg" : format3 === "webp" ? "image/webp" : "image/png";
|
|
11277
11508
|
return canvas.toDataURL(mime, quality);
|
|
11278
11509
|
}
|
|
11279
|
-
var ImageCrop =
|
|
11510
|
+
var ImageCrop = React136__default.forwardRef(
|
|
11280
11511
|
({
|
|
11281
11512
|
src,
|
|
11282
11513
|
aspect,
|
|
@@ -11291,13 +11522,13 @@ var ImageCrop = React131__default.forwardRef(
|
|
|
11291
11522
|
className,
|
|
11292
11523
|
...props
|
|
11293
11524
|
}, ref) => {
|
|
11294
|
-
const [crop, setCrop] =
|
|
11295
|
-
const imgRef =
|
|
11296
|
-
const timerRef =
|
|
11297
|
-
|
|
11525
|
+
const [crop, setCrop] = React136__default.useState(void 0);
|
|
11526
|
+
const imgRef = React136__default.useRef(null);
|
|
11527
|
+
const timerRef = React136__default.useRef(null);
|
|
11528
|
+
React136__default.useEffect(() => {
|
|
11298
11529
|
setCrop(void 0);
|
|
11299
11530
|
}, [src]);
|
|
11300
|
-
|
|
11531
|
+
React136__default.useEffect(() => {
|
|
11301
11532
|
return () => {
|
|
11302
11533
|
if (timerRef.current) clearTimeout(timerRef.current);
|
|
11303
11534
|
};
|
|
@@ -11522,7 +11753,7 @@ function TreeRow({
|
|
|
11522
11753
|
}
|
|
11523
11754
|
);
|
|
11524
11755
|
}
|
|
11525
|
-
var Tree =
|
|
11756
|
+
var Tree = React136__default.forwardRef(
|
|
11526
11757
|
({
|
|
11527
11758
|
data,
|
|
11528
11759
|
defaultExpandedIds,
|
|
@@ -11538,21 +11769,21 @@ var Tree = React131__default.forwardRef(
|
|
|
11538
11769
|
...props
|
|
11539
11770
|
}, ref) => {
|
|
11540
11771
|
const isControlled = expandedIds !== void 0;
|
|
11541
|
-
const [internalExpanded, setInternalExpanded] =
|
|
11772
|
+
const [internalExpanded, setInternalExpanded] = React136__default.useState(
|
|
11542
11773
|
() => new Set(defaultExpandedIds ?? [])
|
|
11543
11774
|
);
|
|
11544
|
-
const expandedSet =
|
|
11775
|
+
const expandedSet = React136__default.useMemo(
|
|
11545
11776
|
() => isControlled ? new Set(expandedIds) : internalExpanded,
|
|
11546
11777
|
[isControlled, expandedIds, internalExpanded]
|
|
11547
11778
|
);
|
|
11548
|
-
const commitExpanded =
|
|
11779
|
+
const commitExpanded = React136__default.useCallback(
|
|
11549
11780
|
(next) => {
|
|
11550
11781
|
if (!isControlled) setInternalExpanded(next);
|
|
11551
11782
|
onExpandedChange?.(Array.from(next));
|
|
11552
11783
|
},
|
|
11553
11784
|
[isControlled, onExpandedChange]
|
|
11554
11785
|
);
|
|
11555
|
-
const toggle =
|
|
11786
|
+
const toggle = React136__default.useCallback(
|
|
11556
11787
|
(id) => {
|
|
11557
11788
|
const next = new Set(expandedSet);
|
|
11558
11789
|
if (next.has(id)) next.delete(id);
|
|
@@ -11561,7 +11792,7 @@ var Tree = React131__default.forwardRef(
|
|
|
11561
11792
|
},
|
|
11562
11793
|
[expandedSet, commitExpanded]
|
|
11563
11794
|
);
|
|
11564
|
-
const expand =
|
|
11795
|
+
const expand = React136__default.useCallback(
|
|
11565
11796
|
(id) => {
|
|
11566
11797
|
if (expandedSet.has(id)) return;
|
|
11567
11798
|
const next = new Set(expandedSet);
|
|
@@ -11570,7 +11801,7 @@ var Tree = React131__default.forwardRef(
|
|
|
11570
11801
|
},
|
|
11571
11802
|
[expandedSet, commitExpanded]
|
|
11572
11803
|
);
|
|
11573
|
-
const collapse =
|
|
11804
|
+
const collapse = React136__default.useCallback(
|
|
11574
11805
|
(id) => {
|
|
11575
11806
|
if (!expandedSet.has(id)) return;
|
|
11576
11807
|
const next = new Set(expandedSet);
|
|
@@ -11579,27 +11810,27 @@ var Tree = React131__default.forwardRef(
|
|
|
11579
11810
|
},
|
|
11580
11811
|
[expandedSet, commitExpanded]
|
|
11581
11812
|
);
|
|
11582
|
-
const rows =
|
|
11813
|
+
const rows = React136__default.useMemo(
|
|
11583
11814
|
() => flatten(data, expandedSet),
|
|
11584
11815
|
[data, expandedSet]
|
|
11585
11816
|
);
|
|
11586
|
-
const [focusedId, setFocusedId] =
|
|
11817
|
+
const [focusedId, setFocusedId] = React136__default.useState(
|
|
11587
11818
|
() => selectedId ?? data[0]?.id ?? null
|
|
11588
11819
|
);
|
|
11589
|
-
const rowRefs =
|
|
11590
|
-
const registerRef =
|
|
11820
|
+
const rowRefs = React136__default.useRef(/* @__PURE__ */ new Map());
|
|
11821
|
+
const registerRef = React136__default.useCallback(
|
|
11591
11822
|
(id, el) => {
|
|
11592
11823
|
if (el) rowRefs.current.set(id, el);
|
|
11593
11824
|
else rowRefs.current.delete(id);
|
|
11594
11825
|
},
|
|
11595
11826
|
[]
|
|
11596
11827
|
);
|
|
11597
|
-
const moveFocus =
|
|
11828
|
+
const moveFocus = React136__default.useCallback((id) => {
|
|
11598
11829
|
setFocusedId(id);
|
|
11599
11830
|
const el = rowRefs.current.get(id);
|
|
11600
11831
|
el?.focus();
|
|
11601
11832
|
}, []);
|
|
11602
|
-
const onRowKeyDown =
|
|
11833
|
+
const onRowKeyDown = React136__default.useCallback(
|
|
11603
11834
|
(e, row) => {
|
|
11604
11835
|
const idx = rows.findIndex((r) => r.node.id === row.node.id);
|
|
11605
11836
|
if (idx === -1) return;
|
|
@@ -11649,11 +11880,11 @@ var Tree = React131__default.forwardRef(
|
|
|
11649
11880
|
useSensor(PointerSensor, { activationConstraint: { distance: 5 } }),
|
|
11650
11881
|
useSensor(KeyboardSensor)
|
|
11651
11882
|
);
|
|
11652
|
-
const [activeDragId, setActiveDragId] =
|
|
11653
|
-
const handleDragStart =
|
|
11883
|
+
const [activeDragId, setActiveDragId] = React136__default.useState(null);
|
|
11884
|
+
const handleDragStart = React136__default.useCallback((e) => {
|
|
11654
11885
|
setActiveDragId(String(e.active.id));
|
|
11655
11886
|
}, []);
|
|
11656
|
-
const handleDragEnd =
|
|
11887
|
+
const handleDragEnd = React136__default.useCallback(
|
|
11657
11888
|
(e) => {
|
|
11658
11889
|
setActiveDragId(null);
|
|
11659
11890
|
const { active, over } = e;
|
|
@@ -11669,8 +11900,8 @@ var Tree = React131__default.forwardRef(
|
|
|
11669
11900
|
},
|
|
11670
11901
|
[onMove]
|
|
11671
11902
|
);
|
|
11672
|
-
const handleDragCancel =
|
|
11673
|
-
const scrollerRef =
|
|
11903
|
+
const handleDragCancel = React136__default.useCallback(() => setActiveDragId(null), []);
|
|
11904
|
+
const scrollerRef = React136__default.useRef(null);
|
|
11674
11905
|
const virtualizer = useVirtualizer({
|
|
11675
11906
|
count: virtualize ? rows.length : 0,
|
|
11676
11907
|
getScrollElement: () => scrollerRef.current,
|
|
@@ -11772,7 +12003,7 @@ async function exitFs() {
|
|
|
11772
12003
|
if (d.exitFullscreen) return void d.exitFullscreen();
|
|
11773
12004
|
if (d.webkitExitFullscreen) return void d.webkitExitFullscreen();
|
|
11774
12005
|
}
|
|
11775
|
-
var VideoPlayer =
|
|
12006
|
+
var VideoPlayer = React136__default.forwardRef(
|
|
11776
12007
|
({
|
|
11777
12008
|
src,
|
|
11778
12009
|
poster,
|
|
@@ -11789,33 +12020,33 @@ var VideoPlayer = React131__default.forwardRef(
|
|
|
11789
12020
|
muted: mutedProp,
|
|
11790
12021
|
...videoProps
|
|
11791
12022
|
}, ref) => {
|
|
11792
|
-
const containerRef =
|
|
11793
|
-
const videoRef =
|
|
11794
|
-
const hideTimerRef =
|
|
11795
|
-
const [isPlaying, setIsPlaying] =
|
|
11796
|
-
const [hasPlayed, setHasPlayed] =
|
|
11797
|
-
const [currentTime, setCurrentTime] =
|
|
11798
|
-
const [duration, setDuration] =
|
|
11799
|
-
const [buffered, setBuffered] =
|
|
11800
|
-
const [volume, setVolume] =
|
|
11801
|
-
const [isMuted, setIsMuted] =
|
|
11802
|
-
const [isFullscreen, setIsFullscreen] =
|
|
11803
|
-
const [showControls, setShowControls] =
|
|
11804
|
-
|
|
11805
|
-
|
|
12023
|
+
const containerRef = React136__default.useRef(null);
|
|
12024
|
+
const videoRef = React136__default.useRef(null);
|
|
12025
|
+
const hideTimerRef = React136__default.useRef(null);
|
|
12026
|
+
const [isPlaying, setIsPlaying] = React136__default.useState(false);
|
|
12027
|
+
const [hasPlayed, setHasPlayed] = React136__default.useState(Boolean(autoPlay));
|
|
12028
|
+
const [currentTime, setCurrentTime] = React136__default.useState(0);
|
|
12029
|
+
const [duration, setDuration] = React136__default.useState(0);
|
|
12030
|
+
const [buffered, setBuffered] = React136__default.useState(0);
|
|
12031
|
+
const [volume, setVolume] = React136__default.useState(1);
|
|
12032
|
+
const [isMuted, setIsMuted] = React136__default.useState(Boolean(mutedProp ?? autoPlay));
|
|
12033
|
+
const [isFullscreen, setIsFullscreen] = React136__default.useState(false);
|
|
12034
|
+
const [showControls, setShowControls] = React136__default.useState(true);
|
|
12035
|
+
React136__default.useImperativeHandle(ref, () => containerRef.current);
|
|
12036
|
+
React136__default.useEffect(() => {
|
|
11806
12037
|
const v = videoRef.current;
|
|
11807
12038
|
if (!v) return;
|
|
11808
12039
|
v.volume = volume;
|
|
11809
12040
|
v.muted = isMuted;
|
|
11810
12041
|
}, [volume, isMuted]);
|
|
11811
|
-
const showAndScheduleHide =
|
|
12042
|
+
const showAndScheduleHide = React136__default.useCallback(() => {
|
|
11812
12043
|
setShowControls(true);
|
|
11813
12044
|
if (hideTimerRef.current) clearTimeout(hideTimerRef.current);
|
|
11814
12045
|
if (isPlaying) {
|
|
11815
12046
|
hideTimerRef.current = setTimeout(() => setShowControls(false), 3e3);
|
|
11816
12047
|
}
|
|
11817
12048
|
}, [isPlaying]);
|
|
11818
|
-
|
|
12049
|
+
React136__default.useEffect(() => {
|
|
11819
12050
|
if (!isPlaying) {
|
|
11820
12051
|
if (hideTimerRef.current) clearTimeout(hideTimerRef.current);
|
|
11821
12052
|
setShowControls(true);
|
|
@@ -11826,7 +12057,7 @@ var VideoPlayer = React131__default.forwardRef(
|
|
|
11826
12057
|
if (hideTimerRef.current) clearTimeout(hideTimerRef.current);
|
|
11827
12058
|
};
|
|
11828
12059
|
}, [isPlaying]);
|
|
11829
|
-
|
|
12060
|
+
React136__default.useEffect(() => {
|
|
11830
12061
|
const onFsChange = () => setIsFullscreen(isFullscreenActive());
|
|
11831
12062
|
document.addEventListener("fullscreenchange", onFsChange);
|
|
11832
12063
|
document.addEventListener("webkitfullscreenchange", onFsChange);
|
|
@@ -11835,7 +12066,7 @@ var VideoPlayer = React131__default.forwardRef(
|
|
|
11835
12066
|
document.removeEventListener("webkitfullscreenchange", onFsChange);
|
|
11836
12067
|
};
|
|
11837
12068
|
}, []);
|
|
11838
|
-
const togglePlay =
|
|
12069
|
+
const togglePlay = React136__default.useCallback(() => {
|
|
11839
12070
|
const v = videoRef.current;
|
|
11840
12071
|
if (!v) return;
|
|
11841
12072
|
if (v.paused) {
|
|
@@ -11844,22 +12075,22 @@ var VideoPlayer = React131__default.forwardRef(
|
|
|
11844
12075
|
v.pause();
|
|
11845
12076
|
}
|
|
11846
12077
|
}, []);
|
|
11847
|
-
const toggleMute =
|
|
12078
|
+
const toggleMute = React136__default.useCallback(() => {
|
|
11848
12079
|
setIsMuted((m) => !m);
|
|
11849
12080
|
}, []);
|
|
11850
|
-
const toggleFullscreen =
|
|
12081
|
+
const toggleFullscreen = React136__default.useCallback(() => {
|
|
11851
12082
|
const el = containerRef.current;
|
|
11852
12083
|
if (!el) return;
|
|
11853
12084
|
if (isFullscreenActive()) void exitFs();
|
|
11854
12085
|
else void requestFs(el);
|
|
11855
12086
|
}, []);
|
|
11856
|
-
const seekTo =
|
|
12087
|
+
const seekTo = React136__default.useCallback((time) => {
|
|
11857
12088
|
const v = videoRef.current;
|
|
11858
12089
|
if (!v) return;
|
|
11859
12090
|
const clamped = Math.max(0, Math.min(v.duration || 0, time));
|
|
11860
12091
|
v.currentTime = clamped;
|
|
11861
12092
|
}, []);
|
|
11862
|
-
const seekBy =
|
|
12093
|
+
const seekBy = React136__default.useCallback(
|
|
11863
12094
|
(delta) => {
|
|
11864
12095
|
seekTo((videoRef.current?.currentTime ?? 0) + delta);
|
|
11865
12096
|
},
|
|
@@ -12207,7 +12438,7 @@ function Combobox({
|
|
|
12207
12438
|
className,
|
|
12208
12439
|
contentWidth = "trigger"
|
|
12209
12440
|
}) {
|
|
12210
|
-
const [open, setOpen] =
|
|
12441
|
+
const [open, setOpen] = React136__default.useState(false);
|
|
12211
12442
|
const selected = options.find((o) => o.value === value);
|
|
12212
12443
|
return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
|
|
12213
12444
|
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
@@ -12301,9 +12532,9 @@ function ColorSchemeSelect({
|
|
|
12301
12532
|
className
|
|
12302
12533
|
}) {
|
|
12303
12534
|
const fallback = defaultValue ?? options[0]?.value ?? "";
|
|
12304
|
-
const [value, setValue] =
|
|
12305
|
-
const didMount =
|
|
12306
|
-
|
|
12535
|
+
const [value, setValue] = React136__default.useState(() => readInitial2(fallback));
|
|
12536
|
+
const didMount = React136__default.useRef(false);
|
|
12537
|
+
React136__default.useEffect(() => {
|
|
12307
12538
|
if (!didMount.current) {
|
|
12308
12539
|
didMount.current = true;
|
|
12309
12540
|
return;
|
|
@@ -12749,6 +12980,6 @@ function SortableNav({ items, onReorder, className }) {
|
|
|
12749
12980
|
return /* @__PURE__ */ jsx(DndContext, { sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd, children: /* @__PURE__ */ jsx(SortableContext, { items: items.map((i) => i.id), strategy: verticalListSortingStrategy, children: /* @__PURE__ */ jsx("nav", { "data-slot": "sortable-nav", className: cn("space-y-0.5 px-2 py-1", className), children: items.map((item) => /* @__PURE__ */ jsx(SortableNavItemWrapper, { item }, item.id)) }) }) });
|
|
12750
12981
|
}
|
|
12751
12982
|
|
|
12752
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityHeatmap, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AnimatedGradient, AnimatedNumber, AppShell, AppShellMain, AppShellSidebar, AppShellUserMenu, Sidebar as AppSidebar, AreaChart, ArrayField, AspectRatio, AutoForm, Avatar, AvatarFallback, AvatarGroup, AvatarImage, Badge, Banner, BarChart, BarList, Beacon, BillingStatus, Body, Breadcrumb, BreadcrumbItem, BreadcrumbPage, BreadcrumbSeparator, BulkActions, Button, Calendar, CalendarDayButton, Caption, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatDetail, Checkbox, Checklist, ChecklistItem, Code3 as Code, CodeBlock, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ColorPicker, ColorSchemeSelect, Combobox, Command, CommandBar, CommandBarEmpty, CommandBarGroup, CommandBarItem, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandItem2 as CommandListItem, CommandPalette, CommandPaletteProvider, CommandSeparator, CommandShortcut, Comparison, Container, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DEFAULT_THEME_OPTIONS, DEFAULT_TRANSITION, DataGrid, DataList, DataListItem, DataTable, DataTableColumnHeader, DataTablePagination, DataTableToolbar, DatePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DottedBackground, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyStateIcon, EventCalendar, FadeIn, FeedbackModal, Field, FieldDescription, FieldError, FieldLabel, FileCards, FileUpload, FileUploadPreview, FilesList, FilterBadge, FilterItem, Filters, FloatingActionButton, FloatingLabelInput, FloatingThemePicker, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Gantt, GradientBackground, GradientHeading, GridList, GridListItem, HStack, Heading, Heatmap, HelpSheet, HeroShaderA, HotkeyBadge, Hotkeys, HotkeysProvider, HoverCard, HoverCardContent, HoverCardTrigger, IconBadge, ImageCrop, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, IntegrationCard, IntroDisclosure, InviteModal, Kanban, KanbanCard, KanbanColumn, Label3 as Label, LineChart, LoadingOverlay, LogoCarousel, MOTION_PRESETS, ManageTagsModal, Marquee, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessagesCard, MetricCard, MetricCardWithButton, MetricCardWithIcon, MobileSidebarTrigger, Morph, Navbar, NavbarBrand, NavbarContent, NavbarItem, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NoiseBackground, NotificationSettings, ObjectField, OrgMenu, Page, PageActions, PageBody, PageContainer, PageDescription, PageHeader, PageLayout, PageMain, PageTitle, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PaletteSwatches, Parallax, PasswordInput, Persona, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, PropertyItem, PropertyList, QrCode, RadioGroup4 as RadioGroup, RadioGroupItem, Rating, ResizableHandle, ResizablePanel, ResizablePanelGroup, ResizeBox, ResizeHandle, Reveal, RichEditor, Ripple, RolesMenu, ScaleIn, ScrollArea, ScrollBar, ScrollHeader, SearchInput, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectUsersModal, SelectValue, Separator6 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, AppShell2 as Shell, Sidebar2 as Sidebar, SidebarContent, SidebarFooter2 as SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader2 as SidebarHeader, SidebarItem2 as SidebarItem, SidebarLayoutDashboard, SidebarLayoutGroups, SidebarLayoutMinimal, SidebarLayoutSearch, SidebarLayoutUser, SidebarResizer, SidebarSeparator2 as SidebarSeparator, Skeleton, SlideIn, Slider, SortableNav, SortableTaskList, Sparkline, Spinner, SplitPage, SplitPageDetail, SplitPageList, Stack, StackedLayoutBranded, StackedLayoutTabs, Stagger, Stat, StatGroup, StepForm, StepFormNavigation, StepFormStep, Stepper, StepperStep, StructuredList, StructuredListItem, StructuredListSection, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tags, TaskCard, TaskCardWithLabels, TextReveal, Textarea, TextureCard, TextureCardDescription, TextureCardHeader, TextureCardTitle, ThemeSwitch, Timeline, TimelineConnector, TimelineContent, TimelineItem, Toaster, Toggle, ToggleButton, ToggleButtonGroup, ToggleGroup, ToggleGroupItem, Tooltip2 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Tour, TourStep, Transition, Tree, Typewriter, UserMenu, VStack, VideoPlayer, WorkspaceMembers, WorkspacesMenu, badgeVariants, buttonVariants, cn, navigationMenuTriggerStyle, toastFn as toast, toastEmitter, toggleVariants, useAppShell, useCommandBar, useCommandPalette, useHotkeys, useLayoutId, useSidebar, useTour };
|
|
12983
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityHeatmap, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AnimatedGradient, AnimatedNumber, AppShell, AppShellMain, AppShellSidebar, AppShellUserMenu, Sidebar as AppSidebar, AreaChart, ArrayField, AspectRatio, AutoForm, Avatar, AvatarFallback, AvatarGroup, AvatarImage, Badge, Banner, BarChart, BarList, Beacon, BillingStatus, Body, Breadcrumb, BreadcrumbItem, BreadcrumbPage, BreadcrumbSeparator, BulkActions, Button, Calendar, CalendarDayButton, Caption, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, CartLineItem, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatDetail, Checkbox, Checklist, ChecklistItem, Code3 as Code, CodeBlock, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ColorPicker, ColorSchemeSelect, Combobox, Command, CommandBar, CommandBarEmpty, CommandBarGroup, CommandBarItem, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandItem2 as CommandListItem, CommandPalette, CommandPaletteProvider, CommandSeparator, CommandShortcut, Comparison, Container, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DEFAULT_THEME_OPTIONS, DEFAULT_TRANSITION, DataGrid, DataList, DataListItem, DataTable, DataTableColumnHeader, DataTablePagination, DataTableToolbar, DatePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DottedBackground, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyCart, EmptyState, EmptyStateIcon, EventCalendar, FadeIn, FeedbackModal, Field, FieldDescription, FieldError, FieldLabel, FileCards, FileUpload, FileUploadPreview, FilesList, FilterBadge, FilterItem, Filters, FloatingActionButton, FloatingLabelInput, FloatingThemePicker, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Gantt, GradientBackground, GradientHeading, GridList, GridListItem, HStack, Heading, Heatmap, HelpSheet, HeroShaderA, HotkeyBadge, Hotkeys, HotkeysProvider, HoverCard, HoverCardContent, HoverCardTrigger, IconBadge, ImageCrop, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, IntegrationCard, IntroDisclosure, InviteModal, Kanban, KanbanCard, KanbanColumn, Label3 as Label, LineChart, LoadingOverlay, LogoCarousel, MOTION_PRESETS, ManageTagsModal, Marquee, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessagesCard, MetricCard, MetricCardWithButton, MetricCardWithIcon, MobileSidebarTrigger, Morph, Navbar, NavbarBrand, NavbarContent, NavbarItem, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NoiseBackground, NotificationSettings, ObjectField, OrgMenu, Page, PageActions, PageBody, PageContainer, PageDescription, PageHeader, PageLayout, PageMain, PageTitle, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PaletteSwatches, Parallax, PasswordInput, Persona, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PriceTag, Progress, PropertyItem, PropertyList, QrCode, QuantityStepper, RadioGroup4 as RadioGroup, RadioGroupItem, Rating, ResizableHandle, ResizablePanel, ResizablePanelGroup, ResizeBox, ResizeHandle, Reveal, RichEditor, Ripple, RolesMenu, ScaleIn, ScrollArea, ScrollBar, ScrollHeader, SearchInput, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectUsersModal, SelectValue, Separator6 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, AppShell2 as Shell, Sidebar2 as Sidebar, SidebarContent, SidebarFooter2 as SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader2 as SidebarHeader, SidebarItem2 as SidebarItem, SidebarLayoutDashboard, SidebarLayoutGroups, SidebarLayoutMinimal, SidebarLayoutSearch, SidebarLayoutUser, SidebarResizer, SidebarSeparator2 as SidebarSeparator, Skeleton, SlideIn, Slider, SortableNav, SortableTaskList, Sparkline, Spinner, SplitPage, SplitPageDetail, SplitPageList, Stack, StackedLayoutBranded, StackedLayoutTabs, Stagger, Stat, StatGroup, StepForm, StepFormNavigation, StepFormStep, Stepper, StepperStep, StructuredList, StructuredListItem, StructuredListSection, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tags, TaskCard, TaskCardWithLabels, TextReveal, Textarea, TextureCard, TextureCardDescription, TextureCardHeader, TextureCardTitle, ThemeSwitch, Timeline, TimelineConnector, TimelineContent, TimelineItem, Toaster, Toggle, ToggleButton, ToggleButtonGroup, ToggleGroup, ToggleGroupItem, Tooltip2 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Tour, TourStep, Transition, Tree, Typewriter, UserMenu, VStack, VariantPicker, VideoPlayer, WorkspaceMembers, WorkspacesMenu, badgeVariants, buttonVariants, cn, navigationMenuTriggerStyle, toastFn as toast, toastEmitter, toggleVariants, useAppShell, useCommandBar, useCommandPalette, useHotkeys, useLayoutId, useSidebar, useTour };
|
|
12753
12984
|
//# sourceMappingURL=index.mjs.map
|
|
12754
12985
|
//# sourceMappingURL=index.mjs.map
|