@dilipod/ui 0.2.8 → 0.2.10

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.mjs CHANGED
@@ -1,11 +1,11 @@
1
- import * as React21 from 'react';
1
+ import * as React24 from 'react';
2
2
  import { Slot, createSlot } from '@radix-ui/react-slot';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
7
  import * as SheetPrimitive from '@radix-ui/react-dialog';
8
- import { X, Check, CaretDown, CaretRight, Circle, Info, WarningCircle, CheckCircle } from '@phosphor-icons/react';
8
+ import { X, Check, CaretDown, CaretRight, Circle, Info, WarningCircle } from '@phosphor-icons/react';
9
9
  export { AddressBook, ArrowLeft, ArrowRight, ArrowSquareOut, ArrowUpRight, Brain, Briefcase, Buildings, Calendar, CaretDown, CaretRight, CaretUp, ChartBar, ChartLineUp, ChatCircle, Check, CheckCircle, CheckSquare, Circle, Clock, Copy, Crosshair, Database, DotsThree, DotsThreeVertical, Download, Envelope, EnvelopeSimple, Eye, EyeSlash, File, FileText, Files, FirstAid, Funnel, Gear, GearSix, Globe, Handshake, House, Info, Lightning, Link, LinkedinLogo, List, MagnifyingGlass, Minus, Pause, PencilSimple, Phone, Play, Plus, Question, Quotes, Receipt, Robot, Rocket, ShieldCheck, ShoppingCart, SignIn, SignOut, SortAscending, SortDescending, Stop, Target, Trash, TrendUp, Upload, User, UserCircleCheck, UserPlus, Users, UsersThree, VideoCamera, Wallet, Warning, WarningCircle, X, XLogo } from '@phosphor-icons/react';
10
10
  import 'react-dom';
11
11
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
@@ -44,7 +44,7 @@ var buttonVariants = cva(
44
44
  }
45
45
  }
46
46
  );
47
- var Button = React21.forwardRef(
47
+ var Button = React24.forwardRef(
48
48
  ({ className, variant, size, asChild = false, loading, loadingText, children, disabled, ...props }, ref) => {
49
49
  const Comp = asChild ? Slot : "button";
50
50
  const isDisabled = disabled || loading;
@@ -97,7 +97,7 @@ var Sheet = SheetPrimitive.Root;
97
97
  var SheetTrigger = SheetPrimitive.Trigger;
98
98
  var SheetClose = SheetPrimitive.Close;
99
99
  var SheetPortal = SheetPrimitive.Portal;
100
- var SheetOverlay = React21.forwardRef(({ className, ...props }, ref) => (
100
+ var SheetOverlay = React24.forwardRef(({ className, ...props }, ref) => (
101
101
  // @ts-ignore - Radix Dialog Overlay accepts className at runtime
102
102
  /* @__PURE__ */ jsx(
103
103
  SheetPrimitive.Overlay,
@@ -128,7 +128,7 @@ var sheetVariants = cva(
128
128
  }
129
129
  }
130
130
  );
131
- var SheetContent = React21.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
131
+ var SheetContent = React24.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
132
132
  /* @__PURE__ */ jsx(SheetOverlay, {}),
133
133
  /* @__PURE__ */ jsxs(
134
134
  SheetPrimitive.Content,
@@ -175,7 +175,7 @@ var SheetFooter = ({
175
175
  }
176
176
  );
177
177
  SheetFooter.displayName = "SheetFooter";
178
- var SheetTitle = React21.forwardRef(({ className, ...props }, ref) => (
178
+ var SheetTitle = React24.forwardRef(({ className, ...props }, ref) => (
179
179
  // @ts-ignore - Radix Dialog Title accepts className at runtime
180
180
  /* @__PURE__ */ jsx(
181
181
  SheetPrimitive.Title,
@@ -187,7 +187,7 @@ var SheetTitle = React21.forwardRef(({ className, ...props }, ref) => (
187
187
  )
188
188
  ));
189
189
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
190
- var SheetDescription = React21.forwardRef(({ className, ...props }, ref) => (
190
+ var SheetDescription = React24.forwardRef(({ className, ...props }, ref) => (
191
191
  // @ts-ignore - Radix Dialog Description accepts className at runtime
192
192
  /* @__PURE__ */ jsx(
193
193
  SheetPrimitive.Description,
@@ -287,7 +287,7 @@ var badgeVariants = cva(
287
287
  }
288
288
  }
289
289
  );
290
- var Badge = React21.forwardRef(
290
+ var Badge = React24.forwardRef(
291
291
  ({ className, variant, size, pulse, pulseColor: pulseColorProp, children, ...props }, ref) => {
292
292
  const getPulseColorClass = () => {
293
293
  const color = pulseColorProp || variant || "default";
@@ -341,19 +341,19 @@ var Badge = React21.forwardRef(
341
341
  }
342
342
  );
343
343
  Badge.displayName = "Badge";
344
- var Card = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
344
+ var Card = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
345
345
  "div",
346
346
  {
347
347
  ref,
348
348
  className: cn(
349
- "rounded-sm border border-gray-200 bg-white shadow-sm",
349
+ "rounded-sm border border-gray-200 bg-white",
350
350
  className
351
351
  ),
352
352
  ...props
353
353
  }
354
354
  ));
355
355
  Card.displayName = "Card";
356
- var CardHeader = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
356
+ var CardHeader = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
357
357
  "div",
358
358
  {
359
359
  ref,
@@ -362,7 +362,7 @@ var CardHeader = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE
362
362
  }
363
363
  ));
364
364
  CardHeader.displayName = "CardHeader";
365
- var CardTitle = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
365
+ var CardTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
366
366
  "h3",
367
367
  {
368
368
  ref,
@@ -374,7 +374,7 @@ var CardTitle = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE_
374
374
  }
375
375
  ));
376
376
  CardTitle.displayName = "CardTitle";
377
- var CardDescription = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
377
+ var CardDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
378
378
  "p",
379
379
  {
380
380
  ref,
@@ -383,9 +383,9 @@ var CardDescription = React21.forwardRef(({ className, ...props }, ref) => /* @_
383
383
  }
384
384
  ));
385
385
  CardDescription.displayName = "CardDescription";
386
- var CardContent = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
386
+ var CardContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
387
387
  CardContent.displayName = "CardContent";
388
- var CardFooter = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
388
+ var CardFooter = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
389
389
  "div",
390
390
  {
391
391
  ref,
@@ -408,7 +408,7 @@ var progressVariants = cva("h-full rounded-full transition-all duration-300", {
408
408
  variant: "default"
409
409
  }
410
410
  });
411
- var Progress = React21.forwardRef(
411
+ var Progress = React24.forwardRef(
412
412
  ({ className, value, variant, showLabel, label = "Progress", size = "default", ...props }, ref) => {
413
413
  const clampedValue = Math.min(100, Math.max(0, value));
414
414
  const heightClass = {
@@ -475,7 +475,7 @@ var iconBoxVariants = cva(
475
475
  }
476
476
  }
477
477
  );
478
- var IconBox = React21.forwardRef(
478
+ var IconBox = React24.forwardRef(
479
479
  ({ className, variant, size, rounded, children, ...props }, ref) => {
480
480
  return /* @__PURE__ */ jsx(
481
481
  "div",
@@ -511,7 +511,7 @@ var tagVariants = cva(
511
511
  }
512
512
  }
513
513
  );
514
- var Tag = React21.forwardRef(
514
+ var Tag = React24.forwardRef(
515
515
  ({ className, variant, size, icon, children, ...props }, ref) => {
516
516
  return /* @__PURE__ */ jsxs(
517
517
  "span",
@@ -565,7 +565,7 @@ var valueVariants = cva("font-bold", {
565
565
  color: "default"
566
566
  }
567
567
  });
568
- var Stat = React21.forwardRef(
568
+ var Stat = React24.forwardRef(
569
569
  ({
570
570
  className,
571
571
  variant,
@@ -606,7 +606,318 @@ var Stat = React21.forwardRef(
606
606
  }
607
607
  );
608
608
  Stat.displayName = "Stat";
609
- var Input = React21.forwardRef(
609
+ var metricCardVariants = cva("p-5", {
610
+ variants: {
611
+ variant: {
612
+ default: "",
613
+ outlined: "border-l-4"
614
+ }
615
+ },
616
+ defaultVariants: {
617
+ variant: "default"
618
+ }
619
+ });
620
+ var iconContainerVariants = cva("p-2 rounded-lg shrink-0", {
621
+ variants: {
622
+ color: {
623
+ cyan: "bg-[var(--cyan)]/10",
624
+ purple: "bg-purple-50",
625
+ green: "bg-green-50",
626
+ amber: "bg-amber-50",
627
+ red: "bg-red-50",
628
+ gray: "bg-gray-100"
629
+ }
630
+ },
631
+ defaultVariants: {
632
+ color: "cyan"
633
+ }
634
+ });
635
+ var iconVariants = cva("h-5 w-5", {
636
+ variants: {
637
+ color: {
638
+ cyan: "text-[var(--cyan)]",
639
+ purple: "text-purple-500",
640
+ green: "text-green-500",
641
+ amber: "text-amber-500",
642
+ red: "text-red-500",
643
+ gray: "text-gray-500"
644
+ }
645
+ },
646
+ defaultVariants: {
647
+ color: "cyan"
648
+ }
649
+ });
650
+ var MetricCard = React24.forwardRef(
651
+ ({
652
+ className,
653
+ variant,
654
+ value,
655
+ label,
656
+ icon: Icon,
657
+ iconColor = "cyan",
658
+ borderColor,
659
+ ...props
660
+ }, ref) => {
661
+ return /* @__PURE__ */ jsx(
662
+ Card,
663
+ {
664
+ ref,
665
+ className: cn(
666
+ metricCardVariants({ variant }),
667
+ variant === "outlined" && borderColor,
668
+ className
669
+ ),
670
+ ...props,
671
+ children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
672
+ Icon && /* @__PURE__ */ jsx("div", { className: cn(iconContainerVariants({ color: iconColor })), children: /* @__PURE__ */ jsx(Icon, { className: cn(iconVariants({ color: iconColor })) }) }),
673
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
674
+ /* @__PURE__ */ jsx("p", { className: "text-2xl font-bold text-[var(--black)] truncate", children: value }),
675
+ /* @__PURE__ */ jsx("p", { className: "text-sm text-gray-500 truncate", children: label })
676
+ ] })
677
+ ] })
678
+ }
679
+ );
680
+ }
681
+ );
682
+ MetricCard.displayName = "MetricCard";
683
+ var usageBarVariants = cva("space-y-3", {
684
+ variants: {
685
+ size: {
686
+ sm: "",
687
+ default: "",
688
+ lg: ""
689
+ }
690
+ },
691
+ defaultVariants: {
692
+ size: "default"
693
+ }
694
+ });
695
+ var progressColorVariants = cva("", {
696
+ variants: {
697
+ color: {
698
+ cyan: "[&>div]:bg-[var(--cyan)]",
699
+ purple: "[&>div]:bg-purple-500",
700
+ green: "[&>div]:bg-green-500",
701
+ amber: "[&>div]:bg-amber-500",
702
+ red: "[&>div]:bg-red-500"
703
+ }
704
+ },
705
+ defaultVariants: {
706
+ color: "cyan"
707
+ }
708
+ });
709
+ var UsageBar = React24.forwardRef(
710
+ ({
711
+ className,
712
+ size,
713
+ label,
714
+ used,
715
+ included,
716
+ icon: Icon,
717
+ color = "cyan",
718
+ showOverLimit = true,
719
+ ...props
720
+ }, ref) => {
721
+ const percentage = included > 0 ? Math.min(used / included * 100, 100) : 0;
722
+ const isOverLimit = used > included;
723
+ const progressHeight = {
724
+ sm: "h-1.5",
725
+ default: "h-2.5",
726
+ lg: "h-3"
727
+ }[size || "default"];
728
+ return /* @__PURE__ */ jsxs(
729
+ "div",
730
+ {
731
+ ref,
732
+ className: cn(usageBarVariants({ size }), className),
733
+ ...props,
734
+ children: [
735
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
736
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
737
+ Icon && /* @__PURE__ */ jsx(Icon, { className: cn(
738
+ "h-5 w-5",
739
+ isOverLimit ? "text-red-500" : "text-gray-500"
740
+ ) }),
741
+ /* @__PURE__ */ jsx("span", { className: "font-medium text-[var(--black)]", children: label })
742
+ ] }),
743
+ /* @__PURE__ */ jsxs("div", { className: "text-right", children: [
744
+ /* @__PURE__ */ jsx(
745
+ "span",
746
+ {
747
+ className: cn(
748
+ "text-lg font-semibold",
749
+ isOverLimit ? "text-red-500" : "text-[var(--black)]"
750
+ ),
751
+ children: used.toLocaleString()
752
+ }
753
+ ),
754
+ /* @__PURE__ */ jsxs("span", { className: "text-gray-500", children: [
755
+ " / ",
756
+ included.toLocaleString()
757
+ ] })
758
+ ] })
759
+ ] }),
760
+ /* @__PURE__ */ jsx(
761
+ Progress,
762
+ {
763
+ value: percentage,
764
+ className: cn(
765
+ progressHeight,
766
+ isOverLimit ? "[&>div]:bg-red-500" : progressColorVariants({ color })
767
+ )
768
+ }
769
+ ),
770
+ isOverLimit && showOverLimit && /* @__PURE__ */ jsxs("p", { className: "text-sm text-red-500", children: [
771
+ "Over limit by ",
772
+ (used - included).toLocaleString(),
773
+ " actions"
774
+ ] })
775
+ ]
776
+ }
777
+ );
778
+ }
779
+ );
780
+ UsageBar.displayName = "UsageBar";
781
+ var UsageChart = React24.forwardRef(
782
+ ({
783
+ className,
784
+ data,
785
+ height = 200,
786
+ primaryColor = "var(--cyan)",
787
+ secondaryColor = "#a855f7",
788
+ showTooltip = true,
789
+ formatValue = (v) => v.toLocaleString(),
790
+ ...props
791
+ }, ref) => {
792
+ const [hoveredIndex, setHoveredIndex] = React24.useState(null);
793
+ const maxValue = React24.useMemo(() => {
794
+ return Math.max(
795
+ ...data.map((d) => d.value + (d.secondaryValue || 0)),
796
+ 1
797
+ );
798
+ }, [data]);
799
+ const scaledMax = maxValue * 1.1;
800
+ const barWidth = 100 / Math.max(data.length, 1);
801
+ const barGap = barWidth * 0.3;
802
+ const actualBarWidth = barWidth - barGap;
803
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn("w-full", className), ...props, children: [
804
+ /* @__PURE__ */ jsxs("div", { className: "relative", style: { height }, children: [
805
+ /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex flex-col justify-between pointer-events-none", children: [0, 1, 2, 3, 4].map((i) => /* @__PURE__ */ jsx("div", { className: "flex items-center w-full", children: /* @__PURE__ */ jsx("div", { className: "w-full border-t border-gray-100" }) }, i)) }),
806
+ /* @__PURE__ */ jsx(
807
+ "svg",
808
+ {
809
+ className: "absolute inset-0 w-full h-full",
810
+ preserveAspectRatio: "none",
811
+ children: data.map((point, index) => {
812
+ const primaryHeight = point.value / scaledMax * 100;
813
+ const secondaryHeight = point.secondaryValue ? point.secondaryValue / scaledMax * 100 : 0;
814
+ const totalHeight = primaryHeight + secondaryHeight;
815
+ const x = index * barWidth + barGap / 2;
816
+ const isHovered = hoveredIndex === index;
817
+ return /* @__PURE__ */ jsxs(
818
+ "g",
819
+ {
820
+ onMouseEnter: () => setHoveredIndex(index),
821
+ onMouseLeave: () => setHoveredIndex(null),
822
+ className: "cursor-pointer",
823
+ children: [
824
+ /* @__PURE__ */ jsx(
825
+ "rect",
826
+ {
827
+ x: `${x}%`,
828
+ y: "0",
829
+ width: `${actualBarWidth}%`,
830
+ height: "100%",
831
+ fill: isHovered ? "rgba(0,0,0,0.02)" : "transparent",
832
+ rx: "4"
833
+ }
834
+ ),
835
+ point.secondaryValue !== void 0 && point.secondaryValue > 0 && /* @__PURE__ */ jsx(
836
+ "rect",
837
+ {
838
+ x: `${x}%`,
839
+ y: `${100 - totalHeight}%`,
840
+ width: `${actualBarWidth}%`,
841
+ height: `${secondaryHeight}%`,
842
+ fill: secondaryColor,
843
+ rx: "4",
844
+ className: "transition-all duration-200",
845
+ style: {
846
+ opacity: isHovered ? 1 : 0.85
847
+ }
848
+ }
849
+ ),
850
+ /* @__PURE__ */ jsx(
851
+ "rect",
852
+ {
853
+ x: `${x}%`,
854
+ y: `${100 - primaryHeight - (point.secondaryValue ? 0 : 0)}%`,
855
+ width: `${actualBarWidth}%`,
856
+ height: `${primaryHeight}%`,
857
+ fill: primaryColor,
858
+ rx: point.secondaryValue ? "0" : "4",
859
+ style: {
860
+ borderTopLeftRadius: point.secondaryValue ? 0 : 4,
861
+ borderTopRightRadius: point.secondaryValue ? 0 : 4
862
+ },
863
+ className: "transition-all duration-200"
864
+ }
865
+ )
866
+ ]
867
+ },
868
+ index
869
+ );
870
+ })
871
+ }
872
+ ),
873
+ showTooltip && hoveredIndex !== null && data[hoveredIndex] && /* @__PURE__ */ jsxs(
874
+ "div",
875
+ {
876
+ className: "absolute z-10 px-3 py-2 text-sm bg-[var(--black)] text-white rounded-lg shadow-lg pointer-events-none transform -translate-x-1/2",
877
+ style: {
878
+ left: `${(hoveredIndex + 0.5) * barWidth}%`,
879
+ top: -8
880
+ },
881
+ children: [
882
+ /* @__PURE__ */ jsx("div", { className: "font-medium", children: data[hoveredIndex].label }),
883
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mt-1", children: [
884
+ /* @__PURE__ */ jsx(
885
+ "span",
886
+ {
887
+ className: "w-2 h-2 rounded-full",
888
+ style: { backgroundColor: primaryColor }
889
+ }
890
+ ),
891
+ /* @__PURE__ */ jsx("span", { children: formatValue(data[hoveredIndex].value) })
892
+ ] }),
893
+ data[hoveredIndex].secondaryValue !== void 0 && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
894
+ /* @__PURE__ */ jsx(
895
+ "span",
896
+ {
897
+ className: "w-2 h-2 rounded-full",
898
+ style: { backgroundColor: secondaryColor }
899
+ }
900
+ ),
901
+ /* @__PURE__ */ jsx("span", { children: formatValue(data[hoveredIndex].secondaryValue) })
902
+ ] })
903
+ ]
904
+ }
905
+ )
906
+ ] }),
907
+ /* @__PURE__ */ jsx("div", { className: "flex mt-3", children: data.map((point, index) => /* @__PURE__ */ jsx(
908
+ "div",
909
+ {
910
+ className: "text-center text-xs text-gray-500 truncate",
911
+ style: { width: `${barWidth}%` },
912
+ children: point.label
913
+ },
914
+ index
915
+ )) })
916
+ ] });
917
+ }
918
+ );
919
+ UsageChart.displayName = "UsageChart";
920
+ var Input = React24.forwardRef(
610
921
  ({ className, type, error, ...props }, ref) => {
611
922
  return /* @__PURE__ */ jsx(
612
923
  "input",
@@ -646,7 +957,7 @@ var NODES = [
646
957
  ];
647
958
  var Primitive = NODES.reduce((primitive, node) => {
648
959
  const Slot2 = createSlot(`Primitive.${node}`);
649
- const Node = React21.forwardRef((props, forwardedRef) => {
960
+ const Node = React24.forwardRef((props, forwardedRef) => {
650
961
  const { asChild, ...primitiveProps } = props;
651
962
  const Comp = asChild ? Slot2 : node;
652
963
  if (typeof window !== "undefined") {
@@ -658,7 +969,7 @@ var Primitive = NODES.reduce((primitive, node) => {
658
969
  return { ...primitive, [node]: Node };
659
970
  }, {});
660
971
  var NAME = "Label";
661
- var Label = React21.forwardRef((props, forwardedRef) => {
972
+ var Label = React24.forwardRef((props, forwardedRef) => {
662
973
  return /* @__PURE__ */ jsx(
663
974
  Primitive.label,
664
975
  {
@@ -678,7 +989,7 @@ var Root2 = Label;
678
989
  var labelVariants = cva(
679
990
  "text-sm font-medium leading-none text-[var(--black)] peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
680
991
  );
681
- var Label2 = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
992
+ var Label2 = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
682
993
  Root2,
683
994
  {
684
995
  ref,
@@ -687,7 +998,7 @@ var Label2 = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
687
998
  }
688
999
  ));
689
1000
  Label2.displayName = Root2.displayName;
690
- var Textarea = React21.forwardRef(
1001
+ var Textarea = React24.forwardRef(
691
1002
  ({ className, error, ...props }, ref) => {
692
1003
  return /* @__PURE__ */ jsx(
693
1004
  "textarea",
@@ -705,7 +1016,7 @@ var Textarea = React21.forwardRef(
705
1016
  }
706
1017
  );
707
1018
  Textarea.displayName = "Textarea";
708
- var Checkbox = React21.forwardRef(
1019
+ var Checkbox = React24.forwardRef(
709
1020
  ({ className, checked, onCheckedChange, ...props }, ref) => {
710
1021
  return /* @__PURE__ */ jsxs("label", { className: "relative inline-flex items-center cursor-pointer", children: [
711
1022
  /* @__PURE__ */ jsx(
@@ -723,13 +1034,13 @@ var Checkbox = React21.forwardRef(
723
1034
  "div",
724
1035
  {
725
1036
  className: cn(
726
- "w-4 h-4 border-2 border-input rounded-sm flex items-center justify-center transition-colors",
727
- "peer-checked:bg-primary peer-checked:border-primary",
728
- "peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-primary peer-focus-visible:ring-offset-2",
729
- "disabled:cursor-not-allowed disabled:opacity-50",
1037
+ "w-5 h-5 border border-gray-300 rounded-[2px] flex items-center justify-center transition-colors",
1038
+ "peer-checked:bg-[var(--black)] peer-checked:border-[var(--black)]",
1039
+ "peer-focus-visible:outline-none",
1040
+ "peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
730
1041
  className
731
1042
  ),
732
- children: checked && /* @__PURE__ */ jsx(Check, { className: "h-3 w-3 text-white", weight: "bold" })
1043
+ children: checked && /* @__PURE__ */ jsx(Check, { className: "h-3.5 w-3.5 text-white", weight: "bold" })
733
1044
  }
734
1045
  )
735
1046
  ] });
@@ -737,7 +1048,7 @@ var Checkbox = React21.forwardRef(
737
1048
  );
738
1049
  Checkbox.displayName = "Checkbox";
739
1050
  var Accordion = AccordionPrimitive.Root;
740
- var AccordionItem = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1051
+ var AccordionItem = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
741
1052
  AccordionPrimitive.Item,
742
1053
  {
743
1054
  ref,
@@ -746,7 +1057,7 @@ var AccordionItem = React21.forwardRef(({ className, ...props }, ref) => /* @__P
746
1057
  }
747
1058
  ));
748
1059
  AccordionItem.displayName = "AccordionItem";
749
- var AccordionTrigger = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
1060
+ var AccordionTrigger = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
750
1061
  AccordionPrimitive.Trigger,
751
1062
  {
752
1063
  ref,
@@ -762,7 +1073,7 @@ var AccordionTrigger = React21.forwardRef(({ className, children, ...props }, re
762
1073
  }
763
1074
  ) }));
764
1075
  AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
765
- var AccordionContent = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
1076
+ var AccordionContent = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
766
1077
  AccordionPrimitive.Content,
767
1078
  {
768
1079
  ref,
@@ -793,7 +1104,7 @@ var NODES2 = [
793
1104
  ];
794
1105
  var Primitive2 = NODES2.reduce((primitive, node) => {
795
1106
  const Slot2 = createSlot(`Primitive.${node}`);
796
- const Node = React21.forwardRef((props, forwardedRef) => {
1107
+ const Node = React24.forwardRef((props, forwardedRef) => {
797
1108
  const { asChild, ...primitiveProps } = props;
798
1109
  const Comp = asChild ? Slot2 : node;
799
1110
  if (typeof window !== "undefined") {
@@ -807,7 +1118,7 @@ var Primitive2 = NODES2.reduce((primitive, node) => {
807
1118
  var NAME2 = "Separator";
808
1119
  var DEFAULT_ORIENTATION = "horizontal";
809
1120
  var ORIENTATIONS = ["horizontal", "vertical"];
810
- var Separator = React21.forwardRef((props, forwardedRef) => {
1121
+ var Separator = React24.forwardRef((props, forwardedRef) => {
811
1122
  const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;
812
1123
  const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;
813
1124
  const ariaOrientation = orientation === "vertical" ? orientation : void 0;
@@ -827,7 +1138,7 @@ function isValidOrientation(orientation) {
827
1138
  return ORIENTATIONS.includes(orientation);
828
1139
  }
829
1140
  var Root4 = Separator;
830
- var Separator2 = React21.forwardRef(
1141
+ var Separator2 = React24.forwardRef(
831
1142
  ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx(
832
1143
  Root4,
833
1144
  {
@@ -844,7 +1155,7 @@ var Separator2 = React21.forwardRef(
844
1155
  )
845
1156
  );
846
1157
  Separator2.displayName = Root4.displayName;
847
- var NavigationMenu = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1158
+ var NavigationMenu = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
848
1159
  NavigationMenuPrimitive.Root,
849
1160
  {
850
1161
  ref,
@@ -860,7 +1171,7 @@ var NavigationMenu = React21.forwardRef(({ className, children, ...props }, ref)
860
1171
  }
861
1172
  ));
862
1173
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
863
- var NavigationMenuList = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1174
+ var NavigationMenuList = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
864
1175
  NavigationMenuPrimitive.List,
865
1176
  {
866
1177
  ref,
@@ -876,7 +1187,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
876
1187
  var navigationMenuTriggerStyle = cva(
877
1188
  "group inline-flex h-10 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium text-[var(--black)] transition-colors hover:bg-gray-100 hover:text-[var(--black)] focus:bg-gray-100 focus:text-[var(--black)] focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-[var(--black)] data-[state=open]:bg-gray-100/50 data-[state=open]:hover:bg-gray-100 data-[state=open]:focus:bg-gray-100"
878
1189
  );
879
- var NavigationMenuTrigger = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1190
+ var NavigationMenuTrigger = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
880
1191
  NavigationMenuPrimitive.Trigger,
881
1192
  {
882
1193
  ref,
@@ -896,7 +1207,7 @@ var NavigationMenuTrigger = React21.forwardRef(({ className, children, ...props
896
1207
  }
897
1208
  ));
898
1209
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
899
- var NavigationMenuContent = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1210
+ var NavigationMenuContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
900
1211
  NavigationMenuPrimitive.Content,
901
1212
  {
902
1213
  ref,
@@ -909,7 +1220,7 @@ var NavigationMenuContent = React21.forwardRef(({ className, ...props }, ref) =>
909
1220
  ));
910
1221
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
911
1222
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
912
- var NavigationMenuViewport = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
1223
+ var NavigationMenuViewport = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
913
1224
  NavigationMenuPrimitive.Viewport,
914
1225
  {
915
1226
  className: cn(
@@ -921,7 +1232,7 @@ var NavigationMenuViewport = React21.forwardRef(({ className, ...props }, ref) =
921
1232
  }
922
1233
  ) }));
923
1234
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
924
- var NavigationMenuIndicator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1235
+ var NavigationMenuIndicator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
925
1236
  NavigationMenuPrimitive.Indicator,
926
1237
  {
927
1238
  ref,
@@ -934,7 +1245,7 @@ var NavigationMenuIndicator = React21.forwardRef(({ className, ...props }, ref)
934
1245
  }
935
1246
  ));
936
1247
  NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
937
- var Avatar = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1248
+ var Avatar = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
938
1249
  AvatarPrimitive.Root,
939
1250
  {
940
1251
  ref,
@@ -946,7 +1257,7 @@ var Avatar = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
946
1257
  }
947
1258
  ));
948
1259
  Avatar.displayName = AvatarPrimitive.Root.displayName;
949
- var AvatarImage = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1260
+ var AvatarImage = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
950
1261
  AvatarPrimitive.Image,
951
1262
  {
952
1263
  ref,
@@ -955,7 +1266,7 @@ var AvatarImage = React21.forwardRef(({ className, ...props }, ref) => /* @__PUR
955
1266
  }
956
1267
  ));
957
1268
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
958
- var AvatarFallback = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1269
+ var AvatarFallback = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
959
1270
  AvatarPrimitive.Fallback,
960
1271
  {
961
1272
  ref,
@@ -973,7 +1284,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
973
1284
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
974
1285
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
975
1286
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
976
- var DropdownMenuSubTrigger = React21.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1287
+ var DropdownMenuSubTrigger = React24.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
977
1288
  DropdownMenuPrimitive.SubTrigger,
978
1289
  {
979
1290
  ref,
@@ -990,7 +1301,7 @@ var DropdownMenuSubTrigger = React21.forwardRef(({ className, inset, children, .
990
1301
  }
991
1302
  ));
992
1303
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
993
- var DropdownMenuSubContent = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1304
+ var DropdownMenuSubContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
994
1305
  DropdownMenuPrimitive.SubContent,
995
1306
  {
996
1307
  ref,
@@ -1002,7 +1313,7 @@ var DropdownMenuSubContent = React21.forwardRef(({ className, ...props }, ref) =
1002
1313
  }
1003
1314
  ));
1004
1315
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
1005
- var DropdownMenuContent = React21.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
1316
+ var DropdownMenuContent = React24.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
1006
1317
  DropdownMenuPrimitive.Content,
1007
1318
  {
1008
1319
  ref,
@@ -1015,7 +1326,7 @@ var DropdownMenuContent = React21.forwardRef(({ className, sideOffset = 4, ...pr
1015
1326
  }
1016
1327
  ) }));
1017
1328
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1018
- var DropdownMenuItem = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1329
+ var DropdownMenuItem = React24.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1019
1330
  DropdownMenuPrimitive.Item,
1020
1331
  {
1021
1332
  ref,
@@ -1028,7 +1339,7 @@ var DropdownMenuItem = React21.forwardRef(({ className, inset, ...props }, ref)
1028
1339
  }
1029
1340
  ));
1030
1341
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1031
- var DropdownMenuCheckboxItem = React21.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
1342
+ var DropdownMenuCheckboxItem = React24.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
1032
1343
  DropdownMenuPrimitive.CheckboxItem,
1033
1344
  {
1034
1345
  ref,
@@ -1045,7 +1356,7 @@ var DropdownMenuCheckboxItem = React21.forwardRef(({ className, children, checke
1045
1356
  }
1046
1357
  ));
1047
1358
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
1048
- var DropdownMenuRadioItem = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1359
+ var DropdownMenuRadioItem = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1049
1360
  DropdownMenuPrimitive.RadioItem,
1050
1361
  {
1051
1362
  ref,
@@ -1061,7 +1372,7 @@ var DropdownMenuRadioItem = React21.forwardRef(({ className, children, ...props
1061
1372
  }
1062
1373
  ));
1063
1374
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
1064
- var DropdownMenuLabel = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1375
+ var DropdownMenuLabel = React24.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1065
1376
  DropdownMenuPrimitive.Label,
1066
1377
  {
1067
1378
  ref,
@@ -1074,7 +1385,7 @@ var DropdownMenuLabel = React21.forwardRef(({ className, inset, ...props }, ref)
1074
1385
  }
1075
1386
  ));
1076
1387
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1077
- var DropdownMenuSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1388
+ var DropdownMenuSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1078
1389
  DropdownMenuPrimitive.Separator,
1079
1390
  {
1080
1391
  ref,
@@ -1096,7 +1407,7 @@ var DropdownMenuShortcut = ({
1096
1407
  );
1097
1408
  };
1098
1409
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
1099
- var SidebarNavItem = React21.forwardRef(
1410
+ var SidebarNavItem = React24.forwardRef(
1100
1411
  ({ item, isActive, className, LinkComponent, ...props }, ref) => {
1101
1412
  const Icon = item.icon;
1102
1413
  const baseClassName = cn(
@@ -1136,7 +1447,7 @@ var SidebarNavItem = React21.forwardRef(
1136
1447
  }
1137
1448
  );
1138
1449
  SidebarNavItem.displayName = "SidebarNavItem";
1139
- var Sidebar = React21.forwardRef(
1450
+ var Sidebar = React24.forwardRef(
1140
1451
  ({
1141
1452
  mainNav = [],
1142
1453
  bottomNav = [],
@@ -1162,7 +1473,7 @@ var Sidebar = React21.forwardRef(
1162
1473
  {
1163
1474
  ref,
1164
1475
  className: cn(
1165
- "flex h-full w-60 flex-col border-r bg-background/50",
1476
+ "relative flex h-full w-60 flex-col border-r bg-background/50",
1166
1477
  className
1167
1478
  ),
1168
1479
  ...props,
@@ -1189,24 +1500,24 @@ var Sidebar = React21.forwardRef(
1189
1500
  item.name
1190
1501
  )) }),
1191
1502
  children,
1192
- (bottomNav.length > 0 || helpLink || assistantButton) && /* @__PURE__ */ jsxs("div", { className: "px-3 pb-3 space-y-1 border-t pt-3", children: [
1193
- bottomNav.map((item) => /* @__PURE__ */ jsx(
1194
- SidebarNavItem,
1195
- {
1196
- item,
1197
- isActive: isActive(item.href),
1198
- LinkComponent
1199
- },
1200
- item.name
1201
- )),
1503
+ bottomNav.length > 0 && /* @__PURE__ */ jsx("div", { className: "px-3 pb-3 space-y-1 border-t pt-3", children: bottomNav.map((item) => /* @__PURE__ */ jsx(
1504
+ SidebarNavItem,
1505
+ {
1506
+ item,
1507
+ isActive: isActive(item.href),
1508
+ LinkComponent
1509
+ },
1510
+ item.name
1511
+ )) }),
1512
+ (helpLink || assistantButton) && /* @__PURE__ */ jsxs("div", { className: "px-3 pb-4 pt-3 border-t", children: [
1202
1513
  assistantButton && /* @__PURE__ */ jsxs(
1203
1514
  "button",
1204
1515
  {
1205
1516
  onClick: assistantButton.onClick,
1206
- className: "flex w-full items-center gap-3 rounded-sm px-3 py-2 text-sm bg-[var(--cyan)]/10 text-[var(--black)] hover:bg-[var(--cyan)]/20 transition-colors font-medium",
1517
+ className: "flex w-full items-center gap-3 rounded-lg bg-[var(--cyan)]/10 px-3 py-2.5 text-sm font-medium text-[var(--cyan)] hover:bg-[var(--cyan)]/20 transition-colors mb-2",
1207
1518
  children: [
1208
- assistantButton.icon && /* @__PURE__ */ jsx(assistantButton.icon, { className: "h-4 w-4 text-[var(--cyan)]" }),
1209
- assistantButton.label
1519
+ assistantButton.icon && /* @__PURE__ */ jsx("div", { className: "flex h-7 w-7 items-center justify-center rounded-full bg-[var(--cyan)] text-white", children: /* @__PURE__ */ jsx(assistantButton.icon, { className: "h-4 w-4" }) }),
1520
+ /* @__PURE__ */ jsx("span", { children: assistantButton.label || "Ask Assistant" })
1210
1521
  ]
1211
1522
  }
1212
1523
  ),
@@ -1246,7 +1557,7 @@ var alertVariants = cva(
1246
1557
  }
1247
1558
  }
1248
1559
  );
1249
- var Alert = React21.forwardRef(
1560
+ var Alert = React24.forwardRef(
1250
1561
  ({ className, variant, icon, title, action, children, ...props }, ref) => {
1251
1562
  return /* @__PURE__ */ jsx(
1252
1563
  "div",
@@ -1269,7 +1580,7 @@ var Alert = React21.forwardRef(
1269
1580
  }
1270
1581
  );
1271
1582
  Alert.displayName = "Alert";
1272
- var EmptyState = React21.forwardRef(
1583
+ var EmptyState = React24.forwardRef(
1273
1584
  ({ className, icon, title, description, action, size = "default", ...props }, ref) => {
1274
1585
  const paddingClass = {
1275
1586
  sm: "p-8",
@@ -1297,7 +1608,7 @@ var EmptyState = React21.forwardRef(
1297
1608
  }
1298
1609
  );
1299
1610
  EmptyState.displayName = "EmptyState";
1300
- var CodeBlock = React21.forwardRef(
1611
+ var CodeBlock = React24.forwardRef(
1301
1612
  ({ className, children, language, ...props }, ref) => {
1302
1613
  return /* @__PURE__ */ jsx(
1303
1614
  "pre",
@@ -1315,15 +1626,15 @@ var CodeBlock = React21.forwardRef(
1315
1626
  }
1316
1627
  );
1317
1628
  CodeBlock.displayName = "CodeBlock";
1318
- var FormField = React21.forwardRef(
1629
+ var FormField = React24.forwardRef(
1319
1630
  ({ label, error, helperText, hint, required, id, className, children, ...props }, ref) => {
1320
- const fieldId = id || React21.useId();
1631
+ const fieldId = id || React24.useId();
1321
1632
  const errorId = `${fieldId}-error`;
1322
1633
  const helperId = `${fieldId}-helper`;
1323
- const enhancedChildren = React21.Children.map(children, (child) => {
1324
- if (React21.isValidElement(child)) {
1634
+ const enhancedChildren = React24.Children.map(children, (child) => {
1635
+ if (React24.isValidElement(child)) {
1325
1636
  const childProps = child.props;
1326
- return React21.cloneElement(child, {
1637
+ return React24.cloneElement(child, {
1327
1638
  id: fieldId,
1328
1639
  "aria-invalid": error ? "true" : void 0,
1329
1640
  "aria-describedby": error ? errorId : helperText ? helperId : void 0,
@@ -1347,7 +1658,7 @@ var FormField = React21.forwardRef(
1347
1658
  }
1348
1659
  );
1349
1660
  FormField.displayName = "FormField";
1350
- var Table = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsx(
1661
+ var Table = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsx(
1351
1662
  "table",
1352
1663
  {
1353
1664
  ref,
@@ -1356,11 +1667,11 @@ var Table = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
1356
1667
  }
1357
1668
  ) }));
1358
1669
  Table.displayName = "Table";
1359
- var TableHeader = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("", className), ...props }));
1670
+ var TableHeader = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("", className), ...props }));
1360
1671
  TableHeader.displayName = "TableHeader";
1361
- var TableBody = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("tbody", { ref, className: cn("", className), ...props }));
1672
+ var TableBody = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("tbody", { ref, className: cn("", className), ...props }));
1362
1673
  TableBody.displayName = "TableBody";
1363
- var TableFooter = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1674
+ var TableFooter = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1364
1675
  "tfoot",
1365
1676
  {
1366
1677
  ref,
@@ -1369,7 +1680,7 @@ var TableFooter = React21.forwardRef(({ className, ...props }, ref) => /* @__PUR
1369
1680
  }
1370
1681
  ));
1371
1682
  TableFooter.displayName = "TableFooter";
1372
- var TableRow = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1683
+ var TableRow = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1373
1684
  "tr",
1374
1685
  {
1375
1686
  ref,
@@ -1378,7 +1689,7 @@ var TableRow = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1378
1689
  }
1379
1690
  ));
1380
1691
  TableRow.displayName = "TableRow";
1381
- var TableHead = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1692
+ var TableHead = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1382
1693
  "th",
1383
1694
  {
1384
1695
  ref,
@@ -1390,7 +1701,7 @@ var TableHead = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1390
1701
  }
1391
1702
  ));
1392
1703
  TableHead.displayName = "TableHead";
1393
- var TableCell = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1704
+ var TableCell = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1394
1705
  "td",
1395
1706
  {
1396
1707
  ref,
@@ -1399,7 +1710,7 @@ var TableCell = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1399
1710
  }
1400
1711
  ));
1401
1712
  TableCell.displayName = "TableCell";
1402
- var TableCaption = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1713
+ var TableCaption = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1403
1714
  "caption",
1404
1715
  {
1405
1716
  ref,
@@ -1408,7 +1719,7 @@ var TableCaption = React21.forwardRef(({ className, ...props }, ref) => /* @__PU
1408
1719
  }
1409
1720
  ));
1410
1721
  TableCaption.displayName = "TableCaption";
1411
- var Divider = React21.forwardRef(
1722
+ var Divider = React24.forwardRef(
1412
1723
  ({ className, text, orientation = "horizontal", ...props }, ref) => {
1413
1724
  if (orientation === "vertical") {
1414
1725
  return /* @__PURE__ */ jsx(
@@ -1446,8 +1757,95 @@ var Divider = React21.forwardRef(
1446
1757
  }
1447
1758
  );
1448
1759
  Divider.displayName = "Divider";
1760
+ var Dialog = SheetPrimitive.Root;
1761
+ var DialogTrigger = SheetPrimitive.Trigger;
1762
+ var DialogPortal = SheetPrimitive.Portal;
1763
+ var DialogClose = SheetPrimitive.Close;
1764
+ var DialogOverlay = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1765
+ SheetPrimitive.Overlay,
1766
+ {
1767
+ ref,
1768
+ className: cn(
1769
+ "fixed inset-0 z-50 bg-black/60 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 duration-150",
1770
+ className
1771
+ ),
1772
+ ...props
1773
+ }
1774
+ ));
1775
+ DialogOverlay.displayName = SheetPrimitive.Overlay.displayName;
1776
+ var DialogContent = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
1777
+ /* @__PURE__ */ jsx(DialogOverlay, {}),
1778
+ /* @__PURE__ */ jsxs(
1779
+ SheetPrimitive.Content,
1780
+ {
1781
+ ref,
1782
+ className: cn(
1783
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-white p-6 shadow-lg duration-150 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-[0.97] data-[state=open]:zoom-in-[0.97] sm:rounded-lg",
1784
+ className
1785
+ ),
1786
+ ...props,
1787
+ children: [
1788
+ children,
1789
+ /* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100", children: [
1790
+ /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
1791
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
1792
+ ] })
1793
+ ]
1794
+ }
1795
+ )
1796
+ ] }));
1797
+ DialogContent.displayName = SheetPrimitive.Content.displayName;
1798
+ var DialogHeader = ({
1799
+ className,
1800
+ ...props
1801
+ }) => /* @__PURE__ */ jsx(
1802
+ "div",
1803
+ {
1804
+ className: cn(
1805
+ "flex flex-col space-y-1.5 text-center sm:text-left",
1806
+ className
1807
+ ),
1808
+ ...props
1809
+ }
1810
+ );
1811
+ DialogHeader.displayName = "DialogHeader";
1812
+ var DialogFooter = ({
1813
+ className,
1814
+ ...props
1815
+ }) => /* @__PURE__ */ jsx(
1816
+ "div",
1817
+ {
1818
+ className: cn(
1819
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
1820
+ className
1821
+ ),
1822
+ ...props
1823
+ }
1824
+ );
1825
+ DialogFooter.displayName = "DialogFooter";
1826
+ var DialogTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1827
+ SheetPrimitive.Title,
1828
+ {
1829
+ ref,
1830
+ className: cn(
1831
+ "text-lg font-semibold leading-none tracking-tight text-[var(--black)]",
1832
+ className
1833
+ ),
1834
+ ...props
1835
+ }
1836
+ ));
1837
+ DialogTitle.displayName = SheetPrimitive.Title.displayName;
1838
+ var DialogDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1839
+ SheetPrimitive.Description,
1840
+ {
1841
+ ref,
1842
+ className: cn("text-sm text-muted-foreground", className),
1843
+ ...props
1844
+ }
1845
+ ));
1846
+ DialogDescription.displayName = SheetPrimitive.Description.displayName;
1449
1847
  var ToastProvider = ToastPrimitives.Provider;
1450
- var ToastViewport = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1848
+ var ToastViewport = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1451
1849
  ToastPrimitives.Viewport,
1452
1850
  {
1453
1851
  ref,
@@ -1460,14 +1858,14 @@ var ToastViewport = React21.forwardRef(({ className, ...props }, ref) => /* @__P
1460
1858
  ));
1461
1859
  ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
1462
1860
  var toastVariants = cva(
1463
- "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-sm border p-4 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-bottom-full",
1861
+ "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-sm border-none p-4 transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-bottom-full",
1464
1862
  {
1465
1863
  variants: {
1466
1864
  variant: {
1467
- default: "border-gray-200 bg-white text-[var(--black)]",
1468
- success: "border-emerald-200 bg-emerald-50 text-emerald-900",
1469
- error: "border-red-200 bg-red-50 text-red-900",
1470
- warning: "border-amber-200 bg-amber-50 text-amber-900"
1865
+ default: "bg-[var(--black)] text-white",
1866
+ success: "bg-[var(--black)] text-white",
1867
+ error: "bg-[var(--black)] text-white",
1868
+ warning: "bg-[var(--black)] text-white"
1471
1869
  }
1472
1870
  },
1473
1871
  defaultVariants: {
@@ -1475,7 +1873,7 @@ var toastVariants = cva(
1475
1873
  }
1476
1874
  }
1477
1875
  );
1478
- var Toast = React21.forwardRef(({ className, variant, ...props }, ref) => {
1876
+ var Toast = React24.forwardRef(({ className, variant, ...props }, ref) => {
1479
1877
  return /* @__PURE__ */ jsx(
1480
1878
  ToastPrimitives.Root,
1481
1879
  {
@@ -1486,7 +1884,7 @@ var Toast = React21.forwardRef(({ className, variant, ...props }, ref) => {
1486
1884
  );
1487
1885
  });
1488
1886
  Toast.displayName = ToastPrimitives.Root.displayName;
1489
- var ToastAction = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1887
+ var ToastAction = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1490
1888
  ToastPrimitives.Action,
1491
1889
  {
1492
1890
  ref,
@@ -1498,12 +1896,12 @@ var ToastAction = React21.forwardRef(({ className, ...props }, ref) => /* @__PUR
1498
1896
  }
1499
1897
  ));
1500
1898
  ToastAction.displayName = ToastPrimitives.Action.displayName;
1501
- var ToastClose = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1899
+ var ToastClose = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1502
1900
  ToastPrimitives.Close,
1503
1901
  {
1504
1902
  ref,
1505
1903
  className: cn(
1506
- "absolute right-2 top-2 rounded-sm p-1 text-gray-500 opacity-0 transition-opacity hover:text-gray-900 focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100",
1904
+ "absolute right-3 top-3 rounded-sm p-1 text-white/60 transition-colors hover:text-white focus:outline-none",
1507
1905
  className
1508
1906
  ),
1509
1907
  "toast-close": "",
@@ -1512,7 +1910,7 @@ var ToastClose = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE
1512
1910
  }
1513
1911
  ));
1514
1912
  ToastClose.displayName = ToastPrimitives.Close.displayName;
1515
- var ToastTitle = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1913
+ var ToastTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1516
1914
  ToastPrimitives.Title,
1517
1915
  {
1518
1916
  ref,
@@ -1521,11 +1919,11 @@ var ToastTitle = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE
1521
1919
  }
1522
1920
  ));
1523
1921
  ToastTitle.displayName = ToastPrimitives.Title.displayName;
1524
- var ToastDescription = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1922
+ var ToastDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1525
1923
  ToastPrimitives.Description,
1526
1924
  {
1527
1925
  ref,
1528
- className: cn("text-sm opacity-90", className),
1926
+ className: cn("text-sm text-white/70", className),
1529
1927
  ...props
1530
1928
  }
1531
1929
  ));
@@ -1533,13 +1931,13 @@ ToastDescription.displayName = ToastPrimitives.Description.displayName;
1533
1931
  var ToastIcon = ({ variant }) => {
1534
1932
  switch (variant) {
1535
1933
  case "success":
1536
- return /* @__PURE__ */ jsx(CheckCircle, { size: 20, weight: "fill", className: "text-emerald-600" });
1934
+ return /* @__PURE__ */ jsx(Check, { size: 18, weight: "bold", className: "text-[var(--cyan)]" });
1537
1935
  case "error":
1538
- return /* @__PURE__ */ jsx(WarningCircle, { size: 20, weight: "fill", className: "text-red-600" });
1936
+ return /* @__PURE__ */ jsx(WarningCircle, { size: 18, weight: "fill", className: "text-red-400" });
1539
1937
  case "warning":
1540
- return /* @__PURE__ */ jsx(WarningCircle, { size: 20, weight: "fill", className: "text-amber-600" });
1938
+ return /* @__PURE__ */ jsx(WarningCircle, { size: 18, weight: "fill", className: "text-amber-400" });
1541
1939
  default:
1542
- return /* @__PURE__ */ jsx(Info, { size: 20, weight: "fill", className: "text-gray-600" });
1940
+ return /* @__PURE__ */ jsx(Info, { size: 18, weight: "fill", className: "text-white/70" });
1543
1941
  }
1544
1942
  };
1545
1943
  var TOAST_LIMIT = 5;
@@ -1642,8 +2040,8 @@ function toast({ ...props }) {
1642
2040
  };
1643
2041
  }
1644
2042
  function useToast() {
1645
- const [state, setState] = React21.useState(memoryState);
1646
- React21.useEffect(() => {
2043
+ const [state, setState] = React24.useState(memoryState);
2044
+ React24.useEffect(() => {
1647
2045
  listeners.push(setState);
1648
2046
  return () => {
1649
2047
  const index = listeners.indexOf(setState);
@@ -1679,6 +2077,6 @@ function Toaster() {
1679
2077
  ] });
1680
2078
  }
1681
2079
 
1682
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CodeBlock, Divider, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FormField, IconBox, Input, Label2 as Label, Logo, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Progress, Separator2 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarNavItem, Stat, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tag, Textarea, Toast, ToastAction, ToastClose, ToastDescription, ToastIcon, ToastProvider, ToastTitle, ToastViewport, Toaster, alertVariants, badgeVariants, buttonVariants, cn, iconBoxVariants, navigationMenuTriggerStyle, progressVariants, statVariants, tagVariants, toast, useToast, valueVariants };
2080
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CodeBlock, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Divider, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FormField, IconBox, Input, Label2 as Label, Logo, MetricCard, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Progress, Separator2 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarNavItem, Stat, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tag, Textarea, Toast, ToastAction, ToastClose, ToastDescription, ToastIcon, ToastProvider, ToastTitle, ToastViewport, Toaster, UsageBar, UsageChart, alertVariants, badgeVariants, buttonVariants, cn, iconBoxVariants, metricCardVariants, navigationMenuTriggerStyle, progressVariants, statVariants, tagVariants, toast, usageBarVariants, useToast, valueVariants };
1683
2081
  //# sourceMappingURL=index.mjs.map
1684
2082
  //# sourceMappingURL=index.mjs.map