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