@nextop-os/ui-system 0.0.5 → 0.0.6

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.
@@ -1,9 +1,10 @@
1
1
  import {
2
2
  CheckIcon,
3
3
  ChevronDownIcon,
4
+ ChevronRightIcon,
4
5
  ChevronUpIcon,
5
6
  CloseIcon
6
- } from "./chunk-V2GNGNUX.js";
7
+ } from "./chunk-OBW6ALOJ.js";
7
8
  import {
8
9
  cn
9
10
  } from "./chunk-DGPY4WP3.js";
@@ -439,10 +440,248 @@ function ConfirmationDialog({
439
440
  ) });
440
441
  }
441
442
 
443
+ // src/components/dropdown-menu.tsx
444
+ import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
445
+ import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
446
+ function DropdownMenu({
447
+ ...props
448
+ }) {
449
+ return /* @__PURE__ */ jsx6(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
450
+ }
451
+ function DropdownMenuPortal({
452
+ ...props
453
+ }) {
454
+ return /* @__PURE__ */ jsx6(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
455
+ }
456
+ function DropdownMenuTrigger({
457
+ ...props
458
+ }) {
459
+ return /* @__PURE__ */ jsx6(
460
+ DropdownMenuPrimitive.Trigger,
461
+ {
462
+ "data-slot": "dropdown-menu-trigger",
463
+ ...props
464
+ }
465
+ );
466
+ }
467
+ function DropdownMenuContent({
468
+ className,
469
+ align = "start",
470
+ sideOffset = 4,
471
+ style,
472
+ ...props
473
+ }) {
474
+ return /* @__PURE__ */ jsx6(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx6(
475
+ DropdownMenuPrimitive.Content,
476
+ {
477
+ "data-slot": "dropdown-menu-content",
478
+ align,
479
+ className: cn(
480
+ "z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 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 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
481
+ className
482
+ ),
483
+ sideOffset,
484
+ style: { zIndex: "var(--z-popover)", ...style },
485
+ ...props
486
+ }
487
+ ) });
488
+ }
489
+ function DropdownMenuGroup({
490
+ ...props
491
+ }) {
492
+ return /* @__PURE__ */ jsx6(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
493
+ }
494
+ function DropdownMenuItem({
495
+ className,
496
+ inset,
497
+ variant = "default",
498
+ ...props
499
+ }) {
500
+ return /* @__PURE__ */ jsx6(
501
+ DropdownMenuPrimitive.Item,
502
+ {
503
+ "data-inset": inset,
504
+ "data-slot": "dropdown-menu-item",
505
+ "data-variant": variant,
506
+ className: cn(
507
+ "group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",
508
+ className
509
+ ),
510
+ ...props
511
+ }
512
+ );
513
+ }
514
+ function DropdownMenuCheckboxItem({
515
+ className,
516
+ children,
517
+ checked,
518
+ inset,
519
+ ...props
520
+ }) {
521
+ return /* @__PURE__ */ jsxs3(
522
+ DropdownMenuPrimitive.CheckboxItem,
523
+ {
524
+ checked,
525
+ "data-inset": inset,
526
+ "data-slot": "dropdown-menu-checkbox-item",
527
+ className: cn(
528
+ "relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
529
+ className
530
+ ),
531
+ ...props,
532
+ children: [
533
+ /* @__PURE__ */ jsx6(
534
+ "span",
535
+ {
536
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
537
+ "data-slot": "dropdown-menu-checkbox-item-indicator",
538
+ children: /* @__PURE__ */ jsx6(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx6(CheckIcon, {}) })
539
+ }
540
+ ),
541
+ children
542
+ ]
543
+ }
544
+ );
545
+ }
546
+ function DropdownMenuRadioGroup({
547
+ ...props
548
+ }) {
549
+ return /* @__PURE__ */ jsx6(
550
+ DropdownMenuPrimitive.RadioGroup,
551
+ {
552
+ "data-slot": "dropdown-menu-radio-group",
553
+ ...props
554
+ }
555
+ );
556
+ }
557
+ function DropdownMenuRadioItem({
558
+ className,
559
+ children,
560
+ inset,
561
+ ...props
562
+ }) {
563
+ return /* @__PURE__ */ jsxs3(
564
+ DropdownMenuPrimitive.RadioItem,
565
+ {
566
+ "data-inset": inset,
567
+ "data-slot": "dropdown-menu-radio-item",
568
+ className: cn(
569
+ "relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
570
+ className
571
+ ),
572
+ ...props,
573
+ children: [
574
+ /* @__PURE__ */ jsx6(
575
+ "span",
576
+ {
577
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
578
+ "data-slot": "dropdown-menu-radio-item-indicator",
579
+ children: /* @__PURE__ */ jsx6(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx6(CheckIcon, {}) })
580
+ }
581
+ ),
582
+ children
583
+ ]
584
+ }
585
+ );
586
+ }
587
+ function DropdownMenuLabel({
588
+ className,
589
+ inset,
590
+ ...props
591
+ }) {
592
+ return /* @__PURE__ */ jsx6(
593
+ DropdownMenuPrimitive.Label,
594
+ {
595
+ "data-inset": inset,
596
+ "data-slot": "dropdown-menu-label",
597
+ className: cn(
598
+ "px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7",
599
+ className
600
+ ),
601
+ ...props
602
+ }
603
+ );
604
+ }
605
+ function DropdownMenuSeparator({
606
+ className,
607
+ ...props
608
+ }) {
609
+ return /* @__PURE__ */ jsx6(
610
+ DropdownMenuPrimitive.Separator,
611
+ {
612
+ "data-slot": "dropdown-menu-separator",
613
+ className: cn("-mx-1 my-1 h-px bg-border", className),
614
+ ...props
615
+ }
616
+ );
617
+ }
618
+ function DropdownMenuShortcut({
619
+ className,
620
+ ...props
621
+ }) {
622
+ return /* @__PURE__ */ jsx6(
623
+ "span",
624
+ {
625
+ "data-slot": "dropdown-menu-shortcut",
626
+ className: cn(
627
+ "ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground",
628
+ className
629
+ ),
630
+ ...props
631
+ }
632
+ );
633
+ }
634
+ function DropdownMenuSub({
635
+ ...props
636
+ }) {
637
+ return /* @__PURE__ */ jsx6(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
638
+ }
639
+ function DropdownMenuSubTrigger({
640
+ className,
641
+ inset,
642
+ children,
643
+ ...props
644
+ }) {
645
+ return /* @__PURE__ */ jsxs3(
646
+ DropdownMenuPrimitive.SubTrigger,
647
+ {
648
+ "data-inset": inset,
649
+ "data-slot": "dropdown-menu-sub-trigger",
650
+ className: cn(
651
+ "flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
652
+ className
653
+ ),
654
+ ...props,
655
+ children: [
656
+ children,
657
+ /* @__PURE__ */ jsx6(ChevronRightIcon, { className: "ml-auto" })
658
+ ]
659
+ }
660
+ );
661
+ }
662
+ function DropdownMenuSubContent({
663
+ className,
664
+ style,
665
+ ...props
666
+ }) {
667
+ return /* @__PURE__ */ jsx6(
668
+ DropdownMenuPrimitive.SubContent,
669
+ {
670
+ "data-slot": "dropdown-menu-sub-content",
671
+ className: cn(
672
+ "z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
673
+ className
674
+ ),
675
+ style: { zIndex: "var(--z-popover)", ...style },
676
+ ...props
677
+ }
678
+ );
679
+ }
680
+
442
681
  // src/components/input.tsx
443
- import { jsx as jsx6 } from "react/jsx-runtime";
682
+ import { jsx as jsx7 } from "react/jsx-runtime";
444
683
  function Input({ className, type, ...props }) {
445
- return /* @__PURE__ */ jsx6(
684
+ return /* @__PURE__ */ jsx7(
446
685
  "input",
447
686
  {
448
687
  type,
@@ -458,13 +697,13 @@ function Input({ className, type, ...props }) {
458
697
 
459
698
  // src/components/resizable.tsx
460
699
  import * as ResizablePrimitive from "react-resizable-panels";
461
- import { jsx as jsx7 } from "react/jsx-runtime";
700
+ import { jsx as jsx8 } from "react/jsx-runtime";
462
701
  function ResizablePanelGroup({
463
702
  className,
464
703
  orientation = "horizontal",
465
704
  ...props
466
705
  }) {
467
- return /* @__PURE__ */ jsx7(
706
+ return /* @__PURE__ */ jsx8(
468
707
  ResizablePrimitive.Group,
469
708
  {
470
709
  "data-orientation": orientation,
@@ -479,14 +718,14 @@ function ResizablePanelGroup({
479
718
  );
480
719
  }
481
720
  function ResizablePanel(props) {
482
- return /* @__PURE__ */ jsx7(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
721
+ return /* @__PURE__ */ jsx8(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
483
722
  }
484
723
  function ResizableHandle({
485
724
  className,
486
725
  withHandle,
487
726
  ...props
488
727
  }) {
489
- return /* @__PURE__ */ jsx7(
728
+ return /* @__PURE__ */ jsx8(
490
729
  ResizablePrimitive.Separator,
491
730
  {
492
731
  "data-slot": "resizable-handle",
@@ -495,27 +734,27 @@ function ResizableHandle({
495
734
  className
496
735
  ),
497
736
  ...props,
498
- children: withHandle ? /* @__PURE__ */ jsx7("div", { className: "z-10 flex items-center justify-center rounded-full bg-border/85 transition-colors group-hover:bg-border group-aria-[orientation=horizontal]:h-[3px] group-aria-[orientation=horizontal]:w-10 group-aria-[orientation=vertical]:h-10 group-aria-[orientation=vertical]:w-[3px]" }) : null
737
+ children: withHandle ? /* @__PURE__ */ jsx8("div", { className: "z-10 flex items-center justify-center rounded-full bg-border/85 transition-colors group-hover:bg-border group-aria-[orientation=horizontal]:h-[3px] group-aria-[orientation=horizontal]:w-10 group-aria-[orientation=vertical]:h-10 group-aria-[orientation=vertical]:w-[3px]" }) : null
499
738
  }
500
739
  );
501
740
  }
502
741
 
503
742
  // src/components/scroll-area.tsx
504
743
  import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
505
- import { jsx as jsx8, jsxs as jsxs3 } from "react/jsx-runtime";
744
+ import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
506
745
  function ScrollArea({
507
746
  className,
508
747
  children,
509
748
  ...props
510
749
  }) {
511
- return /* @__PURE__ */ jsxs3(
750
+ return /* @__PURE__ */ jsxs4(
512
751
  ScrollAreaPrimitive.Root,
513
752
  {
514
753
  "data-slot": "scroll-area",
515
754
  className: cn("relative", className),
516
755
  ...props,
517
756
  children: [
518
- /* @__PURE__ */ jsx8(
757
+ /* @__PURE__ */ jsx9(
519
758
  ScrollAreaPrimitive.Viewport,
520
759
  {
521
760
  "data-slot": "scroll-area-viewport",
@@ -523,8 +762,8 @@ function ScrollArea({
523
762
  children
524
763
  }
525
764
  ),
526
- /* @__PURE__ */ jsx8(ScrollBar, {}),
527
- /* @__PURE__ */ jsx8(ScrollAreaPrimitive.Corner, {})
765
+ /* @__PURE__ */ jsx9(ScrollBar, {}),
766
+ /* @__PURE__ */ jsx9(ScrollAreaPrimitive.Corner, {})
528
767
  ]
529
768
  }
530
769
  );
@@ -534,7 +773,7 @@ function ScrollBar({
534
773
  orientation = "vertical",
535
774
  ...props
536
775
  }) {
537
- return /* @__PURE__ */ jsx8(
776
+ return /* @__PURE__ */ jsx9(
538
777
  ScrollAreaPrimitive.ScrollAreaScrollbar,
539
778
  {
540
779
  "data-slot": "scroll-area-scrollbar",
@@ -545,7 +784,7 @@ function ScrollBar({
545
784
  className
546
785
  ),
547
786
  ...props,
548
- children: /* @__PURE__ */ jsx8(
787
+ children: /* @__PURE__ */ jsx9(
549
788
  ScrollAreaPrimitive.ScrollAreaThumb,
550
789
  {
551
790
  "data-slot": "scroll-area-thumb",
@@ -558,17 +797,17 @@ function ScrollBar({
558
797
 
559
798
  // src/components/select.tsx
560
799
  import { Select as SelectPrimitive } from "radix-ui";
561
- import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
800
+ import { jsx as jsx10, jsxs as jsxs5 } from "react/jsx-runtime";
562
801
  function Select({
563
802
  ...props
564
803
  }) {
565
- return /* @__PURE__ */ jsx9(SelectPrimitive.Root, { "data-slot": "select", ...props });
804
+ return /* @__PURE__ */ jsx10(SelectPrimitive.Root, { "data-slot": "select", ...props });
566
805
  }
567
806
  function SelectGroup({
568
807
  className,
569
808
  ...props
570
809
  }) {
571
- return /* @__PURE__ */ jsx9(
810
+ return /* @__PURE__ */ jsx10(
572
811
  SelectPrimitive.Group,
573
812
  {
574
813
  "data-slot": "select-group",
@@ -580,7 +819,7 @@ function SelectGroup({
580
819
  function SelectValue({
581
820
  ...props
582
821
  }) {
583
- return /* @__PURE__ */ jsx9(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
822
+ return /* @__PURE__ */ jsx10(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
584
823
  }
585
824
  function SelectTrigger({
586
825
  className,
@@ -588,7 +827,7 @@ function SelectTrigger({
588
827
  children,
589
828
  ...props
590
829
  }) {
591
- return /* @__PURE__ */ jsxs4(
830
+ return /* @__PURE__ */ jsxs5(
592
831
  SelectPrimitive.Trigger,
593
832
  {
594
833
  "data-slot": "select-trigger",
@@ -600,7 +839,7 @@ function SelectTrigger({
600
839
  ...props,
601
840
  children: [
602
841
  children,
603
- /* @__PURE__ */ jsx9(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx9(ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" }) })
842
+ /* @__PURE__ */ jsx10(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx10(ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" }) })
604
843
  ]
605
844
  }
606
845
  );
@@ -613,7 +852,7 @@ function SelectContent({
613
852
  style,
614
853
  ...props
615
854
  }) {
616
- return /* @__PURE__ */ jsx9(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs4(
855
+ return /* @__PURE__ */ jsx10(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs5(
617
856
  SelectPrimitive.Content,
618
857
  {
619
858
  "data-slot": "select-content",
@@ -628,8 +867,8 @@ function SelectContent({
628
867
  style: { zIndex: "var(--z-popover)", ...style },
629
868
  ...props,
630
869
  children: [
631
- /* @__PURE__ */ jsx9(SelectScrollUpButton, {}),
632
- /* @__PURE__ */ jsx9(
870
+ /* @__PURE__ */ jsx10(SelectScrollUpButton, {}),
871
+ /* @__PURE__ */ jsx10(
633
872
  SelectPrimitive.Viewport,
634
873
  {
635
874
  "data-position": position,
@@ -640,7 +879,7 @@ function SelectContent({
640
879
  children
641
880
  }
642
881
  ),
643
- /* @__PURE__ */ jsx9(SelectScrollDownButton, {})
882
+ /* @__PURE__ */ jsx10(SelectScrollDownButton, {})
644
883
  ]
645
884
  }
646
885
  ) });
@@ -649,7 +888,7 @@ function SelectLabel({
649
888
  className,
650
889
  ...props
651
890
  }) {
652
- return /* @__PURE__ */ jsx9(
891
+ return /* @__PURE__ */ jsx10(
653
892
  SelectPrimitive.Label,
654
893
  {
655
894
  "data-slot": "select-label",
@@ -663,7 +902,7 @@ function SelectItem({
663
902
  children,
664
903
  ...props
665
904
  }) {
666
- return /* @__PURE__ */ jsxs4(
905
+ return /* @__PURE__ */ jsxs5(
667
906
  SelectPrimitive.Item,
668
907
  {
669
908
  "data-slot": "select-item",
@@ -673,8 +912,8 @@ function SelectItem({
673
912
  ),
674
913
  ...props,
675
914
  children: [
676
- /* @__PURE__ */ jsx9("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx9(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx9(CheckIcon, { className: "pointer-events-none" }) }) }),
677
- /* @__PURE__ */ jsx9(SelectPrimitive.ItemText, { children })
915
+ /* @__PURE__ */ jsx10("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx10(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx10(CheckIcon, { className: "pointer-events-none" }) }) }),
916
+ /* @__PURE__ */ jsx10(SelectPrimitive.ItemText, { children })
678
917
  ]
679
918
  }
680
919
  );
@@ -683,7 +922,7 @@ function SelectSeparator({
683
922
  className,
684
923
  ...props
685
924
  }) {
686
- return /* @__PURE__ */ jsx9(
925
+ return /* @__PURE__ */ jsx10(
687
926
  SelectPrimitive.Separator,
688
927
  {
689
928
  "data-slot": "select-separator",
@@ -696,7 +935,7 @@ function SelectScrollUpButton({
696
935
  className,
697
936
  ...props
698
937
  }) {
699
- return /* @__PURE__ */ jsx9(
938
+ return /* @__PURE__ */ jsx10(
700
939
  SelectPrimitive.ScrollUpButton,
701
940
  {
702
941
  "data-slot": "select-scroll-up-button",
@@ -705,7 +944,7 @@ function SelectScrollUpButton({
705
944
  className
706
945
  ),
707
946
  ...props,
708
- children: /* @__PURE__ */ jsx9(ChevronUpIcon, {})
947
+ children: /* @__PURE__ */ jsx10(ChevronUpIcon, {})
709
948
  }
710
949
  );
711
950
  }
@@ -713,7 +952,7 @@ function SelectScrollDownButton({
713
952
  className,
714
953
  ...props
715
954
  }) {
716
- return /* @__PURE__ */ jsx9(
955
+ return /* @__PURE__ */ jsx10(
717
956
  SelectPrimitive.ScrollDownButton,
718
957
  {
719
958
  "data-slot": "select-scroll-down-button",
@@ -722,21 +961,21 @@ function SelectScrollDownButton({
722
961
  className
723
962
  ),
724
963
  ...props,
725
- children: /* @__PURE__ */ jsx9(ChevronDownIcon, {})
964
+ children: /* @__PURE__ */ jsx10(ChevronDownIcon, {})
726
965
  }
727
966
  );
728
967
  }
729
968
 
730
969
  // src/components/separator.tsx
731
970
  import { Separator as SeparatorPrimitive } from "radix-ui";
732
- import { jsx as jsx10 } from "react/jsx-runtime";
971
+ import { jsx as jsx11 } from "react/jsx-runtime";
733
972
  function Separator2({
734
973
  className,
735
974
  orientation = "horizontal",
736
975
  decorative = true,
737
976
  ...props
738
977
  }) {
739
- return /* @__PURE__ */ jsx10(
978
+ return /* @__PURE__ */ jsx11(
740
979
  SeparatorPrimitive.Root,
741
980
  {
742
981
  "data-slot": "separator",
@@ -754,7 +993,7 @@ function Separator2({
754
993
  // src/components/toast.tsx
755
994
  import { Toast as ToastPrimitive } from "radix-ui";
756
995
  import { cva as cva3 } from "class-variance-authority";
757
- import { jsx as jsx11 } from "react/jsx-runtime";
996
+ import { jsx as jsx12 } from "react/jsx-runtime";
758
997
  var ToastProvider = ToastPrimitive.Provider;
759
998
  var toastVariants = cva3(
760
999
  "group pointer-events-auto relative grid w-full min-w-0 gap-1 overflow-hidden rounded-lg border bg-popover px-4 py-3 pr-10 text-sm text-popover-foreground shadow-panel transition-all data-closed:fade-out-80 data-closed:slide-out-to-right-full data-open:slide-in-from-top-full data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none sm:data-open:slide-in-from-bottom-full",
@@ -775,7 +1014,7 @@ function ToastRoot({
775
1014
  variant,
776
1015
  ...props
777
1016
  }) {
778
- return /* @__PURE__ */ jsx11(
1017
+ return /* @__PURE__ */ jsx12(
779
1018
  ToastPrimitive.Root,
780
1019
  {
781
1020
  "data-slot": "toast",
@@ -788,7 +1027,7 @@ function ToastTitle({
788
1027
  className,
789
1028
  ...props
790
1029
  }) {
791
- return /* @__PURE__ */ jsx11(
1030
+ return /* @__PURE__ */ jsx12(
792
1031
  ToastPrimitive.Title,
793
1032
  {
794
1033
  "data-slot": "toast-title",
@@ -801,7 +1040,7 @@ function ToastDescription({
801
1040
  className,
802
1041
  ...props
803
1042
  }) {
804
- return /* @__PURE__ */ jsx11(
1043
+ return /* @__PURE__ */ jsx12(
805
1044
  ToastPrimitive.Description,
806
1045
  {
807
1046
  "data-slot": "toast-description",
@@ -814,7 +1053,7 @@ function ToastClose({
814
1053
  className,
815
1054
  ...props
816
1055
  }) {
817
- return /* @__PURE__ */ jsx11(
1056
+ return /* @__PURE__ */ jsx12(
818
1057
  ToastPrimitive.Close,
819
1058
  {
820
1059
  "data-slot": "toast-close",
@@ -823,7 +1062,7 @@ function ToastClose({
823
1062
  className
824
1063
  ),
825
1064
  ...props,
826
- children: /* @__PURE__ */ jsx11(CloseIcon, { className: "size-4" })
1065
+ children: /* @__PURE__ */ jsx12(CloseIcon, { className: "size-4" })
827
1066
  }
828
1067
  );
829
1068
  }
@@ -832,7 +1071,7 @@ function ToastViewport({
832
1071
  style,
833
1072
  ...props
834
1073
  }) {
835
- return /* @__PURE__ */ jsx11(
1074
+ return /* @__PURE__ */ jsx12(
836
1075
  ToastPrimitive.Viewport,
837
1076
  {
838
1077
  "data-slot": "toast-viewport",
@@ -869,6 +1108,21 @@ export {
869
1108
  DialogTitle,
870
1109
  DialogDescription,
871
1110
  ConfirmationDialog,
1111
+ DropdownMenu,
1112
+ DropdownMenuPortal,
1113
+ DropdownMenuTrigger,
1114
+ DropdownMenuContent,
1115
+ DropdownMenuGroup,
1116
+ DropdownMenuItem,
1117
+ DropdownMenuCheckboxItem,
1118
+ DropdownMenuRadioGroup,
1119
+ DropdownMenuRadioItem,
1120
+ DropdownMenuLabel,
1121
+ DropdownMenuSeparator,
1122
+ DropdownMenuShortcut,
1123
+ DropdownMenuSub,
1124
+ DropdownMenuSubTrigger,
1125
+ DropdownMenuSubContent,
872
1126
  Input,
873
1127
  ResizablePanelGroup,
874
1128
  ResizablePanel,
@@ -894,4 +1148,4 @@ export {
894
1148
  ToastClose,
895
1149
  ToastViewport
896
1150
  };
897
- //# sourceMappingURL=chunk-UM7LPYRB.js.map
1151
+ //# sourceMappingURL=chunk-4E6GOXOX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/badge.tsx","../src/components/button.tsx","../src/components/card.tsx","../src/components/dialog.tsx","../src/components/confirmation-dialog.tsx","../src/components/dropdown-menu.tsx","../src/components/input.tsx","../src/components/resizable.tsx","../src/components/scroll-area.tsx","../src/components/select.tsx","../src/components/separator.tsx","../src/components/toast.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\n\nimport { cn } from \"#lib/utils\";\n\nconst badgeVariants = cva(\n \"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-md border border-transparent px-2 py-0.5 text-[0.72rem] font-medium whitespace-nowrap transition-[background-color,border-color,color,box-shadow] focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/35 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a]:hover:bg-primary/92\",\n secondary:\n \"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/88\",\n destructive:\n \"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/18\",\n outline:\n \"border-border bg-card/90 text-foreground [a]:hover:bg-muted [a]:hover:text-foreground\",\n ghost:\n \"hover:bg-accent/80 hover:text-accent-foreground dark:hover:bg-muted/50\",\n link: \"text-primary underline-offset-4 hover:underline\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n);\n\nfunction Badge({\n className,\n variant = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\n\nimport { cn } from \"#lib/utils\";\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color,box-shadow,transform] outline-none select-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/35 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-soft hover:bg-primary/92\",\n outline:\n \"border-border bg-card text-foreground hover:bg-muted/80 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/88 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-accent/80 hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:hover:bg-muted/50\",\n destructive:\n \"bg-destructive/10 text-destructive hover:bg-destructive/18 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default:\n \"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-sm px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 gap-1 rounded-sm px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: \"h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5\",\n icon: \"size-8\",\n \"icon-xs\":\n \"size-6 rounded-sm in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\": \"size-7 rounded-sm in-data-[slot=button-group]:rounded-md\",\n \"icon-lg\": \"size-9\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n);\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\n\nimport { cn } from \"#lib/utils\";\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\n \"group/card flex flex-col gap-4 overflow-hidden rounded-xl border border-border/70 bg-card py-4 text-sm text-card-foreground shadow-soft has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:border-border/70 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\n \"text-base leading-snug font-medium group-data-[size=sm]/card:text-sm\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-4 group-data-[size=sm]/card:px-3\", className)}\n {...props}\n />\n );\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\n \"flex items-center rounded-b-xl border-t border-border/70 bg-muted/42 p-4 group-data-[size=sm]/card:p-3\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent\n};\n","import * as React from \"react\";\nimport { Dialog as DialogPrimitive } from \"radix-ui\";\n\nimport { Button } from \"#components/button\";\nimport { CloseIcon } from \"#icons/system-icons\";\nimport { cn } from \"#lib/utils\";\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({\n className,\n style,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"fixed inset-0 isolate bg-black/12 duration-150 supports-backdrop-filter:backdrop-blur-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0\",\n className\n )}\n style={{ zIndex: \"var(--z-dialog-overlay)\", ...style }}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n overlayClassName,\n portaled = true,\n showCloseButton = true,\n style,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n overlayClassName?: string;\n portaled?: boolean;\n showCloseButton?: boolean;\n}) {\n const content = (\n <>\n <DialogOverlay className={overlayClassName} />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n portaled ? \"fixed\" : \"absolute\",\n \"top-1/2 left-1/2 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-5 rounded-2xl bg-popover/96 p-5 text-sm text-popover-foreground shadow-[0_24px_64px_rgba(15,23,42,0.14),0_8px_20px_rgba(15,23,42,0.1)] ring-1 ring-foreground/8 duration-150 outline-none supports-backdrop-filter:backdrop-blur-xl sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n style={{ zIndex: \"var(--z-dialog)\", ...style }}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close data-slot=\"dialog-close\" asChild>\n <Button\n variant=\"ghost\"\n className=\"absolute top-2 right-2\"\n size=\"icon-sm\"\n >\n <CloseIcon />\n <span className=\"sr-only\">Close</span>\n </Button>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </>\n );\n\n if (!portaled) {\n return content;\n }\n\n return <DialogPortal>{content}</DialogPortal>;\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showCloseButton?: boolean;\n}) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close asChild>\n <Button variant=\"outline\">Close</Button>\n </DialogPrimitive.Close>\n )}\n </div>\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-base leading-none font-medium\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\n \"text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger\n};\n","import * as React from \"react\";\n\nimport { Button } from \"#components/button\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle\n} from \"#components/dialog\";\nimport { cn } from \"#lib/utils\";\n\ntype ConfirmationDialogTone = \"default\" | \"destructive\";\n\nfunction confirmToneClassName(tone: ConfirmationDialogTone) {\n if (tone === \"destructive\") {\n return \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/92 focus-visible:border-destructive/40 focus-visible:ring-destructive/25\";\n }\n\n return undefined;\n}\n\nfunction ConfirmationDialog({\n cancelLabel,\n children,\n className,\n confirmBusy = false,\n confirmDisabled = false,\n confirmLabel,\n description,\n disableCloseWhileBusy = true,\n footer,\n hideConfirmButton = false,\n onCancel,\n onConfirm,\n onOpenChange,\n open,\n overlayClassName,\n portaled = true,\n tone = \"default\",\n title\n}: {\n cancelLabel: React.ReactNode;\n children?: React.ReactNode;\n className?: string;\n confirmBusy?: boolean;\n confirmDisabled?: boolean;\n confirmLabel: React.ReactNode;\n description?: React.ReactNode;\n disableCloseWhileBusy?: boolean;\n footer?: React.ReactNode;\n hideConfirmButton?: boolean;\n onCancel?: () => void;\n onConfirm?: () => void;\n onOpenChange: (open: boolean) => void;\n open: boolean;\n overlayClassName?: string;\n portaled?: boolean;\n tone?: ConfirmationDialogTone;\n title: React.ReactNode;\n}) {\n const isCloseDisabled = disableCloseWhileBusy && confirmBusy;\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n className={cn(\n \"max-w-[24.5rem] gap-4 rounded-[1.15rem] border-0 bg-popover/96 px-6 py-5 text-left shadow-[0_18px_48px_rgba(15,23,42,0.14),0_6px_18px_rgba(15,23,42,0.08)] backdrop-blur-xl sm:max-w-[24.5rem]\",\n className\n )}\n overlayClassName={cn(\n \"bg-black/12 supports-backdrop-filter:backdrop-blur-[10px]\",\n overlayClassName\n )}\n portaled={portaled}\n showCloseButton={false}\n onEscapeKeyDown={(event) => {\n if (isCloseDisabled) {\n event.preventDefault();\n }\n }}\n onInteractOutside={(event) => {\n if (isCloseDisabled) {\n event.preventDefault();\n }\n }}\n >\n <DialogHeader className=\"gap-2\">\n <DialogTitle className=\"text-base leading-6 font-semibold tracking-[-0.01em] text-foreground\">\n {title}\n </DialogTitle>\n {description ? (\n <DialogDescription className=\"text-[0.94rem] leading-6 text-muted-foreground\">\n {description}\n </DialogDescription>\n ) : null}\n </DialogHeader>\n {children ? (\n <div className=\"text-[0.82rem] leading-5 text-muted-foreground\">\n {children}\n </div>\n ) : null}\n {footer ?? (\n <div className=\"flex justify-end gap-2 pt-1\">\n <Button\n disabled={confirmBusy}\n size=\"lg\"\n type=\"button\"\n variant=\"outline\"\n className=\"min-w-[5.5rem]\"\n onClick={() => {\n onCancel?.();\n onOpenChange(false);\n }}\n >\n {cancelLabel}\n </Button>\n {hideConfirmButton ? null : (\n <Button\n disabled={confirmBusy || confirmDisabled}\n size=\"lg\"\n type=\"button\"\n variant={tone === \"default\" ? \"default\" : \"destructive\"}\n className={cn(\n \"min-w-[7.5rem] font-medium shadow-none\",\n confirmToneClassName(tone)\n )}\n onClick={() => {\n onConfirm?.();\n }}\n >\n {confirmLabel}\n </Button>\n )}\n </div>\n )}\n </DialogContent>\n </Dialog>\n );\n}\n\nexport { ConfirmationDialog };\nexport type { ConfirmationDialogTone };\n","import * as React from \"react\";\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\";\n\nimport { CheckIcon, ChevronRightIcon } from \"#icons/system-icons\";\nimport { cn } from \"#lib/utils\";\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n );\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n align = \"start\",\n sideOffset = 4,\n style,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n align={align}\n className={cn(\n \"z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 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 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n sideOffset={sideOffset}\n style={{ zIndex: \"var(--z-popover)\", ...style }}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-inset={inset}\n data-slot=\"dropdown-menu-item\"\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n checked={checked}\n data-inset={inset}\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-inset={inset}\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-inset={inset}\n data-slot=\"dropdown-menu-label\"\n className={cn(\n \"px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-inset={inset}\n data-slot=\"dropdown-menu-sub-trigger\"\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n style,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n style={{ zIndex: \"var(--z-popover)\", ...style }}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger\n};\n","import * as React from \"react\";\n\nimport { cn } from \"#lib/utils\";\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","import * as ResizablePrimitive from \"react-resizable-panels\";\n\nimport { cn } from \"#lib/utils\";\n\nfunction ResizablePanelGroup({\n className,\n orientation = \"horizontal\",\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.Group>) {\n return (\n <ResizablePrimitive.Group\n data-orientation={orientation}\n data-slot=\"resizable-panel-group\"\n className={cn(\n \"flex h-full w-full data-[orientation=vertical]:flex-col\",\n className\n )}\n {...props}\n orientation={orientation}\n />\n );\n}\n\nfunction ResizablePanel(\n props: React.ComponentProps<typeof ResizablePrimitive.Panel>\n) {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />;\n}\n\nfunction ResizableHandle({\n className,\n withHandle,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.Separator> & {\n withHandle?: boolean;\n}) {\n return (\n <ResizablePrimitive.Separator\n data-slot=\"resizable-handle\"\n className={cn(\n \"group relative flex items-center justify-center bg-transparent outline-none after:absolute after:bg-border/70 after:transition-colors hover:after:bg-border focus-visible:after:bg-ring aria-[orientation=horizontal]:h-2 aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:cursor-row-resize aria-[orientation=horizontal]:after:inset-x-0 aria-[orientation=horizontal]:after:top-1/2 aria-[orientation=horizontal]:after:h-px aria-[orientation=horizontal]:after:-translate-y-1/2 aria-[orientation=vertical]:h-full aria-[orientation=vertical]:w-2 aria-[orientation=vertical]:cursor-col-resize aria-[orientation=vertical]:after:inset-y-0 aria-[orientation=vertical]:after:left-1/2 aria-[orientation=vertical]:after:w-px aria-[orientation=vertical]:after:-translate-x-1/2\",\n className\n )}\n {...props}\n >\n {withHandle ? (\n <div className=\"z-10 flex items-center justify-center rounded-full bg-border/85 transition-colors group-hover:bg-border group-aria-[orientation=horizontal]:h-[3px] group-aria-[orientation=horizontal]:w-10 group-aria-[orientation=vertical]:h-10 group-aria-[orientation=vertical]:w-[3px]\" />\n ) : null}\n </ResizablePrimitive.Separator>\n );\n}\n\nexport { ResizableHandle, ResizablePanel, ResizablePanelGroup };\n","import * as React from \"react\";\nimport { ScrollArea as ScrollAreaPrimitive } from \"radix-ui\";\n\nimport { cn } from \"#lib/utils\";\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n data-orientation={orientation}\n orientation={orientation}\n className={cn(\n \"flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"relative flex-1 rounded-full bg-border\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n","import * as React from \"react\";\nimport { Select as SelectPrimitive } from \"radix-ui\";\n\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"#icons/system-icons\";\nimport { cn } from \"#lib/utils\";\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={cn(\"scroll-my-1 p-1\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"pointer-events-none size-4 text-muted-foreground\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"item-aligned\",\n align = \"center\",\n style,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n data-align-trigger={position === \"item-aligned\"}\n className={cn(\n \"relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n align={align}\n style={{ zIndex: \"var(--z-popover)\", ...style }}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-position={position}\n className={cn(\n \"data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)\",\n position === \"popper\" && \"\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"px-1.5 py-1 text-xs text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"pointer-events-none -mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue\n};\n","import * as React from \"react\";\nimport { Separator as SeparatorPrimitive } from \"radix-ui\";\n\nimport { cn } from \"#lib/utils\";\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n","import * as React from \"react\";\nimport { Toast as ToastPrimitive } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { CloseIcon } from \"#icons/system-icons\";\nimport { cn } from \"#lib/utils\";\n\nconst ToastProvider = ToastPrimitive.Provider;\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative grid w-full min-w-0 gap-1 overflow-hidden rounded-lg border bg-popover px-4 py-3 pr-10 text-sm text-popover-foreground shadow-panel transition-all data-closed:fade-out-80 data-closed:slide-out-to-right-full data-open:slide-in-from-top-full data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none sm:data-open:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border-border/70\",\n destructive: \"border-destructive/30 bg-destructive/10 text-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n);\n\nfunction ToastRoot({\n className,\n variant,\n ...props\n}: React.ComponentProps<typeof ToastPrimitive.Root> &\n VariantProps<typeof toastVariants>) {\n return (\n <ToastPrimitive.Root\n data-slot=\"toast\"\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction ToastTitle({\n className,\n ...props\n}: React.ComponentProps<typeof ToastPrimitive.Title>) {\n return (\n <ToastPrimitive.Title\n data-slot=\"toast-title\"\n className={cn(\"text-sm font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction ToastDescription({\n className,\n ...props\n}: React.ComponentProps<typeof ToastPrimitive.Description>) {\n return (\n <ToastPrimitive.Description\n data-slot=\"toast-description\"\n className={cn(\"text-xs leading-5 text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction ToastClose({\n className,\n ...props\n}: React.ComponentProps<typeof ToastPrimitive.Close>) {\n return (\n <ToastPrimitive.Close\n data-slot=\"toast-close\"\n className={cn(\n \"absolute right-2 top-2 inline-flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35\",\n className\n )}\n {...props}\n >\n <CloseIcon className=\"size-4\" />\n </ToastPrimitive.Close>\n );\n}\n\nfunction ToastViewport({\n className,\n style,\n ...props\n}: React.ComponentProps<typeof ToastPrimitive.Viewport>) {\n return (\n <ToastPrimitive.Viewport\n data-slot=\"toast-viewport\"\n className={cn(\n \"fixed right-0 top-0 flex max-h-screen w-full flex-col-reverse gap-2 p-4 sm:bottom-0 sm:top-auto sm:max-w-sm\",\n className\n )}\n style={{ zIndex: \"var(--z-toast)\", ...style }}\n {...props}\n />\n );\n}\n\nexport {\n ToastProvider,\n ToastRoot,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastViewport,\n toastVariants\n};\n"],"mappings":";;;;;;;;;;;;AACA,SAAS,WAA8B;AACvC,SAAS,YAAY;AAqCjB;AAjCJ,IAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,OACE;AAAA,QACF,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAEA,SAAS,MAAM;AAAA,EACb;AAAA,EACA,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AACL,GAC8D;AAC5D,QAAM,OAAO,UAAU,KAAK,OAAO;AAEnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,gBAAc;AAAA,MACd,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,MAClD,GAAG;AAAA;AAAA,EACN;AAEJ;;;AC7CA,SAAS,OAAAA,YAA8B;AACvC,SAAS,QAAAC,aAAY;AAsDjB,gBAAAC,YAAA;AAlDJ,IAAM,iBAAiBC;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,SACE;AAAA,QACF,WACE;AAAA,QACF,OACE;AAAA,QACF,aACE;AAAA,QACF,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,SACE;AAAA,QACF,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WACE;AAAA,QACF,WAAW;AAAA,QACX,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,SAAS,OAAO;AAAA,EACd;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP,UAAU;AAAA,EACV,GAAG;AACL,GAGK;AACH,QAAM,OAAO,UAAUC,MAAK,OAAO;AAEnC,SACE,gBAAAF;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,gBAAc;AAAA,MACd,aAAW;AAAA,MACX,WAAW,GAAG,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC;AAAA,MACzD,GAAG;AAAA;AAAA,EACN;AAEJ;;;ACtDI,gBAAAG,YAAA;AANJ,SAAS,KAAK;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,EACP,GAAG;AACL,GAA8D;AAC5D,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,aAAW;AAAA,MACX,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAgC;AACxE,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,UAAU,EAAE,WAAW,GAAG,MAAM,GAAgC;AACvE,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,gBAAgB,EAAE,WAAW,GAAG,MAAM,GAAgC;AAC7E,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iCAAiC,SAAS;AAAA,MACvD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAgC;AACxE,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,MAAM,GAAgC;AACzE,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,uCAAuC,SAAS;AAAA,MAC7D,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAgC;AACxE,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;;;AC3FA,SAAS,UAAU,uBAAuB;AASjC,SAqDL,UArDK,OAAAC,MAoEG,YApEH;AAHT,SAAS,OAAO;AAAA,EACd,GAAG;AACL,GAAsD;AACpD,SAAO,gBAAAA,KAAC,gBAAgB,MAAhB,EAAqB,aAAU,UAAU,GAAG,OAAO;AAC7D;AAEA,SAAS,cAAc;AAAA,EACrB,GAAG;AACL,GAAyD;AACvD,SAAO,gBAAAA,KAAC,gBAAgB,SAAhB,EAAwB,aAAU,kBAAkB,GAAG,OAAO;AACxE;AAEA,SAAS,aAAa;AAAA,EACpB,GAAG;AACL,GAAwD;AACtD,SAAO,gBAAAA,KAAC,gBAAgB,QAAhB,EAAuB,aAAU,iBAAiB,GAAG,OAAO;AACtE;AAEA,SAAS,YAAY;AAAA,EACnB,GAAG;AACL,GAAuD;AACrD,SAAO,gBAAAA,KAAC,gBAAgB,OAAhB,EAAsB,aAAU,gBAAgB,GAAG,OAAO;AACpE;AAEA,SAAS,cAAc;AAAA,EACrB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyD;AACvD,SACE,gBAAAA;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,OAAO,EAAE,QAAQ,2BAA2B,GAAG,MAAM;AAAA,MACpD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,cAAc;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB;AAAA,EACA,GAAG;AACL,GAIG;AACD,QAAM,UACJ,iCACE;AAAA,oBAAAA,KAAC,iBAAc,WAAW,kBAAkB;AAAA,IAC5C;AAAA,MAAC,gBAAgB;AAAA,MAAhB;AAAA,QACC,aAAU;AAAA,QACV,WAAW;AAAA,UACT,WAAW,UAAU;AAAA,UACrB;AAAA,UACA;AAAA,QACF;AAAA,QACA,OAAO,EAAE,QAAQ,mBAAmB,GAAG,MAAM;AAAA,QAC5C,GAAG;AAAA,QAEH;AAAA;AAAA,UACA,mBACC,gBAAAA,KAAC,gBAAgB,OAAhB,EAAsB,aAAU,gBAAe,SAAO,MACrD;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,WAAU;AAAA,cACV,MAAK;AAAA,cAEL;AAAA,gCAAAA,KAAC,aAAU;AAAA,gBACX,gBAAAA,KAAC,UAAK,WAAU,WAAU,mBAAK;AAAA;AAAA;AAAA,UACjC,GACF;AAAA;AAAA;AAAA,IAEJ;AAAA,KACF;AAGF,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,EACT;AAEA,SAAO,gBAAAA,KAAC,gBAAc,mBAAQ;AAChC;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,MAAM,GAAgC;AAC1E,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,uBAAuB,SAAS;AAAA,MAC7C,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,aAAa;AAAA,EACpB;AAAA,EACA,kBAAkB;AAAA,EAClB;AAAA,EACA,GAAG;AACL,GAEG;AACD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,QACA,mBACC,gBAAAA,KAAC,gBAAgB,OAAhB,EAAsB,SAAO,MAC5B,0BAAAA,KAAC,UAAO,SAAQ,WAAU,mBAAK,GACjC;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,SAAS,YAAY;AAAA,EACnB;AAAA,EACA,GAAG;AACL,GAAuD;AACrD,SACE,gBAAAA;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,sCAAsC,SAAS;AAAA,MAC5D,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,kBAAkB;AAAA,EACzB;AAAA,EACA,GAAG;AACL,GAA6D;AAC3D,SACE,gBAAAA;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;;;AC5EQ,SACE,OAAAC,MADF,QAAAC,aAAA;AAzER,SAAS,qBAAqB,MAA8B;AAC1D,MAAI,SAAS,eAAe;AAC1B,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,EACxB;AAAA,EACA,oBAAoB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,OAAO;AAAA,EACP;AACF,GAmBG;AACD,QAAM,kBAAkB,yBAAyB;AAEjD,SACE,gBAAAD,KAAC,UAAO,MAAY,cAClB,0BAAAC;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,kBAAkB;AAAA,QAChB;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,MACA,iBAAiB;AAAA,MACjB,iBAAiB,CAAC,UAAU;AAC1B,YAAI,iBAAiB;AACnB,gBAAM,eAAe;AAAA,QACvB;AAAA,MACF;AAAA,MACA,mBAAmB,CAAC,UAAU;AAC5B,YAAI,iBAAiB;AACnB,gBAAM,eAAe;AAAA,QACvB;AAAA,MACF;AAAA,MAEA;AAAA,wBAAAA,MAAC,gBAAa,WAAU,SACtB;AAAA,0BAAAD,KAAC,eAAY,WAAU,wEACpB,iBACH;AAAA,UACC,cACC,gBAAAA,KAAC,qBAAkB,WAAU,kDAC1B,uBACH,IACE;AAAA,WACN;AAAA,QACC,WACC,gBAAAA,KAAC,SAAI,WAAU,kDACZ,UACH,IACE;AAAA,QACH,UACC,gBAAAC,MAAC,SAAI,WAAU,+BACb;AAAA,0BAAAD;AAAA,YAAC;AAAA;AAAA,cACC,UAAU;AAAA,cACV,MAAK;AAAA,cACL,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,WAAU;AAAA,cACV,SAAS,MAAM;AACb,2BAAW;AACX,6BAAa,KAAK;AAAA,cACpB;AAAA,cAEC;AAAA;AAAA,UACH;AAAA,UACC,oBAAoB,OACnB,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAU,eAAe;AAAA,cACzB,MAAK;AAAA,cACL,MAAK;AAAA,cACL,SAAS,SAAS,YAAY,YAAY;AAAA,cAC1C,WAAW;AAAA,gBACT;AAAA,gBACA,qBAAqB,IAAI;AAAA,cAC3B;AAAA,cACA,SAAS,MAAM;AACb,4BAAY;AAAA,cACd;AAAA,cAEC;AAAA;AAAA,UACH;AAAA,WAEJ;AAAA;AAAA;AAAA,EAEJ,GACF;AAEJ;;;AC1IA,SAAS,gBAAgB,6BAA6B;AAQ7C,gBAAAE,MAuFL,QAAAC,aAvFK;AAHT,SAAS,aAAa;AAAA,EACpB,GAAG;AACL,GAA4D;AAC1D,SAAO,gBAAAD,KAAC,sBAAsB,MAAtB,EAA2B,aAAU,iBAAiB,GAAG,OAAO;AAC1E;AAEA,SAAS,mBAAmB;AAAA,EAC1B,GAAG;AACL,GAA8D;AAC5D,SACE,gBAAAA,KAAC,sBAAsB,QAAtB,EAA6B,aAAU,wBAAwB,GAAG,OAAO;AAE9E;AAEA,SAAS,oBAAoB;AAAA,EAC3B,GAAG;AACL,GAA+D;AAC7D,SACE,gBAAAA;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,oBAAoB;AAAA,EAC3B;AAAA,EACA,QAAQ;AAAA,EACR,aAAa;AAAA,EACb;AAAA,EACA,GAAG;AACL,GAA+D;AAC7D,SACE,gBAAAA,KAAC,sBAAsB,QAAtB,EACC,0BAAAA;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,MACA,OAAO,EAAE,QAAQ,oBAAoB,GAAG,MAAM;AAAA,MAC7C,GAAG;AAAA;AAAA,EACN,GACF;AAEJ;AAEA,SAAS,kBAAkB;AAAA,EACzB,GAAG;AACL,GAA6D;AAC3D,SACE,gBAAAA,KAAC,sBAAsB,OAAtB,EAA4B,aAAU,uBAAuB,GAAG,OAAO;AAE5E;AAEA,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,GAAG;AACL,GAGG;AACD,SACE,gBAAAA;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,cAAY;AAAA,MACZ,aAAU;AAAA,MACV,gBAAc;AAAA,MACd,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,yBAAyB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEG;AACD,SACE,gBAAAC;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC;AAAA,MACA,cAAY;AAAA,MACZ,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,wBAAAD;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,aAAU;AAAA,YAEV,0BAAAA,KAAC,sBAAsB,eAAtB,EACC,0BAAAA,KAAC,aAAU,GACb;AAAA;AAAA,QACF;AAAA,QACC;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,SAAS,uBAAuB;AAAA,EAC9B,GAAG;AACL,GAAkE;AAChE,SACE,gBAAAA;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEG;AACD,SACE,gBAAAC;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,cAAY;AAAA,MACZ,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,wBAAAD;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,aAAU;AAAA,YAEV,0BAAAA,KAAC,sBAAsB,eAAtB,EACC,0BAAAA,KAAC,aAAU,GACb;AAAA;AAAA,QACF;AAAA,QACC;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,SAAS,kBAAkB;AAAA,EACzB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEG;AACD,SACE,gBAAAA;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,cAAY;AAAA,MACZ,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA,GAAG;AACL,GAAiE;AAC/D,SACE,gBAAAA;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,6BAA6B,SAAS;AAAA,MACnD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,qBAAqB;AAAA,EAC5B;AAAA,EACA,GAAG;AACL,GAAiC;AAC/B,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,gBAAgB;AAAA,EACvB,GAAG;AACL,GAA2D;AACzD,SAAO,gBAAAA,KAAC,sBAAsB,KAAtB,EAA0B,aAAU,qBAAqB,GAAG,OAAO;AAC7E;AAEA,SAAS,uBAAuB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEG;AACD,SACE,gBAAAC;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,cAAY;AAAA,MACZ,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,QACD,gBAAAD,KAAC,oBAAiB,WAAU,WAAU;AAAA;AAAA;AAAA,EACxC;AAEJ;AAEA,SAAS,uBAAuB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkE;AAChE,SACE,gBAAAA;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,OAAO,EAAE,QAAQ,oBAAoB,GAAG,MAAM;AAAA,MAC7C,GAAG;AAAA;AAAA,EACN;AAEJ;;;AC1PI,gBAAAE,YAAA;AAFJ,SAAS,MAAM,EAAE,WAAW,MAAM,GAAG,MAAM,GAAkC;AAC3E,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;;;AChBA,YAAY,wBAAwB;AAUhC,gBAAAC,YAAA;AANJ,SAAS,oBAAoB;AAAA,EAC3B;AAAA,EACA,cAAc;AAAA,EACd,GAAG;AACL,GAA0D;AACxD,SACE,gBAAAA;AAAA,IAAoB;AAAA,IAAnB;AAAA,MACC,oBAAkB;AAAA,MAClB,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MACJ;AAAA;AAAA,EACF;AAEJ;AAEA,SAAS,eACP,OACA;AACA,SAAO,gBAAAA,KAAoB,0BAAnB,EAAyB,aAAU,mBAAmB,GAAG,OAAO;AAC1E;AAEA,SAAS,gBAAgB;AAAA,EACvB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEG;AACD,SACE,gBAAAA;AAAA,IAAoB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH,uBACC,gBAAAA,KAAC,SAAI,WAAU,iRAAgR,IAC7R;AAAA;AAAA,EACN;AAEJ;;;ACjDA,SAAS,cAAc,2BAA2B;AAU9C,SAKE,OAAAC,MALF,QAAAC,aAAA;AANJ,SAAS,WAAW;AAAA,EAClB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA0D;AACxD,SACE,gBAAAA;AAAA,IAAC,oBAAoB;AAAA,IAApB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,YAAY,SAAS;AAAA,MAClC,GAAG;AAAA,MAEJ;AAAA,wBAAAD;AAAA,UAAC,oBAAoB;AAAA,UAApB;AAAA,YACC,aAAU;AAAA,YACV,WAAU;AAAA,YAET;AAAA;AAAA,QACH;AAAA,QACA,gBAAAA,KAAC,aAAU;AAAA,QACX,gBAAAA,KAAC,oBAAoB,QAApB,EAA2B;AAAA;AAAA;AAAA,EAC9B;AAEJ;AAEA,SAAS,UAAU;AAAA,EACjB;AAAA,EACA,cAAc;AAAA,EACd,GAAG;AACL,GAAyE;AACvE,SACE,gBAAAA;AAAA,IAAC,oBAAoB;AAAA,IAApB;AAAA,MACC,aAAU;AAAA,MACV,oBAAkB;AAAA,MAClB;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,0BAAAA;AAAA,QAAC,oBAAoB;AAAA,QAApB;AAAA,UACC,aAAU;AAAA,UACV,WAAU;AAAA;AAAA,MACZ;AAAA;AAAA,EACF;AAEJ;;;ACjDA,SAAS,UAAU,uBAAuB;AAQjC,gBAAAE,OA+BL,QAAAC,aA/BK;AAHT,SAAS,OAAO;AAAA,EACd,GAAG;AACL,GAAsD;AACpD,SAAO,gBAAAD,MAAC,gBAAgB,MAAhB,EAAqB,aAAU,UAAU,GAAG,OAAO;AAC7D;AAEA,SAAS,YAAY;AAAA,EACnB;AAAA,EACA,GAAG;AACL,GAAuD;AACrD,SACE,gBAAAA;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,mBAAmB,SAAS;AAAA,MACzC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY;AAAA,EACnB,GAAG;AACL,GAAuD;AACrD,SAAO,gBAAAA,MAAC,gBAAgB,OAAhB,EAAsB,aAAU,gBAAgB,GAAG,OAAO;AACpE;AAEA,SAAS,cAAc;AAAA,EACrB;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACL,GAEG;AACD,SACE,gBAAAC;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,aAAW;AAAA,MACX,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,QACD,gBAAAD,MAAC,gBAAgB,MAAhB,EAAqB,SAAO,MAC3B,0BAAAA,MAAC,mBAAgB,WAAU,oDAAmD,GAChF;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,SAAS,cAAc;AAAA,EACrB;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,QAAQ;AAAA,EACR;AAAA,EACA,GAAG;AACL,GAAyD;AACvD,SACE,gBAAAA,MAAC,gBAAgB,QAAhB,EACC,0BAAAC;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,sBAAoB,aAAa;AAAA,MACjC,WAAW;AAAA,QACT;AAAA,QACA,aAAa,YACX;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,EAAE,QAAQ,oBAAoB,GAAG,MAAM;AAAA,MAC7C,GAAG;AAAA,MAEJ;AAAA,wBAAAD,MAAC,wBAAqB;AAAA,QACtB,gBAAAA;AAAA,UAAC,gBAAgB;AAAA,UAAhB;AAAA,YACC,iBAAe;AAAA,YACf,WAAW;AAAA,cACT;AAAA,cACA,aAAa,YAAY;AAAA,YAC3B;AAAA,YAEC;AAAA;AAAA,QACH;AAAA,QACA,gBAAAA,MAAC,0BAAuB;AAAA;AAAA;AAAA,EAC1B,GACF;AAEJ;AAEA,SAAS,YAAY;AAAA,EACnB;AAAA,EACA,GAAG;AACL,GAAuD;AACrD,SACE,gBAAAA;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,6CAA6C,SAAS;AAAA,MACnE,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW;AAAA,EAClB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAsD;AACpD,SACE,gBAAAC;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,wBAAAD,MAAC,UAAK,WAAU,gFACd,0BAAAA,MAAC,gBAAgB,eAAhB,EACC,0BAAAA,MAAC,aAAU,WAAU,uBAAsB,GAC7C,GACF;AAAA,QACA,gBAAAA,MAAC,gBAAgB,UAAhB,EAA0B,UAAS;AAAA;AAAA;AAAA,EACtC;AAEJ;AAEA,SAAS,gBAAgB;AAAA,EACvB;AAAA,EACA,GAAG;AACL,GAA2D;AACzD,SACE,gBAAAA;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iDAAiD,SAAS;AAAA,MACvE,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,qBAAqB;AAAA,EAC5B;AAAA,EACA,GAAG;AACL,GAAgE;AAC9D,SACE,gBAAAA;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,0BAAAA,MAAC,iBAAc;AAAA;AAAA,EACjB;AAEJ;AAEA,SAAS,uBAAuB;AAAA,EAC9B;AAAA,EACA,GAAG;AACL,GAAkE;AAChE,SACE,gBAAAA;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,0BAAAA,MAAC,mBAAgB;AAAA;AAAA,EACnB;AAEJ;;;ACpLA,SAAS,aAAa,0BAA0B;AAW5C,gBAAAE,aAAA;AAPJ,SAASC,WAAU;AAAA,EACjB;AAAA,EACA,cAAc;AAAA,EACd,aAAa;AAAA,EACb,GAAG;AACL,GAAyD;AACvD,SACE,gBAAAD;AAAA,IAAC,mBAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;;;ACtBA,SAAS,SAAS,sBAAsB;AACxC,SAAS,OAAAE,YAA8B;AA6BnC,gBAAAC,aAAA;AAxBJ,IAAM,gBAAgB,eAAe;AAErC,IAAM,gBAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAEA,SAAS,UAAU;AAAA,EACjB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GACsC;AACpC,SACE,gBAAAD;AAAA,IAAC,eAAe;AAAA,IAAf;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,MAClD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW;AAAA,EAClB;AAAA,EACA,GAAG;AACL,GAAsD;AACpD,SACE,gBAAAA;AAAA,IAAC,eAAe;AAAA,IAAf;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,yBAAyB,SAAS;AAAA,MAC/C,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA,GAAG;AACL,GAA4D;AAC1D,SACE,gBAAAA;AAAA,IAAC,eAAe;AAAA,IAAf;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,2CAA2C,SAAS;AAAA,MACjE,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW;AAAA,EAClB;AAAA,EACA,GAAG;AACL,GAAsD;AACpD,SACE,gBAAAA;AAAA,IAAC,eAAe;AAAA,IAAf;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,0BAAAA,MAAC,aAAU,WAAU,UAAS;AAAA;AAAA,EAChC;AAEJ;AAEA,SAAS,cAAc;AAAA,EACrB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyD;AACvD,SACE,gBAAAA;AAAA,IAAC,eAAe;AAAA,IAAf;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,OAAO,EAAE,QAAQ,kBAAkB,GAAG,MAAM;AAAA,MAC3C,GAAG;AAAA;AAAA,EACN;AAEJ;","names":["cva","Slot","jsx","cva","Slot","jsx","jsx","jsx","jsxs","jsx","jsxs","jsx","jsx","jsx","jsxs","jsx","jsxs","jsx","Separator","cva","jsx","cva"]}
@@ -6,6 +6,7 @@ import {
6
6
  ArrowUpRightIcon,
7
7
  CheckIcon as LucideCheckIcon,
8
8
  ChevronDownIcon as LucideChevronDownIcon,
9
+ ChevronRightIcon as LucideChevronRightIcon,
9
10
  ChevronUpIcon as LucideChevronUpIcon,
10
11
  CopyIcon as LucideCopyIcon,
11
12
  EyeIcon as LucideEyeIcon,
@@ -69,6 +70,7 @@ var ArrowLeftIcon = createLucideIcon(LucideArrowLeftIcon);
69
70
  var ArrowRightIcon = createLucideIcon(LucideArrowRightIcon);
70
71
  var CheckIcon = createLucideIcon(LucideCheckIcon);
71
72
  var ChevronDownIcon = createLucideIcon(LucideChevronDownIcon);
73
+ var ChevronRightIcon = createLucideIcon(LucideChevronRightIcon);
72
74
  var ChevronUpIcon = createLucideIcon(LucideChevronUpIcon);
73
75
  var CopyIcon = createLucideIcon(LucideCopyIcon);
74
76
  var DirectoryIcon = createLucideIcon(LucideFolderIcon);
@@ -110,6 +112,7 @@ export {
110
112
  ArrowRightIcon,
111
113
  CheckIcon,
112
114
  ChevronDownIcon,
115
+ ChevronRightIcon,
113
116
  ChevronUpIcon,
114
117
  CopyIcon,
115
118
  DirectoryIcon,
@@ -127,4 +130,4 @@ export {
127
130
  UploadIcon,
128
131
  VideoFileIcon
129
132
  };
130
- //# sourceMappingURL=chunk-V2GNGNUX.js.map
133
+ //# sourceMappingURL=chunk-OBW6ALOJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/icons/system-icons.tsx"],"sourcesContent":["import type { LucideIcon } from \"lucide-react\";\nimport {\n AlertCircleIcon,\n ArrowLeftIcon as LucideArrowLeftIcon,\n ArrowRightIcon as LucideArrowRightIcon,\n ArrowUpRightIcon,\n CheckIcon as LucideCheckIcon,\n ChevronDownIcon as LucideChevronDownIcon,\n ChevronRightIcon as LucideChevronRightIcon,\n ChevronUpIcon as LucideChevronUpIcon,\n CopyIcon as LucideCopyIcon,\n EyeIcon as LucideEyeIcon,\n FileCode2Icon,\n FileIcon as LucideFileIcon,\n FilePlus2Icon,\n FileSearchIcon as LucideFileSearchIcon,\n FileSpreadsheetIcon as LucideFileSpreadsheetIcon,\n FileTextIcon as LucideFileTextIcon,\n FolderIcon as LucideFolderIcon,\n HomeIcon,\n ImageIcon as LucideImageIcon,\n XIcon,\n Maximize2Icon,\n Minimize2Icon,\n MinusIcon,\n FolderOpenIcon,\n FolderPlusIcon,\n HardDriveIcon,\n LoaderCircleIcon,\n MonitorCogIcon,\n PanelBottom,\n PanelLeft,\n PanelRight,\n PanelTop,\n PanelsTopLeft,\n RefreshCwIcon,\n SearchIcon as LucideSearchIcon,\n SettingsIcon as LucideSettingsIcon,\n SparklesIcon,\n Trash2Icon as LucideTrashIcon,\n UploadIcon as LucideUploadIcon,\n VideoIcon\n} from \"lucide-react\";\nimport type { IconProps } from \"./types\";\n\nfunction createLucideIcon(Icon: LucideIcon) {\n return function WrappedIcon({ size = 18, title, ...props }: IconProps) {\n return (\n <Icon aria-hidden={title ? undefined : true} size={size} {...props}>\n {title ? <title>{title}</title> : null}\n </Icon>\n );\n };\n}\n\nexport const LaunchIcon = createLucideIcon(ArrowUpRightIcon);\nexport const FolderIcon = createLucideIcon(FolderOpenIcon);\nexport const DashboardIcon = createLucideIcon(HomeIcon);\nexport const NewWorkspaceIcon = createLucideIcon(FolderPlusIcon);\nexport const HealthIcon = createLucideIcon(HardDriveIcon);\nexport const AlertIcon = createLucideIcon(AlertCircleIcon);\nexport const LoadingIcon = createLucideIcon(LoaderCircleIcon);\nexport const PlatformIcon = createLucideIcon(MonitorCogIcon);\nexport const SparkIcon = createLucideIcon(SparklesIcon);\nexport const SettingsIcon = createLucideIcon(LucideSettingsIcon);\nexport const CloseIcon = createLucideIcon(XIcon);\nexport const MinimizeIcon = createLucideIcon(MinusIcon);\nexport const MaximizeIcon = createLucideIcon(Maximize2Icon);\nexport const RestoreIcon = createLucideIcon(Minimize2Icon);\nexport const LayoutMenuIcon = createLucideIcon(PanelsTopLeft);\nexport const QuickLayoutLeftIcon = createLucideIcon(PanelLeft);\nexport const QuickLayoutRightIcon = createLucideIcon(PanelRight);\nexport const QuickLayoutTopIcon = createLucideIcon(PanelTop);\nexport const QuickLayoutBottomIcon = createLucideIcon(PanelBottom);\nexport const ArrowLeftIcon = createLucideIcon(LucideArrowLeftIcon);\nexport const ArrowRightIcon = createLucideIcon(LucideArrowRightIcon);\nexport const CheckIcon = createLucideIcon(LucideCheckIcon);\nexport const ChevronDownIcon = createLucideIcon(LucideChevronDownIcon);\nexport const ChevronRightIcon = createLucideIcon(LucideChevronRightIcon);\nexport const ChevronUpIcon = createLucideIcon(LucideChevronUpIcon);\nexport const CopyIcon = createLucideIcon(LucideCopyIcon);\nexport const DirectoryIcon = createLucideIcon(LucideFolderIcon);\nexport const EyeIcon = createLucideIcon(LucideEyeIcon);\nexport const FileIcon = createLucideIcon(LucideFileIcon);\nexport const FileCodeIcon = createLucideIcon(FileCode2Icon);\nexport const FileCreateIcon = createLucideIcon(FilePlus2Icon);\nexport const FileSearchIcon = createLucideIcon(LucideFileSearchIcon);\nexport const FileSpreadsheetIcon = createLucideIcon(LucideFileSpreadsheetIcon);\nexport const FileTextIcon = createLucideIcon(LucideFileTextIcon);\nexport const ImageFileIcon = createLucideIcon(LucideImageIcon);\nexport const RefreshIcon = createLucideIcon(RefreshCwIcon);\nexport const SearchIcon = createLucideIcon(LucideSearchIcon);\nexport const DeleteIcon = createLucideIcon(LucideTrashIcon);\nexport const UploadIcon = createLucideIcon(LucideUploadIcon);\nexport const VideoFileIcon = createLucideIcon(VideoIcon);\n"],"mappings":";AACA;AAAA,EACE;AAAA,EACA,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB;AAAA,EACA,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,EACvB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB;AAAA,EACA,cAAc;AAAA,EACd,cAAc;AAAA,EACd;AAAA,OACK;AAOU;AAJjB,SAAS,iBAAiB,MAAkB;AAC1C,SAAO,SAAS,YAAY,EAAE,OAAO,IAAI,OAAO,GAAG,MAAM,GAAc;AACrE,WACE,oBAAC,QAAK,eAAa,QAAQ,SAAY,MAAM,MAAa,GAAG,OAC1D,kBAAQ,oBAAC,WAAO,iBAAM,IAAW,MACpC;AAAA,EAEJ;AACF;AAEO,IAAM,aAAa,iBAAiB,gBAAgB;AACpD,IAAM,aAAa,iBAAiB,cAAc;AAClD,IAAM,gBAAgB,iBAAiB,QAAQ;AAC/C,IAAM,mBAAmB,iBAAiB,cAAc;AACxD,IAAM,aAAa,iBAAiB,aAAa;AACjD,IAAM,YAAY,iBAAiB,eAAe;AAClD,IAAM,cAAc,iBAAiB,gBAAgB;AACrD,IAAM,eAAe,iBAAiB,cAAc;AACpD,IAAM,YAAY,iBAAiB,YAAY;AAC/C,IAAM,eAAe,iBAAiB,kBAAkB;AACxD,IAAM,YAAY,iBAAiB,KAAK;AACxC,IAAM,eAAe,iBAAiB,SAAS;AAC/C,IAAM,eAAe,iBAAiB,aAAa;AACnD,IAAM,cAAc,iBAAiB,aAAa;AAClD,IAAM,iBAAiB,iBAAiB,aAAa;AACrD,IAAM,sBAAsB,iBAAiB,SAAS;AACtD,IAAM,uBAAuB,iBAAiB,UAAU;AACxD,IAAM,qBAAqB,iBAAiB,QAAQ;AACpD,IAAM,wBAAwB,iBAAiB,WAAW;AAC1D,IAAM,gBAAgB,iBAAiB,mBAAmB;AAC1D,IAAM,iBAAiB,iBAAiB,oBAAoB;AAC5D,IAAM,YAAY,iBAAiB,eAAe;AAClD,IAAM,kBAAkB,iBAAiB,qBAAqB;AAC9D,IAAM,mBAAmB,iBAAiB,sBAAsB;AAChE,IAAM,gBAAgB,iBAAiB,mBAAmB;AAC1D,IAAM,WAAW,iBAAiB,cAAc;AAChD,IAAM,gBAAgB,iBAAiB,gBAAgB;AACvD,IAAM,UAAU,iBAAiB,aAAa;AAC9C,IAAM,WAAW,iBAAiB,cAAc;AAChD,IAAM,eAAe,iBAAiB,aAAa;AACnD,IAAM,iBAAiB,iBAAiB,aAAa;AACrD,IAAM,iBAAiB,iBAAiB,oBAAoB;AAC5D,IAAM,sBAAsB,iBAAiB,yBAAyB;AACtE,IAAM,eAAe,iBAAiB,kBAAkB;AACxD,IAAM,gBAAgB,iBAAiB,eAAe;AACtD,IAAM,cAAc,iBAAiB,aAAa;AAClD,IAAM,aAAa,iBAAiB,gBAAgB;AACpD,IAAM,aAAa,iBAAiB,eAAe;AACnD,IAAM,aAAa,iBAAiB,gBAAgB;AACpD,IAAM,gBAAgB,iBAAiB,SAAS;","names":[]}
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as class_variance_authority_types from 'class-variance-authority/types';
3
3
  import * as React$1 from 'react';
4
4
  import { VariantProps } from 'class-variance-authority';
5
- import { Dialog as Dialog$1, ScrollArea as ScrollArea$1, Select as Select$1, Separator as Separator$1, Toast } from 'radix-ui';
5
+ import { Dialog as Dialog$1, DropdownMenu as DropdownMenu$1, ScrollArea as ScrollArea$1, Select as Select$1, Separator as Separator$1, Toast } from 'radix-ui';
6
6
  import * as ResizablePrimitive from 'react-resizable-panels';
7
7
 
8
8
  declare const badgeVariants: (props?: ({
@@ -69,6 +69,33 @@ declare function DialogFooter({ className, showCloseButton, children, ...props }
69
69
  declare function DialogTitle({ className, ...props }: React$1.ComponentProps<typeof Dialog$1.Title>): react_jsx_runtime.JSX.Element;
70
70
  declare function DialogDescription({ className, ...props }: React$1.ComponentProps<typeof Dialog$1.Description>): react_jsx_runtime.JSX.Element;
71
71
 
72
+ declare function DropdownMenu({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Root>): react_jsx_runtime.JSX.Element;
73
+ declare function DropdownMenuPortal({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Portal>): react_jsx_runtime.JSX.Element;
74
+ declare function DropdownMenuTrigger({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Trigger>): react_jsx_runtime.JSX.Element;
75
+ declare function DropdownMenuContent({ className, align, sideOffset, style, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Content>): react_jsx_runtime.JSX.Element;
76
+ declare function DropdownMenuGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Group>): react_jsx_runtime.JSX.Element;
77
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Item> & {
78
+ inset?: boolean;
79
+ variant?: "default" | "destructive";
80
+ }): react_jsx_runtime.JSX.Element;
81
+ declare function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.CheckboxItem> & {
82
+ inset?: boolean;
83
+ }): react_jsx_runtime.JSX.Element;
84
+ declare function DropdownMenuRadioGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.RadioGroup>): react_jsx_runtime.JSX.Element;
85
+ declare function DropdownMenuRadioItem({ className, children, inset, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.RadioItem> & {
86
+ inset?: boolean;
87
+ }): react_jsx_runtime.JSX.Element;
88
+ declare function DropdownMenuLabel({ className, inset, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Label> & {
89
+ inset?: boolean;
90
+ }): react_jsx_runtime.JSX.Element;
91
+ declare function DropdownMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Separator>): react_jsx_runtime.JSX.Element;
92
+ declare function DropdownMenuShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
93
+ declare function DropdownMenuSub({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Sub>): react_jsx_runtime.JSX.Element;
94
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.SubTrigger> & {
95
+ inset?: boolean;
96
+ }): react_jsx_runtime.JSX.Element;
97
+ declare function DropdownMenuSubContent({ className, style, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.SubContent>): react_jsx_runtime.JSX.Element;
98
+
72
99
  declare function Input({ className, type, ...props }: React$1.ComponentProps<"input">): react_jsx_runtime.JSX.Element;
73
100
 
74
101
  declare function ResizablePanelGroup({ className, orientation, ...props }: React.ComponentProps<typeof ResizablePrimitive.Group>): react_jsx_runtime.JSX.Element;
@@ -105,4 +132,4 @@ declare function ToastDescription({ className, ...props }: React$1.ComponentProp
105
132
  declare function ToastClose({ className, ...props }: React$1.ComponentProps<typeof Toast.Close>): react_jsx_runtime.JSX.Element;
106
133
  declare function ToastViewport({ className, style, ...props }: React$1.ComponentProps<typeof Toast.Viewport>): react_jsx_runtime.JSX.Element;
107
134
 
108
- export { Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ConfirmationDialog, type ConfirmationDialogTone, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Input, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, ToastClose, ToastDescription, ToastProvider, ToastRoot, ToastTitle, ToastViewport, badgeVariants, buttonVariants, toastVariants };
135
+ export { Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ConfirmationDialog, type ConfirmationDialogTone, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Input, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, ToastClose, ToastDescription, ToastProvider, ToastRoot, ToastTitle, ToastViewport, badgeVariants, buttonVariants, toastVariants };
@@ -19,6 +19,21 @@ import {
19
19
  DialogPortal,
20
20
  DialogTitle,
21
21
  DialogTrigger,
22
+ DropdownMenu,
23
+ DropdownMenuCheckboxItem,
24
+ DropdownMenuContent,
25
+ DropdownMenuGroup,
26
+ DropdownMenuItem,
27
+ DropdownMenuLabel,
28
+ DropdownMenuPortal,
29
+ DropdownMenuRadioGroup,
30
+ DropdownMenuRadioItem,
31
+ DropdownMenuSeparator,
32
+ DropdownMenuShortcut,
33
+ DropdownMenuSub,
34
+ DropdownMenuSubContent,
35
+ DropdownMenuSubTrigger,
36
+ DropdownMenuTrigger,
22
37
  Input,
23
38
  ResizableHandle,
24
39
  ResizablePanel,
@@ -45,8 +60,8 @@ import {
45
60
  badgeVariants,
46
61
  buttonVariants,
47
62
  toastVariants
48
- } from "../chunk-UM7LPYRB.js";
49
- import "../chunk-V2GNGNUX.js";
63
+ } from "../chunk-4E6GOXOX.js";
64
+ import "../chunk-OBW6ALOJ.js";
50
65
  import "../chunk-DGPY4WP3.js";
51
66
  export {
52
67
  Badge,
@@ -69,6 +84,21 @@ export {
69
84
  DialogPortal,
70
85
  DialogTitle,
71
86
  DialogTrigger,
87
+ DropdownMenu,
88
+ DropdownMenuCheckboxItem,
89
+ DropdownMenuContent,
90
+ DropdownMenuGroup,
91
+ DropdownMenuItem,
92
+ DropdownMenuLabel,
93
+ DropdownMenuPortal,
94
+ DropdownMenuRadioGroup,
95
+ DropdownMenuRadioItem,
96
+ DropdownMenuSeparator,
97
+ DropdownMenuShortcut,
98
+ DropdownMenuSub,
99
+ DropdownMenuSubContent,
100
+ DropdownMenuSubTrigger,
101
+ DropdownMenuTrigger,
72
102
  Input,
73
103
  ResizableHandle,
74
104
  ResizablePanel,
@@ -31,6 +31,7 @@ declare const ArrowLeftIcon: ({ size, title, ...props }: IconProps) => react_jsx
31
31
  declare const ArrowRightIcon: ({ size, title, ...props }: IconProps) => react_jsx_runtime.JSX.Element;
32
32
  declare const CheckIcon: ({ size, title, ...props }: IconProps) => react_jsx_runtime.JSX.Element;
33
33
  declare const ChevronDownIcon: ({ size, title, ...props }: IconProps) => react_jsx_runtime.JSX.Element;
34
+ declare const ChevronRightIcon: ({ size, title, ...props }: IconProps) => react_jsx_runtime.JSX.Element;
34
35
  declare const ChevronUpIcon: ({ size, title, ...props }: IconProps) => react_jsx_runtime.JSX.Element;
35
36
  declare const CopyIcon: ({ size, title, ...props }: IconProps) => react_jsx_runtime.JSX.Element;
36
37
  declare const DirectoryIcon: ({ size, title, ...props }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -48,4 +49,4 @@ declare const DeleteIcon: ({ size, title, ...props }: IconProps) => react_jsx_ru
48
49
  declare const UploadIcon: ({ size, title, ...props }: IconProps) => react_jsx_runtime.JSX.Element;
49
50
  declare const VideoFileIcon: ({ size, title, ...props }: IconProps) => react_jsx_runtime.JSX.Element;
50
51
 
51
- export { AlertIcon, ArrowLeftIcon, ArrowRightIcon, CheckIcon, ChevronDownIcon, ChevronUpIcon, CloseIcon, CopyIcon, DashboardIcon, DeleteIcon, DirectoryIcon, EyeIcon, FileCodeIcon, FileCreateIcon, FileIcon, FileSearchIcon, FileSpreadsheetIcon, FileTextIcon, FolderIcon, HealthIcon, type IconProps, ImageFileIcon, LaunchIcon, LayoutMenuIcon, LoadingIcon, MaximizeIcon, MinimizeIcon, NewWorkspaceIcon, NextopMark, PlatformIcon, QuickLayoutBottomIcon, QuickLayoutLeftIcon, QuickLayoutRightIcon, QuickLayoutTopIcon, RefreshIcon, RestoreIcon, SearchIcon, SettingsIcon, SparkIcon, UploadIcon, VideoFileIcon };
52
+ export { AlertIcon, ArrowLeftIcon, ArrowRightIcon, CheckIcon, ChevronDownIcon, ChevronRightIcon, ChevronUpIcon, CloseIcon, CopyIcon, DashboardIcon, DeleteIcon, DirectoryIcon, EyeIcon, FileCodeIcon, FileCreateIcon, FileIcon, FileSearchIcon, FileSpreadsheetIcon, FileTextIcon, FolderIcon, HealthIcon, type IconProps, ImageFileIcon, LaunchIcon, LayoutMenuIcon, LoadingIcon, MaximizeIcon, MinimizeIcon, NewWorkspaceIcon, NextopMark, PlatformIcon, QuickLayoutBottomIcon, QuickLayoutLeftIcon, QuickLayoutRightIcon, QuickLayoutTopIcon, RefreshIcon, RestoreIcon, SearchIcon, SettingsIcon, SparkIcon, UploadIcon, VideoFileIcon };
@@ -7,6 +7,7 @@ import {
7
7
  ArrowRightIcon,
8
8
  CheckIcon,
9
9
  ChevronDownIcon,
10
+ ChevronRightIcon,
10
11
  ChevronUpIcon,
11
12
  CloseIcon,
12
13
  CopyIcon,
@@ -41,13 +42,14 @@ import {
41
42
  SparkIcon,
42
43
  UploadIcon,
43
44
  VideoFileIcon
44
- } from "../chunk-V2GNGNUX.js";
45
+ } from "../chunk-OBW6ALOJ.js";
45
46
  export {
46
47
  AlertIcon,
47
48
  ArrowLeftIcon,
48
49
  ArrowRightIcon,
49
50
  CheckIcon,
50
51
  ChevronDownIcon,
52
+ ChevronRightIcon,
51
53
  ChevronUpIcon,
52
54
  CloseIcon,
53
55
  CopyIcon,
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ConfirmationDialog, ConfirmationDialogTone, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Input, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, ToastClose, ToastDescription, ToastProvider, ToastRoot, ToastTitle, ToastViewport, badgeVariants, buttonVariants, toastVariants } from './components/index.js';
2
- export { AlertIcon, ArrowLeftIcon, ArrowRightIcon, CheckIcon, ChevronDownIcon, ChevronUpIcon, CloseIcon, CopyIcon, DashboardIcon, DeleteIcon, DirectoryIcon, EyeIcon, FileCodeIcon, FileCreateIcon, FileIcon, FileSearchIcon, FileSpreadsheetIcon, FileTextIcon, FolderIcon, HealthIcon, IconProps, ImageFileIcon, LaunchIcon, LayoutMenuIcon, LoadingIcon, MaximizeIcon, MinimizeIcon, NewWorkspaceIcon, NextopMark, PlatformIcon, QuickLayoutBottomIcon, QuickLayoutLeftIcon, QuickLayoutRightIcon, QuickLayoutTopIcon, RefreshIcon, RestoreIcon, SearchIcon, SettingsIcon, SparkIcon, UploadIcon, VideoFileIcon } from './icons/index.js';
1
+ export { Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ConfirmationDialog, ConfirmationDialogTone, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Input, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, ToastClose, ToastDescription, ToastProvider, ToastRoot, ToastTitle, ToastViewport, badgeVariants, buttonVariants, toastVariants } from './components/index.js';
2
+ export { AlertIcon, ArrowLeftIcon, ArrowRightIcon, CheckIcon, ChevronDownIcon, ChevronRightIcon, ChevronUpIcon, CloseIcon, CopyIcon, DashboardIcon, DeleteIcon, DirectoryIcon, EyeIcon, FileCodeIcon, FileCreateIcon, FileIcon, FileSearchIcon, FileSpreadsheetIcon, FileTextIcon, FolderIcon, HealthIcon, IconProps, ImageFileIcon, LaunchIcon, LayoutMenuIcon, LoadingIcon, MaximizeIcon, MinimizeIcon, NewWorkspaceIcon, NextopMark, PlatformIcon, QuickLayoutBottomIcon, QuickLayoutLeftIcon, QuickLayoutRightIcon, QuickLayoutTopIcon, RefreshIcon, RestoreIcon, SearchIcon, SettingsIcon, SparkIcon, UploadIcon, VideoFileIcon } from './icons/index.js';
3
3
  export { cn } from './utils.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'class-variance-authority/types';
package/dist/index.js CHANGED
@@ -19,6 +19,21 @@ import {
19
19
  DialogPortal,
20
20
  DialogTitle,
21
21
  DialogTrigger,
22
+ DropdownMenu,
23
+ DropdownMenuCheckboxItem,
24
+ DropdownMenuContent,
25
+ DropdownMenuGroup,
26
+ DropdownMenuItem,
27
+ DropdownMenuLabel,
28
+ DropdownMenuPortal,
29
+ DropdownMenuRadioGroup,
30
+ DropdownMenuRadioItem,
31
+ DropdownMenuSeparator,
32
+ DropdownMenuShortcut,
33
+ DropdownMenuSub,
34
+ DropdownMenuSubContent,
35
+ DropdownMenuSubTrigger,
36
+ DropdownMenuTrigger,
22
37
  Input,
23
38
  ResizableHandle,
24
39
  ResizablePanel,
@@ -45,7 +60,7 @@ import {
45
60
  badgeVariants,
46
61
  buttonVariants,
47
62
  toastVariants
48
- } from "./chunk-UM7LPYRB.js";
63
+ } from "./chunk-4E6GOXOX.js";
49
64
  import {
50
65
  NextopMark
51
66
  } from "./chunk-IK2XRJQG.js";
@@ -55,6 +70,7 @@ import {
55
70
  ArrowRightIcon,
56
71
  CheckIcon,
57
72
  ChevronDownIcon,
73
+ ChevronRightIcon,
58
74
  ChevronUpIcon,
59
75
  CloseIcon,
60
76
  CopyIcon,
@@ -89,7 +105,7 @@ import {
89
105
  SparkIcon,
90
106
  UploadIcon,
91
107
  VideoFileIcon
92
- } from "./chunk-V2GNGNUX.js";
108
+ } from "./chunk-OBW6ALOJ.js";
93
109
  import {
94
110
  cn
95
111
  } from "./chunk-DGPY4WP3.js";
@@ -108,6 +124,7 @@ export {
108
124
  CardTitle,
109
125
  CheckIcon,
110
126
  ChevronDownIcon,
127
+ ChevronRightIcon,
111
128
  ChevronUpIcon,
112
129
  CloseIcon,
113
130
  ConfirmationDialog,
@@ -125,6 +142,21 @@ export {
125
142
  DialogTitle,
126
143
  DialogTrigger,
127
144
  DirectoryIcon,
145
+ DropdownMenu,
146
+ DropdownMenuCheckboxItem,
147
+ DropdownMenuContent,
148
+ DropdownMenuGroup,
149
+ DropdownMenuItem,
150
+ DropdownMenuLabel,
151
+ DropdownMenuPortal,
152
+ DropdownMenuRadioGroup,
153
+ DropdownMenuRadioItem,
154
+ DropdownMenuSeparator,
155
+ DropdownMenuShortcut,
156
+ DropdownMenuSub,
157
+ DropdownMenuSubContent,
158
+ DropdownMenuSubTrigger,
159
+ DropdownMenuTrigger,
128
160
  EyeIcon,
129
161
  FileCodeIcon,
130
162
  FileCreateIcon,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextop-os/ui-system",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/badge.tsx","../src/components/button.tsx","../src/components/card.tsx","../src/components/dialog.tsx","../src/components/confirmation-dialog.tsx","../src/components/input.tsx","../src/components/resizable.tsx","../src/components/scroll-area.tsx","../src/components/select.tsx","../src/components/separator.tsx","../src/components/toast.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\n\nimport { cn } from \"#lib/utils\";\n\nconst badgeVariants = cva(\n \"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-md border border-transparent px-2 py-0.5 text-[0.72rem] font-medium whitespace-nowrap transition-[background-color,border-color,color,box-shadow] focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/35 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a]:hover:bg-primary/92\",\n secondary:\n \"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/88\",\n destructive:\n \"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/18\",\n outline:\n \"border-border bg-card/90 text-foreground [a]:hover:bg-muted [a]:hover:text-foreground\",\n ghost:\n \"hover:bg-accent/80 hover:text-accent-foreground dark:hover:bg-muted/50\",\n link: \"text-primary underline-offset-4 hover:underline\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n);\n\nfunction Badge({\n className,\n variant = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\n\nimport { cn } from \"#lib/utils\";\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color,box-shadow,transform] outline-none select-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/35 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-soft hover:bg-primary/92\",\n outline:\n \"border-border bg-card text-foreground hover:bg-muted/80 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/88 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-accent/80 hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:hover:bg-muted/50\",\n destructive:\n \"bg-destructive/10 text-destructive hover:bg-destructive/18 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default:\n \"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-sm px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 gap-1 rounded-sm px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: \"h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5\",\n icon: \"size-8\",\n \"icon-xs\":\n \"size-6 rounded-sm in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\": \"size-7 rounded-sm in-data-[slot=button-group]:rounded-md\",\n \"icon-lg\": \"size-9\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n);\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\n\nimport { cn } from \"#lib/utils\";\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\n \"group/card flex flex-col gap-4 overflow-hidden rounded-xl border border-border/70 bg-card py-4 text-sm text-card-foreground shadow-soft has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:border-border/70 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\n \"text-base leading-snug font-medium group-data-[size=sm]/card:text-sm\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-4 group-data-[size=sm]/card:px-3\", className)}\n {...props}\n />\n );\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\n \"flex items-center rounded-b-xl border-t border-border/70 bg-muted/42 p-4 group-data-[size=sm]/card:p-3\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent\n};\n","import * as React from \"react\";\nimport { Dialog as DialogPrimitive } from \"radix-ui\";\n\nimport { Button } from \"#components/button\";\nimport { CloseIcon } from \"#icons/system-icons\";\nimport { cn } from \"#lib/utils\";\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({\n className,\n style,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"fixed inset-0 isolate bg-black/12 duration-150 supports-backdrop-filter:backdrop-blur-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0\",\n className\n )}\n style={{ zIndex: \"var(--z-dialog-overlay)\", ...style }}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n overlayClassName,\n portaled = true,\n showCloseButton = true,\n style,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n overlayClassName?: string;\n portaled?: boolean;\n showCloseButton?: boolean;\n}) {\n const content = (\n <>\n <DialogOverlay className={overlayClassName} />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n portaled ? \"fixed\" : \"absolute\",\n \"top-1/2 left-1/2 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-5 rounded-2xl bg-popover/96 p-5 text-sm text-popover-foreground shadow-[0_24px_64px_rgba(15,23,42,0.14),0_8px_20px_rgba(15,23,42,0.1)] ring-1 ring-foreground/8 duration-150 outline-none supports-backdrop-filter:backdrop-blur-xl sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n style={{ zIndex: \"var(--z-dialog)\", ...style }}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close data-slot=\"dialog-close\" asChild>\n <Button\n variant=\"ghost\"\n className=\"absolute top-2 right-2\"\n size=\"icon-sm\"\n >\n <CloseIcon />\n <span className=\"sr-only\">Close</span>\n </Button>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </>\n );\n\n if (!portaled) {\n return content;\n }\n\n return <DialogPortal>{content}</DialogPortal>;\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showCloseButton?: boolean;\n}) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close asChild>\n <Button variant=\"outline\">Close</Button>\n </DialogPrimitive.Close>\n )}\n </div>\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-base leading-none font-medium\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\n \"text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger\n};\n","import * as React from \"react\";\n\nimport { Button } from \"#components/button\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle\n} from \"#components/dialog\";\nimport { cn } from \"#lib/utils\";\n\ntype ConfirmationDialogTone = \"default\" | \"destructive\";\n\nfunction confirmToneClassName(tone: ConfirmationDialogTone) {\n if (tone === \"destructive\") {\n return \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/92 focus-visible:border-destructive/40 focus-visible:ring-destructive/25\";\n }\n\n return undefined;\n}\n\nfunction ConfirmationDialog({\n cancelLabel,\n children,\n className,\n confirmBusy = false,\n confirmDisabled = false,\n confirmLabel,\n description,\n disableCloseWhileBusy = true,\n footer,\n hideConfirmButton = false,\n onCancel,\n onConfirm,\n onOpenChange,\n open,\n overlayClassName,\n portaled = true,\n tone = \"default\",\n title\n}: {\n cancelLabel: React.ReactNode;\n children?: React.ReactNode;\n className?: string;\n confirmBusy?: boolean;\n confirmDisabled?: boolean;\n confirmLabel: React.ReactNode;\n description?: React.ReactNode;\n disableCloseWhileBusy?: boolean;\n footer?: React.ReactNode;\n hideConfirmButton?: boolean;\n onCancel?: () => void;\n onConfirm?: () => void;\n onOpenChange: (open: boolean) => void;\n open: boolean;\n overlayClassName?: string;\n portaled?: boolean;\n tone?: ConfirmationDialogTone;\n title: React.ReactNode;\n}) {\n const isCloseDisabled = disableCloseWhileBusy && confirmBusy;\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n className={cn(\n \"max-w-[24.5rem] gap-4 rounded-[1.15rem] border-0 bg-popover/96 px-6 py-5 text-left shadow-[0_18px_48px_rgba(15,23,42,0.14),0_6px_18px_rgba(15,23,42,0.08)] backdrop-blur-xl sm:max-w-[24.5rem]\",\n className\n )}\n overlayClassName={cn(\n \"bg-black/12 supports-backdrop-filter:backdrop-blur-[10px]\",\n overlayClassName\n )}\n portaled={portaled}\n showCloseButton={false}\n onEscapeKeyDown={(event) => {\n if (isCloseDisabled) {\n event.preventDefault();\n }\n }}\n onInteractOutside={(event) => {\n if (isCloseDisabled) {\n event.preventDefault();\n }\n }}\n >\n <DialogHeader className=\"gap-2\">\n <DialogTitle className=\"text-base leading-6 font-semibold tracking-[-0.01em] text-foreground\">\n {title}\n </DialogTitle>\n {description ? (\n <DialogDescription className=\"text-[0.94rem] leading-6 text-muted-foreground\">\n {description}\n </DialogDescription>\n ) : null}\n </DialogHeader>\n {children ? (\n <div className=\"text-[0.82rem] leading-5 text-muted-foreground\">\n {children}\n </div>\n ) : null}\n {footer ?? (\n <div className=\"flex justify-end gap-2 pt-1\">\n <Button\n disabled={confirmBusy}\n size=\"lg\"\n type=\"button\"\n variant=\"outline\"\n className=\"min-w-[5.5rem]\"\n onClick={() => {\n onCancel?.();\n onOpenChange(false);\n }}\n >\n {cancelLabel}\n </Button>\n {hideConfirmButton ? null : (\n <Button\n disabled={confirmBusy || confirmDisabled}\n size=\"lg\"\n type=\"button\"\n variant={tone === \"default\" ? \"default\" : \"destructive\"}\n className={cn(\n \"min-w-[7.5rem] font-medium shadow-none\",\n confirmToneClassName(tone)\n )}\n onClick={() => {\n onConfirm?.();\n }}\n >\n {confirmLabel}\n </Button>\n )}\n </div>\n )}\n </DialogContent>\n </Dialog>\n );\n}\n\nexport { ConfirmationDialog };\nexport type { ConfirmationDialogTone };\n","import * as React from \"react\";\n\nimport { cn } from \"#lib/utils\";\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","import * as ResizablePrimitive from \"react-resizable-panels\";\n\nimport { cn } from \"#lib/utils\";\n\nfunction ResizablePanelGroup({\n className,\n orientation = \"horizontal\",\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.Group>) {\n return (\n <ResizablePrimitive.Group\n data-orientation={orientation}\n data-slot=\"resizable-panel-group\"\n className={cn(\n \"flex h-full w-full data-[orientation=vertical]:flex-col\",\n className\n )}\n {...props}\n orientation={orientation}\n />\n );\n}\n\nfunction ResizablePanel(\n props: React.ComponentProps<typeof ResizablePrimitive.Panel>\n) {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />;\n}\n\nfunction ResizableHandle({\n className,\n withHandle,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.Separator> & {\n withHandle?: boolean;\n}) {\n return (\n <ResizablePrimitive.Separator\n data-slot=\"resizable-handle\"\n className={cn(\n \"group relative flex items-center justify-center bg-transparent outline-none after:absolute after:bg-border/70 after:transition-colors hover:after:bg-border focus-visible:after:bg-ring aria-[orientation=horizontal]:h-2 aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:cursor-row-resize aria-[orientation=horizontal]:after:inset-x-0 aria-[orientation=horizontal]:after:top-1/2 aria-[orientation=horizontal]:after:h-px aria-[orientation=horizontal]:after:-translate-y-1/2 aria-[orientation=vertical]:h-full aria-[orientation=vertical]:w-2 aria-[orientation=vertical]:cursor-col-resize aria-[orientation=vertical]:after:inset-y-0 aria-[orientation=vertical]:after:left-1/2 aria-[orientation=vertical]:after:w-px aria-[orientation=vertical]:after:-translate-x-1/2\",\n className\n )}\n {...props}\n >\n {withHandle ? (\n <div className=\"z-10 flex items-center justify-center rounded-full bg-border/85 transition-colors group-hover:bg-border group-aria-[orientation=horizontal]:h-[3px] group-aria-[orientation=horizontal]:w-10 group-aria-[orientation=vertical]:h-10 group-aria-[orientation=vertical]:w-[3px]\" />\n ) : null}\n </ResizablePrimitive.Separator>\n );\n}\n\nexport { ResizableHandle, ResizablePanel, ResizablePanelGroup };\n","import * as React from \"react\";\nimport { ScrollArea as ScrollAreaPrimitive } from \"radix-ui\";\n\nimport { cn } from \"#lib/utils\";\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n data-orientation={orientation}\n orientation={orientation}\n className={cn(\n \"flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"relative flex-1 rounded-full bg-border\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n","import * as React from \"react\";\nimport { Select as SelectPrimitive } from \"radix-ui\";\n\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"#icons/system-icons\";\nimport { cn } from \"#lib/utils\";\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={cn(\"scroll-my-1 p-1\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"pointer-events-none size-4 text-muted-foreground\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"item-aligned\",\n align = \"center\",\n style,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n data-align-trigger={position === \"item-aligned\"}\n className={cn(\n \"relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n align={align}\n style={{ zIndex: \"var(--z-popover)\", ...style }}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-position={position}\n className={cn(\n \"data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)\",\n position === \"popper\" && \"\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"px-1.5 py-1 text-xs text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"pointer-events-none -mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue\n};\n","import * as React from \"react\";\nimport { Separator as SeparatorPrimitive } from \"radix-ui\";\n\nimport { cn } from \"#lib/utils\";\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n","import * as React from \"react\";\nimport { Toast as ToastPrimitive } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { CloseIcon } from \"#icons/system-icons\";\nimport { cn } from \"#lib/utils\";\n\nconst ToastProvider = ToastPrimitive.Provider;\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative grid w-full min-w-0 gap-1 overflow-hidden rounded-lg border bg-popover px-4 py-3 pr-10 text-sm text-popover-foreground shadow-panel transition-all data-closed:fade-out-80 data-closed:slide-out-to-right-full data-open:slide-in-from-top-full data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none sm:data-open:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border-border/70\",\n destructive: \"border-destructive/30 bg-destructive/10 text-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n);\n\nfunction ToastRoot({\n className,\n variant,\n ...props\n}: React.ComponentProps<typeof ToastPrimitive.Root> &\n VariantProps<typeof toastVariants>) {\n return (\n <ToastPrimitive.Root\n data-slot=\"toast\"\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction ToastTitle({\n className,\n ...props\n}: React.ComponentProps<typeof ToastPrimitive.Title>) {\n return (\n <ToastPrimitive.Title\n data-slot=\"toast-title\"\n className={cn(\"text-sm font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction ToastDescription({\n className,\n ...props\n}: React.ComponentProps<typeof ToastPrimitive.Description>) {\n return (\n <ToastPrimitive.Description\n data-slot=\"toast-description\"\n className={cn(\"text-xs leading-5 text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction ToastClose({\n className,\n ...props\n}: React.ComponentProps<typeof ToastPrimitive.Close>) {\n return (\n <ToastPrimitive.Close\n data-slot=\"toast-close\"\n className={cn(\n \"absolute right-2 top-2 inline-flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/35\",\n className\n )}\n {...props}\n >\n <CloseIcon className=\"size-4\" />\n </ToastPrimitive.Close>\n );\n}\n\nfunction ToastViewport({\n className,\n style,\n ...props\n}: React.ComponentProps<typeof ToastPrimitive.Viewport>) {\n return (\n <ToastPrimitive.Viewport\n data-slot=\"toast-viewport\"\n className={cn(\n \"fixed right-0 top-0 flex max-h-screen w-full flex-col-reverse gap-2 p-4 sm:bottom-0 sm:top-auto sm:max-w-sm\",\n className\n )}\n style={{ zIndex: \"var(--z-toast)\", ...style }}\n {...props}\n />\n );\n}\n\nexport {\n ToastProvider,\n ToastRoot,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastViewport,\n toastVariants\n};\n"],"mappings":"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","names":["cva","Slot","jsx","cva","Slot","jsx","jsx","jsx","jsxs","jsx","jsx","jsx","jsxs","jsx","jsxs","jsx","Separator","cva","jsx","cva"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/icons/system-icons.tsx"],"sourcesContent":["import type { LucideIcon } from \"lucide-react\";\nimport {\n AlertCircleIcon,\n ArrowLeftIcon as LucideArrowLeftIcon,\n ArrowRightIcon as LucideArrowRightIcon,\n ArrowUpRightIcon,\n CheckIcon as LucideCheckIcon,\n ChevronDownIcon as LucideChevronDownIcon,\n ChevronUpIcon as LucideChevronUpIcon,\n CopyIcon as LucideCopyIcon,\n EyeIcon as LucideEyeIcon,\n FileCode2Icon,\n FileIcon as LucideFileIcon,\n FilePlus2Icon,\n FileSearchIcon as LucideFileSearchIcon,\n FileSpreadsheetIcon as LucideFileSpreadsheetIcon,\n FileTextIcon as LucideFileTextIcon,\n FolderIcon as LucideFolderIcon,\n HomeIcon,\n ImageIcon as LucideImageIcon,\n XIcon,\n Maximize2Icon,\n Minimize2Icon,\n MinusIcon,\n FolderOpenIcon,\n FolderPlusIcon,\n HardDriveIcon,\n LoaderCircleIcon,\n MonitorCogIcon,\n PanelBottom,\n PanelLeft,\n PanelRight,\n PanelTop,\n PanelsTopLeft,\n RefreshCwIcon,\n SearchIcon as LucideSearchIcon,\n SettingsIcon as LucideSettingsIcon,\n SparklesIcon,\n Trash2Icon as LucideTrashIcon,\n UploadIcon as LucideUploadIcon,\n VideoIcon\n} from \"lucide-react\";\nimport type { IconProps } from \"./types\";\n\nfunction createLucideIcon(Icon: LucideIcon) {\n return function WrappedIcon({ size = 18, title, ...props }: IconProps) {\n return (\n <Icon aria-hidden={title ? undefined : true} size={size} {...props}>\n {title ? <title>{title}</title> : null}\n </Icon>\n );\n };\n}\n\nexport const LaunchIcon = createLucideIcon(ArrowUpRightIcon);\nexport const FolderIcon = createLucideIcon(FolderOpenIcon);\nexport const DashboardIcon = createLucideIcon(HomeIcon);\nexport const NewWorkspaceIcon = createLucideIcon(FolderPlusIcon);\nexport const HealthIcon = createLucideIcon(HardDriveIcon);\nexport const AlertIcon = createLucideIcon(AlertCircleIcon);\nexport const LoadingIcon = createLucideIcon(LoaderCircleIcon);\nexport const PlatformIcon = createLucideIcon(MonitorCogIcon);\nexport const SparkIcon = createLucideIcon(SparklesIcon);\nexport const SettingsIcon = createLucideIcon(LucideSettingsIcon);\nexport const CloseIcon = createLucideIcon(XIcon);\nexport const MinimizeIcon = createLucideIcon(MinusIcon);\nexport const MaximizeIcon = createLucideIcon(Maximize2Icon);\nexport const RestoreIcon = createLucideIcon(Minimize2Icon);\nexport const LayoutMenuIcon = createLucideIcon(PanelsTopLeft);\nexport const QuickLayoutLeftIcon = createLucideIcon(PanelLeft);\nexport const QuickLayoutRightIcon = createLucideIcon(PanelRight);\nexport const QuickLayoutTopIcon = createLucideIcon(PanelTop);\nexport const QuickLayoutBottomIcon = createLucideIcon(PanelBottom);\nexport const ArrowLeftIcon = createLucideIcon(LucideArrowLeftIcon);\nexport const ArrowRightIcon = createLucideIcon(LucideArrowRightIcon);\nexport const CheckIcon = createLucideIcon(LucideCheckIcon);\nexport const ChevronDownIcon = createLucideIcon(LucideChevronDownIcon);\nexport const ChevronUpIcon = createLucideIcon(LucideChevronUpIcon);\nexport const CopyIcon = createLucideIcon(LucideCopyIcon);\nexport const DirectoryIcon = createLucideIcon(LucideFolderIcon);\nexport const EyeIcon = createLucideIcon(LucideEyeIcon);\nexport const FileIcon = createLucideIcon(LucideFileIcon);\nexport const FileCodeIcon = createLucideIcon(FileCode2Icon);\nexport const FileCreateIcon = createLucideIcon(FilePlus2Icon);\nexport const FileSearchIcon = createLucideIcon(LucideFileSearchIcon);\nexport const FileSpreadsheetIcon = createLucideIcon(LucideFileSpreadsheetIcon);\nexport const FileTextIcon = createLucideIcon(LucideFileTextIcon);\nexport const ImageFileIcon = createLucideIcon(LucideImageIcon);\nexport const RefreshIcon = createLucideIcon(RefreshCwIcon);\nexport const SearchIcon = createLucideIcon(LucideSearchIcon);\nexport const DeleteIcon = createLucideIcon(LucideTrashIcon);\nexport const UploadIcon = createLucideIcon(LucideUploadIcon);\nexport const VideoFileIcon = createLucideIcon(VideoIcon);\n"],"mappings":";AACA;AAAA,EACE;AAAA,EACA,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB;AAAA,EACA,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,EACvB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB;AAAA,EACA,cAAc;AAAA,EACd,cAAc;AAAA,EACd;AAAA,OACK;AAOU;AAJjB,SAAS,iBAAiB,MAAkB;AAC1C,SAAO,SAAS,YAAY,EAAE,OAAO,IAAI,OAAO,GAAG,MAAM,GAAc;AACrE,WACE,oBAAC,QAAK,eAAa,QAAQ,SAAY,MAAM,MAAa,GAAG,OAC1D,kBAAQ,oBAAC,WAAO,iBAAM,IAAW,MACpC;AAAA,EAEJ;AACF;AAEO,IAAM,aAAa,iBAAiB,gBAAgB;AACpD,IAAM,aAAa,iBAAiB,cAAc;AAClD,IAAM,gBAAgB,iBAAiB,QAAQ;AAC/C,IAAM,mBAAmB,iBAAiB,cAAc;AACxD,IAAM,aAAa,iBAAiB,aAAa;AACjD,IAAM,YAAY,iBAAiB,eAAe;AAClD,IAAM,cAAc,iBAAiB,gBAAgB;AACrD,IAAM,eAAe,iBAAiB,cAAc;AACpD,IAAM,YAAY,iBAAiB,YAAY;AAC/C,IAAM,eAAe,iBAAiB,kBAAkB;AACxD,IAAM,YAAY,iBAAiB,KAAK;AACxC,IAAM,eAAe,iBAAiB,SAAS;AAC/C,IAAM,eAAe,iBAAiB,aAAa;AACnD,IAAM,cAAc,iBAAiB,aAAa;AAClD,IAAM,iBAAiB,iBAAiB,aAAa;AACrD,IAAM,sBAAsB,iBAAiB,SAAS;AACtD,IAAM,uBAAuB,iBAAiB,UAAU;AACxD,IAAM,qBAAqB,iBAAiB,QAAQ;AACpD,IAAM,wBAAwB,iBAAiB,WAAW;AAC1D,IAAM,gBAAgB,iBAAiB,mBAAmB;AAC1D,IAAM,iBAAiB,iBAAiB,oBAAoB;AAC5D,IAAM,YAAY,iBAAiB,eAAe;AAClD,IAAM,kBAAkB,iBAAiB,qBAAqB;AAC9D,IAAM,gBAAgB,iBAAiB,mBAAmB;AAC1D,IAAM,WAAW,iBAAiB,cAAc;AAChD,IAAM,gBAAgB,iBAAiB,gBAAgB;AACvD,IAAM,UAAU,iBAAiB,aAAa;AAC9C,IAAM,WAAW,iBAAiB,cAAc;AAChD,IAAM,eAAe,iBAAiB,aAAa;AACnD,IAAM,iBAAiB,iBAAiB,aAAa;AACrD,IAAM,iBAAiB,iBAAiB,oBAAoB;AAC5D,IAAM,sBAAsB,iBAAiB,yBAAyB;AACtE,IAAM,eAAe,iBAAiB,kBAAkB;AACxD,IAAM,gBAAgB,iBAAiB,eAAe;AACtD,IAAM,cAAc,iBAAiB,aAAa;AAClD,IAAM,aAAa,iBAAiB,gBAAgB;AACpD,IAAM,aAAa,iBAAiB,eAAe;AACnD,IAAM,aAAa,iBAAiB,gBAAgB;AACpD,IAAM,gBAAgB,iBAAiB,SAAS;","names":[]}