@yuva-devlab/ui 1.1.0 → 1.3.0
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/common.css +158 -0
- package/dist/components/accordion/accordion.css +49 -0
- package/dist/components/alert/alert.css +63 -0
- package/dist/components/alert/alert.mdx +26 -0
- package/dist/components/alert-dialog/alert-dialog.css +84 -0
- package/dist/components/avatar/avatar.css +26 -0
- package/dist/components/avatar/avatar.mdx +18 -0
- package/dist/components/badge/badge.css +76 -0
- package/dist/components/badge/badge.mdx +24 -0
- package/dist/components/breadcrumb/breadcrumb.css +63 -0
- package/dist/components/button/button.css +106 -0
- package/dist/components/button/button.mdx +40 -0
- package/dist/components/card/card.css +30 -0
- package/dist/components/card/card.mdx +18 -0
- package/dist/components/carousel/carousel.css +67 -0
- package/dist/components/chart/chart.css +38 -0
- package/dist/components/checkbox/checkbox.css +27 -0
- package/dist/components/checkbox/checkbox.mdx +22 -0
- package/dist/components/command/command.css +125 -0
- package/dist/components/context-menu/context-menu.css +19 -0
- package/dist/components/date-picker/date-picker.css +30 -0
- package/dist/components/dialog/dialog.css +145 -0
- package/dist/components/dialog/dialog.mdx +18 -0
- package/dist/components/drawer/drawer.css +64 -0
- package/dist/components/dropdown-menu/dropdown-menu.css +82 -0
- package/dist/components/form/form.css +17 -0
- package/dist/components/hover-card/hover-card.css +23 -0
- package/dist/components/input/input.css +89 -0
- package/dist/components/input/input.mdx +30 -0
- package/dist/components/input-otp/input-otp.css +70 -0
- package/dist/components/label/label.css +9 -0
- package/dist/components/loading-state/loading-state.css +26 -0
- package/dist/components/menubar/menubar.css +36 -0
- package/dist/components/navigation-menu/navigation-menu.css +137 -0
- package/dist/components/pagination/pagination.css +43 -0
- package/dist/components/panel/panel.css +24 -0
- package/dist/components/popover/popover.css +17 -0
- package/dist/components/progress/progress.css +15 -0
- package/dist/components/progress/progress.mdx +18 -0
- package/dist/components/radio-group/radio-group.css +37 -0
- package/dist/components/resizable/resizable.css +67 -0
- package/dist/components/scroll-area/scroll-area.css +32 -0
- package/dist/components/searchable-select/searchable-select.css +128 -0
- package/dist/components/select/select.css +97 -0
- package/dist/components/select/select.mdx +18 -0
- package/dist/components/separator/separator.css +14 -0
- package/dist/components/sheet/sheet.css +83 -0
- package/dist/components/sidebar/sidebar.css +18 -0
- package/dist/components/skeleton/skeleton.css +5 -0
- package/dist/components/skeleton/skeleton.mdx +18 -0
- package/dist/components/slider/slider.css +37 -0
- package/dist/components/sonner/sonner.css +25 -0
- package/dist/components/sonner/sonner.mdx +22 -0
- package/dist/components/status-badge/status-badge.css +53 -0
- package/dist/components/status-badge/status-badge.mdx +24 -0
- package/dist/components/status-chip/status-chip.css +44 -0
- package/dist/components/switch/switch.css +45 -0
- package/dist/components/switch/switch.mdx +22 -0
- package/dist/components/table/table.css +46 -0
- package/dist/components/table/table.mdx +18 -0
- package/dist/components/tabs/tabs.css +46 -0
- package/dist/components/tabs/tabs.mdx +18 -0
- package/dist/components/textarea/textarea.css +30 -0
- package/dist/components/toggle/toggle.css +91 -0
- package/dist/components/tooltip/tooltip.css +17 -0
- package/dist/components.css +2618 -0
- package/dist/index.cjs +1447 -1836
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1819 -202
- package/dist/index.d.ts +1819 -202
- package/dist/index.js +1442 -1837
- package/dist/index.js.map +1 -1
- package/dist/preset.css +6 -157
- package/dist/root.css +1 -0
- package/dist/styles/common.css +158 -0
- package/dist/styles/components.css +2618 -0
- package/dist/styles/preset.css +6 -157
- package/dist/styles/root.css +1 -0
- package/dist/styles/styles.css +17 -5
- package/dist/styles/themes/finai.css +1 -114
- package/dist/styles/themes/orchestrai.css +1 -75
- package/dist/styles.css +17 -5
- package/dist/themes/finai.css +1 -114
- package/dist/themes/orchestrai.css +1 -75
- package/package.json +11 -5
package/dist/index.cjs
CHANGED
|
@@ -113,6 +113,7 @@ __export(index_exports, {
|
|
|
113
113
|
ContextMenuTrigger: () => ContextMenuTrigger,
|
|
114
114
|
DatePicker: () => DatePicker,
|
|
115
115
|
Dialog: () => Dialog,
|
|
116
|
+
DialogBody: () => DialogBody,
|
|
116
117
|
DialogClose: () => DialogClose,
|
|
117
118
|
DialogContent: () => DialogContent,
|
|
118
119
|
DialogDescription: () => DialogDescription,
|
|
@@ -195,7 +196,7 @@ __export(index_exports, {
|
|
|
195
196
|
PaginationLink: () => PaginationLink,
|
|
196
197
|
PaginationNext: () => PaginationNext,
|
|
197
198
|
PaginationPrevious: () => PaginationPrevious,
|
|
198
|
-
Panel: () =>
|
|
199
|
+
Panel: () => Panel,
|
|
199
200
|
Popover: () => Popover,
|
|
200
201
|
PopoverAnchor: () => PopoverAnchor,
|
|
201
202
|
PopoverContent: () => PopoverContent,
|
|
@@ -255,6 +256,7 @@ __export(index_exports, {
|
|
|
255
256
|
SidebarTrigger: () => SidebarTrigger,
|
|
256
257
|
Skeleton: () => Skeleton,
|
|
257
258
|
Slider: () => Slider,
|
|
259
|
+
StatusBadge: () => StatusBadge,
|
|
258
260
|
StatusChip: () => StatusChip,
|
|
259
261
|
Switch: () => Switch,
|
|
260
262
|
Table: () => Table,
|
|
@@ -279,12 +281,16 @@ __export(index_exports, {
|
|
|
279
281
|
TooltipContent: () => TooltipContent,
|
|
280
282
|
TooltipProvider: () => TooltipProvider,
|
|
281
283
|
TooltipTrigger: () => TooltipTrigger,
|
|
284
|
+
alertVariants: () => alertVariants,
|
|
282
285
|
badgeVariants: () => badgeVariants,
|
|
283
286
|
buttonVariants: () => buttonVariants,
|
|
284
287
|
cn: () => cn,
|
|
288
|
+
labelVariants: () => labelVariants,
|
|
285
289
|
navigationMenuTriggerStyle: () => navigationMenuTriggerStyle,
|
|
290
|
+
sheetVariants: () => sheetVariants,
|
|
286
291
|
toast: () => import_sonner.toast,
|
|
287
292
|
toggleVariants: () => toggleVariants,
|
|
293
|
+
useCarousel: () => useCarousel,
|
|
288
294
|
useConfig: () => useConfig,
|
|
289
295
|
useFormField: () => useFormField,
|
|
290
296
|
useIsMobile: () => useIsMobile,
|
|
@@ -405,7 +411,7 @@ function useIsMobile() {
|
|
|
405
411
|
return !!isMobile;
|
|
406
412
|
}
|
|
407
413
|
|
|
408
|
-
// src/components/accordion.tsx
|
|
414
|
+
// src/components/accordion/accordion.tsx
|
|
409
415
|
var React3 = __toESM(require("react"), 1);
|
|
410
416
|
var AccordionPrimitive = __toESM(require("@radix-ui/react-accordion"), 1);
|
|
411
417
|
var import_lucide_react = require("lucide-react");
|
|
@@ -415,23 +421,20 @@ var AccordionItem = React3.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
415
421
|
AccordionPrimitive.Item,
|
|
416
422
|
{
|
|
417
423
|
ref,
|
|
418
|
-
className: cn("
|
|
424
|
+
className: cn("dl-accordion-item", className),
|
|
419
425
|
...props
|
|
420
426
|
}
|
|
421
427
|
));
|
|
422
428
|
AccordionItem.displayName = "AccordionItem";
|
|
423
|
-
var AccordionTrigger = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(AccordionPrimitive.Header, { className: "
|
|
429
|
+
var AccordionTrigger = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(AccordionPrimitive.Header, { className: "dl-accordion-header", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
|
|
424
430
|
AccordionPrimitive.Trigger,
|
|
425
431
|
{
|
|
426
432
|
ref,
|
|
427
|
-
className: cn(
|
|
428
|
-
"flex flex-1 items-center justify-between py-4 text-sm font-medium cursor-pointer transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",
|
|
429
|
-
className
|
|
430
|
-
),
|
|
433
|
+
className: cn("dl-accordion-trigger", className),
|
|
431
434
|
...props,
|
|
432
435
|
children: [
|
|
433
436
|
children,
|
|
434
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_lucide_react.ChevronDown, {
|
|
437
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_lucide_react.ChevronDown, { "aria-hidden": "true" })
|
|
435
438
|
]
|
|
436
439
|
}
|
|
437
440
|
) }));
|
|
@@ -440,51 +443,79 @@ var AccordionContent = React3.forwardRef(({ className, children, ...props }, ref
|
|
|
440
443
|
AccordionPrimitive.Content,
|
|
441
444
|
{
|
|
442
445
|
ref,
|
|
443
|
-
className: "
|
|
446
|
+
className: "dl-accordion-content",
|
|
444
447
|
...props,
|
|
445
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: cn("
|
|
448
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: cn("dl-accordion-content__inner", className), children })
|
|
446
449
|
}
|
|
447
450
|
));
|
|
448
451
|
AccordionContent.displayName = AccordionPrimitive.Content.displayName;
|
|
449
452
|
|
|
450
|
-
// src/components/alert
|
|
451
|
-
var React5 = __toESM(require("react"), 1);
|
|
452
|
-
var AlertDialogPrimitive = __toESM(require("@radix-ui/react-alert-dialog"), 1);
|
|
453
|
-
|
|
454
|
-
// src/components/button.tsx
|
|
453
|
+
// src/components/alert/alert.tsx
|
|
455
454
|
var React4 = __toESM(require("react"), 1);
|
|
456
|
-
var import_react_slot = require("@radix-ui/react-slot");
|
|
457
455
|
var import_class_variance_authority = require("class-variance-authority");
|
|
458
456
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
459
|
-
var
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
465
|
-
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
|
466
|
-
outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
|
|
467
|
-
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
468
|
-
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
469
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
470
|
-
},
|
|
471
|
-
size: {
|
|
472
|
-
default: "h-9 px-4 py-2",
|
|
473
|
-
sm: "h-8 rounded-md px-3 text-xs",
|
|
474
|
-
lg: "h-10 rounded-md px-8",
|
|
475
|
-
icon: "size-9"
|
|
476
|
-
}
|
|
477
|
-
},
|
|
478
|
-
defaultVariants: {
|
|
479
|
-
variant: "default",
|
|
480
|
-
size: "default"
|
|
457
|
+
var alertVariants = (0, import_class_variance_authority.cva)("dl-alert", {
|
|
458
|
+
variants: {
|
|
459
|
+
variant: {
|
|
460
|
+
default: "dl-alert--default",
|
|
461
|
+
destructive: "dl-alert--destructive"
|
|
481
462
|
}
|
|
463
|
+
},
|
|
464
|
+
defaultVariants: {
|
|
465
|
+
variant: "default"
|
|
482
466
|
}
|
|
467
|
+
});
|
|
468
|
+
var Alert = React4.forwardRef(
|
|
469
|
+
({ className, variant, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
470
|
+
"div",
|
|
471
|
+
{
|
|
472
|
+
ref,
|
|
473
|
+
role: "alert",
|
|
474
|
+
className: cn(alertVariants({ variant }), className),
|
|
475
|
+
...props
|
|
476
|
+
}
|
|
477
|
+
)
|
|
483
478
|
);
|
|
484
|
-
|
|
479
|
+
Alert.displayName = "Alert";
|
|
480
|
+
var AlertTitle = React4.forwardRef(
|
|
481
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("h5", { ref, className: cn("dl-alert__title", className), ...props })
|
|
482
|
+
);
|
|
483
|
+
AlertTitle.displayName = "AlertTitle";
|
|
484
|
+
var AlertDescription = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { ref, className: cn("dl-alert__desc", className), ...props }));
|
|
485
|
+
AlertDescription.displayName = "AlertDescription";
|
|
486
|
+
|
|
487
|
+
// src/components/alert-dialog/alert-dialog.tsx
|
|
488
|
+
var React6 = __toESM(require("react"), 1);
|
|
489
|
+
var AlertDialogPrimitive = __toESM(require("@radix-ui/react-alert-dialog"), 1);
|
|
490
|
+
|
|
491
|
+
// src/components/button/button.tsx
|
|
492
|
+
var React5 = __toESM(require("react"), 1);
|
|
493
|
+
var import_react_slot = require("@radix-ui/react-slot");
|
|
494
|
+
var import_class_variance_authority2 = require("class-variance-authority");
|
|
495
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
496
|
+
var buttonVariants = (0, import_class_variance_authority2.cva)("dl-btn", {
|
|
497
|
+
variants: {
|
|
498
|
+
variant: {
|
|
499
|
+
default: "dl-btn--default",
|
|
500
|
+
destructive: "dl-btn--destructive",
|
|
501
|
+
outline: "dl-btn--outline",
|
|
502
|
+
secondary: "dl-btn--secondary",
|
|
503
|
+
ghost: "dl-btn--ghost",
|
|
504
|
+
link: "dl-btn--link"
|
|
505
|
+
},
|
|
506
|
+
size: {
|
|
507
|
+
default: "dl-btn--md",
|
|
508
|
+
sm: "dl-btn--sm",
|
|
509
|
+
lg: "dl-btn--lg",
|
|
510
|
+
icon: "dl-btn--icon"
|
|
511
|
+
}
|
|
512
|
+
},
|
|
513
|
+
defaultVariants: { variant: "default", size: "default" }
|
|
514
|
+
});
|
|
515
|
+
var Button = React5.forwardRef(
|
|
485
516
|
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
486
517
|
const Comp = asChild ? import_react_slot.Slot : "button";
|
|
487
|
-
return /* @__PURE__ */ (0,
|
|
518
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
488
519
|
Comp,
|
|
489
520
|
{
|
|
490
521
|
className: cn(buttonVariants({ variant, size, className })),
|
|
@@ -496,33 +527,27 @@ var Button = React4.forwardRef(
|
|
|
496
527
|
);
|
|
497
528
|
Button.displayName = "Button";
|
|
498
529
|
|
|
499
|
-
// src/components/alert-dialog.tsx
|
|
500
|
-
var
|
|
530
|
+
// src/components/alert-dialog/alert-dialog.tsx
|
|
531
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
501
532
|
var AlertDialog = AlertDialogPrimitive.Root;
|
|
502
533
|
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
503
534
|
var AlertDialogPortal = AlertDialogPrimitive.Portal;
|
|
504
|
-
var AlertDialogOverlay =
|
|
535
|
+
var AlertDialogOverlay = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
505
536
|
AlertDialogPrimitive.Overlay,
|
|
506
537
|
{
|
|
507
|
-
className: cn(
|
|
508
|
-
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
509
|
-
className
|
|
510
|
-
),
|
|
538
|
+
className: cn("dl-alert-dialog-overlay", className),
|
|
511
539
|
...props,
|
|
512
540
|
ref
|
|
513
541
|
}
|
|
514
542
|
));
|
|
515
543
|
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
516
|
-
var AlertDialogContent =
|
|
517
|
-
/* @__PURE__ */ (0,
|
|
518
|
-
/* @__PURE__ */ (0,
|
|
544
|
+
var AlertDialogContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(AlertDialogPortal, { children: [
|
|
545
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AlertDialogOverlay, {}),
|
|
546
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
519
547
|
AlertDialogPrimitive.Content,
|
|
520
548
|
{
|
|
521
549
|
ref,
|
|
522
|
-
className: cn(
|
|
523
|
-
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:rounded-lg translate-[-50%]",
|
|
524
|
-
className
|
|
525
|
-
),
|
|
550
|
+
className: cn("dl-alert-dialog-content", className),
|
|
526
551
|
...props
|
|
527
552
|
}
|
|
528
553
|
)
|
|
@@ -531,50 +556,32 @@ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
|
|
|
531
556
|
var AlertDialogHeader = ({
|
|
532
557
|
className,
|
|
533
558
|
...props
|
|
534
|
-
}) => /* @__PURE__ */ (0,
|
|
535
|
-
"div",
|
|
536
|
-
{
|
|
537
|
-
className: cn(
|
|
538
|
-
"flex flex-col space-y-2 text-center sm:text-left",
|
|
539
|
-
className
|
|
540
|
-
),
|
|
541
|
-
...props
|
|
542
|
-
}
|
|
543
|
-
);
|
|
559
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: cn("dl-alert-dialog-header", className), ...props });
|
|
544
560
|
AlertDialogHeader.displayName = "AlertDialogHeader";
|
|
545
561
|
var AlertDialogFooter = ({
|
|
546
562
|
className,
|
|
547
563
|
...props
|
|
548
|
-
}) => /* @__PURE__ */ (0,
|
|
549
|
-
"div",
|
|
550
|
-
{
|
|
551
|
-
className: cn(
|
|
552
|
-
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
553
|
-
className
|
|
554
|
-
),
|
|
555
|
-
...props
|
|
556
|
-
}
|
|
557
|
-
);
|
|
564
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: cn("dl-alert-dialog-footer", className), ...props });
|
|
558
565
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
559
|
-
var AlertDialogTitle =
|
|
566
|
+
var AlertDialogTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
560
567
|
AlertDialogPrimitive.Title,
|
|
561
568
|
{
|
|
562
569
|
ref,
|
|
563
|
-
className: cn("
|
|
570
|
+
className: cn("dl-alert-dialog-title", className),
|
|
564
571
|
...props
|
|
565
572
|
}
|
|
566
573
|
));
|
|
567
574
|
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
|
568
|
-
var AlertDialogDescription =
|
|
575
|
+
var AlertDialogDescription = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
569
576
|
AlertDialogPrimitive.Description,
|
|
570
577
|
{
|
|
571
578
|
ref,
|
|
572
|
-
className: cn("
|
|
579
|
+
className: cn("dl-alert-dialog-desc", className),
|
|
573
580
|
...props
|
|
574
581
|
}
|
|
575
582
|
));
|
|
576
583
|
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
|
577
|
-
var AlertDialogAction =
|
|
584
|
+
var AlertDialogAction = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
578
585
|
AlertDialogPrimitive.Action,
|
|
579
586
|
{
|
|
580
587
|
ref,
|
|
@@ -583,72 +590,21 @@ var AlertDialogAction = React5.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
583
590
|
}
|
|
584
591
|
));
|
|
585
592
|
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
|
586
|
-
var AlertDialogCancel =
|
|
593
|
+
var AlertDialogCancel = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
587
594
|
AlertDialogPrimitive.Cancel,
|
|
588
595
|
{
|
|
589
596
|
ref,
|
|
590
|
-
className: cn(
|
|
591
|
-
buttonVariants({ variant: "outline" }),
|
|
592
|
-
"mt-2 sm:mt-0",
|
|
593
|
-
className
|
|
594
|
-
),
|
|
597
|
+
className: cn(buttonVariants({ variant: "outline" }), className),
|
|
595
598
|
...props
|
|
596
599
|
}
|
|
597
600
|
));
|
|
598
601
|
AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
|
|
599
602
|
|
|
600
|
-
// src/components/
|
|
601
|
-
var React6 = __toESM(require("react"), 1);
|
|
602
|
-
var import_class_variance_authority2 = require("class-variance-authority");
|
|
603
|
-
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
604
|
-
var alertVariants = (0, import_class_variance_authority2.cva)(
|
|
605
|
-
"relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",
|
|
606
|
-
{
|
|
607
|
-
variants: {
|
|
608
|
-
variant: {
|
|
609
|
-
default: "bg-background text-foreground",
|
|
610
|
-
destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"
|
|
611
|
-
}
|
|
612
|
-
},
|
|
613
|
-
defaultVariants: {
|
|
614
|
-
variant: "default"
|
|
615
|
-
}
|
|
616
|
-
}
|
|
617
|
-
);
|
|
618
|
-
var Alert = React6.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
619
|
-
"div",
|
|
620
|
-
{
|
|
621
|
-
ref,
|
|
622
|
-
role: "alert",
|
|
623
|
-
className: cn(alertVariants({ variant }), className),
|
|
624
|
-
...props
|
|
625
|
-
}
|
|
626
|
-
));
|
|
627
|
-
Alert.displayName = "Alert";
|
|
628
|
-
var AlertTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
629
|
-
"h5",
|
|
630
|
-
{
|
|
631
|
-
ref,
|
|
632
|
-
className: cn("mb-1 font-medium leading-none tracking-tight", className),
|
|
633
|
-
...props
|
|
634
|
-
}
|
|
635
|
-
));
|
|
636
|
-
AlertTitle.displayName = "AlertTitle";
|
|
637
|
-
var AlertDescription = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
638
|
-
"div",
|
|
639
|
-
{
|
|
640
|
-
ref,
|
|
641
|
-
className: cn("text-sm [&_p]:leading-relaxed", className),
|
|
642
|
-
...props
|
|
643
|
-
}
|
|
644
|
-
));
|
|
645
|
-
AlertDescription.displayName = "AlertDescription";
|
|
646
|
-
|
|
647
|
-
// src/components/aspect-ratio.tsx
|
|
603
|
+
// src/components/aspect-ratio/aspect-ratio.tsx
|
|
648
604
|
var AspectRatioPrimitive = __toESM(require("@radix-ui/react-aspect-ratio"), 1);
|
|
649
605
|
var AspectRatio = AspectRatioPrimitive.Root;
|
|
650
606
|
|
|
651
|
-
// src/components/avatar.tsx
|
|
607
|
+
// src/components/avatar/avatar.tsx
|
|
652
608
|
var React7 = __toESM(require("react"), 1);
|
|
653
609
|
var AvatarPrimitive = __toESM(require("@radix-ui/react-avatar"), 1);
|
|
654
610
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
@@ -656,10 +612,7 @@ var Avatar = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
656
612
|
AvatarPrimitive.Root,
|
|
657
613
|
{
|
|
658
614
|
ref,
|
|
659
|
-
className: cn(
|
|
660
|
-
"relative flex shrink-0 overflow-hidden rounded-full size-10",
|
|
661
|
-
className
|
|
662
|
-
),
|
|
615
|
+
className: cn("dl-avatar", className),
|
|
663
616
|
...props
|
|
664
617
|
}
|
|
665
618
|
));
|
|
@@ -668,7 +621,7 @@ var AvatarImage = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
668
621
|
AvatarPrimitive.Image,
|
|
669
622
|
{
|
|
670
623
|
ref,
|
|
671
|
-
className: cn("
|
|
624
|
+
className: cn("dl-avatar__img", className),
|
|
672
625
|
...props
|
|
673
626
|
}
|
|
674
627
|
));
|
|
@@ -677,92 +630,77 @@ var AvatarFallback = React7.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
677
630
|
AvatarPrimitive.Fallback,
|
|
678
631
|
{
|
|
679
632
|
ref,
|
|
680
|
-
className: cn(
|
|
681
|
-
"flex items-center justify-center rounded-full bg-muted size-full",
|
|
682
|
-
className
|
|
683
|
-
),
|
|
633
|
+
className: cn("dl-avatar__fallback", className),
|
|
684
634
|
...props
|
|
685
635
|
}
|
|
686
636
|
));
|
|
687
637
|
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
688
638
|
|
|
689
|
-
// src/components/badge.tsx
|
|
639
|
+
// src/components/badge/badge.tsx
|
|
690
640
|
var import_class_variance_authority3 = require("class-variance-authority");
|
|
691
641
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
692
|
-
var badgeVariants = (0, import_class_variance_authority3.cva)(
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
},
|
|
703
|
-
defaultVariants: {
|
|
704
|
-
variant: "default"
|
|
642
|
+
var badgeVariants = (0, import_class_variance_authority3.cva)("dl-badge", {
|
|
643
|
+
variants: {
|
|
644
|
+
variant: {
|
|
645
|
+
default: "dl-badge--default",
|
|
646
|
+
secondary: "dl-badge--secondary",
|
|
647
|
+
destructive: "dl-badge--destructive",
|
|
648
|
+
success: "dl-badge--success",
|
|
649
|
+
warning: "dl-badge--warning",
|
|
650
|
+
info: "dl-badge--info",
|
|
651
|
+
outline: "dl-badge--outline"
|
|
705
652
|
}
|
|
706
|
-
}
|
|
707
|
-
|
|
653
|
+
},
|
|
654
|
+
defaultVariants: { variant: "default" }
|
|
655
|
+
});
|
|
708
656
|
function Badge({ className, variant, ...props }) {
|
|
709
657
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: cn(badgeVariants({ variant }), className), ...props });
|
|
710
658
|
}
|
|
711
659
|
|
|
712
|
-
// src/components/breadcrumb.tsx
|
|
660
|
+
// src/components/breadcrumb/breadcrumb.tsx
|
|
713
661
|
var React8 = __toESM(require("react"), 1);
|
|
714
662
|
var import_react_slot2 = require("@radix-ui/react-slot");
|
|
715
663
|
var import_lucide_react2 = require("lucide-react");
|
|
716
664
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
717
|
-
var Breadcrumb = React8.forwardRef(
|
|
665
|
+
var Breadcrumb = React8.forwardRef(
|
|
666
|
+
({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("nav", { ref, "aria-label": "breadcrumb", ...props })
|
|
667
|
+
);
|
|
718
668
|
Breadcrumb.displayName = "Breadcrumb";
|
|
719
|
-
var BreadcrumbList = React8.forwardRef(
|
|
720
|
-
"ol",
|
|
721
|
-
|
|
722
|
-
ref,
|
|
723
|
-
className: cn(
|
|
724
|
-
"flex flex-wrap items-center gap-1.5 wrap-break-word text-sm text-muted-foreground sm:gap-2.5",
|
|
725
|
-
className
|
|
726
|
-
),
|
|
727
|
-
...props
|
|
728
|
-
}
|
|
729
|
-
));
|
|
669
|
+
var BreadcrumbList = React8.forwardRef(
|
|
670
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("ol", { ref, className: cn("dl-breadcrumb-list", className), ...props })
|
|
671
|
+
);
|
|
730
672
|
BreadcrumbList.displayName = "BreadcrumbList";
|
|
731
|
-
var BreadcrumbItem = React8.forwardRef(
|
|
732
|
-
"li",
|
|
733
|
-
|
|
734
|
-
ref,
|
|
735
|
-
className: cn("inline-flex items-center gap-1.5", className),
|
|
736
|
-
...props
|
|
737
|
-
}
|
|
738
|
-
));
|
|
673
|
+
var BreadcrumbItem = React8.forwardRef(
|
|
674
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("li", { ref, className: cn("dl-breadcrumb-item", className), ...props })
|
|
675
|
+
);
|
|
739
676
|
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
740
|
-
var BreadcrumbLink = React8.forwardRef(
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
677
|
+
var BreadcrumbLink = React8.forwardRef(
|
|
678
|
+
({ asChild, className, ...props }, ref) => {
|
|
679
|
+
const Comp = asChild ? import_react_slot2.Slot : "a";
|
|
680
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
681
|
+
Comp,
|
|
682
|
+
{
|
|
683
|
+
ref,
|
|
684
|
+
className: cn("dl-breadcrumb-link", className),
|
|
685
|
+
...props
|
|
686
|
+
}
|
|
687
|
+
);
|
|
688
|
+
}
|
|
689
|
+
);
|
|
690
|
+
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
691
|
+
var BreadcrumbPage = React8.forwardRef(
|
|
692
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
693
|
+
"span",
|
|
744
694
|
{
|
|
745
695
|
ref,
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
),
|
|
696
|
+
role: "link",
|
|
697
|
+
"aria-disabled": "true",
|
|
698
|
+
"aria-current": "page",
|
|
699
|
+
className: cn("dl-breadcrumb-page", className),
|
|
750
700
|
...props
|
|
751
701
|
}
|
|
752
|
-
)
|
|
753
|
-
|
|
754
|
-
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
755
|
-
var BreadcrumbPage = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
756
|
-
"span",
|
|
757
|
-
{
|
|
758
|
-
ref,
|
|
759
|
-
role: "link",
|
|
760
|
-
"aria-disabled": "true",
|
|
761
|
-
"aria-current": "page",
|
|
762
|
-
className: cn("font-normal text-foreground", className),
|
|
763
|
-
...props
|
|
764
|
-
}
|
|
765
|
-
));
|
|
702
|
+
)
|
|
703
|
+
);
|
|
766
704
|
BreadcrumbPage.displayName = "BreadcrumbPage";
|
|
767
705
|
var BreadcrumbSeparator = ({
|
|
768
706
|
children,
|
|
@@ -773,7 +711,8 @@ var BreadcrumbSeparator = ({
|
|
|
773
711
|
{
|
|
774
712
|
role: "presentation",
|
|
775
713
|
"aria-hidden": "true",
|
|
776
|
-
|
|
714
|
+
"data-slot": "breadcrumb-separator",
|
|
715
|
+
className: cn("dl-breadcrumb-separator", className),
|
|
777
716
|
...props,
|
|
778
717
|
children: children ?? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react2.ChevronRight, {})
|
|
779
718
|
}
|
|
@@ -787,17 +726,17 @@ var BreadcrumbEllipsis = ({
|
|
|
787
726
|
{
|
|
788
727
|
role: "presentation",
|
|
789
728
|
"aria-hidden": "true",
|
|
790
|
-
className: cn("
|
|
729
|
+
className: cn("dl-breadcrumb-ellipsis", className),
|
|
791
730
|
...props,
|
|
792
731
|
children: [
|
|
793
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react2.MoreHorizontal, {
|
|
732
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react2.MoreHorizontal, {}),
|
|
794
733
|
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "sr-only", children: "More" })
|
|
795
734
|
]
|
|
796
735
|
}
|
|
797
736
|
);
|
|
798
|
-
BreadcrumbEllipsis.displayName = "
|
|
737
|
+
BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
|
|
799
738
|
|
|
800
|
-
// src/components/calendar.tsx
|
|
739
|
+
// src/components/calendar/calendar.tsx
|
|
801
740
|
var React9 = __toESM(require("react"), 1);
|
|
802
741
|
var import_lucide_react3 = require("lucide-react");
|
|
803
742
|
var import_react_day_picker = require("react-day-picker");
|
|
@@ -979,61 +918,33 @@ function CalendarDayButton({
|
|
|
979
918
|
);
|
|
980
919
|
}
|
|
981
920
|
|
|
982
|
-
// src/components/card.tsx
|
|
921
|
+
// src/components/card/card.tsx
|
|
983
922
|
var React10 = __toESM(require("react"), 1);
|
|
984
923
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
985
|
-
var Card = React10.forwardRef(
|
|
986
|
-
"div",
|
|
987
|
-
|
|
988
|
-
ref,
|
|
989
|
-
className: cn(
|
|
990
|
-
"rounded-xl border bg-card text-card-foreground shadow",
|
|
991
|
-
className
|
|
992
|
-
),
|
|
993
|
-
...props
|
|
994
|
-
}
|
|
995
|
-
));
|
|
924
|
+
var Card = React10.forwardRef(
|
|
925
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { ref, className: cn("dl-card", className), ...props })
|
|
926
|
+
);
|
|
996
927
|
Card.displayName = "Card";
|
|
997
|
-
var CardHeader = React10.forwardRef(
|
|
998
|
-
"div",
|
|
999
|
-
|
|
1000
|
-
ref,
|
|
1001
|
-
className: cn("flex flex-col space-y-1.5 p-6", className),
|
|
1002
|
-
...props
|
|
1003
|
-
}
|
|
1004
|
-
));
|
|
928
|
+
var CardHeader = React10.forwardRef(
|
|
929
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { ref, className: cn("dl-card__header", className), ...props })
|
|
930
|
+
);
|
|
1005
931
|
CardHeader.displayName = "CardHeader";
|
|
1006
|
-
var CardTitle = React10.forwardRef(
|
|
1007
|
-
"
|
|
1008
|
-
|
|
1009
|
-
ref,
|
|
1010
|
-
className: cn("font-semibold leading-none tracking-tight", className),
|
|
1011
|
-
...props
|
|
1012
|
-
}
|
|
1013
|
-
));
|
|
932
|
+
var CardTitle = React10.forwardRef(
|
|
933
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("h3", { ref, className: cn("dl-card__title", className), ...props })
|
|
934
|
+
);
|
|
1014
935
|
CardTitle.displayName = "CardTitle";
|
|
1015
|
-
var CardDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1016
|
-
"div",
|
|
1017
|
-
{
|
|
1018
|
-
ref,
|
|
1019
|
-
className: cn("text-sm text-muted-foreground", className),
|
|
1020
|
-
...props
|
|
1021
|
-
}
|
|
1022
|
-
));
|
|
936
|
+
var CardDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("p", { ref, className: cn("dl-card__desc", className), ...props }));
|
|
1023
937
|
CardDescription.displayName = "CardDescription";
|
|
1024
|
-
var CardContent = React10.forwardRef(
|
|
938
|
+
var CardContent = React10.forwardRef(
|
|
939
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { ref, className: cn("dl-card__content", className), ...props })
|
|
940
|
+
);
|
|
1025
941
|
CardContent.displayName = "CardContent";
|
|
1026
|
-
var CardFooter = React10.forwardRef(
|
|
1027
|
-
"div",
|
|
1028
|
-
|
|
1029
|
-
ref,
|
|
1030
|
-
className: cn("flex items-center p-6 pt-0", className),
|
|
1031
|
-
...props
|
|
1032
|
-
}
|
|
1033
|
-
));
|
|
942
|
+
var CardFooter = React10.forwardRef(
|
|
943
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { ref, className: cn("dl-card__footer", className), ...props })
|
|
944
|
+
);
|
|
1034
945
|
CardFooter.displayName = "CardFooter";
|
|
1035
946
|
|
|
1036
|
-
// src/components/carousel.tsx
|
|
947
|
+
// src/components/carousel/carousel.tsx
|
|
1037
948
|
var React11 = __toESM(require("react"), 1);
|
|
1038
949
|
var import_embla_carousel_react = __toESM(require("embla-carousel-react"), 1);
|
|
1039
950
|
var import_lucide_react4 = require("lucide-react");
|
|
@@ -1057,27 +968,18 @@ var Carousel = React11.forwardRef(
|
|
|
1057
968
|
...props
|
|
1058
969
|
}, ref) => {
|
|
1059
970
|
const [carouselRef, api] = (0, import_embla_carousel_react.default)(
|
|
1060
|
-
{
|
|
1061
|
-
...opts,
|
|
1062
|
-
axis: orientation === "horizontal" ? "x" : "y"
|
|
1063
|
-
},
|
|
971
|
+
{ ...opts, axis: orientation === "horizontal" ? "x" : "y" },
|
|
1064
972
|
plugins
|
|
1065
973
|
);
|
|
1066
974
|
const [canScrollPrev, setCanScrollPrev] = React11.useState(false);
|
|
1067
975
|
const [canScrollNext, setCanScrollNext] = React11.useState(false);
|
|
1068
|
-
const onSelect = React11.useCallback((
|
|
1069
|
-
if (!
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
setCanScrollPrev(api2.canScrollPrev());
|
|
1073
|
-
setCanScrollNext(api2.canScrollNext());
|
|
976
|
+
const onSelect = React11.useCallback((emblaApi) => {
|
|
977
|
+
if (!emblaApi) return;
|
|
978
|
+
setCanScrollPrev(emblaApi.canScrollPrev());
|
|
979
|
+
setCanScrollNext(emblaApi.canScrollNext());
|
|
1074
980
|
}, []);
|
|
1075
|
-
const scrollPrev = React11.useCallback(() =>
|
|
1076
|
-
|
|
1077
|
-
}, [api]);
|
|
1078
|
-
const scrollNext = React11.useCallback(() => {
|
|
1079
|
-
api?.scrollNext();
|
|
1080
|
-
}, [api]);
|
|
981
|
+
const scrollPrev = React11.useCallback(() => api?.scrollPrev(), [api]);
|
|
982
|
+
const scrollNext = React11.useCallback(() => api?.scrollNext(), [api]);
|
|
1081
983
|
const handleKeyDown = React11.useCallback(
|
|
1082
984
|
(event) => {
|
|
1083
985
|
if (event.key === "ArrowLeft") {
|
|
@@ -1091,15 +993,11 @@ var Carousel = React11.forwardRef(
|
|
|
1091
993
|
[scrollPrev, scrollNext]
|
|
1092
994
|
);
|
|
1093
995
|
React11.useEffect(() => {
|
|
1094
|
-
if (!api || !setApi)
|
|
1095
|
-
return;
|
|
1096
|
-
}
|
|
996
|
+
if (!api || !setApi) return;
|
|
1097
997
|
setApi(api);
|
|
1098
998
|
}, [api, setApi]);
|
|
1099
999
|
React11.useEffect(() => {
|
|
1100
|
-
if (!api)
|
|
1101
|
-
return;
|
|
1102
|
-
}
|
|
1000
|
+
if (!api) return;
|
|
1103
1001
|
onSelect(api);
|
|
1104
1002
|
api.on("reInit", onSelect);
|
|
1105
1003
|
api.on("select", onSelect);
|
|
@@ -1125,7 +1023,7 @@ var Carousel = React11.forwardRef(
|
|
|
1125
1023
|
{
|
|
1126
1024
|
ref,
|
|
1127
1025
|
onKeyDownCapture: handleKeyDown,
|
|
1128
|
-
className: cn("
|
|
1026
|
+
className: cn("dl-carousel", className),
|
|
1129
1027
|
role: "region",
|
|
1130
1028
|
"aria-roledescription": "carousel",
|
|
1131
1029
|
...props,
|
|
@@ -1137,39 +1035,43 @@ var Carousel = React11.forwardRef(
|
|
|
1137
1035
|
}
|
|
1138
1036
|
);
|
|
1139
1037
|
Carousel.displayName = "Carousel";
|
|
1140
|
-
var CarouselContent = React11.forwardRef(
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
"div",
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
});
|
|
1038
|
+
var CarouselContent = React11.forwardRef(
|
|
1039
|
+
({ className, ...props }, ref) => {
|
|
1040
|
+
const { carouselRef, orientation } = useCarousel();
|
|
1041
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { ref: carouselRef, className: "dl-carousel-viewport", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1042
|
+
"div",
|
|
1043
|
+
{
|
|
1044
|
+
ref,
|
|
1045
|
+
className: cn(
|
|
1046
|
+
"dl-carousel-track",
|
|
1047
|
+
orientation === "horizontal" ? "dl-carousel-track--horizontal" : "dl-carousel-track--vertical",
|
|
1048
|
+
className
|
|
1049
|
+
),
|
|
1050
|
+
...props
|
|
1051
|
+
}
|
|
1052
|
+
) });
|
|
1053
|
+
}
|
|
1054
|
+
);
|
|
1155
1055
|
CarouselContent.displayName = "CarouselContent";
|
|
1156
|
-
var CarouselItem = React11.forwardRef(
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1056
|
+
var CarouselItem = React11.forwardRef(
|
|
1057
|
+
({ className, ...props }, ref) => {
|
|
1058
|
+
const { orientation } = useCarousel();
|
|
1059
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1060
|
+
"div",
|
|
1061
|
+
{
|
|
1062
|
+
ref,
|
|
1063
|
+
role: "group",
|
|
1064
|
+
"aria-roledescription": "slide",
|
|
1065
|
+
className: cn(
|
|
1066
|
+
"dl-carousel-item",
|
|
1067
|
+
orientation === "horizontal" ? "dl-carousel-item--horizontal" : "dl-carousel-item--vertical",
|
|
1068
|
+
className
|
|
1069
|
+
),
|
|
1070
|
+
...props
|
|
1071
|
+
}
|
|
1072
|
+
);
|
|
1073
|
+
}
|
|
1074
|
+
);
|
|
1173
1075
|
CarouselItem.displayName = "CarouselItem";
|
|
1174
1076
|
var CarouselPrevious = React11.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
1175
1077
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
@@ -1180,47 +1082,49 @@ var CarouselPrevious = React11.forwardRef(({ className, variant = "outline", siz
|
|
|
1180
1082
|
variant,
|
|
1181
1083
|
size,
|
|
1182
1084
|
className: cn(
|
|
1183
|
-
"
|
|
1184
|
-
orientation === "horizontal" ? "-
|
|
1085
|
+
"dl-carousel-btn",
|
|
1086
|
+
orientation === "horizontal" ? "dl-carousel-btn--prev-horizontal" : "dl-carousel-btn--prev-vertical",
|
|
1185
1087
|
className
|
|
1186
1088
|
),
|
|
1187
1089
|
disabled: !canScrollPrev,
|
|
1188
1090
|
onClick: scrollPrev,
|
|
1189
1091
|
...props,
|
|
1190
1092
|
children: [
|
|
1191
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react4.ArrowLeft, {
|
|
1093
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react4.ArrowLeft, {}),
|
|
1192
1094
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "sr-only", children: "Previous slide" })
|
|
1193
1095
|
]
|
|
1194
1096
|
}
|
|
1195
1097
|
);
|
|
1196
1098
|
});
|
|
1197
1099
|
CarouselPrevious.displayName = "CarouselPrevious";
|
|
1198
|
-
var CarouselNext = React11.forwardRef(
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1100
|
+
var CarouselNext = React11.forwardRef(
|
|
1101
|
+
({ className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
1102
|
+
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
1103
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
1104
|
+
Button,
|
|
1105
|
+
{
|
|
1106
|
+
ref,
|
|
1107
|
+
variant,
|
|
1108
|
+
size,
|
|
1109
|
+
className: cn(
|
|
1110
|
+
"dl-carousel-btn",
|
|
1111
|
+
orientation === "horizontal" ? "dl-carousel-btn--next-horizontal" : "dl-carousel-btn--next-vertical",
|
|
1112
|
+
className
|
|
1113
|
+
),
|
|
1114
|
+
disabled: !canScrollNext,
|
|
1115
|
+
onClick: scrollNext,
|
|
1116
|
+
...props,
|
|
1117
|
+
children: [
|
|
1118
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react4.ArrowRight, {}),
|
|
1119
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "sr-only", children: "Next slide" })
|
|
1120
|
+
]
|
|
1121
|
+
}
|
|
1122
|
+
);
|
|
1123
|
+
}
|
|
1124
|
+
);
|
|
1125
|
+
CarouselNext.displayName = "CarouselNext";
|
|
1222
1126
|
|
|
1223
|
-
// src/components/chart.tsx
|
|
1127
|
+
// src/components/chart/chart.tsx
|
|
1224
1128
|
var React12 = __toESM(require("react"), 1);
|
|
1225
1129
|
var RechartsPrimitive = __toESM(require("recharts"), 1);
|
|
1226
1130
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
@@ -1233,26 +1137,25 @@ function useChart() {
|
|
|
1233
1137
|
}
|
|
1234
1138
|
return context;
|
|
1235
1139
|
}
|
|
1236
|
-
var ChartContainer = React12.forwardRef(
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
});
|
|
1140
|
+
var ChartContainer = React12.forwardRef(
|
|
1141
|
+
({ id, className, children, config, ...props }, ref) => {
|
|
1142
|
+
const uniqueId = React12.useId();
|
|
1143
|
+
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
1144
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
1145
|
+
"div",
|
|
1146
|
+
{
|
|
1147
|
+
"data-chart": chartId,
|
|
1148
|
+
ref,
|
|
1149
|
+
className: cn("dl-chart-container", className),
|
|
1150
|
+
...props,
|
|
1151
|
+
children: [
|
|
1152
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ChartStyle, { id: chartId, config }),
|
|
1153
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(RechartsPrimitive.ResponsiveContainer, { children })
|
|
1154
|
+
]
|
|
1155
|
+
}
|
|
1156
|
+
) });
|
|
1157
|
+
}
|
|
1158
|
+
);
|
|
1256
1159
|
ChartContainer.displayName = "Chart";
|
|
1257
1160
|
var ChartStyle = ({ id, config }) => {
|
|
1258
1161
|
const colorConfig = Object.entries(config).filter(
|
|
@@ -1325,70 +1228,60 @@ var ChartTooltipContent = React12.forwardRef(
|
|
|
1325
1228
|
return null;
|
|
1326
1229
|
}
|
|
1327
1230
|
const nestLabel = payload.length === 1 && indicator !== "dot";
|
|
1328
|
-
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
1329
|
-
|
|
1330
|
-
{
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
indicator === "dot" && "items-center"
|
|
1348
|
-
),
|
|
1349
|
-
children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
1350
|
-
itemConfig?.icon ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1351
|
-
"div",
|
|
1231
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { ref, className: cn("dl-chart-tooltip", className), children: [
|
|
1232
|
+
!nestLabel ? tooltipLabel : null,
|
|
1233
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "grid gap-1.5", children: payload.filter((item) => item.type !== "none").map((item, index) => {
|
|
1234
|
+
const key = `${nameKey || item.name || item.dataKey || "value"}`;
|
|
1235
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
1236
|
+
const indicatorColor = color || item.payload.fill || item.color;
|
|
1237
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1238
|
+
"div",
|
|
1239
|
+
{
|
|
1240
|
+
className: cn(
|
|
1241
|
+
"flex flex-wrap items-stretch gap-2 [&>svg]:text-muted-foreground [&>svg]:size-2.5",
|
|
1242
|
+
indicator === "dot" && "items-center"
|
|
1243
|
+
),
|
|
1244
|
+
children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
1245
|
+
itemConfig?.icon ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1246
|
+
"div",
|
|
1247
|
+
{
|
|
1248
|
+
className: cn(
|
|
1249
|
+
"shrink-0 rounded-xs border-border bg-(--color-bg)",
|
|
1352
1250
|
{
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
"w-1": indicator === "line",
|
|
1358
|
-
"w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
|
|
1359
|
-
"my-0.5": nestLabel && indicator === "dashed"
|
|
1360
|
-
}
|
|
1361
|
-
),
|
|
1362
|
-
style: {
|
|
1363
|
-
"--color-bg": indicatorColor,
|
|
1364
|
-
"--color-border": indicatorColor
|
|
1365
|
-
}
|
|
1251
|
+
"h-2.5 w-2.5": indicator === "dot",
|
|
1252
|
+
"w-1": indicator === "line",
|
|
1253
|
+
"w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
|
|
1254
|
+
"my-0.5": nestLabel && indicator === "dashed"
|
|
1366
1255
|
}
|
|
1367
1256
|
),
|
|
1368
|
-
|
|
1369
|
-
"
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1257
|
+
style: {
|
|
1258
|
+
"--color-bg": indicatorColor,
|
|
1259
|
+
"--color-border": indicatorColor
|
|
1260
|
+
}
|
|
1261
|
+
}
|
|
1262
|
+
),
|
|
1263
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
1264
|
+
"div",
|
|
1265
|
+
{
|
|
1266
|
+
className: cn(
|
|
1267
|
+
"flex flex-1 justify-between leading-none",
|
|
1268
|
+
nestLabel ? "items-end" : "items-center"
|
|
1269
|
+
),
|
|
1270
|
+
children: [
|
|
1271
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "grid gap-1.5", children: [
|
|
1272
|
+
nestLabel ? tooltipLabel : null,
|
|
1273
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
|
|
1274
|
+
] }),
|
|
1275
|
+
item.value && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
|
|
1276
|
+
]
|
|
1277
|
+
}
|
|
1278
|
+
)
|
|
1279
|
+
] })
|
|
1280
|
+
},
|
|
1281
|
+
item.dataKey
|
|
1282
|
+
);
|
|
1283
|
+
}) })
|
|
1284
|
+
] });
|
|
1392
1285
|
}
|
|
1393
1286
|
);
|
|
1394
1287
|
ChartTooltipContent.displayName = "ChartTooltip";
|
|
@@ -1404,7 +1297,7 @@ var ChartLegendContent = React12.forwardRef(
|
|
|
1404
1297
|
{
|
|
1405
1298
|
ref,
|
|
1406
1299
|
className: cn(
|
|
1407
|
-
"
|
|
1300
|
+
"dl-chart-legend",
|
|
1408
1301
|
verticalAlign === "top" ? "pb-3" : "pt-3",
|
|
1409
1302
|
className
|
|
1410
1303
|
),
|
|
@@ -1452,7 +1345,7 @@ function getPayloadConfigFromPayload(config, payload, key) {
|
|
|
1452
1345
|
return configLabelKey in config ? config[configLabelKey] : config[key];
|
|
1453
1346
|
}
|
|
1454
1347
|
|
|
1455
|
-
// src/components/checkbox.tsx
|
|
1348
|
+
// src/components/checkbox/checkbox.tsx
|
|
1456
1349
|
var React13 = __toESM(require("react"), 1);
|
|
1457
1350
|
var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
|
|
1458
1351
|
var import_lucide_react5 = require("lucide-react");
|
|
@@ -1461,34 +1354,25 @@ var Checkbox = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1461
1354
|
CheckboxPrimitive.Root,
|
|
1462
1355
|
{
|
|
1463
1356
|
ref,
|
|
1464
|
-
className: cn(
|
|
1465
|
-
"grid place-content-center peer shrink-0 rounded-sm border border-primary shadow cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground size-4",
|
|
1466
|
-
className
|
|
1467
|
-
),
|
|
1357
|
+
className: cn("dl-checkbox", className),
|
|
1468
1358
|
...props,
|
|
1469
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1470
|
-
CheckboxPrimitive.Indicator,
|
|
1471
|
-
{
|
|
1472
|
-
className: cn("grid place-content-center text-current"),
|
|
1473
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_lucide_react5.Check, { className: "size-4" })
|
|
1474
|
-
}
|
|
1475
|
-
)
|
|
1359
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(CheckboxPrimitive.Indicator, { className: "grid place-content-center text-current", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_lucide_react5.Check, { style: { width: "0.75rem", height: "0.75rem" } }) })
|
|
1476
1360
|
}
|
|
1477
1361
|
));
|
|
1478
1362
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
1479
1363
|
|
|
1480
|
-
// src/components/collapsible.tsx
|
|
1364
|
+
// src/components/collapsible/collapsible.tsx
|
|
1481
1365
|
var CollapsiblePrimitive = __toESM(require("@radix-ui/react-collapsible"), 1);
|
|
1482
1366
|
var Collapsible = CollapsiblePrimitive.Root;
|
|
1483
1367
|
var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
|
|
1484
1368
|
var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
|
|
1485
1369
|
|
|
1486
|
-
// src/components/command.tsx
|
|
1370
|
+
// src/components/command/command.tsx
|
|
1487
1371
|
var React15 = __toESM(require("react"), 1);
|
|
1488
1372
|
var import_cmdk = require("cmdk");
|
|
1489
1373
|
var import_lucide_react7 = require("lucide-react");
|
|
1490
1374
|
|
|
1491
|
-
// src/components/dialog.tsx
|
|
1375
|
+
// src/components/dialog/dialog.tsx
|
|
1492
1376
|
var React14 = __toESM(require("react"), 1);
|
|
1493
1377
|
var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
1494
1378
|
var import_lucide_react6 = require("lucide-react");
|
|
@@ -1501,30 +1385,28 @@ var DialogOverlay = React14.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
1501
1385
|
DialogPrimitive.Overlay,
|
|
1502
1386
|
{
|
|
1503
1387
|
ref,
|
|
1504
|
-
className: cn(
|
|
1505
|
-
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
1506
|
-
className
|
|
1507
|
-
),
|
|
1388
|
+
className: cn("dl-dialog-overlay", className),
|
|
1508
1389
|
...props
|
|
1509
1390
|
}
|
|
1510
1391
|
));
|
|
1511
1392
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
1512
|
-
var DialogContent = React14.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(DialogPortal, { children: [
|
|
1393
|
+
var DialogContent = React14.forwardRef(({ className, children, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(DialogPortal, { children: [
|
|
1513
1394
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DialogOverlay, {}),
|
|
1514
1395
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
1515
1396
|
DialogPrimitive.Content,
|
|
1516
1397
|
{
|
|
1517
1398
|
ref,
|
|
1518
1399
|
className: cn(
|
|
1519
|
-
"
|
|
1400
|
+
"dl-dialog-content",
|
|
1401
|
+
size && `dl-dialog--${size}`,
|
|
1520
1402
|
className
|
|
1521
1403
|
),
|
|
1522
1404
|
...props,
|
|
1523
1405
|
children: [
|
|
1524
1406
|
children,
|
|
1525
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(DialogPrimitive.Close, { className: "
|
|
1526
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react6.X, {
|
|
1527
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "sr-only", children: "Close" })
|
|
1407
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(DialogPrimitive.Close, { className: "dl-dialog-close", children: [
|
|
1408
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react6.X, {}),
|
|
1409
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "dl-dialog-sr-only", children: "Close" })
|
|
1528
1410
|
] })
|
|
1529
1411
|
]
|
|
1530
1412
|
}
|
|
@@ -1534,39 +1416,23 @@ DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
|
1534
1416
|
var DialogHeader = ({
|
|
1535
1417
|
className,
|
|
1536
1418
|
...props
|
|
1537
|
-
}) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1538
|
-
"div",
|
|
1539
|
-
{
|
|
1540
|
-
className: cn(
|
|
1541
|
-
"flex flex-col space-y-1.5 text-center sm:text-left",
|
|
1542
|
-
className
|
|
1543
|
-
),
|
|
1544
|
-
...props
|
|
1545
|
-
}
|
|
1546
|
-
);
|
|
1419
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: cn("dl-dialog__header", className), ...props });
|
|
1547
1420
|
DialogHeader.displayName = "DialogHeader";
|
|
1421
|
+
var DialogBody = ({
|
|
1422
|
+
className,
|
|
1423
|
+
...props
|
|
1424
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: cn("dl-dialog__body", className), ...props });
|
|
1425
|
+
DialogBody.displayName = "DialogBody";
|
|
1548
1426
|
var DialogFooter = ({
|
|
1549
1427
|
className,
|
|
1550
1428
|
...props
|
|
1551
|
-
}) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1552
|
-
"div",
|
|
1553
|
-
{
|
|
1554
|
-
className: cn(
|
|
1555
|
-
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
1556
|
-
className
|
|
1557
|
-
),
|
|
1558
|
-
...props
|
|
1559
|
-
}
|
|
1560
|
-
);
|
|
1429
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: cn("dl-dialog__footer", className), ...props });
|
|
1561
1430
|
DialogFooter.displayName = "DialogFooter";
|
|
1562
1431
|
var DialogTitle = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1563
1432
|
DialogPrimitive.Title,
|
|
1564
1433
|
{
|
|
1565
1434
|
ref,
|
|
1566
|
-
className: cn(
|
|
1567
|
-
"text-lg font-semibold leading-none tracking-tight",
|
|
1568
|
-
className
|
|
1569
|
-
),
|
|
1435
|
+
className: cn("dl-dialog__title", className),
|
|
1570
1436
|
...props
|
|
1571
1437
|
}
|
|
1572
1438
|
));
|
|
@@ -1575,39 +1441,33 @@ var DialogDescription = React14.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1575
1441
|
DialogPrimitive.Description,
|
|
1576
1442
|
{
|
|
1577
1443
|
ref,
|
|
1578
|
-
className: cn("
|
|
1444
|
+
className: cn("dl-dialog__desc", className),
|
|
1579
1445
|
...props
|
|
1580
1446
|
}
|
|
1581
1447
|
));
|
|
1582
1448
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
1583
1449
|
|
|
1584
|
-
// src/components/command.tsx
|
|
1450
|
+
// src/components/command/command.tsx
|
|
1585
1451
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1586
1452
|
var Command = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1587
1453
|
import_cmdk.Command,
|
|
1588
1454
|
{
|
|
1589
1455
|
ref,
|
|
1590
|
-
className: cn(
|
|
1591
|
-
"flex flex-col overflow-hidden rounded-md bg-popover text-popover-foreground size-full",
|
|
1592
|
-
className
|
|
1593
|
-
),
|
|
1456
|
+
className: cn("dl-command", className),
|
|
1594
1457
|
...props
|
|
1595
1458
|
}
|
|
1596
1459
|
));
|
|
1597
1460
|
Command.displayName = import_cmdk.Command.displayName;
|
|
1598
1461
|
var CommandDialog = ({ children, ...props }) => {
|
|
1599
|
-
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DialogContent, { className: "
|
|
1462
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DialogContent, { className: "dl-command-dialog-content", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Command, { children }) }) });
|
|
1600
1463
|
};
|
|
1601
|
-
var CommandInput = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "
|
|
1602
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react7.Search, { className: "
|
|
1464
|
+
var CommandInput = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "dl-command-input-wrapper", "cmdk-input-wrapper": "", children: [
|
|
1465
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react7.Search, { className: "dl-command-input-icon" }),
|
|
1603
1466
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1604
1467
|
import_cmdk.Command.Input,
|
|
1605
1468
|
{
|
|
1606
1469
|
ref,
|
|
1607
|
-
className: cn(
|
|
1608
|
-
"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
1609
|
-
className
|
|
1610
|
-
),
|
|
1470
|
+
className: cn("dl-command-input", className),
|
|
1611
1471
|
...props
|
|
1612
1472
|
}
|
|
1613
1473
|
)
|
|
@@ -1617,28 +1477,18 @@ var CommandList = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1617
1477
|
import_cmdk.Command.List,
|
|
1618
1478
|
{
|
|
1619
1479
|
ref,
|
|
1620
|
-
className: cn("
|
|
1480
|
+
className: cn("dl-command-list", className),
|
|
1621
1481
|
...props
|
|
1622
1482
|
}
|
|
1623
1483
|
));
|
|
1624
1484
|
CommandList.displayName = import_cmdk.Command.List.displayName;
|
|
1625
|
-
var CommandEmpty = React15.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1626
|
-
import_cmdk.Command.Empty,
|
|
1627
|
-
{
|
|
1628
|
-
ref,
|
|
1629
|
-
className: "py-6 text-center text-sm",
|
|
1630
|
-
...props
|
|
1631
|
-
}
|
|
1632
|
-
));
|
|
1485
|
+
var CommandEmpty = React15.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_cmdk.Command.Empty, { ref, className: "dl-command-empty", ...props }));
|
|
1633
1486
|
CommandEmpty.displayName = import_cmdk.Command.Empty.displayName;
|
|
1634
1487
|
var CommandGroup = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1635
1488
|
import_cmdk.Command.Group,
|
|
1636
1489
|
{
|
|
1637
1490
|
ref,
|
|
1638
|
-
className: cn(
|
|
1639
|
-
"overflow-hidden p-1 **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",
|
|
1640
|
-
className
|
|
1641
|
-
),
|
|
1491
|
+
className: cn("dl-command-group", className),
|
|
1642
1492
|
...props
|
|
1643
1493
|
}
|
|
1644
1494
|
));
|
|
@@ -1647,7 +1497,7 @@ var CommandSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1647
1497
|
import_cmdk.Command.Separator,
|
|
1648
1498
|
{
|
|
1649
1499
|
ref,
|
|
1650
|
-
className: cn("-
|
|
1500
|
+
className: cn("dl-command-separator", className),
|
|
1651
1501
|
...props
|
|
1652
1502
|
}
|
|
1653
1503
|
));
|
|
@@ -1656,146 +1506,142 @@ var CommandItem = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1656
1506
|
import_cmdk.Command.Item,
|
|
1657
1507
|
{
|
|
1658
1508
|
ref,
|
|
1659
|
-
className: cn(
|
|
1660
|
-
"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0",
|
|
1661
|
-
className
|
|
1662
|
-
),
|
|
1509
|
+
className: cn("dl-command-item", className),
|
|
1663
1510
|
...props
|
|
1664
1511
|
}
|
|
1665
1512
|
));
|
|
1666
1513
|
CommandItem.displayName = import_cmdk.Command.Item.displayName;
|
|
1667
|
-
var CommandShortcut = ({
|
|
1668
|
-
className,
|
|
1669
|
-
...props
|
|
1670
|
-
}) => {
|
|
1671
|
-
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1672
|
-
"span",
|
|
1673
|
-
{
|
|
1674
|
-
className: cn(
|
|
1675
|
-
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
1676
|
-
className
|
|
1677
|
-
),
|
|
1678
|
-
...props
|
|
1679
|
-
}
|
|
1680
|
-
);
|
|
1514
|
+
var CommandShortcut = ({ className, ...props }) => {
|
|
1515
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: cn("dl-command-shortcut", className), ...props });
|
|
1681
1516
|
};
|
|
1682
1517
|
CommandShortcut.displayName = "CommandShortcut";
|
|
1683
1518
|
|
|
1684
|
-
// src/components/
|
|
1519
|
+
// src/components/confirm-dialog/confirm-dialog.tsx
|
|
1520
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1521
|
+
function ConfirmDialog({
|
|
1522
|
+
open,
|
|
1523
|
+
onOpenChange,
|
|
1524
|
+
title,
|
|
1525
|
+
description,
|
|
1526
|
+
onConfirm,
|
|
1527
|
+
confirmText = "Confirm",
|
|
1528
|
+
cancelText = "Cancel",
|
|
1529
|
+
destructive = false
|
|
1530
|
+
}) {
|
|
1531
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(AlertDialogContent, { children: [
|
|
1532
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(AlertDialogHeader, { children: [
|
|
1533
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialogTitle, { children: title }),
|
|
1534
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialogDescription, { children: description })
|
|
1535
|
+
] }),
|
|
1536
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(AlertDialogFooter, { children: [
|
|
1537
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialogCancel, { children: cancelText }),
|
|
1538
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1539
|
+
AlertDialogAction,
|
|
1540
|
+
{
|
|
1541
|
+
onClick: onConfirm,
|
|
1542
|
+
className: destructive ? "dl-btn--destructive" : "",
|
|
1543
|
+
children: confirmText
|
|
1544
|
+
}
|
|
1545
|
+
)
|
|
1546
|
+
] })
|
|
1547
|
+
] }) });
|
|
1548
|
+
}
|
|
1549
|
+
|
|
1550
|
+
// src/components/context-menu/context-menu.tsx
|
|
1685
1551
|
var React16 = __toESM(require("react"), 1);
|
|
1686
1552
|
var ContextMenuPrimitive = __toESM(require("@radix-ui/react-context-menu"), 1);
|
|
1687
1553
|
var import_lucide_react8 = require("lucide-react");
|
|
1688
|
-
var
|
|
1554
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1689
1555
|
var ContextMenu = ContextMenuPrimitive.Root;
|
|
1690
1556
|
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
1691
1557
|
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
1692
1558
|
var ContextMenuPortal = ContextMenuPrimitive.Portal;
|
|
1693
1559
|
var ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
1694
1560
|
var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
1695
|
-
var ContextMenuSubTrigger = React16.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0,
|
|
1561
|
+
var ContextMenuSubTrigger = React16.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
1696
1562
|
ContextMenuPrimitive.SubTrigger,
|
|
1697
1563
|
{
|
|
1698
1564
|
ref,
|
|
1699
1565
|
className: cn(
|
|
1700
|
-
"
|
|
1566
|
+
"dl-menu-item dl-menu-sub-trigger",
|
|
1701
1567
|
inset && "pl-8",
|
|
1702
1568
|
className
|
|
1703
1569
|
),
|
|
1704
1570
|
...props,
|
|
1705
1571
|
children: [
|
|
1706
1572
|
children,
|
|
1707
|
-
/* @__PURE__ */ (0,
|
|
1573
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react8.ChevronRight, { className: "ml-auto size-4" })
|
|
1708
1574
|
]
|
|
1709
1575
|
}
|
|
1710
1576
|
));
|
|
1711
1577
|
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
1712
|
-
var ContextMenuSubContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
1578
|
+
var ContextMenuSubContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1713
1579
|
ContextMenuPrimitive.SubContent,
|
|
1714
1580
|
{
|
|
1715
1581
|
ref,
|
|
1716
|
-
className: cn(
|
|
1717
|
-
"z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-context-menu-content-transform-origin)",
|
|
1718
|
-
className
|
|
1719
|
-
),
|
|
1582
|
+
className: cn("dl-menu-content", className),
|
|
1720
1583
|
...props
|
|
1721
1584
|
}
|
|
1722
1585
|
));
|
|
1723
1586
|
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
1724
|
-
var ContextMenuContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
1587
|
+
var ContextMenuContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1725
1588
|
ContextMenuPrimitive.Content,
|
|
1726
1589
|
{
|
|
1727
1590
|
ref,
|
|
1728
|
-
className: cn(
|
|
1729
|
-
"z-50 max-h-(--radix-context-menu-content-available-height) min-w-32 overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-context-menu-content-transform-origin)",
|
|
1730
|
-
className
|
|
1731
|
-
),
|
|
1591
|
+
className: cn("dl-context-menu-content", className),
|
|
1732
1592
|
...props
|
|
1733
1593
|
}
|
|
1734
1594
|
) }));
|
|
1735
1595
|
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
1736
|
-
var ContextMenuItem = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0,
|
|
1596
|
+
var ContextMenuItem = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1737
1597
|
ContextMenuPrimitive.Item,
|
|
1738
1598
|
{
|
|
1739
1599
|
ref,
|
|
1740
|
-
className: cn(
|
|
1741
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
1742
|
-
inset && "pl-8",
|
|
1743
|
-
className
|
|
1744
|
-
),
|
|
1600
|
+
className: cn("dl-menu-item", inset && "pl-8", className),
|
|
1745
1601
|
...props
|
|
1746
1602
|
}
|
|
1747
1603
|
));
|
|
1748
1604
|
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
1749
|
-
var ContextMenuCheckboxItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0,
|
|
1605
|
+
var ContextMenuCheckboxItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
1750
1606
|
ContextMenuPrimitive.CheckboxItem,
|
|
1751
1607
|
{
|
|
1752
1608
|
ref,
|
|
1753
|
-
className: cn(
|
|
1754
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
1755
|
-
className
|
|
1756
|
-
),
|
|
1609
|
+
className: cn("dl-menu-item dl-menu-checkbox-item", className),
|
|
1757
1610
|
...props,
|
|
1758
1611
|
children: [
|
|
1759
|
-
/* @__PURE__ */ (0,
|
|
1612
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "dl-menu-checkbox-item__indicator", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react8.Check, { className: "size-4" }) }) }),
|
|
1760
1613
|
children
|
|
1761
1614
|
]
|
|
1762
1615
|
}
|
|
1763
1616
|
));
|
|
1764
1617
|
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
1765
|
-
var ContextMenuRadioItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0,
|
|
1618
|
+
var ContextMenuRadioItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
1766
1619
|
ContextMenuPrimitive.RadioItem,
|
|
1767
1620
|
{
|
|
1768
1621
|
ref,
|
|
1769
|
-
className: cn(
|
|
1770
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
1771
|
-
className
|
|
1772
|
-
),
|
|
1622
|
+
className: cn("dl-menu-item dl-menu-radio-item", className),
|
|
1773
1623
|
...props,
|
|
1774
1624
|
children: [
|
|
1775
|
-
/* @__PURE__ */ (0,
|
|
1625
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "dl-menu-radio-item__indicator", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react8.Circle, { className: "fill-current size-2" }) }) }),
|
|
1776
1626
|
children
|
|
1777
1627
|
]
|
|
1778
1628
|
}
|
|
1779
1629
|
));
|
|
1780
1630
|
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
1781
|
-
var ContextMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0,
|
|
1631
|
+
var ContextMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1782
1632
|
ContextMenuPrimitive.Label,
|
|
1783
1633
|
{
|
|
1784
1634
|
ref,
|
|
1785
|
-
className: cn(
|
|
1786
|
-
"px-2 py-1.5 text-sm font-semibold text-foreground",
|
|
1787
|
-
inset && "pl-8",
|
|
1788
|
-
className
|
|
1789
|
-
),
|
|
1635
|
+
className: cn("dl-menu-label", inset && "pl-8", className),
|
|
1790
1636
|
...props
|
|
1791
1637
|
}
|
|
1792
1638
|
));
|
|
1793
1639
|
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
1794
|
-
var ContextMenuSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
1640
|
+
var ContextMenuSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1795
1641
|
ContextMenuPrimitive.Separator,
|
|
1796
1642
|
{
|
|
1797
1643
|
ref,
|
|
1798
|
-
className: cn("-
|
|
1644
|
+
className: cn("dl-menu-separator", className),
|
|
1799
1645
|
...props
|
|
1800
1646
|
}
|
|
1801
1647
|
));
|
|
@@ -1804,27 +1650,93 @@ var ContextMenuShortcut = ({
|
|
|
1804
1650
|
className,
|
|
1805
1651
|
...props
|
|
1806
1652
|
}) => {
|
|
1807
|
-
return /* @__PURE__ */ (0,
|
|
1808
|
-
"span",
|
|
1809
|
-
{
|
|
1810
|
-
className: cn(
|
|
1811
|
-
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
1812
|
-
className
|
|
1813
|
-
),
|
|
1814
|
-
...props
|
|
1815
|
-
}
|
|
1816
|
-
);
|
|
1653
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: cn("dl-menu-shortcut", className), ...props });
|
|
1817
1654
|
};
|
|
1818
1655
|
ContextMenuShortcut.displayName = "ContextMenuShortcut";
|
|
1819
1656
|
|
|
1820
|
-
// src/components/
|
|
1657
|
+
// src/components/date-picker/date-picker.tsx
|
|
1658
|
+
var React18 = __toESM(require("react"), 1);
|
|
1659
|
+
var import_date_fns = require("date-fns");
|
|
1660
|
+
var import_lucide_react9 = require("lucide-react");
|
|
1661
|
+
|
|
1662
|
+
// src/components/popover/popover.tsx
|
|
1821
1663
|
var React17 = __toESM(require("react"), 1);
|
|
1664
|
+
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"), 1);
|
|
1665
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1666
|
+
var Popover = PopoverPrimitive.Root;
|
|
1667
|
+
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
1668
|
+
var PopoverAnchor = PopoverPrimitive.Anchor;
|
|
1669
|
+
var PopoverContent = React17.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1670
|
+
PopoverPrimitive.Content,
|
|
1671
|
+
{
|
|
1672
|
+
ref,
|
|
1673
|
+
align,
|
|
1674
|
+
sideOffset,
|
|
1675
|
+
className: cn("dl-popover", className),
|
|
1676
|
+
...props
|
|
1677
|
+
}
|
|
1678
|
+
) }));
|
|
1679
|
+
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
1680
|
+
|
|
1681
|
+
// src/components/date-picker/date-picker.tsx
|
|
1682
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1683
|
+
function DatePicker({
|
|
1684
|
+
value,
|
|
1685
|
+
onChange,
|
|
1686
|
+
placeholder = "Pick a date",
|
|
1687
|
+
className,
|
|
1688
|
+
disabled
|
|
1689
|
+
}) {
|
|
1690
|
+
const date = React18.useMemo(() => {
|
|
1691
|
+
if (!value) return void 0;
|
|
1692
|
+
const parts = value.split("-");
|
|
1693
|
+
if (parts.length !== 3) {
|
|
1694
|
+
const d = new Date(value);
|
|
1695
|
+
return isNaN(d.getTime()) ? void 0 : d;
|
|
1696
|
+
}
|
|
1697
|
+
const year = parseInt(parts[0], 10);
|
|
1698
|
+
const month = parseInt(parts[1], 10) - 1;
|
|
1699
|
+
const day = parseInt(parts[2], 10);
|
|
1700
|
+
return new Date(year, month, day, 12, 0, 0);
|
|
1701
|
+
}, [value]);
|
|
1702
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Popover, { children: [
|
|
1703
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
1704
|
+
Button,
|
|
1705
|
+
{
|
|
1706
|
+
variant: "outline",
|
|
1707
|
+
type: "button",
|
|
1708
|
+
disabled,
|
|
1709
|
+
className: cn(
|
|
1710
|
+
"dl-date-picker-trigger",
|
|
1711
|
+
!value && "dl-date-picker-trigger--placeholder",
|
|
1712
|
+
className
|
|
1713
|
+
),
|
|
1714
|
+
children: [
|
|
1715
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react9.Calendar, { className: "dl-date-picker-icon" }),
|
|
1716
|
+
date && !isNaN(date.getTime()) ? (0, import_date_fns.format)(date, "PPP") : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { children: placeholder })
|
|
1717
|
+
]
|
|
1718
|
+
}
|
|
1719
|
+
) }),
|
|
1720
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(PopoverContent, { className: "dl-date-picker-content", align: "start", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1721
|
+
Calendar,
|
|
1722
|
+
{
|
|
1723
|
+
mode: "single",
|
|
1724
|
+
selected: date,
|
|
1725
|
+
onSelect: (selectedDate) => onChange?.(selectedDate ? (0, import_date_fns.format)(selectedDate, "yyyy-MM-dd") : ""),
|
|
1726
|
+
initialFocus: true
|
|
1727
|
+
}
|
|
1728
|
+
) })
|
|
1729
|
+
] });
|
|
1730
|
+
}
|
|
1731
|
+
|
|
1732
|
+
// src/components/drawer/drawer.tsx
|
|
1733
|
+
var React19 = __toESM(require("react"), 1);
|
|
1822
1734
|
var import_vaul = require("vaul");
|
|
1823
|
-
var
|
|
1735
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1824
1736
|
var Drawer = ({
|
|
1825
1737
|
shouldScaleBackground = true,
|
|
1826
1738
|
...props
|
|
1827
|
-
}) => /* @__PURE__ */ (0,
|
|
1739
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1828
1740
|
import_vaul.Drawer.Root,
|
|
1829
1741
|
{
|
|
1830
1742
|
shouldScaleBackground,
|
|
@@ -1835,28 +1747,25 @@ Drawer.displayName = "Drawer";
|
|
|
1835
1747
|
var DrawerTrigger = import_vaul.Drawer.Trigger;
|
|
1836
1748
|
var DrawerPortal = import_vaul.Drawer.Portal;
|
|
1837
1749
|
var DrawerClose = import_vaul.Drawer.Close;
|
|
1838
|
-
var DrawerOverlay =
|
|
1750
|
+
var DrawerOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1839
1751
|
import_vaul.Drawer.Overlay,
|
|
1840
1752
|
{
|
|
1841
1753
|
ref,
|
|
1842
|
-
className: cn("
|
|
1754
|
+
className: cn("dl-drawer-overlay", className),
|
|
1843
1755
|
...props
|
|
1844
1756
|
}
|
|
1845
1757
|
));
|
|
1846
1758
|
DrawerOverlay.displayName = import_vaul.Drawer.Overlay.displayName;
|
|
1847
|
-
var DrawerContent =
|
|
1848
|
-
/* @__PURE__ */ (0,
|
|
1849
|
-
/* @__PURE__ */ (0,
|
|
1759
|
+
var DrawerContent = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(DrawerPortal, { children: [
|
|
1760
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DrawerOverlay, {}),
|
|
1761
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1850
1762
|
import_vaul.Drawer.Content,
|
|
1851
1763
|
{
|
|
1852
1764
|
ref,
|
|
1853
|
-
className: cn(
|
|
1854
|
-
"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",
|
|
1855
|
-
className
|
|
1856
|
-
),
|
|
1765
|
+
className: cn("dl-drawer-content", className),
|
|
1857
1766
|
...props,
|
|
1858
1767
|
children: [
|
|
1859
|
-
/* @__PURE__ */ (0,
|
|
1768
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "dl-drawer-handle" }),
|
|
1860
1769
|
children
|
|
1861
1770
|
]
|
|
1862
1771
|
}
|
|
@@ -1866,164 +1775,138 @@ DrawerContent.displayName = "DrawerContent";
|
|
|
1866
1775
|
var DrawerHeader = ({
|
|
1867
1776
|
className,
|
|
1868
1777
|
...props
|
|
1869
|
-
}) => /* @__PURE__ */ (0,
|
|
1870
|
-
"div",
|
|
1871
|
-
{
|
|
1872
|
-
className: cn("grid gap-1.5 p-4 text-center sm:text-left", className),
|
|
1873
|
-
...props
|
|
1874
|
-
}
|
|
1875
|
-
);
|
|
1778
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: cn("dl-drawer-header", className), ...props });
|
|
1876
1779
|
DrawerHeader.displayName = "DrawerHeader";
|
|
1877
1780
|
var DrawerFooter = ({
|
|
1878
1781
|
className,
|
|
1879
1782
|
...props
|
|
1880
|
-
}) => /* @__PURE__ */ (0,
|
|
1881
|
-
"div",
|
|
1882
|
-
{
|
|
1883
|
-
className: cn("mt-auto flex flex-col gap-2 p-4", className),
|
|
1884
|
-
...props
|
|
1885
|
-
}
|
|
1886
|
-
);
|
|
1783
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: cn("dl-drawer-footer", className), ...props });
|
|
1887
1784
|
DrawerFooter.displayName = "DrawerFooter";
|
|
1888
|
-
var DrawerTitle =
|
|
1785
|
+
var DrawerTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1889
1786
|
import_vaul.Drawer.Title,
|
|
1890
1787
|
{
|
|
1891
1788
|
ref,
|
|
1892
|
-
className: cn(
|
|
1893
|
-
"text-lg font-semibold leading-none tracking-tight",
|
|
1894
|
-
className
|
|
1895
|
-
),
|
|
1789
|
+
className: cn("dl-drawer-title", className),
|
|
1896
1790
|
...props
|
|
1897
1791
|
}
|
|
1898
1792
|
));
|
|
1899
1793
|
DrawerTitle.displayName = import_vaul.Drawer.Title.displayName;
|
|
1900
|
-
var DrawerDescription =
|
|
1794
|
+
var DrawerDescription = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1901
1795
|
import_vaul.Drawer.Description,
|
|
1902
1796
|
{
|
|
1903
1797
|
ref,
|
|
1904
|
-
className: cn("
|
|
1798
|
+
className: cn("dl-drawer-desc", className),
|
|
1905
1799
|
...props
|
|
1906
1800
|
}
|
|
1907
1801
|
));
|
|
1908
1802
|
DrawerDescription.displayName = import_vaul.Drawer.Description.displayName;
|
|
1909
1803
|
|
|
1910
|
-
// src/components/dropdown-menu.tsx
|
|
1911
|
-
var
|
|
1804
|
+
// src/components/dropdown-menu/dropdown-menu.tsx
|
|
1805
|
+
var React20 = __toESM(require("react"), 1);
|
|
1912
1806
|
var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
|
|
1913
|
-
var
|
|
1914
|
-
var
|
|
1807
|
+
var import_lucide_react10 = require("lucide-react");
|
|
1808
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1915
1809
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
1916
1810
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
1917
1811
|
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
1918
1812
|
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
1919
1813
|
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
1920
1814
|
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
1921
|
-
var DropdownMenuSubTrigger =
|
|
1815
|
+
var DropdownMenuSubTrigger = React20.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
1922
1816
|
DropdownMenuPrimitive.SubTrigger,
|
|
1923
1817
|
{
|
|
1924
1818
|
ref,
|
|
1925
1819
|
className: cn(
|
|
1926
|
-
"
|
|
1820
|
+
"dl-menu-item dl-menu-sub-trigger",
|
|
1927
1821
|
inset && "pl-8",
|
|
1928
1822
|
className
|
|
1929
1823
|
),
|
|
1930
1824
|
...props,
|
|
1931
1825
|
children: [
|
|
1932
1826
|
children,
|
|
1933
|
-
/* @__PURE__ */ (0,
|
|
1827
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1828
|
+
import_lucide_react10.ChevronRight,
|
|
1829
|
+
{
|
|
1830
|
+
style: { marginLeft: "auto", width: "1rem", height: "1rem" }
|
|
1831
|
+
}
|
|
1832
|
+
)
|
|
1934
1833
|
]
|
|
1935
1834
|
}
|
|
1936
1835
|
));
|
|
1937
1836
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
1938
|
-
var DropdownMenuSubContent =
|
|
1837
|
+
var DropdownMenuSubContent = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1939
1838
|
DropdownMenuPrimitive.SubContent,
|
|
1940
1839
|
{
|
|
1941
1840
|
ref,
|
|
1942
|
-
className: cn(
|
|
1943
|
-
"z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-dropdown-menu-content-transform-origin)",
|
|
1944
|
-
className
|
|
1945
|
-
),
|
|
1841
|
+
className: cn("dl-menu-content", className),
|
|
1946
1842
|
...props
|
|
1947
1843
|
}
|
|
1948
1844
|
));
|
|
1949
1845
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
1950
|
-
var DropdownMenuContent =
|
|
1846
|
+
var DropdownMenuContent = React20.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1951
1847
|
DropdownMenuPrimitive.Content,
|
|
1952
1848
|
{
|
|
1953
1849
|
ref,
|
|
1954
1850
|
sideOffset,
|
|
1955
|
-
className: cn(
|
|
1956
|
-
"z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",
|
|
1957
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-dropdown-menu-content-transform-origin)",
|
|
1958
|
-
className
|
|
1959
|
-
),
|
|
1851
|
+
className: cn("dl-menu-content", className),
|
|
1960
1852
|
...props
|
|
1961
1853
|
}
|
|
1962
1854
|
) }));
|
|
1963
1855
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
1964
|
-
var DropdownMenuItem =
|
|
1856
|
+
var DropdownMenuItem = React20.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1965
1857
|
DropdownMenuPrimitive.Item,
|
|
1966
1858
|
{
|
|
1967
1859
|
ref,
|
|
1968
|
-
className: cn(
|
|
1969
|
-
"relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
1970
|
-
inset && "pl-8",
|
|
1971
|
-
className
|
|
1972
|
-
),
|
|
1860
|
+
className: cn("dl-menu-item", inset && "pl-8", className),
|
|
1973
1861
|
...props
|
|
1974
1862
|
}
|
|
1975
1863
|
));
|
|
1976
1864
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
1977
|
-
var DropdownMenuCheckboxItem =
|
|
1865
|
+
var DropdownMenuCheckboxItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
1978
1866
|
DropdownMenuPrimitive.CheckboxItem,
|
|
1979
1867
|
{
|
|
1980
1868
|
ref,
|
|
1981
|
-
className: cn(
|
|
1982
|
-
"relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
1983
|
-
className
|
|
1984
|
-
),
|
|
1869
|
+
className: cn("dl-menu-item dl-menu-checkbox-item", className),
|
|
1985
1870
|
...props,
|
|
1986
1871
|
children: [
|
|
1987
|
-
/* @__PURE__ */ (0,
|
|
1872
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "dl-menu-checkbox-item__indicator", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react10.Check, { style: { width: "1rem", height: "1rem" } }) }) }),
|
|
1988
1873
|
children
|
|
1989
1874
|
]
|
|
1990
1875
|
}
|
|
1991
1876
|
));
|
|
1992
1877
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
1993
|
-
var DropdownMenuRadioItem =
|
|
1878
|
+
var DropdownMenuRadioItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
1994
1879
|
DropdownMenuPrimitive.RadioItem,
|
|
1995
1880
|
{
|
|
1996
1881
|
ref,
|
|
1997
|
-
className: cn(
|
|
1998
|
-
"relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
1999
|
-
className
|
|
2000
|
-
),
|
|
1882
|
+
className: cn("dl-menu-item dl-menu-radio-item", className),
|
|
2001
1883
|
...props,
|
|
2002
1884
|
children: [
|
|
2003
|
-
/* @__PURE__ */ (0,
|
|
1885
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "dl-menu-radio-item__indicator", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1886
|
+
import_lucide_react10.Circle,
|
|
1887
|
+
{
|
|
1888
|
+
style: { width: "0.5rem", height: "0.5rem", fill: "currentColor" }
|
|
1889
|
+
}
|
|
1890
|
+
) }) }),
|
|
2004
1891
|
children
|
|
2005
1892
|
]
|
|
2006
1893
|
}
|
|
2007
1894
|
));
|
|
2008
1895
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
2009
|
-
var DropdownMenuLabel =
|
|
1896
|
+
var DropdownMenuLabel = React20.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2010
1897
|
DropdownMenuPrimitive.Label,
|
|
2011
1898
|
{
|
|
2012
1899
|
ref,
|
|
2013
|
-
className: cn(
|
|
2014
|
-
"px-2 py-1.5 text-sm font-semibold",
|
|
2015
|
-
inset && "pl-8",
|
|
2016
|
-
className
|
|
2017
|
-
),
|
|
1900
|
+
className: cn("dl-menu-label", inset && "pl-8", className),
|
|
2018
1901
|
...props
|
|
2019
1902
|
}
|
|
2020
1903
|
));
|
|
2021
1904
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
2022
|
-
var DropdownMenuSeparator =
|
|
1905
|
+
var DropdownMenuSeparator = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2023
1906
|
DropdownMenuPrimitive.Separator,
|
|
2024
1907
|
{
|
|
2025
1908
|
ref,
|
|
2026
|
-
className: cn("-
|
|
1909
|
+
className: cn("dl-menu-separator", className),
|
|
2027
1910
|
...props
|
|
2028
1911
|
}
|
|
2029
1912
|
));
|
|
@@ -2032,30 +1915,22 @@ var DropdownMenuShortcut = ({
|
|
|
2032
1915
|
className,
|
|
2033
1916
|
...props
|
|
2034
1917
|
}) => {
|
|
2035
|
-
return /* @__PURE__ */ (0,
|
|
2036
|
-
"span",
|
|
2037
|
-
{
|
|
2038
|
-
className: cn("ml-auto text-xs tracking-widest opacity-60", className),
|
|
2039
|
-
...props
|
|
2040
|
-
}
|
|
2041
|
-
);
|
|
1918
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: cn("dl-menu-shortcut", className), ...props });
|
|
2042
1919
|
};
|
|
2043
1920
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
2044
1921
|
|
|
2045
|
-
// src/components/form.tsx
|
|
2046
|
-
var
|
|
1922
|
+
// src/components/form/form.tsx
|
|
1923
|
+
var React22 = __toESM(require("react"), 1);
|
|
2047
1924
|
var import_react_slot3 = require("@radix-ui/react-slot");
|
|
2048
1925
|
var import_react_hook_form = require("react-hook-form");
|
|
2049
1926
|
|
|
2050
|
-
// src/components/label.tsx
|
|
2051
|
-
var
|
|
1927
|
+
// src/components/label/label.tsx
|
|
1928
|
+
var React21 = __toESM(require("react"), 1);
|
|
2052
1929
|
var LabelPrimitive = __toESM(require("@radix-ui/react-label"), 1);
|
|
2053
1930
|
var import_class_variance_authority4 = require("class-variance-authority");
|
|
2054
|
-
var
|
|
2055
|
-
var labelVariants = (0, import_class_variance_authority4.cva)(
|
|
2056
|
-
|
|
2057
|
-
);
|
|
2058
|
-
var Label3 = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1931
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1932
|
+
var labelVariants = (0, import_class_variance_authority4.cva)("dl-label");
|
|
1933
|
+
var Label3 = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2059
1934
|
LabelPrimitive.Root,
|
|
2060
1935
|
{
|
|
2061
1936
|
ref,
|
|
@@ -2065,20 +1940,20 @@ var Label3 = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
2065
1940
|
));
|
|
2066
1941
|
Label3.displayName = LabelPrimitive.Root.displayName;
|
|
2067
1942
|
|
|
2068
|
-
// src/components/form.tsx
|
|
2069
|
-
var
|
|
1943
|
+
// src/components/form/form.tsx
|
|
1944
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2070
1945
|
var Form = import_react_hook_form.FormProvider;
|
|
2071
|
-
var FormFieldContext =
|
|
1946
|
+
var FormFieldContext = React22.createContext(
|
|
2072
1947
|
null
|
|
2073
1948
|
);
|
|
2074
1949
|
var FormField = ({
|
|
2075
1950
|
...props
|
|
2076
1951
|
}) => {
|
|
2077
|
-
return /* @__PURE__ */ (0,
|
|
1952
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_react_hook_form.Controller, { ...props }) });
|
|
2078
1953
|
};
|
|
2079
1954
|
var useFormField = () => {
|
|
2080
|
-
const fieldContext =
|
|
2081
|
-
const itemContext =
|
|
1955
|
+
const fieldContext = React22.useContext(FormFieldContext);
|
|
1956
|
+
const itemContext = React22.useContext(FormItemContext);
|
|
2082
1957
|
const { getFieldState, formState } = (0, import_react_hook_form.useFormContext)();
|
|
2083
1958
|
if (!fieldContext) {
|
|
2084
1959
|
throw new Error("useFormField should be used within <FormField>");
|
|
@@ -2097,28 +1972,28 @@ var useFormField = () => {
|
|
|
2097
1972
|
...fieldState
|
|
2098
1973
|
};
|
|
2099
1974
|
};
|
|
2100
|
-
var FormItemContext =
|
|
2101
|
-
var FormItem =
|
|
2102
|
-
const id =
|
|
2103
|
-
return /* @__PURE__ */ (0,
|
|
1975
|
+
var FormItemContext = React22.createContext(null);
|
|
1976
|
+
var FormItem = React22.forwardRef(({ className, ...props }, ref) => {
|
|
1977
|
+
const id = React22.useId();
|
|
1978
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { ref, className: cn("dl-form-item", className), ...props }) });
|
|
2104
1979
|
});
|
|
2105
1980
|
FormItem.displayName = "FormItem";
|
|
2106
|
-
var FormLabel =
|
|
1981
|
+
var FormLabel = React22.forwardRef(({ className, ...props }, ref) => {
|
|
2107
1982
|
const { error, formItemId } = useFormField();
|
|
2108
|
-
return /* @__PURE__ */ (0,
|
|
1983
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2109
1984
|
Label3,
|
|
2110
1985
|
{
|
|
2111
1986
|
ref,
|
|
2112
|
-
className: cn(error && "
|
|
1987
|
+
className: cn(error && "dl-form-label--error", className),
|
|
2113
1988
|
htmlFor: formItemId,
|
|
2114
1989
|
...props
|
|
2115
1990
|
}
|
|
2116
1991
|
);
|
|
2117
1992
|
});
|
|
2118
1993
|
FormLabel.displayName = "FormLabel";
|
|
2119
|
-
var FormControl =
|
|
1994
|
+
var FormControl = React22.forwardRef(({ ...props }, ref) => {
|
|
2120
1995
|
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
2121
|
-
return /* @__PURE__ */ (0,
|
|
1996
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2122
1997
|
import_react_slot3.Slot,
|
|
2123
1998
|
{
|
|
2124
1999
|
ref,
|
|
@@ -2130,31 +2005,31 @@ var FormControl = React20.forwardRef(({ ...props }, ref) => {
|
|
|
2130
2005
|
);
|
|
2131
2006
|
});
|
|
2132
2007
|
FormControl.displayName = "FormControl";
|
|
2133
|
-
var FormDescription =
|
|
2008
|
+
var FormDescription = React22.forwardRef(({ className, ...props }, ref) => {
|
|
2134
2009
|
const { formDescriptionId } = useFormField();
|
|
2135
|
-
return /* @__PURE__ */ (0,
|
|
2010
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2136
2011
|
"p",
|
|
2137
2012
|
{
|
|
2138
2013
|
ref,
|
|
2139
2014
|
id: formDescriptionId,
|
|
2140
|
-
className: cn("
|
|
2015
|
+
className: cn("dl-form-desc", className),
|
|
2141
2016
|
...props
|
|
2142
2017
|
}
|
|
2143
2018
|
);
|
|
2144
2019
|
});
|
|
2145
2020
|
FormDescription.displayName = "FormDescription";
|
|
2146
|
-
var FormMessage =
|
|
2021
|
+
var FormMessage = React22.forwardRef(({ className, children, ...props }, ref) => {
|
|
2147
2022
|
const { error, formMessageId } = useFormField();
|
|
2148
2023
|
const body = error ? String(error?.message ?? "") : children;
|
|
2149
2024
|
if (!body) {
|
|
2150
2025
|
return null;
|
|
2151
2026
|
}
|
|
2152
|
-
return /* @__PURE__ */ (0,
|
|
2027
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2153
2028
|
"p",
|
|
2154
2029
|
{
|
|
2155
2030
|
ref,
|
|
2156
2031
|
id: formMessageId,
|
|
2157
|
-
className: cn("
|
|
2032
|
+
className: cn("dl-form-error", className),
|
|
2158
2033
|
...props,
|
|
2159
2034
|
children: body
|
|
2160
2035
|
}
|
|
@@ -2162,408 +2037,387 @@ var FormMessage = React20.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
2162
2037
|
});
|
|
2163
2038
|
FormMessage.displayName = "FormMessage";
|
|
2164
2039
|
|
|
2165
|
-
// src/components/hover-card.tsx
|
|
2166
|
-
var
|
|
2040
|
+
// src/components/hover-card/hover-card.tsx
|
|
2041
|
+
var React23 = __toESM(require("react"), 1);
|
|
2167
2042
|
var HoverCardPrimitive = __toESM(require("@radix-ui/react-hover-card"), 1);
|
|
2168
|
-
var
|
|
2043
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2169
2044
|
var HoverCard = HoverCardPrimitive.Root;
|
|
2170
2045
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
2171
|
-
var HoverCardContent =
|
|
2046
|
+
var HoverCardContent = React23.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2172
2047
|
HoverCardPrimitive.Content,
|
|
2173
2048
|
{
|
|
2174
2049
|
ref,
|
|
2175
2050
|
align,
|
|
2176
2051
|
sideOffset,
|
|
2177
|
-
className: cn(
|
|
2178
|
-
"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-hover-card-content-transform-origin)",
|
|
2179
|
-
className
|
|
2180
|
-
),
|
|
2052
|
+
className: cn("dl-hover-card", className),
|
|
2181
2053
|
...props
|
|
2182
2054
|
}
|
|
2183
2055
|
));
|
|
2184
2056
|
HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
2185
2057
|
|
|
2186
|
-
// src/components/input
|
|
2187
|
-
var
|
|
2058
|
+
// src/components/input/input.tsx
|
|
2059
|
+
var React24 = __toESM(require("react"), 1);
|
|
2060
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2061
|
+
var Input = React24.forwardRef(
|
|
2062
|
+
({ className, type, startIcon, endIcon, ...props }, ref) => {
|
|
2063
|
+
const inputEl = /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2064
|
+
"input",
|
|
2065
|
+
{
|
|
2066
|
+
type,
|
|
2067
|
+
className: cn(
|
|
2068
|
+
"dl-input",
|
|
2069
|
+
startIcon && "dl-input--has-start-icon",
|
|
2070
|
+
endIcon && "dl-input--has-end-icon",
|
|
2071
|
+
className
|
|
2072
|
+
),
|
|
2073
|
+
ref,
|
|
2074
|
+
...props
|
|
2075
|
+
}
|
|
2076
|
+
);
|
|
2077
|
+
if (!startIcon && !endIcon) {
|
|
2078
|
+
return inputEl;
|
|
2079
|
+
}
|
|
2080
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "dl-input-wrapper", children: [
|
|
2081
|
+
startIcon && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "dl-input-icon dl-input-icon--start", children: startIcon }),
|
|
2082
|
+
inputEl,
|
|
2083
|
+
endIcon && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "dl-input-icon dl-input-icon--end", children: endIcon })
|
|
2084
|
+
] });
|
|
2085
|
+
}
|
|
2086
|
+
);
|
|
2087
|
+
Input.displayName = "Input";
|
|
2088
|
+
|
|
2089
|
+
// src/components/input-otp/input-otp.tsx
|
|
2090
|
+
var React25 = __toESM(require("react"), 1);
|
|
2188
2091
|
var import_input_otp = require("input-otp");
|
|
2189
|
-
var
|
|
2190
|
-
var
|
|
2191
|
-
var InputOTP =
|
|
2092
|
+
var import_lucide_react11 = require("lucide-react");
|
|
2093
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
2094
|
+
var InputOTP = React25.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2192
2095
|
import_input_otp.OTPInput,
|
|
2193
2096
|
{
|
|
2194
2097
|
ref,
|
|
2195
|
-
containerClassName: cn(
|
|
2196
|
-
|
|
2197
|
-
containerClassName
|
|
2198
|
-
),
|
|
2199
|
-
className: cn("disabled:cursor-not-allowed", className),
|
|
2098
|
+
containerClassName: cn("dl-input-otp-container", containerClassName),
|
|
2099
|
+
className: cn("dl-input-otp", className),
|
|
2200
2100
|
...props
|
|
2201
2101
|
}
|
|
2202
2102
|
));
|
|
2203
2103
|
InputOTP.displayName = "InputOTP";
|
|
2204
|
-
var InputOTPGroup =
|
|
2104
|
+
var InputOTPGroup = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { ref, className: cn("dl-input-otp-group", className), ...props }));
|
|
2205
2105
|
InputOTPGroup.displayName = "InputOTPGroup";
|
|
2206
|
-
var InputOTPSlot =
|
|
2207
|
-
const inputOTPContext =
|
|
2106
|
+
var InputOTPSlot = React25.forwardRef(({ index, className, ...props }, ref) => {
|
|
2107
|
+
const inputOTPContext = React25.useContext(import_input_otp.OTPInputContext);
|
|
2208
2108
|
const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index] ?? {
|
|
2209
2109
|
char: null,
|
|
2210
2110
|
hasFakeCaret: false,
|
|
2211
2111
|
isActive: false
|
|
2212
2112
|
};
|
|
2213
|
-
return /* @__PURE__ */ (0,
|
|
2113
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
2214
2114
|
"div",
|
|
2215
2115
|
{
|
|
2216
2116
|
ref,
|
|
2217
2117
|
className: cn(
|
|
2218
|
-
"
|
|
2219
|
-
isActive && "
|
|
2118
|
+
"dl-input-otp-slot",
|
|
2119
|
+
isActive && "dl-input-otp-slot--active",
|
|
2220
2120
|
className
|
|
2221
2121
|
),
|
|
2222
2122
|
...props,
|
|
2223
2123
|
children: [
|
|
2224
2124
|
char,
|
|
2225
|
-
hasFakeCaret && /* @__PURE__ */ (0,
|
|
2125
|
+
hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "dl-input-otp-caret", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "dl-input-otp-caret__line" }) })
|
|
2226
2126
|
]
|
|
2227
2127
|
}
|
|
2228
2128
|
);
|
|
2229
2129
|
});
|
|
2230
2130
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
2231
|
-
var InputOTPSeparator =
|
|
2131
|
+
var InputOTPSeparator = React25.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react11.Minus, {}) }));
|
|
2232
2132
|
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
2233
2133
|
|
|
2234
|
-
// src/components/
|
|
2235
|
-
var
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2240
|
-
"input",
|
|
2241
|
-
{
|
|
2242
|
-
type,
|
|
2243
|
-
className: cn(
|
|
2244
|
-
"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:font-medium file:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
2245
|
-
className
|
|
2246
|
-
),
|
|
2247
|
-
ref,
|
|
2248
|
-
...props
|
|
2249
|
-
}
|
|
2250
|
-
);
|
|
2251
|
-
}
|
|
2252
|
-
);
|
|
2253
|
-
Input.displayName = "Input";
|
|
2134
|
+
// src/components/skeleton/skeleton.tsx
|
|
2135
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2136
|
+
function Skeleton({ className, ...props }) {
|
|
2137
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: cn("dl-skeleton", className), ...props });
|
|
2138
|
+
}
|
|
2254
2139
|
|
|
2255
|
-
// src/components/
|
|
2256
|
-
var
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2140
|
+
// src/components/loading-state/loading-state.tsx
|
|
2141
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2142
|
+
function LoadingState({
|
|
2143
|
+
rows = 3,
|
|
2144
|
+
message,
|
|
2145
|
+
className,
|
|
2261
2146
|
...props
|
|
2262
2147
|
}) {
|
|
2263
|
-
|
|
2148
|
+
if (message) {
|
|
2149
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: cn("dl-loading", className), ...props, children: [
|
|
2150
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2151
|
+
"svg",
|
|
2152
|
+
{
|
|
2153
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2154
|
+
width: "24",
|
|
2155
|
+
height: "24",
|
|
2156
|
+
viewBox: "0 0 24 24",
|
|
2157
|
+
fill: "none",
|
|
2158
|
+
stroke: "currentColor",
|
|
2159
|
+
strokeWidth: "2",
|
|
2160
|
+
strokeLinecap: "round",
|
|
2161
|
+
strokeLinejoin: "round",
|
|
2162
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
|
|
2163
|
+
}
|
|
2164
|
+
),
|
|
2165
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { children: message })
|
|
2166
|
+
] });
|
|
2167
|
+
}
|
|
2168
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: cn("dl-loading-skeleton", className), ...props, children: [
|
|
2169
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Skeleton, { style: { height: "2rem", width: "33.333%" } }),
|
|
2170
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "dl-loading-skeleton__list", children: Array.from({ length: rows }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2171
|
+
Skeleton,
|
|
2172
|
+
{
|
|
2173
|
+
style: {
|
|
2174
|
+
height: "4rem",
|
|
2175
|
+
width: "100%",
|
|
2176
|
+
borderRadius: "var(--radius-lg, 0.75rem)"
|
|
2177
|
+
}
|
|
2178
|
+
},
|
|
2179
|
+
i
|
|
2180
|
+
)) })
|
|
2181
|
+
] });
|
|
2264
2182
|
}
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2183
|
+
|
|
2184
|
+
// src/components/menubar/menubar.tsx
|
|
2185
|
+
var React26 = __toESM(require("react"), 1);
|
|
2186
|
+
var MenubarPrimitive = __toESM(require("@radix-ui/react-menubar"), 1);
|
|
2187
|
+
var import_lucide_react12 = require("lucide-react");
|
|
2188
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2189
|
+
function MenubarMenu(props) {
|
|
2190
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenubarPrimitive.Menu, { ...props });
|
|
2269
2191
|
}
|
|
2270
|
-
function
|
|
2271
|
-
...props
|
|
2272
|
-
}) {
|
|
2273
|
-
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(MenubarPrimitive.Portal, { ...props });
|
|
2192
|
+
function MenubarGroup(props) {
|
|
2193
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenubarPrimitive.Group, { ...props });
|
|
2274
2194
|
}
|
|
2275
|
-
function
|
|
2276
|
-
...props
|
|
2277
|
-
}) {
|
|
2278
|
-
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(MenubarPrimitive.RadioGroup, { ...props });
|
|
2195
|
+
function MenubarPortal(props) {
|
|
2196
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenubarPrimitive.Portal, { ...props });
|
|
2279
2197
|
}
|
|
2280
|
-
function
|
|
2281
|
-
...props
|
|
2282
|
-
}
|
|
2283
|
-
|
|
2198
|
+
function MenubarRadioGroup(props) {
|
|
2199
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenubarPrimitive.RadioGroup, { ...props });
|
|
2200
|
+
}
|
|
2201
|
+
function MenubarSub(props) {
|
|
2202
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
|
|
2284
2203
|
}
|
|
2285
|
-
var Menubar =
|
|
2204
|
+
var Menubar = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2286
2205
|
MenubarPrimitive.Root,
|
|
2287
2206
|
{
|
|
2288
2207
|
ref,
|
|
2289
|
-
className: cn(
|
|
2290
|
-
"flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm",
|
|
2291
|
-
className
|
|
2292
|
-
),
|
|
2208
|
+
className: cn("dl-menubar", className),
|
|
2293
2209
|
...props
|
|
2294
2210
|
}
|
|
2295
2211
|
));
|
|
2296
2212
|
Menubar.displayName = MenubarPrimitive.Root.displayName;
|
|
2297
|
-
var MenubarTrigger =
|
|
2213
|
+
var MenubarTrigger = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2298
2214
|
MenubarPrimitive.Trigger,
|
|
2299
2215
|
{
|
|
2300
2216
|
ref,
|
|
2301
|
-
className: cn(
|
|
2302
|
-
"flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
|
2303
|
-
className
|
|
2304
|
-
),
|
|
2217
|
+
className: cn("dl-menubar-trigger", className),
|
|
2305
2218
|
...props
|
|
2306
2219
|
}
|
|
2307
2220
|
));
|
|
2308
2221
|
MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
|
|
2309
|
-
var MenubarSubTrigger =
|
|
2222
|
+
var MenubarSubTrigger = React26.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
2310
2223
|
MenubarPrimitive.SubTrigger,
|
|
2311
2224
|
{
|
|
2312
2225
|
ref,
|
|
2313
2226
|
className: cn(
|
|
2314
|
-
"
|
|
2227
|
+
"dl-menu-item dl-menu-sub-trigger",
|
|
2315
2228
|
inset && "pl-8",
|
|
2316
2229
|
className
|
|
2317
2230
|
),
|
|
2318
2231
|
...props,
|
|
2319
2232
|
children: [
|
|
2320
2233
|
children,
|
|
2321
|
-
/* @__PURE__ */ (0,
|
|
2234
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react12.ChevronRight, { className: "ml-auto size-4" })
|
|
2322
2235
|
]
|
|
2323
2236
|
}
|
|
2324
2237
|
));
|
|
2325
2238
|
MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
|
|
2326
|
-
var MenubarSubContent =
|
|
2239
|
+
var MenubarSubContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2327
2240
|
MenubarPrimitive.SubContent,
|
|
2328
2241
|
{
|
|
2329
2242
|
ref,
|
|
2330
|
-
className: cn(
|
|
2331
|
-
"z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-menubar-content-transform-origin)",
|
|
2332
|
-
className
|
|
2333
|
-
),
|
|
2243
|
+
className: cn("dl-menu-content", className),
|
|
2334
2244
|
...props
|
|
2335
2245
|
}
|
|
2336
2246
|
));
|
|
2337
2247
|
MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
|
|
2338
|
-
var MenubarContent =
|
|
2339
|
-
({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2248
|
+
var MenubarContent = React26.forwardRef(
|
|
2249
|
+
({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenubarPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2340
2250
|
MenubarPrimitive.Content,
|
|
2341
2251
|
{
|
|
2342
2252
|
ref,
|
|
2343
2253
|
align,
|
|
2344
2254
|
alignOffset,
|
|
2345
2255
|
sideOffset,
|
|
2346
|
-
className: cn(
|
|
2347
|
-
"z-50 min-w-48 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-menubar-content-transform-origin)",
|
|
2348
|
-
className
|
|
2349
|
-
),
|
|
2256
|
+
className: cn("dl-menu-content", className),
|
|
2350
2257
|
...props
|
|
2351
2258
|
}
|
|
2352
2259
|
) })
|
|
2353
2260
|
);
|
|
2354
2261
|
MenubarContent.displayName = MenubarPrimitive.Content.displayName;
|
|
2355
|
-
var MenubarItem =
|
|
2262
|
+
var MenubarItem = React26.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2356
2263
|
MenubarPrimitive.Item,
|
|
2357
2264
|
{
|
|
2358
2265
|
ref,
|
|
2359
|
-
className: cn(
|
|
2360
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
2361
|
-
inset && "pl-8",
|
|
2362
|
-
className
|
|
2363
|
-
),
|
|
2266
|
+
className: cn("dl-menu-item", inset && "pl-8", className),
|
|
2364
2267
|
...props
|
|
2365
2268
|
}
|
|
2366
2269
|
));
|
|
2367
2270
|
MenubarItem.displayName = MenubarPrimitive.Item.displayName;
|
|
2368
|
-
var MenubarCheckboxItem =
|
|
2271
|
+
var MenubarCheckboxItem = React26.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
2369
2272
|
MenubarPrimitive.CheckboxItem,
|
|
2370
2273
|
{
|
|
2371
2274
|
ref,
|
|
2372
|
-
className: cn(
|
|
2373
|
-
|
|
2374
|
-
className
|
|
2375
|
-
),
|
|
2275
|
+
className: cn("dl-menu-item dl-menu-checkbox-item", className),
|
|
2276
|
+
checked,
|
|
2376
2277
|
...props,
|
|
2377
2278
|
children: [
|
|
2378
|
-
/* @__PURE__ */ (0,
|
|
2279
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "dl-menu-checkbox-item__indicator", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react12.Check, { className: "size-4" }) }) }),
|
|
2379
2280
|
children
|
|
2380
2281
|
]
|
|
2381
2282
|
}
|
|
2382
2283
|
));
|
|
2383
2284
|
MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
|
|
2384
|
-
var MenubarRadioItem =
|
|
2285
|
+
var MenubarRadioItem = React26.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
2385
2286
|
MenubarPrimitive.RadioItem,
|
|
2386
2287
|
{
|
|
2387
2288
|
ref,
|
|
2388
|
-
className: cn(
|
|
2389
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
2390
|
-
className
|
|
2391
|
-
),
|
|
2289
|
+
className: cn("dl-menu-item dl-menu-radio-item", className),
|
|
2392
2290
|
...props,
|
|
2393
2291
|
children: [
|
|
2394
|
-
/* @__PURE__ */ (0,
|
|
2292
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "dl-menu-radio-item__indicator", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react12.Circle, { className: "fill-current size-2" }) }) }),
|
|
2395
2293
|
children
|
|
2396
2294
|
]
|
|
2397
2295
|
}
|
|
2398
2296
|
));
|
|
2399
2297
|
MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
|
|
2400
|
-
var MenubarLabel =
|
|
2298
|
+
var MenubarLabel = React26.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2401
2299
|
MenubarPrimitive.Label,
|
|
2402
2300
|
{
|
|
2403
2301
|
ref,
|
|
2404
|
-
className: cn(
|
|
2405
|
-
"px-2 py-1.5 text-sm font-semibold",
|
|
2406
|
-
inset && "pl-8",
|
|
2407
|
-
className
|
|
2408
|
-
),
|
|
2302
|
+
className: cn("dl-menu-label", inset && "pl-8", className),
|
|
2409
2303
|
...props
|
|
2410
2304
|
}
|
|
2411
2305
|
));
|
|
2412
2306
|
MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
|
|
2413
|
-
var MenubarSeparator =
|
|
2307
|
+
var MenubarSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2414
2308
|
MenubarPrimitive.Separator,
|
|
2415
2309
|
{
|
|
2416
2310
|
ref,
|
|
2417
|
-
className: cn("-
|
|
2311
|
+
className: cn("dl-menu-separator", className),
|
|
2418
2312
|
...props
|
|
2419
2313
|
}
|
|
2420
2314
|
));
|
|
2421
2315
|
MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
|
|
2422
|
-
var MenubarShortcut = ({
|
|
2423
|
-
className,
|
|
2424
|
-
...props
|
|
2425
|
-
}) => {
|
|
2426
|
-
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2427
|
-
"span",
|
|
2428
|
-
{
|
|
2429
|
-
className: cn(
|
|
2430
|
-
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
2431
|
-
className
|
|
2432
|
-
),
|
|
2433
|
-
...props
|
|
2434
|
-
}
|
|
2435
|
-
);
|
|
2316
|
+
var MenubarShortcut = ({ className, ...props }) => {
|
|
2317
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: cn("dl-menu-shortcut", className), ...props });
|
|
2436
2318
|
};
|
|
2437
|
-
MenubarShortcut.
|
|
2319
|
+
MenubarShortcut.displayName = "MenubarShortcut";
|
|
2438
2320
|
|
|
2439
|
-
// src/components/navigation-menu.tsx
|
|
2440
|
-
var
|
|
2321
|
+
// src/components/navigation-menu/navigation-menu.tsx
|
|
2322
|
+
var React27 = __toESM(require("react"), 1);
|
|
2441
2323
|
var NavigationMenuPrimitive = __toESM(require("@radix-ui/react-navigation-menu"), 1);
|
|
2442
2324
|
var import_class_variance_authority5 = require("class-variance-authority");
|
|
2443
|
-
var
|
|
2444
|
-
var
|
|
2445
|
-
var NavigationMenu =
|
|
2325
|
+
var import_lucide_react13 = require("lucide-react");
|
|
2326
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2327
|
+
var NavigationMenu = React27.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
2446
2328
|
NavigationMenuPrimitive.Root,
|
|
2447
2329
|
{
|
|
2448
2330
|
ref,
|
|
2449
|
-
className: cn(
|
|
2450
|
-
"relative z-10 flex max-w-max flex-1 items-center justify-center",
|
|
2451
|
-
className
|
|
2452
|
-
),
|
|
2331
|
+
className: cn("dl-navigation-menu", className),
|
|
2453
2332
|
...props,
|
|
2454
2333
|
children: [
|
|
2455
2334
|
children,
|
|
2456
|
-
/* @__PURE__ */ (0,
|
|
2335
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(NavigationMenuViewport, {})
|
|
2457
2336
|
]
|
|
2458
2337
|
}
|
|
2459
2338
|
));
|
|
2460
2339
|
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
|
2461
|
-
var NavigationMenuList =
|
|
2340
|
+
var NavigationMenuList = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2462
2341
|
NavigationMenuPrimitive.List,
|
|
2463
2342
|
{
|
|
2464
2343
|
ref,
|
|
2465
|
-
className: cn(
|
|
2466
|
-
"group flex flex-1 list-none items-center justify-center space-x-1",
|
|
2467
|
-
className
|
|
2468
|
-
),
|
|
2344
|
+
className: cn("dl-navigation-menu-list", className),
|
|
2469
2345
|
...props
|
|
2470
2346
|
}
|
|
2471
2347
|
));
|
|
2472
2348
|
NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
|
|
2473
2349
|
var NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
2474
|
-
var navigationMenuTriggerStyle = (0, import_class_variance_authority5.cva)(
|
|
2475
|
-
|
|
2476
|
-
);
|
|
2477
|
-
var NavigationMenuTrigger = React25.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
2350
|
+
var navigationMenuTriggerStyle = (0, import_class_variance_authority5.cva)("dl-navigation-menu-trigger");
|
|
2351
|
+
var NavigationMenuTrigger = React27.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
2478
2352
|
NavigationMenuPrimitive.Trigger,
|
|
2479
2353
|
{
|
|
2480
2354
|
ref,
|
|
2481
|
-
className: cn(navigationMenuTriggerStyle(),
|
|
2355
|
+
className: cn(navigationMenuTriggerStyle(), className),
|
|
2482
2356
|
...props,
|
|
2483
2357
|
children: [
|
|
2484
2358
|
children,
|
|
2485
2359
|
" ",
|
|
2486
|
-
/* @__PURE__ */ (0,
|
|
2487
|
-
import_lucide_react12.ChevronDown,
|
|
2488
|
-
{
|
|
2489
|
-
className: "relative top-px ml-1 transition duration-300 group-data-[state=open]:rotate-180 size-3",
|
|
2490
|
-
"aria-hidden": "true"
|
|
2491
|
-
}
|
|
2492
|
-
)
|
|
2360
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react13.ChevronDown, { className: "dl-navigation-menu-chevron", "aria-hidden": "true" })
|
|
2493
2361
|
]
|
|
2494
2362
|
}
|
|
2495
2363
|
));
|
|
2496
2364
|
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
2497
|
-
var NavigationMenuContent =
|
|
2365
|
+
var NavigationMenuContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2498
2366
|
NavigationMenuPrimitive.Content,
|
|
2499
2367
|
{
|
|
2500
2368
|
ref,
|
|
2501
|
-
className: cn(
|
|
2502
|
-
"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",
|
|
2503
|
-
className
|
|
2504
|
-
),
|
|
2369
|
+
className: cn("dl-navigation-menu-content", className),
|
|
2505
2370
|
...props
|
|
2506
2371
|
}
|
|
2507
2372
|
));
|
|
2508
2373
|
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
|
2509
2374
|
var NavigationMenuLink = NavigationMenuPrimitive.Link;
|
|
2510
|
-
var NavigationMenuViewport =
|
|
2375
|
+
var NavigationMenuViewport = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "dl-navigation-menu-viewport-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2511
2376
|
NavigationMenuPrimitive.Viewport,
|
|
2512
2377
|
{
|
|
2513
|
-
className: cn(
|
|
2514
|
-
"origin-top-center relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-(--radix-navigation-menu-viewport-width)",
|
|
2515
|
-
className
|
|
2516
|
-
),
|
|
2378
|
+
className: cn("dl-navigation-menu-viewport", className),
|
|
2517
2379
|
ref,
|
|
2518
2380
|
...props
|
|
2519
2381
|
}
|
|
2520
2382
|
) }));
|
|
2521
2383
|
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
|
2522
|
-
var NavigationMenuIndicator =
|
|
2384
|
+
var NavigationMenuIndicator = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2523
2385
|
NavigationMenuPrimitive.Indicator,
|
|
2524
2386
|
{
|
|
2525
2387
|
ref,
|
|
2526
|
-
className: cn(
|
|
2527
|
-
"top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
|
|
2528
|
-
className
|
|
2529
|
-
),
|
|
2388
|
+
className: cn("dl-navigation-menu-indicator", className),
|
|
2530
2389
|
...props,
|
|
2531
|
-
children: /* @__PURE__ */ (0,
|
|
2390
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "dl-navigation-menu-indicator__arrow" })
|
|
2532
2391
|
}
|
|
2533
2392
|
));
|
|
2534
2393
|
NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
|
|
2535
2394
|
|
|
2536
|
-
// src/components/pagination.tsx
|
|
2537
|
-
var
|
|
2538
|
-
var
|
|
2539
|
-
var
|
|
2540
|
-
var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0,
|
|
2395
|
+
// src/components/pagination/pagination.tsx
|
|
2396
|
+
var React28 = __toESM(require("react"), 1);
|
|
2397
|
+
var import_lucide_react14 = require("lucide-react");
|
|
2398
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2399
|
+
var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2541
2400
|
"nav",
|
|
2542
2401
|
{
|
|
2543
2402
|
role: "navigation",
|
|
2544
2403
|
"aria-label": "pagination",
|
|
2545
|
-
className: cn("
|
|
2404
|
+
className: cn("dl-pagination", className),
|
|
2546
2405
|
...props
|
|
2547
2406
|
}
|
|
2548
2407
|
);
|
|
2549
2408
|
Pagination.displayName = "Pagination";
|
|
2550
|
-
var PaginationContent =
|
|
2551
|
-
"ul",
|
|
2552
|
-
{
|
|
2553
|
-
ref,
|
|
2554
|
-
className: cn("flex flex-row items-center gap-1", className),
|
|
2555
|
-
...props
|
|
2556
|
-
}
|
|
2557
|
-
));
|
|
2409
|
+
var PaginationContent = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("ul", { ref, className: cn("dl-pagination-content", className), ...props }));
|
|
2558
2410
|
PaginationContent.displayName = "PaginationContent";
|
|
2559
|
-
var PaginationItem =
|
|
2411
|
+
var PaginationItem = React28.forwardRef(
|
|
2412
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("li", { ref, className: cn("dl-pagination-item", className), ...props })
|
|
2413
|
+
);
|
|
2560
2414
|
PaginationItem.displayName = "PaginationItem";
|
|
2561
2415
|
var PaginationLink = ({
|
|
2562
2416
|
className,
|
|
2563
2417
|
isActive,
|
|
2564
2418
|
size = "icon",
|
|
2565
2419
|
...props
|
|
2566
|
-
}) => /* @__PURE__ */ (0,
|
|
2420
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2567
2421
|
"a",
|
|
2568
2422
|
{
|
|
2569
2423
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -2581,33 +2435,30 @@ PaginationLink.displayName = "PaginationLink";
|
|
|
2581
2435
|
var PaginationPrevious = ({
|
|
2582
2436
|
className,
|
|
2583
2437
|
...props
|
|
2584
|
-
}) => /* @__PURE__ */ (0,
|
|
2438
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
2585
2439
|
PaginationLink,
|
|
2586
2440
|
{
|
|
2587
2441
|
"aria-label": "Go to previous page",
|
|
2588
2442
|
size: "default",
|
|
2589
|
-
className: cn("
|
|
2443
|
+
className: cn("dl-pagination-prev", className),
|
|
2590
2444
|
...props,
|
|
2591
2445
|
children: [
|
|
2592
|
-
/* @__PURE__ */ (0,
|
|
2593
|
-
/* @__PURE__ */ (0,
|
|
2446
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react14.ChevronLeft, { className: "size-4" }),
|
|
2447
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: "Previous" })
|
|
2594
2448
|
]
|
|
2595
2449
|
}
|
|
2596
2450
|
);
|
|
2597
2451
|
PaginationPrevious.displayName = "PaginationPrevious";
|
|
2598
|
-
var PaginationNext = ({
|
|
2599
|
-
className,
|
|
2600
|
-
...props
|
|
2601
|
-
}) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
2452
|
+
var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
2602
2453
|
PaginationLink,
|
|
2603
2454
|
{
|
|
2604
2455
|
"aria-label": "Go to next page",
|
|
2605
2456
|
size: "default",
|
|
2606
|
-
className: cn("
|
|
2457
|
+
className: cn("dl-pagination-next", className),
|
|
2607
2458
|
...props,
|
|
2608
2459
|
children: [
|
|
2609
|
-
/* @__PURE__ */ (0,
|
|
2610
|
-
/* @__PURE__ */ (0,
|
|
2460
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: "Next" }),
|
|
2461
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react14.ChevronRight, { className: "size-4" })
|
|
2611
2462
|
]
|
|
2612
2463
|
}
|
|
2613
2464
|
);
|
|
@@ -2615,59 +2466,50 @@ PaginationNext.displayName = "PaginationNext";
|
|
|
2615
2466
|
var PaginationEllipsis = ({
|
|
2616
2467
|
className,
|
|
2617
2468
|
...props
|
|
2618
|
-
}) => /* @__PURE__ */ (0,
|
|
2469
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
2619
2470
|
"span",
|
|
2620
2471
|
{
|
|
2621
2472
|
"aria-hidden": true,
|
|
2622
|
-
className: cn("
|
|
2473
|
+
className: cn("dl-pagination-ellipsis", className),
|
|
2623
2474
|
...props,
|
|
2624
2475
|
children: [
|
|
2625
|
-
/* @__PURE__ */ (0,
|
|
2626
|
-
/* @__PURE__ */ (0,
|
|
2476
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react14.MoreHorizontal, {}),
|
|
2477
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "sr-only", children: "More pages" })
|
|
2627
2478
|
]
|
|
2628
2479
|
}
|
|
2629
2480
|
);
|
|
2630
2481
|
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
2631
2482
|
|
|
2632
|
-
// src/components/
|
|
2633
|
-
var
|
|
2634
|
-
var
|
|
2635
|
-
var
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
sideOffset,
|
|
2645
|
-
className: cn(
|
|
2646
|
-
"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-popover-content-transform-origin)",
|
|
2647
|
-
className
|
|
2648
|
-
),
|
|
2649
|
-
...props
|
|
2483
|
+
// src/components/panel/panel.tsx
|
|
2484
|
+
var React29 = __toESM(require("react"), 1);
|
|
2485
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2486
|
+
var Panel = React29.forwardRef(
|
|
2487
|
+
({ title, meta, children, className, ...props }, ref) => {
|
|
2488
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("section", { ref, className: cn("dl-panel", className), ...props, children: [
|
|
2489
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "dl-panel__header", children: [
|
|
2490
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("h2", { className: "dl-panel__title", children: title }),
|
|
2491
|
+
meta ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "dl-panel__meta", children: meta }) : null
|
|
2492
|
+
] }) : null,
|
|
2493
|
+
children
|
|
2494
|
+
] });
|
|
2650
2495
|
}
|
|
2651
|
-
)
|
|
2652
|
-
|
|
2496
|
+
);
|
|
2497
|
+
Panel.displayName = "Panel";
|
|
2653
2498
|
|
|
2654
|
-
// src/components/progress.tsx
|
|
2655
|
-
var
|
|
2499
|
+
// src/components/progress/progress.tsx
|
|
2500
|
+
var React30 = __toESM(require("react"), 1);
|
|
2656
2501
|
var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"), 1);
|
|
2657
|
-
var
|
|
2658
|
-
var Progress =
|
|
2502
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2503
|
+
var Progress = React30.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2659
2504
|
ProgressPrimitive.Root,
|
|
2660
2505
|
{
|
|
2661
2506
|
ref,
|
|
2662
|
-
className: cn(
|
|
2663
|
-
"relative h-2 w-full overflow-hidden rounded-full bg-primary/20",
|
|
2664
|
-
className
|
|
2665
|
-
),
|
|
2507
|
+
className: cn("dl-progress", className),
|
|
2666
2508
|
...props,
|
|
2667
|
-
children: /* @__PURE__ */ (0,
|
|
2509
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2668
2510
|
ProgressPrimitive.Indicator,
|
|
2669
2511
|
{
|
|
2670
|
-
className: "
|
|
2512
|
+
className: "dl-progress__indicator",
|
|
2671
2513
|
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
2672
2514
|
}
|
|
2673
2515
|
)
|
|
@@ -2675,292 +2517,440 @@ var Progress = React28.forwardRef(({ className, value, ...props }, ref) => /* @_
|
|
|
2675
2517
|
));
|
|
2676
2518
|
Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
2677
2519
|
|
|
2678
|
-
// src/components/radio-group.tsx
|
|
2679
|
-
var
|
|
2520
|
+
// src/components/radio-group/radio-group.tsx
|
|
2521
|
+
var React31 = __toESM(require("react"), 1);
|
|
2680
2522
|
var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
|
|
2681
|
-
var
|
|
2682
|
-
var
|
|
2683
|
-
var RadioGroup4 =
|
|
2684
|
-
return /* @__PURE__ */ (0,
|
|
2523
|
+
var import_lucide_react15 = require("lucide-react");
|
|
2524
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2525
|
+
var RadioGroup4 = React31.forwardRef(({ className, ...props }, ref) => {
|
|
2526
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2685
2527
|
RadioGroupPrimitive.Root,
|
|
2686
2528
|
{
|
|
2687
|
-
className: cn("
|
|
2529
|
+
className: cn("dl-radio-group", className),
|
|
2688
2530
|
...props,
|
|
2689
2531
|
ref
|
|
2690
2532
|
}
|
|
2691
2533
|
);
|
|
2692
2534
|
});
|
|
2693
2535
|
RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
|
|
2694
|
-
var RadioGroupItem =
|
|
2695
|
-
return /* @__PURE__ */ (0,
|
|
2536
|
+
var RadioGroupItem = React31.forwardRef(({ className, ...props }, ref) => {
|
|
2537
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2696
2538
|
RadioGroupPrimitive.Item,
|
|
2697
2539
|
{
|
|
2698
2540
|
ref,
|
|
2699
|
-
className: cn(
|
|
2700
|
-
"aspect-square rounded-full border border-primary text-primary shadow cursor-pointer focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 size-4",
|
|
2701
|
-
className
|
|
2702
|
-
),
|
|
2541
|
+
className: cn("dl-radio-item", className),
|
|
2703
2542
|
...props,
|
|
2704
|
-
children: /* @__PURE__ */ (0,
|
|
2543
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadioGroupPrimitive.Indicator, { className: "dl-radio-item__indicator", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react15.Circle, { "aria-hidden": "true" }) })
|
|
2705
2544
|
}
|
|
2706
2545
|
);
|
|
2707
2546
|
});
|
|
2708
2547
|
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
2709
2548
|
|
|
2710
|
-
// src/components/resizable.tsx
|
|
2711
|
-
var
|
|
2549
|
+
// src/components/resizable/resizable.tsx
|
|
2550
|
+
var import_lucide_react16 = require("lucide-react");
|
|
2712
2551
|
var import_react_resizable_panels = require("react-resizable-panels");
|
|
2713
|
-
var
|
|
2552
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2714
2553
|
var ResizablePanelGroup = ({
|
|
2715
2554
|
className,
|
|
2716
2555
|
...props
|
|
2717
|
-
}) => /* @__PURE__ */ (0,
|
|
2718
|
-
import_react_resizable_panels.Group,
|
|
2719
|
-
{
|
|
2720
|
-
className: cn(
|
|
2721
|
-
"flex data-[panel-group-direction=vertical]:flex-col size-full",
|
|
2722
|
-
className
|
|
2723
|
-
),
|
|
2724
|
-
...props
|
|
2725
|
-
}
|
|
2726
|
-
);
|
|
2556
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_resizable_panels.Group, { className: cn("dl-resizable-group", className), ...props });
|
|
2727
2557
|
var ResizablePanel = import_react_resizable_panels.Panel;
|
|
2728
2558
|
var ResizableHandle = ({
|
|
2729
2559
|
withHandle,
|
|
2730
2560
|
className,
|
|
2731
2561
|
...props
|
|
2732
|
-
}) => /* @__PURE__ */ (0,
|
|
2733
|
-
import_react_resizable_panels.Separator,
|
|
2734
|
-
{
|
|
2735
|
-
className: cn(
|
|
2736
|
-
"relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
|
|
2737
|
-
className
|
|
2738
|
-
),
|
|
2739
|
-
...props,
|
|
2740
|
-
children: withHandle && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react15.GripVertical, { className: "size-2.5" }) })
|
|
2741
|
-
}
|
|
2742
|
-
);
|
|
2562
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_resizable_panels.Separator, { className: cn("dl-resizable-handle", className), ...props, children: withHandle && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "dl-resizable-grip", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react16.GripVertical, {}) }) });
|
|
2743
2563
|
|
|
2744
|
-
// src/components/scroll-area.tsx
|
|
2745
|
-
var
|
|
2564
|
+
// src/components/scroll-area/scroll-area.tsx
|
|
2565
|
+
var React32 = __toESM(require("react"), 1);
|
|
2746
2566
|
var ScrollAreaPrimitive = __toESM(require("@radix-ui/react-scroll-area"), 1);
|
|
2747
|
-
var
|
|
2748
|
-
var ScrollArea =
|
|
2567
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2568
|
+
var ScrollArea = React32.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2749
2569
|
ScrollAreaPrimitive.Root,
|
|
2750
2570
|
{
|
|
2751
2571
|
ref,
|
|
2752
|
-
className: cn("
|
|
2572
|
+
className: cn("dl-scroll-area", className),
|
|
2753
2573
|
...props,
|
|
2754
2574
|
children: [
|
|
2755
|
-
/* @__PURE__ */ (0,
|
|
2756
|
-
/* @__PURE__ */ (0,
|
|
2757
|
-
/* @__PURE__ */ (0,
|
|
2575
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ScrollAreaPrimitive.Viewport, { className: "dl-scroll-area__viewport", children }),
|
|
2576
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ScrollBar, {}),
|
|
2577
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ScrollAreaPrimitive.Corner, {})
|
|
2758
2578
|
]
|
|
2759
2579
|
}
|
|
2760
2580
|
));
|
|
2761
2581
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
2762
|
-
var ScrollBar =
|
|
2582
|
+
var ScrollBar = React32.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2763
2583
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
2764
2584
|
{
|
|
2765
2585
|
ref,
|
|
2766
2586
|
orientation,
|
|
2767
|
-
className: cn(
|
|
2768
|
-
"flex touch-none select-none transition-colors",
|
|
2769
|
-
orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-px",
|
|
2770
|
-
orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-px",
|
|
2771
|
-
className
|
|
2772
|
-
),
|
|
2587
|
+
className: cn("dl-scroll-area__bar", className),
|
|
2773
2588
|
...props,
|
|
2774
|
-
children: /* @__PURE__ */ (0,
|
|
2589
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ScrollAreaPrimitive.ScrollAreaThumb, { className: "dl-scroll-area__thumb" })
|
|
2775
2590
|
}
|
|
2776
2591
|
));
|
|
2777
2592
|
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
2778
2593
|
|
|
2779
|
-
// src/components/select.tsx
|
|
2780
|
-
var
|
|
2594
|
+
// src/components/searchable-select/searchable-select.tsx
|
|
2595
|
+
var React33 = __toESM(require("react"), 1);
|
|
2596
|
+
var import_lucide_react17 = require("lucide-react");
|
|
2597
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2598
|
+
function SearchableSelect({
|
|
2599
|
+
options,
|
|
2600
|
+
value,
|
|
2601
|
+
onChange,
|
|
2602
|
+
placeholder = "Select an option...",
|
|
2603
|
+
searchPlaceholder = "Search...",
|
|
2604
|
+
onAddNew,
|
|
2605
|
+
addNewLabel = "Add new",
|
|
2606
|
+
disabled = false,
|
|
2607
|
+
className,
|
|
2608
|
+
id
|
|
2609
|
+
}) {
|
|
2610
|
+
const [open, setOpen] = React33.useState(false);
|
|
2611
|
+
const [search, setSearch] = React33.useState("");
|
|
2612
|
+
const [highlightedIndex, setHighlightedIndex] = React33.useState(0);
|
|
2613
|
+
const listRef = React33.useRef(null);
|
|
2614
|
+
const selectedOption = React33.useMemo(() => {
|
|
2615
|
+
return options.find((opt) => opt.value === value);
|
|
2616
|
+
}, [options, value]);
|
|
2617
|
+
const filteredOptions = React33.useMemo(() => {
|
|
2618
|
+
if (!search.trim()) return options;
|
|
2619
|
+
const q = search.toLowerCase();
|
|
2620
|
+
return options.filter(
|
|
2621
|
+
(opt) => opt.label.toLowerCase().includes(q) || opt.group && opt.group.toLowerCase().includes(q)
|
|
2622
|
+
);
|
|
2623
|
+
}, [options, search]);
|
|
2624
|
+
const handleOpenChange = (newOpen) => {
|
|
2625
|
+
setOpen(newOpen);
|
|
2626
|
+
if (newOpen) {
|
|
2627
|
+
const idx = filteredOptions.findIndex((opt) => opt.value === value);
|
|
2628
|
+
setHighlightedIndex(idx >= 0 ? idx : 0);
|
|
2629
|
+
} else {
|
|
2630
|
+
setSearch("");
|
|
2631
|
+
}
|
|
2632
|
+
};
|
|
2633
|
+
const handleSearchChange = (q) => {
|
|
2634
|
+
setSearch(q);
|
|
2635
|
+
setHighlightedIndex(0);
|
|
2636
|
+
};
|
|
2637
|
+
React33.useEffect(() => {
|
|
2638
|
+
if (open && listRef.current) {
|
|
2639
|
+
const activeEl = listRef.current.querySelector(
|
|
2640
|
+
"[data-highlighted='true']"
|
|
2641
|
+
);
|
|
2642
|
+
if (activeEl) {
|
|
2643
|
+
activeEl.scrollIntoView({ block: "nearest" });
|
|
2644
|
+
}
|
|
2645
|
+
}
|
|
2646
|
+
}, [highlightedIndex, open]);
|
|
2647
|
+
const groupedOptions = React33.useMemo(() => {
|
|
2648
|
+
const hasGroups = filteredOptions.some((opt) => opt.group);
|
|
2649
|
+
if (!hasGroups) return { Default: filteredOptions };
|
|
2650
|
+
return filteredOptions.reduce(
|
|
2651
|
+
(acc, opt) => {
|
|
2652
|
+
const g = opt.group || "Other";
|
|
2653
|
+
if (!acc[g]) acc[g] = [];
|
|
2654
|
+
acc[g].push(opt);
|
|
2655
|
+
return acc;
|
|
2656
|
+
},
|
|
2657
|
+
{}
|
|
2658
|
+
);
|
|
2659
|
+
}, [filteredOptions]);
|
|
2660
|
+
const handleSelect = (val) => {
|
|
2661
|
+
onChange?.(val);
|
|
2662
|
+
setOpen(false);
|
|
2663
|
+
setSearch("");
|
|
2664
|
+
};
|
|
2665
|
+
const handleAddNew = () => {
|
|
2666
|
+
onAddNew?.(search.trim());
|
|
2667
|
+
setOpen(false);
|
|
2668
|
+
setSearch("");
|
|
2669
|
+
};
|
|
2670
|
+
const handleKeyDown = (e) => {
|
|
2671
|
+
if (!open) {
|
|
2672
|
+
if (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") {
|
|
2673
|
+
e.preventDefault();
|
|
2674
|
+
handleOpenChange(true);
|
|
2675
|
+
}
|
|
2676
|
+
return;
|
|
2677
|
+
}
|
|
2678
|
+
switch (e.key) {
|
|
2679
|
+
case "ArrowDown":
|
|
2680
|
+
e.preventDefault();
|
|
2681
|
+
setHighlightedIndex(
|
|
2682
|
+
(p) => p < filteredOptions.length - 1 ? p + 1 : p
|
|
2683
|
+
);
|
|
2684
|
+
break;
|
|
2685
|
+
case "ArrowUp":
|
|
2686
|
+
e.preventDefault();
|
|
2687
|
+
setHighlightedIndex((p) => p > 0 ? p - 1 : 0);
|
|
2688
|
+
break;
|
|
2689
|
+
case "Enter":
|
|
2690
|
+
e.preventDefault();
|
|
2691
|
+
if (filteredOptions.length > 0 && filteredOptions[highlightedIndex]) {
|
|
2692
|
+
handleSelect(filteredOptions[highlightedIndex].value);
|
|
2693
|
+
} else if (onAddNew && search.trim()) {
|
|
2694
|
+
handleAddNew();
|
|
2695
|
+
}
|
|
2696
|
+
break;
|
|
2697
|
+
case "Escape":
|
|
2698
|
+
case "Tab":
|
|
2699
|
+
e.preventDefault();
|
|
2700
|
+
handleOpenChange(false);
|
|
2701
|
+
break;
|
|
2702
|
+
}
|
|
2703
|
+
};
|
|
2704
|
+
let currentIndex = 0;
|
|
2705
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Popover, { open, onOpenChange: handleOpenChange, children: [
|
|
2706
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2707
|
+
Button,
|
|
2708
|
+
{
|
|
2709
|
+
id,
|
|
2710
|
+
variant: "outline",
|
|
2711
|
+
role: "combobox",
|
|
2712
|
+
"aria-expanded": open,
|
|
2713
|
+
disabled,
|
|
2714
|
+
onKeyDown: handleKeyDown,
|
|
2715
|
+
className: cn(
|
|
2716
|
+
"dl-searchable-select-trigger",
|
|
2717
|
+
!selectedOption && "dl-searchable-select-trigger--placeholder",
|
|
2718
|
+
className
|
|
2719
|
+
),
|
|
2720
|
+
children: [
|
|
2721
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "truncate", children: selectedOption ? selectedOption.label : placeholder }),
|
|
2722
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react17.ChevronDown, { className: "dl-select-icon" })
|
|
2723
|
+
]
|
|
2724
|
+
}
|
|
2725
|
+
) }),
|
|
2726
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2727
|
+
PopoverContent,
|
|
2728
|
+
{
|
|
2729
|
+
align: "start",
|
|
2730
|
+
className: "dl-searchable-select-content",
|
|
2731
|
+
onKeyDown: handleKeyDown,
|
|
2732
|
+
children: [
|
|
2733
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "dl-searchable-select-search", children: [
|
|
2734
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react17.Search, { className: "dl-searchable-select-search-icon" }),
|
|
2735
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2736
|
+
Input,
|
|
2737
|
+
{
|
|
2738
|
+
placeholder: searchPlaceholder,
|
|
2739
|
+
value: search,
|
|
2740
|
+
onChange: (e) => handleSearchChange(e.target.value),
|
|
2741
|
+
className: "dl-searchable-select-search-input",
|
|
2742
|
+
autoFocus: true
|
|
2743
|
+
}
|
|
2744
|
+
)
|
|
2745
|
+
] }),
|
|
2746
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2747
|
+
"div",
|
|
2748
|
+
{
|
|
2749
|
+
ref: listRef,
|
|
2750
|
+
onWheel: (e) => e.stopPropagation(),
|
|
2751
|
+
className: "dl-searchable-select-list",
|
|
2752
|
+
children: Object.keys(groupedOptions).length === 0 || filteredOptions.length === 0 && !onAddNew ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "dl-searchable-select-empty", children: "No matching options found." }) : Object.entries(groupedOptions).map(([groupName, groupOpts]) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "py-1", children: [
|
|
2753
|
+
groupName !== "Default" && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "dl-searchable-select-group-header", children: groupName }),
|
|
2754
|
+
groupOpts.map((option) => {
|
|
2755
|
+
const isSelected = option.value === value;
|
|
2756
|
+
const itemIndex = currentIndex++;
|
|
2757
|
+
const isHighlighted = itemIndex === highlightedIndex;
|
|
2758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2759
|
+
"div",
|
|
2760
|
+
{
|
|
2761
|
+
"data-highlighted": isHighlighted,
|
|
2762
|
+
onClick: () => handleSelect(option.value),
|
|
2763
|
+
onMouseEnter: () => setHighlightedIndex(itemIndex),
|
|
2764
|
+
className: cn(
|
|
2765
|
+
"dl-searchable-select-item",
|
|
2766
|
+
isHighlighted && "dl-searchable-select-item--highlighted",
|
|
2767
|
+
isSelected && !isHighlighted && "dl-searchable-select-item--selected"
|
|
2768
|
+
),
|
|
2769
|
+
children: [
|
|
2770
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "flex-1 truncate", children: option.label }),
|
|
2771
|
+
isSelected && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react17.Check, { className: "dl-select-check" })
|
|
2772
|
+
]
|
|
2773
|
+
},
|
|
2774
|
+
option.value
|
|
2775
|
+
);
|
|
2776
|
+
})
|
|
2777
|
+
] }, groupName))
|
|
2778
|
+
}
|
|
2779
|
+
),
|
|
2780
|
+
onAddNew && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "dl-searchable-select-add", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2781
|
+
"button",
|
|
2782
|
+
{
|
|
2783
|
+
type: "button",
|
|
2784
|
+
onClick: handleAddNew,
|
|
2785
|
+
className: "dl-searchable-select-add-btn",
|
|
2786
|
+
children: [
|
|
2787
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react17.Plus, { className: "size-3.5 shrink-0" }),
|
|
2788
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "truncate", children: search.trim() ? `${addNewLabel} "${search.trim()}"` : addNewLabel })
|
|
2789
|
+
]
|
|
2790
|
+
}
|
|
2791
|
+
) })
|
|
2792
|
+
]
|
|
2793
|
+
}
|
|
2794
|
+
)
|
|
2795
|
+
] });
|
|
2796
|
+
}
|
|
2797
|
+
|
|
2798
|
+
// src/components/select/select.tsx
|
|
2799
|
+
var React34 = __toESM(require("react"), 1);
|
|
2781
2800
|
var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
|
|
2782
|
-
var
|
|
2783
|
-
var
|
|
2801
|
+
var import_lucide_react18 = require("lucide-react");
|
|
2802
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2784
2803
|
var Select = SelectPrimitive.Root;
|
|
2785
2804
|
var SelectGroup = SelectPrimitive.Group;
|
|
2786
2805
|
var SelectValue = SelectPrimitive.Value;
|
|
2787
|
-
var SelectTrigger =
|
|
2806
|
+
var SelectTrigger = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
2788
2807
|
SelectPrimitive.Trigger,
|
|
2789
2808
|
{
|
|
2790
2809
|
ref,
|
|
2791
|
-
className: cn(
|
|
2792
|
-
"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background cursor-pointer data-placeholder:text-muted-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:opacity-50 [&>span]:line-clamp-1",
|
|
2793
|
-
className
|
|
2794
|
-
),
|
|
2810
|
+
className: cn("dl-select-trigger", className),
|
|
2795
2811
|
...props,
|
|
2796
2812
|
children: [
|
|
2797
2813
|
children,
|
|
2798
|
-
/* @__PURE__ */ (0,
|
|
2814
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2815
|
+
import_lucide_react18.ChevronDown,
|
|
2816
|
+
{
|
|
2817
|
+
style: { opacity: 0.5, width: "0.75rem", height: "0.75rem" }
|
|
2818
|
+
}
|
|
2819
|
+
) })
|
|
2799
2820
|
]
|
|
2800
2821
|
}
|
|
2801
2822
|
));
|
|
2802
2823
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
2803
|
-
var SelectScrollUpButton =
|
|
2824
|
+
var SelectScrollUpButton = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2804
2825
|
SelectPrimitive.ScrollUpButton,
|
|
2805
2826
|
{
|
|
2806
2827
|
ref,
|
|
2807
|
-
className: cn(
|
|
2808
|
-
"flex cursor-default items-center justify-center py-1",
|
|
2809
|
-
className
|
|
2810
|
-
),
|
|
2828
|
+
className: cn("dl-select-scroll-btn", className),
|
|
2811
2829
|
...props,
|
|
2812
|
-
children: /* @__PURE__ */ (0,
|
|
2830
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react18.ChevronUp, { style: { width: "1rem", height: "1rem" } })
|
|
2813
2831
|
}
|
|
2814
2832
|
));
|
|
2815
2833
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
2816
|
-
var SelectScrollDownButton =
|
|
2834
|
+
var SelectScrollDownButton = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2817
2835
|
SelectPrimitive.ScrollDownButton,
|
|
2818
2836
|
{
|
|
2819
2837
|
ref,
|
|
2820
|
-
className: cn(
|
|
2821
|
-
"flex cursor-default items-center justify-center py-1",
|
|
2822
|
-
className
|
|
2823
|
-
),
|
|
2838
|
+
className: cn("dl-select-scroll-btn", className),
|
|
2824
2839
|
...props,
|
|
2825
|
-
children: /* @__PURE__ */ (0,
|
|
2840
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react18.ChevronDown, { style: { width: "1rem", height: "1rem" } })
|
|
2826
2841
|
}
|
|
2827
2842
|
));
|
|
2828
2843
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
2829
|
-
var SelectContent =
|
|
2844
|
+
var SelectContent = React34.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
2830
2845
|
SelectPrimitive.Content,
|
|
2831
2846
|
{
|
|
2832
2847
|
ref,
|
|
2833
|
-
className: cn(
|
|
2834
|
-
"relative z-50 max-h-(--radix-select-content-available-height) min-w-32 overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-select-content-transform-origin)",
|
|
2835
|
-
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1",
|
|
2836
|
-
className
|
|
2837
|
-
),
|
|
2848
|
+
className: cn("dl-select-content", className),
|
|
2838
2849
|
position,
|
|
2839
2850
|
...props,
|
|
2840
2851
|
children: [
|
|
2841
|
-
/* @__PURE__ */ (0,
|
|
2842
|
-
/* @__PURE__ */ (0,
|
|
2843
|
-
|
|
2844
|
-
{
|
|
2845
|
-
className: cn(
|
|
2846
|
-
"p-1",
|
|
2847
|
-
position === "popper" && "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"
|
|
2848
|
-
),
|
|
2849
|
-
children
|
|
2850
|
-
}
|
|
2851
|
-
),
|
|
2852
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectScrollDownButton, {})
|
|
2852
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SelectScrollUpButton, {}),
|
|
2853
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SelectPrimitive.Viewport, { className: "dl-select-viewport", children }),
|
|
2854
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SelectScrollDownButton, {})
|
|
2853
2855
|
]
|
|
2854
2856
|
}
|
|
2855
2857
|
) }));
|
|
2856
2858
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
2857
|
-
var SelectLabel =
|
|
2859
|
+
var SelectLabel = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2858
2860
|
SelectPrimitive.Label,
|
|
2859
2861
|
{
|
|
2860
2862
|
ref,
|
|
2861
|
-
className: cn("
|
|
2863
|
+
className: cn("dl-select-label", className),
|
|
2862
2864
|
...props
|
|
2863
2865
|
}
|
|
2864
2866
|
));
|
|
2865
2867
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
2866
|
-
var SelectItem =
|
|
2868
|
+
var SelectItem = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
2867
2869
|
SelectPrimitive.Item,
|
|
2868
2870
|
{
|
|
2869
2871
|
ref,
|
|
2870
|
-
className: cn(
|
|
2871
|
-
"relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
2872
|
-
className
|
|
2873
|
-
),
|
|
2872
|
+
className: cn("dl-select-item", className),
|
|
2874
2873
|
...props,
|
|
2875
2874
|
children: [
|
|
2876
|
-
/* @__PURE__ */ (0,
|
|
2877
|
-
/* @__PURE__ */ (0,
|
|
2875
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "dl-select-item__indicator", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react18.Check, { style: { width: "0.75rem", height: "0.75rem" } }) }) }),
|
|
2876
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SelectPrimitive.ItemText, { children })
|
|
2878
2877
|
]
|
|
2879
2878
|
}
|
|
2880
2879
|
));
|
|
2881
2880
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
2882
|
-
var SelectSeparator =
|
|
2881
|
+
var SelectSeparator = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2883
2882
|
SelectPrimitive.Separator,
|
|
2884
2883
|
{
|
|
2885
2884
|
ref,
|
|
2886
|
-
className: cn("-
|
|
2885
|
+
className: cn("dl-select-separator", className),
|
|
2887
2886
|
...props
|
|
2888
2887
|
}
|
|
2889
2888
|
));
|
|
2890
2889
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
2891
2890
|
|
|
2892
|
-
// src/components/separator.tsx
|
|
2893
|
-
var
|
|
2891
|
+
// src/components/separator/separator.tsx
|
|
2892
|
+
var React35 = __toESM(require("react"), 1);
|
|
2894
2893
|
var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
|
|
2895
|
-
var
|
|
2896
|
-
var Separator6 =
|
|
2897
|
-
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2894
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2895
|
+
var Separator6 = React35.forwardRef(
|
|
2896
|
+
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2898
2897
|
SeparatorPrimitive.Root,
|
|
2899
2898
|
{
|
|
2900
2899
|
ref,
|
|
2901
2900
|
decorative,
|
|
2902
2901
|
orientation,
|
|
2903
|
-
className: cn(
|
|
2904
|
-
"shrink-0 bg-border",
|
|
2905
|
-
orientation === "horizontal" ? "h-px w-full" : "h-full w-px",
|
|
2906
|
-
className
|
|
2907
|
-
),
|
|
2902
|
+
className: cn("dl-separator", className),
|
|
2908
2903
|
...props
|
|
2909
2904
|
}
|
|
2910
2905
|
)
|
|
2911
2906
|
);
|
|
2912
2907
|
Separator6.displayName = SeparatorPrimitive.Root.displayName;
|
|
2913
2908
|
|
|
2914
|
-
// src/components/sheet.tsx
|
|
2915
|
-
var
|
|
2909
|
+
// src/components/sheet/sheet.tsx
|
|
2910
|
+
var React36 = __toESM(require("react"), 1);
|
|
2916
2911
|
var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
2917
2912
|
var import_class_variance_authority6 = require("class-variance-authority");
|
|
2918
|
-
var
|
|
2919
|
-
var
|
|
2913
|
+
var import_lucide_react19 = require("lucide-react");
|
|
2914
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2920
2915
|
var Sheet = SheetPrimitive.Root;
|
|
2921
2916
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
2922
2917
|
var SheetClose = SheetPrimitive.Close;
|
|
2923
2918
|
var SheetPortal = SheetPrimitive.Portal;
|
|
2924
|
-
var SheetOverlay =
|
|
2919
|
+
var SheetOverlay = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2925
2920
|
SheetPrimitive.Overlay,
|
|
2926
2921
|
{
|
|
2927
|
-
className: cn(
|
|
2928
|
-
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
2929
|
-
className
|
|
2930
|
-
),
|
|
2922
|
+
className: cn("dl-dialog-overlay", className),
|
|
2931
2923
|
...props,
|
|
2932
2924
|
ref
|
|
2933
2925
|
}
|
|
2934
2926
|
));
|
|
2935
2927
|
SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
2936
|
-
var sheetVariants = (0, import_class_variance_authority6.cva)(
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
|
|
2944
|
-
right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
|
|
2945
|
-
}
|
|
2946
|
-
},
|
|
2947
|
-
defaultVariants: {
|
|
2948
|
-
side: "right"
|
|
2928
|
+
var sheetVariants = (0, import_class_variance_authority6.cva)("dl-sheet-content", {
|
|
2929
|
+
variants: {
|
|
2930
|
+
side: {
|
|
2931
|
+
top: "dl-sheet-content--top",
|
|
2932
|
+
bottom: "dl-sheet-content--bottom",
|
|
2933
|
+
left: "dl-sheet-content--left",
|
|
2934
|
+
right: "dl-sheet-content--right"
|
|
2949
2935
|
}
|
|
2936
|
+
},
|
|
2937
|
+
defaultVariants: {
|
|
2938
|
+
side: "right"
|
|
2950
2939
|
}
|
|
2951
|
-
);
|
|
2952
|
-
var SheetContent =
|
|
2953
|
-
/* @__PURE__ */ (0,
|
|
2954
|
-
/* @__PURE__ */ (0,
|
|
2940
|
+
});
|
|
2941
|
+
var SheetContent = React36.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(SheetPortal, { children: [
|
|
2942
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(SheetOverlay, {}),
|
|
2943
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
2955
2944
|
SheetPrimitive.Content,
|
|
2956
2945
|
{
|
|
2957
2946
|
ref,
|
|
2958
2947
|
className: cn(sheetVariants({ side }), className),
|
|
2948
|
+
"data-side": side,
|
|
2959
2949
|
...props,
|
|
2960
2950
|
children: [
|
|
2961
|
-
/* @__PURE__ */ (0,
|
|
2962
|
-
/* @__PURE__ */ (0,
|
|
2963
|
-
/* @__PURE__ */ (0,
|
|
2951
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(SheetPrimitive.Close, { className: "dl-sheet-close", children: [
|
|
2952
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react19.X, { style: { width: "1rem", height: "1rem" } }),
|
|
2953
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "sr-only", children: "Close" })
|
|
2964
2954
|
] }),
|
|
2965
2955
|
children
|
|
2966
2956
|
]
|
|
@@ -2971,109 +2961,73 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
|
2971
2961
|
var SheetHeader = ({
|
|
2972
2962
|
className,
|
|
2973
2963
|
...props
|
|
2974
|
-
}) => /* @__PURE__ */ (0,
|
|
2975
|
-
"div",
|
|
2976
|
-
{
|
|
2977
|
-
className: cn(
|
|
2978
|
-
"flex flex-col space-y-2 text-center sm:text-left",
|
|
2979
|
-
className
|
|
2980
|
-
),
|
|
2981
|
-
...props
|
|
2982
|
-
}
|
|
2983
|
-
);
|
|
2964
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: cn("dl-sheet__header", className), ...props });
|
|
2984
2965
|
SheetHeader.displayName = "SheetHeader";
|
|
2985
2966
|
var SheetFooter = ({
|
|
2986
2967
|
className,
|
|
2987
2968
|
...props
|
|
2988
|
-
}) => /* @__PURE__ */ (0,
|
|
2989
|
-
"div",
|
|
2990
|
-
{
|
|
2991
|
-
className: cn(
|
|
2992
|
-
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
2993
|
-
className
|
|
2994
|
-
),
|
|
2995
|
-
...props
|
|
2996
|
-
}
|
|
2997
|
-
);
|
|
2969
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: cn("dl-sheet__footer", className), ...props });
|
|
2998
2970
|
SheetFooter.displayName = "SheetFooter";
|
|
2999
|
-
var SheetTitle =
|
|
2971
|
+
var SheetTitle = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3000
2972
|
SheetPrimitive.Title,
|
|
3001
2973
|
{
|
|
3002
2974
|
ref,
|
|
3003
|
-
className: cn("
|
|
2975
|
+
className: cn("dl-sheet__title", className),
|
|
3004
2976
|
...props
|
|
3005
2977
|
}
|
|
3006
2978
|
));
|
|
3007
2979
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
3008
|
-
var SheetDescription =
|
|
2980
|
+
var SheetDescription = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3009
2981
|
SheetPrimitive.Description,
|
|
3010
2982
|
{
|
|
3011
2983
|
ref,
|
|
3012
|
-
className: cn("
|
|
2984
|
+
className: cn("dl-sheet__desc", className),
|
|
3013
2985
|
...props
|
|
3014
2986
|
}
|
|
3015
2987
|
));
|
|
3016
2988
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
3017
2989
|
|
|
3018
|
-
// src/components/sidebar.tsx
|
|
3019
|
-
var
|
|
2990
|
+
// src/components/sidebar/sidebar.tsx
|
|
2991
|
+
var React38 = __toESM(require("react"), 1);
|
|
3020
2992
|
var import_react_slot4 = require("@radix-ui/react-slot");
|
|
3021
2993
|
var import_class_variance_authority7 = require("class-variance-authority");
|
|
3022
|
-
var
|
|
2994
|
+
var import_lucide_react20 = require("lucide-react");
|
|
3023
2995
|
|
|
3024
|
-
// src/components/
|
|
3025
|
-
var
|
|
3026
|
-
function Skeleton({
|
|
3027
|
-
className,
|
|
3028
|
-
...props
|
|
3029
|
-
}) {
|
|
3030
|
-
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3031
|
-
"div",
|
|
3032
|
-
{
|
|
3033
|
-
className: cn("animate-pulse rounded-md bg-primary/10", className),
|
|
3034
|
-
...props
|
|
3035
|
-
}
|
|
3036
|
-
);
|
|
3037
|
-
}
|
|
3038
|
-
|
|
3039
|
-
// src/components/tooltip.tsx
|
|
3040
|
-
var React34 = __toESM(require("react"), 1);
|
|
2996
|
+
// src/components/tooltip/tooltip.tsx
|
|
2997
|
+
var React37 = __toESM(require("react"), 1);
|
|
3041
2998
|
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
3042
|
-
var
|
|
2999
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3043
3000
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
3044
3001
|
var Tooltip2 = TooltipPrimitive.Root;
|
|
3045
3002
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
3046
|
-
var TooltipContent =
|
|
3003
|
+
var TooltipContent = React37.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3047
3004
|
TooltipPrimitive.Content,
|
|
3048
3005
|
{
|
|
3049
3006
|
ref,
|
|
3050
3007
|
sideOffset,
|
|
3051
|
-
className: cn(
|
|
3052
|
-
"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-tooltip-content-transform-origin)",
|
|
3053
|
-
className
|
|
3054
|
-
),
|
|
3008
|
+
className: cn("dl-tooltip", className),
|
|
3055
3009
|
...props
|
|
3056
3010
|
}
|
|
3057
3011
|
) }));
|
|
3058
3012
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
3059
3013
|
|
|
3060
|
-
// src/components/sidebar.tsx
|
|
3061
|
-
var
|
|
3014
|
+
// src/components/sidebar/sidebar.tsx
|
|
3015
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3062
3016
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
3063
3017
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
3064
3018
|
var SIDEBAR_WIDTH = "16rem";
|
|
3065
3019
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
3066
3020
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
3067
3021
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
3068
|
-
var SidebarContext =
|
|
3022
|
+
var SidebarContext = React38.createContext(null);
|
|
3069
3023
|
function useSidebar() {
|
|
3070
|
-
const context =
|
|
3024
|
+
const context = React38.useContext(SidebarContext);
|
|
3071
3025
|
if (!context) {
|
|
3072
3026
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
3073
3027
|
}
|
|
3074
3028
|
return context;
|
|
3075
3029
|
}
|
|
3076
|
-
var SidebarProvider =
|
|
3030
|
+
var SidebarProvider = React38.forwardRef(
|
|
3077
3031
|
({
|
|
3078
3032
|
defaultOpen = true,
|
|
3079
3033
|
open: openProp,
|
|
@@ -3084,10 +3038,10 @@ var SidebarProvider = React35.forwardRef(
|
|
|
3084
3038
|
...props
|
|
3085
3039
|
}, ref) => {
|
|
3086
3040
|
const isMobile = useIsMobile();
|
|
3087
|
-
const [openMobile, setOpenMobile] =
|
|
3088
|
-
const [_open, _setOpen] =
|
|
3041
|
+
const [openMobile, setOpenMobile] = React38.useState(false);
|
|
3042
|
+
const [_open, _setOpen] = React38.useState(defaultOpen);
|
|
3089
3043
|
const open = openProp ?? _open;
|
|
3090
|
-
const setOpen =
|
|
3044
|
+
const setOpen = React38.useCallback(
|
|
3091
3045
|
(value) => {
|
|
3092
3046
|
const openState = typeof value === "function" ? value(open) : value;
|
|
3093
3047
|
if (setOpenProp) {
|
|
@@ -3099,10 +3053,10 @@ var SidebarProvider = React35.forwardRef(
|
|
|
3099
3053
|
},
|
|
3100
3054
|
[setOpenProp, open]
|
|
3101
3055
|
);
|
|
3102
|
-
const toggleSidebar =
|
|
3056
|
+
const toggleSidebar = React38.useCallback(() => {
|
|
3103
3057
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
3104
3058
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
3105
|
-
|
|
3059
|
+
React38.useEffect(() => {
|
|
3106
3060
|
const handleKeyDown = (event) => {
|
|
3107
3061
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
3108
3062
|
event.preventDefault();
|
|
@@ -3113,7 +3067,7 @@ var SidebarProvider = React35.forwardRef(
|
|
|
3113
3067
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
3114
3068
|
}, [toggleSidebar]);
|
|
3115
3069
|
const state = open ? "expanded" : "collapsed";
|
|
3116
|
-
const contextValue =
|
|
3070
|
+
const contextValue = React38.useMemo(
|
|
3117
3071
|
() => ({
|
|
3118
3072
|
state,
|
|
3119
3073
|
open,
|
|
@@ -3133,7 +3087,7 @@ var SidebarProvider = React35.forwardRef(
|
|
|
3133
3087
|
toggleSidebar
|
|
3134
3088
|
]
|
|
3135
3089
|
);
|
|
3136
|
-
return /* @__PURE__ */ (0,
|
|
3090
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3137
3091
|
"div",
|
|
3138
3092
|
{
|
|
3139
3093
|
style: {
|
|
@@ -3153,7 +3107,7 @@ var SidebarProvider = React35.forwardRef(
|
|
|
3153
3107
|
}
|
|
3154
3108
|
);
|
|
3155
3109
|
SidebarProvider.displayName = "SidebarProvider";
|
|
3156
|
-
var Sidebar =
|
|
3110
|
+
var Sidebar = React38.forwardRef(
|
|
3157
3111
|
({
|
|
3158
3112
|
side = "left",
|
|
3159
3113
|
variant = "sidebar",
|
|
@@ -3164,7 +3118,7 @@ var Sidebar = React35.forwardRef(
|
|
|
3164
3118
|
}, ref) => {
|
|
3165
3119
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
3166
3120
|
if (collapsible === "none") {
|
|
3167
|
-
return /* @__PURE__ */ (0,
|
|
3121
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3168
3122
|
"div",
|
|
3169
3123
|
{
|
|
3170
3124
|
className: cn(
|
|
@@ -3178,7 +3132,7 @@ var Sidebar = React35.forwardRef(
|
|
|
3178
3132
|
);
|
|
3179
3133
|
}
|
|
3180
3134
|
if (isMobile) {
|
|
3181
|
-
return /* @__PURE__ */ (0,
|
|
3135
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3182
3136
|
SheetContent,
|
|
3183
3137
|
{
|
|
3184
3138
|
"data-sidebar": "sidebar",
|
|
@@ -3189,16 +3143,16 @@ var Sidebar = React35.forwardRef(
|
|
|
3189
3143
|
},
|
|
3190
3144
|
side,
|
|
3191
3145
|
children: [
|
|
3192
|
-
/* @__PURE__ */ (0,
|
|
3193
|
-
/* @__PURE__ */ (0,
|
|
3194
|
-
/* @__PURE__ */ (0,
|
|
3146
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(SheetHeader, { className: "sr-only", children: [
|
|
3147
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SheetTitle, { children: "Sidebar" }),
|
|
3148
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
3195
3149
|
] }),
|
|
3196
|
-
/* @__PURE__ */ (0,
|
|
3150
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex flex-col size-full", children })
|
|
3197
3151
|
]
|
|
3198
3152
|
}
|
|
3199
3153
|
) });
|
|
3200
3154
|
}
|
|
3201
|
-
return /* @__PURE__ */ (0,
|
|
3155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3202
3156
|
"div",
|
|
3203
3157
|
{
|
|
3204
3158
|
ref,
|
|
@@ -3208,7 +3162,7 @@ var Sidebar = React35.forwardRef(
|
|
|
3208
3162
|
"data-variant": variant,
|
|
3209
3163
|
"data-side": side,
|
|
3210
3164
|
children: [
|
|
3211
|
-
/* @__PURE__ */ (0,
|
|
3165
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3212
3166
|
"div",
|
|
3213
3167
|
{
|
|
3214
3168
|
className: cn(
|
|
@@ -3219,7 +3173,7 @@ var Sidebar = React35.forwardRef(
|
|
|
3219
3173
|
)
|
|
3220
3174
|
}
|
|
3221
3175
|
),
|
|
3222
|
-
/* @__PURE__ */ (0,
|
|
3176
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3223
3177
|
"div",
|
|
3224
3178
|
{
|
|
3225
3179
|
className: cn(
|
|
@@ -3230,7 +3184,7 @@ var Sidebar = React35.forwardRef(
|
|
|
3230
3184
|
className
|
|
3231
3185
|
),
|
|
3232
3186
|
...props,
|
|
3233
|
-
children: /* @__PURE__ */ (0,
|
|
3187
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3234
3188
|
"div",
|
|
3235
3189
|
{
|
|
3236
3190
|
"data-sidebar": "sidebar",
|
|
@@ -3246,9 +3200,9 @@ var Sidebar = React35.forwardRef(
|
|
|
3246
3200
|
}
|
|
3247
3201
|
);
|
|
3248
3202
|
Sidebar.displayName = "Sidebar";
|
|
3249
|
-
var SidebarTrigger =
|
|
3203
|
+
var SidebarTrigger = React38.forwardRef(({ className, onClick, ...props }, ref) => {
|
|
3250
3204
|
const { toggleSidebar } = useSidebar();
|
|
3251
|
-
return /* @__PURE__ */ (0,
|
|
3205
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3252
3206
|
Button,
|
|
3253
3207
|
{
|
|
3254
3208
|
ref,
|
|
@@ -3262,94 +3216,99 @@ var SidebarTrigger = React35.forwardRef(({ className, onClick, ...props }, ref)
|
|
|
3262
3216
|
},
|
|
3263
3217
|
...props,
|
|
3264
3218
|
children: [
|
|
3265
|
-
/* @__PURE__ */ (0,
|
|
3266
|
-
/* @__PURE__ */ (0,
|
|
3219
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react20.PanelLeft, {}),
|
|
3220
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
3267
3221
|
]
|
|
3268
3222
|
}
|
|
3269
3223
|
);
|
|
3270
3224
|
});
|
|
3271
3225
|
SidebarTrigger.displayName = "SidebarTrigger";
|
|
3272
|
-
var SidebarRail =
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3226
|
+
var SidebarRail = React38.forwardRef(
|
|
3227
|
+
({ className, ...props }, ref) => {
|
|
3228
|
+
const { toggleSidebar } = useSidebar();
|
|
3229
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3230
|
+
"button",
|
|
3231
|
+
{
|
|
3232
|
+
ref,
|
|
3233
|
+
"data-sidebar": "rail",
|
|
3234
|
+
"aria-label": "Toggle Sidebar",
|
|
3235
|
+
tabIndex: -1,
|
|
3236
|
+
onClick: toggleSidebar,
|
|
3237
|
+
title: "Toggle Sidebar",
|
|
3238
|
+
className: cn(
|
|
3239
|
+
"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex",
|
|
3240
|
+
"in-data-[side=right]:cursor-e-resize",
|
|
3241
|
+
"[[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
|
3242
|
+
"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar",
|
|
3243
|
+
"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
|
|
3244
|
+
"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
|
|
3245
|
+
className
|
|
3246
|
+
),
|
|
3247
|
+
...props
|
|
3248
|
+
}
|
|
3249
|
+
);
|
|
3250
|
+
}
|
|
3251
|
+
);
|
|
3296
3252
|
SidebarRail.displayName = "SidebarRail";
|
|
3297
|
-
var SidebarInset =
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3253
|
+
var SidebarInset = React38.forwardRef(
|
|
3254
|
+
({ className, ...props }, ref) => {
|
|
3255
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3256
|
+
"main",
|
|
3257
|
+
{
|
|
3258
|
+
ref,
|
|
3259
|
+
className: cn(
|
|
3260
|
+
"relative flex w-full flex-1 flex-col bg-background",
|
|
3261
|
+
"md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",
|
|
3262
|
+
className
|
|
3263
|
+
),
|
|
3264
|
+
...props
|
|
3265
|
+
}
|
|
3266
|
+
);
|
|
3267
|
+
}
|
|
3268
|
+
);
|
|
3311
3269
|
SidebarInset.displayName = "SidebarInset";
|
|
3312
|
-
var SidebarInput =
|
|
3313
|
-
return /* @__PURE__ */ (0,
|
|
3270
|
+
var SidebarInput = React38.forwardRef(({ className, ...props }, ref) => {
|
|
3271
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3314
3272
|
Input,
|
|
3315
3273
|
{
|
|
3316
3274
|
ref,
|
|
3317
3275
|
"data-sidebar": "input",
|
|
3318
|
-
className: cn(
|
|
3319
|
-
"h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",
|
|
3320
|
-
className
|
|
3321
|
-
),
|
|
3276
|
+
className: cn("dl-sidebar-input", className),
|
|
3322
3277
|
...props
|
|
3323
3278
|
}
|
|
3324
3279
|
);
|
|
3325
3280
|
});
|
|
3326
3281
|
SidebarInput.displayName = "SidebarInput";
|
|
3327
|
-
var SidebarHeader =
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3282
|
+
var SidebarHeader = React38.forwardRef(
|
|
3283
|
+
({ className, ...props }, ref) => {
|
|
3284
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3285
|
+
"div",
|
|
3286
|
+
{
|
|
3287
|
+
ref,
|
|
3288
|
+
"data-sidebar": "header",
|
|
3289
|
+
className: cn("flex flex-col gap-2 p-2", className),
|
|
3290
|
+
...props
|
|
3291
|
+
}
|
|
3292
|
+
);
|
|
3293
|
+
}
|
|
3294
|
+
);
|
|
3338
3295
|
SidebarHeader.displayName = "SidebarHeader";
|
|
3339
|
-
var SidebarFooter =
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3296
|
+
var SidebarFooter = React38.forwardRef(
|
|
3297
|
+
({ className, ...props }, ref) => {
|
|
3298
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3299
|
+
"div",
|
|
3300
|
+
{
|
|
3301
|
+
ref,
|
|
3302
|
+
"data-sidebar": "footer",
|
|
3303
|
+
className: cn("flex flex-col gap-2 p-2", className),
|
|
3304
|
+
...props
|
|
3305
|
+
}
|
|
3306
|
+
);
|
|
3307
|
+
}
|
|
3308
|
+
);
|
|
3350
3309
|
SidebarFooter.displayName = "SidebarFooter";
|
|
3351
|
-
var SidebarSeparator =
|
|
3352
|
-
return /* @__PURE__ */ (0,
|
|
3310
|
+
var SidebarSeparator = React38.forwardRef(({ className, ...props }, ref) => {
|
|
3311
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3353
3312
|
Separator6,
|
|
3354
3313
|
{
|
|
3355
3314
|
ref,
|
|
@@ -3360,42 +3319,46 @@ var SidebarSeparator = React35.forwardRef(({ className, ...props }, ref) => {
|
|
|
3360
3319
|
);
|
|
3361
3320
|
});
|
|
3362
3321
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
3363
|
-
var SidebarContent =
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
|
|
3375
|
-
|
|
3376
|
-
|
|
3322
|
+
var SidebarContent = React38.forwardRef(
|
|
3323
|
+
({ className, ...props }, ref) => {
|
|
3324
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3325
|
+
"div",
|
|
3326
|
+
{
|
|
3327
|
+
ref,
|
|
3328
|
+
"data-sidebar": "content",
|
|
3329
|
+
className: cn(
|
|
3330
|
+
"flex min-h-0 flex-1 flex-col gap-2 overflow-auto",
|
|
3331
|
+
className
|
|
3332
|
+
),
|
|
3333
|
+
...props
|
|
3334
|
+
}
|
|
3335
|
+
);
|
|
3336
|
+
}
|
|
3337
|
+
);
|
|
3377
3338
|
SidebarContent.displayName = "SidebarContent";
|
|
3378
|
-
var SidebarGroup =
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
3339
|
+
var SidebarGroup = React38.forwardRef(
|
|
3340
|
+
({ className, ...props }, ref) => {
|
|
3341
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3342
|
+
"div",
|
|
3343
|
+
{
|
|
3344
|
+
ref,
|
|
3345
|
+
"data-sidebar": "group",
|
|
3346
|
+
className: cn("relative flex w-full min-w-0 flex-col p-2", className),
|
|
3347
|
+
...props
|
|
3348
|
+
}
|
|
3349
|
+
);
|
|
3350
|
+
}
|
|
3351
|
+
);
|
|
3389
3352
|
SidebarGroup.displayName = "SidebarGroup";
|
|
3390
|
-
var SidebarGroupLabel =
|
|
3353
|
+
var SidebarGroupLabel = React38.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
3391
3354
|
const Comp = asChild ? import_react_slot4.Slot : "div";
|
|
3392
|
-
return /* @__PURE__ */ (0,
|
|
3355
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3393
3356
|
Comp,
|
|
3394
3357
|
{
|
|
3395
3358
|
ref,
|
|
3396
3359
|
"data-sidebar": "group-label",
|
|
3397
3360
|
className: cn(
|
|
3398
|
-
"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4
|
|
3361
|
+
"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4",
|
|
3399
3362
|
"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
|
|
3400
3363
|
className
|
|
3401
3364
|
),
|
|
@@ -3404,9 +3367,9 @@ var SidebarGroupLabel = React35.forwardRef(({ className, asChild = false, ...pro
|
|
|
3404
3367
|
);
|
|
3405
3368
|
});
|
|
3406
3369
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
3407
|
-
var SidebarGroupAction =
|
|
3370
|
+
var SidebarGroupAction = React38.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
3408
3371
|
const Comp = asChild ? import_react_slot4.Slot : "button";
|
|
3409
|
-
return /* @__PURE__ */ (0,
|
|
3372
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3410
3373
|
Comp,
|
|
3411
3374
|
{
|
|
3412
3375
|
ref,
|
|
@@ -3423,7 +3386,7 @@ var SidebarGroupAction = React35.forwardRef(({ className, asChild = false, ...pr
|
|
|
3423
3386
|
);
|
|
3424
3387
|
});
|
|
3425
3388
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
3426
|
-
var SidebarGroupContent =
|
|
3389
|
+
var SidebarGroupContent = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3427
3390
|
"div",
|
|
3428
3391
|
{
|
|
3429
3392
|
ref,
|
|
@@ -3433,25 +3396,29 @@ var SidebarGroupContent = React35.forwardRef(({ className, ...props }, ref) => /
|
|
|
3433
3396
|
}
|
|
3434
3397
|
));
|
|
3435
3398
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
3436
|
-
var SidebarMenu =
|
|
3437
|
-
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
|
|
3441
|
-
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
|
|
3399
|
+
var SidebarMenu = React38.forwardRef(
|
|
3400
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3401
|
+
"ul",
|
|
3402
|
+
{
|
|
3403
|
+
ref,
|
|
3404
|
+
"data-sidebar": "menu",
|
|
3405
|
+
className: cn("flex w-full min-w-0 flex-col gap-1", className),
|
|
3406
|
+
...props
|
|
3407
|
+
}
|
|
3408
|
+
)
|
|
3409
|
+
);
|
|
3445
3410
|
SidebarMenu.displayName = "SidebarMenu";
|
|
3446
|
-
var SidebarMenuItem =
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3411
|
+
var SidebarMenuItem = React38.forwardRef(
|
|
3412
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3413
|
+
"li",
|
|
3414
|
+
{
|
|
3415
|
+
ref,
|
|
3416
|
+
"data-sidebar": "menu-item",
|
|
3417
|
+
className: cn("group/menu-item relative", className),
|
|
3418
|
+
...props
|
|
3419
|
+
}
|
|
3420
|
+
)
|
|
3421
|
+
);
|
|
3455
3422
|
SidebarMenuItem.displayName = "SidebarMenuItem";
|
|
3456
3423
|
var sidebarMenuButtonVariants = (0, import_class_variance_authority7.cva)(
|
|
3457
3424
|
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring cursor-pointer transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
|
|
@@ -3473,7 +3440,7 @@ var sidebarMenuButtonVariants = (0, import_class_variance_authority7.cva)(
|
|
|
3473
3440
|
}
|
|
3474
3441
|
}
|
|
3475
3442
|
);
|
|
3476
|
-
var SidebarMenuButton =
|
|
3443
|
+
var SidebarMenuButton = React38.forwardRef(
|
|
3477
3444
|
({
|
|
3478
3445
|
asChild = false,
|
|
3479
3446
|
isActive = false,
|
|
@@ -3485,7 +3452,7 @@ var SidebarMenuButton = React35.forwardRef(
|
|
|
3485
3452
|
}, ref) => {
|
|
3486
3453
|
const Comp = asChild ? import_react_slot4.Slot : "button";
|
|
3487
3454
|
const { isMobile, state } = useSidebar();
|
|
3488
|
-
const button = /* @__PURE__ */ (0,
|
|
3455
|
+
const button = /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3489
3456
|
Comp,
|
|
3490
3457
|
{
|
|
3491
3458
|
ref,
|
|
@@ -3504,9 +3471,9 @@ var SidebarMenuButton = React35.forwardRef(
|
|
|
3504
3471
|
children: tooltip
|
|
3505
3472
|
};
|
|
3506
3473
|
}
|
|
3507
|
-
return /* @__PURE__ */ (0,
|
|
3508
|
-
/* @__PURE__ */ (0,
|
|
3509
|
-
/* @__PURE__ */ (0,
|
|
3474
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Tooltip2, { children: [
|
|
3475
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(TooltipTrigger, { asChild: true, children: button }),
|
|
3476
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3510
3477
|
TooltipContent,
|
|
3511
3478
|
{
|
|
3512
3479
|
side: "right",
|
|
@@ -3519,9 +3486,9 @@ var SidebarMenuButton = React35.forwardRef(
|
|
|
3519
3486
|
}
|
|
3520
3487
|
);
|
|
3521
3488
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
3522
|
-
var SidebarMenuAction =
|
|
3489
|
+
var SidebarMenuAction = React38.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
|
|
3523
3490
|
const Comp = asChild ? import_react_slot4.Slot : "button";
|
|
3524
|
-
return /* @__PURE__ */ (0,
|
|
3491
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3525
3492
|
Comp,
|
|
3526
3493
|
{
|
|
3527
3494
|
ref,
|
|
@@ -3534,7 +3501,7 @@ var SidebarMenuAction = React35.forwardRef(({ className, asChild = false, showOn
|
|
|
3534
3501
|
"peer-data-[size=default]/menu-button:top-1.5",
|
|
3535
3502
|
"peer-data-[size=lg]/menu-button:top-2.5",
|
|
3536
3503
|
"group-data-[collapsible=icon]:hidden",
|
|
3537
|
-
showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100
|
|
3504
|
+
showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",
|
|
3538
3505
|
className
|
|
3539
3506
|
),
|
|
3540
3507
|
...props
|
|
@@ -3542,7 +3509,7 @@ var SidebarMenuAction = React35.forwardRef(({ className, asChild = false, showOn
|
|
|
3542
3509
|
);
|
|
3543
3510
|
});
|
|
3544
3511
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
3545
|
-
var SidebarMenuBadge =
|
|
3512
|
+
var SidebarMenuBadge = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3546
3513
|
"div",
|
|
3547
3514
|
{
|
|
3548
3515
|
ref,
|
|
@@ -3560,11 +3527,11 @@ var SidebarMenuBadge = React35.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
3560
3527
|
}
|
|
3561
3528
|
));
|
|
3562
3529
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
3563
|
-
var SidebarMenuSkeleton =
|
|
3564
|
-
const width =
|
|
3530
|
+
var SidebarMenuSkeleton = React38.forwardRef(({ className, showIcon = false, ...props }, ref) => {
|
|
3531
|
+
const width = React38.useMemo(() => {
|
|
3565
3532
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
3566
3533
|
}, []);
|
|
3567
|
-
return /* @__PURE__ */ (0,
|
|
3534
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3568
3535
|
"div",
|
|
3569
3536
|
{
|
|
3570
3537
|
ref,
|
|
@@ -3572,14 +3539,14 @@ var SidebarMenuSkeleton = React35.forwardRef(({ className, showIcon = false, ...
|
|
|
3572
3539
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
3573
3540
|
...props,
|
|
3574
3541
|
children: [
|
|
3575
|
-
showIcon && /* @__PURE__ */ (0,
|
|
3542
|
+
showIcon && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3576
3543
|
Skeleton,
|
|
3577
3544
|
{
|
|
3578
3545
|
className: "size-4 rounded-md",
|
|
3579
3546
|
"data-sidebar": "menu-skeleton-icon"
|
|
3580
3547
|
}
|
|
3581
3548
|
),
|
|
3582
|
-
/* @__PURE__ */ (0,
|
|
3549
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3583
3550
|
Skeleton,
|
|
3584
3551
|
{
|
|
3585
3552
|
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
@@ -3594,25 +3561,27 @@ var SidebarMenuSkeleton = React35.forwardRef(({ className, showIcon = false, ...
|
|
|
3594
3561
|
);
|
|
3595
3562
|
});
|
|
3596
3563
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
3597
|
-
var SidebarMenuSub =
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
|
|
3609
|
-
|
|
3564
|
+
var SidebarMenuSub = React38.forwardRef(
|
|
3565
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3566
|
+
"ul",
|
|
3567
|
+
{
|
|
3568
|
+
ref,
|
|
3569
|
+
"data-sidebar": "menu-sub",
|
|
3570
|
+
className: cn(
|
|
3571
|
+
"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5",
|
|
3572
|
+
"group-data-[collapsible=icon]:hidden",
|
|
3573
|
+
className
|
|
3574
|
+
),
|
|
3575
|
+
...props
|
|
3576
|
+
}
|
|
3577
|
+
)
|
|
3578
|
+
);
|
|
3610
3579
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
3611
|
-
var SidebarMenuSubItem =
|
|
3580
|
+
var SidebarMenuSubItem = React38.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("li", { ref, ...props }));
|
|
3612
3581
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
3613
|
-
var SidebarMenuSubButton =
|
|
3582
|
+
var SidebarMenuSubButton = React38.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
|
|
3614
3583
|
const Comp = asChild ? import_react_slot4.Slot : "a";
|
|
3615
|
-
return /* @__PURE__ */ (0,
|
|
3584
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3616
3585
|
Comp,
|
|
3617
3586
|
{
|
|
3618
3587
|
ref,
|
|
@@ -3620,7 +3589,7 @@ var SidebarMenuSubButton = React35.forwardRef(({ asChild = false, size = "md", i
|
|
|
3620
3589
|
"data-size": size,
|
|
3621
3590
|
"data-active": isActive,
|
|
3622
3591
|
className: cn(
|
|
3623
|
-
"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring cursor-pointer hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none
|
|
3592
|
+
"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring cursor-pointer hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
|
|
3624
3593
|
"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
|
|
3625
3594
|
size === "sm" && "text-xs",
|
|
3626
3595
|
size === "md" && "text-sm",
|
|
@@ -3633,41 +3602,38 @@ var SidebarMenuSubButton = React35.forwardRef(({ asChild = false, size = "md", i
|
|
|
3633
3602
|
});
|
|
3634
3603
|
SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
3635
3604
|
|
|
3636
|
-
// src/components/slider.tsx
|
|
3637
|
-
var
|
|
3605
|
+
// src/components/slider/slider.tsx
|
|
3606
|
+
var React39 = __toESM(require("react"), 1);
|
|
3638
3607
|
var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
|
|
3639
|
-
var
|
|
3640
|
-
var Slider =
|
|
3608
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3609
|
+
var Slider = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
3641
3610
|
SliderPrimitive.Root,
|
|
3642
3611
|
{
|
|
3643
3612
|
ref,
|
|
3644
|
-
className: cn(
|
|
3645
|
-
"relative flex w-full touch-none select-none items-center",
|
|
3646
|
-
className
|
|
3647
|
-
),
|
|
3613
|
+
className: cn("dl-slider", className),
|
|
3648
3614
|
...props,
|
|
3649
3615
|
children: [
|
|
3650
|
-
/* @__PURE__ */ (0,
|
|
3651
|
-
/* @__PURE__ */ (0,
|
|
3616
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SliderPrimitive.Track, { className: "dl-slider__track", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SliderPrimitive.Range, { className: "dl-slider__range" }) }),
|
|
3617
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SliderPrimitive.Thumb, { className: "dl-slider__thumb" })
|
|
3652
3618
|
]
|
|
3653
3619
|
}
|
|
3654
3620
|
));
|
|
3655
3621
|
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
3656
3622
|
|
|
3657
|
-
// src/components/sonner.tsx
|
|
3623
|
+
// src/components/sonner/sonner.tsx
|
|
3658
3624
|
var import_sonner = require("sonner");
|
|
3659
|
-
var
|
|
3625
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3660
3626
|
var Toaster = ({ ...props }) => {
|
|
3661
|
-
return /* @__PURE__ */ (0,
|
|
3627
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3662
3628
|
import_sonner.Toaster,
|
|
3663
3629
|
{
|
|
3664
|
-
className: "toaster
|
|
3630
|
+
className: "dl-toaster",
|
|
3665
3631
|
toastOptions: {
|
|
3666
3632
|
classNames: {
|
|
3667
|
-
toast: "
|
|
3668
|
-
description: "
|
|
3669
|
-
actionButton: "
|
|
3670
|
-
cancelButton: "
|
|
3633
|
+
toast: "dl-toast",
|
|
3634
|
+
description: "dl-toast__desc",
|
|
3635
|
+
actionButton: "dl-toast__action",
|
|
3636
|
+
cancelButton: "dl-toast__cancel"
|
|
3671
3637
|
}
|
|
3672
3638
|
},
|
|
3673
3639
|
...props
|
|
@@ -3675,202 +3641,211 @@ var Toaster = ({ ...props }) => {
|
|
|
3675
3641
|
);
|
|
3676
3642
|
};
|
|
3677
3643
|
|
|
3678
|
-
// src/components/
|
|
3679
|
-
var
|
|
3644
|
+
// src/components/status-badge/status-badge.tsx
|
|
3645
|
+
var React40 = __toESM(require("react"), 1);
|
|
3646
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3647
|
+
var statusCategoryMap = {
|
|
3648
|
+
Completed: "dl-status-badge--success",
|
|
3649
|
+
COMPLETED: "dl-status-badge--success",
|
|
3650
|
+
Operational: "dl-status-badge--success",
|
|
3651
|
+
OPERATIONAL: "dl-status-badge--success",
|
|
3652
|
+
Active: "dl-status-badge--success",
|
|
3653
|
+
ACTIVE: "dl-status-badge--success",
|
|
3654
|
+
ONLINE: "dl-status-badge--success",
|
|
3655
|
+
"In Progress": "dl-status-badge--info",
|
|
3656
|
+
RUNNING: "dl-status-badge--info",
|
|
3657
|
+
"Needs Approval": "dl-status-badge--warning",
|
|
3658
|
+
Degraded: "dl-status-badge--warning",
|
|
3659
|
+
PAUSED: "dl-status-badge--warning",
|
|
3660
|
+
Failed: "dl-status-badge--destructive",
|
|
3661
|
+
FAILED: "dl-status-badge--destructive",
|
|
3662
|
+
Offline: "dl-status-badge--muted",
|
|
3663
|
+
DISABLED: "dl-status-badge--muted",
|
|
3664
|
+
IDLE: "dl-status-badge--muted"
|
|
3665
|
+
};
|
|
3666
|
+
var StatusBadge = React40.forwardRef(
|
|
3667
|
+
({ status, className, ...props }, ref) => {
|
|
3668
|
+
const normalizedStatus = status?.trim() ?? "";
|
|
3669
|
+
const colorClass = statusCategoryMap[normalizedStatus] ?? "dl-status-badge--muted";
|
|
3670
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
3671
|
+
"span",
|
|
3672
|
+
{
|
|
3673
|
+
ref,
|
|
3674
|
+
className: cn("dl-status-badge", colorClass, className),
|
|
3675
|
+
...props,
|
|
3676
|
+
children: [
|
|
3677
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "dl-status-badge__dot" }),
|
|
3678
|
+
normalizedStatus
|
|
3679
|
+
]
|
|
3680
|
+
}
|
|
3681
|
+
);
|
|
3682
|
+
}
|
|
3683
|
+
);
|
|
3684
|
+
StatusBadge.displayName = "StatusBadge";
|
|
3685
|
+
|
|
3686
|
+
// src/components/status-chip/status-chip.tsx
|
|
3687
|
+
var React41 = __toESM(require("react"), 1);
|
|
3688
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
3689
|
+
var statusToneMap = {
|
|
3690
|
+
active: "dl-status-chip--primary",
|
|
3691
|
+
running: "dl-status-chip--primary",
|
|
3692
|
+
completed: "dl-status-chip--muted",
|
|
3693
|
+
done: "dl-status-chip--muted",
|
|
3694
|
+
indexed: "dl-status-chip--primary",
|
|
3695
|
+
enabled: "dl-status-chip--primary",
|
|
3696
|
+
available: "dl-status-chip--primary",
|
|
3697
|
+
published: "dl-status-chip--primary",
|
|
3698
|
+
ok: "dl-status-chip--primary",
|
|
3699
|
+
waiting: "dl-status-chip--warning",
|
|
3700
|
+
paused: "dl-status-chip--warning",
|
|
3701
|
+
processing: "dl-status-chip--warning",
|
|
3702
|
+
degraded: "dl-status-chip--warning",
|
|
3703
|
+
warn: "dl-status-chip--warning",
|
|
3704
|
+
"requires-approval": "dl-status-chip--warning",
|
|
3705
|
+
draft: "dl-status-chip--warning",
|
|
3706
|
+
failed: "dl-status-chip--destructive",
|
|
3707
|
+
error: "dl-status-chip--destructive",
|
|
3708
|
+
offline: "dl-status-chip--destructive"
|
|
3709
|
+
};
|
|
3710
|
+
var StatusChip = React41.forwardRef(
|
|
3711
|
+
({ status, className, ...props }, ref) => {
|
|
3712
|
+
const toneClass = statusToneMap[status] ?? "dl-status-chip--muted";
|
|
3713
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
3714
|
+
"span",
|
|
3715
|
+
{
|
|
3716
|
+
ref,
|
|
3717
|
+
className: cn("dl-status-chip", toneClass, className),
|
|
3718
|
+
...props,
|
|
3719
|
+
children: [
|
|
3720
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "dl-status-chip__dot" }),
|
|
3721
|
+
status
|
|
3722
|
+
]
|
|
3723
|
+
}
|
|
3724
|
+
);
|
|
3725
|
+
}
|
|
3726
|
+
);
|
|
3727
|
+
StatusChip.displayName = "StatusChip";
|
|
3728
|
+
|
|
3729
|
+
// src/components/switch/switch.tsx
|
|
3730
|
+
var React42 = __toESM(require("react"), 1);
|
|
3680
3731
|
var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
|
|
3681
|
-
var
|
|
3682
|
-
var Switch =
|
|
3732
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
3733
|
+
var Switch = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
3683
3734
|
SwitchPrimitives.Root,
|
|
3684
3735
|
{
|
|
3685
|
-
className: cn(
|
|
3686
|
-
"peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
|
|
3687
|
-
className
|
|
3688
|
-
),
|
|
3736
|
+
className: cn("dl-switch", className),
|
|
3689
3737
|
...props,
|
|
3690
3738
|
ref,
|
|
3691
|
-
children: /* @__PURE__ */ (0,
|
|
3692
|
-
SwitchPrimitives.Thumb,
|
|
3693
|
-
{
|
|
3694
|
-
className: cn(
|
|
3695
|
-
"pointer-events-none block rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0 size-4"
|
|
3696
|
-
)
|
|
3697
|
-
}
|
|
3698
|
-
)
|
|
3739
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(SwitchPrimitives.Thumb, { className: "dl-switch__thumb" })
|
|
3699
3740
|
}
|
|
3700
3741
|
));
|
|
3701
3742
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
3702
3743
|
|
|
3703
|
-
// src/components/table.tsx
|
|
3704
|
-
var
|
|
3705
|
-
var
|
|
3706
|
-
var Table =
|
|
3707
|
-
"table",
|
|
3708
|
-
|
|
3709
|
-
ref,
|
|
3710
|
-
className: cn("w-full caption-bottom text-sm", className),
|
|
3711
|
-
...props
|
|
3712
|
-
}
|
|
3713
|
-
) }));
|
|
3744
|
+
// src/components/table/table.tsx
|
|
3745
|
+
var React43 = __toESM(require("react"), 1);
|
|
3746
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
3747
|
+
var Table = React43.forwardRef(
|
|
3748
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "dl-table-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("table", { ref, className: cn("dl-table", className), ...props }) })
|
|
3749
|
+
);
|
|
3714
3750
|
Table.displayName = "Table";
|
|
3715
|
-
var TableHeader =
|
|
3751
|
+
var TableHeader = React43.forwardRef(
|
|
3752
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("thead", { ref, className: cn("dl-table__head", className), ...props })
|
|
3753
|
+
);
|
|
3716
3754
|
TableHeader.displayName = "TableHeader";
|
|
3717
|
-
var TableBody =
|
|
3718
|
-
"tbody",
|
|
3755
|
+
var TableBody = React43.forwardRef(
|
|
3756
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("tbody", { ref, className: cn("dl-table__body", className), ...props })
|
|
3757
|
+
);
|
|
3758
|
+
TableBody.displayName = "TableBody";
|
|
3759
|
+
var TableFooter = React43.forwardRef(
|
|
3760
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("tfoot", { ref, className: cn("dl-table__foot", className), ...props })
|
|
3761
|
+
);
|
|
3762
|
+
TableFooter.displayName = "TableFooter";
|
|
3763
|
+
var TableRow = React43.forwardRef(
|
|
3764
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("tr", { ref, className: cn("dl-table__row", className), ...props })
|
|
3765
|
+
);
|
|
3766
|
+
TableRow.displayName = "TableRow";
|
|
3767
|
+
var TableHead = React43.forwardRef(
|
|
3768
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("th", { ref, className: cn("dl-table__head-cell", className), ...props })
|
|
3769
|
+
);
|
|
3770
|
+
TableHead.displayName = "TableHead";
|
|
3771
|
+
var TableCell = React43.forwardRef(
|
|
3772
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("td", { ref, className: cn("dl-table__cell", className), ...props })
|
|
3773
|
+
);
|
|
3774
|
+
TableCell.displayName = "TableCell";
|
|
3775
|
+
var TableCaption = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3776
|
+
"caption",
|
|
3719
3777
|
{
|
|
3720
3778
|
ref,
|
|
3721
|
-
className: cn("
|
|
3779
|
+
className: cn("dl-table__caption", className),
|
|
3722
3780
|
...props
|
|
3723
3781
|
}
|
|
3724
3782
|
));
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3783
|
+
TableCaption.displayName = "TableCaption";
|
|
3784
|
+
|
|
3785
|
+
// src/components/tabs/tabs.tsx
|
|
3786
|
+
var React44 = __toESM(require("react"), 1);
|
|
3787
|
+
var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
3788
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
3789
|
+
var Tabs = TabsPrimitive.Root;
|
|
3790
|
+
var TabsList = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3791
|
+
TabsPrimitive.List,
|
|
3728
3792
|
{
|
|
3729
3793
|
ref,
|
|
3730
|
-
className: cn(
|
|
3731
|
-
"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
|
|
3732
|
-
className
|
|
3733
|
-
),
|
|
3734
|
-
...props
|
|
3735
|
-
}
|
|
3736
|
-
));
|
|
3737
|
-
TableFooter.displayName = "TableFooter";
|
|
3738
|
-
var TableRow = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3739
|
-
"tr",
|
|
3740
|
-
{
|
|
3741
|
-
ref,
|
|
3742
|
-
className: cn(
|
|
3743
|
-
"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
|
|
3744
|
-
className
|
|
3745
|
-
),
|
|
3746
|
-
...props
|
|
3747
|
-
}
|
|
3748
|
-
));
|
|
3749
|
-
TableRow.displayName = "TableRow";
|
|
3750
|
-
var TableHead = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3751
|
-
"th",
|
|
3752
|
-
{
|
|
3753
|
-
ref,
|
|
3754
|
-
className: cn(
|
|
3755
|
-
"h-10 px-2 text-left align-middle font-medium text-muted-foreground has-[[role=checkbox]]:pr-0 *:[[role=checkbox]]:translate-y-[2px]",
|
|
3756
|
-
className
|
|
3757
|
-
),
|
|
3758
|
-
...props
|
|
3759
|
-
}
|
|
3760
|
-
));
|
|
3761
|
-
TableHead.displayName = "TableHead";
|
|
3762
|
-
var TableCell = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3763
|
-
"td",
|
|
3764
|
-
{
|
|
3765
|
-
ref,
|
|
3766
|
-
className: cn(
|
|
3767
|
-
"p-2 align-middle has-[[role=checkbox]]:pr-0 *:[[role=checkbox]]:translate-y-[2px]",
|
|
3768
|
-
className
|
|
3769
|
-
),
|
|
3770
|
-
...props
|
|
3771
|
-
}
|
|
3772
|
-
));
|
|
3773
|
-
TableCell.displayName = "TableCell";
|
|
3774
|
-
var TableCaption = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3775
|
-
"caption",
|
|
3776
|
-
{
|
|
3777
|
-
ref,
|
|
3778
|
-
className: cn("mt-4 text-sm text-muted-foreground", className),
|
|
3779
|
-
...props
|
|
3780
|
-
}
|
|
3781
|
-
));
|
|
3782
|
-
TableCaption.displayName = "TableCaption";
|
|
3783
|
-
|
|
3784
|
-
// src/components/tabs.tsx
|
|
3785
|
-
var React39 = __toESM(require("react"), 1);
|
|
3786
|
-
var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
3787
|
-
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3788
|
-
var Tabs = TabsPrimitive.Root;
|
|
3789
|
-
var TabsList = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3790
|
-
TabsPrimitive.List,
|
|
3791
|
-
{
|
|
3792
|
-
ref,
|
|
3793
|
-
className: cn(
|
|
3794
|
-
"inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",
|
|
3795
|
-
className
|
|
3796
|
-
),
|
|
3794
|
+
className: cn("dl-tabs-list", className),
|
|
3797
3795
|
...props
|
|
3798
3796
|
}
|
|
3799
3797
|
));
|
|
3800
3798
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
3801
|
-
var TabsTrigger =
|
|
3799
|
+
var TabsTrigger = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3802
3800
|
TabsPrimitive.Trigger,
|
|
3803
3801
|
{
|
|
3804
3802
|
ref,
|
|
3805
|
-
className: cn(
|
|
3806
|
-
"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background cursor-pointer transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",
|
|
3807
|
-
className
|
|
3808
|
-
),
|
|
3803
|
+
className: cn("dl-tabs-trigger", className),
|
|
3809
3804
|
...props
|
|
3810
3805
|
}
|
|
3811
3806
|
));
|
|
3812
3807
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
3813
|
-
var TabsContent =
|
|
3808
|
+
var TabsContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3814
3809
|
TabsPrimitive.Content,
|
|
3815
3810
|
{
|
|
3816
3811
|
ref,
|
|
3817
|
-
className: cn(
|
|
3818
|
-
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
|
|
3819
|
-
className
|
|
3820
|
-
),
|
|
3812
|
+
className: cn("dl-tabs-content", className),
|
|
3821
3813
|
...props
|
|
3822
3814
|
}
|
|
3823
3815
|
));
|
|
3824
3816
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
3825
3817
|
|
|
3826
|
-
// src/components/textarea.tsx
|
|
3827
|
-
var
|
|
3828
|
-
var
|
|
3829
|
-
var Textarea =
|
|
3830
|
-
|
|
3831
|
-
|
|
3832
|
-
{
|
|
3833
|
-
className: cn(
|
|
3834
|
-
"flex min-h-15 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
3835
|
-
className
|
|
3836
|
-
),
|
|
3837
|
-
ref,
|
|
3838
|
-
...props
|
|
3839
|
-
}
|
|
3840
|
-
);
|
|
3841
|
-
});
|
|
3818
|
+
// src/components/textarea/textarea.tsx
|
|
3819
|
+
var React45 = __toESM(require("react"), 1);
|
|
3820
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
3821
|
+
var Textarea = React45.forwardRef(
|
|
3822
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("textarea", { className: cn("dl-textarea", className), ref, ...props })
|
|
3823
|
+
);
|
|
3842
3824
|
Textarea.displayName = "Textarea";
|
|
3843
3825
|
|
|
3844
|
-
// src/components/toggle
|
|
3845
|
-
var
|
|
3846
|
-
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
|
|
3847
|
-
|
|
3848
|
-
// src/components/toggle.tsx
|
|
3849
|
-
var React41 = __toESM(require("react"), 1);
|
|
3826
|
+
// src/components/toggle/toggle.tsx
|
|
3827
|
+
var React46 = __toESM(require("react"), 1);
|
|
3850
3828
|
var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
|
|
3851
3829
|
var import_class_variance_authority8 = require("class-variance-authority");
|
|
3852
|
-
var
|
|
3853
|
-
var toggleVariants = (0, import_class_variance_authority8.cva)(
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
default: "bg-transparent",
|
|
3859
|
-
outline: "border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"
|
|
3860
|
-
},
|
|
3861
|
-
size: {
|
|
3862
|
-
default: "h-9 px-2 min-w-9",
|
|
3863
|
-
sm: "h-8 px-1.5 min-w-8",
|
|
3864
|
-
lg: "h-10 px-2.5 min-w-10"
|
|
3865
|
-
}
|
|
3830
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
3831
|
+
var toggleVariants = (0, import_class_variance_authority8.cva)("dl-toggle", {
|
|
3832
|
+
variants: {
|
|
3833
|
+
variant: {
|
|
3834
|
+
default: "dl-toggle--variant-default",
|
|
3835
|
+
outline: "dl-toggle--variant-outline"
|
|
3866
3836
|
},
|
|
3867
|
-
|
|
3868
|
-
|
|
3869
|
-
|
|
3837
|
+
size: {
|
|
3838
|
+
default: "dl-toggle--size-default",
|
|
3839
|
+
sm: "dl-toggle--size-sm",
|
|
3840
|
+
lg: "dl-toggle--size-lg"
|
|
3870
3841
|
}
|
|
3842
|
+
},
|
|
3843
|
+
defaultVariants: {
|
|
3844
|
+
variant: "default",
|
|
3845
|
+
size: "default"
|
|
3871
3846
|
}
|
|
3872
|
-
);
|
|
3873
|
-
var Toggle =
|
|
3847
|
+
});
|
|
3848
|
+
var Toggle = React46.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
3874
3849
|
TogglePrimitive.Root,
|
|
3875
3850
|
{
|
|
3876
3851
|
ref,
|
|
@@ -3880,25 +3855,27 @@ var Toggle = React41.forwardRef(({ className, variant, size, ...props }, ref) =>
|
|
|
3880
3855
|
));
|
|
3881
3856
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
3882
3857
|
|
|
3883
|
-
// src/components/toggle-group.tsx
|
|
3884
|
-
var
|
|
3885
|
-
var
|
|
3858
|
+
// src/components/toggle-group/toggle-group.tsx
|
|
3859
|
+
var React47 = __toESM(require("react"), 1);
|
|
3860
|
+
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
|
|
3861
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
3862
|
+
var ToggleGroupContext = React47.createContext({
|
|
3886
3863
|
size: "default",
|
|
3887
3864
|
variant: "default"
|
|
3888
3865
|
});
|
|
3889
|
-
var ToggleGroup =
|
|
3866
|
+
var ToggleGroup = React47.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
3890
3867
|
ToggleGroupPrimitive.Root,
|
|
3891
3868
|
{
|
|
3892
3869
|
ref,
|
|
3893
|
-
className: cn("
|
|
3870
|
+
className: cn("dl-toggle-group", className),
|
|
3894
3871
|
...props,
|
|
3895
|
-
children: /* @__PURE__ */ (0,
|
|
3872
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
3896
3873
|
}
|
|
3897
3874
|
));
|
|
3898
3875
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
3899
|
-
var ToggleGroupItem =
|
|
3900
|
-
const context =
|
|
3901
|
-
return /* @__PURE__ */ (0,
|
|
3876
|
+
var ToggleGroupItem = React47.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
3877
|
+
const context = React47.useContext(ToggleGroupContext);
|
|
3878
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
3902
3879
|
ToggleGroupPrimitive.Item,
|
|
3903
3880
|
{
|
|
3904
3881
|
ref,
|
|
@@ -3915,378 +3892,6 @@ var ToggleGroupItem = React42.forwardRef(({ className, children, variant, size,
|
|
|
3915
3892
|
);
|
|
3916
3893
|
});
|
|
3917
3894
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
3918
|
-
|
|
3919
|
-
// src/components/panel.tsx
|
|
3920
|
-
var React43 = __toESM(require("react"), 1);
|
|
3921
|
-
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
3922
|
-
var Panel2 = React43.forwardRef(
|
|
3923
|
-
({ title, meta, children, className, ...props }, ref) => {
|
|
3924
|
-
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
3925
|
-
"section",
|
|
3926
|
-
{
|
|
3927
|
-
ref,
|
|
3928
|
-
className: cn("rounded-lg border border-border bg-card p-4", className),
|
|
3929
|
-
...props,
|
|
3930
|
-
children: [
|
|
3931
|
-
title ? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "mb-3 flex items-center gap-2", children: [
|
|
3932
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h2", { className: "font-display text-sm font-semibold", children: title }),
|
|
3933
|
-
meta ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "ml-auto font-mono text-[10px] text-muted-foreground", children: meta }) : null
|
|
3934
|
-
] }) : null,
|
|
3935
|
-
children
|
|
3936
|
-
]
|
|
3937
|
-
}
|
|
3938
|
-
);
|
|
3939
|
-
}
|
|
3940
|
-
);
|
|
3941
|
-
Panel2.displayName = "Panel";
|
|
3942
|
-
|
|
3943
|
-
// src/components/status-chip.tsx
|
|
3944
|
-
var React44 = __toESM(require("react"), 1);
|
|
3945
|
-
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
3946
|
-
var statusTone = {
|
|
3947
|
-
active: "border-primary/30 bg-primary/10 text-primary",
|
|
3948
|
-
running: "border-primary/30 bg-primary/10 text-primary",
|
|
3949
|
-
completed: "border-border bg-secondary text-muted-foreground",
|
|
3950
|
-
done: "border-border bg-secondary text-muted-foreground",
|
|
3951
|
-
indexed: "border-primary/30 bg-primary/10 text-primary",
|
|
3952
|
-
enabled: "border-primary/30 bg-primary/10 text-primary",
|
|
3953
|
-
available: "border-primary/30 bg-primary/10 text-primary",
|
|
3954
|
-
published: "border-primary/30 bg-primary/10 text-primary",
|
|
3955
|
-
ok: "border-primary/30 bg-primary/10 text-primary",
|
|
3956
|
-
waiting: "border-warning/35 bg-warning/10 text-warning",
|
|
3957
|
-
paused: "border-warning/35 bg-warning/10 text-warning",
|
|
3958
|
-
processing: "border-warning/35 bg-warning/10 text-warning",
|
|
3959
|
-
degraded: "border-warning/35 bg-warning/10 text-warning",
|
|
3960
|
-
warn: "border-warning/35 bg-warning/10 text-warning",
|
|
3961
|
-
"requires-approval": "border-warning/35 bg-warning/10 text-warning",
|
|
3962
|
-
draft: "border-warning/35 bg-warning/10 text-warning",
|
|
3963
|
-
failed: "border-destructive/35 bg-destructive/10 text-destructive",
|
|
3964
|
-
error: "border-destructive/35 bg-destructive/10 text-destructive",
|
|
3965
|
-
offline: "border-destructive/35 bg-destructive/10 text-destructive"
|
|
3966
|
-
};
|
|
3967
|
-
var StatusChip = React44.forwardRef(
|
|
3968
|
-
({ status, className, ...props }, ref) => {
|
|
3969
|
-
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
3970
|
-
"span",
|
|
3971
|
-
{
|
|
3972
|
-
ref,
|
|
3973
|
-
className: cn(
|
|
3974
|
-
"inline-flex items-center gap-1.5 rounded-md border px-2 py-0.5 font-mono text-[10px]",
|
|
3975
|
-
statusTone[status] ?? "border-border bg-secondary text-muted-foreground",
|
|
3976
|
-
className
|
|
3977
|
-
),
|
|
3978
|
-
...props,
|
|
3979
|
-
children: [
|
|
3980
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "size-1.5 rounded-full bg-current" }),
|
|
3981
|
-
status
|
|
3982
|
-
]
|
|
3983
|
-
}
|
|
3984
|
-
);
|
|
3985
|
-
}
|
|
3986
|
-
);
|
|
3987
|
-
StatusChip.displayName = "StatusChip";
|
|
3988
|
-
|
|
3989
|
-
// src/components/date-picker.tsx
|
|
3990
|
-
var React45 = __toESM(require("react"), 1);
|
|
3991
|
-
var import_date_fns = require("date-fns");
|
|
3992
|
-
var import_lucide_react19 = require("lucide-react");
|
|
3993
|
-
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
3994
|
-
function DatePicker({
|
|
3995
|
-
value,
|
|
3996
|
-
onChange,
|
|
3997
|
-
placeholder = "Pick a date",
|
|
3998
|
-
className,
|
|
3999
|
-
disabled
|
|
4000
|
-
}) {
|
|
4001
|
-
const date = React45.useMemo(() => {
|
|
4002
|
-
if (!value) return void 0;
|
|
4003
|
-
const parts = value.split("-");
|
|
4004
|
-
if (parts.length !== 3) {
|
|
4005
|
-
const d = new Date(value);
|
|
4006
|
-
return isNaN(d.getTime()) ? void 0 : d;
|
|
4007
|
-
}
|
|
4008
|
-
const year = parseInt(parts[0], 10);
|
|
4009
|
-
const month = parseInt(parts[1], 10) - 1;
|
|
4010
|
-
const day = parseInt(parts[2], 10);
|
|
4011
|
-
return new Date(year, month, day, 12, 0, 0);
|
|
4012
|
-
}, [value]);
|
|
4013
|
-
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Popover, { children: [
|
|
4014
|
-
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
4015
|
-
Button,
|
|
4016
|
-
{
|
|
4017
|
-
variant: "outline",
|
|
4018
|
-
type: "button",
|
|
4019
|
-
disabled,
|
|
4020
|
-
className: cn(
|
|
4021
|
-
"border-border/80 bg-secondary/40 hover:bg-secondary/60 hover:text-foreground h-9 w-full justify-start text-left font-normal",
|
|
4022
|
-
!value && "text-muted-foreground",
|
|
4023
|
-
className
|
|
4024
|
-
),
|
|
4025
|
-
children: [
|
|
4026
|
-
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react19.Calendar, { className: "mr-2 size-4" }),
|
|
4027
|
-
date && !isNaN(date.getTime()) ? (0, import_date_fns.format)(date, "PPP") : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { children: placeholder })
|
|
4028
|
-
]
|
|
4029
|
-
}
|
|
4030
|
-
) }),
|
|
4031
|
-
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
4032
|
-
Calendar,
|
|
4033
|
-
{
|
|
4034
|
-
mode: "single",
|
|
4035
|
-
selected: date,
|
|
4036
|
-
onSelect: (selectedDate) => onChange?.(selectedDate ? (0, import_date_fns.format)(selectedDate, "yyyy-MM-dd") : ""),
|
|
4037
|
-
initialFocus: true
|
|
4038
|
-
}
|
|
4039
|
-
) })
|
|
4040
|
-
] });
|
|
4041
|
-
}
|
|
4042
|
-
|
|
4043
|
-
// src/components/searchable-select.tsx
|
|
4044
|
-
var React46 = __toESM(require("react"), 1);
|
|
4045
|
-
var import_lucide_react20 = require("lucide-react");
|
|
4046
|
-
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
4047
|
-
function SearchableSelect({
|
|
4048
|
-
options,
|
|
4049
|
-
value,
|
|
4050
|
-
onChange,
|
|
4051
|
-
placeholder = "Select an option...",
|
|
4052
|
-
searchPlaceholder = "Search...",
|
|
4053
|
-
onAddNew,
|
|
4054
|
-
addNewLabel = "Add new",
|
|
4055
|
-
disabled = false,
|
|
4056
|
-
className,
|
|
4057
|
-
id
|
|
4058
|
-
}) {
|
|
4059
|
-
const [open, setOpen] = React46.useState(false);
|
|
4060
|
-
const [search, setSearch] = React46.useState("");
|
|
4061
|
-
const [highlightedIndex, setHighlightedIndex] = React46.useState(0);
|
|
4062
|
-
const listRef = React46.useRef(null);
|
|
4063
|
-
const selectedOption = React46.useMemo(() => {
|
|
4064
|
-
return options.find((opt) => opt.value === value);
|
|
4065
|
-
}, [options, value]);
|
|
4066
|
-
const filteredOptions = React46.useMemo(() => {
|
|
4067
|
-
if (!search.trim()) return options;
|
|
4068
|
-
const q = search.toLowerCase();
|
|
4069
|
-
return options.filter(
|
|
4070
|
-
(opt) => opt.label.toLowerCase().includes(q) || opt.group && opt.group.toLowerCase().includes(q)
|
|
4071
|
-
);
|
|
4072
|
-
}, [options, search]);
|
|
4073
|
-
const handleOpenChange = (newOpen) => {
|
|
4074
|
-
setOpen(newOpen);
|
|
4075
|
-
if (newOpen) {
|
|
4076
|
-
const idx = filteredOptions.findIndex((opt) => opt.value === value);
|
|
4077
|
-
setHighlightedIndex(idx >= 0 ? idx : 0);
|
|
4078
|
-
} else {
|
|
4079
|
-
setSearch("");
|
|
4080
|
-
}
|
|
4081
|
-
};
|
|
4082
|
-
const handleSearchChange = (newSearch) => {
|
|
4083
|
-
setSearch(newSearch);
|
|
4084
|
-
setHighlightedIndex(0);
|
|
4085
|
-
};
|
|
4086
|
-
React46.useEffect(() => {
|
|
4087
|
-
if (open && listRef.current) {
|
|
4088
|
-
const activeEl = listRef.current.querySelector(
|
|
4089
|
-
"[data-highlighted='true']"
|
|
4090
|
-
);
|
|
4091
|
-
if (activeEl) {
|
|
4092
|
-
activeEl.scrollIntoView({ block: "nearest" });
|
|
4093
|
-
}
|
|
4094
|
-
}
|
|
4095
|
-
}, [highlightedIndex, open]);
|
|
4096
|
-
const groupedOptions = React46.useMemo(() => {
|
|
4097
|
-
const hasGroups = filteredOptions.some((opt) => opt.group);
|
|
4098
|
-
if (!hasGroups) return { Default: filteredOptions };
|
|
4099
|
-
return filteredOptions.reduce(
|
|
4100
|
-
(acc, opt) => {
|
|
4101
|
-
const g = opt.group || "Other";
|
|
4102
|
-
if (!acc[g]) acc[g] = [];
|
|
4103
|
-
acc[g].push(opt);
|
|
4104
|
-
return acc;
|
|
4105
|
-
},
|
|
4106
|
-
{}
|
|
4107
|
-
);
|
|
4108
|
-
}, [filteredOptions]);
|
|
4109
|
-
const handleSelect = (val) => {
|
|
4110
|
-
onChange?.(val);
|
|
4111
|
-
setOpen(false);
|
|
4112
|
-
setSearch("");
|
|
4113
|
-
};
|
|
4114
|
-
const handleAddNew = () => {
|
|
4115
|
-
onAddNew?.(search.trim());
|
|
4116
|
-
setOpen(false);
|
|
4117
|
-
setSearch("");
|
|
4118
|
-
};
|
|
4119
|
-
const handleKeyDown = (e) => {
|
|
4120
|
-
if (!open) {
|
|
4121
|
-
if (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") {
|
|
4122
|
-
e.preventDefault();
|
|
4123
|
-
handleOpenChange(true);
|
|
4124
|
-
}
|
|
4125
|
-
return;
|
|
4126
|
-
}
|
|
4127
|
-
switch (e.key) {
|
|
4128
|
-
case "ArrowDown":
|
|
4129
|
-
e.preventDefault();
|
|
4130
|
-
setHighlightedIndex(
|
|
4131
|
-
(prev) => prev < filteredOptions.length - 1 ? prev + 1 : prev
|
|
4132
|
-
);
|
|
4133
|
-
break;
|
|
4134
|
-
case "ArrowUp":
|
|
4135
|
-
e.preventDefault();
|
|
4136
|
-
setHighlightedIndex((prev) => prev > 0 ? prev - 1 : 0);
|
|
4137
|
-
break;
|
|
4138
|
-
case "Enter":
|
|
4139
|
-
e.preventDefault();
|
|
4140
|
-
if (filteredOptions.length > 0 && filteredOptions[highlightedIndex]) {
|
|
4141
|
-
handleSelect(filteredOptions[highlightedIndex].value);
|
|
4142
|
-
} else if (onAddNew && search.trim()) {
|
|
4143
|
-
handleAddNew();
|
|
4144
|
-
}
|
|
4145
|
-
break;
|
|
4146
|
-
case "Escape":
|
|
4147
|
-
case "Tab":
|
|
4148
|
-
e.preventDefault();
|
|
4149
|
-
handleOpenChange(false);
|
|
4150
|
-
break;
|
|
4151
|
-
}
|
|
4152
|
-
};
|
|
4153
|
-
let currentIndex = 0;
|
|
4154
|
-
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Popover, { open, onOpenChange: handleOpenChange, children: [
|
|
4155
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
4156
|
-
Button,
|
|
4157
|
-
{
|
|
4158
|
-
id,
|
|
4159
|
-
variant: "outline",
|
|
4160
|
-
role: "combobox",
|
|
4161
|
-
"aria-expanded": open,
|
|
4162
|
-
disabled,
|
|
4163
|
-
onKeyDown: handleKeyDown,
|
|
4164
|
-
className: cn(
|
|
4165
|
-
"bg-background border-input hover:bg-accent/50 h-9 w-full justify-between px-3 text-left font-normal",
|
|
4166
|
-
!selectedOption && "text-muted-foreground",
|
|
4167
|
-
className
|
|
4168
|
-
),
|
|
4169
|
-
children: [
|
|
4170
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "truncate", children: selectedOption ? selectedOption.label : placeholder }),
|
|
4171
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.ChevronDown, { className: "ml-2 size-4 shrink-0 opacity-50" })
|
|
4172
|
-
]
|
|
4173
|
-
}
|
|
4174
|
-
) }),
|
|
4175
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
4176
|
-
PopoverContent,
|
|
4177
|
-
{
|
|
4178
|
-
align: "start",
|
|
4179
|
-
className: "border-border bg-popover w-(--radix-popover-trigger-width) min-w-55 border p-0 shadow-lg",
|
|
4180
|
-
onKeyDown: handleKeyDown,
|
|
4181
|
-
children: [
|
|
4182
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "border-border flex items-center gap-2 border-b p-2", children: [
|
|
4183
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.Search, { className: "text-muted-foreground size-4 shrink-0 opacity-50" }),
|
|
4184
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
4185
|
-
Input,
|
|
4186
|
-
{
|
|
4187
|
-
placeholder: searchPlaceholder,
|
|
4188
|
-
value: search,
|
|
4189
|
-
onChange: (e) => handleSearchChange(e.target.value),
|
|
4190
|
-
className: "h-8 border-none bg-transparent px-1 text-sm focus-visible:ring-0 focus-visible:ring-offset-0",
|
|
4191
|
-
autoFocus: true
|
|
4192
|
-
}
|
|
4193
|
-
)
|
|
4194
|
-
] }),
|
|
4195
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
4196
|
-
"div",
|
|
4197
|
-
{
|
|
4198
|
-
ref: listRef,
|
|
4199
|
-
onWheel: (e) => e.stopPropagation(),
|
|
4200
|
-
className: "max-h-60 overflow-y-auto overscroll-contain p-1 text-sm",
|
|
4201
|
-
children: Object.keys(groupedOptions).length === 0 || filteredOptions.length === 0 && !onAddNew ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "text-muted-foreground py-6 text-center text-xs", children: "No matching options found." }) : Object.entries(groupedOptions).map(([groupName, groupOpts]) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "py-1", children: [
|
|
4202
|
-
groupName !== "Default" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "text-muted-foreground/70 px-2 py-1 text-[10px] font-bold tracking-wider uppercase", children: groupName }),
|
|
4203
|
-
groupOpts.map((option) => {
|
|
4204
|
-
const isSelected = option.value === value;
|
|
4205
|
-
const itemIndex = currentIndex++;
|
|
4206
|
-
const isHighlighted = itemIndex === highlightedIndex;
|
|
4207
|
-
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
4208
|
-
"div",
|
|
4209
|
-
{
|
|
4210
|
-
"data-highlighted": isHighlighted,
|
|
4211
|
-
onClick: () => handleSelect(option.value),
|
|
4212
|
-
onMouseEnter: () => setHighlightedIndex(itemIndex),
|
|
4213
|
-
className: cn(
|
|
4214
|
-
"relative flex cursor-pointer items-center rounded-sm px-2.5 py-1.5 text-sm transition-colors outline-none select-none",
|
|
4215
|
-
isHighlighted && "bg-accent text-accent-foreground font-medium",
|
|
4216
|
-
isSelected && !isHighlighted && "bg-accent/40 text-accent-foreground font-medium"
|
|
4217
|
-
),
|
|
4218
|
-
children: [
|
|
4219
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "flex-1 truncate", children: option.label }),
|
|
4220
|
-
isSelected && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.Check, { className: "text-primary ml-2 size-4 shrink-0" })
|
|
4221
|
-
]
|
|
4222
|
-
},
|
|
4223
|
-
option.value
|
|
4224
|
-
);
|
|
4225
|
-
})
|
|
4226
|
-
] }, groupName))
|
|
4227
|
-
}
|
|
4228
|
-
),
|
|
4229
|
-
onAddNew && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "border-border bg-muted/30 border-t p-1", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
4230
|
-
"button",
|
|
4231
|
-
{
|
|
4232
|
-
type: "button",
|
|
4233
|
-
onClick: handleAddNew,
|
|
4234
|
-
className: "text-primary hover:bg-primary/10 flex w-full items-center gap-2 rounded-sm px-2.5 py-2 text-xs font-semibold transition-colors",
|
|
4235
|
-
children: [
|
|
4236
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.Plus, { className: "size-3.5 shrink-0" }),
|
|
4237
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "truncate", children: search.trim() ? `${addNewLabel} "${search.trim()}"` : `${addNewLabel}` })
|
|
4238
|
-
]
|
|
4239
|
-
}
|
|
4240
|
-
) })
|
|
4241
|
-
]
|
|
4242
|
-
}
|
|
4243
|
-
)
|
|
4244
|
-
] });
|
|
4245
|
-
}
|
|
4246
|
-
|
|
4247
|
-
// src/components/confirm-dialog.tsx
|
|
4248
|
-
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
4249
|
-
function ConfirmDialog({
|
|
4250
|
-
open,
|
|
4251
|
-
onOpenChange,
|
|
4252
|
-
title,
|
|
4253
|
-
description,
|
|
4254
|
-
onConfirm,
|
|
4255
|
-
confirmText = "Confirm",
|
|
4256
|
-
cancelText = "Cancel",
|
|
4257
|
-
destructive = false
|
|
4258
|
-
}) {
|
|
4259
|
-
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(AlertDialogContent, { children: [
|
|
4260
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(AlertDialogHeader, { children: [
|
|
4261
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(AlertDialogTitle, { children: title }),
|
|
4262
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(AlertDialogDescription, { children: description })
|
|
4263
|
-
] }),
|
|
4264
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(AlertDialogFooter, { children: [
|
|
4265
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(AlertDialogCancel, { children: cancelText }),
|
|
4266
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
4267
|
-
AlertDialogAction,
|
|
4268
|
-
{
|
|
4269
|
-
onClick: onConfirm,
|
|
4270
|
-
className: destructive ? "bg-destructive text-destructive-foreground hover:bg-destructive/90" : "",
|
|
4271
|
-
children: confirmText
|
|
4272
|
-
}
|
|
4273
|
-
)
|
|
4274
|
-
] })
|
|
4275
|
-
] }) });
|
|
4276
|
-
}
|
|
4277
|
-
|
|
4278
|
-
// src/components/loading-state.tsx
|
|
4279
|
-
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
4280
|
-
function LoadingState({
|
|
4281
|
-
rows = 3,
|
|
4282
|
-
className,
|
|
4283
|
-
...props
|
|
4284
|
-
}) {
|
|
4285
|
-
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: cn("w-full space-y-4 p-2", className), ...props, children: [
|
|
4286
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Skeleton, { className: "h-8 w-1/3" }),
|
|
4287
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "space-y-2", children: Array.from({ length: rows }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Skeleton, { className: "h-16 w-full rounded-xl" }, i)) })
|
|
4288
|
-
] });
|
|
4289
|
-
}
|
|
4290
3895
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4291
3896
|
0 && (module.exports = {
|
|
4292
3897
|
Accordion,
|
|
@@ -4371,6 +3976,7 @@ function LoadingState({
|
|
|
4371
3976
|
ContextMenuTrigger,
|
|
4372
3977
|
DatePicker,
|
|
4373
3978
|
Dialog,
|
|
3979
|
+
DialogBody,
|
|
4374
3980
|
DialogClose,
|
|
4375
3981
|
DialogContent,
|
|
4376
3982
|
DialogDescription,
|
|
@@ -4513,6 +4119,7 @@ function LoadingState({
|
|
|
4513
4119
|
SidebarTrigger,
|
|
4514
4120
|
Skeleton,
|
|
4515
4121
|
Slider,
|
|
4122
|
+
StatusBadge,
|
|
4516
4123
|
StatusChip,
|
|
4517
4124
|
Switch,
|
|
4518
4125
|
Table,
|
|
@@ -4537,12 +4144,16 @@ function LoadingState({
|
|
|
4537
4144
|
TooltipContent,
|
|
4538
4145
|
TooltipProvider,
|
|
4539
4146
|
TooltipTrigger,
|
|
4147
|
+
alertVariants,
|
|
4540
4148
|
badgeVariants,
|
|
4541
4149
|
buttonVariants,
|
|
4542
4150
|
cn,
|
|
4151
|
+
labelVariants,
|
|
4543
4152
|
navigationMenuTriggerStyle,
|
|
4153
|
+
sheetVariants,
|
|
4544
4154
|
toast,
|
|
4545
4155
|
toggleVariants,
|
|
4156
|
+
useCarousel,
|
|
4546
4157
|
useConfig,
|
|
4547
4158
|
useFormField,
|
|
4548
4159
|
useIsMobile,
|