@hex-core/components 1.0.1 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -46,9 +46,7 @@ var buttonVariants = cva(
46
46
  secondary: [
47
47
  "bg-secondary text-secondary-foreground",
48
48
  "shadow-sm",
49
- // Hover: shadow-elevation only — opacity-based bg shift would push apparent
50
- // contrast below 3:1 vs --card during hover, regressing WCAG 1.4.11.
51
- "hover:shadow-md"
49
+ "hover:bg-secondary/80 hover:shadow-md"
52
50
  ].join(" "),
53
51
  ghost: "hover:bg-accent hover:text-accent-foreground",
54
52
  link: "text-primary underline-offset-4 hover:underline"
@@ -290,9 +288,7 @@ var badgeVariants = cva3(
290
288
  variants: {
291
289
  variant: {
292
290
  default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
293
- // Hover stays at full --secondary fill — opacity-based shift would drop the
294
- // composite contrast below 3:1 against --card on hover (WCAG 1.4.11).
295
- secondary: "border-transparent bg-secondary text-secondary-foreground",
291
+ secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
296
292
  destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
297
293
  outline: "text-foreground"
298
294
  }
@@ -732,11 +728,177 @@ ScrollBar.displayName = "ScrollBar";
732
728
  import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
733
729
  var AspectRatio = AspectRatioPrimitive.Root;
734
730
 
731
+ // src/primitives/container/container.tsx
732
+ import { Slot as Slot2 } from "@radix-ui/react-slot";
733
+ import { cva as cva5 } from "class-variance-authority";
734
+ import { jsx as jsx18 } from "react/jsx-runtime";
735
+ var containerVariants = cva5("mx-auto w-full", {
736
+ variants: {
737
+ size: {
738
+ sm: "max-w-[var(--container-sm,33rem)]",
739
+ md: "max-w-[var(--container-md,40rem)]",
740
+ lg: "max-w-[var(--container-lg,50rem)]",
741
+ xl: "max-w-[var(--container-xl,66rem)]",
742
+ full: "max-w-full"
743
+ },
744
+ padding: {
745
+ none: "",
746
+ sm: "px-[var(--space-3,0.75rem)]",
747
+ md: "px-[var(--space-4,1rem)]",
748
+ lg: "px-[var(--space-8,2rem)]"
749
+ }
750
+ },
751
+ defaultVariants: {
752
+ size: "lg",
753
+ padding: "md"
754
+ }
755
+ });
756
+ function Container({ className, size, padding, asChild = false, ...props }) {
757
+ const Comp = asChild ? Slot2 : "div";
758
+ return /* @__PURE__ */ jsx18(Comp, { className: cn(containerVariants({ size, padding }), className), ...props });
759
+ }
760
+
761
+ // src/primitives/stack/stack.tsx
762
+ import { cva as cva6 } from "class-variance-authority";
763
+
764
+ // src/primitives/_shared/layout-variants.ts
765
+ var gapVariants = {
766
+ xs: "gap-[var(--gap-xs,0.25rem)]",
767
+ sm: "gap-[var(--gap-sm,0.5rem)]",
768
+ md: "gap-[var(--gap-md,1rem)]",
769
+ lg: "gap-[var(--gap-lg,1.5rem)]",
770
+ xl: "gap-[var(--gap-xl,2rem)]"
771
+ };
772
+ var justifyVariants = {
773
+ start: "justify-start",
774
+ center: "justify-center",
775
+ end: "justify-end",
776
+ between: "justify-between"
777
+ };
778
+ var flexAlignVariants = {
779
+ start: "items-start",
780
+ center: "items-center",
781
+ end: "items-end",
782
+ stretch: "items-stretch"
783
+ };
784
+ var clusterAlignVariants = {
785
+ start: "items-start",
786
+ center: "items-center",
787
+ end: "items-end",
788
+ stretch: "items-stretch",
789
+ baseline: "items-baseline"
790
+ };
791
+
792
+ // src/primitives/stack/stack.tsx
793
+ import { jsx as jsx19 } from "react/jsx-runtime";
794
+ var stackVariants = cva6("flex flex-col", {
795
+ variants: {
796
+ gap: gapVariants,
797
+ align: flexAlignVariants,
798
+ justify: justifyVariants
799
+ },
800
+ defaultVariants: {
801
+ gap: "md",
802
+ align: "stretch",
803
+ justify: "start"
804
+ }
805
+ });
806
+ function Stack({ className, gap, align, justify, ...props }) {
807
+ return /* @__PURE__ */ jsx19("div", { className: cn(stackVariants({ gap, align, justify }), className), ...props });
808
+ }
809
+
810
+ // src/primitives/cluster/cluster.tsx
811
+ import { cva as cva7 } from "class-variance-authority";
812
+ import { jsx as jsx20 } from "react/jsx-runtime";
813
+ var clusterVariants = cva7("flex flex-wrap", {
814
+ variants: {
815
+ gap: gapVariants,
816
+ align: clusterAlignVariants,
817
+ justify: justifyVariants
818
+ },
819
+ defaultVariants: {
820
+ gap: "md",
821
+ align: "center",
822
+ justify: "start"
823
+ }
824
+ });
825
+ function Cluster({ className, gap, align, justify, ...props }) {
826
+ return /* @__PURE__ */ jsx20("div", { className: cn(clusterVariants({ gap, align, justify }), className), ...props });
827
+ }
828
+
829
+ // src/primitives/grid/grid.tsx
830
+ import { cva as cva8 } from "class-variance-authority";
831
+ import { jsx as jsx21 } from "react/jsx-runtime";
832
+ var gridVariants = cva8("grid", {
833
+ variants: {
834
+ cols: {
835
+ 1: "grid-cols-1",
836
+ 2: "grid-cols-2",
837
+ 3: "grid-cols-3",
838
+ 4: "grid-cols-4",
839
+ 6: "grid-cols-6",
840
+ "auto-fit": ""
841
+ },
842
+ gap: gapVariants,
843
+ align: flexAlignVariants
844
+ },
845
+ defaultVariants: {
846
+ cols: 3,
847
+ gap: "md",
848
+ align: "stretch"
849
+ }
850
+ });
851
+ function Grid({ className, cols, gap, align, minColWidth = "16rem", style, ...props }) {
852
+ const inlineStyle = cols === "auto-fit" ? { gridTemplateColumns: `repeat(auto-fit, minmax(${minColWidth}, 1fr))`, ...style } : style;
853
+ return /* @__PURE__ */ jsx21(
854
+ "div",
855
+ {
856
+ className: cn(gridVariants({ cols, gap, align }), className),
857
+ style: inlineStyle,
858
+ ...props
859
+ }
860
+ );
861
+ }
862
+
863
+ // src/primitives/spacer/spacer.tsx
864
+ import { cva as cva9 } from "class-variance-authority";
865
+ import { jsx as jsx22 } from "react/jsx-runtime";
866
+ var spacerVariants = cva9("shrink-0", {
867
+ variants: {
868
+ size: {
869
+ xs: "[--spacer-size:var(--space-1,0.25rem)]",
870
+ sm: "[--spacer-size:var(--space-2,0.5rem)]",
871
+ md: "[--spacer-size:var(--space-4,1rem)]",
872
+ lg: "[--spacer-size:var(--space-8,2rem)]",
873
+ xl: "[--spacer-size:var(--space-16,4rem)]"
874
+ },
875
+ axis: {
876
+ vertical: "h-[var(--spacer-size)] w-0",
877
+ horizontal: "w-[var(--spacer-size)] h-0",
878
+ both: "h-[var(--spacer-size)] w-[var(--spacer-size)]"
879
+ }
880
+ },
881
+ defaultVariants: {
882
+ size: "md",
883
+ axis: "vertical"
884
+ }
885
+ });
886
+ function Spacer({ className, size, axis, ...props }) {
887
+ return /* @__PURE__ */ jsx22(
888
+ "div",
889
+ {
890
+ "aria-hidden": "true",
891
+ className: cn(spacerVariants({ size, axis }), className),
892
+ ...props
893
+ }
894
+ );
895
+ }
896
+
735
897
  // src/components/card/card.tsx
736
898
  import * as React16 from "react";
737
- import { jsx as jsx18 } from "react/jsx-runtime";
899
+ import { jsx as jsx23 } from "react/jsx-runtime";
738
900
  var Card = React16.forwardRef(
739
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
901
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
740
902
  "div",
741
903
  {
742
904
  ref,
@@ -752,7 +914,7 @@ var Card = React16.forwardRef(
752
914
  );
753
915
  Card.displayName = "Card";
754
916
  var CardHeader = React16.forwardRef(
755
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
917
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
756
918
  "div",
757
919
  {
758
920
  ref,
@@ -763,7 +925,7 @@ var CardHeader = React16.forwardRef(
763
925
  );
764
926
  CardHeader.displayName = "CardHeader";
765
927
  var CardTitle = React16.forwardRef(
766
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
928
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
767
929
  "h3",
768
930
  {
769
931
  ref,
@@ -773,14 +935,14 @@ var CardTitle = React16.forwardRef(
773
935
  )
774
936
  );
775
937
  CardTitle.displayName = "CardTitle";
776
- var CardDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
938
+ var CardDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
777
939
  CardDescription.displayName = "CardDescription";
778
940
  var CardContent = React16.forwardRef(
779
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx18("div", { ref, className: cn("p-[var(--space-6,1.5rem)] pt-0", className), ...props })
941
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx23("div", { ref, className: cn("p-[var(--space-6,1.5rem)] pt-0", className), ...props })
780
942
  );
781
943
  CardContent.displayName = "CardContent";
782
944
  var CardFooter = React16.forwardRef(
783
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
945
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
784
946
  "div",
785
947
  {
786
948
  ref,
@@ -794,9 +956,9 @@ CardFooter.displayName = "CardFooter";
794
956
  // src/components/tabs/tabs.tsx
795
957
  import * as React17 from "react";
796
958
  import * as TabsPrimitive from "@radix-ui/react-tabs";
797
- import { jsx as jsx19 } from "react/jsx-runtime";
959
+ import { jsx as jsx24 } from "react/jsx-runtime";
798
960
  var Tabs = TabsPrimitive.Root;
799
- var TabsList = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
961
+ var TabsList = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
800
962
  TabsPrimitive.List,
801
963
  {
802
964
  ref,
@@ -808,7 +970,7 @@ var TabsList = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__
808
970
  }
809
971
  ));
810
972
  TabsList.displayName = "TabsList";
811
- var TabsTrigger = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
973
+ var TabsTrigger = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
812
974
  TabsPrimitive.Trigger,
813
975
  {
814
976
  ref,
@@ -825,7 +987,7 @@ var TabsTrigger = React17.forwardRef(({ className, ...props }, ref) => /* @__PUR
825
987
  }
826
988
  ));
827
989
  TabsTrigger.displayName = "TabsTrigger";
828
- var TabsContent = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
990
+ var TabsContent = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
829
991
  TabsPrimitive.Content,
830
992
  {
831
993
  ref,
@@ -842,11 +1004,11 @@ TabsContent.displayName = "TabsContent";
842
1004
  // src/components/accordion/accordion.tsx
843
1005
  import * as React18 from "react";
844
1006
  import * as AccordionPrimitive from "@radix-ui/react-accordion";
845
- import { jsx as jsx20, jsxs as jsxs6 } from "react/jsx-runtime";
1007
+ import { jsx as jsx25, jsxs as jsxs6 } from "react/jsx-runtime";
846
1008
  var Accordion = AccordionPrimitive.Root;
847
- var AccordionItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(AccordionPrimitive.Item, { ref, className: cn("border-b", className), ...props }));
1009
+ var AccordionItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(AccordionPrimitive.Item, { ref, className: cn("border-b", className), ...props }));
848
1010
  AccordionItem.displayName = "AccordionItem";
849
- var AccordionTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx20(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs6(
1011
+ var AccordionTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx25(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs6(
850
1012
  AccordionPrimitive.Trigger,
851
1013
  {
852
1014
  ref,
@@ -860,7 +1022,7 @@ var AccordionTrigger = React18.forwardRef(({ className, children, ...props }, re
860
1022
  ...props,
861
1023
  children: [
862
1024
  children,
863
- /* @__PURE__ */ jsx20(
1025
+ /* @__PURE__ */ jsx25(
864
1026
  "svg",
865
1027
  {
866
1028
  xmlns: "http://www.w3.org/2000/svg",
@@ -874,20 +1036,20 @@ var AccordionTrigger = React18.forwardRef(({ className, children, ...props }, re
874
1036
  strokeLinejoin: "round",
875
1037
  className: "h-4 w-4 shrink-0 transition-transform duration-[var(--duration-normal,200ms)]",
876
1038
  "aria-hidden": "true",
877
- children: /* @__PURE__ */ jsx20("polyline", { points: "6 9 12 15 18 9" })
1039
+ children: /* @__PURE__ */ jsx25("polyline", { points: "6 9 12 15 18 9" })
878
1040
  }
879
1041
  )
880
1042
  ]
881
1043
  }
882
1044
  ) }));
883
1045
  AccordionTrigger.displayName = "AccordionTrigger";
884
- var AccordionContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx20(
1046
+ var AccordionContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx25(
885
1047
  AccordionPrimitive.Content,
886
1048
  {
887
1049
  ref,
888
1050
  className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
889
1051
  ...props,
890
- children: /* @__PURE__ */ jsx20("div", { className: cn("pb-[var(--space-4,1rem)] pt-0", className), children })
1052
+ children: /* @__PURE__ */ jsx25("div", { className: cn("pb-[var(--space-4,1rem)] pt-0", className), children })
891
1053
  }
892
1054
  ));
893
1055
  AccordionContent.displayName = "AccordionContent";
@@ -895,12 +1057,12 @@ AccordionContent.displayName = "AccordionContent";
895
1057
  // src/components/dialog/dialog.tsx
896
1058
  import * as DialogPrimitive from "@radix-ui/react-dialog";
897
1059
  import * as React19 from "react";
898
- import { jsx as jsx21, jsxs as jsxs7 } from "react/jsx-runtime";
1060
+ import { jsx as jsx26, jsxs as jsxs7 } from "react/jsx-runtime";
899
1061
  var Dialog = DialogPrimitive.Root;
900
1062
  var DialogTrigger = DialogPrimitive.Trigger;
901
1063
  var DialogPortal = DialogPrimitive.Portal;
902
1064
  var DialogClose = DialogPrimitive.Close;
903
- var DialogOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
1065
+ var DialogOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
904
1066
  DialogPrimitive.Overlay,
905
1067
  {
906
1068
  ref,
@@ -915,7 +1077,7 @@ var DialogOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__P
915
1077
  ));
916
1078
  DialogOverlay.displayName = "DialogOverlay";
917
1079
  var DialogContent = React19.forwardRef(({ className, children, scrollable = true, ...props }, ref) => /* @__PURE__ */ jsxs7(DialogPortal, { children: [
918
- /* @__PURE__ */ jsx21(DialogOverlay, {}),
1080
+ /* @__PURE__ */ jsx26(DialogOverlay, {}),
919
1081
  /* @__PURE__ */ jsxs7(
920
1082
  DialogPrimitive.Content,
921
1083
  {
@@ -930,7 +1092,7 @@ var DialogContent = React19.forwardRef(({ className, children, scrollable = true
930
1092
  ),
931
1093
  ...props,
932
1094
  children: [
933
- scrollable ? /* @__PURE__ */ jsx21("div", { className: "grid gap-[var(--gap-md,1rem)] overflow-y-auto p-[var(--space-6,1.5rem)]", children }) : children,
1095
+ scrollable ? /* @__PURE__ */ jsx26("div", { className: "grid gap-[var(--gap-md,1rem)] overflow-y-auto p-[var(--space-6,1.5rem)]", children }) : children,
934
1096
  /* @__PURE__ */ jsxs7(
935
1097
  DialogPrimitive.Close,
936
1098
  {
@@ -954,12 +1116,12 @@ var DialogContent = React19.forwardRef(({ className, children, scrollable = true
954
1116
  className: "h-4 w-4",
955
1117
  "aria-hidden": "true",
956
1118
  children: [
957
- /* @__PURE__ */ jsx21("path", { d: "M18 6 6 18" }),
958
- /* @__PURE__ */ jsx21("path", { d: "m6 6 12 12" })
1119
+ /* @__PURE__ */ jsx26("path", { d: "M18 6 6 18" }),
1120
+ /* @__PURE__ */ jsx26("path", { d: "m6 6 12 12" })
959
1121
  ]
960
1122
  }
961
1123
  ),
962
- /* @__PURE__ */ jsx21("span", { className: "sr-only", children: "Close" })
1124
+ /* @__PURE__ */ jsx26("span", { className: "sr-only", children: "Close" })
963
1125
  ]
964
1126
  }
965
1127
  )
@@ -969,7 +1131,7 @@ var DialogContent = React19.forwardRef(({ className, children, scrollable = true
969
1131
  ] }));
970
1132
  DialogContent.displayName = "DialogContent";
971
1133
  function DialogHeader({ className, ...props }) {
972
- return /* @__PURE__ */ jsx21(
1134
+ return /* @__PURE__ */ jsx26(
973
1135
  "div",
974
1136
  {
975
1137
  className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className),
@@ -978,7 +1140,7 @@ function DialogHeader({ className, ...props }) {
978
1140
  );
979
1141
  }
980
1142
  function DialogFooter({ className, ...props }) {
981
- return /* @__PURE__ */ jsx21(
1143
+ return /* @__PURE__ */ jsx26(
982
1144
  "div",
983
1145
  {
984
1146
  className: cn(
@@ -989,7 +1151,7 @@ function DialogFooter({ className, ...props }) {
989
1151
  }
990
1152
  );
991
1153
  }
992
- var DialogTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
1154
+ var DialogTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
993
1155
  DialogPrimitive.Title,
994
1156
  {
995
1157
  ref,
@@ -998,7 +1160,7 @@ var DialogTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PUR
998
1160
  }
999
1161
  ));
1000
1162
  DialogTitle.displayName = "DialogTitle";
1001
- var DialogDescription = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
1163
+ var DialogDescription = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1002
1164
  DialogPrimitive.Description,
1003
1165
  {
1004
1166
  ref,
@@ -1011,11 +1173,11 @@ DialogDescription.displayName = "DialogDescription";
1011
1173
  // src/components/alert-dialog/alert-dialog.tsx
1012
1174
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
1013
1175
  import * as React20 from "react";
1014
- import { jsx as jsx22, jsxs as jsxs8 } from "react/jsx-runtime";
1176
+ import { jsx as jsx27, jsxs as jsxs8 } from "react/jsx-runtime";
1015
1177
  var AlertDialog = AlertDialogPrimitive.Root;
1016
1178
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
1017
1179
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
1018
- var AlertDialogOverlay = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1180
+ var AlertDialogOverlay = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1019
1181
  AlertDialogPrimitive.Overlay,
1020
1182
  {
1021
1183
  ref,
@@ -1030,8 +1192,8 @@ var AlertDialogOverlay = React20.forwardRef(({ className, ...props }, ref) => /*
1030
1192
  ));
1031
1193
  AlertDialogOverlay.displayName = "AlertDialogOverlay";
1032
1194
  var AlertDialogContent = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs8(AlertDialogPortal, { children: [
1033
- /* @__PURE__ */ jsx22(AlertDialogOverlay, {}),
1034
- /* @__PURE__ */ jsx22(
1195
+ /* @__PURE__ */ jsx27(AlertDialogOverlay, {}),
1196
+ /* @__PURE__ */ jsx27(
1035
1197
  AlertDialogPrimitive.Content,
1036
1198
  {
1037
1199
  ref,
@@ -1049,7 +1211,7 @@ var AlertDialogContent = React20.forwardRef(({ className, ...props }, ref) => /*
1049
1211
  ] }));
1050
1212
  AlertDialogContent.displayName = "AlertDialogContent";
1051
1213
  function AlertDialogHeader({ className, ...props }) {
1052
- return /* @__PURE__ */ jsx22(
1214
+ return /* @__PURE__ */ jsx27(
1053
1215
  "div",
1054
1216
  {
1055
1217
  className: cn("flex flex-col space-y-2 text-center sm:text-left", className),
@@ -1058,7 +1220,7 @@ function AlertDialogHeader({ className, ...props }) {
1058
1220
  );
1059
1221
  }
1060
1222
  function AlertDialogFooter({ className, ...props }) {
1061
- return /* @__PURE__ */ jsx22(
1223
+ return /* @__PURE__ */ jsx27(
1062
1224
  "div",
1063
1225
  {
1064
1226
  className: cn(
@@ -1069,7 +1231,7 @@ function AlertDialogFooter({ className, ...props }) {
1069
1231
  }
1070
1232
  );
1071
1233
  }
1072
- var AlertDialogTitle = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1234
+ var AlertDialogTitle = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1073
1235
  AlertDialogPrimitive.Title,
1074
1236
  {
1075
1237
  ref,
@@ -1078,7 +1240,7 @@ var AlertDialogTitle = React20.forwardRef(({ className, ...props }, ref) => /* @
1078
1240
  }
1079
1241
  ));
1080
1242
  AlertDialogTitle.displayName = "AlertDialogTitle";
1081
- var AlertDialogDescription = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1243
+ var AlertDialogDescription = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1082
1244
  AlertDialogPrimitive.Description,
1083
1245
  {
1084
1246
  ref,
@@ -1087,7 +1249,7 @@ var AlertDialogDescription = React20.forwardRef(({ className, ...props }, ref) =
1087
1249
  }
1088
1250
  ));
1089
1251
  AlertDialogDescription.displayName = "AlertDialogDescription";
1090
- var AlertDialogAction = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1252
+ var AlertDialogAction = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1091
1253
  AlertDialogPrimitive.Action,
1092
1254
  {
1093
1255
  ref,
@@ -1105,7 +1267,7 @@ var AlertDialogAction = React20.forwardRef(({ className, ...props }, ref) => /*
1105
1267
  }
1106
1268
  ));
1107
1269
  AlertDialogAction.displayName = "AlertDialogAction";
1108
- var AlertDialogCancel = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1270
+ var AlertDialogCancel = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1109
1271
  AlertDialogPrimitive.Cancel,
1110
1272
  {
1111
1273
  ref,
@@ -1127,14 +1289,14 @@ AlertDialogCancel.displayName = "AlertDialogCancel";
1127
1289
  // src/components/dropdown-menu/dropdown-menu.tsx
1128
1290
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
1129
1291
  import * as React21 from "react";
1130
- import { jsx as jsx23, jsxs as jsxs9 } from "react/jsx-runtime";
1292
+ import { jsx as jsx28, jsxs as jsxs9 } from "react/jsx-runtime";
1131
1293
  var DropdownMenu = DropdownMenuPrimitive.Root;
1132
1294
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1133
1295
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
1134
1296
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
1135
1297
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
1136
1298
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
1137
- var DropdownMenuContent = React21.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx23(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx23(
1299
+ var DropdownMenuContent = React21.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx28(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx28(
1138
1300
  DropdownMenuPrimitive.Content,
1139
1301
  {
1140
1302
  ref,
@@ -1151,7 +1313,7 @@ var DropdownMenuContent = React21.forwardRef(({ className, sideOffset = 4, ...pr
1151
1313
  }
1152
1314
  ) }));
1153
1315
  DropdownMenuContent.displayName = "DropdownMenuContent";
1154
- var DropdownMenuItem = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx23(
1316
+ var DropdownMenuItem = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx28(
1155
1317
  DropdownMenuPrimitive.Item,
1156
1318
  {
1157
1319
  ref,
@@ -1181,7 +1343,7 @@ var DropdownMenuCheckboxItem = React21.forwardRef(({ className, children, checke
1181
1343
  checked,
1182
1344
  ...props,
1183
1345
  children: [
1184
- /* @__PURE__ */ jsx23("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx23(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx23(
1346
+ /* @__PURE__ */ jsx28("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx28(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx28(
1185
1347
  "svg",
1186
1348
  {
1187
1349
  xmlns: "http://www.w3.org/2000/svg",
@@ -1193,7 +1355,7 @@ var DropdownMenuCheckboxItem = React21.forwardRef(({ className, children, checke
1193
1355
  strokeLinejoin: "round",
1194
1356
  className: "h-4 w-4",
1195
1357
  "aria-hidden": "true",
1196
- children: /* @__PURE__ */ jsx23("polyline", { points: "20 6 9 17 4 12" })
1358
+ children: /* @__PURE__ */ jsx28("polyline", { points: "20 6 9 17 4 12" })
1197
1359
  }
1198
1360
  ) }) }),
1199
1361
  children
@@ -1214,13 +1376,13 @@ var DropdownMenuRadioItem = React21.forwardRef(({ className, children, ...props
1214
1376
  ),
1215
1377
  ...props,
1216
1378
  children: [
1217
- /* @__PURE__ */ jsx23("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx23(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx23("svg", { viewBox: "0 0 24 24", className: "h-2 w-2 fill-current", "aria-hidden": "true", children: /* @__PURE__ */ jsx23("circle", { cx: "12", cy: "12", r: "10" }) }) }) }),
1379
+ /* @__PURE__ */ jsx28("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx28(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx28("svg", { viewBox: "0 0 24 24", className: "h-2 w-2 fill-current", "aria-hidden": "true", children: /* @__PURE__ */ jsx28("circle", { cx: "12", cy: "12", r: "10" }) }) }) }),
1218
1380
  children
1219
1381
  ]
1220
1382
  }
1221
1383
  ));
1222
1384
  DropdownMenuRadioItem.displayName = "DropdownMenuRadioItem";
1223
- var DropdownMenuLabel = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx23(
1385
+ var DropdownMenuLabel = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx28(
1224
1386
  DropdownMenuPrimitive.Label,
1225
1387
  {
1226
1388
  ref,
@@ -1229,7 +1391,7 @@ var DropdownMenuLabel = React21.forwardRef(({ className, inset, ...props }, ref)
1229
1391
  }
1230
1392
  ));
1231
1393
  DropdownMenuLabel.displayName = "DropdownMenuLabel";
1232
- var DropdownMenuSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
1394
+ var DropdownMenuSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1233
1395
  DropdownMenuPrimitive.Separator,
1234
1396
  {
1235
1397
  ref,
@@ -1239,7 +1401,7 @@ var DropdownMenuSeparator = React21.forwardRef(({ className, ...props }, ref) =>
1239
1401
  ));
1240
1402
  DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
1241
1403
  function DropdownMenuShortcut({ className, ...props }) {
1242
- return /* @__PURE__ */ jsx23(
1404
+ return /* @__PURE__ */ jsx28(
1243
1405
  "span",
1244
1406
  {
1245
1407
  className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className),
@@ -1251,11 +1413,11 @@ function DropdownMenuShortcut({ className, ...props }) {
1251
1413
  // src/components/popover/popover.tsx
1252
1414
  import * as PopoverPrimitive from "@radix-ui/react-popover";
1253
1415
  import * as React22 from "react";
1254
- import { jsx as jsx24 } from "react/jsx-runtime";
1416
+ import { jsx as jsx29 } from "react/jsx-runtime";
1255
1417
  var Popover = PopoverPrimitive.Root;
1256
1418
  var PopoverTrigger = PopoverPrimitive.Trigger;
1257
1419
  var PopoverAnchor = PopoverPrimitive.Anchor;
1258
- var PopoverContent = React22.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx24(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx24(
1420
+ var PopoverContent = React22.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx29(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx29(
1259
1421
  PopoverPrimitive.Content,
1260
1422
  {
1261
1423
  ref,
@@ -1277,11 +1439,11 @@ PopoverContent.displayName = "PopoverContent";
1277
1439
  // src/components/tooltip/tooltip.tsx
1278
1440
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
1279
1441
  import * as React23 from "react";
1280
- import { jsx as jsx25 } from "react/jsx-runtime";
1442
+ import { jsx as jsx30 } from "react/jsx-runtime";
1281
1443
  var TooltipProvider = TooltipPrimitive.Provider;
1282
1444
  var Tooltip = TooltipPrimitive.Root;
1283
1445
  var TooltipTrigger = TooltipPrimitive.Trigger;
1284
- var TooltipContent = React23.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx25(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx25(
1446
+ var TooltipContent = React23.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx30(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx30(
1285
1447
  TooltipPrimitive.Content,
1286
1448
  {
1287
1449
  ref,
@@ -1299,7 +1461,7 @@ var TooltipContent = React23.forwardRef(({ className, sideOffset = 4, ...props }
1299
1461
  TooltipContent.displayName = "TooltipContent";
1300
1462
 
1301
1463
  // src/components/form/form.tsx
1302
- import { Slot as Slot2 } from "@radix-ui/react-slot";
1464
+ import { Slot as Slot3 } from "@radix-ui/react-slot";
1303
1465
  import * as React24 from "react";
1304
1466
  import {
1305
1467
  Controller,
@@ -1307,13 +1469,13 @@ import {
1307
1469
  useFormContext,
1308
1470
  useFormState
1309
1471
  } from "react-hook-form";
1310
- import { jsx as jsx26 } from "react/jsx-runtime";
1472
+ import { jsx as jsx31 } from "react/jsx-runtime";
1311
1473
  var Form = FormProvider;
1312
1474
  var FormFieldContext = React24.createContext({});
1313
1475
  var FormField = ({
1314
1476
  ...props
1315
1477
  }) => {
1316
- return /* @__PURE__ */ jsx26(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx26(Controller, { ...props }) });
1478
+ return /* @__PURE__ */ jsx31(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx31(Controller, { ...props }) });
1317
1479
  };
1318
1480
  var FormItemContext = React24.createContext({});
1319
1481
  function useFormField() {
@@ -1338,13 +1500,13 @@ function useFormField() {
1338
1500
  var FormItem = React24.forwardRef(
1339
1501
  ({ className, ...props }, ref) => {
1340
1502
  const id = React24.useId();
1341
- return /* @__PURE__ */ jsx26(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx26("div", { ref, className: cn("space-y-2", className), ...props }) });
1503
+ return /* @__PURE__ */ jsx31(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx31("div", { ref, className: cn("space-y-2", className), ...props }) });
1342
1504
  }
1343
1505
  );
1344
1506
  FormItem.displayName = "FormItem";
1345
1507
  var FormLabel = React24.forwardRef(({ className, ...props }, ref) => {
1346
1508
  const { error, formItemId } = useFormField();
1347
- return /* @__PURE__ */ jsx26(
1509
+ return /* @__PURE__ */ jsx31(
1348
1510
  Label,
1349
1511
  {
1350
1512
  ref,
@@ -1357,8 +1519,8 @@ var FormLabel = React24.forwardRef(({ className, ...props }, ref) => {
1357
1519
  FormLabel.displayName = "FormLabel";
1358
1520
  var FormControl = React24.forwardRef(({ ...props }, ref) => {
1359
1521
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
1360
- return /* @__PURE__ */ jsx26(
1361
- Slot2,
1522
+ return /* @__PURE__ */ jsx31(
1523
+ Slot3,
1362
1524
  {
1363
1525
  ref,
1364
1526
  id: formItemId,
@@ -1371,7 +1533,7 @@ var FormControl = React24.forwardRef(({ ...props }, ref) => {
1371
1533
  FormControl.displayName = "FormControl";
1372
1534
  var FormDescription = React24.forwardRef(({ className, ...props }, ref) => {
1373
1535
  const { formDescriptionId } = useFormField();
1374
- return /* @__PURE__ */ jsx26(
1536
+ return /* @__PURE__ */ jsx31(
1375
1537
  "p",
1376
1538
  {
1377
1539
  ref,
@@ -1386,7 +1548,7 @@ var FormMessage = React24.forwardRef(({ className, children, ...props }, ref) =>
1386
1548
  const { error, formMessageId } = useFormField();
1387
1549
  const body = error?.message ? String(error.message) : children;
1388
1550
  if (!body) return null;
1389
- return /* @__PURE__ */ jsx26(
1551
+ return /* @__PURE__ */ jsx31(
1390
1552
  "p",
1391
1553
  {
1392
1554
  ref,
@@ -1400,10 +1562,10 @@ var FormMessage = React24.forwardRef(({ className, children, ...props }, ref) =>
1400
1562
  FormMessage.displayName = "FormMessage";
1401
1563
 
1402
1564
  // src/components/alert/alert.tsx
1403
- import { cva as cva5 } from "class-variance-authority";
1565
+ import { cva as cva10 } from "class-variance-authority";
1404
1566
  import * as React25 from "react";
1405
- import { jsx as jsx27 } from "react/jsx-runtime";
1406
- var alertVariants = cva5(
1567
+ import { jsx as jsx32 } from "react/jsx-runtime";
1568
+ var alertVariants = cva10(
1407
1569
  [
1408
1570
  "relative w-full rounded-lg border px-[var(--space-4,1rem)] py-[var(--space-3,0.75rem)] text-sm",
1409
1571
  "transition-all duration-[var(--duration-normal,200ms)] ease-out",
@@ -1420,7 +1582,7 @@ var alertVariants = cva5(
1420
1582
  defaultVariants: { variant: "default" }
1421
1583
  }
1422
1584
  );
1423
- var Alert = React25.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx27(
1585
+ var Alert = React25.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx32(
1424
1586
  "div",
1425
1587
  {
1426
1588
  ref,
@@ -1430,7 +1592,7 @@ var Alert = React25.forwardRef(({ className, variant, ...props }, ref) => /* @__
1430
1592
  }
1431
1593
  ));
1432
1594
  Alert.displayName = "Alert";
1433
- var AlertTitle = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1595
+ var AlertTitle = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
1434
1596
  "h5",
1435
1597
  {
1436
1598
  ref,
@@ -1440,15 +1602,15 @@ var AlertTitle = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE
1440
1602
  ));
1441
1603
  AlertTitle.displayName = "AlertTitle";
1442
1604
  var AlertDescription = React25.forwardRef(
1443
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx27("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
1605
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx32("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
1444
1606
  );
1445
1607
  AlertDescription.displayName = "AlertDescription";
1446
1608
 
1447
1609
  // src/components/sonner/sonner.tsx
1448
1610
  import { Toaster as SonnerToaster, toast } from "sonner";
1449
- import { jsx as jsx28 } from "react/jsx-runtime";
1611
+ import { jsx as jsx33 } from "react/jsx-runtime";
1450
1612
  function Toaster({ ...props }) {
1451
- return /* @__PURE__ */ jsx28(
1613
+ return /* @__PURE__ */ jsx33(
1452
1614
  SonnerToaster,
1453
1615
  {
1454
1616
  theme: "system",
@@ -1475,10 +1637,10 @@ var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
1475
1637
  // src/components/hover-card/hover-card.tsx
1476
1638
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
1477
1639
  import * as React26 from "react";
1478
- import { jsx as jsx29 } from "react/jsx-runtime";
1640
+ import { jsx as jsx34 } from "react/jsx-runtime";
1479
1641
  var HoverCard = HoverCardPrimitive.Root;
1480
1642
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
1481
- var HoverCardContent = React26.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx29(HoverCardPrimitive.Portal, { children: /* @__PURE__ */ jsx29(
1643
+ var HoverCardContent = React26.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx34(HoverCardPrimitive.Portal, { children: /* @__PURE__ */ jsx34(
1482
1644
  HoverCardPrimitive.Content,
1483
1645
  {
1484
1646
  ref,
@@ -1500,13 +1662,13 @@ HoverCardContent.displayName = "HoverCardContent";
1500
1662
  // src/components/context-menu/context-menu.tsx
1501
1663
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
1502
1664
  import * as React27 from "react";
1503
- import { jsx as jsx30, jsxs as jsxs10 } from "react/jsx-runtime";
1665
+ import { jsx as jsx35, jsxs as jsxs10 } from "react/jsx-runtime";
1504
1666
  var ContextMenu = ContextMenuPrimitive.Root;
1505
1667
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
1506
1668
  var ContextMenuGroup = ContextMenuPrimitive.Group;
1507
1669
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
1508
1670
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
1509
- var ContextMenuContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx30(
1671
+ var ContextMenuContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx35(
1510
1672
  ContextMenuPrimitive.Content,
1511
1673
  {
1512
1674
  ref,
@@ -1521,7 +1683,7 @@ var ContextMenuContent = React27.forwardRef(({ className, ...props }, ref) => /*
1521
1683
  }
1522
1684
  ) }));
1523
1685
  ContextMenuContent.displayName = "ContextMenuContent";
1524
- var ContextMenuItem = React27.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx30(
1686
+ var ContextMenuItem = React27.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx35(
1525
1687
  ContextMenuPrimitive.Item,
1526
1688
  {
1527
1689
  ref,
@@ -1551,7 +1713,7 @@ var ContextMenuCheckboxItem = React27.forwardRef(({ className, children, checked
1551
1713
  checked,
1552
1714
  ...props,
1553
1715
  children: [
1554
- /* @__PURE__ */ jsx30("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx30(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx30(
1716
+ /* @__PURE__ */ jsx35("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx35(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx35(
1555
1717
  "svg",
1556
1718
  {
1557
1719
  xmlns: "http://www.w3.org/2000/svg",
@@ -1563,7 +1725,7 @@ var ContextMenuCheckboxItem = React27.forwardRef(({ className, children, checked
1563
1725
  strokeLinejoin: "round",
1564
1726
  className: "h-4 w-4",
1565
1727
  "aria-hidden": "true",
1566
- children: /* @__PURE__ */ jsx30("polyline", { points: "20 6 9 17 4 12" })
1728
+ children: /* @__PURE__ */ jsx35("polyline", { points: "20 6 9 17 4 12" })
1567
1729
  }
1568
1730
  ) }) }),
1569
1731
  children
@@ -1584,13 +1746,13 @@ var ContextMenuRadioItem = React27.forwardRef(({ className, children, ...props }
1584
1746
  ),
1585
1747
  ...props,
1586
1748
  children: [
1587
- /* @__PURE__ */ jsx30("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx30(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx30("svg", { viewBox: "0 0 24 24", className: "h-2 w-2 fill-current", "aria-hidden": "true", children: /* @__PURE__ */ jsx30("circle", { cx: "12", cy: "12", r: "10" }) }) }) }),
1749
+ /* @__PURE__ */ jsx35("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx35(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx35("svg", { viewBox: "0 0 24 24", className: "h-2 w-2 fill-current", "aria-hidden": "true", children: /* @__PURE__ */ jsx35("circle", { cx: "12", cy: "12", r: "10" }) }) }) }),
1588
1750
  children
1589
1751
  ]
1590
1752
  }
1591
1753
  ));
1592
1754
  ContextMenuRadioItem.displayName = "ContextMenuRadioItem";
1593
- var ContextMenuLabel = React27.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx30(
1755
+ var ContextMenuLabel = React27.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx35(
1594
1756
  ContextMenuPrimitive.Label,
1595
1757
  {
1596
1758
  ref,
@@ -1599,7 +1761,7 @@ var ContextMenuLabel = React27.forwardRef(({ className, inset, ...props }, ref)
1599
1761
  }
1600
1762
  ));
1601
1763
  ContextMenuLabel.displayName = "ContextMenuLabel";
1602
- var ContextMenuSeparator = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1764
+ var ContextMenuSeparator = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
1603
1765
  ContextMenuPrimitive.Separator,
1604
1766
  {
1605
1767
  ref,
@@ -1609,7 +1771,7 @@ var ContextMenuSeparator = React27.forwardRef(({ className, ...props }, ref) =>
1609
1771
  ));
1610
1772
  ContextMenuSeparator.displayName = "ContextMenuSeparator";
1611
1773
  function ContextMenuShortcut({ className, ...props }) {
1612
- return /* @__PURE__ */ jsx30(
1774
+ return /* @__PURE__ */ jsx35(
1613
1775
  "span",
1614
1776
  {
1615
1777
  className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className),
@@ -1621,8 +1783,8 @@ function ContextMenuShortcut({ className, ...props }) {
1621
1783
  // src/components/menubar/menubar.tsx
1622
1784
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
1623
1785
  import * as React28 from "react";
1624
- import { jsx as jsx31 } from "react/jsx-runtime";
1625
- var Menubar = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
1786
+ import { jsx as jsx36 } from "react/jsx-runtime";
1787
+ var Menubar = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
1626
1788
  MenubarPrimitive.Root,
1627
1789
  {
1628
1790
  ref,
@@ -1638,7 +1800,7 @@ var MenubarMenu = MenubarPrimitive.Menu;
1638
1800
  var MenubarGroup = MenubarPrimitive.Group;
1639
1801
  var MenubarPortal = MenubarPrimitive.Portal;
1640
1802
  var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
1641
- var MenubarTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
1803
+ var MenubarTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
1642
1804
  MenubarPrimitive.Trigger,
1643
1805
  {
1644
1806
  ref,
@@ -1653,7 +1815,7 @@ var MenubarTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__
1653
1815
  }
1654
1816
  ));
1655
1817
  MenubarTrigger.displayName = "MenubarTrigger";
1656
- var MenubarContent = React28.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx31(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx31(
1818
+ var MenubarContent = React28.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx36(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx36(
1657
1819
  MenubarPrimitive.Content,
1658
1820
  {
1659
1821
  ref,
@@ -1671,7 +1833,7 @@ var MenubarContent = React28.forwardRef(({ className, align = "start", alignOffs
1671
1833
  }
1672
1834
  ) }));
1673
1835
  MenubarContent.displayName = "MenubarContent";
1674
- var MenubarItem = React28.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx31(
1836
+ var MenubarItem = React28.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx36(
1675
1837
  MenubarPrimitive.Item,
1676
1838
  {
1677
1839
  ref,
@@ -1687,7 +1849,7 @@ var MenubarItem = React28.forwardRef(({ className, inset, ...props }, ref) => /*
1687
1849
  }
1688
1850
  ));
1689
1851
  MenubarItem.displayName = "MenubarItem";
1690
- var MenubarLabel = React28.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx31(
1852
+ var MenubarLabel = React28.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx36(
1691
1853
  MenubarPrimitive.Label,
1692
1854
  {
1693
1855
  ref,
@@ -1696,7 +1858,7 @@ var MenubarLabel = React28.forwardRef(({ className, inset, ...props }, ref) => /
1696
1858
  }
1697
1859
  ));
1698
1860
  MenubarLabel.displayName = "MenubarLabel";
1699
- var MenubarSeparator = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
1861
+ var MenubarSeparator = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
1700
1862
  MenubarPrimitive.Separator,
1701
1863
  {
1702
1864
  ref,
@@ -1706,7 +1868,7 @@ var MenubarSeparator = React28.forwardRef(({ className, ...props }, ref) => /* @
1706
1868
  ));
1707
1869
  MenubarSeparator.displayName = "MenubarSeparator";
1708
1870
  function MenubarShortcut({ className, ...props }) {
1709
- return /* @__PURE__ */ jsx31(
1871
+ return /* @__PURE__ */ jsx36(
1710
1872
  "span",
1711
1873
  {
1712
1874
  className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className),
@@ -1717,9 +1879,9 @@ function MenubarShortcut({ className, ...props }) {
1717
1879
 
1718
1880
  // src/components/navigation-menu/navigation-menu.tsx
1719
1881
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
1720
- import { cva as cva6 } from "class-variance-authority";
1882
+ import { cva as cva11 } from "class-variance-authority";
1721
1883
  import * as React29 from "react";
1722
- import { jsx as jsx32, jsxs as jsxs11 } from "react/jsx-runtime";
1884
+ import { jsx as jsx37, jsxs as jsxs11 } from "react/jsx-runtime";
1723
1885
  var NavigationMenu = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs11(
1724
1886
  NavigationMenuPrimitive.Root,
1725
1887
  {
@@ -1728,12 +1890,12 @@ var NavigationMenu = React29.forwardRef(({ className, children, ...props }, ref)
1728
1890
  ...props,
1729
1891
  children: [
1730
1892
  children,
1731
- /* @__PURE__ */ jsx32(NavigationMenuViewport, {})
1893
+ /* @__PURE__ */ jsx37(NavigationMenuViewport, {})
1732
1894
  ]
1733
1895
  }
1734
1896
  ));
1735
1897
  NavigationMenu.displayName = "NavigationMenu";
1736
- var NavigationMenuList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
1898
+ var NavigationMenuList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
1737
1899
  NavigationMenuPrimitive.List,
1738
1900
  {
1739
1901
  ref,
@@ -1743,7 +1905,7 @@ var NavigationMenuList = React29.forwardRef(({ className, ...props }, ref) => /*
1743
1905
  ));
1744
1906
  NavigationMenuList.displayName = "NavigationMenuList";
1745
1907
  var NavigationMenuItem = NavigationMenuPrimitive.Item;
1746
- var navigationMenuTriggerStyle = cva6(
1908
+ var navigationMenuTriggerStyle = cva11(
1747
1909
  "group inline-flex h-[var(--control-height-md,2.5rem)] w-max items-center justify-center rounded-md bg-background px-[var(--space-4,1rem)] py-[var(--space-2,0.5rem)] text-sm font-medium transition-all duration-[var(--duration-normal,200ms)] ease-out hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
1748
1910
  );
1749
1911
  var NavigationMenuTrigger = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs11(
@@ -1754,7 +1916,7 @@ var NavigationMenuTrigger = React29.forwardRef(({ className, children, ...props
1754
1916
  ...props,
1755
1917
  children: [
1756
1918
  children,
1757
- /* @__PURE__ */ jsx32(
1919
+ /* @__PURE__ */ jsx37(
1758
1920
  "svg",
1759
1921
  {
1760
1922
  xmlns: "http://www.w3.org/2000/svg",
@@ -1766,14 +1928,14 @@ var NavigationMenuTrigger = React29.forwardRef(({ className, children, ...props
1766
1928
  strokeLinejoin: "round",
1767
1929
  className: "relative top-[1px] ml-[var(--space-1,0.25rem)] h-3 w-3 transition duration-[var(--duration-normal,200ms)] group-data-[state=open]:rotate-180",
1768
1930
  "aria-hidden": "true",
1769
- children: /* @__PURE__ */ jsx32("polyline", { points: "6 9 12 15 18 9" })
1931
+ children: /* @__PURE__ */ jsx37("polyline", { points: "6 9 12 15 18 9" })
1770
1932
  }
1771
1933
  )
1772
1934
  ]
1773
1935
  }
1774
1936
  ));
1775
1937
  NavigationMenuTrigger.displayName = "NavigationMenuTrigger";
1776
- var NavigationMenuContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
1938
+ var NavigationMenuContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
1777
1939
  NavigationMenuPrimitive.Content,
1778
1940
  {
1779
1941
  ref,
@@ -1786,7 +1948,7 @@ var NavigationMenuContent = React29.forwardRef(({ className, ...props }, ref) =>
1786
1948
  ));
1787
1949
  NavigationMenuContent.displayName = "NavigationMenuContent";
1788
1950
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
1789
- var NavigationMenuViewport = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32("div", { className: "absolute left-0 top-full flex justify-center", children: /* @__PURE__ */ jsx32(
1951
+ var NavigationMenuViewport = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37("div", { className: "absolute left-0 top-full flex justify-center", children: /* @__PURE__ */ jsx37(
1790
1952
  NavigationMenuPrimitive.Viewport,
1791
1953
  {
1792
1954
  className: cn(
@@ -1800,7 +1962,7 @@ var NavigationMenuViewport = React29.forwardRef(({ className, ...props }, ref) =
1800
1962
  }
1801
1963
  ) }));
1802
1964
  NavigationMenuViewport.displayName = "NavigationMenuViewport";
1803
- var NavigationMenuIndicator = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
1965
+ var NavigationMenuIndicator = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
1804
1966
  NavigationMenuPrimitive.Indicator,
1805
1967
  {
1806
1968
  ref,
@@ -1809,21 +1971,21 @@ var NavigationMenuIndicator = React29.forwardRef(({ className, ...props }, ref)
1809
1971
  className
1810
1972
  ),
1811
1973
  ...props,
1812
- children: /* @__PURE__ */ jsx32("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
1974
+ children: /* @__PURE__ */ jsx37("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
1813
1975
  }
1814
1976
  ));
1815
1977
  NavigationMenuIndicator.displayName = "NavigationMenuIndicator";
1816
1978
 
1817
1979
  // src/components/breadcrumb/breadcrumb.tsx
1818
- import { Slot as Slot3 } from "@radix-ui/react-slot";
1980
+ import { Slot as Slot4 } from "@radix-ui/react-slot";
1819
1981
  import * as React30 from "react";
1820
- import { jsx as jsx33, jsxs as jsxs12 } from "react/jsx-runtime";
1982
+ import { jsx as jsx38, jsxs as jsxs12 } from "react/jsx-runtime";
1821
1983
  var Breadcrumb = React30.forwardRef(
1822
- (props, ref) => /* @__PURE__ */ jsx33("nav", { ref, "aria-label": "breadcrumb", ...props })
1984
+ (props, ref) => /* @__PURE__ */ jsx38("nav", { ref, "aria-label": "breadcrumb", ...props })
1823
1985
  );
1824
1986
  Breadcrumb.displayName = "Breadcrumb";
1825
1987
  var BreadcrumbList = React30.forwardRef(
1826
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
1988
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1827
1989
  "ol",
1828
1990
  {
1829
1991
  ref,
@@ -1837,7 +1999,7 @@ var BreadcrumbList = React30.forwardRef(
1837
1999
  );
1838
2000
  BreadcrumbList.displayName = "BreadcrumbList";
1839
2001
  var BreadcrumbItem = React30.forwardRef(
1840
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
2002
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1841
2003
  "li",
1842
2004
  {
1843
2005
  ref,
@@ -1848,8 +2010,8 @@ var BreadcrumbItem = React30.forwardRef(
1848
2010
  );
1849
2011
  BreadcrumbItem.displayName = "BreadcrumbItem";
1850
2012
  var BreadcrumbLink = React30.forwardRef(({ asChild, className, ...props }, ref) => {
1851
- const Comp = asChild ? Slot3 : "a";
1852
- return /* @__PURE__ */ jsx33(
2013
+ const Comp = asChild ? Slot4 : "a";
2014
+ return /* @__PURE__ */ jsx38(
1853
2015
  Comp,
1854
2016
  {
1855
2017
  ref,
@@ -1860,7 +2022,7 @@ var BreadcrumbLink = React30.forwardRef(({ asChild, className, ...props }, ref)
1860
2022
  });
1861
2023
  BreadcrumbLink.displayName = "BreadcrumbLink";
1862
2024
  var BreadcrumbPage = React30.forwardRef(
1863
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
2025
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1864
2026
  "span",
1865
2027
  {
1866
2028
  ref,
@@ -1878,7 +2040,7 @@ function BreadcrumbSeparator({
1878
2040
  className,
1879
2041
  ...props
1880
2042
  }) {
1881
- return /* @__PURE__ */ jsx33("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:h-3.5 [&>svg]:w-3.5", className), ...props, children: children ?? /* @__PURE__ */ jsx33(
2043
+ return /* @__PURE__ */ jsx38("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:h-3.5 [&>svg]:w-3.5", className), ...props, children: children ?? /* @__PURE__ */ jsx38(
1882
2044
  "svg",
1883
2045
  {
1884
2046
  xmlns: "http://www.w3.org/2000/svg",
@@ -1889,7 +2051,7 @@ function BreadcrumbSeparator({
1889
2051
  strokeLinecap: "round",
1890
2052
  strokeLinejoin: "round",
1891
2053
  "aria-hidden": "true",
1892
- children: /* @__PURE__ */ jsx33("polyline", { points: "9 18 15 12 9 6" })
2054
+ children: /* @__PURE__ */ jsx38("polyline", { points: "9 18 15 12 9 6" })
1893
2055
  }
1894
2056
  ) });
1895
2057
  }
@@ -1913,13 +2075,13 @@ function BreadcrumbEllipsis({ className, ...props }) {
1913
2075
  className: "h-4 w-4",
1914
2076
  "aria-hidden": "true",
1915
2077
  children: [
1916
- /* @__PURE__ */ jsx33("circle", { cx: "12", cy: "12", r: "1" }),
1917
- /* @__PURE__ */ jsx33("circle", { cx: "19", cy: "12", r: "1" }),
1918
- /* @__PURE__ */ jsx33("circle", { cx: "5", cy: "12", r: "1" })
2078
+ /* @__PURE__ */ jsx38("circle", { cx: "12", cy: "12", r: "1" }),
2079
+ /* @__PURE__ */ jsx38("circle", { cx: "19", cy: "12", r: "1" }),
2080
+ /* @__PURE__ */ jsx38("circle", { cx: "5", cy: "12", r: "1" })
1919
2081
  ]
1920
2082
  }
1921
2083
  ),
1922
- /* @__PURE__ */ jsx33("span", { className: "sr-only", children: "More pages" })
2084
+ /* @__PURE__ */ jsx38("span", { className: "sr-only", children: "More pages" })
1923
2085
  ]
1924
2086
  }
1925
2087
  );
@@ -1927,9 +2089,9 @@ function BreadcrumbEllipsis({ className, ...props }) {
1927
2089
 
1928
2090
  // src/components/table/table.tsx
1929
2091
  import * as React31 from "react";
1930
- import { jsx as jsx34 } from "react/jsx-runtime";
2092
+ import { jsx as jsx39 } from "react/jsx-runtime";
1931
2093
  var Table = React31.forwardRef(
1932
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx34("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx34(
2094
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx39("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx39(
1933
2095
  "table",
1934
2096
  {
1935
2097
  ref,
@@ -1939,11 +2101,11 @@ var Table = React31.forwardRef(
1939
2101
  ) })
1940
2102
  );
1941
2103
  Table.displayName = "Table";
1942
- var TableHeader = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
2104
+ var TableHeader = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
1943
2105
  TableHeader.displayName = "TableHeader";
1944
- var TableBody = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props }));
2106
+ var TableBody = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props }));
1945
2107
  TableBody.displayName = "TableBody";
1946
- var TableFooter = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
2108
+ var TableFooter = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
1947
2109
  "tfoot",
1948
2110
  {
1949
2111
  ref,
@@ -1955,7 +2117,7 @@ var TableFooter = React31.forwardRef(({ className, ...props }, ref) => /* @__PUR
1955
2117
  }
1956
2118
  ));
1957
2119
  TableFooter.displayName = "TableFooter";
1958
- var TableRow = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
2120
+ var TableRow = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
1959
2121
  "tr",
1960
2122
  {
1961
2123
  ref,
@@ -1967,7 +2129,7 @@ var TableRow = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1967
2129
  }
1968
2130
  ));
1969
2131
  TableRow.displayName = "TableRow";
1970
- var TableHead = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
2132
+ var TableHead = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
1971
2133
  "th",
1972
2134
  {
1973
2135
  ref,
@@ -1979,7 +2141,7 @@ var TableHead = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1979
2141
  }
1980
2142
  ));
1981
2143
  TableHead.displayName = "TableHead";
1982
- var TableCell = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
2144
+ var TableCell = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
1983
2145
  "td",
1984
2146
  {
1985
2147
  ref,
@@ -1988,7 +2150,7 @@ var TableCell = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1988
2150
  }
1989
2151
  ));
1990
2152
  TableCell.displayName = "TableCell";
1991
- var TableCaption = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
2153
+ var TableCaption = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
1992
2154
  "caption",
1993
2155
  {
1994
2156
  ref,
@@ -2007,7 +2169,7 @@ import {
2007
2169
  getCoreRowModel,
2008
2170
  useReactTable
2009
2171
  } from "@tanstack/react-table";
2010
- import { jsx as jsx35, jsxs as jsxs13 } from "react/jsx-runtime";
2172
+ import { jsx as jsx40, jsxs as jsxs13 } from "react/jsx-runtime";
2011
2173
  function DataTable({
2012
2174
  columns,
2013
2175
  data,
@@ -2019,18 +2181,18 @@ function DataTable({
2019
2181
  columns,
2020
2182
  getCoreRowModel: getCoreRowModel()
2021
2183
  });
2022
- return /* @__PURE__ */ jsx35("div", { className: "rounded-md border", children: /* @__PURE__ */ jsxs13(Table, { "aria-label": ariaLabel, children: [
2023
- caption ? /* @__PURE__ */ jsx35(TableCaption, { children: caption }) : null,
2024
- /* @__PURE__ */ jsx35(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx35(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx35(TableHead, { children: header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext()) }, header.id)) }, headerGroup.id)) }),
2025
- /* @__PURE__ */ jsx35(TableBody, { children: table.getRowModel().rows?.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx35(TableRow, { "data-state": row.getIsSelected() && "selected", children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx35(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id)) }, row.id)) : /* @__PURE__ */ jsx35(TableRow, { children: /* @__PURE__ */ jsx35(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "No results." }) }) })
2184
+ return /* @__PURE__ */ jsx40("div", { className: "rounded-md border", children: /* @__PURE__ */ jsxs13(Table, { "aria-label": ariaLabel, children: [
2185
+ caption ? /* @__PURE__ */ jsx40(TableCaption, { children: caption }) : null,
2186
+ /* @__PURE__ */ jsx40(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx40(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx40(TableHead, { children: header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext()) }, header.id)) }, headerGroup.id)) }),
2187
+ /* @__PURE__ */ jsx40(TableBody, { children: table.getRowModel().rows?.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx40(TableRow, { "data-state": row.getIsSelected() && "selected", children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx40(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id)) }, row.id)) : /* @__PURE__ */ jsx40(TableRow, { children: /* @__PURE__ */ jsx40(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "No results." }) }) })
2026
2188
  ] }) });
2027
2189
  }
2028
2190
 
2029
2191
  // src/components/pagination/pagination.tsx
2030
2192
  import * as React32 from "react";
2031
- import { jsx as jsx36, jsxs as jsxs14 } from "react/jsx-runtime";
2193
+ import { jsx as jsx41, jsxs as jsxs14 } from "react/jsx-runtime";
2032
2194
  function Pagination({ className, ...props }) {
2033
- return /* @__PURE__ */ jsx36(
2195
+ return /* @__PURE__ */ jsx41(
2034
2196
  "nav",
2035
2197
  {
2036
2198
  role: "navigation",
@@ -2041,7 +2203,7 @@ function Pagination({ className, ...props }) {
2041
2203
  );
2042
2204
  }
2043
2205
  var PaginationContent = React32.forwardRef(
2044
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
2206
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
2045
2207
  "ul",
2046
2208
  {
2047
2209
  ref,
@@ -2052,7 +2214,7 @@ var PaginationContent = React32.forwardRef(
2052
2214
  );
2053
2215
  PaginationContent.displayName = "PaginationContent";
2054
2216
  var PaginationItem = React32.forwardRef(
2055
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx36("li", { ref, className, ...props })
2217
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx41("li", { ref, className, ...props })
2056
2218
  );
2057
2219
  PaginationItem.displayName = "PaginationItem";
2058
2220
  function PaginationLink({
@@ -2061,7 +2223,7 @@ function PaginationLink({
2061
2223
  size = "icon",
2062
2224
  ...props
2063
2225
  }) {
2064
- return /* @__PURE__ */ jsx36(
2226
+ return /* @__PURE__ */ jsx41(
2065
2227
  "a",
2066
2228
  {
2067
2229
  "aria-current": isActive ? "page" : void 0,
@@ -2082,7 +2244,7 @@ function PaginationPrevious({ className, ...props }) {
2082
2244
  className: cn("gap-1 pl-2.5", className),
2083
2245
  ...props,
2084
2246
  children: [
2085
- /* @__PURE__ */ jsx36(
2247
+ /* @__PURE__ */ jsx41(
2086
2248
  "svg",
2087
2249
  {
2088
2250
  xmlns: "http://www.w3.org/2000/svg",
@@ -2094,10 +2256,10 @@ function PaginationPrevious({ className, ...props }) {
2094
2256
  strokeLinejoin: "round",
2095
2257
  className: "h-4 w-4",
2096
2258
  "aria-hidden": "true",
2097
- children: /* @__PURE__ */ jsx36("polyline", { points: "15 18 9 12 15 6" })
2259
+ children: /* @__PURE__ */ jsx41("polyline", { points: "15 18 9 12 15 6" })
2098
2260
  }
2099
2261
  ),
2100
- /* @__PURE__ */ jsx36("span", { children: "Previous" })
2262
+ /* @__PURE__ */ jsx41("span", { children: "Previous" })
2101
2263
  ]
2102
2264
  }
2103
2265
  );
@@ -2111,8 +2273,8 @@ function PaginationNext({ className, ...props }) {
2111
2273
  className: cn("gap-1 pr-2.5", className),
2112
2274
  ...props,
2113
2275
  children: [
2114
- /* @__PURE__ */ jsx36("span", { children: "Next" }),
2115
- /* @__PURE__ */ jsx36(
2276
+ /* @__PURE__ */ jsx41("span", { children: "Next" }),
2277
+ /* @__PURE__ */ jsx41(
2116
2278
  "svg",
2117
2279
  {
2118
2280
  xmlns: "http://www.w3.org/2000/svg",
@@ -2124,7 +2286,7 @@ function PaginationNext({ className, ...props }) {
2124
2286
  strokeLinejoin: "round",
2125
2287
  className: "h-4 w-4",
2126
2288
  "aria-hidden": "true",
2127
- children: /* @__PURE__ */ jsx36("polyline", { points: "9 18 15 12 9 6" })
2289
+ children: /* @__PURE__ */ jsx41("polyline", { points: "9 18 15 12 9 6" })
2128
2290
  }
2129
2291
  )
2130
2292
  ]
@@ -2151,13 +2313,13 @@ function PaginationEllipsis({ className, ...props }) {
2151
2313
  className: "h-4 w-4",
2152
2314
  "aria-hidden": "true",
2153
2315
  children: [
2154
- /* @__PURE__ */ jsx36("circle", { cx: "12", cy: "12", r: "1" }),
2155
- /* @__PURE__ */ jsx36("circle", { cx: "19", cy: "12", r: "1" }),
2156
- /* @__PURE__ */ jsx36("circle", { cx: "5", cy: "12", r: "1" })
2316
+ /* @__PURE__ */ jsx41("circle", { cx: "12", cy: "12", r: "1" }),
2317
+ /* @__PURE__ */ jsx41("circle", { cx: "19", cy: "12", r: "1" }),
2318
+ /* @__PURE__ */ jsx41("circle", { cx: "5", cy: "12", r: "1" })
2157
2319
  ]
2158
2320
  }
2159
2321
  ),
2160
- /* @__PURE__ */ jsx36("span", { className: "sr-only", children: "More pages" })
2322
+ /* @__PURE__ */ jsx41("span", { className: "sr-only", children: "More pages" })
2161
2323
  ]
2162
2324
  }
2163
2325
  );
@@ -2165,14 +2327,14 @@ function PaginationEllipsis({ className, ...props }) {
2165
2327
 
2166
2328
  // src/components/calendar/calendar.tsx
2167
2329
  import { DayPicker } from "react-day-picker";
2168
- import { jsx as jsx37 } from "react/jsx-runtime";
2330
+ import { jsx as jsx42 } from "react/jsx-runtime";
2169
2331
  function Calendar({
2170
2332
  className,
2171
2333
  classNames,
2172
2334
  showOutsideDays = true,
2173
2335
  ...props
2174
2336
  }) {
2175
- return /* @__PURE__ */ jsx37(
2337
+ return /* @__PURE__ */ jsx42(
2176
2338
  DayPicker,
2177
2339
  {
2178
2340
  showOutsideDays,
@@ -2208,7 +2370,7 @@ function Calendar({
2208
2370
  components: {
2209
2371
  Chevron: ({ orientation, className: chevronClassName }) => {
2210
2372
  const rotation = orientation === "left" ? "rotate-90" : orientation === "right" ? "-rotate-90" : orientation === "up" ? "rotate-180" : "";
2211
- return /* @__PURE__ */ jsx37(
2373
+ return /* @__PURE__ */ jsx42(
2212
2374
  "svg",
2213
2375
  {
2214
2376
  xmlns: "http://www.w3.org/2000/svg",
@@ -2220,7 +2382,7 @@ function Calendar({
2220
2382
  strokeLinejoin: "round",
2221
2383
  className: cn("h-4 w-4", rotation, chevronClassName),
2222
2384
  "aria-hidden": "true",
2223
- children: /* @__PURE__ */ jsx37("polyline", { points: "6 9 12 15 18 9" })
2385
+ children: /* @__PURE__ */ jsx42("polyline", { points: "6 9 12 15 18 9" })
2224
2386
  }
2225
2387
  );
2226
2388
  }
@@ -2234,7 +2396,7 @@ Calendar.displayName = "Calendar";
2234
2396
  // src/components/date-picker/date-picker.tsx
2235
2397
  import { format } from "date-fns";
2236
2398
  import * as React33 from "react";
2237
- import { jsx as jsx38, jsxs as jsxs15 } from "react/jsx-runtime";
2399
+ import { jsx as jsx43, jsxs as jsxs15 } from "react/jsx-runtime";
2238
2400
  function DatePicker({
2239
2401
  value,
2240
2402
  onChange,
@@ -2246,7 +2408,7 @@ function DatePicker({
2246
2408
  }) {
2247
2409
  const [open, setOpen] = React33.useState(false);
2248
2410
  return /* @__PURE__ */ jsxs15(Popover, { open, onOpenChange: setOpen, children: [
2249
- /* @__PURE__ */ jsx38(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs15(
2411
+ /* @__PURE__ */ jsx43(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs15(
2250
2412
  "button",
2251
2413
  {
2252
2414
  type: "button",
@@ -2274,18 +2436,18 @@ function DatePicker({
2274
2436
  className: "h-4 w-4",
2275
2437
  "aria-hidden": "true",
2276
2438
  children: [
2277
- /* @__PURE__ */ jsx38("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }),
2278
- /* @__PURE__ */ jsx38("line", { x1: "16", y1: "2", x2: "16", y2: "6" }),
2279
- /* @__PURE__ */ jsx38("line", { x1: "8", y1: "2", x2: "8", y2: "6" }),
2280
- /* @__PURE__ */ jsx38("line", { x1: "3", y1: "10", x2: "21", y2: "10" })
2439
+ /* @__PURE__ */ jsx43("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }),
2440
+ /* @__PURE__ */ jsx43("line", { x1: "16", y1: "2", x2: "16", y2: "6" }),
2441
+ /* @__PURE__ */ jsx43("line", { x1: "8", y1: "2", x2: "8", y2: "6" }),
2442
+ /* @__PURE__ */ jsx43("line", { x1: "3", y1: "10", x2: "21", y2: "10" })
2281
2443
  ]
2282
2444
  }
2283
2445
  ),
2284
- /* @__PURE__ */ jsx38("span", { children: value ? format(value, dateFormat) : placeholder })
2446
+ /* @__PURE__ */ jsx43("span", { children: value ? format(value, dateFormat) : placeholder })
2285
2447
  ]
2286
2448
  }
2287
2449
  ) }),
2288
- /* @__PURE__ */ jsx38(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsx38(
2450
+ /* @__PURE__ */ jsx43(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsx43(
2289
2451
  Calendar,
2290
2452
  {
2291
2453
  mode: "single",
@@ -2304,9 +2466,9 @@ DatePicker.displayName = "DatePicker";
2304
2466
  // src/components/input-otp/input-otp.tsx
2305
2467
  import { OTPInput, OTPInputContext } from "input-otp";
2306
2468
  import * as React34 from "react";
2307
- import { jsx as jsx39, jsxs as jsxs16 } from "react/jsx-runtime";
2469
+ import { jsx as jsx44, jsxs as jsxs16 } from "react/jsx-runtime";
2308
2470
  var InputOTP = React34.forwardRef(
2309
- ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx39(
2471
+ ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx44(
2310
2472
  OTPInput,
2311
2473
  {
2312
2474
  ref,
@@ -2320,7 +2482,7 @@ var InputOTP = React34.forwardRef(
2320
2482
  )
2321
2483
  );
2322
2484
  InputOTP.displayName = "InputOTP";
2323
- var InputOTPGroup = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39("div", { ref, className: cn("flex items-center", className), ...props }));
2485
+ var InputOTPGroup = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx44("div", { ref, className: cn("flex items-center", className), ...props }));
2324
2486
  InputOTPGroup.displayName = "InputOTPGroup";
2325
2487
  var InputOTPSlot = React34.forwardRef(
2326
2488
  ({ index, className, ...props }, ref) => {
@@ -2342,14 +2504,14 @@ var InputOTPSlot = React34.forwardRef(
2342
2504
  ...props,
2343
2505
  children: [
2344
2506
  char,
2345
- hasFakeCaret && /* @__PURE__ */ jsx39("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx39("div", { className: "h-4 w-px animate-pulse bg-foreground duration-1000" }) })
2507
+ hasFakeCaret && /* @__PURE__ */ jsx44("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx44("div", { className: "h-4 w-px animate-pulse bg-foreground duration-1000" }) })
2346
2508
  ]
2347
2509
  }
2348
2510
  );
2349
2511
  }
2350
2512
  );
2351
2513
  InputOTPSlot.displayName = "InputOTPSlot";
2352
- var InputOTPSeparator = React34.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx39("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx39(
2514
+ var InputOTPSeparator = React34.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx44("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx44(
2353
2515
  "svg",
2354
2516
  {
2355
2517
  xmlns: "http://www.w3.org/2000/svg",
@@ -2357,7 +2519,7 @@ var InputOTPSeparator = React34.forwardRef(({ ...props }, ref) => /* @__PURE__ *
2357
2519
  fill: "currentColor",
2358
2520
  className: "h-2 w-2 text-muted-foreground",
2359
2521
  "aria-hidden": "true",
2360
- children: /* @__PURE__ */ jsx39("circle", { cx: "12", cy: "12", r: "6" })
2522
+ children: /* @__PURE__ */ jsx44("circle", { cx: "12", cy: "12", r: "6" })
2361
2523
  }
2362
2524
  ) }));
2363
2525
  InputOTPSeparator.displayName = "InputOTPSeparator";
@@ -2365,8 +2527,8 @@ InputOTPSeparator.displayName = "InputOTPSeparator";
2365
2527
  // src/components/command/command.tsx
2366
2528
  import { Command as CommandPrimitive } from "cmdk";
2367
2529
  import * as React35 from "react";
2368
- import { jsx as jsx40, jsxs as jsxs17 } from "react/jsx-runtime";
2369
- var Command = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
2530
+ import { jsx as jsx45, jsxs as jsxs17 } from "react/jsx-runtime";
2531
+ var Command = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
2370
2532
  CommandPrimitive,
2371
2533
  {
2372
2534
  ref,
@@ -2386,10 +2548,10 @@ function CommandDialog({
2386
2548
  }) {
2387
2549
  return /* @__PURE__ */ jsxs17(Dialog, { ...props, children: [
2388
2550
  /* @__PURE__ */ jsxs17(DialogHeader, { className: "sr-only", children: [
2389
- /* @__PURE__ */ jsx40(DialogTitle, { children: title }),
2390
- /* @__PURE__ */ jsx40(DialogDescription, { children: description })
2551
+ /* @__PURE__ */ jsx45(DialogTitle, { children: title }),
2552
+ /* @__PURE__ */ jsx45(DialogDescription, { children: description })
2391
2553
  ] }),
2392
- /* @__PURE__ */ jsx40(DialogContent, { className: "overflow-hidden p-0", scrollable: false, children: /* @__PURE__ */ jsx40(Command, { className: "[&_[cmdk-group-heading]]:px-[var(--space-2,0.5rem)] [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-[var(--space-2,0.5rem)] [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-[var(--space-2,0.5rem)] [&_[cmdk-item]]:py-[var(--space-3,0.75rem)] [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) })
2554
+ /* @__PURE__ */ jsx45(DialogContent, { className: "overflow-hidden p-0", scrollable: false, children: /* @__PURE__ */ jsx45(Command, { className: "[&_[cmdk-group-heading]]:px-[var(--space-2,0.5rem)] [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-[var(--space-2,0.5rem)] [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-[var(--space-2,0.5rem)] [&_[cmdk-item]]:py-[var(--space-3,0.75rem)] [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) })
2393
2555
  ] });
2394
2556
  }
2395
2557
  var CommandInput = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs17("div", { className: "flex items-center border-b px-[var(--space-3,0.75rem)]", "cmdk-input-wrapper": "", children: [
@@ -2406,12 +2568,12 @@ var CommandInput = React35.forwardRef(({ className, ...props }, ref) => /* @__PU
2406
2568
  className: "mr-[var(--space-2,0.5rem)] h-4 w-4 shrink-0 opacity-50",
2407
2569
  "aria-hidden": "true",
2408
2570
  children: [
2409
- /* @__PURE__ */ jsx40("circle", { cx: "11", cy: "11", r: "8" }),
2410
- /* @__PURE__ */ jsx40("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })
2571
+ /* @__PURE__ */ jsx45("circle", { cx: "11", cy: "11", r: "8" }),
2572
+ /* @__PURE__ */ jsx45("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })
2411
2573
  ]
2412
2574
  }
2413
2575
  ),
2414
- /* @__PURE__ */ jsx40(
2576
+ /* @__PURE__ */ jsx45(
2415
2577
  CommandPrimitive.Input,
2416
2578
  {
2417
2579
  ref,
@@ -2424,7 +2586,7 @@ var CommandInput = React35.forwardRef(({ className, ...props }, ref) => /* @__PU
2424
2586
  )
2425
2587
  ] }));
2426
2588
  CommandInput.displayName = "CommandInput";
2427
- var CommandList = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
2589
+ var CommandList = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
2428
2590
  CommandPrimitive.List,
2429
2591
  {
2430
2592
  ref,
@@ -2433,9 +2595,9 @@ var CommandList = React35.forwardRef(({ className, ...props }, ref) => /* @__PUR
2433
2595
  }
2434
2596
  ));
2435
2597
  CommandList.displayName = "CommandList";
2436
- var CommandEmpty = React35.forwardRef((props, ref) => /* @__PURE__ */ jsx40(CommandPrimitive.Empty, { ref, className: "py-[var(--space-6,1.5rem)] text-center text-sm", ...props }));
2598
+ var CommandEmpty = React35.forwardRef((props, ref) => /* @__PURE__ */ jsx45(CommandPrimitive.Empty, { ref, className: "py-[var(--space-6,1.5rem)] text-center text-sm", ...props }));
2437
2599
  CommandEmpty.displayName = "CommandEmpty";
2438
- var CommandGroup = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
2600
+ var CommandGroup = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
2439
2601
  CommandPrimitive.Group,
2440
2602
  {
2441
2603
  ref,
@@ -2447,7 +2609,7 @@ var CommandGroup = React35.forwardRef(({ className, ...props }, ref) => /* @__PU
2447
2609
  }
2448
2610
  ));
2449
2611
  CommandGroup.displayName = "CommandGroup";
2450
- var CommandSeparator = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
2612
+ var CommandSeparator = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
2451
2613
  "div",
2452
2614
  {
2453
2615
  ref,
@@ -2458,7 +2620,7 @@ var CommandSeparator = React35.forwardRef(({ className, ...props }, ref) => /* @
2458
2620
  }
2459
2621
  ));
2460
2622
  CommandSeparator.displayName = "CommandSeparator";
2461
- var CommandItem = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
2623
+ var CommandItem = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
2462
2624
  CommandPrimitive.Item,
2463
2625
  {
2464
2626
  ref,
@@ -2474,7 +2636,7 @@ var CommandItem = React35.forwardRef(({ className, ...props }, ref) => /* @__PUR
2474
2636
  ));
2475
2637
  CommandItem.displayName = "CommandItem";
2476
2638
  function CommandShortcut({ className, ...props }) {
2477
- return /* @__PURE__ */ jsx40(
2639
+ return /* @__PURE__ */ jsx45(
2478
2640
  "span",
2479
2641
  {
2480
2642
  className: cn(
@@ -2489,7 +2651,7 @@ CommandShortcut.displayName = "CommandShortcut";
2489
2651
 
2490
2652
  // src/components/combobox/combobox.tsx
2491
2653
  import * as React36 from "react";
2492
- import { jsx as jsx41, jsxs as jsxs18 } from "react/jsx-runtime";
2654
+ import { jsx as jsx46, jsxs as jsxs18 } from "react/jsx-runtime";
2493
2655
  function Combobox({
2494
2656
  options,
2495
2657
  value,
@@ -2506,7 +2668,7 @@ function Combobox({
2506
2668
  const listboxId = React36.useId();
2507
2669
  const selected = options.find((o) => o.value === value);
2508
2670
  return /* @__PURE__ */ jsxs18(Popover, { open, onOpenChange: setOpen, children: [
2509
- /* @__PURE__ */ jsx41(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs18(
2671
+ /* @__PURE__ */ jsx46(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs18(
2510
2672
  "button",
2511
2673
  {
2512
2674
  type: "button",
@@ -2526,8 +2688,8 @@ function Combobox({
2526
2688
  className
2527
2689
  ),
2528
2690
  children: [
2529
- /* @__PURE__ */ jsx41("span", { className: "truncate", children: selected ? selected.label : placeholder }),
2530
- /* @__PURE__ */ jsx41(
2691
+ /* @__PURE__ */ jsx46("span", { className: "truncate", children: selected ? selected.label : placeholder }),
2692
+ /* @__PURE__ */ jsx46(
2531
2693
  "svg",
2532
2694
  {
2533
2695
  xmlns: "http://www.w3.org/2000/svg",
@@ -2539,17 +2701,17 @@ function Combobox({
2539
2701
  strokeLinejoin: "round",
2540
2702
  className: "h-4 w-4 shrink-0 opacity-50",
2541
2703
  "aria-hidden": "true",
2542
- children: /* @__PURE__ */ jsx41("polyline", { points: "6 9 12 15 18 9" })
2704
+ children: /* @__PURE__ */ jsx46("polyline", { points: "6 9 12 15 18 9" })
2543
2705
  }
2544
2706
  )
2545
2707
  ]
2546
2708
  }
2547
2709
  ) }),
2548
- /* @__PURE__ */ jsx41(PopoverContent, { className: "w-[240px] p-0", align: "start", children: /* @__PURE__ */ jsxs18(Command, { children: [
2549
- /* @__PURE__ */ jsx41(CommandInput, { placeholder: searchPlaceholder }),
2710
+ /* @__PURE__ */ jsx46(PopoverContent, { className: "w-[240px] p-0", align: "start", children: /* @__PURE__ */ jsxs18(Command, { children: [
2711
+ /* @__PURE__ */ jsx46(CommandInput, { placeholder: searchPlaceholder }),
2550
2712
  /* @__PURE__ */ jsxs18(CommandList, { id: listboxId, children: [
2551
- /* @__PURE__ */ jsx41(CommandEmpty, { children: emptyText }),
2552
- /* @__PURE__ */ jsx41(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsxs18(
2713
+ /* @__PURE__ */ jsx46(CommandEmpty, { children: emptyText }),
2714
+ /* @__PURE__ */ jsx46(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsxs18(
2553
2715
  CommandItem,
2554
2716
  {
2555
2717
  value: option.label,
@@ -2559,7 +2721,7 @@ function Combobox({
2559
2721
  setOpen(false);
2560
2722
  },
2561
2723
  children: [
2562
- /* @__PURE__ */ jsx41(
2724
+ /* @__PURE__ */ jsx46(
2563
2725
  "svg",
2564
2726
  {
2565
2727
  xmlns: "http://www.w3.org/2000/svg",
@@ -2574,7 +2736,7 @@ function Combobox({
2574
2736
  value === option.value ? "opacity-100" : "opacity-0"
2575
2737
  ),
2576
2738
  "aria-hidden": "true",
2577
- children: /* @__PURE__ */ jsx41("polyline", { points: "20 6 9 17 4 12" })
2739
+ children: /* @__PURE__ */ jsx46("polyline", { points: "20 6 9 17 4 12" })
2578
2740
  }
2579
2741
  ),
2580
2742
  option.label
@@ -2590,14 +2752,14 @@ Combobox.displayName = "Combobox";
2590
2752
 
2591
2753
  // src/components/sheet/sheet.tsx
2592
2754
  import * as SheetPrimitive from "@radix-ui/react-dialog";
2593
- import { cva as cva7 } from "class-variance-authority";
2755
+ import { cva as cva12 } from "class-variance-authority";
2594
2756
  import * as React37 from "react";
2595
- import { jsx as jsx42, jsxs as jsxs19 } from "react/jsx-runtime";
2757
+ import { jsx as jsx47, jsxs as jsxs19 } from "react/jsx-runtime";
2596
2758
  var Sheet = SheetPrimitive.Root;
2597
2759
  var SheetTrigger = SheetPrimitive.Trigger;
2598
2760
  var SheetClose = SheetPrimitive.Close;
2599
2761
  var SheetPortal = SheetPrimitive.Portal;
2600
- var SheetOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
2762
+ var SheetOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
2601
2763
  SheetPrimitive.Overlay,
2602
2764
  {
2603
2765
  ref,
@@ -2611,7 +2773,7 @@ var SheetOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PU
2611
2773
  }
2612
2774
  ));
2613
2775
  SheetOverlay.displayName = "SheetOverlay";
2614
- var sheetVariants = cva7(
2776
+ var sheetVariants = cva12(
2615
2777
  cn(
2616
2778
  "fixed z-50 gap-[var(--gap-md,1rem)] bg-background p-[var(--space-6,1.5rem)] shadow-lg",
2617
2779
  "transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out",
@@ -2632,7 +2794,7 @@ var sheetVariants = cva7(
2632
2794
  }
2633
2795
  );
2634
2796
  var SheetContent = React37.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs19(SheetPortal, { children: [
2635
- /* @__PURE__ */ jsx42(SheetOverlay, {}),
2797
+ /* @__PURE__ */ jsx47(SheetOverlay, {}),
2636
2798
  /* @__PURE__ */ jsxs19(
2637
2799
  SheetPrimitive.Content,
2638
2800
  {
@@ -2664,12 +2826,12 @@ var SheetContent = React37.forwardRef(({ side = "right", className, children, ..
2664
2826
  className: "h-4 w-4",
2665
2827
  "aria-hidden": "true",
2666
2828
  children: [
2667
- /* @__PURE__ */ jsx42("path", { d: "M18 6 6 18" }),
2668
- /* @__PURE__ */ jsx42("path", { d: "m6 6 12 12" })
2829
+ /* @__PURE__ */ jsx47("path", { d: "M18 6 6 18" }),
2830
+ /* @__PURE__ */ jsx47("path", { d: "m6 6 12 12" })
2669
2831
  ]
2670
2832
  }
2671
2833
  ),
2672
- /* @__PURE__ */ jsx42("span", { className: "sr-only", children: "Close" })
2834
+ /* @__PURE__ */ jsx47("span", { className: "sr-only", children: "Close" })
2673
2835
  ]
2674
2836
  }
2675
2837
  )
@@ -2679,7 +2841,7 @@ var SheetContent = React37.forwardRef(({ side = "right", className, children, ..
2679
2841
  ] }));
2680
2842
  SheetContent.displayName = "SheetContent";
2681
2843
  function SheetHeader({ className, ...props }) {
2682
- return /* @__PURE__ */ jsx42(
2844
+ return /* @__PURE__ */ jsx47(
2683
2845
  "div",
2684
2846
  {
2685
2847
  className: cn("flex flex-col space-y-2 text-center sm:text-left", className),
@@ -2688,7 +2850,7 @@ function SheetHeader({ className, ...props }) {
2688
2850
  );
2689
2851
  }
2690
2852
  function SheetFooter({ className, ...props }) {
2691
- return /* @__PURE__ */ jsx42(
2853
+ return /* @__PURE__ */ jsx47(
2692
2854
  "div",
2693
2855
  {
2694
2856
  className: cn(
@@ -2699,7 +2861,7 @@ function SheetFooter({ className, ...props }) {
2699
2861
  }
2700
2862
  );
2701
2863
  }
2702
- var SheetTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
2864
+ var SheetTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
2703
2865
  SheetPrimitive.Title,
2704
2866
  {
2705
2867
  ref,
@@ -2708,7 +2870,7 @@ var SheetTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE
2708
2870
  }
2709
2871
  ));
2710
2872
  SheetTitle.displayName = "SheetTitle";
2711
- var SheetDescription = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
2873
+ var SheetDescription = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
2712
2874
  SheetPrimitive.Description,
2713
2875
  {
2714
2876
  ref,
@@ -2721,15 +2883,15 @@ SheetDescription.displayName = "SheetDescription";
2721
2883
  // src/components/drawer/drawer.tsx
2722
2884
  import * as React38 from "react";
2723
2885
  import { Drawer as DrawerPrimitive } from "vaul";
2724
- import { jsx as jsx43, jsxs as jsxs20 } from "react/jsx-runtime";
2886
+ import { jsx as jsx48, jsxs as jsxs20 } from "react/jsx-runtime";
2725
2887
  function Drawer({ shouldScaleBackground = true, ...props }) {
2726
- return /* @__PURE__ */ jsx43(DrawerPrimitive.Root, { shouldScaleBackground, ...props });
2888
+ return /* @__PURE__ */ jsx48(DrawerPrimitive.Root, { shouldScaleBackground, ...props });
2727
2889
  }
2728
2890
  Drawer.displayName = "Drawer";
2729
2891
  var DrawerTrigger = DrawerPrimitive.Trigger;
2730
2892
  var DrawerPortal = DrawerPrimitive.Portal;
2731
2893
  var DrawerClose = DrawerPrimitive.Close;
2732
- var DrawerOverlay = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
2894
+ var DrawerOverlay = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
2733
2895
  DrawerPrimitive.Overlay,
2734
2896
  {
2735
2897
  ref,
@@ -2742,7 +2904,7 @@ var DrawerOverlay = React38.forwardRef(({ className, ...props }, ref) => /* @__P
2742
2904
  ));
2743
2905
  DrawerOverlay.displayName = "DrawerOverlay";
2744
2906
  var DrawerContent = React38.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs20(DrawerPortal, { children: [
2745
- /* @__PURE__ */ jsx43(DrawerOverlay, {}),
2907
+ /* @__PURE__ */ jsx48(DrawerOverlay, {}),
2746
2908
  /* @__PURE__ */ jsxs20(
2747
2909
  DrawerPrimitive.Content,
2748
2910
  {
@@ -2753,7 +2915,7 @@ var DrawerContent = React38.forwardRef(({ className, children, ...props }, ref)
2753
2915
  ),
2754
2916
  ...props,
2755
2917
  children: [
2756
- /* @__PURE__ */ jsx43("div", { className: "mx-auto mt-[var(--space-4,1rem)] h-2 w-[100px] rounded-full bg-muted", "aria-hidden": "true" }),
2918
+ /* @__PURE__ */ jsx48("div", { className: "mx-auto mt-[var(--space-4,1rem)] h-2 w-[100px] rounded-full bg-muted", "aria-hidden": "true" }),
2757
2919
  children
2758
2920
  ]
2759
2921
  }
@@ -2761,7 +2923,7 @@ var DrawerContent = React38.forwardRef(({ className, children, ...props }, ref)
2761
2923
  ] }));
2762
2924
  DrawerContent.displayName = "DrawerContent";
2763
2925
  function DrawerHeader({ className, ...props }) {
2764
- return /* @__PURE__ */ jsx43(
2926
+ return /* @__PURE__ */ jsx48(
2765
2927
  "div",
2766
2928
  {
2767
2929
  className: cn("grid gap-1.5 p-[var(--space-4,1rem)] text-center sm:text-left", className),
@@ -2770,9 +2932,9 @@ function DrawerHeader({ className, ...props }) {
2770
2932
  );
2771
2933
  }
2772
2934
  function DrawerFooter({ className, ...props }) {
2773
- return /* @__PURE__ */ jsx43("div", { className: cn("mt-auto flex flex-col gap-[var(--gap-sm,0.5rem)] p-[var(--space-4,1rem)]", className), ...props });
2935
+ return /* @__PURE__ */ jsx48("div", { className: cn("mt-auto flex flex-col gap-[var(--gap-sm,0.5rem)] p-[var(--space-4,1rem)]", className), ...props });
2774
2936
  }
2775
- var DrawerTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
2937
+ var DrawerTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
2776
2938
  DrawerPrimitive.Title,
2777
2939
  {
2778
2940
  ref,
@@ -2781,7 +2943,7 @@ var DrawerTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PUR
2781
2943
  }
2782
2944
  ));
2783
2945
  DrawerTitle.displayName = "DrawerTitle";
2784
- var DrawerDescription = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
2946
+ var DrawerDescription = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
2785
2947
  DrawerPrimitive.Description,
2786
2948
  {
2787
2949
  ref,
@@ -2797,12 +2959,12 @@ import {
2797
2959
  Panel as ResizablePrimitivePanel,
2798
2960
  Separator as ResizablePrimitiveSeparator
2799
2961
  } from "react-resizable-panels";
2800
- import { jsx as jsx44, jsxs as jsxs21 } from "react/jsx-runtime";
2962
+ import { jsx as jsx49, jsxs as jsxs21 } from "react/jsx-runtime";
2801
2963
  function ResizablePanelGroup({
2802
2964
  className,
2803
2965
  ...props
2804
2966
  }) {
2805
- return /* @__PURE__ */ jsx44(
2967
+ return /* @__PURE__ */ jsx49(
2806
2968
  ResizablePrimitiveGroup,
2807
2969
  {
2808
2970
  className: cn(
@@ -2816,7 +2978,7 @@ function ResizablePanelGroup({
2816
2978
  ResizablePanelGroup.displayName = "ResizablePanelGroup";
2817
2979
  var ResizablePanel = ResizablePrimitivePanel;
2818
2980
  function ResizableHandle({ withHandle, className, ...props }) {
2819
- return /* @__PURE__ */ jsx44(
2981
+ return /* @__PURE__ */ jsx49(
2820
2982
  ResizablePrimitiveSeparator,
2821
2983
  {
2822
2984
  className: cn(
@@ -2829,7 +2991,7 @@ function ResizableHandle({ withHandle, className, ...props }) {
2829
2991
  className
2830
2992
  ),
2831
2993
  ...props,
2832
- children: withHandle && /* @__PURE__ */ jsx44("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsxs21(
2994
+ children: withHandle && /* @__PURE__ */ jsx49("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsxs21(
2833
2995
  "svg",
2834
2996
  {
2835
2997
  xmlns: "http://www.w3.org/2000/svg",
@@ -2838,12 +3000,12 @@ function ResizableHandle({ withHandle, className, ...props }) {
2838
3000
  className: "h-2.5 w-2.5",
2839
3001
  "aria-hidden": "true",
2840
3002
  children: [
2841
- /* @__PURE__ */ jsx44("circle", { cx: "9", cy: "5", r: "1" }),
2842
- /* @__PURE__ */ jsx44("circle", { cx: "9", cy: "12", r: "1" }),
2843
- /* @__PURE__ */ jsx44("circle", { cx: "9", cy: "19", r: "1" }),
2844
- /* @__PURE__ */ jsx44("circle", { cx: "15", cy: "5", r: "1" }),
2845
- /* @__PURE__ */ jsx44("circle", { cx: "15", cy: "12", r: "1" }),
2846
- /* @__PURE__ */ jsx44("circle", { cx: "15", cy: "19", r: "1" })
3003
+ /* @__PURE__ */ jsx49("circle", { cx: "9", cy: "5", r: "1" }),
3004
+ /* @__PURE__ */ jsx49("circle", { cx: "9", cy: "12", r: "1" }),
3005
+ /* @__PURE__ */ jsx49("circle", { cx: "9", cy: "19", r: "1" }),
3006
+ /* @__PURE__ */ jsx49("circle", { cx: "15", cy: "5", r: "1" }),
3007
+ /* @__PURE__ */ jsx49("circle", { cx: "15", cy: "12", r: "1" }),
3008
+ /* @__PURE__ */ jsx49("circle", { cx: "15", cy: "19", r: "1" })
2847
3009
  ]
2848
3010
  }
2849
3011
  ) })
@@ -2853,10 +3015,10 @@ function ResizableHandle({ withHandle, className, ...props }) {
2853
3015
  ResizableHandle.displayName = "ResizableHandle";
2854
3016
 
2855
3017
  // src/components/sidebar/sidebar.tsx
2856
- import { Slot as Slot4 } from "@radix-ui/react-slot";
2857
- import { cva as cva8 } from "class-variance-authority";
3018
+ import { Slot as Slot5 } from "@radix-ui/react-slot";
3019
+ import { cva as cva13 } from "class-variance-authority";
2858
3020
  import * as React39 from "react";
2859
- import { Fragment as Fragment2, jsx as jsx45, jsxs as jsxs22 } from "react/jsx-runtime";
3021
+ import { Fragment as Fragment2, jsx as jsx50, jsxs as jsxs22 } from "react/jsx-runtime";
2860
3022
  var SidebarContext = React39.createContext(null);
2861
3023
  function useSidebar() {
2862
3024
  const ctx = React39.useContext(SidebarContext);
@@ -2885,7 +3047,7 @@ function SidebarProvider({
2885
3047
  [isControlled, onOpenChange]
2886
3048
  );
2887
3049
  const value = React39.useMemo(() => ({ open, setOpen }), [open, setOpen]);
2888
- return /* @__PURE__ */ jsx45(SidebarContext.Provider, { value, children: /* @__PURE__ */ jsx45(
3050
+ return /* @__PURE__ */ jsx50(SidebarContext.Provider, { value, children: /* @__PURE__ */ jsx50(
2889
3051
  "div",
2890
3052
  {
2891
3053
  "data-state": open ? "open" : "closed",
@@ -2895,7 +3057,7 @@ function SidebarProvider({
2895
3057
  ) });
2896
3058
  }
2897
3059
  SidebarProvider.displayName = "SidebarProvider";
2898
- var sidebarVariants = cva8(
3060
+ var sidebarVariants = cva13(
2899
3061
  cn(
2900
3062
  "flex h-full shrink-0 flex-col border-r bg-background text-foreground",
2901
3063
  "transition-[width] duration-[var(--duration-normal,200ms)] ease-out"
@@ -2920,7 +3082,7 @@ var sidebarVariants = cva8(
2920
3082
  var Sidebar = React39.forwardRef(
2921
3083
  ({ className, side = "left", children, ...props }, ref) => {
2922
3084
  const { open } = useSidebar();
2923
- return /* @__PURE__ */ jsx45(
3085
+ return /* @__PURE__ */ jsx50(
2924
3086
  "aside",
2925
3087
  {
2926
3088
  ref,
@@ -2938,9 +3100,9 @@ Sidebar.displayName = "Sidebar";
2938
3100
  var SidebarTrigger = React39.forwardRef(
2939
3101
  ({ asChild, className, onClick, "aria-label": ariaLabel, ...props }, ref) => {
2940
3102
  const { open, setOpen } = useSidebar();
2941
- const Comp = asChild ? Slot4 : "button";
3103
+ const Comp = asChild ? Slot5 : "button";
2942
3104
  const resolvedAriaLabel = ariaLabel ?? (asChild ? void 0 : open ? "Collapse sidebar" : "Expand sidebar");
2943
- return /* @__PURE__ */ jsx45(
3105
+ return /* @__PURE__ */ jsx50(
2944
3106
  Comp,
2945
3107
  {
2946
3108
  ref,
@@ -2974,12 +3136,12 @@ var SidebarTrigger = React39.forwardRef(
2974
3136
  className: "h-4 w-4",
2975
3137
  "aria-hidden": "true",
2976
3138
  children: [
2977
- /* @__PURE__ */ jsx45("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", ry: "2" }),
2978
- /* @__PURE__ */ jsx45("line", { x1: "9", y1: "3", x2: "9", y2: "21" })
3139
+ /* @__PURE__ */ jsx50("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", ry: "2" }),
3140
+ /* @__PURE__ */ jsx50("line", { x1: "9", y1: "3", x2: "9", y2: "21" })
2979
3141
  ]
2980
3142
  }
2981
3143
  ),
2982
- /* @__PURE__ */ jsx45("span", { className: "sr-only", children: "Toggle sidebar" })
3144
+ /* @__PURE__ */ jsx50("span", { className: "sr-only", children: "Toggle sidebar" })
2983
3145
  ] })
2984
3146
  }
2985
3147
  );
@@ -2987,7 +3149,7 @@ var SidebarTrigger = React39.forwardRef(
2987
3149
  );
2988
3150
  SidebarTrigger.displayName = "SidebarTrigger";
2989
3151
  var SidebarHeader = React39.forwardRef(
2990
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
3152
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
2991
3153
  "div",
2992
3154
  {
2993
3155
  ref,
@@ -2998,7 +3160,7 @@ var SidebarHeader = React39.forwardRef(
2998
3160
  );
2999
3161
  SidebarHeader.displayName = "SidebarHeader";
3000
3162
  var SidebarContent = React39.forwardRef(
3001
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
3163
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
3002
3164
  "div",
3003
3165
  {
3004
3166
  ref,
@@ -3009,7 +3171,7 @@ var SidebarContent = React39.forwardRef(
3009
3171
  );
3010
3172
  SidebarContent.displayName = "SidebarContent";
3011
3173
  var SidebarFooter = React39.forwardRef(
3012
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
3174
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
3013
3175
  "div",
3014
3176
  {
3015
3177
  ref,
@@ -3021,8 +3183,8 @@ var SidebarFooter = React39.forwardRef(
3021
3183
  SidebarFooter.displayName = "SidebarFooter";
3022
3184
  var SidebarItem = React39.forwardRef(
3023
3185
  ({ asChild, active, className, ...props }, ref) => {
3024
- const Comp = asChild ? Slot4 : "button";
3025
- return /* @__PURE__ */ jsx45(
3186
+ const Comp = asChild ? Slot5 : "button";
3187
+ return /* @__PURE__ */ jsx50(
3026
3188
  Comp,
3027
3189
  {
3028
3190
  ref,
@@ -4847,6 +5009,535 @@ var aspectRatioSchema = {
4847
5009
  tags: ["aspect-ratio", "layout", "image", "video", "ratio"]
4848
5010
  };
4849
5011
 
5012
+ // src/primitives/container/container.schema.ts
5013
+ var containerSchema = {
5014
+ name: "container",
5015
+ displayName: "Container",
5016
+ description: "Centered max-width wrapper that constrains content to readable widths. Sizes map to `--container-*` prose-width tokens; padding maps to `--space-*`.",
5017
+ category: "primitive",
5018
+ subcategory: "layout",
5019
+ props: [
5020
+ {
5021
+ name: "size",
5022
+ type: "enum",
5023
+ required: false,
5024
+ default: "lg",
5025
+ description: "Max-width preset bound to `--container-*` tokens (sm=33rem, md=40rem, lg=50rem, xl=66rem, full=100%).",
5026
+ enumValues: ["sm", "md", "lg", "xl", "full"]
5027
+ },
5028
+ {
5029
+ name: "padding",
5030
+ type: "enum",
5031
+ required: false,
5032
+ default: "md",
5033
+ description: "Horizontal padding bound to `--space-*` tokens (none=0, sm=0.75rem, md=1rem, lg=2rem).",
5034
+ enumValues: ["none", "sm", "md", "lg"]
5035
+ },
5036
+ {
5037
+ name: "asChild",
5038
+ type: "boolean",
5039
+ required: false,
5040
+ default: false,
5041
+ description: "Render as a different element via Radix `Slot`. Use to render as `<main>`, `<section>`, etc. for landmark semantics."
5042
+ }
5043
+ ],
5044
+ variants: [
5045
+ {
5046
+ name: "size",
5047
+ description: "Max-width preset bound to `--container-*` tokens.",
5048
+ values: [
5049
+ { value: "sm", description: "33rem (\u2248530px) \u2014 narrow column for short content." },
5050
+ { value: "md", description: "40rem (\u2248640px) \u2014 comfortable reading width." },
5051
+ { value: "lg", description: "50rem (\u2248800px) \u2014 default; standard article width." },
5052
+ { value: "xl", description: "66rem (\u22481056px) \u2014 wider canvas for dashboards or marketing." },
5053
+ { value: "full", description: "100% \u2014 disable max-width clamp." }
5054
+ ],
5055
+ default: "lg"
5056
+ },
5057
+ {
5058
+ name: "padding",
5059
+ description: "Horizontal padding bound to `--space-*` tokens.",
5060
+ values: [
5061
+ { value: "none", description: "0 \u2014 flush to container edges." },
5062
+ { value: "sm", description: "0.75rem \u2014 tight gutter." },
5063
+ { value: "md", description: "1rem \u2014 default; standard reading gutter." },
5064
+ { value: "lg", description: "2rem \u2014 generous gutter for marketing pages." }
5065
+ ],
5066
+ default: "md"
5067
+ }
5068
+ ],
5069
+ slots: [
5070
+ {
5071
+ name: "children",
5072
+ description: "Page content to constrain \u2014 typically a section, article, or grid.",
5073
+ required: true,
5074
+ acceptedTypes: ["ReactNode"]
5075
+ }
5076
+ ],
5077
+ dependencies: {
5078
+ npm: ["class-variance-authority", "@radix-ui/react-slot"],
5079
+ internal: ["lib/utils"],
5080
+ peer: ["react"]
5081
+ },
5082
+ tokensUsed: [
5083
+ "--container-sm",
5084
+ "--container-md",
5085
+ "--container-lg",
5086
+ "--container-xl",
5087
+ "--space-3",
5088
+ "--space-4",
5089
+ "--space-8"
5090
+ ],
5091
+ examples: [
5092
+ {
5093
+ title: "Reading-width article",
5094
+ description: "lg size (50rem) + md padding for an article body.",
5095
+ code: '<Container size="lg" padding="md">\n <article>...</article>\n</Container>'
5096
+ },
5097
+ {
5098
+ title: "Full-width hero",
5099
+ description: "Use size=full when you want the section to span the viewport.",
5100
+ code: '<Container size="full" padding="none">\n <Hero />\n</Container>'
5101
+ }
5102
+ ],
5103
+ ai: {
5104
+ whenToUse: "Use to constrain page content to readable widths. Pair with `Stack` or `Grid` inside for vertical/grid layouts. Default for any centered article, settings page, or marketing section.",
5105
+ whenNotToUse: 'Don\'t use inside another `Container` (double-clamping). Don\'t use as a drop-in for `<main>` semantics \u2014 it\'s a layout primitive, not a landmark. For full-bleed sections (edge-to-edge banners), pass `size="full" padding="none"`.',
5106
+ commonMistakes: [
5107
+ "Wrapping a `Container` in another `Container` and getting an unexpectedly narrow column",
5108
+ 'Using `padding="none"` and forgetting that children still need their own gutter \u2014 the parent contributes nothing',
5109
+ "Treating `lg` as the largest size \u2014 `xl` (66rem) and `full` are bigger"
5110
+ ],
5111
+ relatedComponents: ["stack", "grid", "cluster"],
5112
+ accessibilityNotes: "Container is presentational. Wrap in a semantic landmark (`<main>`, `<section>`, `<article>`) when the page structure needs it; Container itself renders a plain `<div>`.",
5113
+ tokenBudget: 250
5114
+ },
5115
+ tags: ["container", "layout", "wrapper", "max-width", "primitive"]
5116
+ };
5117
+
5118
+ // src/primitives/stack/stack.schema.ts
5119
+ var stackSchema = {
5120
+ name: "stack",
5121
+ displayName: "Stack",
5122
+ description: 'Vertical flex flow with token-bound gap. The headless equivalent of `<div className="flex flex-col gap-X">` with consistent spacing scale.',
5123
+ category: "primitive",
5124
+ subcategory: "layout",
5125
+ props: [
5126
+ {
5127
+ name: "gap",
5128
+ type: "enum",
5129
+ required: false,
5130
+ default: "md",
5131
+ description: "Vertical spacing between children, bound to `--gap-*` tokens.",
5132
+ enumValues: ["xs", "sm", "md", "lg", "xl"]
5133
+ },
5134
+ {
5135
+ name: "align",
5136
+ type: "enum",
5137
+ required: false,
5138
+ default: "stretch",
5139
+ description: "Cross-axis alignment (CSS `align-items`).",
5140
+ enumValues: ["start", "center", "end", "stretch"]
5141
+ },
5142
+ {
5143
+ name: "justify",
5144
+ type: "enum",
5145
+ required: false,
5146
+ default: "start",
5147
+ description: "Main-axis distribution (CSS `justify-content`).",
5148
+ enumValues: ["start", "center", "end", "between"]
5149
+ }
5150
+ ],
5151
+ variants: [
5152
+ {
5153
+ name: "gap",
5154
+ description: "Vertical gap between children, bound to `--gap-*` tokens.",
5155
+ values: [
5156
+ { value: "xs", description: "0.25rem \u2014 barely-there spacing." },
5157
+ { value: "sm", description: "0.5rem \u2014 tight grouping." },
5158
+ { value: "md", description: "1rem \u2014 default; standard rhythm." },
5159
+ { value: "lg", description: "1.5rem \u2014 section-level spacing." },
5160
+ { value: "xl", description: "2rem \u2014 major separation." }
5161
+ ],
5162
+ default: "md"
5163
+ },
5164
+ {
5165
+ name: "align",
5166
+ description: "Cross-axis alignment (CSS `align-items`).",
5167
+ values: [
5168
+ { value: "start", description: "Children align to left edge." },
5169
+ { value: "center", description: "Children center horizontally." },
5170
+ { value: "end", description: "Children align to right edge." },
5171
+ { value: "stretch", description: "Default \u2014 children fill container width." }
5172
+ ],
5173
+ default: "stretch"
5174
+ },
5175
+ {
5176
+ name: "justify",
5177
+ description: "Main-axis distribution (CSS `justify-content`).",
5178
+ values: [
5179
+ { value: "start", description: "Default \u2014 children pack to top." },
5180
+ { value: "center", description: "Children center vertically." },
5181
+ { value: "end", description: "Children pack to bottom." },
5182
+ { value: "between", description: "First child to top, last to bottom, even distribution." }
5183
+ ],
5184
+ default: "start"
5185
+ }
5186
+ ],
5187
+ slots: [
5188
+ {
5189
+ name: "children",
5190
+ description: "Items to stack vertically.",
5191
+ required: true,
5192
+ acceptedTypes: ["ReactNode"]
5193
+ }
5194
+ ],
5195
+ dependencies: {
5196
+ npm: ["class-variance-authority"],
5197
+ internal: ["lib/utils"],
5198
+ peer: ["react"]
5199
+ },
5200
+ tokensUsed: ["--gap-xs", "--gap-sm", "--gap-md", "--gap-lg", "--gap-xl"],
5201
+ examples: [
5202
+ {
5203
+ title: "Form sections",
5204
+ description: "Lg gap separates labelled groups; nested Stack with sm gap groups label+input.",
5205
+ code: '<Stack gap="lg">\n <Stack gap="sm"><Label>Email</Label><Input /></Stack>\n <Stack gap="sm"><Label>Password</Label><Input type="password" /></Stack>\n <Button>Submit</Button>\n</Stack>'
5206
+ },
5207
+ {
5208
+ title: "Centered hero",
5209
+ description: "Center children horizontally for a centered call-to-action stack.",
5210
+ code: '<Stack gap="md" align="center">\n <h1>Title</h1>\n <p>Subtitle</p>\n <Button>Get started</Button>\n</Stack>'
5211
+ }
5212
+ ],
5213
+ ai: {
5214
+ whenToUse: "Use anywhere you'd write `flex flex-col gap-X`. Default for vertical lists of dissimilar items (label + input + helper text), section bodies, sidebar items, button groups stacked vertically.",
5215
+ whenNotToUse: "Don't use for tabular data \u2014 use `<table>` or DataTable. Don't use for grid-like layouts \u2014 use `Grid`. Don't reach for `Stack` when a single child needs no spacing \u2014 just render the child.",
5216
+ commonMistakes: [
5217
+ 'Setting `gap="md"` then adding `mt-*` / `space-y-*` on individual children \u2014 pick one spacing system',
5218
+ 'Using `align="center"` and wondering why children expand to full width \u2014 that\'s the `stretch` default for cross-axis',
5219
+ "Nesting Stack inside Stack with the same gap when one Stack with two children would suffice"
5220
+ ],
5221
+ relatedComponents: ["cluster", "grid", "container"],
5222
+ accessibilityNotes: "Stack is presentational. Wrap stacked navigation links in a `<nav>`, stacked form fields in a `<form>`, etc. \u2014 Stack does not contribute landmark semantics.",
5223
+ tokenBudget: 250
5224
+ },
5225
+ tags: ["stack", "layout", "flex", "column", "vertical", "primitive"]
5226
+ };
5227
+
5228
+ // src/primitives/cluster/cluster.schema.ts
5229
+ var clusterSchema = {
5230
+ name: "cluster",
5231
+ displayName: "Cluster",
5232
+ description: "Horizontal flex flow with wrap and token-bound gap. Use for tag lists, button rows, breadcrumbs, and any group of equally-weighted inline items.",
5233
+ category: "primitive",
5234
+ subcategory: "layout",
5235
+ props: [
5236
+ {
5237
+ name: "gap",
5238
+ type: "enum",
5239
+ required: false,
5240
+ default: "md",
5241
+ description: "Gap between items, bound to `--gap-*` tokens. Applies to both row and column gaps when wrapping.",
5242
+ enumValues: ["xs", "sm", "md", "lg", "xl"]
5243
+ },
5244
+ {
5245
+ name: "align",
5246
+ type: "enum",
5247
+ required: false,
5248
+ default: "center",
5249
+ description: "Cross-axis alignment (CSS `align-items`). `baseline` aligns text-baselines for mixed-size siblings; `stretch` makes items fill row height (useful for wrap-card layouts).",
5250
+ enumValues: ["start", "center", "end", "stretch", "baseline"]
5251
+ },
5252
+ {
5253
+ name: "justify",
5254
+ type: "enum",
5255
+ required: false,
5256
+ default: "start",
5257
+ description: "Main-axis distribution (CSS `justify-content`).",
5258
+ enumValues: ["start", "center", "end", "between"]
5259
+ }
5260
+ ],
5261
+ variants: [
5262
+ {
5263
+ name: "gap",
5264
+ description: "Gap between items, bound to `--gap-*` tokens (applies to row + column gaps when wrapping).",
5265
+ values: [
5266
+ { value: "xs", description: "0.25rem \u2014 barely-there spacing." },
5267
+ { value: "sm", description: "0.5rem \u2014 tight chip group." },
5268
+ { value: "md", description: "1rem \u2014 default; standard rhythm." },
5269
+ { value: "lg", description: "1.5rem \u2014 generous separation." },
5270
+ { value: "xl", description: "2rem \u2014 section-scale spacing." }
5271
+ ],
5272
+ default: "md"
5273
+ },
5274
+ {
5275
+ name: "align",
5276
+ description: "Cross-axis alignment (CSS `align-items`).",
5277
+ values: [
5278
+ { value: "start", description: "Items align to top of row." },
5279
+ { value: "center", description: "Default \u2014 items center vertically in the row." },
5280
+ { value: "end", description: "Items align to bottom of row." },
5281
+ { value: "stretch", description: "Items fill row height \u2014 use for wrap layouts of equal-height cards." },
5282
+ { value: "baseline", description: "Text-baselines align across mixed-size siblings." }
5283
+ ],
5284
+ default: "center"
5285
+ },
5286
+ {
5287
+ name: "justify",
5288
+ description: "Main-axis distribution (CSS `justify-content`).",
5289
+ values: [
5290
+ { value: "start", description: "Default \u2014 items pack to start of row." },
5291
+ { value: "center", description: "Items center horizontally." },
5292
+ { value: "end", description: "Items pack to end of row." },
5293
+ { value: "between", description: "First item flush left, last flush right, even distribution." }
5294
+ ],
5295
+ default: "start"
5296
+ }
5297
+ ],
5298
+ slots: [
5299
+ {
5300
+ name: "children",
5301
+ description: "Items to lay out horizontally with wrap.",
5302
+ required: true,
5303
+ acceptedTypes: ["ReactNode"]
5304
+ }
5305
+ ],
5306
+ dependencies: {
5307
+ npm: ["class-variance-authority"],
5308
+ internal: ["lib/utils"],
5309
+ peer: ["react"]
5310
+ },
5311
+ tokensUsed: ["--gap-xs", "--gap-sm", "--gap-md", "--gap-lg", "--gap-xl"],
5312
+ examples: [
5313
+ {
5314
+ title: "Tag chips",
5315
+ description: "Small gap, wraps when overflowing the row.",
5316
+ code: '<Cluster gap="sm">\n {tags.map((t) => <Badge key={t}>{t}</Badge>)}\n</Cluster>'
5317
+ },
5318
+ {
5319
+ title: "Action bar",
5320
+ description: "Right-aligned buttons inside a panel footer.",
5321
+ code: '<Cluster gap="sm" justify="end">\n <Button variant="ghost">Cancel</Button>\n <Button>Save</Button>\n</Cluster>'
5322
+ }
5323
+ ],
5324
+ ai: {
5325
+ whenToUse: "Use for any horizontal row of items that should wrap when space runs out: tag clouds, breadcrumbs, button rows, social-link icon strips, inline metadata badges. Pick `Cluster` over `flex` when you want predictable wrap + gap behavior.",
5326
+ whenNotToUse: "Don't use for two-element rows where you need precise positional control (left/right) \u2014 use `Stack` rotated or a flex with `justify-between` directly. Don't use for grid-aligned layouts where columns must line up across rows \u2014 use `Grid`.",
5327
+ commonMistakes: [
5328
+ "Forgetting that `Cluster` wraps \u2014 adding `flex-nowrap` defeats the purpose; if you don't want wrap, use a flex row or `Stack` rotated",
5329
+ "Setting `align=\"baseline\"` for icon+text rows where the icon's bbox doesn't have a baseline \u2014 use `center` instead",
5330
+ "Reaching for `Cluster` for tabular alignment \u2014 use `Grid` or a real `<table>` when columns must line up"
5331
+ ],
5332
+ relatedComponents: ["stack", "grid", "container"],
5333
+ accessibilityNotes: "Cluster is presentational. Lists of navigational items should be wrapped in `<nav>` (and ideally `<ul>` / `<li>`). Lists of tags can use a list element for screen-reader semantics; the visual wrap is independent.",
5334
+ tokenBudget: 250
5335
+ },
5336
+ tags: ["cluster", "layout", "flex", "wrap", "horizontal", "primitive"]
5337
+ };
5338
+
5339
+ // src/primitives/grid/grid.schema.ts
5340
+ var gridSchema = {
5341
+ name: "grid",
5342
+ displayName: "Grid",
5343
+ description: 'CSS grid with column-count presets and token-bound gap. Pass `cols="auto-fit"` + `minColWidth` for responsive grids without media queries.',
5344
+ category: "primitive",
5345
+ subcategory: "layout",
5346
+ props: [
5347
+ {
5348
+ name: "cols",
5349
+ type: "enum",
5350
+ required: false,
5351
+ default: "3",
5352
+ description: 'Number of fixed columns, or `"auto-fit"` for responsive tracks (use with `minColWidth`).',
5353
+ enumValues: ["1", "2", "3", "4", "6", "auto-fit"]
5354
+ },
5355
+ {
5356
+ name: "gap",
5357
+ type: "enum",
5358
+ required: false,
5359
+ default: "md",
5360
+ description: "Gap between cells, bound to `--gap-*` tokens.",
5361
+ enumValues: ["xs", "sm", "md", "lg", "xl"]
5362
+ },
5363
+ {
5364
+ name: "align",
5365
+ type: "enum",
5366
+ required: false,
5367
+ default: "stretch",
5368
+ description: "Cell vertical alignment within their grid row.",
5369
+ enumValues: ["start", "center", "end", "stretch"]
5370
+ },
5371
+ {
5372
+ name: "minColWidth",
5373
+ type: "string",
5374
+ required: false,
5375
+ default: "16rem",
5376
+ description: 'Min track size for `cols="auto-fit"` (e.g. `"20rem"`). Ignored when `cols` is a fixed integer.'
5377
+ }
5378
+ ],
5379
+ variants: [
5380
+ {
5381
+ name: "cols",
5382
+ description: "Column count or `auto-fit` mode.",
5383
+ values: [
5384
+ { value: "1", description: "Single column \u2014 items stack vertically inside the grid." },
5385
+ { value: "2", description: "Two even columns." },
5386
+ { value: "3", description: "Default \u2014 three even columns." },
5387
+ { value: "4", description: "Four even columns." },
5388
+ { value: "6", description: "Six even columns \u2014 dense layouts." },
5389
+ { value: "auto-fit", description: "Tracks repeat to fill width, never below `minColWidth`." }
5390
+ ],
5391
+ default: "3"
5392
+ },
5393
+ {
5394
+ name: "gap",
5395
+ description: "Gap between cells, bound to `--gap-*` tokens.",
5396
+ values: [
5397
+ { value: "xs", description: "0.25rem \u2014 minimal separation." },
5398
+ { value: "sm", description: "0.5rem \u2014 tight grid." },
5399
+ { value: "md", description: "1rem \u2014 default; standard rhythm." },
5400
+ { value: "lg", description: "1.5rem \u2014 generous separation." },
5401
+ { value: "xl", description: "2rem \u2014 major separation between cards." }
5402
+ ],
5403
+ default: "md"
5404
+ },
5405
+ {
5406
+ name: "align",
5407
+ description: "Cell vertical alignment within their grid row.",
5408
+ values: [
5409
+ { value: "start", description: "Cells align to top of row." },
5410
+ { value: "center", description: "Cells center vertically." },
5411
+ { value: "end", description: "Cells align to bottom of row." },
5412
+ { value: "stretch", description: "Default \u2014 cells fill row height." }
5413
+ ],
5414
+ default: "stretch"
5415
+ }
5416
+ ],
5417
+ slots: [
5418
+ {
5419
+ name: "children",
5420
+ description: "Grid cells \u2014 typically Cards, images, or any uniform block.",
5421
+ required: true,
5422
+ acceptedTypes: ["ReactNode"]
5423
+ }
5424
+ ],
5425
+ dependencies: {
5426
+ npm: ["class-variance-authority"],
5427
+ internal: ["lib/utils"],
5428
+ peer: ["react"]
5429
+ },
5430
+ tokensUsed: ["--gap-xs", "--gap-sm", "--gap-md", "--gap-lg", "--gap-xl"],
5431
+ examples: [
5432
+ {
5433
+ title: "Three-column card grid",
5434
+ description: "Fixed 3 columns with medium gap.",
5435
+ code: '<Grid cols={3} gap="md">\n {items.map((i) => <Card key={i.id}>{i.title}</Card>)}\n</Grid>'
5436
+ },
5437
+ {
5438
+ title: "Responsive auto-fit",
5439
+ description: "Tracks fit as many 20rem columns as the viewport allows; no media queries needed.",
5440
+ code: '<Grid cols="auto-fit" minColWidth="20rem" gap="lg">\n {items.map(...)}\n</Grid>'
5441
+ }
5442
+ ],
5443
+ ai: {
5444
+ whenToUse: 'Use for visually-aligned grids of similar items: card galleries, image walls, dashboard tiles, settings panels. Prefer `cols="auto-fit"` + `minColWidth` over hand-written breakpoints when the column count should adapt to viewport width.',
5445
+ whenNotToUse: "Don't use for one-dimensional flows \u2014 use `Stack` (vertical) or `Cluster` (horizontal). Don't use for tabular data \u2014 use `<table>` or DataTable. Don't fight `Grid` to make uneven columns; if cells need different sizes, use a flexbox layout or a CSS grid with named tracks directly.",
5446
+ commonMistakes: [
5447
+ 'Setting `cols={5}` and getting nothing \u2014 the preset only supports 1/2/3/4/6 (deliberate, to avoid odd visual rhythms); use `cols="auto-fit"` for arbitrary counts',
5448
+ 'Passing `cols="auto-fit"` without `minColWidth` \u2014 the default `16rem` may not match your design intent',
5449
+ "Using `Grid` for two children when `Cluster` or `Stack` would communicate intent better"
5450
+ ],
5451
+ relatedComponents: ["stack", "cluster", "container", "card"],
5452
+ accessibilityNotes: "Grid is presentational. If the grid renders a list of similar items, wrap in `<ul>`/`<li>` for screen-reader semantics \u2014 Grid only handles visual layout.",
5453
+ tokenBudget: 300
5454
+ },
5455
+ tags: ["grid", "layout", "css-grid", "responsive", "auto-fit", "primitive"]
5456
+ };
5457
+
5458
+ // src/primitives/spacer/spacer.schema.ts
5459
+ var spacerSchema = {
5460
+ name: "spacer",
5461
+ displayName: "Spacer",
5462
+ description: "Declarative whitespace block bound to `--space-*` tokens. Use when sibling spacing can't come from a parent's `gap`.",
5463
+ category: "primitive",
5464
+ subcategory: "layout",
5465
+ props: [
5466
+ {
5467
+ name: "size",
5468
+ type: "enum",
5469
+ required: false,
5470
+ default: "md",
5471
+ description: "Spacing token (xs=0.25rem, sm=0.5rem, md=1rem, lg=2rem, xl=4rem). Bound to `--space-*`.",
5472
+ enumValues: ["xs", "sm", "md", "lg", "xl"]
5473
+ },
5474
+ {
5475
+ name: "axis",
5476
+ type: "enum",
5477
+ required: false,
5478
+ default: "vertical",
5479
+ description: "Which axis to expand. Vertical = height; horizontal = width; both = square.",
5480
+ enumValues: ["vertical", "horizontal", "both"]
5481
+ }
5482
+ ],
5483
+ variants: [
5484
+ {
5485
+ name: "size",
5486
+ description: "Spacer extent bound to `--space-*` tokens.",
5487
+ values: [
5488
+ { value: "xs", description: "0.25rem \u2014 micro-gap." },
5489
+ { value: "sm", description: "0.5rem \u2014 tight separation." },
5490
+ { value: "md", description: "1rem \u2014 default; standard breathing room." },
5491
+ { value: "lg", description: "2rem \u2014 section-scale separation." },
5492
+ { value: "xl", description: "4rem \u2014 major separation between hero areas." }
5493
+ ],
5494
+ default: "md"
5495
+ },
5496
+ {
5497
+ name: "axis",
5498
+ description: "Which axis the spacer extends along.",
5499
+ values: [
5500
+ { value: "vertical", description: "Default \u2014 fixed height, 1px width." },
5501
+ { value: "horizontal", description: "Fixed width, 1px height \u2014 for flex rows." },
5502
+ { value: "both", description: "Square block \u2014 rare; usually pick one axis." }
5503
+ ],
5504
+ default: "vertical"
5505
+ }
5506
+ ],
5507
+ slots: [],
5508
+ dependencies: {
5509
+ npm: ["class-variance-authority"],
5510
+ internal: ["lib/utils"],
5511
+ peer: ["react"]
5512
+ },
5513
+ tokensUsed: ["--space-1", "--space-2", "--space-4", "--space-8", "--space-16"],
5514
+ examples: [
5515
+ {
5516
+ title: "Vertical breathing room",
5517
+ description: "Push two sections apart inside a parent that doesn't manage gap.",
5518
+ code: '<>\n <Hero />\n <Spacer size="xl" />\n <Features />\n</>'
5519
+ },
5520
+ {
5521
+ title: "Horizontal flex spacer",
5522
+ description: "Push siblings to opposite ends of a flex row.",
5523
+ code: '<div className="flex items-center">\n <Logo />\n <Spacer axis="horizontal" size="lg" />\n <Nav />\n</div>'
5524
+ }
5525
+ ],
5526
+ ai: {
5527
+ whenToUse: "Use as an explicit whitespace primitive when you can't (or don't want to) use `gap` on the parent \u2014 typically: pushing siblings apart inside a flex row that already has gap-0, or inserting one-off vertical breathing room between top-level sections that aren't wrapped in a Stack.",
5528
+ whenNotToUse: "Don't use Spacer when a `Stack` or `Cluster` parent's `gap` would do the same thing \u2014 that scales better and keeps the spacing concern with the layout primitive. Don't use Spacer to flush content to one edge of a flex container \u2014 use `ml-auto` / `justify-between` directly.",
5529
+ commonMistakes: [
5530
+ "Using `<Spacer />` between every child in a Stack \u2014 just set the Stack's `gap` instead",
5531
+ 'Using `axis="both"` and getting a square block where you wanted a line \u2014 `both` is rare, usually you want vertical or horizontal',
5532
+ `Setting size="lg" on a horizontal spacer and getting nothing visible because the parent isn't a flex row \u2014 Spacer reserves space, it doesn't push siblings on its own`
5533
+ ],
5534
+ relatedComponents: ["stack", "cluster", "separator"],
5535
+ accessibilityNotes: 'Spacer is `aria-hidden="true"` \u2014 screen readers skip it. Don\'t use a Spacer where a `Separator` would convey meaning (a thematic break should be `Separator`, not `Spacer`).',
5536
+ tokenBudget: 200
5537
+ },
5538
+ tags: ["spacer", "layout", "whitespace", "spacing", "primitive"]
5539
+ };
5540
+
4850
5541
  // src/components/collapsible/collapsible.schema.ts
4851
5542
  var collapsibleSchema = {
4852
5543
  name: "collapsible",
@@ -6270,6 +6961,7 @@ export {
6270
6961
  CardHeader,
6271
6962
  CardTitle,
6272
6963
  Checkbox,
6964
+ Cluster,
6273
6965
  Collapsible,
6274
6966
  CollapsibleContent2 as CollapsibleContent,
6275
6967
  CollapsibleTrigger2 as CollapsibleTrigger,
@@ -6283,6 +6975,7 @@ export {
6283
6975
  CommandList,
6284
6976
  CommandSeparator,
6285
6977
  CommandShortcut,
6978
+ Container,
6286
6979
  ContextMenu,
6287
6980
  ContextMenuCheckboxItem,
6288
6981
  ContextMenuContent,
@@ -6337,6 +7030,7 @@ export {
6337
7030
  FormItem,
6338
7031
  FormLabel,
6339
7032
  FormMessage,
7033
+ Grid,
6340
7034
  HoverCard,
6341
7035
  HoverCardContent,
6342
7036
  HoverCardTrigger,
@@ -6412,6 +7106,8 @@ export {
6412
7106
  SidebarTrigger,
6413
7107
  Skeleton,
6414
7108
  Slider,
7109
+ Spacer,
7110
+ Stack,
6415
7111
  Switch,
6416
7112
  Table,
6417
7113
  TableBody,
@@ -6448,10 +7144,14 @@ export {
6448
7144
  calendarSchema,
6449
7145
  cardSchema,
6450
7146
  checkboxSchema,
7147
+ clusterSchema,
7148
+ clusterVariants,
6451
7149
  cn,
6452
7150
  collapsibleSchema,
6453
7151
  comboboxSchema,
6454
7152
  commandSchema,
7153
+ containerSchema,
7154
+ containerVariants,
6455
7155
  contextMenuSchema,
6456
7156
  dataTableSchema,
6457
7157
  datePickerSchema,
@@ -6459,6 +7159,8 @@ export {
6459
7159
  drawerSchema,
6460
7160
  dropdownMenuSchema,
6461
7161
  formSchema,
7162
+ gridSchema,
7163
+ gridVariants,
6462
7164
  hoverCardSchema,
6463
7165
  inputOTPSchema,
6464
7166
  inputSchema,
@@ -6479,6 +7181,10 @@ export {
6479
7181
  skeletonSchema,
6480
7182
  sliderSchema,
6481
7183
  sonnerSchema,
7184
+ spacerSchema,
7185
+ spacerVariants,
7186
+ stackSchema,
7187
+ stackVariants,
6482
7188
  switchSchema,
6483
7189
  tableSchema,
6484
7190
  tabsSchema,