@hex-core/components 1.0.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -39,16 +39,17 @@ var buttonVariants = cva(
39
39
  "hover:bg-destructive/90 hover:shadow-md hover:shadow-destructive/25"
40
40
  ].join(" "),
41
41
  outline: [
42
+ // Self-borne shape: token border (border-input) + an inset-ring tinted with
43
+ // foreground so the boundary is visible on flat-white surfaces too, not only
44
+ // inside elevated Card/Popover/Dialog containers.
42
45
  "border border-input bg-background",
43
- "shadow-sm",
44
- "hover:bg-accent hover:text-accent-foreground hover:shadow-md"
46
+ "shadow-sm inset-ring-1 inset-ring-foreground/[0.06]",
47
+ "hover:bg-accent hover:text-accent-foreground hover:shadow-md hover:inset-ring-foreground/12"
45
48
  ].join(" "),
46
49
  secondary: [
47
50
  "bg-secondary text-secondary-foreground",
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"
51
+ "shadow-sm inset-ring-1 inset-ring-foreground/[0.08]",
52
+ "hover:bg-secondary/80 hover:shadow-md hover:inset-ring-foreground/15"
52
53
  ].join(" "),
53
54
  ghost: "hover:bg-accent hover:text-accent-foreground",
54
55
  link: "text-primary underline-offset-4 hover:underline"
@@ -129,7 +130,9 @@ var Input = React2.forwardRef(
129
130
  className: cn(
130
131
  "flex h-[var(--control-height-md,2.5rem)] w-full rounded-md border border-input bg-background px-[var(--space-3,0.75rem)] py-[var(--space-2,0.5rem)] text-sm",
131
132
  "transition-all duration-[var(--duration-normal,200ms)] ease-out",
132
- "shadow-sm",
133
+ // inset-ring gives a self-borne edge so the input field is visible on flat
134
+ // surfaces (token border alone is too low-contrast on bg-background=white).
135
+ "shadow-sm inset-ring-1 inset-ring-foreground/[0.06]",
133
136
  "file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground",
134
137
  "placeholder:text-muted-foreground",
135
138
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
@@ -170,7 +173,7 @@ var Textarea = React4.forwardRef(
170
173
  className: cn(
171
174
  "flex min-h-[80px] w-full rounded-md border border-input bg-background px-[var(--space-3,0.75rem)] py-[var(--space-2,0.5rem)] text-sm",
172
175
  "transition-all duration-[var(--duration-normal,200ms)] ease-out",
173
- "shadow-sm",
176
+ "shadow-sm inset-ring-1 inset-ring-foreground/[0.06]",
174
177
  "placeholder:text-muted-foreground",
175
178
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
176
179
  "focus-visible:shadow-md focus-visible:border-ring/50",
@@ -197,7 +200,7 @@ var Checkbox = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__
197
200
  className: cn(
198
201
  "group h-4 w-4 shrink-0 rounded-sm border border-input",
199
202
  "transition-all duration-[var(--duration-normal,200ms)] ease-out",
200
- "shadow-sm",
203
+ "shadow-sm inset-ring-1 inset-ring-foreground/[0.06]",
201
204
  "hover:border-ring/50 hover:shadow-md",
202
205
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
203
206
  "disabled:cursor-not-allowed disabled:opacity-50",
@@ -257,6 +260,9 @@ var Switch = React6.forwardRef(
257
260
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
258
261
  "disabled:cursor-not-allowed disabled:opacity-50",
259
262
  "data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
263
+ // Unchecked track shares --color-input with form borders (~1.27:1 vs white) so
264
+ // add an inset ring to make the track visible on flat surfaces.
265
+ "data-[state=unchecked]:inset-ring-1 data-[state=unchecked]:inset-ring-foreground/[0.08]",
260
266
  "hover:shadow-md",
261
267
  className
262
268
  ),
@@ -290,11 +296,9 @@ var badgeVariants = cva3(
290
296
  variants: {
291
297
  variant: {
292
298
  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",
299
+ secondary: "border-foreground/15 bg-secondary text-secondary-foreground hover:bg-secondary/80 hover:border-foreground/20",
296
300
  destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
297
- outline: "text-foreground"
301
+ outline: "border-foreground/20 text-foreground hover:border-foreground/30"
298
302
  }
299
303
  },
300
304
  defaultVariants: {
@@ -317,7 +321,7 @@ var Separator = React7.forwardRef(({ className, orientation = "horizontal", deco
317
321
  decorative,
318
322
  orientation,
319
323
  className: cn(
320
- "shrink-0 bg-border",
324
+ "shrink-0 bg-foreground/[0.12]",
321
325
  orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
322
326
  className
323
327
  ),
@@ -339,7 +343,7 @@ var SelectTrigger = React8.forwardRef(({ className, children, ...props }, ref) =
339
343
  ref,
340
344
  className: cn(
341
345
  "flex h-[var(--control-height-md,2.5rem)] w-full items-center justify-between rounded-md border border-input bg-background px-[var(--space-3,0.75rem)] py-[var(--space-2,0.5rem)] text-sm",
342
- "transition-all duration-[var(--duration-normal,200ms)] ease-out shadow-sm",
346
+ "transition-all duration-[var(--duration-normal,200ms)] ease-out shadow-sm inset-ring-1 inset-ring-foreground/[0.06]",
343
347
  "placeholder:text-muted-foreground",
344
348
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
345
349
  "focus-visible:shadow-md focus-visible:border-ring/50",
@@ -379,7 +383,7 @@ var SelectContent = React8.forwardRef(({ className, children, position = "popper
379
383
  ref,
380
384
  position,
381
385
  className: cn(
382
- "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md",
386
+ "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-foreground/[0.08] bg-popover text-popover-foreground shadow-md",
383
387
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
384
388
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
385
389
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
@@ -447,7 +451,7 @@ var SelectSeparator = React8.forwardRef(({ className, ...props }, ref) => /* @__
447
451
  SelectPrimitive.Separator,
448
452
  {
449
453
  ref,
450
- className: cn("-mx-[var(--space-1,0.25rem)] my-[var(--space-1,0.25rem)] h-px bg-muted", className),
454
+ className: cn("-mx-[var(--space-1,0.25rem)] my-[var(--space-1,0.25rem)] h-px bg-foreground/[0.12]", className),
451
455
  ...props
452
456
  }
453
457
  ));
@@ -475,7 +479,7 @@ var RadioGroupItem = React9.forwardRef(({ className, ...props }, ref) => /* @__P
475
479
  ref,
476
480
  className: cn(
477
481
  "aspect-square h-4 w-4 rounded-full border border-input",
478
- "transition-all duration-[var(--duration-normal,200ms)] ease-out shadow-sm",
482
+ "transition-all duration-[var(--duration-normal,200ms)] ease-out shadow-sm inset-ring-1 inset-ring-foreground/[0.06]",
479
483
  "hover:border-ring/50 hover:shadow-md",
480
484
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
481
485
  "disabled:cursor-not-allowed disabled:opacity-50",
@@ -508,7 +512,7 @@ var Slider = React10.forwardRef(({ className, thumbLabels, ...props }, ref) => {
508
512
  className: cn("relative flex w-full touch-none select-none items-center", className),
509
513
  ...props,
510
514
  children: [
511
- /* @__PURE__ */ jsx11(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx11(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
515
+ /* @__PURE__ */ jsx11(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full border border-foreground/[0.08] bg-secondary", children: /* @__PURE__ */ jsx11(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
512
516
  values.map((_, i) => {
513
517
  const explicit = thumbLabels?.[i];
514
518
  const fallback = values.length === 1 ? rootLabel : rootLabel ? `${rootLabel} (${i + 1} of ${values.length})` : void 0;
@@ -553,7 +557,7 @@ var toggleVariants = cva4(
553
557
  variants: {
554
558
  variant: {
555
559
  default: "bg-transparent",
556
- outline: "border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"
560
+ outline: "border border-input bg-transparent shadow-sm inset-ring-1 inset-ring-foreground/[0.06] hover:bg-accent hover:text-accent-foreground"
557
561
  },
558
562
  size: {
559
563
  default: "h-[var(--control-height-md,2.5rem)] px-[var(--space-3,0.75rem)] min-w-[var(--control-height-md,2.5rem)]",
@@ -650,7 +654,13 @@ AvatarFallback.displayName = "AvatarFallback";
650
654
  // src/primitives/skeleton/skeleton.tsx
651
655
  import { jsx as jsx15 } from "react/jsx-runtime";
652
656
  function Skeleton({ className, ...props }) {
653
- return /* @__PURE__ */ jsx15("div", { className: cn("animate-pulse rounded-md bg-muted", className), ...props });
657
+ return /* @__PURE__ */ jsx15(
658
+ "div",
659
+ {
660
+ className: cn("animate-pulse rounded-md border border-foreground/[0.06] bg-muted", className),
661
+ ...props
662
+ }
663
+ );
654
664
  }
655
665
 
656
666
  // src/primitives/progress/progress.tsx
@@ -666,7 +676,7 @@ var Progress = React14.forwardRef(({ className, value, max = 100, ...props }, re
666
676
  value: value ?? 0,
667
677
  max,
668
678
  className: cn(
669
- "relative h-2 w-full overflow-hidden rounded-full bg-secondary",
679
+ "relative h-2 w-full overflow-hidden rounded-full border border-foreground/[0.08] bg-secondary",
670
680
  className
671
681
  ),
672
682
  ...props,
@@ -723,7 +733,7 @@ var ScrollBar = React15.forwardRef(({ className, orientation = "vertical", ...pr
723
733
  className
724
734
  ),
725
735
  ...props,
726
- children: /* @__PURE__ */ jsx17(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
736
+ children: /* @__PURE__ */ jsx17(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-foreground/[0.18]" })
727
737
  }
728
738
  ));
729
739
  ScrollBar.displayName = "ScrollBar";
@@ -732,16 +742,182 @@ ScrollBar.displayName = "ScrollBar";
732
742
  import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
733
743
  var AspectRatio = AspectRatioPrimitive.Root;
734
744
 
745
+ // src/primitives/container/container.tsx
746
+ import { Slot as Slot2 } from "@radix-ui/react-slot";
747
+ import { cva as cva5 } from "class-variance-authority";
748
+ import { jsx as jsx18 } from "react/jsx-runtime";
749
+ var containerVariants = cva5("mx-auto w-full", {
750
+ variants: {
751
+ size: {
752
+ sm: "max-w-[var(--container-sm,33rem)]",
753
+ md: "max-w-[var(--container-md,40rem)]",
754
+ lg: "max-w-[var(--container-lg,50rem)]",
755
+ xl: "max-w-[var(--container-xl,66rem)]",
756
+ full: "max-w-full"
757
+ },
758
+ padding: {
759
+ none: "",
760
+ sm: "px-[var(--space-3,0.75rem)]",
761
+ md: "px-[var(--space-4,1rem)]",
762
+ lg: "px-[var(--space-8,2rem)]"
763
+ }
764
+ },
765
+ defaultVariants: {
766
+ size: "lg",
767
+ padding: "md"
768
+ }
769
+ });
770
+ function Container({ className, size, padding, asChild = false, ...props }) {
771
+ const Comp = asChild ? Slot2 : "div";
772
+ return /* @__PURE__ */ jsx18(Comp, { className: cn(containerVariants({ size, padding }), className), ...props });
773
+ }
774
+
775
+ // src/primitives/stack/stack.tsx
776
+ import { cva as cva6 } from "class-variance-authority";
777
+
778
+ // src/primitives/_shared/layout-variants.ts
779
+ var gapVariants = {
780
+ xs: "gap-[var(--gap-xs,0.25rem)]",
781
+ sm: "gap-[var(--gap-sm,0.5rem)]",
782
+ md: "gap-[var(--gap-md,1rem)]",
783
+ lg: "gap-[var(--gap-lg,1.5rem)]",
784
+ xl: "gap-[var(--gap-xl,2rem)]"
785
+ };
786
+ var justifyVariants = {
787
+ start: "justify-start",
788
+ center: "justify-center",
789
+ end: "justify-end",
790
+ between: "justify-between"
791
+ };
792
+ var flexAlignVariants = {
793
+ start: "items-start",
794
+ center: "items-center",
795
+ end: "items-end",
796
+ stretch: "items-stretch"
797
+ };
798
+ var clusterAlignVariants = {
799
+ start: "items-start",
800
+ center: "items-center",
801
+ end: "items-end",
802
+ stretch: "items-stretch",
803
+ baseline: "items-baseline"
804
+ };
805
+
806
+ // src/primitives/stack/stack.tsx
807
+ import { jsx as jsx19 } from "react/jsx-runtime";
808
+ var stackVariants = cva6("flex flex-col", {
809
+ variants: {
810
+ gap: gapVariants,
811
+ align: flexAlignVariants,
812
+ justify: justifyVariants
813
+ },
814
+ defaultVariants: {
815
+ gap: "md",
816
+ align: "stretch",
817
+ justify: "start"
818
+ }
819
+ });
820
+ function Stack({ className, gap, align, justify, ...props }) {
821
+ return /* @__PURE__ */ jsx19("div", { className: cn(stackVariants({ gap, align, justify }), className), ...props });
822
+ }
823
+
824
+ // src/primitives/cluster/cluster.tsx
825
+ import { cva as cva7 } from "class-variance-authority";
826
+ import { jsx as jsx20 } from "react/jsx-runtime";
827
+ var clusterVariants = cva7("flex flex-wrap", {
828
+ variants: {
829
+ gap: gapVariants,
830
+ align: clusterAlignVariants,
831
+ justify: justifyVariants
832
+ },
833
+ defaultVariants: {
834
+ gap: "md",
835
+ align: "center",
836
+ justify: "start"
837
+ }
838
+ });
839
+ function Cluster({ className, gap, align, justify, ...props }) {
840
+ return /* @__PURE__ */ jsx20("div", { className: cn(clusterVariants({ gap, align, justify }), className), ...props });
841
+ }
842
+
843
+ // src/primitives/grid/grid.tsx
844
+ import { cva as cva8 } from "class-variance-authority";
845
+ import { jsx as jsx21 } from "react/jsx-runtime";
846
+ var gridVariants = cva8("grid", {
847
+ variants: {
848
+ cols: {
849
+ 1: "grid-cols-1",
850
+ 2: "grid-cols-2",
851
+ 3: "grid-cols-3",
852
+ 4: "grid-cols-4",
853
+ 6: "grid-cols-6",
854
+ "auto-fit": ""
855
+ },
856
+ gap: gapVariants,
857
+ align: flexAlignVariants
858
+ },
859
+ defaultVariants: {
860
+ cols: 3,
861
+ gap: "md",
862
+ align: "stretch"
863
+ }
864
+ });
865
+ function Grid({ className, cols, gap, align, minColWidth = "16rem", style, ...props }) {
866
+ const inlineStyle = cols === "auto-fit" ? { gridTemplateColumns: `repeat(auto-fit, minmax(${minColWidth}, 1fr))`, ...style } : style;
867
+ return /* @__PURE__ */ jsx21(
868
+ "div",
869
+ {
870
+ className: cn(gridVariants({ cols, gap, align }), className),
871
+ style: inlineStyle,
872
+ ...props
873
+ }
874
+ );
875
+ }
876
+
877
+ // src/primitives/spacer/spacer.tsx
878
+ import { cva as cva9 } from "class-variance-authority";
879
+ import { jsx as jsx22 } from "react/jsx-runtime";
880
+ var spacerVariants = cva9("shrink-0", {
881
+ variants: {
882
+ size: {
883
+ xs: "[--spacer-size:var(--space-1,0.25rem)]",
884
+ sm: "[--spacer-size:var(--space-2,0.5rem)]",
885
+ md: "[--spacer-size:var(--space-4,1rem)]",
886
+ lg: "[--spacer-size:var(--space-8,2rem)]",
887
+ xl: "[--spacer-size:var(--space-16,4rem)]"
888
+ },
889
+ axis: {
890
+ vertical: "h-[var(--spacer-size)] w-0",
891
+ horizontal: "w-[var(--spacer-size)] h-0",
892
+ both: "h-[var(--spacer-size)] w-[var(--spacer-size)]"
893
+ }
894
+ },
895
+ defaultVariants: {
896
+ size: "md",
897
+ axis: "vertical"
898
+ }
899
+ });
900
+ function Spacer({ className, size, axis, ...props }) {
901
+ return /* @__PURE__ */ jsx22(
902
+ "div",
903
+ {
904
+ "aria-hidden": "true",
905
+ className: cn(spacerVariants({ size, axis }), className),
906
+ ...props
907
+ }
908
+ );
909
+ }
910
+
735
911
  // src/components/card/card.tsx
736
912
  import * as React16 from "react";
737
- import { jsx as jsx18 } from "react/jsx-runtime";
913
+ import { jsx as jsx23 } from "react/jsx-runtime";
738
914
  var Card = React16.forwardRef(
739
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
915
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
740
916
  "div",
741
917
  {
742
918
  ref,
743
919
  className: cn(
744
- "rounded-lg border bg-card text-card-foreground",
920
+ "rounded-lg border border-foreground/[0.08] bg-card text-card-foreground",
745
921
  "shadow-sm transition-all duration-[var(--duration-normal,200ms)] ease-out",
746
922
  "hover:shadow-md",
747
923
  className
@@ -752,7 +928,7 @@ var Card = React16.forwardRef(
752
928
  );
753
929
  Card.displayName = "Card";
754
930
  var CardHeader = React16.forwardRef(
755
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
931
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
756
932
  "div",
757
933
  {
758
934
  ref,
@@ -763,7 +939,7 @@ var CardHeader = React16.forwardRef(
763
939
  );
764
940
  CardHeader.displayName = "CardHeader";
765
941
  var CardTitle = React16.forwardRef(
766
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
942
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
767
943
  "h3",
768
944
  {
769
945
  ref,
@@ -773,14 +949,14 @@ var CardTitle = React16.forwardRef(
773
949
  )
774
950
  );
775
951
  CardTitle.displayName = "CardTitle";
776
- var CardDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
952
+ var CardDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
777
953
  CardDescription.displayName = "CardDescription";
778
954
  var CardContent = React16.forwardRef(
779
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx18("div", { ref, className: cn("p-[var(--space-6,1.5rem)] pt-0", className), ...props })
955
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx23("div", { ref, className: cn("p-[var(--space-6,1.5rem)] pt-0", className), ...props })
780
956
  );
781
957
  CardContent.displayName = "CardContent";
782
958
  var CardFooter = React16.forwardRef(
783
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
959
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
784
960
  "div",
785
961
  {
786
962
  ref,
@@ -794,21 +970,21 @@ CardFooter.displayName = "CardFooter";
794
970
  // src/components/tabs/tabs.tsx
795
971
  import * as React17 from "react";
796
972
  import * as TabsPrimitive from "@radix-ui/react-tabs";
797
- import { jsx as jsx19 } from "react/jsx-runtime";
973
+ import { jsx as jsx24 } from "react/jsx-runtime";
798
974
  var Tabs = TabsPrimitive.Root;
799
- var TabsList = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
975
+ var TabsList = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
800
976
  TabsPrimitive.List,
801
977
  {
802
978
  ref,
803
979
  className: cn(
804
- "inline-flex h-[var(--control-height-md,2.5rem)] items-center justify-center rounded-md bg-muted p-[var(--space-1,0.25rem)] text-muted-foreground",
980
+ "inline-flex h-[var(--control-height-md,2.5rem)] items-center justify-center rounded-md border border-foreground/[0.06] bg-muted p-[var(--space-1,0.25rem)] text-muted-foreground",
805
981
  className
806
982
  ),
807
983
  ...props
808
984
  }
809
985
  ));
810
986
  TabsList.displayName = "TabsList";
811
- var TabsTrigger = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
987
+ var TabsTrigger = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
812
988
  TabsPrimitive.Trigger,
813
989
  {
814
990
  ref,
@@ -825,7 +1001,7 @@ var TabsTrigger = React17.forwardRef(({ className, ...props }, ref) => /* @__PUR
825
1001
  }
826
1002
  ));
827
1003
  TabsTrigger.displayName = "TabsTrigger";
828
- var TabsContent = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1004
+ var TabsContent = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
829
1005
  TabsPrimitive.Content,
830
1006
  {
831
1007
  ref,
@@ -842,11 +1018,11 @@ TabsContent.displayName = "TabsContent";
842
1018
  // src/components/accordion/accordion.tsx
843
1019
  import * as React18 from "react";
844
1020
  import * as AccordionPrimitive from "@radix-ui/react-accordion";
845
- import { jsx as jsx20, jsxs as jsxs6 } from "react/jsx-runtime";
1021
+ import { jsx as jsx25, jsxs as jsxs6 } from "react/jsx-runtime";
846
1022
  var Accordion = AccordionPrimitive.Root;
847
- var AccordionItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(AccordionPrimitive.Item, { ref, className: cn("border-b", className), ...props }));
1023
+ var AccordionItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(AccordionPrimitive.Item, { ref, className: cn("border-b border-b-foreground/[0.08]", className), ...props }));
848
1024
  AccordionItem.displayName = "AccordionItem";
849
- var AccordionTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx20(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs6(
1025
+ var AccordionTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx25(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs6(
850
1026
  AccordionPrimitive.Trigger,
851
1027
  {
852
1028
  ref,
@@ -860,7 +1036,7 @@ var AccordionTrigger = React18.forwardRef(({ className, children, ...props }, re
860
1036
  ...props,
861
1037
  children: [
862
1038
  children,
863
- /* @__PURE__ */ jsx20(
1039
+ /* @__PURE__ */ jsx25(
864
1040
  "svg",
865
1041
  {
866
1042
  xmlns: "http://www.w3.org/2000/svg",
@@ -874,20 +1050,20 @@ var AccordionTrigger = React18.forwardRef(({ className, children, ...props }, re
874
1050
  strokeLinejoin: "round",
875
1051
  className: "h-4 w-4 shrink-0 transition-transform duration-[var(--duration-normal,200ms)]",
876
1052
  "aria-hidden": "true",
877
- children: /* @__PURE__ */ jsx20("polyline", { points: "6 9 12 15 18 9" })
1053
+ children: /* @__PURE__ */ jsx25("polyline", { points: "6 9 12 15 18 9" })
878
1054
  }
879
1055
  )
880
1056
  ]
881
1057
  }
882
1058
  ) }));
883
1059
  AccordionTrigger.displayName = "AccordionTrigger";
884
- var AccordionContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx20(
1060
+ var AccordionContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx25(
885
1061
  AccordionPrimitive.Content,
886
1062
  {
887
1063
  ref,
888
1064
  className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
889
1065
  ...props,
890
- children: /* @__PURE__ */ jsx20("div", { className: cn("pb-[var(--space-4,1rem)] pt-0", className), children })
1066
+ children: /* @__PURE__ */ jsx25("div", { className: cn("pb-[var(--space-4,1rem)] pt-0", className), children })
891
1067
  }
892
1068
  ));
893
1069
  AccordionContent.displayName = "AccordionContent";
@@ -895,12 +1071,12 @@ AccordionContent.displayName = "AccordionContent";
895
1071
  // src/components/dialog/dialog.tsx
896
1072
  import * as DialogPrimitive from "@radix-ui/react-dialog";
897
1073
  import * as React19 from "react";
898
- import { jsx as jsx21, jsxs as jsxs7 } from "react/jsx-runtime";
1074
+ import { jsx as jsx26, jsxs as jsxs7 } from "react/jsx-runtime";
899
1075
  var Dialog = DialogPrimitive.Root;
900
1076
  var DialogTrigger = DialogPrimitive.Trigger;
901
1077
  var DialogPortal = DialogPrimitive.Portal;
902
1078
  var DialogClose = DialogPrimitive.Close;
903
- var DialogOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
1079
+ var DialogOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
904
1080
  DialogPrimitive.Overlay,
905
1081
  {
906
1082
  ref,
@@ -915,14 +1091,14 @@ var DialogOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__P
915
1091
  ));
916
1092
  DialogOverlay.displayName = "DialogOverlay";
917
1093
  var DialogContent = React19.forwardRef(({ className, children, scrollable = true, ...props }, ref) => /* @__PURE__ */ jsxs7(DialogPortal, { children: [
918
- /* @__PURE__ */ jsx21(DialogOverlay, {}),
1094
+ /* @__PURE__ */ jsx26(DialogOverlay, {}),
919
1095
  /* @__PURE__ */ jsxs7(
920
1096
  DialogPrimitive.Content,
921
1097
  {
922
1098
  ref,
923
1099
  className: cn(
924
1100
  "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%]",
925
- scrollable ? "max-h-[calc(100vh-2rem)] border bg-background shadow-lg rounded-lg" : "gap-[var(--gap-md,1rem)] border bg-background p-[var(--space-6,1.5rem)] shadow-lg rounded-lg",
1101
+ scrollable ? "max-h-[calc(100vh-2rem)] border border-foreground/[0.08] bg-background shadow-lg rounded-lg" : "gap-[var(--gap-md,1rem)] border border-foreground/[0.08] bg-background p-[var(--space-6,1.5rem)] shadow-lg rounded-lg",
926
1102
  "duration-[var(--duration-normal,200ms)] data-[state=open]:animate-in data-[state=closed]:animate-out",
927
1103
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
928
1104
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
@@ -930,7 +1106,7 @@ var DialogContent = React19.forwardRef(({ className, children, scrollable = true
930
1106
  ),
931
1107
  ...props,
932
1108
  children: [
933
- scrollable ? /* @__PURE__ */ jsx21("div", { className: "grid gap-[var(--gap-md,1rem)] overflow-y-auto p-[var(--space-6,1.5rem)]", children }) : children,
1109
+ scrollable ? /* @__PURE__ */ jsx26("div", { className: "grid gap-[var(--gap-md,1rem)] overflow-y-auto p-[var(--space-6,1.5rem)]", children }) : children,
934
1110
  /* @__PURE__ */ jsxs7(
935
1111
  DialogPrimitive.Close,
936
1112
  {
@@ -954,12 +1130,12 @@ var DialogContent = React19.forwardRef(({ className, children, scrollable = true
954
1130
  className: "h-4 w-4",
955
1131
  "aria-hidden": "true",
956
1132
  children: [
957
- /* @__PURE__ */ jsx21("path", { d: "M18 6 6 18" }),
958
- /* @__PURE__ */ jsx21("path", { d: "m6 6 12 12" })
1133
+ /* @__PURE__ */ jsx26("path", { d: "M18 6 6 18" }),
1134
+ /* @__PURE__ */ jsx26("path", { d: "m6 6 12 12" })
959
1135
  ]
960
1136
  }
961
1137
  ),
962
- /* @__PURE__ */ jsx21("span", { className: "sr-only", children: "Close" })
1138
+ /* @__PURE__ */ jsx26("span", { className: "sr-only", children: "Close" })
963
1139
  ]
964
1140
  }
965
1141
  )
@@ -969,7 +1145,7 @@ var DialogContent = React19.forwardRef(({ className, children, scrollable = true
969
1145
  ] }));
970
1146
  DialogContent.displayName = "DialogContent";
971
1147
  function DialogHeader({ className, ...props }) {
972
- return /* @__PURE__ */ jsx21(
1148
+ return /* @__PURE__ */ jsx26(
973
1149
  "div",
974
1150
  {
975
1151
  className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className),
@@ -978,7 +1154,7 @@ function DialogHeader({ className, ...props }) {
978
1154
  );
979
1155
  }
980
1156
  function DialogFooter({ className, ...props }) {
981
- return /* @__PURE__ */ jsx21(
1157
+ return /* @__PURE__ */ jsx26(
982
1158
  "div",
983
1159
  {
984
1160
  className: cn(
@@ -989,7 +1165,7 @@ function DialogFooter({ className, ...props }) {
989
1165
  }
990
1166
  );
991
1167
  }
992
- var DialogTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
1168
+ var DialogTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
993
1169
  DialogPrimitive.Title,
994
1170
  {
995
1171
  ref,
@@ -998,7 +1174,7 @@ var DialogTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PUR
998
1174
  }
999
1175
  ));
1000
1176
  DialogTitle.displayName = "DialogTitle";
1001
- var DialogDescription = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
1177
+ var DialogDescription = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1002
1178
  DialogPrimitive.Description,
1003
1179
  {
1004
1180
  ref,
@@ -1011,11 +1187,11 @@ DialogDescription.displayName = "DialogDescription";
1011
1187
  // src/components/alert-dialog/alert-dialog.tsx
1012
1188
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
1013
1189
  import * as React20 from "react";
1014
- import { jsx as jsx22, jsxs as jsxs8 } from "react/jsx-runtime";
1190
+ import { jsx as jsx27, jsxs as jsxs8 } from "react/jsx-runtime";
1015
1191
  var AlertDialog = AlertDialogPrimitive.Root;
1016
1192
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
1017
1193
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
1018
- var AlertDialogOverlay = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1194
+ var AlertDialogOverlay = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1019
1195
  AlertDialogPrimitive.Overlay,
1020
1196
  {
1021
1197
  ref,
@@ -1030,14 +1206,14 @@ var AlertDialogOverlay = React20.forwardRef(({ className, ...props }, ref) => /*
1030
1206
  ));
1031
1207
  AlertDialogOverlay.displayName = "AlertDialogOverlay";
1032
1208
  var AlertDialogContent = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs8(AlertDialogPortal, { children: [
1033
- /* @__PURE__ */ jsx22(AlertDialogOverlay, {}),
1034
- /* @__PURE__ */ jsx22(
1209
+ /* @__PURE__ */ jsx27(AlertDialogOverlay, {}),
1210
+ /* @__PURE__ */ jsx27(
1035
1211
  AlertDialogPrimitive.Content,
1036
1212
  {
1037
1213
  ref,
1038
1214
  className: cn(
1039
1215
  "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-[var(--gap-md,1rem)]",
1040
- "border bg-background p-[var(--space-6,1.5rem)] shadow-lg rounded-lg",
1216
+ "border border-foreground/[0.08] bg-background p-[var(--space-6,1.5rem)] shadow-lg rounded-lg",
1041
1217
  "duration-[var(--duration-normal,200ms)] data-[state=open]:animate-in data-[state=closed]:animate-out",
1042
1218
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
1043
1219
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
@@ -1049,7 +1225,7 @@ var AlertDialogContent = React20.forwardRef(({ className, ...props }, ref) => /*
1049
1225
  ] }));
1050
1226
  AlertDialogContent.displayName = "AlertDialogContent";
1051
1227
  function AlertDialogHeader({ className, ...props }) {
1052
- return /* @__PURE__ */ jsx22(
1228
+ return /* @__PURE__ */ jsx27(
1053
1229
  "div",
1054
1230
  {
1055
1231
  className: cn("flex flex-col space-y-2 text-center sm:text-left", className),
@@ -1058,7 +1234,7 @@ function AlertDialogHeader({ className, ...props }) {
1058
1234
  );
1059
1235
  }
1060
1236
  function AlertDialogFooter({ className, ...props }) {
1061
- return /* @__PURE__ */ jsx22(
1237
+ return /* @__PURE__ */ jsx27(
1062
1238
  "div",
1063
1239
  {
1064
1240
  className: cn(
@@ -1069,7 +1245,7 @@ function AlertDialogFooter({ className, ...props }) {
1069
1245
  }
1070
1246
  );
1071
1247
  }
1072
- var AlertDialogTitle = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1248
+ var AlertDialogTitle = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1073
1249
  AlertDialogPrimitive.Title,
1074
1250
  {
1075
1251
  ref,
@@ -1078,7 +1254,7 @@ var AlertDialogTitle = React20.forwardRef(({ className, ...props }, ref) => /* @
1078
1254
  }
1079
1255
  ));
1080
1256
  AlertDialogTitle.displayName = "AlertDialogTitle";
1081
- var AlertDialogDescription = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1257
+ var AlertDialogDescription = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1082
1258
  AlertDialogPrimitive.Description,
1083
1259
  {
1084
1260
  ref,
@@ -1087,7 +1263,7 @@ var AlertDialogDescription = React20.forwardRef(({ className, ...props }, ref) =
1087
1263
  }
1088
1264
  ));
1089
1265
  AlertDialogDescription.displayName = "AlertDialogDescription";
1090
- var AlertDialogAction = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1266
+ var AlertDialogAction = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1091
1267
  AlertDialogPrimitive.Action,
1092
1268
  {
1093
1269
  ref,
@@ -1105,15 +1281,15 @@ var AlertDialogAction = React20.forwardRef(({ className, ...props }, ref) => /*
1105
1281
  }
1106
1282
  ));
1107
1283
  AlertDialogAction.displayName = "AlertDialogAction";
1108
- var AlertDialogCancel = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1284
+ var AlertDialogCancel = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1109
1285
  AlertDialogPrimitive.Cancel,
1110
1286
  {
1111
1287
  ref,
1112
1288
  className: cn(
1113
1289
  "inline-flex h-[var(--control-height-md,2.5rem)] items-center justify-center rounded-md px-[var(--space-4,1rem)] py-[var(--space-2,0.5rem)] text-sm font-medium",
1114
- "border border-input bg-background shadow-sm",
1290
+ "border border-input bg-background shadow-sm inset-ring-1 inset-ring-foreground/[0.06]",
1115
1291
  "transition-all duration-[var(--duration-normal,200ms)] ease-out",
1116
- "hover:bg-accent hover:text-accent-foreground hover:shadow-md",
1292
+ "hover:bg-accent hover:text-accent-foreground hover:shadow-md hover:inset-ring-foreground/12",
1117
1293
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
1118
1294
  "mt-[var(--space-2,0.5rem)] sm:mt-0",
1119
1295
  "active:scale-[0.98]",
@@ -1127,20 +1303,20 @@ AlertDialogCancel.displayName = "AlertDialogCancel";
1127
1303
  // src/components/dropdown-menu/dropdown-menu.tsx
1128
1304
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
1129
1305
  import * as React21 from "react";
1130
- import { jsx as jsx23, jsxs as jsxs9 } from "react/jsx-runtime";
1306
+ import { jsx as jsx28, jsxs as jsxs9 } from "react/jsx-runtime";
1131
1307
  var DropdownMenu = DropdownMenuPrimitive.Root;
1132
1308
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1133
1309
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
1134
1310
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
1135
1311
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
1136
1312
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
1137
- var DropdownMenuContent = React21.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx23(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx23(
1313
+ var DropdownMenuContent = React21.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx28(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx28(
1138
1314
  DropdownMenuPrimitive.Content,
1139
1315
  {
1140
1316
  ref,
1141
1317
  sideOffset,
1142
1318
  className: cn(
1143
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-[var(--space-1,0.25rem)] text-popover-foreground shadow-md",
1319
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border border-foreground/[0.08] bg-popover p-[var(--space-1,0.25rem)] text-popover-foreground shadow-md",
1144
1320
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
1145
1321
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
1146
1322
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
@@ -1151,7 +1327,7 @@ var DropdownMenuContent = React21.forwardRef(({ className, sideOffset = 4, ...pr
1151
1327
  }
1152
1328
  ) }));
1153
1329
  DropdownMenuContent.displayName = "DropdownMenuContent";
1154
- var DropdownMenuItem = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx23(
1330
+ var DropdownMenuItem = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx28(
1155
1331
  DropdownMenuPrimitive.Item,
1156
1332
  {
1157
1333
  ref,
@@ -1181,7 +1357,7 @@ var DropdownMenuCheckboxItem = React21.forwardRef(({ className, children, checke
1181
1357
  checked,
1182
1358
  ...props,
1183
1359
  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(
1360
+ /* @__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
1361
  "svg",
1186
1362
  {
1187
1363
  xmlns: "http://www.w3.org/2000/svg",
@@ -1193,7 +1369,7 @@ var DropdownMenuCheckboxItem = React21.forwardRef(({ className, children, checke
1193
1369
  strokeLinejoin: "round",
1194
1370
  className: "h-4 w-4",
1195
1371
  "aria-hidden": "true",
1196
- children: /* @__PURE__ */ jsx23("polyline", { points: "20 6 9 17 4 12" })
1372
+ children: /* @__PURE__ */ jsx28("polyline", { points: "20 6 9 17 4 12" })
1197
1373
  }
1198
1374
  ) }) }),
1199
1375
  children
@@ -1214,13 +1390,13 @@ var DropdownMenuRadioItem = React21.forwardRef(({ className, children, ...props
1214
1390
  ),
1215
1391
  ...props,
1216
1392
  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" }) }) }) }),
1393
+ /* @__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
1394
  children
1219
1395
  ]
1220
1396
  }
1221
1397
  ));
1222
1398
  DropdownMenuRadioItem.displayName = "DropdownMenuRadioItem";
1223
- var DropdownMenuLabel = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx23(
1399
+ var DropdownMenuLabel = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx28(
1224
1400
  DropdownMenuPrimitive.Label,
1225
1401
  {
1226
1402
  ref,
@@ -1229,17 +1405,17 @@ var DropdownMenuLabel = React21.forwardRef(({ className, inset, ...props }, ref)
1229
1405
  }
1230
1406
  ));
1231
1407
  DropdownMenuLabel.displayName = "DropdownMenuLabel";
1232
- var DropdownMenuSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
1408
+ var DropdownMenuSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1233
1409
  DropdownMenuPrimitive.Separator,
1234
1410
  {
1235
1411
  ref,
1236
- className: cn("-mx-[var(--space-1,0.25rem)] my-[var(--space-1,0.25rem)] h-px bg-muted", className),
1412
+ className: cn("-mx-[var(--space-1,0.25rem)] my-[var(--space-1,0.25rem)] h-px bg-foreground/[0.12]", className),
1237
1413
  ...props
1238
1414
  }
1239
1415
  ));
1240
1416
  DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
1241
1417
  function DropdownMenuShortcut({ className, ...props }) {
1242
- return /* @__PURE__ */ jsx23(
1418
+ return /* @__PURE__ */ jsx28(
1243
1419
  "span",
1244
1420
  {
1245
1421
  className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className),
@@ -1251,18 +1427,18 @@ function DropdownMenuShortcut({ className, ...props }) {
1251
1427
  // src/components/popover/popover.tsx
1252
1428
  import * as PopoverPrimitive from "@radix-ui/react-popover";
1253
1429
  import * as React22 from "react";
1254
- import { jsx as jsx24 } from "react/jsx-runtime";
1430
+ import { jsx as jsx29 } from "react/jsx-runtime";
1255
1431
  var Popover = PopoverPrimitive.Root;
1256
1432
  var PopoverTrigger = PopoverPrimitive.Trigger;
1257
1433
  var PopoverAnchor = PopoverPrimitive.Anchor;
1258
- var PopoverContent = React22.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx24(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx24(
1434
+ var PopoverContent = React22.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx29(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx29(
1259
1435
  PopoverPrimitive.Content,
1260
1436
  {
1261
1437
  ref,
1262
1438
  align,
1263
1439
  sideOffset,
1264
1440
  className: cn(
1265
- "z-50 w-72 rounded-md border bg-popover p-[var(--space-4,1rem)] text-popover-foreground shadow-md outline-none",
1441
+ "z-50 w-72 rounded-md border border-foreground/[0.08] bg-popover p-[var(--space-4,1rem)] text-popover-foreground shadow-md outline-none",
1266
1442
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
1267
1443
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
1268
1444
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
@@ -1277,11 +1453,11 @@ PopoverContent.displayName = "PopoverContent";
1277
1453
  // src/components/tooltip/tooltip.tsx
1278
1454
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
1279
1455
  import * as React23 from "react";
1280
- import { jsx as jsx25 } from "react/jsx-runtime";
1456
+ import { jsx as jsx30 } from "react/jsx-runtime";
1281
1457
  var TooltipProvider = TooltipPrimitive.Provider;
1282
1458
  var Tooltip = TooltipPrimitive.Root;
1283
1459
  var TooltipTrigger = TooltipPrimitive.Trigger;
1284
- var TooltipContent = React23.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx25(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx25(
1460
+ var TooltipContent = React23.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx30(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx30(
1285
1461
  TooltipPrimitive.Content,
1286
1462
  {
1287
1463
  ref,
@@ -1299,7 +1475,7 @@ var TooltipContent = React23.forwardRef(({ className, sideOffset = 4, ...props }
1299
1475
  TooltipContent.displayName = "TooltipContent";
1300
1476
 
1301
1477
  // src/components/form/form.tsx
1302
- import { Slot as Slot2 } from "@radix-ui/react-slot";
1478
+ import { Slot as Slot3 } from "@radix-ui/react-slot";
1303
1479
  import * as React24 from "react";
1304
1480
  import {
1305
1481
  Controller,
@@ -1307,13 +1483,13 @@ import {
1307
1483
  useFormContext,
1308
1484
  useFormState
1309
1485
  } from "react-hook-form";
1310
- import { jsx as jsx26 } from "react/jsx-runtime";
1486
+ import { jsx as jsx31 } from "react/jsx-runtime";
1311
1487
  var Form = FormProvider;
1312
1488
  var FormFieldContext = React24.createContext({});
1313
1489
  var FormField = ({
1314
1490
  ...props
1315
1491
  }) => {
1316
- return /* @__PURE__ */ jsx26(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx26(Controller, { ...props }) });
1492
+ return /* @__PURE__ */ jsx31(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx31(Controller, { ...props }) });
1317
1493
  };
1318
1494
  var FormItemContext = React24.createContext({});
1319
1495
  function useFormField() {
@@ -1338,13 +1514,13 @@ function useFormField() {
1338
1514
  var FormItem = React24.forwardRef(
1339
1515
  ({ className, ...props }, ref) => {
1340
1516
  const id = React24.useId();
1341
- return /* @__PURE__ */ jsx26(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx26("div", { ref, className: cn("space-y-2", className), ...props }) });
1517
+ return /* @__PURE__ */ jsx31(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx31("div", { ref, className: cn("space-y-2", className), ...props }) });
1342
1518
  }
1343
1519
  );
1344
1520
  FormItem.displayName = "FormItem";
1345
1521
  var FormLabel = React24.forwardRef(({ className, ...props }, ref) => {
1346
1522
  const { error, formItemId } = useFormField();
1347
- return /* @__PURE__ */ jsx26(
1523
+ return /* @__PURE__ */ jsx31(
1348
1524
  Label,
1349
1525
  {
1350
1526
  ref,
@@ -1357,8 +1533,8 @@ var FormLabel = React24.forwardRef(({ className, ...props }, ref) => {
1357
1533
  FormLabel.displayName = "FormLabel";
1358
1534
  var FormControl = React24.forwardRef(({ ...props }, ref) => {
1359
1535
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
1360
- return /* @__PURE__ */ jsx26(
1361
- Slot2,
1536
+ return /* @__PURE__ */ jsx31(
1537
+ Slot3,
1362
1538
  {
1363
1539
  ref,
1364
1540
  id: formItemId,
@@ -1371,7 +1547,7 @@ var FormControl = React24.forwardRef(({ ...props }, ref) => {
1371
1547
  FormControl.displayName = "FormControl";
1372
1548
  var FormDescription = React24.forwardRef(({ className, ...props }, ref) => {
1373
1549
  const { formDescriptionId } = useFormField();
1374
- return /* @__PURE__ */ jsx26(
1550
+ return /* @__PURE__ */ jsx31(
1375
1551
  "p",
1376
1552
  {
1377
1553
  ref,
@@ -1386,7 +1562,7 @@ var FormMessage = React24.forwardRef(({ className, children, ...props }, ref) =>
1386
1562
  const { error, formMessageId } = useFormField();
1387
1563
  const body = error?.message ? String(error.message) : children;
1388
1564
  if (!body) return null;
1389
- return /* @__PURE__ */ jsx26(
1565
+ return /* @__PURE__ */ jsx31(
1390
1566
  "p",
1391
1567
  {
1392
1568
  ref,
@@ -1400,10 +1576,10 @@ var FormMessage = React24.forwardRef(({ className, children, ...props }, ref) =>
1400
1576
  FormMessage.displayName = "FormMessage";
1401
1577
 
1402
1578
  // src/components/alert/alert.tsx
1403
- import { cva as cva5 } from "class-variance-authority";
1579
+ import { cva as cva10 } from "class-variance-authority";
1404
1580
  import * as React25 from "react";
1405
- import { jsx as jsx27 } from "react/jsx-runtime";
1406
- var alertVariants = cva5(
1581
+ import { jsx as jsx32 } from "react/jsx-runtime";
1582
+ var alertVariants = cva10(
1407
1583
  [
1408
1584
  "relative w-full rounded-lg border px-[var(--space-4,1rem)] py-[var(--space-3,0.75rem)] text-sm",
1409
1585
  "transition-all duration-[var(--duration-normal,200ms)] ease-out",
@@ -1413,14 +1589,14 @@ var alertVariants = cva5(
1413
1589
  {
1414
1590
  variants: {
1415
1591
  variant: {
1416
- default: "bg-background text-foreground",
1592
+ default: "border-foreground/[0.08] bg-background text-foreground",
1417
1593
  destructive: "border-destructive/50 text-destructive [&>svg]:text-destructive bg-destructive/5"
1418
1594
  }
1419
1595
  },
1420
1596
  defaultVariants: { variant: "default" }
1421
1597
  }
1422
1598
  );
1423
- var Alert = React25.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx27(
1599
+ var Alert = React25.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx32(
1424
1600
  "div",
1425
1601
  {
1426
1602
  ref,
@@ -1430,7 +1606,7 @@ var Alert = React25.forwardRef(({ className, variant, ...props }, ref) => /* @__
1430
1606
  }
1431
1607
  ));
1432
1608
  Alert.displayName = "Alert";
1433
- var AlertTitle = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1609
+ var AlertTitle = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
1434
1610
  "h5",
1435
1611
  {
1436
1612
  ref,
@@ -1440,15 +1616,15 @@ var AlertTitle = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE
1440
1616
  ));
1441
1617
  AlertTitle.displayName = "AlertTitle";
1442
1618
  var AlertDescription = React25.forwardRef(
1443
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx27("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
1619
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx32("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
1444
1620
  );
1445
1621
  AlertDescription.displayName = "AlertDescription";
1446
1622
 
1447
1623
  // src/components/sonner/sonner.tsx
1448
1624
  import { Toaster as SonnerToaster, toast } from "sonner";
1449
- import { jsx as jsx28 } from "react/jsx-runtime";
1625
+ import { jsx as jsx33 } from "react/jsx-runtime";
1450
1626
  function Toaster({ ...props }) {
1451
- return /* @__PURE__ */ jsx28(
1627
+ return /* @__PURE__ */ jsx33(
1452
1628
  SonnerToaster,
1453
1629
  {
1454
1630
  theme: "system",
@@ -1475,17 +1651,17 @@ var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
1475
1651
  // src/components/hover-card/hover-card.tsx
1476
1652
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
1477
1653
  import * as React26 from "react";
1478
- import { jsx as jsx29 } from "react/jsx-runtime";
1654
+ import { jsx as jsx34 } from "react/jsx-runtime";
1479
1655
  var HoverCard = HoverCardPrimitive.Root;
1480
1656
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
1481
- var HoverCardContent = React26.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx29(HoverCardPrimitive.Portal, { children: /* @__PURE__ */ jsx29(
1657
+ var HoverCardContent = React26.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx34(HoverCardPrimitive.Portal, { children: /* @__PURE__ */ jsx34(
1482
1658
  HoverCardPrimitive.Content,
1483
1659
  {
1484
1660
  ref,
1485
1661
  align,
1486
1662
  sideOffset,
1487
1663
  className: cn(
1488
- "z-50 w-64 rounded-md border bg-popover p-[var(--space-4,1rem)] text-popover-foreground shadow-md outline-none",
1664
+ "z-50 w-64 rounded-md border border-foreground/[0.08] bg-popover p-[var(--space-4,1rem)] text-popover-foreground shadow-md outline-none",
1489
1665
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
1490
1666
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
1491
1667
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
@@ -1500,18 +1676,18 @@ HoverCardContent.displayName = "HoverCardContent";
1500
1676
  // src/components/context-menu/context-menu.tsx
1501
1677
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
1502
1678
  import * as React27 from "react";
1503
- import { jsx as jsx30, jsxs as jsxs10 } from "react/jsx-runtime";
1679
+ import { jsx as jsx35, jsxs as jsxs10 } from "react/jsx-runtime";
1504
1680
  var ContextMenu = ContextMenuPrimitive.Root;
1505
1681
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
1506
1682
  var ContextMenuGroup = ContextMenuPrimitive.Group;
1507
1683
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
1508
1684
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
1509
- var ContextMenuContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx30(
1685
+ var ContextMenuContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx35(
1510
1686
  ContextMenuPrimitive.Content,
1511
1687
  {
1512
1688
  ref,
1513
1689
  className: cn(
1514
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-[var(--space-1,0.25rem)] text-popover-foreground shadow-md",
1690
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border border-foreground/[0.08] bg-popover p-[var(--space-1,0.25rem)] text-popover-foreground shadow-md",
1515
1691
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
1516
1692
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
1517
1693
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
@@ -1521,7 +1697,7 @@ var ContextMenuContent = React27.forwardRef(({ className, ...props }, ref) => /*
1521
1697
  }
1522
1698
  ) }));
1523
1699
  ContextMenuContent.displayName = "ContextMenuContent";
1524
- var ContextMenuItem = React27.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx30(
1700
+ var ContextMenuItem = React27.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx35(
1525
1701
  ContextMenuPrimitive.Item,
1526
1702
  {
1527
1703
  ref,
@@ -1551,7 +1727,7 @@ var ContextMenuCheckboxItem = React27.forwardRef(({ className, children, checked
1551
1727
  checked,
1552
1728
  ...props,
1553
1729
  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(
1730
+ /* @__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
1731
  "svg",
1556
1732
  {
1557
1733
  xmlns: "http://www.w3.org/2000/svg",
@@ -1563,7 +1739,7 @@ var ContextMenuCheckboxItem = React27.forwardRef(({ className, children, checked
1563
1739
  strokeLinejoin: "round",
1564
1740
  className: "h-4 w-4",
1565
1741
  "aria-hidden": "true",
1566
- children: /* @__PURE__ */ jsx30("polyline", { points: "20 6 9 17 4 12" })
1742
+ children: /* @__PURE__ */ jsx35("polyline", { points: "20 6 9 17 4 12" })
1567
1743
  }
1568
1744
  ) }) }),
1569
1745
  children
@@ -1584,13 +1760,13 @@ var ContextMenuRadioItem = React27.forwardRef(({ className, children, ...props }
1584
1760
  ),
1585
1761
  ...props,
1586
1762
  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" }) }) }) }),
1763
+ /* @__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
1764
  children
1589
1765
  ]
1590
1766
  }
1591
1767
  ));
1592
1768
  ContextMenuRadioItem.displayName = "ContextMenuRadioItem";
1593
- var ContextMenuLabel = React27.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx30(
1769
+ var ContextMenuLabel = React27.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx35(
1594
1770
  ContextMenuPrimitive.Label,
1595
1771
  {
1596
1772
  ref,
@@ -1599,17 +1775,17 @@ var ContextMenuLabel = React27.forwardRef(({ className, inset, ...props }, ref)
1599
1775
  }
1600
1776
  ));
1601
1777
  ContextMenuLabel.displayName = "ContextMenuLabel";
1602
- var ContextMenuSeparator = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1778
+ var ContextMenuSeparator = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
1603
1779
  ContextMenuPrimitive.Separator,
1604
1780
  {
1605
1781
  ref,
1606
- className: cn("-mx-[var(--space-1,0.25rem)] my-[var(--space-1,0.25rem)] h-px bg-border", className),
1782
+ className: cn("-mx-[var(--space-1,0.25rem)] my-[var(--space-1,0.25rem)] h-px bg-foreground/[0.12]", className),
1607
1783
  ...props
1608
1784
  }
1609
1785
  ));
1610
1786
  ContextMenuSeparator.displayName = "ContextMenuSeparator";
1611
1787
  function ContextMenuShortcut({ className, ...props }) {
1612
- return /* @__PURE__ */ jsx30(
1788
+ return /* @__PURE__ */ jsx35(
1613
1789
  "span",
1614
1790
  {
1615
1791
  className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className),
@@ -1621,13 +1797,13 @@ function ContextMenuShortcut({ className, ...props }) {
1621
1797
  // src/components/menubar/menubar.tsx
1622
1798
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
1623
1799
  import * as React28 from "react";
1624
- import { jsx as jsx31 } from "react/jsx-runtime";
1625
- var Menubar = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
1800
+ import { jsx as jsx36 } from "react/jsx-runtime";
1801
+ var Menubar = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
1626
1802
  MenubarPrimitive.Root,
1627
1803
  {
1628
1804
  ref,
1629
1805
  className: cn(
1630
- "flex h-[var(--control-height-md,2.5rem)] items-center space-x-1 rounded-md border bg-background p-[var(--space-1,0.25rem)]",
1806
+ "flex h-[var(--control-height-md,2.5rem)] items-center space-x-1 rounded-md border border-foreground/[0.08] bg-background p-[var(--space-1,0.25rem)]",
1631
1807
  className
1632
1808
  ),
1633
1809
  ...props
@@ -1638,7 +1814,7 @@ var MenubarMenu = MenubarPrimitive.Menu;
1638
1814
  var MenubarGroup = MenubarPrimitive.Group;
1639
1815
  var MenubarPortal = MenubarPrimitive.Portal;
1640
1816
  var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
1641
- var MenubarTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
1817
+ var MenubarTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
1642
1818
  MenubarPrimitive.Trigger,
1643
1819
  {
1644
1820
  ref,
@@ -1653,7 +1829,7 @@ var MenubarTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__
1653
1829
  }
1654
1830
  ));
1655
1831
  MenubarTrigger.displayName = "MenubarTrigger";
1656
- var MenubarContent = React28.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx31(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx31(
1832
+ var MenubarContent = React28.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx36(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx36(
1657
1833
  MenubarPrimitive.Content,
1658
1834
  {
1659
1835
  ref,
@@ -1661,7 +1837,7 @@ var MenubarContent = React28.forwardRef(({ className, align = "start", alignOffs
1661
1837
  alignOffset,
1662
1838
  sideOffset,
1663
1839
  className: cn(
1664
- "z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-[var(--space-1,0.25rem)] text-popover-foreground shadow-md",
1840
+ "z-50 min-w-[12rem] overflow-hidden rounded-md border border-foreground/[0.08] bg-popover p-[var(--space-1,0.25rem)] text-popover-foreground shadow-md",
1665
1841
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
1666
1842
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
1667
1843
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
@@ -1671,7 +1847,7 @@ var MenubarContent = React28.forwardRef(({ className, align = "start", alignOffs
1671
1847
  }
1672
1848
  ) }));
1673
1849
  MenubarContent.displayName = "MenubarContent";
1674
- var MenubarItem = React28.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx31(
1850
+ var MenubarItem = React28.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx36(
1675
1851
  MenubarPrimitive.Item,
1676
1852
  {
1677
1853
  ref,
@@ -1687,7 +1863,7 @@ var MenubarItem = React28.forwardRef(({ className, inset, ...props }, ref) => /*
1687
1863
  }
1688
1864
  ));
1689
1865
  MenubarItem.displayName = "MenubarItem";
1690
- var MenubarLabel = React28.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx31(
1866
+ var MenubarLabel = React28.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx36(
1691
1867
  MenubarPrimitive.Label,
1692
1868
  {
1693
1869
  ref,
@@ -1696,17 +1872,17 @@ var MenubarLabel = React28.forwardRef(({ className, inset, ...props }, ref) => /
1696
1872
  }
1697
1873
  ));
1698
1874
  MenubarLabel.displayName = "MenubarLabel";
1699
- var MenubarSeparator = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
1875
+ var MenubarSeparator = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
1700
1876
  MenubarPrimitive.Separator,
1701
1877
  {
1702
1878
  ref,
1703
- className: cn("-mx-[var(--space-1,0.25rem)] my-[var(--space-1,0.25rem)] h-px bg-muted", className),
1879
+ className: cn("-mx-[var(--space-1,0.25rem)] my-[var(--space-1,0.25rem)] h-px bg-foreground/[0.12]", className),
1704
1880
  ...props
1705
1881
  }
1706
1882
  ));
1707
1883
  MenubarSeparator.displayName = "MenubarSeparator";
1708
1884
  function MenubarShortcut({ className, ...props }) {
1709
- return /* @__PURE__ */ jsx31(
1885
+ return /* @__PURE__ */ jsx36(
1710
1886
  "span",
1711
1887
  {
1712
1888
  className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className),
@@ -1717,9 +1893,9 @@ function MenubarShortcut({ className, ...props }) {
1717
1893
 
1718
1894
  // src/components/navigation-menu/navigation-menu.tsx
1719
1895
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
1720
- import { cva as cva6 } from "class-variance-authority";
1896
+ import { cva as cva11 } from "class-variance-authority";
1721
1897
  import * as React29 from "react";
1722
- import { jsx as jsx32, jsxs as jsxs11 } from "react/jsx-runtime";
1898
+ import { jsx as jsx37, jsxs as jsxs11 } from "react/jsx-runtime";
1723
1899
  var NavigationMenu = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs11(
1724
1900
  NavigationMenuPrimitive.Root,
1725
1901
  {
@@ -1728,12 +1904,12 @@ var NavigationMenu = React29.forwardRef(({ className, children, ...props }, ref)
1728
1904
  ...props,
1729
1905
  children: [
1730
1906
  children,
1731
- /* @__PURE__ */ jsx32(NavigationMenuViewport, {})
1907
+ /* @__PURE__ */ jsx37(NavigationMenuViewport, {})
1732
1908
  ]
1733
1909
  }
1734
1910
  ));
1735
1911
  NavigationMenu.displayName = "NavigationMenu";
1736
- var NavigationMenuList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
1912
+ var NavigationMenuList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
1737
1913
  NavigationMenuPrimitive.List,
1738
1914
  {
1739
1915
  ref,
@@ -1743,7 +1919,7 @@ var NavigationMenuList = React29.forwardRef(({ className, ...props }, ref) => /*
1743
1919
  ));
1744
1920
  NavigationMenuList.displayName = "NavigationMenuList";
1745
1921
  var NavigationMenuItem = NavigationMenuPrimitive.Item;
1746
- var navigationMenuTriggerStyle = cva6(
1922
+ var navigationMenuTriggerStyle = cva11(
1747
1923
  "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
1924
  );
1749
1925
  var NavigationMenuTrigger = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs11(
@@ -1754,7 +1930,7 @@ var NavigationMenuTrigger = React29.forwardRef(({ className, children, ...props
1754
1930
  ...props,
1755
1931
  children: [
1756
1932
  children,
1757
- /* @__PURE__ */ jsx32(
1933
+ /* @__PURE__ */ jsx37(
1758
1934
  "svg",
1759
1935
  {
1760
1936
  xmlns: "http://www.w3.org/2000/svg",
@@ -1766,14 +1942,14 @@ var NavigationMenuTrigger = React29.forwardRef(({ className, children, ...props
1766
1942
  strokeLinejoin: "round",
1767
1943
  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
1944
  "aria-hidden": "true",
1769
- children: /* @__PURE__ */ jsx32("polyline", { points: "6 9 12 15 18 9" })
1945
+ children: /* @__PURE__ */ jsx37("polyline", { points: "6 9 12 15 18 9" })
1770
1946
  }
1771
1947
  )
1772
1948
  ]
1773
1949
  }
1774
1950
  ));
1775
1951
  NavigationMenuTrigger.displayName = "NavigationMenuTrigger";
1776
- var NavigationMenuContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
1952
+ var NavigationMenuContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
1777
1953
  NavigationMenuPrimitive.Content,
1778
1954
  {
1779
1955
  ref,
@@ -1786,11 +1962,11 @@ var NavigationMenuContent = React29.forwardRef(({ className, ...props }, ref) =>
1786
1962
  ));
1787
1963
  NavigationMenuContent.displayName = "NavigationMenuContent";
1788
1964
  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(
1965
+ var NavigationMenuViewport = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37("div", { className: "absolute left-0 top-full flex justify-center", children: /* @__PURE__ */ jsx37(
1790
1966
  NavigationMenuPrimitive.Viewport,
1791
1967
  {
1792
1968
  className: cn(
1793
- "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg",
1969
+ "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-foreground/[0.08] bg-popover text-popover-foreground shadow-lg",
1794
1970
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90",
1795
1971
  "md:w-[var(--radix-navigation-menu-viewport-width)]",
1796
1972
  className
@@ -1800,7 +1976,7 @@ var NavigationMenuViewport = React29.forwardRef(({ className, ...props }, ref) =
1800
1976
  }
1801
1977
  ) }));
1802
1978
  NavigationMenuViewport.displayName = "NavigationMenuViewport";
1803
- var NavigationMenuIndicator = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
1979
+ var NavigationMenuIndicator = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
1804
1980
  NavigationMenuPrimitive.Indicator,
1805
1981
  {
1806
1982
  ref,
@@ -1809,21 +1985,21 @@ var NavigationMenuIndicator = React29.forwardRef(({ className, ...props }, ref)
1809
1985
  className
1810
1986
  ),
1811
1987
  ...props,
1812
- children: /* @__PURE__ */ jsx32("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
1988
+ children: /* @__PURE__ */ jsx37("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-foreground/[0.12] shadow-md" })
1813
1989
  }
1814
1990
  ));
1815
1991
  NavigationMenuIndicator.displayName = "NavigationMenuIndicator";
1816
1992
 
1817
1993
  // src/components/breadcrumb/breadcrumb.tsx
1818
- import { Slot as Slot3 } from "@radix-ui/react-slot";
1994
+ import { Slot as Slot4 } from "@radix-ui/react-slot";
1819
1995
  import * as React30 from "react";
1820
- import { jsx as jsx33, jsxs as jsxs12 } from "react/jsx-runtime";
1996
+ import { jsx as jsx38, jsxs as jsxs12 } from "react/jsx-runtime";
1821
1997
  var Breadcrumb = React30.forwardRef(
1822
- (props, ref) => /* @__PURE__ */ jsx33("nav", { ref, "aria-label": "breadcrumb", ...props })
1998
+ (props, ref) => /* @__PURE__ */ jsx38("nav", { ref, "aria-label": "breadcrumb", ...props })
1823
1999
  );
1824
2000
  Breadcrumb.displayName = "Breadcrumb";
1825
2001
  var BreadcrumbList = React30.forwardRef(
1826
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
2002
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1827
2003
  "ol",
1828
2004
  {
1829
2005
  ref,
@@ -1837,7 +2013,7 @@ var BreadcrumbList = React30.forwardRef(
1837
2013
  );
1838
2014
  BreadcrumbList.displayName = "BreadcrumbList";
1839
2015
  var BreadcrumbItem = React30.forwardRef(
1840
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
2016
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1841
2017
  "li",
1842
2018
  {
1843
2019
  ref,
@@ -1848,8 +2024,8 @@ var BreadcrumbItem = React30.forwardRef(
1848
2024
  );
1849
2025
  BreadcrumbItem.displayName = "BreadcrumbItem";
1850
2026
  var BreadcrumbLink = React30.forwardRef(({ asChild, className, ...props }, ref) => {
1851
- const Comp = asChild ? Slot3 : "a";
1852
- return /* @__PURE__ */ jsx33(
2027
+ const Comp = asChild ? Slot4 : "a";
2028
+ return /* @__PURE__ */ jsx38(
1853
2029
  Comp,
1854
2030
  {
1855
2031
  ref,
@@ -1860,7 +2036,7 @@ var BreadcrumbLink = React30.forwardRef(({ asChild, className, ...props }, ref)
1860
2036
  });
1861
2037
  BreadcrumbLink.displayName = "BreadcrumbLink";
1862
2038
  var BreadcrumbPage = React30.forwardRef(
1863
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
2039
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
1864
2040
  "span",
1865
2041
  {
1866
2042
  ref,
@@ -1878,7 +2054,7 @@ function BreadcrumbSeparator({
1878
2054
  className,
1879
2055
  ...props
1880
2056
  }) {
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(
2057
+ 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
2058
  "svg",
1883
2059
  {
1884
2060
  xmlns: "http://www.w3.org/2000/svg",
@@ -1889,7 +2065,7 @@ function BreadcrumbSeparator({
1889
2065
  strokeLinecap: "round",
1890
2066
  strokeLinejoin: "round",
1891
2067
  "aria-hidden": "true",
1892
- children: /* @__PURE__ */ jsx33("polyline", { points: "9 18 15 12 9 6" })
2068
+ children: /* @__PURE__ */ jsx38("polyline", { points: "9 18 15 12 9 6" })
1893
2069
  }
1894
2070
  ) });
1895
2071
  }
@@ -1913,13 +2089,13 @@ function BreadcrumbEllipsis({ className, ...props }) {
1913
2089
  className: "h-4 w-4",
1914
2090
  "aria-hidden": "true",
1915
2091
  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" })
2092
+ /* @__PURE__ */ jsx38("circle", { cx: "12", cy: "12", r: "1" }),
2093
+ /* @__PURE__ */ jsx38("circle", { cx: "19", cy: "12", r: "1" }),
2094
+ /* @__PURE__ */ jsx38("circle", { cx: "5", cy: "12", r: "1" })
1919
2095
  ]
1920
2096
  }
1921
2097
  ),
1922
- /* @__PURE__ */ jsx33("span", { className: "sr-only", children: "More pages" })
2098
+ /* @__PURE__ */ jsx38("span", { className: "sr-only", children: "More pages" })
1923
2099
  ]
1924
2100
  }
1925
2101
  );
@@ -1927,9 +2103,9 @@ function BreadcrumbEllipsis({ className, ...props }) {
1927
2103
 
1928
2104
  // src/components/table/table.tsx
1929
2105
  import * as React31 from "react";
1930
- import { jsx as jsx34 } from "react/jsx-runtime";
2106
+ import { jsx as jsx39 } from "react/jsx-runtime";
1931
2107
  var Table = React31.forwardRef(
1932
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx34("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx34(
2108
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx39("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx39(
1933
2109
  "table",
1934
2110
  {
1935
2111
  ref,
@@ -1939,35 +2115,35 @@ var Table = React31.forwardRef(
1939
2115
  ) })
1940
2116
  );
1941
2117
  Table.displayName = "Table";
1942
- var TableHeader = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
2118
+ var TableHeader = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39("thead", { ref, className: cn("[&_tr]:border-b [&_tr]:border-b-foreground/[0.08]", className), ...props }));
1943
2119
  TableHeader.displayName = "TableHeader";
1944
- var TableBody = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props }));
2120
+ var TableBody = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props }));
1945
2121
  TableBody.displayName = "TableBody";
1946
- var TableFooter = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
2122
+ var TableFooter = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
1947
2123
  "tfoot",
1948
2124
  {
1949
2125
  ref,
1950
2126
  className: cn(
1951
- "border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
2127
+ "border-t border-t-foreground/[0.08] bg-muted/50 font-medium [&>tr]:last:border-b-0",
1952
2128
  className
1953
2129
  ),
1954
2130
  ...props
1955
2131
  }
1956
2132
  ));
1957
2133
  TableFooter.displayName = "TableFooter";
1958
- var TableRow = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
2134
+ var TableRow = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
1959
2135
  "tr",
1960
2136
  {
1961
2137
  ref,
1962
2138
  className: cn(
1963
- "border-b transition-all duration-[var(--duration-normal,200ms)] ease-out hover:bg-muted/50 data-[state=selected]:bg-muted",
2139
+ "border-b border-b-foreground/[0.08] transition-all duration-[var(--duration-normal,200ms)] ease-out hover:bg-muted/50 data-[state=selected]:bg-muted",
1964
2140
  className
1965
2141
  ),
1966
2142
  ...props
1967
2143
  }
1968
2144
  ));
1969
2145
  TableRow.displayName = "TableRow";
1970
- var TableHead = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
2146
+ var TableHead = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
1971
2147
  "th",
1972
2148
  {
1973
2149
  ref,
@@ -1979,7 +2155,7 @@ var TableHead = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1979
2155
  }
1980
2156
  ));
1981
2157
  TableHead.displayName = "TableHead";
1982
- var TableCell = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
2158
+ var TableCell = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
1983
2159
  "td",
1984
2160
  {
1985
2161
  ref,
@@ -1988,7 +2164,7 @@ var TableCell = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1988
2164
  }
1989
2165
  ));
1990
2166
  TableCell.displayName = "TableCell";
1991
- var TableCaption = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
2167
+ var TableCaption = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
1992
2168
  "caption",
1993
2169
  {
1994
2170
  ref,
@@ -2007,7 +2183,7 @@ import {
2007
2183
  getCoreRowModel,
2008
2184
  useReactTable
2009
2185
  } from "@tanstack/react-table";
2010
- import { jsx as jsx35, jsxs as jsxs13 } from "react/jsx-runtime";
2186
+ import { jsx as jsx40, jsxs as jsxs13 } from "react/jsx-runtime";
2011
2187
  function DataTable({
2012
2188
  columns,
2013
2189
  data,
@@ -2019,18 +2195,18 @@ function DataTable({
2019
2195
  columns,
2020
2196
  getCoreRowModel: getCoreRowModel()
2021
2197
  });
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." }) }) })
2198
+ return /* @__PURE__ */ jsx40("div", { className: "rounded-md border border-foreground/[0.08]", children: /* @__PURE__ */ jsxs13(Table, { "aria-label": ariaLabel, children: [
2199
+ caption ? /* @__PURE__ */ jsx40(TableCaption, { children: caption }) : null,
2200
+ /* @__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)) }),
2201
+ /* @__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
2202
  ] }) });
2027
2203
  }
2028
2204
 
2029
2205
  // src/components/pagination/pagination.tsx
2030
2206
  import * as React32 from "react";
2031
- import { jsx as jsx36, jsxs as jsxs14 } from "react/jsx-runtime";
2207
+ import { jsx as jsx41, jsxs as jsxs14 } from "react/jsx-runtime";
2032
2208
  function Pagination({ className, ...props }) {
2033
- return /* @__PURE__ */ jsx36(
2209
+ return /* @__PURE__ */ jsx41(
2034
2210
  "nav",
2035
2211
  {
2036
2212
  role: "navigation",
@@ -2041,7 +2217,7 @@ function Pagination({ className, ...props }) {
2041
2217
  );
2042
2218
  }
2043
2219
  var PaginationContent = React32.forwardRef(
2044
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
2220
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
2045
2221
  "ul",
2046
2222
  {
2047
2223
  ref,
@@ -2052,7 +2228,7 @@ var PaginationContent = React32.forwardRef(
2052
2228
  );
2053
2229
  PaginationContent.displayName = "PaginationContent";
2054
2230
  var PaginationItem = React32.forwardRef(
2055
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx36("li", { ref, className, ...props })
2231
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx41("li", { ref, className, ...props })
2056
2232
  );
2057
2233
  PaginationItem.displayName = "PaginationItem";
2058
2234
  function PaginationLink({
@@ -2061,7 +2237,7 @@ function PaginationLink({
2061
2237
  size = "icon",
2062
2238
  ...props
2063
2239
  }) {
2064
- return /* @__PURE__ */ jsx36(
2240
+ return /* @__PURE__ */ jsx41(
2065
2241
  "a",
2066
2242
  {
2067
2243
  "aria-current": isActive ? "page" : void 0,
@@ -2082,7 +2258,7 @@ function PaginationPrevious({ className, ...props }) {
2082
2258
  className: cn("gap-1 pl-2.5", className),
2083
2259
  ...props,
2084
2260
  children: [
2085
- /* @__PURE__ */ jsx36(
2261
+ /* @__PURE__ */ jsx41(
2086
2262
  "svg",
2087
2263
  {
2088
2264
  xmlns: "http://www.w3.org/2000/svg",
@@ -2094,10 +2270,10 @@ function PaginationPrevious({ className, ...props }) {
2094
2270
  strokeLinejoin: "round",
2095
2271
  className: "h-4 w-4",
2096
2272
  "aria-hidden": "true",
2097
- children: /* @__PURE__ */ jsx36("polyline", { points: "15 18 9 12 15 6" })
2273
+ children: /* @__PURE__ */ jsx41("polyline", { points: "15 18 9 12 15 6" })
2098
2274
  }
2099
2275
  ),
2100
- /* @__PURE__ */ jsx36("span", { children: "Previous" })
2276
+ /* @__PURE__ */ jsx41("span", { children: "Previous" })
2101
2277
  ]
2102
2278
  }
2103
2279
  );
@@ -2111,8 +2287,8 @@ function PaginationNext({ className, ...props }) {
2111
2287
  className: cn("gap-1 pr-2.5", className),
2112
2288
  ...props,
2113
2289
  children: [
2114
- /* @__PURE__ */ jsx36("span", { children: "Next" }),
2115
- /* @__PURE__ */ jsx36(
2290
+ /* @__PURE__ */ jsx41("span", { children: "Next" }),
2291
+ /* @__PURE__ */ jsx41(
2116
2292
  "svg",
2117
2293
  {
2118
2294
  xmlns: "http://www.w3.org/2000/svg",
@@ -2124,7 +2300,7 @@ function PaginationNext({ className, ...props }) {
2124
2300
  strokeLinejoin: "round",
2125
2301
  className: "h-4 w-4",
2126
2302
  "aria-hidden": "true",
2127
- children: /* @__PURE__ */ jsx36("polyline", { points: "9 18 15 12 9 6" })
2303
+ children: /* @__PURE__ */ jsx41("polyline", { points: "9 18 15 12 9 6" })
2128
2304
  }
2129
2305
  )
2130
2306
  ]
@@ -2151,13 +2327,13 @@ function PaginationEllipsis({ className, ...props }) {
2151
2327
  className: "h-4 w-4",
2152
2328
  "aria-hidden": "true",
2153
2329
  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" })
2330
+ /* @__PURE__ */ jsx41("circle", { cx: "12", cy: "12", r: "1" }),
2331
+ /* @__PURE__ */ jsx41("circle", { cx: "19", cy: "12", r: "1" }),
2332
+ /* @__PURE__ */ jsx41("circle", { cx: "5", cy: "12", r: "1" })
2157
2333
  ]
2158
2334
  }
2159
2335
  ),
2160
- /* @__PURE__ */ jsx36("span", { className: "sr-only", children: "More pages" })
2336
+ /* @__PURE__ */ jsx41("span", { className: "sr-only", children: "More pages" })
2161
2337
  ]
2162
2338
  }
2163
2339
  );
@@ -2165,14 +2341,14 @@ function PaginationEllipsis({ className, ...props }) {
2165
2341
 
2166
2342
  // src/components/calendar/calendar.tsx
2167
2343
  import { DayPicker } from "react-day-picker";
2168
- import { jsx as jsx37 } from "react/jsx-runtime";
2344
+ import { jsx as jsx42 } from "react/jsx-runtime";
2169
2345
  function Calendar({
2170
2346
  className,
2171
2347
  classNames,
2172
2348
  showOutsideDays = true,
2173
2349
  ...props
2174
2350
  }) {
2175
- return /* @__PURE__ */ jsx37(
2351
+ return /* @__PURE__ */ jsx42(
2176
2352
  DayPicker,
2177
2353
  {
2178
2354
  showOutsideDays,
@@ -2184,10 +2360,10 @@ function Calendar({
2184
2360
  caption_label: "text-sm font-medium",
2185
2361
  nav: "absolute inset-x-3 top-3 z-10 flex items-center justify-between pointer-events-none [&>button]:pointer-events-auto",
2186
2362
  button_previous: cn(
2187
- "inline-flex h-7 w-7 items-center justify-center rounded-md border bg-transparent p-0 opacity-60 transition-all duration-[var(--duration-normal,200ms)] ease-out hover:opacity-100 disabled:pointer-events-none disabled:opacity-30"
2363
+ "inline-flex h-7 w-7 items-center justify-center rounded-md border border-foreground/[0.08] bg-transparent p-0 opacity-60 transition-all duration-[var(--duration-normal,200ms)] ease-out hover:opacity-100 disabled:pointer-events-none disabled:opacity-30"
2188
2364
  ),
2189
2365
  button_next: cn(
2190
- "inline-flex h-7 w-7 items-center justify-center rounded-md border bg-transparent p-0 opacity-60 transition-all duration-[var(--duration-normal,200ms)] ease-out hover:opacity-100 disabled:pointer-events-none disabled:opacity-30"
2366
+ "inline-flex h-7 w-7 items-center justify-center rounded-md border border-foreground/[0.08] bg-transparent p-0 opacity-60 transition-all duration-[var(--duration-normal,200ms)] ease-out hover:opacity-100 disabled:pointer-events-none disabled:opacity-30"
2191
2367
  ),
2192
2368
  month_grid: "w-full border-collapse space-y-1",
2193
2369
  weekdays: "flex",
@@ -2208,7 +2384,7 @@ function Calendar({
2208
2384
  components: {
2209
2385
  Chevron: ({ orientation, className: chevronClassName }) => {
2210
2386
  const rotation = orientation === "left" ? "rotate-90" : orientation === "right" ? "-rotate-90" : orientation === "up" ? "rotate-180" : "";
2211
- return /* @__PURE__ */ jsx37(
2387
+ return /* @__PURE__ */ jsx42(
2212
2388
  "svg",
2213
2389
  {
2214
2390
  xmlns: "http://www.w3.org/2000/svg",
@@ -2220,7 +2396,7 @@ function Calendar({
2220
2396
  strokeLinejoin: "round",
2221
2397
  className: cn("h-4 w-4", rotation, chevronClassName),
2222
2398
  "aria-hidden": "true",
2223
- children: /* @__PURE__ */ jsx37("polyline", { points: "6 9 12 15 18 9" })
2399
+ children: /* @__PURE__ */ jsx42("polyline", { points: "6 9 12 15 18 9" })
2224
2400
  }
2225
2401
  );
2226
2402
  }
@@ -2234,7 +2410,7 @@ Calendar.displayName = "Calendar";
2234
2410
  // src/components/date-picker/date-picker.tsx
2235
2411
  import { format } from "date-fns";
2236
2412
  import * as React33 from "react";
2237
- import { jsx as jsx38, jsxs as jsxs15 } from "react/jsx-runtime";
2413
+ import { jsx as jsx43, jsxs as jsxs15 } from "react/jsx-runtime";
2238
2414
  function DatePicker({
2239
2415
  value,
2240
2416
  onChange,
@@ -2246,7 +2422,7 @@ function DatePicker({
2246
2422
  }) {
2247
2423
  const [open, setOpen] = React33.useState(false);
2248
2424
  return /* @__PURE__ */ jsxs15(Popover, { open, onOpenChange: setOpen, children: [
2249
- /* @__PURE__ */ jsx38(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs15(
2425
+ /* @__PURE__ */ jsx43(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs15(
2250
2426
  "button",
2251
2427
  {
2252
2428
  type: "button",
@@ -2254,6 +2430,7 @@ function DatePicker({
2254
2430
  "aria-label": ariaLabel ?? placeholder,
2255
2431
  className: cn(
2256
2432
  "inline-flex h-[var(--control-height-md,2.5rem)] w-[240px] items-center justify-start gap-[var(--gap-sm,0.5rem)] rounded-md border border-input bg-background px-[var(--space-3,0.75rem)] py-[var(--space-2,0.5rem)] text-left text-sm font-normal transition-all duration-[var(--duration-normal,200ms)] ease-out",
2433
+ "shadow-sm inset-ring-1 inset-ring-foreground/[0.06]",
2257
2434
  "hover:bg-accent hover:text-accent-foreground",
2258
2435
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
2259
2436
  "disabled:pointer-events-none disabled:opacity-50",
@@ -2274,18 +2451,18 @@ function DatePicker({
2274
2451
  className: "h-4 w-4",
2275
2452
  "aria-hidden": "true",
2276
2453
  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" })
2454
+ /* @__PURE__ */ jsx43("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }),
2455
+ /* @__PURE__ */ jsx43("line", { x1: "16", y1: "2", x2: "16", y2: "6" }),
2456
+ /* @__PURE__ */ jsx43("line", { x1: "8", y1: "2", x2: "8", y2: "6" }),
2457
+ /* @__PURE__ */ jsx43("line", { x1: "3", y1: "10", x2: "21", y2: "10" })
2281
2458
  ]
2282
2459
  }
2283
2460
  ),
2284
- /* @__PURE__ */ jsx38("span", { children: value ? format(value, dateFormat) : placeholder })
2461
+ /* @__PURE__ */ jsx43("span", { children: value ? format(value, dateFormat) : placeholder })
2285
2462
  ]
2286
2463
  }
2287
2464
  ) }),
2288
- /* @__PURE__ */ jsx38(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsx38(
2465
+ /* @__PURE__ */ jsx43(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsx43(
2289
2466
  Calendar,
2290
2467
  {
2291
2468
  mode: "single",
@@ -2304,9 +2481,9 @@ DatePicker.displayName = "DatePicker";
2304
2481
  // src/components/input-otp/input-otp.tsx
2305
2482
  import { OTPInput, OTPInputContext } from "input-otp";
2306
2483
  import * as React34 from "react";
2307
- import { jsx as jsx39, jsxs as jsxs16 } from "react/jsx-runtime";
2484
+ import { jsx as jsx44, jsxs as jsxs16 } from "react/jsx-runtime";
2308
2485
  var InputOTP = React34.forwardRef(
2309
- ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx39(
2486
+ ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx44(
2310
2487
  OTPInput,
2311
2488
  {
2312
2489
  ref,
@@ -2320,7 +2497,7 @@ var InputOTP = React34.forwardRef(
2320
2497
  )
2321
2498
  );
2322
2499
  InputOTP.displayName = "InputOTP";
2323
- var InputOTPGroup = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39("div", { ref, className: cn("flex items-center", className), ...props }));
2500
+ var InputOTPGroup = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx44("div", { ref, className: cn("flex items-center", className), ...props }));
2324
2501
  InputOTPGroup.displayName = "InputOTPGroup";
2325
2502
  var InputOTPSlot = React34.forwardRef(
2326
2503
  ({ index, className, ...props }, ref) => {
@@ -2335,6 +2512,7 @@ var InputOTPSlot = React34.forwardRef(
2335
2512
  ref,
2336
2513
  className: cn(
2337
2514
  "relative flex h-[var(--control-height-md,2.5rem)] w-[var(--control-height-md,2.5rem)] items-center justify-center border-y border-r border-input text-sm transition-all duration-[var(--duration-normal,200ms)] ease-out",
2515
+ "inset-ring-1 inset-ring-foreground/[0.06]",
2338
2516
  "first:rounded-l-md first:border-l last:rounded-r-md",
2339
2517
  isActive && "z-10 ring-2 ring-ring ring-offset-2 ring-offset-background",
2340
2518
  className
@@ -2342,14 +2520,14 @@ var InputOTPSlot = React34.forwardRef(
2342
2520
  ...props,
2343
2521
  children: [
2344
2522
  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" }) })
2523
+ 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
2524
  ]
2347
2525
  }
2348
2526
  );
2349
2527
  }
2350
2528
  );
2351
2529
  InputOTPSlot.displayName = "InputOTPSlot";
2352
- var InputOTPSeparator = React34.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx39("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx39(
2530
+ var InputOTPSeparator = React34.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx44("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx44(
2353
2531
  "svg",
2354
2532
  {
2355
2533
  xmlns: "http://www.w3.org/2000/svg",
@@ -2357,7 +2535,7 @@ var InputOTPSeparator = React34.forwardRef(({ ...props }, ref) => /* @__PURE__ *
2357
2535
  fill: "currentColor",
2358
2536
  className: "h-2 w-2 text-muted-foreground",
2359
2537
  "aria-hidden": "true",
2360
- children: /* @__PURE__ */ jsx39("circle", { cx: "12", cy: "12", r: "6" })
2538
+ children: /* @__PURE__ */ jsx44("circle", { cx: "12", cy: "12", r: "6" })
2361
2539
  }
2362
2540
  ) }));
2363
2541
  InputOTPSeparator.displayName = "InputOTPSeparator";
@@ -2365,8 +2543,8 @@ InputOTPSeparator.displayName = "InputOTPSeparator";
2365
2543
  // src/components/command/command.tsx
2366
2544
  import { Command as CommandPrimitive } from "cmdk";
2367
2545
  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(
2546
+ import { jsx as jsx45, jsxs as jsxs17 } from "react/jsx-runtime";
2547
+ var Command = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
2370
2548
  CommandPrimitive,
2371
2549
  {
2372
2550
  ref,
@@ -2386,13 +2564,13 @@ function CommandDialog({
2386
2564
  }) {
2387
2565
  return /* @__PURE__ */ jsxs17(Dialog, { ...props, children: [
2388
2566
  /* @__PURE__ */ jsxs17(DialogHeader, { className: "sr-only", children: [
2389
- /* @__PURE__ */ jsx40(DialogTitle, { children: title }),
2390
- /* @__PURE__ */ jsx40(DialogDescription, { children: description })
2567
+ /* @__PURE__ */ jsx45(DialogTitle, { children: title }),
2568
+ /* @__PURE__ */ jsx45(DialogDescription, { children: description })
2391
2569
  ] }),
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 }) })
2570
+ /* @__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
2571
  ] });
2394
2572
  }
2395
- 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: [
2573
+ var CommandInput = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs17("div", { className: "flex items-center border-b border-b-foreground/[0.08] px-[var(--space-3,0.75rem)]", "cmdk-input-wrapper": "", children: [
2396
2574
  /* @__PURE__ */ jsxs17(
2397
2575
  "svg",
2398
2576
  {
@@ -2406,12 +2584,12 @@ var CommandInput = React35.forwardRef(({ className, ...props }, ref) => /* @__PU
2406
2584
  className: "mr-[var(--space-2,0.5rem)] h-4 w-4 shrink-0 opacity-50",
2407
2585
  "aria-hidden": "true",
2408
2586
  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" })
2587
+ /* @__PURE__ */ jsx45("circle", { cx: "11", cy: "11", r: "8" }),
2588
+ /* @__PURE__ */ jsx45("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })
2411
2589
  ]
2412
2590
  }
2413
2591
  ),
2414
- /* @__PURE__ */ jsx40(
2592
+ /* @__PURE__ */ jsx45(
2415
2593
  CommandPrimitive.Input,
2416
2594
  {
2417
2595
  ref,
@@ -2424,7 +2602,7 @@ var CommandInput = React35.forwardRef(({ className, ...props }, ref) => /* @__PU
2424
2602
  )
2425
2603
  ] }));
2426
2604
  CommandInput.displayName = "CommandInput";
2427
- var CommandList = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
2605
+ var CommandList = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
2428
2606
  CommandPrimitive.List,
2429
2607
  {
2430
2608
  ref,
@@ -2433,9 +2611,9 @@ var CommandList = React35.forwardRef(({ className, ...props }, ref) => /* @__PUR
2433
2611
  }
2434
2612
  ));
2435
2613
  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 }));
2614
+ var CommandEmpty = React35.forwardRef((props, ref) => /* @__PURE__ */ jsx45(CommandPrimitive.Empty, { ref, className: "py-[var(--space-6,1.5rem)] text-center text-sm", ...props }));
2437
2615
  CommandEmpty.displayName = "CommandEmpty";
2438
- var CommandGroup = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
2616
+ var CommandGroup = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
2439
2617
  CommandPrimitive.Group,
2440
2618
  {
2441
2619
  ref,
@@ -2447,18 +2625,18 @@ var CommandGroup = React35.forwardRef(({ className, ...props }, ref) => /* @__PU
2447
2625
  }
2448
2626
  ));
2449
2627
  CommandGroup.displayName = "CommandGroup";
2450
- var CommandSeparator = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
2628
+ var CommandSeparator = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
2451
2629
  "div",
2452
2630
  {
2453
2631
  ref,
2454
2632
  role: "none",
2455
2633
  "data-cmdk-separator": "",
2456
- className: cn("-mx-[var(--space-1,0.25rem)] h-px bg-border", className),
2634
+ className: cn("-mx-[var(--space-1,0.25rem)] h-px bg-foreground/[0.12]", className),
2457
2635
  ...props
2458
2636
  }
2459
2637
  ));
2460
2638
  CommandSeparator.displayName = "CommandSeparator";
2461
- var CommandItem = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
2639
+ var CommandItem = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
2462
2640
  CommandPrimitive.Item,
2463
2641
  {
2464
2642
  ref,
@@ -2474,7 +2652,7 @@ var CommandItem = React35.forwardRef(({ className, ...props }, ref) => /* @__PUR
2474
2652
  ));
2475
2653
  CommandItem.displayName = "CommandItem";
2476
2654
  function CommandShortcut({ className, ...props }) {
2477
- return /* @__PURE__ */ jsx40(
2655
+ return /* @__PURE__ */ jsx45(
2478
2656
  "span",
2479
2657
  {
2480
2658
  className: cn(
@@ -2489,7 +2667,7 @@ CommandShortcut.displayName = "CommandShortcut";
2489
2667
 
2490
2668
  // src/components/combobox/combobox.tsx
2491
2669
  import * as React36 from "react";
2492
- import { jsx as jsx41, jsxs as jsxs18 } from "react/jsx-runtime";
2670
+ import { jsx as jsx46, jsxs as jsxs18 } from "react/jsx-runtime";
2493
2671
  function Combobox({
2494
2672
  options,
2495
2673
  value,
@@ -2506,7 +2684,7 @@ function Combobox({
2506
2684
  const listboxId = React36.useId();
2507
2685
  const selected = options.find((o) => o.value === value);
2508
2686
  return /* @__PURE__ */ jsxs18(Popover, { open, onOpenChange: setOpen, children: [
2509
- /* @__PURE__ */ jsx41(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs18(
2687
+ /* @__PURE__ */ jsx46(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs18(
2510
2688
  "button",
2511
2689
  {
2512
2690
  type: "button",
@@ -2519,6 +2697,7 @@ function Combobox({
2519
2697
  disabled,
2520
2698
  className: cn(
2521
2699
  "inline-flex h-[var(--control-height-md,2.5rem)] w-[240px] items-center justify-between gap-[var(--gap-sm,0.5rem)] rounded-md border border-input bg-background px-[var(--space-3,0.75rem)] py-[var(--space-2,0.5rem)] text-sm font-normal transition-all duration-[var(--duration-normal,200ms)] ease-out",
2700
+ "shadow-sm inset-ring-1 inset-ring-foreground/[0.06]",
2522
2701
  "hover:bg-accent hover:text-accent-foreground",
2523
2702
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
2524
2703
  "disabled:pointer-events-none disabled:opacity-50",
@@ -2526,8 +2705,8 @@ function Combobox({
2526
2705
  className
2527
2706
  ),
2528
2707
  children: [
2529
- /* @__PURE__ */ jsx41("span", { className: "truncate", children: selected ? selected.label : placeholder }),
2530
- /* @__PURE__ */ jsx41(
2708
+ /* @__PURE__ */ jsx46("span", { className: "truncate", children: selected ? selected.label : placeholder }),
2709
+ /* @__PURE__ */ jsx46(
2531
2710
  "svg",
2532
2711
  {
2533
2712
  xmlns: "http://www.w3.org/2000/svg",
@@ -2539,17 +2718,17 @@ function Combobox({
2539
2718
  strokeLinejoin: "round",
2540
2719
  className: "h-4 w-4 shrink-0 opacity-50",
2541
2720
  "aria-hidden": "true",
2542
- children: /* @__PURE__ */ jsx41("polyline", { points: "6 9 12 15 18 9" })
2721
+ children: /* @__PURE__ */ jsx46("polyline", { points: "6 9 12 15 18 9" })
2543
2722
  }
2544
2723
  )
2545
2724
  ]
2546
2725
  }
2547
2726
  ) }),
2548
- /* @__PURE__ */ jsx41(PopoverContent, { className: "w-[240px] p-0", align: "start", children: /* @__PURE__ */ jsxs18(Command, { children: [
2549
- /* @__PURE__ */ jsx41(CommandInput, { placeholder: searchPlaceholder }),
2727
+ /* @__PURE__ */ jsx46(PopoverContent, { className: "w-[240px] p-0", align: "start", children: /* @__PURE__ */ jsxs18(Command, { children: [
2728
+ /* @__PURE__ */ jsx46(CommandInput, { placeholder: searchPlaceholder }),
2550
2729
  /* @__PURE__ */ jsxs18(CommandList, { id: listboxId, children: [
2551
- /* @__PURE__ */ jsx41(CommandEmpty, { children: emptyText }),
2552
- /* @__PURE__ */ jsx41(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsxs18(
2730
+ /* @__PURE__ */ jsx46(CommandEmpty, { children: emptyText }),
2731
+ /* @__PURE__ */ jsx46(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsxs18(
2553
2732
  CommandItem,
2554
2733
  {
2555
2734
  value: option.label,
@@ -2559,7 +2738,7 @@ function Combobox({
2559
2738
  setOpen(false);
2560
2739
  },
2561
2740
  children: [
2562
- /* @__PURE__ */ jsx41(
2741
+ /* @__PURE__ */ jsx46(
2563
2742
  "svg",
2564
2743
  {
2565
2744
  xmlns: "http://www.w3.org/2000/svg",
@@ -2574,7 +2753,7 @@ function Combobox({
2574
2753
  value === option.value ? "opacity-100" : "opacity-0"
2575
2754
  ),
2576
2755
  "aria-hidden": "true",
2577
- children: /* @__PURE__ */ jsx41("polyline", { points: "20 6 9 17 4 12" })
2756
+ children: /* @__PURE__ */ jsx46("polyline", { points: "20 6 9 17 4 12" })
2578
2757
  }
2579
2758
  ),
2580
2759
  option.label
@@ -2590,14 +2769,14 @@ Combobox.displayName = "Combobox";
2590
2769
 
2591
2770
  // src/components/sheet/sheet.tsx
2592
2771
  import * as SheetPrimitive from "@radix-ui/react-dialog";
2593
- import { cva as cva7 } from "class-variance-authority";
2772
+ import { cva as cva12 } from "class-variance-authority";
2594
2773
  import * as React37 from "react";
2595
- import { jsx as jsx42, jsxs as jsxs19 } from "react/jsx-runtime";
2774
+ import { jsx as jsx47, jsxs as jsxs19 } from "react/jsx-runtime";
2596
2775
  var Sheet = SheetPrimitive.Root;
2597
2776
  var SheetTrigger = SheetPrimitive.Trigger;
2598
2777
  var SheetClose = SheetPrimitive.Close;
2599
2778
  var SheetPortal = SheetPrimitive.Portal;
2600
- var SheetOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
2779
+ var SheetOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
2601
2780
  SheetPrimitive.Overlay,
2602
2781
  {
2603
2782
  ref,
@@ -2611,9 +2790,10 @@ var SheetOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PU
2611
2790
  }
2612
2791
  ));
2613
2792
  SheetOverlay.displayName = "SheetOverlay";
2614
- var sheetVariants = cva7(
2793
+ var sheetVariants = cva12(
2615
2794
  cn(
2616
2795
  "fixed z-50 gap-[var(--gap-md,1rem)] bg-background p-[var(--space-6,1.5rem)] shadow-lg",
2796
+ "border-foreground/[0.08]",
2617
2797
  "transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out",
2618
2798
  "data-[state=closed]:duration-[var(--duration-slow,300ms)] data-[state=open]:duration-500"
2619
2799
  ),
@@ -2632,7 +2812,7 @@ var sheetVariants = cva7(
2632
2812
  }
2633
2813
  );
2634
2814
  var SheetContent = React37.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs19(SheetPortal, { children: [
2635
- /* @__PURE__ */ jsx42(SheetOverlay, {}),
2815
+ /* @__PURE__ */ jsx47(SheetOverlay, {}),
2636
2816
  /* @__PURE__ */ jsxs19(
2637
2817
  SheetPrimitive.Content,
2638
2818
  {
@@ -2664,12 +2844,12 @@ var SheetContent = React37.forwardRef(({ side = "right", className, children, ..
2664
2844
  className: "h-4 w-4",
2665
2845
  "aria-hidden": "true",
2666
2846
  children: [
2667
- /* @__PURE__ */ jsx42("path", { d: "M18 6 6 18" }),
2668
- /* @__PURE__ */ jsx42("path", { d: "m6 6 12 12" })
2847
+ /* @__PURE__ */ jsx47("path", { d: "M18 6 6 18" }),
2848
+ /* @__PURE__ */ jsx47("path", { d: "m6 6 12 12" })
2669
2849
  ]
2670
2850
  }
2671
2851
  ),
2672
- /* @__PURE__ */ jsx42("span", { className: "sr-only", children: "Close" })
2852
+ /* @__PURE__ */ jsx47("span", { className: "sr-only", children: "Close" })
2673
2853
  ]
2674
2854
  }
2675
2855
  )
@@ -2679,7 +2859,7 @@ var SheetContent = React37.forwardRef(({ side = "right", className, children, ..
2679
2859
  ] }));
2680
2860
  SheetContent.displayName = "SheetContent";
2681
2861
  function SheetHeader({ className, ...props }) {
2682
- return /* @__PURE__ */ jsx42(
2862
+ return /* @__PURE__ */ jsx47(
2683
2863
  "div",
2684
2864
  {
2685
2865
  className: cn("flex flex-col space-y-2 text-center sm:text-left", className),
@@ -2688,7 +2868,7 @@ function SheetHeader({ className, ...props }) {
2688
2868
  );
2689
2869
  }
2690
2870
  function SheetFooter({ className, ...props }) {
2691
- return /* @__PURE__ */ jsx42(
2871
+ return /* @__PURE__ */ jsx47(
2692
2872
  "div",
2693
2873
  {
2694
2874
  className: cn(
@@ -2699,7 +2879,7 @@ function SheetFooter({ className, ...props }) {
2699
2879
  }
2700
2880
  );
2701
2881
  }
2702
- var SheetTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
2882
+ var SheetTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
2703
2883
  SheetPrimitive.Title,
2704
2884
  {
2705
2885
  ref,
@@ -2708,7 +2888,7 @@ var SheetTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE
2708
2888
  }
2709
2889
  ));
2710
2890
  SheetTitle.displayName = "SheetTitle";
2711
- var SheetDescription = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
2891
+ var SheetDescription = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
2712
2892
  SheetPrimitive.Description,
2713
2893
  {
2714
2894
  ref,
@@ -2721,15 +2901,15 @@ SheetDescription.displayName = "SheetDescription";
2721
2901
  // src/components/drawer/drawer.tsx
2722
2902
  import * as React38 from "react";
2723
2903
  import { Drawer as DrawerPrimitive } from "vaul";
2724
- import { jsx as jsx43, jsxs as jsxs20 } from "react/jsx-runtime";
2904
+ import { jsx as jsx48, jsxs as jsxs20 } from "react/jsx-runtime";
2725
2905
  function Drawer({ shouldScaleBackground = true, ...props }) {
2726
- return /* @__PURE__ */ jsx43(DrawerPrimitive.Root, { shouldScaleBackground, ...props });
2906
+ return /* @__PURE__ */ jsx48(DrawerPrimitive.Root, { shouldScaleBackground, ...props });
2727
2907
  }
2728
2908
  Drawer.displayName = "Drawer";
2729
2909
  var DrawerTrigger = DrawerPrimitive.Trigger;
2730
2910
  var DrawerPortal = DrawerPrimitive.Portal;
2731
2911
  var DrawerClose = DrawerPrimitive.Close;
2732
- var DrawerOverlay = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
2912
+ var DrawerOverlay = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
2733
2913
  DrawerPrimitive.Overlay,
2734
2914
  {
2735
2915
  ref,
@@ -2742,18 +2922,18 @@ var DrawerOverlay = React38.forwardRef(({ className, ...props }, ref) => /* @__P
2742
2922
  ));
2743
2923
  DrawerOverlay.displayName = "DrawerOverlay";
2744
2924
  var DrawerContent = React38.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs20(DrawerPortal, { children: [
2745
- /* @__PURE__ */ jsx43(DrawerOverlay, {}),
2925
+ /* @__PURE__ */ jsx48(DrawerOverlay, {}),
2746
2926
  /* @__PURE__ */ jsxs20(
2747
2927
  DrawerPrimitive.Content,
2748
2928
  {
2749
2929
  ref,
2750
2930
  className: cn(
2751
- "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",
2931
+ "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border border-foreground/[0.08] bg-background",
2752
2932
  className
2753
2933
  ),
2754
2934
  ...props,
2755
2935
  children: [
2756
- /* @__PURE__ */ jsx43("div", { className: "mx-auto mt-[var(--space-4,1rem)] h-2 w-[100px] rounded-full bg-muted", "aria-hidden": "true" }),
2936
+ /* @__PURE__ */ jsx48("div", { className: "mx-auto mt-[var(--space-4,1rem)] h-2 w-[100px] rounded-full bg-muted", "aria-hidden": "true" }),
2757
2937
  children
2758
2938
  ]
2759
2939
  }
@@ -2761,7 +2941,7 @@ var DrawerContent = React38.forwardRef(({ className, children, ...props }, ref)
2761
2941
  ] }));
2762
2942
  DrawerContent.displayName = "DrawerContent";
2763
2943
  function DrawerHeader({ className, ...props }) {
2764
- return /* @__PURE__ */ jsx43(
2944
+ return /* @__PURE__ */ jsx48(
2765
2945
  "div",
2766
2946
  {
2767
2947
  className: cn("grid gap-1.5 p-[var(--space-4,1rem)] text-center sm:text-left", className),
@@ -2770,9 +2950,9 @@ function DrawerHeader({ className, ...props }) {
2770
2950
  );
2771
2951
  }
2772
2952
  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 });
2953
+ 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
2954
  }
2775
- var DrawerTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
2955
+ var DrawerTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
2776
2956
  DrawerPrimitive.Title,
2777
2957
  {
2778
2958
  ref,
@@ -2781,7 +2961,7 @@ var DrawerTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PUR
2781
2961
  }
2782
2962
  ));
2783
2963
  DrawerTitle.displayName = "DrawerTitle";
2784
- var DrawerDescription = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
2964
+ var DrawerDescription = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
2785
2965
  DrawerPrimitive.Description,
2786
2966
  {
2787
2967
  ref,
@@ -2797,12 +2977,12 @@ import {
2797
2977
  Panel as ResizablePrimitivePanel,
2798
2978
  Separator as ResizablePrimitiveSeparator
2799
2979
  } from "react-resizable-panels";
2800
- import { jsx as jsx44, jsxs as jsxs21 } from "react/jsx-runtime";
2980
+ import { jsx as jsx49, jsxs as jsxs21 } from "react/jsx-runtime";
2801
2981
  function ResizablePanelGroup({
2802
2982
  className,
2803
2983
  ...props
2804
2984
  }) {
2805
- return /* @__PURE__ */ jsx44(
2985
+ return /* @__PURE__ */ jsx49(
2806
2986
  ResizablePrimitiveGroup,
2807
2987
  {
2808
2988
  className: cn(
@@ -2816,11 +2996,11 @@ function ResizablePanelGroup({
2816
2996
  ResizablePanelGroup.displayName = "ResizablePanelGroup";
2817
2997
  var ResizablePanel = ResizablePrimitivePanel;
2818
2998
  function ResizableHandle({ withHandle, className, ...props }) {
2819
- return /* @__PURE__ */ jsx44(
2999
+ return /* @__PURE__ */ jsx49(
2820
3000
  ResizablePrimitiveSeparator,
2821
3001
  {
2822
3002
  className: cn(
2823
- "relative flex w-px items-center justify-center bg-border transition-all duration-[var(--duration-normal,200ms)] ease-out hover:bg-ring data-[separator=active]:bg-ring",
3003
+ "relative flex w-px items-center justify-center bg-foreground/[0.12] transition-all duration-[var(--duration-normal,200ms)] ease-out hover:bg-ring data-[separator=active]:bg-ring",
2824
3004
  "after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2",
2825
3005
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
2826
3006
  "aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full",
@@ -2829,7 +3009,7 @@ function ResizableHandle({ withHandle, className, ...props }) {
2829
3009
  className
2830
3010
  ),
2831
3011
  ...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(
3012
+ 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
3013
  "svg",
2834
3014
  {
2835
3015
  xmlns: "http://www.w3.org/2000/svg",
@@ -2838,12 +3018,12 @@ function ResizableHandle({ withHandle, className, ...props }) {
2838
3018
  className: "h-2.5 w-2.5",
2839
3019
  "aria-hidden": "true",
2840
3020
  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" })
3021
+ /* @__PURE__ */ jsx49("circle", { cx: "9", cy: "5", r: "1" }),
3022
+ /* @__PURE__ */ jsx49("circle", { cx: "9", cy: "12", r: "1" }),
3023
+ /* @__PURE__ */ jsx49("circle", { cx: "9", cy: "19", r: "1" }),
3024
+ /* @__PURE__ */ jsx49("circle", { cx: "15", cy: "5", r: "1" }),
3025
+ /* @__PURE__ */ jsx49("circle", { cx: "15", cy: "12", r: "1" }),
3026
+ /* @__PURE__ */ jsx49("circle", { cx: "15", cy: "19", r: "1" })
2847
3027
  ]
2848
3028
  }
2849
3029
  ) })
@@ -2853,10 +3033,10 @@ function ResizableHandle({ withHandle, className, ...props }) {
2853
3033
  ResizableHandle.displayName = "ResizableHandle";
2854
3034
 
2855
3035
  // src/components/sidebar/sidebar.tsx
2856
- import { Slot as Slot4 } from "@radix-ui/react-slot";
2857
- import { cva as cva8 } from "class-variance-authority";
3036
+ import { Slot as Slot5 } from "@radix-ui/react-slot";
3037
+ import { cva as cva13 } from "class-variance-authority";
2858
3038
  import * as React39 from "react";
2859
- import { Fragment as Fragment2, jsx as jsx45, jsxs as jsxs22 } from "react/jsx-runtime";
3039
+ import { Fragment as Fragment2, jsx as jsx50, jsxs as jsxs22 } from "react/jsx-runtime";
2860
3040
  var SidebarContext = React39.createContext(null);
2861
3041
  function useSidebar() {
2862
3042
  const ctx = React39.useContext(SidebarContext);
@@ -2885,7 +3065,7 @@ function SidebarProvider({
2885
3065
  [isControlled, onOpenChange]
2886
3066
  );
2887
3067
  const value = React39.useMemo(() => ({ open, setOpen }), [open, setOpen]);
2888
- return /* @__PURE__ */ jsx45(SidebarContext.Provider, { value, children: /* @__PURE__ */ jsx45(
3068
+ return /* @__PURE__ */ jsx50(SidebarContext.Provider, { value, children: /* @__PURE__ */ jsx50(
2889
3069
  "div",
2890
3070
  {
2891
3071
  "data-state": open ? "open" : "closed",
@@ -2895,9 +3075,9 @@ function SidebarProvider({
2895
3075
  ) });
2896
3076
  }
2897
3077
  SidebarProvider.displayName = "SidebarProvider";
2898
- var sidebarVariants = cva8(
3078
+ var sidebarVariants = cva13(
2899
3079
  cn(
2900
- "flex h-full shrink-0 flex-col border-r bg-background text-foreground",
3080
+ "flex h-full shrink-0 flex-col border-foreground/[0.08] border-r bg-background text-foreground",
2901
3081
  "transition-[width] duration-[var(--duration-normal,200ms)] ease-out"
2902
3082
  ),
2903
3083
  {
@@ -2920,7 +3100,7 @@ var sidebarVariants = cva8(
2920
3100
  var Sidebar = React39.forwardRef(
2921
3101
  ({ className, side = "left", children, ...props }, ref) => {
2922
3102
  const { open } = useSidebar();
2923
- return /* @__PURE__ */ jsx45(
3103
+ return /* @__PURE__ */ jsx50(
2924
3104
  "aside",
2925
3105
  {
2926
3106
  ref,
@@ -2938,9 +3118,9 @@ Sidebar.displayName = "Sidebar";
2938
3118
  var SidebarTrigger = React39.forwardRef(
2939
3119
  ({ asChild, className, onClick, "aria-label": ariaLabel, ...props }, ref) => {
2940
3120
  const { open, setOpen } = useSidebar();
2941
- const Comp = asChild ? Slot4 : "button";
3121
+ const Comp = asChild ? Slot5 : "button";
2942
3122
  const resolvedAriaLabel = ariaLabel ?? (asChild ? void 0 : open ? "Collapse sidebar" : "Expand sidebar");
2943
- return /* @__PURE__ */ jsx45(
3123
+ return /* @__PURE__ */ jsx50(
2944
3124
  Comp,
2945
3125
  {
2946
3126
  ref,
@@ -2974,12 +3154,12 @@ var SidebarTrigger = React39.forwardRef(
2974
3154
  className: "h-4 w-4",
2975
3155
  "aria-hidden": "true",
2976
3156
  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" })
3157
+ /* @__PURE__ */ jsx50("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", ry: "2" }),
3158
+ /* @__PURE__ */ jsx50("line", { x1: "9", y1: "3", x2: "9", y2: "21" })
2979
3159
  ]
2980
3160
  }
2981
3161
  ),
2982
- /* @__PURE__ */ jsx45("span", { className: "sr-only", children: "Toggle sidebar" })
3162
+ /* @__PURE__ */ jsx50("span", { className: "sr-only", children: "Toggle sidebar" })
2983
3163
  ] })
2984
3164
  }
2985
3165
  );
@@ -2987,18 +3167,18 @@ var SidebarTrigger = React39.forwardRef(
2987
3167
  );
2988
3168
  SidebarTrigger.displayName = "SidebarTrigger";
2989
3169
  var SidebarHeader = React39.forwardRef(
2990
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
3170
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
2991
3171
  "div",
2992
3172
  {
2993
3173
  ref,
2994
- className: cn("flex items-center gap-[var(--gap-sm,0.5rem)] border-b p-[var(--space-4,1rem)]", className),
3174
+ className: cn("flex items-center gap-[var(--gap-sm,0.5rem)] border-b border-b-foreground/[0.08] p-[var(--space-4,1rem)]", className),
2995
3175
  ...props
2996
3176
  }
2997
3177
  )
2998
3178
  );
2999
3179
  SidebarHeader.displayName = "SidebarHeader";
3000
3180
  var SidebarContent = React39.forwardRef(
3001
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
3181
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
3002
3182
  "div",
3003
3183
  {
3004
3184
  ref,
@@ -3009,11 +3189,11 @@ var SidebarContent = React39.forwardRef(
3009
3189
  );
3010
3190
  SidebarContent.displayName = "SidebarContent";
3011
3191
  var SidebarFooter = React39.forwardRef(
3012
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
3192
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
3013
3193
  "div",
3014
3194
  {
3015
3195
  ref,
3016
- className: cn("mt-auto border-t p-[var(--space-4,1rem)]", className),
3196
+ className: cn("mt-auto border-t border-t-foreground/[0.08] p-[var(--space-4,1rem)]", className),
3017
3197
  ...props
3018
3198
  }
3019
3199
  )
@@ -3021,8 +3201,8 @@ var SidebarFooter = React39.forwardRef(
3021
3201
  SidebarFooter.displayName = "SidebarFooter";
3022
3202
  var SidebarItem = React39.forwardRef(
3023
3203
  ({ asChild, active, className, ...props }, ref) => {
3024
- const Comp = asChild ? Slot4 : "button";
3025
- return /* @__PURE__ */ jsx45(
3204
+ const Comp = asChild ? Slot5 : "button";
3205
+ return /* @__PURE__ */ jsx50(
3026
3206
  Comp,
3027
3207
  {
3028
3208
  ref,
@@ -4847,6 +5027,535 @@ var aspectRatioSchema = {
4847
5027
  tags: ["aspect-ratio", "layout", "image", "video", "ratio"]
4848
5028
  };
4849
5029
 
5030
+ // src/primitives/container/container.schema.ts
5031
+ var containerSchema = {
5032
+ name: "container",
5033
+ displayName: "Container",
5034
+ description: "Centered max-width wrapper that constrains content to readable widths. Sizes map to `--container-*` prose-width tokens; padding maps to `--space-*`.",
5035
+ category: "primitive",
5036
+ subcategory: "layout",
5037
+ props: [
5038
+ {
5039
+ name: "size",
5040
+ type: "enum",
5041
+ required: false,
5042
+ default: "lg",
5043
+ description: "Max-width preset bound to `--container-*` tokens (sm=33rem, md=40rem, lg=50rem, xl=66rem, full=100%).",
5044
+ enumValues: ["sm", "md", "lg", "xl", "full"]
5045
+ },
5046
+ {
5047
+ name: "padding",
5048
+ type: "enum",
5049
+ required: false,
5050
+ default: "md",
5051
+ description: "Horizontal padding bound to `--space-*` tokens (none=0, sm=0.75rem, md=1rem, lg=2rem).",
5052
+ enumValues: ["none", "sm", "md", "lg"]
5053
+ },
5054
+ {
5055
+ name: "asChild",
5056
+ type: "boolean",
5057
+ required: false,
5058
+ default: false,
5059
+ description: "Render as a different element via Radix `Slot`. Use to render as `<main>`, `<section>`, etc. for landmark semantics."
5060
+ }
5061
+ ],
5062
+ variants: [
5063
+ {
5064
+ name: "size",
5065
+ description: "Max-width preset bound to `--container-*` tokens.",
5066
+ values: [
5067
+ { value: "sm", description: "33rem (\u2248530px) \u2014 narrow column for short content." },
5068
+ { value: "md", description: "40rem (\u2248640px) \u2014 comfortable reading width." },
5069
+ { value: "lg", description: "50rem (\u2248800px) \u2014 default; standard article width." },
5070
+ { value: "xl", description: "66rem (\u22481056px) \u2014 wider canvas for dashboards or marketing." },
5071
+ { value: "full", description: "100% \u2014 disable max-width clamp." }
5072
+ ],
5073
+ default: "lg"
5074
+ },
5075
+ {
5076
+ name: "padding",
5077
+ description: "Horizontal padding bound to `--space-*` tokens.",
5078
+ values: [
5079
+ { value: "none", description: "0 \u2014 flush to container edges." },
5080
+ { value: "sm", description: "0.75rem \u2014 tight gutter." },
5081
+ { value: "md", description: "1rem \u2014 default; standard reading gutter." },
5082
+ { value: "lg", description: "2rem \u2014 generous gutter for marketing pages." }
5083
+ ],
5084
+ default: "md"
5085
+ }
5086
+ ],
5087
+ slots: [
5088
+ {
5089
+ name: "children",
5090
+ description: "Page content to constrain \u2014 typically a section, article, or grid.",
5091
+ required: true,
5092
+ acceptedTypes: ["ReactNode"]
5093
+ }
5094
+ ],
5095
+ dependencies: {
5096
+ npm: ["class-variance-authority", "@radix-ui/react-slot"],
5097
+ internal: ["lib/utils"],
5098
+ peer: ["react"]
5099
+ },
5100
+ tokensUsed: [
5101
+ "--container-sm",
5102
+ "--container-md",
5103
+ "--container-lg",
5104
+ "--container-xl",
5105
+ "--space-3",
5106
+ "--space-4",
5107
+ "--space-8"
5108
+ ],
5109
+ examples: [
5110
+ {
5111
+ title: "Reading-width article",
5112
+ description: "lg size (50rem) + md padding for an article body.",
5113
+ code: '<Container size="lg" padding="md">\n <article>...</article>\n</Container>'
5114
+ },
5115
+ {
5116
+ title: "Full-width hero",
5117
+ description: "Use size=full when you want the section to span the viewport.",
5118
+ code: '<Container size="full" padding="none">\n <Hero />\n</Container>'
5119
+ }
5120
+ ],
5121
+ ai: {
5122
+ 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.",
5123
+ 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"`.',
5124
+ commonMistakes: [
5125
+ "Wrapping a `Container` in another `Container` and getting an unexpectedly narrow column",
5126
+ 'Using `padding="none"` and forgetting that children still need their own gutter \u2014 the parent contributes nothing',
5127
+ "Treating `lg` as the largest size \u2014 `xl` (66rem) and `full` are bigger"
5128
+ ],
5129
+ relatedComponents: ["stack", "grid", "cluster"],
5130
+ accessibilityNotes: "Container is presentational. Wrap in a semantic landmark (`<main>`, `<section>`, `<article>`) when the page structure needs it; Container itself renders a plain `<div>`.",
5131
+ tokenBudget: 250
5132
+ },
5133
+ tags: ["container", "layout", "wrapper", "max-width", "primitive"]
5134
+ };
5135
+
5136
+ // src/primitives/stack/stack.schema.ts
5137
+ var stackSchema = {
5138
+ name: "stack",
5139
+ displayName: "Stack",
5140
+ description: 'Vertical flex flow with token-bound gap. The headless equivalent of `<div className="flex flex-col gap-X">` with consistent spacing scale.',
5141
+ category: "primitive",
5142
+ subcategory: "layout",
5143
+ props: [
5144
+ {
5145
+ name: "gap",
5146
+ type: "enum",
5147
+ required: false,
5148
+ default: "md",
5149
+ description: "Vertical spacing between children, bound to `--gap-*` tokens.",
5150
+ enumValues: ["xs", "sm", "md", "lg", "xl"]
5151
+ },
5152
+ {
5153
+ name: "align",
5154
+ type: "enum",
5155
+ required: false,
5156
+ default: "stretch",
5157
+ description: "Cross-axis alignment (CSS `align-items`).",
5158
+ enumValues: ["start", "center", "end", "stretch"]
5159
+ },
5160
+ {
5161
+ name: "justify",
5162
+ type: "enum",
5163
+ required: false,
5164
+ default: "start",
5165
+ description: "Main-axis distribution (CSS `justify-content`).",
5166
+ enumValues: ["start", "center", "end", "between"]
5167
+ }
5168
+ ],
5169
+ variants: [
5170
+ {
5171
+ name: "gap",
5172
+ description: "Vertical gap between children, bound to `--gap-*` tokens.",
5173
+ values: [
5174
+ { value: "xs", description: "0.25rem \u2014 barely-there spacing." },
5175
+ { value: "sm", description: "0.5rem \u2014 tight grouping." },
5176
+ { value: "md", description: "1rem \u2014 default; standard rhythm." },
5177
+ { value: "lg", description: "1.5rem \u2014 section-level spacing." },
5178
+ { value: "xl", description: "2rem \u2014 major separation." }
5179
+ ],
5180
+ default: "md"
5181
+ },
5182
+ {
5183
+ name: "align",
5184
+ description: "Cross-axis alignment (CSS `align-items`).",
5185
+ values: [
5186
+ { value: "start", description: "Children align to left edge." },
5187
+ { value: "center", description: "Children center horizontally." },
5188
+ { value: "end", description: "Children align to right edge." },
5189
+ { value: "stretch", description: "Default \u2014 children fill container width." }
5190
+ ],
5191
+ default: "stretch"
5192
+ },
5193
+ {
5194
+ name: "justify",
5195
+ description: "Main-axis distribution (CSS `justify-content`).",
5196
+ values: [
5197
+ { value: "start", description: "Default \u2014 children pack to top." },
5198
+ { value: "center", description: "Children center vertically." },
5199
+ { value: "end", description: "Children pack to bottom." },
5200
+ { value: "between", description: "First child to top, last to bottom, even distribution." }
5201
+ ],
5202
+ default: "start"
5203
+ }
5204
+ ],
5205
+ slots: [
5206
+ {
5207
+ name: "children",
5208
+ description: "Items to stack vertically.",
5209
+ required: true,
5210
+ acceptedTypes: ["ReactNode"]
5211
+ }
5212
+ ],
5213
+ dependencies: {
5214
+ npm: ["class-variance-authority"],
5215
+ internal: ["lib/utils"],
5216
+ peer: ["react"]
5217
+ },
5218
+ tokensUsed: ["--gap-xs", "--gap-sm", "--gap-md", "--gap-lg", "--gap-xl"],
5219
+ examples: [
5220
+ {
5221
+ title: "Form sections",
5222
+ description: "Lg gap separates labelled groups; nested Stack with sm gap groups label+input.",
5223
+ 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>'
5224
+ },
5225
+ {
5226
+ title: "Centered hero",
5227
+ description: "Center children horizontally for a centered call-to-action stack.",
5228
+ code: '<Stack gap="md" align="center">\n <h1>Title</h1>\n <p>Subtitle</p>\n <Button>Get started</Button>\n</Stack>'
5229
+ }
5230
+ ],
5231
+ ai: {
5232
+ 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.",
5233
+ 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.",
5234
+ commonMistakes: [
5235
+ 'Setting `gap="md"` then adding `mt-*` / `space-y-*` on individual children \u2014 pick one spacing system',
5236
+ 'Using `align="center"` and wondering why children expand to full width \u2014 that\'s the `stretch` default for cross-axis',
5237
+ "Nesting Stack inside Stack with the same gap when one Stack with two children would suffice"
5238
+ ],
5239
+ relatedComponents: ["cluster", "grid", "container"],
5240
+ 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.",
5241
+ tokenBudget: 250
5242
+ },
5243
+ tags: ["stack", "layout", "flex", "column", "vertical", "primitive"]
5244
+ };
5245
+
5246
+ // src/primitives/cluster/cluster.schema.ts
5247
+ var clusterSchema = {
5248
+ name: "cluster",
5249
+ displayName: "Cluster",
5250
+ 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.",
5251
+ category: "primitive",
5252
+ subcategory: "layout",
5253
+ props: [
5254
+ {
5255
+ name: "gap",
5256
+ type: "enum",
5257
+ required: false,
5258
+ default: "md",
5259
+ description: "Gap between items, bound to `--gap-*` tokens. Applies to both row and column gaps when wrapping.",
5260
+ enumValues: ["xs", "sm", "md", "lg", "xl"]
5261
+ },
5262
+ {
5263
+ name: "align",
5264
+ type: "enum",
5265
+ required: false,
5266
+ default: "center",
5267
+ 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).",
5268
+ enumValues: ["start", "center", "end", "stretch", "baseline"]
5269
+ },
5270
+ {
5271
+ name: "justify",
5272
+ type: "enum",
5273
+ required: false,
5274
+ default: "start",
5275
+ description: "Main-axis distribution (CSS `justify-content`).",
5276
+ enumValues: ["start", "center", "end", "between"]
5277
+ }
5278
+ ],
5279
+ variants: [
5280
+ {
5281
+ name: "gap",
5282
+ description: "Gap between items, bound to `--gap-*` tokens (applies to row + column gaps when wrapping).",
5283
+ values: [
5284
+ { value: "xs", description: "0.25rem \u2014 barely-there spacing." },
5285
+ { value: "sm", description: "0.5rem \u2014 tight chip group." },
5286
+ { value: "md", description: "1rem \u2014 default; standard rhythm." },
5287
+ { value: "lg", description: "1.5rem \u2014 generous separation." },
5288
+ { value: "xl", description: "2rem \u2014 section-scale spacing." }
5289
+ ],
5290
+ default: "md"
5291
+ },
5292
+ {
5293
+ name: "align",
5294
+ description: "Cross-axis alignment (CSS `align-items`).",
5295
+ values: [
5296
+ { value: "start", description: "Items align to top of row." },
5297
+ { value: "center", description: "Default \u2014 items center vertically in the row." },
5298
+ { value: "end", description: "Items align to bottom of row." },
5299
+ { value: "stretch", description: "Items fill row height \u2014 use for wrap layouts of equal-height cards." },
5300
+ { value: "baseline", description: "Text-baselines align across mixed-size siblings." }
5301
+ ],
5302
+ default: "center"
5303
+ },
5304
+ {
5305
+ name: "justify",
5306
+ description: "Main-axis distribution (CSS `justify-content`).",
5307
+ values: [
5308
+ { value: "start", description: "Default \u2014 items pack to start of row." },
5309
+ { value: "center", description: "Items center horizontally." },
5310
+ { value: "end", description: "Items pack to end of row." },
5311
+ { value: "between", description: "First item flush left, last flush right, even distribution." }
5312
+ ],
5313
+ default: "start"
5314
+ }
5315
+ ],
5316
+ slots: [
5317
+ {
5318
+ name: "children",
5319
+ description: "Items to lay out horizontally with wrap.",
5320
+ required: true,
5321
+ acceptedTypes: ["ReactNode"]
5322
+ }
5323
+ ],
5324
+ dependencies: {
5325
+ npm: ["class-variance-authority"],
5326
+ internal: ["lib/utils"],
5327
+ peer: ["react"]
5328
+ },
5329
+ tokensUsed: ["--gap-xs", "--gap-sm", "--gap-md", "--gap-lg", "--gap-xl"],
5330
+ examples: [
5331
+ {
5332
+ title: "Tag chips",
5333
+ description: "Small gap, wraps when overflowing the row.",
5334
+ code: '<Cluster gap="sm">\n {tags.map((t) => <Badge key={t}>{t}</Badge>)}\n</Cluster>'
5335
+ },
5336
+ {
5337
+ title: "Action bar",
5338
+ description: "Right-aligned buttons inside a panel footer.",
5339
+ code: '<Cluster gap="sm" justify="end">\n <Button variant="ghost">Cancel</Button>\n <Button>Save</Button>\n</Cluster>'
5340
+ }
5341
+ ],
5342
+ ai: {
5343
+ 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.",
5344
+ 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`.",
5345
+ commonMistakes: [
5346
+ "Forgetting that `Cluster` wraps \u2014 adding `flex-nowrap` defeats the purpose; if you don't want wrap, use a flex row or `Stack` rotated",
5347
+ "Setting `align=\"baseline\"` for icon+text rows where the icon's bbox doesn't have a baseline \u2014 use `center` instead",
5348
+ "Reaching for `Cluster` for tabular alignment \u2014 use `Grid` or a real `<table>` when columns must line up"
5349
+ ],
5350
+ relatedComponents: ["stack", "grid", "container"],
5351
+ 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.",
5352
+ tokenBudget: 250
5353
+ },
5354
+ tags: ["cluster", "layout", "flex", "wrap", "horizontal", "primitive"]
5355
+ };
5356
+
5357
+ // src/primitives/grid/grid.schema.ts
5358
+ var gridSchema = {
5359
+ name: "grid",
5360
+ displayName: "Grid",
5361
+ description: 'CSS grid with column-count presets and token-bound gap. Pass `cols="auto-fit"` + `minColWidth` for responsive grids without media queries.',
5362
+ category: "primitive",
5363
+ subcategory: "layout",
5364
+ props: [
5365
+ {
5366
+ name: "cols",
5367
+ type: "enum",
5368
+ required: false,
5369
+ default: "3",
5370
+ description: 'Number of fixed columns, or `"auto-fit"` for responsive tracks (use with `minColWidth`).',
5371
+ enumValues: ["1", "2", "3", "4", "6", "auto-fit"]
5372
+ },
5373
+ {
5374
+ name: "gap",
5375
+ type: "enum",
5376
+ required: false,
5377
+ default: "md",
5378
+ description: "Gap between cells, bound to `--gap-*` tokens.",
5379
+ enumValues: ["xs", "sm", "md", "lg", "xl"]
5380
+ },
5381
+ {
5382
+ name: "align",
5383
+ type: "enum",
5384
+ required: false,
5385
+ default: "stretch",
5386
+ description: "Cell vertical alignment within their grid row.",
5387
+ enumValues: ["start", "center", "end", "stretch"]
5388
+ },
5389
+ {
5390
+ name: "minColWidth",
5391
+ type: "string",
5392
+ required: false,
5393
+ default: "16rem",
5394
+ description: 'Min track size for `cols="auto-fit"` (e.g. `"20rem"`). Ignored when `cols` is a fixed integer.'
5395
+ }
5396
+ ],
5397
+ variants: [
5398
+ {
5399
+ name: "cols",
5400
+ description: "Column count or `auto-fit` mode.",
5401
+ values: [
5402
+ { value: "1", description: "Single column \u2014 items stack vertically inside the grid." },
5403
+ { value: "2", description: "Two even columns." },
5404
+ { value: "3", description: "Default \u2014 three even columns." },
5405
+ { value: "4", description: "Four even columns." },
5406
+ { value: "6", description: "Six even columns \u2014 dense layouts." },
5407
+ { value: "auto-fit", description: "Tracks repeat to fill width, never below `minColWidth`." }
5408
+ ],
5409
+ default: "3"
5410
+ },
5411
+ {
5412
+ name: "gap",
5413
+ description: "Gap between cells, bound to `--gap-*` tokens.",
5414
+ values: [
5415
+ { value: "xs", description: "0.25rem \u2014 minimal separation." },
5416
+ { value: "sm", description: "0.5rem \u2014 tight grid." },
5417
+ { value: "md", description: "1rem \u2014 default; standard rhythm." },
5418
+ { value: "lg", description: "1.5rem \u2014 generous separation." },
5419
+ { value: "xl", description: "2rem \u2014 major separation between cards." }
5420
+ ],
5421
+ default: "md"
5422
+ },
5423
+ {
5424
+ name: "align",
5425
+ description: "Cell vertical alignment within their grid row.",
5426
+ values: [
5427
+ { value: "start", description: "Cells align to top of row." },
5428
+ { value: "center", description: "Cells center vertically." },
5429
+ { value: "end", description: "Cells align to bottom of row." },
5430
+ { value: "stretch", description: "Default \u2014 cells fill row height." }
5431
+ ],
5432
+ default: "stretch"
5433
+ }
5434
+ ],
5435
+ slots: [
5436
+ {
5437
+ name: "children",
5438
+ description: "Grid cells \u2014 typically Cards, images, or any uniform block.",
5439
+ required: true,
5440
+ acceptedTypes: ["ReactNode"]
5441
+ }
5442
+ ],
5443
+ dependencies: {
5444
+ npm: ["class-variance-authority"],
5445
+ internal: ["lib/utils"],
5446
+ peer: ["react"]
5447
+ },
5448
+ tokensUsed: ["--gap-xs", "--gap-sm", "--gap-md", "--gap-lg", "--gap-xl"],
5449
+ examples: [
5450
+ {
5451
+ title: "Three-column card grid",
5452
+ description: "Fixed 3 columns with medium gap.",
5453
+ code: '<Grid cols={3} gap="md">\n {items.map((i) => <Card key={i.id}>{i.title}</Card>)}\n</Grid>'
5454
+ },
5455
+ {
5456
+ title: "Responsive auto-fit",
5457
+ description: "Tracks fit as many 20rem columns as the viewport allows; no media queries needed.",
5458
+ code: '<Grid cols="auto-fit" minColWidth="20rem" gap="lg">\n {items.map(...)}\n</Grid>'
5459
+ }
5460
+ ],
5461
+ ai: {
5462
+ 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.',
5463
+ 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.",
5464
+ commonMistakes: [
5465
+ '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',
5466
+ 'Passing `cols="auto-fit"` without `minColWidth` \u2014 the default `16rem` may not match your design intent',
5467
+ "Using `Grid` for two children when `Cluster` or `Stack` would communicate intent better"
5468
+ ],
5469
+ relatedComponents: ["stack", "cluster", "container", "card"],
5470
+ 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.",
5471
+ tokenBudget: 300
5472
+ },
5473
+ tags: ["grid", "layout", "css-grid", "responsive", "auto-fit", "primitive"]
5474
+ };
5475
+
5476
+ // src/primitives/spacer/spacer.schema.ts
5477
+ var spacerSchema = {
5478
+ name: "spacer",
5479
+ displayName: "Spacer",
5480
+ description: "Declarative whitespace block bound to `--space-*` tokens. Use when sibling spacing can't come from a parent's `gap`.",
5481
+ category: "primitive",
5482
+ subcategory: "layout",
5483
+ props: [
5484
+ {
5485
+ name: "size",
5486
+ type: "enum",
5487
+ required: false,
5488
+ default: "md",
5489
+ description: "Spacing token (xs=0.25rem, sm=0.5rem, md=1rem, lg=2rem, xl=4rem). Bound to `--space-*`.",
5490
+ enumValues: ["xs", "sm", "md", "lg", "xl"]
5491
+ },
5492
+ {
5493
+ name: "axis",
5494
+ type: "enum",
5495
+ required: false,
5496
+ default: "vertical",
5497
+ description: "Which axis to expand. Vertical = height; horizontal = width; both = square.",
5498
+ enumValues: ["vertical", "horizontal", "both"]
5499
+ }
5500
+ ],
5501
+ variants: [
5502
+ {
5503
+ name: "size",
5504
+ description: "Spacer extent bound to `--space-*` tokens.",
5505
+ values: [
5506
+ { value: "xs", description: "0.25rem \u2014 micro-gap." },
5507
+ { value: "sm", description: "0.5rem \u2014 tight separation." },
5508
+ { value: "md", description: "1rem \u2014 default; standard breathing room." },
5509
+ { value: "lg", description: "2rem \u2014 section-scale separation." },
5510
+ { value: "xl", description: "4rem \u2014 major separation between hero areas." }
5511
+ ],
5512
+ default: "md"
5513
+ },
5514
+ {
5515
+ name: "axis",
5516
+ description: "Which axis the spacer extends along.",
5517
+ values: [
5518
+ { value: "vertical", description: "Default \u2014 fixed height, 1px width." },
5519
+ { value: "horizontal", description: "Fixed width, 1px height \u2014 for flex rows." },
5520
+ { value: "both", description: "Square block \u2014 rare; usually pick one axis." }
5521
+ ],
5522
+ default: "vertical"
5523
+ }
5524
+ ],
5525
+ slots: [],
5526
+ dependencies: {
5527
+ npm: ["class-variance-authority"],
5528
+ internal: ["lib/utils"],
5529
+ peer: ["react"]
5530
+ },
5531
+ tokensUsed: ["--space-1", "--space-2", "--space-4", "--space-8", "--space-16"],
5532
+ examples: [
5533
+ {
5534
+ title: "Vertical breathing room",
5535
+ description: "Push two sections apart inside a parent that doesn't manage gap.",
5536
+ code: '<>\n <Hero />\n <Spacer size="xl" />\n <Features />\n</>'
5537
+ },
5538
+ {
5539
+ title: "Horizontal flex spacer",
5540
+ description: "Push siblings to opposite ends of a flex row.",
5541
+ code: '<div className="flex items-center">\n <Logo />\n <Spacer axis="horizontal" size="lg" />\n <Nav />\n</div>'
5542
+ }
5543
+ ],
5544
+ ai: {
5545
+ 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.",
5546
+ 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.",
5547
+ commonMistakes: [
5548
+ "Using `<Spacer />` between every child in a Stack \u2014 just set the Stack's `gap` instead",
5549
+ 'Using `axis="both"` and getting a square block where you wanted a line \u2014 `both` is rare, usually you want vertical or horizontal',
5550
+ `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`
5551
+ ],
5552
+ relatedComponents: ["stack", "cluster", "separator"],
5553
+ 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`).',
5554
+ tokenBudget: 200
5555
+ },
5556
+ tags: ["spacer", "layout", "whitespace", "spacing", "primitive"]
5557
+ };
5558
+
4850
5559
  // src/components/collapsible/collapsible.schema.ts
4851
5560
  var collapsibleSchema = {
4852
5561
  name: "collapsible",
@@ -6270,6 +6979,7 @@ export {
6270
6979
  CardHeader,
6271
6980
  CardTitle,
6272
6981
  Checkbox,
6982
+ Cluster,
6273
6983
  Collapsible,
6274
6984
  CollapsibleContent2 as CollapsibleContent,
6275
6985
  CollapsibleTrigger2 as CollapsibleTrigger,
@@ -6283,6 +6993,7 @@ export {
6283
6993
  CommandList,
6284
6994
  CommandSeparator,
6285
6995
  CommandShortcut,
6996
+ Container,
6286
6997
  ContextMenu,
6287
6998
  ContextMenuCheckboxItem,
6288
6999
  ContextMenuContent,
@@ -6337,6 +7048,7 @@ export {
6337
7048
  FormItem,
6338
7049
  FormLabel,
6339
7050
  FormMessage,
7051
+ Grid,
6340
7052
  HoverCard,
6341
7053
  HoverCardContent,
6342
7054
  HoverCardTrigger,
@@ -6412,6 +7124,8 @@ export {
6412
7124
  SidebarTrigger,
6413
7125
  Skeleton,
6414
7126
  Slider,
7127
+ Spacer,
7128
+ Stack,
6415
7129
  Switch,
6416
7130
  Table,
6417
7131
  TableBody,
@@ -6448,10 +7162,14 @@ export {
6448
7162
  calendarSchema,
6449
7163
  cardSchema,
6450
7164
  checkboxSchema,
7165
+ clusterSchema,
7166
+ clusterVariants,
6451
7167
  cn,
6452
7168
  collapsibleSchema,
6453
7169
  comboboxSchema,
6454
7170
  commandSchema,
7171
+ containerSchema,
7172
+ containerVariants,
6455
7173
  contextMenuSchema,
6456
7174
  dataTableSchema,
6457
7175
  datePickerSchema,
@@ -6459,6 +7177,8 @@ export {
6459
7177
  drawerSchema,
6460
7178
  dropdownMenuSchema,
6461
7179
  formSchema,
7180
+ gridSchema,
7181
+ gridVariants,
6462
7182
  hoverCardSchema,
6463
7183
  inputOTPSchema,
6464
7184
  inputSchema,
@@ -6479,6 +7199,10 @@ export {
6479
7199
  skeletonSchema,
6480
7200
  sliderSchema,
6481
7201
  sonnerSchema,
7202
+ spacerSchema,
7203
+ spacerVariants,
7204
+ stackSchema,
7205
+ stackVariants,
6482
7206
  switchSchema,
6483
7207
  tableSchema,
6484
7208
  tabsSchema,