@ai-matrx/design-system 0.41.0 → 0.42.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/data-table/copy-helpers.d.cts +2 -1
  3. package/dist/data-table/copy-helpers.d.ts +2 -1
  4. package/dist/data-table/data-row-inspector.cjs.map +1 -1
  5. package/dist/data-table/data-row-inspector.js.map +1 -1
  6. package/dist/data-table/data-row-window.cjs.map +1 -1
  7. package/dist/data-table/data-row-window.js.map +1 -1
  8. package/dist/data-table/filter-engine.d.cts +2 -1
  9. package/dist/data-table/filter-engine.d.ts +2 -1
  10. package/dist/data-table/host.cjs.map +1 -1
  11. package/dist/data-table/host.d.cts +18 -4
  12. package/dist/data-table/host.d.ts +18 -4
  13. package/dist/data-table/host.js.map +1 -1
  14. package/dist/data-table/index.cjs +2990 -2778
  15. package/dist/data-table/index.cjs.map +1 -1
  16. package/dist/data-table/index.d.cts +4 -4
  17. package/dist/data-table/index.d.ts +4 -4
  18. package/dist/data-table/index.js +2999 -2787
  19. package/dist/data-table/index.js.map +1 -1
  20. package/dist/data-table/infer-filter.d.cts +2 -1
  21. package/dist/data-table/infer-filter.d.ts +2 -1
  22. package/dist/data-table/layered-filters.d.cts +2 -1
  23. package/dist/data-table/layered-filters.d.ts +2 -1
  24. package/dist/data-table/menu-targets.cjs +27 -0
  25. package/dist/data-table/menu-targets.cjs.map +1 -1
  26. package/dist/data-table/menu-targets.d.cts +49 -1
  27. package/dist/data-table/menu-targets.d.ts +49 -1
  28. package/dist/data-table/menu-targets.js +27 -0
  29. package/dist/data-table/menu-targets.js.map +1 -1
  30. package/dist/data-table/pagination.cjs.map +1 -1
  31. package/dist/data-table/pagination.js.map +1 -1
  32. package/dist/data-table/query-control.d.cts +2 -1
  33. package/dist/data-table/query-control.d.ts +2 -1
  34. package/dist/data-table/spreadsheet.cjs +24 -8
  35. package/dist/data-table/spreadsheet.cjs.map +1 -1
  36. package/dist/data-table/spreadsheet.d.cts +20 -3
  37. package/dist/data-table/spreadsheet.d.ts +20 -3
  38. package/dist/data-table/spreadsheet.js +24 -8
  39. package/dist/data-table/spreadsheet.js.map +1 -1
  40. package/dist/data-table/types.cjs.map +1 -1
  41. package/dist/data-table/types.d.cts +2 -1
  42. package/dist/data-table/types.d.ts +2 -1
  43. package/dist/data-table/url-state.d.cts +2 -1
  44. package/dist/data-table/url-state.d.ts +2 -1
  45. package/dist/data-table/uuid-cell.cjs.map +1 -1
  46. package/dist/data-table/uuid-cell.js.map +1 -1
  47. package/dist/data-table/xlsx.d.cts +2 -1
  48. package/dist/data-table/xlsx.d.ts +2 -1
  49. package/dist/index.cjs +534 -468
  50. package/dist/index.cjs.map +1 -1
  51. package/dist/index.d.cts +67 -1
  52. package/dist/index.d.ts +67 -1
  53. package/dist/index.js +541 -475
  54. package/dist/index.js.map +1 -1
  55. package/dist/{types-Dx5hJgCi.d.ts → types-afUz93xo.d.ts} +33 -1
  56. package/dist/{types-DNkbHRVK.d.cts → types-q5ficDSo.d.cts} +33 -1
  57. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -602,8 +602,58 @@ function BottomSheetFooter({
602
602
 
603
603
  // src/alert.tsx
604
604
  import { cva as cva2 } from "class-variance-authority";
605
+ import * as React5 from "react";
606
+
607
+ // src/error-box.tsx
605
608
  import * as React4 from "react";
606
- import { jsx as jsx7 } from "react/jsx-runtime";
609
+ import { Fragment, jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
610
+ var CONTEXT_KEY = /* @__PURE__ */ Symbol.for("@ai-matrx/design-system/error-actions");
611
+ var registry = globalThis;
612
+ var ErrorActionsContext = registry[CONTEXT_KEY] ?? (registry[CONTEXT_KEY] = React4.createContext(null));
613
+ function ErrorActionsProvider({
614
+ render,
615
+ children
616
+ }) {
617
+ return /* @__PURE__ */ jsx7(ErrorActionsContext.Provider, { value: render, children });
618
+ }
619
+ function useErrorActions() {
620
+ return React4.useContext(ErrorActionsContext);
621
+ }
622
+ function ErrorActions(props) {
623
+ const render = useErrorActions();
624
+ if (!render) return null;
625
+ return /* @__PURE__ */ jsx7(Fragment, { children: render(props) });
626
+ }
627
+ var ErrorBox = React4.forwardRef(function ErrorBox2({
628
+ as = "p",
629
+ message,
630
+ title,
631
+ error,
632
+ operation,
633
+ records,
634
+ unsavedInput,
635
+ origin,
636
+ children,
637
+ ...rest
638
+ }, ref) {
639
+ const Tag = as;
640
+ const facts = {
641
+ ...message !== void 0 ? { message } : {},
642
+ ...title !== void 0 ? { title } : {},
643
+ ...error !== void 0 ? { error } : {},
644
+ ...operation !== void 0 ? { operation } : {},
645
+ ...records !== void 0 ? { records } : {},
646
+ ...unsavedInput !== void 0 ? { unsavedInput } : {},
647
+ ...origin !== void 0 ? { origin } : {}
648
+ };
649
+ return /* @__PURE__ */ jsxs5(Tag, { ref, role: "alert", "data-error-box": "", ...rest, children: [
650
+ children ?? message,
651
+ /* @__PURE__ */ jsx7(ErrorActions, { ...facts })
652
+ ] });
653
+ });
654
+
655
+ // src/alert.tsx
656
+ import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
607
657
  var alertVariants = cva2(
608
658
  "relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg~*]:pl-7",
609
659
  {
@@ -621,8 +671,8 @@ var alertVariants = cva2(
621
671
  }
622
672
  }
623
673
  );
624
- var Alert = React4.forwardRef(
625
- ({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx7(
674
+ var Alert = React5.forwardRef(
675
+ ({ className, variant, children, errorFacts, ...props }, ref) => /* @__PURE__ */ jsxs6(
626
676
  "div",
627
677
  {
628
678
  ref,
@@ -630,12 +680,16 @@ var Alert = React4.forwardRef(
630
680
  "data-slot": "alert",
631
681
  "data-variant": variant ?? "default",
632
682
  className: cn(alertVariants({ variant }), className),
633
- ...props
683
+ ...props,
684
+ children: [
685
+ children,
686
+ variant === "destructive" ? /* @__PURE__ */ jsx8(ErrorActions, { origin: "design-system/Alert", ...errorFacts }) : null
687
+ ]
634
688
  }
635
689
  )
636
690
  );
637
691
  Alert.displayName = "Alert";
638
- var AlertTitle = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx7(
692
+ var AlertTitle = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
639
693
  "h5",
640
694
  {
641
695
  ref,
@@ -645,7 +699,7 @@ var AlertTitle = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE_
645
699
  }
646
700
  ));
647
701
  AlertTitle.displayName = "AlertTitle";
648
- var AlertDescription = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx7(
702
+ var AlertDescription = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
649
703
  "div",
650
704
  {
651
705
  ref,
@@ -659,13 +713,13 @@ AlertDescription.displayName = "AlertDescription";
659
713
  // src/alert-dialog.tsx
660
714
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
661
715
  import { treeContainsComponent as treeContainsComponent2 } from "@ai-matrx/kit/react-tree";
662
- import * as React7 from "react";
716
+ import * as React8 from "react";
663
717
 
664
718
  // src/button.tsx
665
719
  import { Slot } from "@radix-ui/react-slot";
666
720
  import { cva as cva3 } from "class-variance-authority";
667
- import * as React5 from "react";
668
- import { jsx as jsx8 } from "react/jsx-runtime";
721
+ import * as React6 from "react";
722
+ import { jsx as jsx9 } from "react/jsx-runtime";
669
723
  var buttonVariants = cva3(
670
724
  "inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-0 disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
671
725
  {
@@ -728,11 +782,11 @@ var TOUCH_FLOOR_SIZES = /* @__PURE__ */ new Set([
728
782
  "roundIcon"
729
783
  ]);
730
784
  var SQUARE_SIZES = /* @__PURE__ */ new Set(["icon", "icon-sm", "roundIcon"]);
731
- var Button = React5.forwardRef(
785
+ var Button = React6.forwardRef(
732
786
  ({ className, variant, size, asChild = false, ...props }, ref) => {
733
787
  const Component = asChild ? Slot : "button";
734
788
  const resolvedSize = size ?? "default";
735
- return /* @__PURE__ */ jsx8(
789
+ return /* @__PURE__ */ jsx9(
736
790
  Component,
737
791
  {
738
792
  className: cn(buttonVariants({ variant, size, className })),
@@ -789,19 +843,19 @@ var FORBIDDEN_HOST_MOTION_UTILITIES = [
789
843
  ];
790
844
 
791
845
  // src/portal-container.tsx
792
- import * as React6 from "react";
793
- import { jsx as jsx9 } from "react/jsx-runtime";
846
+ import * as React7 from "react";
847
+ import { jsx as jsx10 } from "react/jsx-runtime";
794
848
  var CONTEXT_SLOT2 = /* @__PURE__ */ Symbol.for("ai-matrx.design-system.portal-container-context");
795
849
  var contextRegistry2 = globalThis;
796
- var PortalContainerContext = contextRegistry2[CONTEXT_SLOT2] ??= React6.createContext(void 0);
850
+ var PortalContainerContext = contextRegistry2[CONTEXT_SLOT2] ??= React7.createContext(void 0);
797
851
  function PortalContainerProvider({
798
852
  container,
799
853
  children
800
854
  }) {
801
- return /* @__PURE__ */ jsx9(PortalContainerContext.Provider, { value: container ?? void 0, children });
855
+ return /* @__PURE__ */ jsx10(PortalContainerContext.Provider, { value: container ?? void 0, children });
802
856
  }
803
857
  function usePortalContainer(explicit) {
804
- const injected = React6.useContext(PortalContainerContext);
858
+ const injected = React7.useContext(PortalContainerContext);
805
859
  if (explicit !== void 0) {
806
860
  return explicit ?? void 0;
807
861
  }
@@ -809,7 +863,7 @@ function usePortalContainer(explicit) {
809
863
  }
810
864
 
811
865
  // src/alert-dialog.tsx
812
- import { jsx as jsx10, jsxs as jsxs5 } from "react/jsx-runtime";
866
+ import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
813
867
  var AlertDialog = AlertDialogPrimitive.Root;
814
868
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
815
869
  var AlertDialogPortal = ({
@@ -817,10 +871,10 @@ var AlertDialogPortal = ({
817
871
  ...props
818
872
  }) => {
819
873
  const resolved = usePortalContainer(container);
820
- return /* @__PURE__ */ jsx10(AlertDialogPrimitive.Portal, { container: resolved ?? null, ...props });
874
+ return /* @__PURE__ */ jsx11(AlertDialogPrimitive.Portal, { container: resolved ?? null, ...props });
821
875
  };
822
876
  AlertDialogPortal.displayName = "AlertDialogPortal";
823
- var AlertDialogOverlay = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
877
+ var AlertDialogOverlay = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
824
878
  AlertDialogPrimitive.Overlay,
825
879
  {
826
880
  ref,
@@ -834,9 +888,9 @@ var AlertDialogOverlay = React7.forwardRef(({ className, ...props }, ref) => /*
834
888
  }
835
889
  ));
836
890
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
837
- var AlertDialogContentPrimitive = React7.forwardRef((props, ref) => /* @__PURE__ */ jsx10(AlertDialogPrimitive.Content, { ...props, ref, "aria-modal": "true" }));
891
+ var AlertDialogContentPrimitive = React8.forwardRef((props, ref) => /* @__PURE__ */ jsx11(AlertDialogPrimitive.Content, { ...props, ref, "aria-modal": "true" }));
838
892
  AlertDialogContentPrimitive.displayName = "AlertDialogContentPrimitive";
839
- var AlertDialogDescription = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
893
+ var AlertDialogDescription = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
840
894
  AlertDialogPrimitive.Description,
841
895
  {
842
896
  ref,
@@ -846,11 +900,11 @@ var AlertDialogDescription = React7.forwardRef(({ className, ...props }, ref) =>
846
900
  }
847
901
  ));
848
902
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
849
- var AlertDialogContent = React7.forwardRef(({ className, children, container, animated = true, ...props }, ref) => {
903
+ var AlertDialogContent = React8.forwardRef(({ className, children, container, animated = true, ...props }, ref) => {
850
904
  const hasDescription = treeContainsComponent2(children, AlertDialogDescription) || treeContainsComponent2(children, AlertDialogPrimitive.Description);
851
- return /* @__PURE__ */ jsxs5(AlertDialogPortal, { container, children: [
852
- /* @__PURE__ */ jsx10(AlertDialogOverlay, {}),
853
- /* @__PURE__ */ jsxs5(
905
+ return /* @__PURE__ */ jsxs7(AlertDialogPortal, { container, children: [
906
+ /* @__PURE__ */ jsx11(AlertDialogOverlay, {}),
907
+ /* @__PURE__ */ jsxs7(
854
908
  AlertDialogContentPrimitive,
855
909
  {
856
910
  ref,
@@ -870,7 +924,7 @@ var AlertDialogContent = React7.forwardRef(({ className, children, container, an
870
924
  ),
871
925
  ...props,
872
926
  children: [
873
- hasDescription ? null : /* @__PURE__ */ jsx10(AlertDialogPrimitive.Description, { className: "sr-only", children: "Please confirm the action described in this dialog." }),
927
+ hasDescription ? null : /* @__PURE__ */ jsx11(AlertDialogPrimitive.Description, { className: "sr-only", children: "Please confirm the action described in this dialog." }),
874
928
  children
875
929
  ]
876
930
  }
@@ -881,7 +935,7 @@ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
881
935
  var AlertDialogHeader = ({
882
936
  className,
883
937
  ...props
884
- }) => /* @__PURE__ */ jsx10(
938
+ }) => /* @__PURE__ */ jsx11(
885
939
  "div",
886
940
  {
887
941
  "data-slot": "alert-dialog-header",
@@ -893,7 +947,7 @@ AlertDialogHeader.displayName = "AlertDialogHeader";
893
947
  var AlertDialogFooter = ({
894
948
  className,
895
949
  ...props
896
- }) => /* @__PURE__ */ jsx10(
950
+ }) => /* @__PURE__ */ jsx11(
897
951
  "div",
898
952
  {
899
953
  "data-slot": "alert-dialog-footer",
@@ -925,7 +979,7 @@ var AlertDialogFooter = ({
925
979
  }
926
980
  );
927
981
  AlertDialogFooter.displayName = "AlertDialogFooter";
928
- var AlertDialogTitle = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
982
+ var AlertDialogTitle = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
929
983
  AlertDialogPrimitive.Title,
930
984
  {
931
985
  ref,
@@ -935,7 +989,7 @@ var AlertDialogTitle = React7.forwardRef(({ className, ...props }, ref) => /* @_
935
989
  }
936
990
  ));
937
991
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
938
- var AlertDialogAction = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
992
+ var AlertDialogAction = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
939
993
  AlertDialogPrimitive.Action,
940
994
  {
941
995
  ref,
@@ -945,7 +999,7 @@ var AlertDialogAction = React7.forwardRef(({ className, ...props }, ref) => /* @
945
999
  }
946
1000
  ));
947
1001
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
948
- var AlertDialogCancel = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
1002
+ var AlertDialogCancel = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
949
1003
  AlertDialogPrimitive.Cancel,
950
1004
  {
951
1005
  ref,
@@ -962,14 +1016,14 @@ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
962
1016
 
963
1017
  // src/avatar.tsx
964
1018
  import * as AvatarPrimitive from "@radix-ui/react-avatar";
965
- import * as React8 from "react";
966
- import { jsx as jsx11 } from "react/jsx-runtime";
1019
+ import * as React9 from "react";
1020
+ import { jsx as jsx12 } from "react/jsx-runtime";
967
1021
  var AVATAR_SIZES = {
968
1022
  sm: "h-8 w-8 text-[11px]",
969
1023
  md: "h-9 w-9 text-xs",
970
1024
  lg: "h-10 w-10 text-sm"
971
1025
  };
972
- var Avatar = React8.forwardRef(({ className, size = "lg", ...props }, ref) => /* @__PURE__ */ jsx11(
1026
+ var Avatar = React9.forwardRef(({ className, size = "lg", ...props }, ref) => /* @__PURE__ */ jsx12(
973
1027
  AvatarPrimitive.Root,
974
1028
  {
975
1029
  ref,
@@ -983,7 +1037,7 @@ var Avatar = React8.forwardRef(({ className, size = "lg", ...props }, ref) => /*
983
1037
  }
984
1038
  ));
985
1039
  Avatar.displayName = AvatarPrimitive.Root.displayName;
986
- var AvatarImage = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
1040
+ var AvatarImage = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
987
1041
  AvatarPrimitive.Image,
988
1042
  {
989
1043
  ref,
@@ -993,7 +1047,7 @@ var AvatarImage = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE
993
1047
  }
994
1048
  ));
995
1049
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
996
- var AvatarFallback = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
1050
+ var AvatarFallback = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
997
1051
  AvatarPrimitive.Fallback,
998
1052
  {
999
1053
  ref,
@@ -1008,8 +1062,8 @@ var AvatarFallback = React8.forwardRef(({ className, ...props }, ref) => /* @__P
1008
1062
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
1009
1063
 
1010
1064
  // src/card.tsx
1011
- import * as React9 from "react";
1012
- import { jsx as jsx12 } from "react/jsx-runtime";
1065
+ import * as React10 from "react";
1066
+ import { jsx as jsx13 } from "react/jsx-runtime";
1013
1067
  var CARD_SIZES = {
1014
1068
  sm: {
1015
1069
  root: "rounded-xl border bg-card text-card-foreground shadow",
@@ -1027,12 +1081,12 @@ var CARD_SIZES = {
1027
1081
  padTopless: "p-6 pt-0"
1028
1082
  }
1029
1083
  };
1030
- var CardSizeContext = React9.createContext("md");
1084
+ var CardSizeContext = React10.createContext("md");
1031
1085
  function useCardSize() {
1032
- return React9.useContext(CardSizeContext);
1086
+ return React10.useContext(CardSizeContext);
1033
1087
  }
1034
- var Card = React9.forwardRef(
1035
- ({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx12(CardSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx12(
1088
+ var Card = React10.forwardRef(
1089
+ ({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx13(CardSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx13(
1036
1090
  "div",
1037
1091
  {
1038
1092
  ref,
@@ -1044,9 +1098,9 @@ var Card = React9.forwardRef(
1044
1098
  ) })
1045
1099
  );
1046
1100
  Card.displayName = "Card";
1047
- var CardHeader = React9.forwardRef(({ className, ...props }, ref) => {
1101
+ var CardHeader = React10.forwardRef(({ className, ...props }, ref) => {
1048
1102
  const size = useCardSize();
1049
- return /* @__PURE__ */ jsx12(
1103
+ return /* @__PURE__ */ jsx13(
1050
1104
  "div",
1051
1105
  {
1052
1106
  ref,
@@ -1061,7 +1115,7 @@ var CardHeader = React9.forwardRef(({ className, ...props }, ref) => {
1061
1115
  );
1062
1116
  });
1063
1117
  CardHeader.displayName = "CardHeader";
1064
- var CardTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
1118
+ var CardTitle = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1065
1119
  "h3",
1066
1120
  {
1067
1121
  ref,
@@ -1071,7 +1125,7 @@ var CardTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1071
1125
  }
1072
1126
  ));
1073
1127
  CardTitle.displayName = "CardTitle";
1074
- var CardDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
1128
+ var CardDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1075
1129
  "p",
1076
1130
  {
1077
1131
  ref,
@@ -1081,7 +1135,7 @@ var CardDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__
1081
1135
  }
1082
1136
  ));
1083
1137
  CardDescription.displayName = "CardDescription";
1084
- var CardAction = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
1138
+ var CardAction = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1085
1139
  "div",
1086
1140
  {
1087
1141
  ref,
@@ -1091,9 +1145,9 @@ var CardAction = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1091
1145
  }
1092
1146
  ));
1093
1147
  CardAction.displayName = "CardAction";
1094
- var CardContent = React9.forwardRef(({ className, ...props }, ref) => {
1148
+ var CardContent = React10.forwardRef(({ className, ...props }, ref) => {
1095
1149
  const size = useCardSize();
1096
- return /* @__PURE__ */ jsx12(
1150
+ return /* @__PURE__ */ jsx13(
1097
1151
  "div",
1098
1152
  {
1099
1153
  ref,
@@ -1104,9 +1158,9 @@ var CardContent = React9.forwardRef(({ className, ...props }, ref) => {
1104
1158
  );
1105
1159
  });
1106
1160
  CardContent.displayName = "CardContent";
1107
- var CardFooter = React9.forwardRef(({ className, ...props }, ref) => {
1161
+ var CardFooter = React10.forwardRef(({ className, ...props }, ref) => {
1108
1162
  const size = useCardSize();
1109
- return /* @__PURE__ */ jsx12(
1163
+ return /* @__PURE__ */ jsx13(
1110
1164
  "div",
1111
1165
  {
1112
1166
  ref,
@@ -1124,13 +1178,13 @@ CardFooter.displayName = "CardFooter";
1124
1178
 
1125
1179
  // src/checkbox.tsx
1126
1180
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
1127
- import * as React10 from "react";
1128
- import { jsx as jsx13 } from "react/jsx-runtime";
1181
+ import * as React11 from "react";
1182
+ import { jsx as jsx14 } from "react/jsx-runtime";
1129
1183
  var CHECKBOX_SIZES = {
1130
1184
  sm: { root: "h-3.5 w-3.5 rounded-xs", glyph: "h-3 w-3" },
1131
1185
  md: { root: "h-4 w-4 rounded-sm", glyph: "h-3.5 w-3.5" }
1132
1186
  };
1133
- var Checkbox = React10.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx13(
1187
+ var Checkbox = React11.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx14(
1134
1188
  CheckboxPrimitive.Root,
1135
1189
  {
1136
1190
  ref,
@@ -1141,12 +1195,12 @@ var Checkbox = React10.forwardRef(({ className, size = "md", ...props }, ref) =>
1141
1195
  className
1142
1196
  ),
1143
1197
  ...props,
1144
- children: /* @__PURE__ */ jsx13(
1198
+ children: /* @__PURE__ */ jsx14(
1145
1199
  CheckboxPrimitive.Indicator,
1146
1200
  {
1147
1201
  "data-slot": "checkbox-indicator",
1148
1202
  className: "flex items-center justify-center text-current",
1149
- children: props.checked === "indeterminate" ? /* @__PURE__ */ jsx13(DividerHorizontalIcon, { className: CHECKBOX_SIZES[size].glyph }) : /* @__PURE__ */ jsx13(CheckIcon, { className: CHECKBOX_SIZES[size].glyph })
1203
+ children: props.checked === "indeterminate" ? /* @__PURE__ */ jsx14(DividerHorizontalIcon, { className: CHECKBOX_SIZES[size].glyph }) : /* @__PURE__ */ jsx14(CheckIcon, { className: CHECKBOX_SIZES[size].glyph })
1150
1204
  }
1151
1205
  )
1152
1206
  }
@@ -1155,11 +1209,11 @@ Checkbox.displayName = CheckboxPrimitive.Root.displayName;
1155
1209
 
1156
1210
  // src/collapsible.tsx
1157
1211
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
1158
- import * as React11 from "react";
1159
- import { jsx as jsx14 } from "react/jsx-runtime";
1212
+ import * as React12 from "react";
1213
+ import { jsx as jsx15 } from "react/jsx-runtime";
1160
1214
  var Collapsible = CollapsiblePrimitive.Root;
1161
1215
  var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
1162
- var CollapsibleContent2 = React11.forwardRef(({ className, animated = true, ...props }, ref) => /* @__PURE__ */ jsx14(
1216
+ var CollapsibleContent2 = React12.forwardRef(({ className, animated = true, ...props }, ref) => /* @__PURE__ */ jsx15(
1163
1217
  CollapsiblePrimitive.CollapsibleContent,
1164
1218
  {
1165
1219
  ref,
@@ -1176,15 +1230,15 @@ CollapsibleContent2.displayName = "CollapsibleContent";
1176
1230
  // src/command.tsx
1177
1231
  import * as DialogPrimitive from "@radix-ui/react-dialog";
1178
1232
  import { Command as CommandPrimitive } from "cmdk";
1179
- import * as React13 from "react";
1233
+ import * as React14 from "react";
1180
1234
 
1181
1235
  // src/use-is-mobile.ts
1182
- import * as React12 from "react";
1236
+ import * as React13 from "react";
1183
1237
  var MOBILE_BREAKPOINT = 768;
1184
1238
  function useIsMobile() {
1185
- const [isMobile, setIsMobile] = React12.useState(false);
1186
- const [hasMounted, setHasMounted] = React12.useState(false);
1187
- React12.useEffect(() => {
1239
+ const [isMobile, setIsMobile] = React13.useState(false);
1240
+ const [hasMounted, setHasMounted] = React13.useState(false);
1241
+ React13.useEffect(() => {
1188
1242
  setHasMounted(true);
1189
1243
  const onChange = () => {
1190
1244
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -1204,8 +1258,8 @@ function useIsMobile() {
1204
1258
  }
1205
1259
 
1206
1260
  // src/command.tsx
1207
- import { jsx as jsx15, jsxs as jsxs6 } from "react/jsx-runtime";
1208
- var Command = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1261
+ import { jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
1262
+ var Command = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
1209
1263
  CommandPrimitive,
1210
1264
  {
1211
1265
  ref,
@@ -1220,12 +1274,12 @@ Command.displayName = CommandPrimitive.displayName;
1220
1274
  var DIALOG_DESKTOP_CLASSES = `fixed left-[50%] top-[50%] z-[10000] grid min-w-0 w-full max-w-lg ${CENTERED_DIALOG} gap-4 overflow-x-clip border bg-background p-6 shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full sm:rounded-lg`;
1221
1275
  var DIALOG_MOBILE_SHEET_CLASSES = "fixed inset-x-0 bottom-0 left-0 right-0 top-auto z-[10000] flex min-w-0 flex-col w-full max-w-full max-h-[90dvh] translate-x-0 translate-y-0 gap-4 overflow-x-clip border-t bg-background p-4 pb-safe shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full rounded-t-2xl rounded-b-none overflow-y-auto overscroll-contain";
1222
1276
  var DIALOG_MOBILE_SHEET_OVERRIDE = "inset-x-0 bottom-0 left-0 right-0 top-auto translate-x-0 translate-y-0 w-full max-w-full max-h-[90dvh] rounded-b-none rounded-t-2xl overflow-y-auto";
1223
- var CommandDialogContent = React13.forwardRef(({ className, children, container, ...props }, ref) => {
1277
+ var CommandDialogContent = React14.forwardRef(({ className, children, container, ...props }, ref) => {
1224
1278
  const isMobile = useIsMobile();
1225
1279
  const isModal = useRadixDialogModal();
1226
1280
  const portalContainer = usePortalContainer(container);
1227
- return /* @__PURE__ */ jsxs6(DialogPrimitive.Portal, { container: portalContainer, children: [
1228
- isModal ? /* @__PURE__ */ jsx15(
1281
+ return /* @__PURE__ */ jsxs8(DialogPrimitive.Portal, { container: portalContainer, children: [
1282
+ isModal ? /* @__PURE__ */ jsx16(
1229
1283
  DialogPrimitive.Overlay,
1230
1284
  {
1231
1285
  className: cn(
@@ -1234,7 +1288,7 @@ var CommandDialogContent = React13.forwardRef(({ className, children, container,
1234
1288
  )
1235
1289
  }
1236
1290
  ) : null,
1237
- /* @__PURE__ */ jsxs6(
1291
+ /* @__PURE__ */ jsxs8(
1238
1292
  DialogPrimitive.Content,
1239
1293
  {
1240
1294
  ref,
@@ -1250,9 +1304,9 @@ var CommandDialogContent = React13.forwardRef(({ className, children, container,
1250
1304
  ...props,
1251
1305
  children: [
1252
1306
  children,
1253
- /* @__PURE__ */ jsxs6(DialogPrimitive.Close, { className: "absolute right-2 top-4 flex h-10 w-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground sm:right-4", children: [
1254
- /* @__PURE__ */ jsx15(XIcon, { className: "h-4 w-4" }),
1255
- /* @__PURE__ */ jsx15("span", { className: "sr-only", children: "Close" })
1307
+ /* @__PURE__ */ jsxs8(DialogPrimitive.Close, { className: "absolute right-2 top-4 flex h-10 w-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground sm:right-4", children: [
1308
+ /* @__PURE__ */ jsx16(XIcon, { className: "h-4 w-4" }),
1309
+ /* @__PURE__ */ jsx16("span", { className: "sr-only", children: "Close" })
1256
1310
  ] })
1257
1311
  ]
1258
1312
  }
@@ -1266,21 +1320,21 @@ var CommandDialog = ({
1266
1320
  ...props
1267
1321
  }) => {
1268
1322
  const modal = props.modal ?? true;
1269
- return /* @__PURE__ */ jsx15(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx15(DialogPrimitive.Root, { ...props, modal, children: /* @__PURE__ */ jsxs6(
1323
+ return /* @__PURE__ */ jsx16(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx16(DialogPrimitive.Root, { ...props, modal, children: /* @__PURE__ */ jsxs8(
1270
1324
  CommandDialogContent,
1271
1325
  {
1272
1326
  className: "overflow-hidden p-0",
1273
1327
  ...container !== void 0 ? { container } : {},
1274
1328
  children: [
1275
- /* @__PURE__ */ jsx15(DialogPrimitive.Title, { className: "sr-only" }),
1276
- /* @__PURE__ */ jsx15(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children })
1329
+ /* @__PURE__ */ jsx16(DialogPrimitive.Title, { className: "sr-only" }),
1330
+ /* @__PURE__ */ jsx16(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children })
1277
1331
  ]
1278
1332
  }
1279
1333
  ) }) });
1280
1334
  };
1281
- var CommandInput = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs6("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
1282
- /* @__PURE__ */ jsx15(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
1283
- /* @__PURE__ */ jsx15(
1335
+ var CommandInput = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs8("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
1336
+ /* @__PURE__ */ jsx16(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
1337
+ /* @__PURE__ */ jsx16(
1284
1338
  CommandPrimitive.Input,
1285
1339
  {
1286
1340
  ref,
@@ -1293,7 +1347,7 @@ var CommandInput = React13.forwardRef(({ className, ...props }, ref) => /* @__PU
1293
1347
  )
1294
1348
  ] }));
1295
1349
  CommandInput.displayName = CommandPrimitive.Input.displayName;
1296
- var CommandList = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1350
+ var CommandList = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
1297
1351
  CommandPrimitive.List,
1298
1352
  {
1299
1353
  ref,
@@ -1302,7 +1356,7 @@ var CommandList = React13.forwardRef(({ className, ...props }, ref) => /* @__PUR
1302
1356
  }
1303
1357
  ));
1304
1358
  CommandList.displayName = CommandPrimitive.List.displayName;
1305
- var CommandEmpty = React13.forwardRef((props, ref) => /* @__PURE__ */ jsx15(
1359
+ var CommandEmpty = React14.forwardRef((props, ref) => /* @__PURE__ */ jsx16(
1306
1360
  CommandPrimitive.Empty,
1307
1361
  {
1308
1362
  ref,
@@ -1311,7 +1365,7 @@ var CommandEmpty = React13.forwardRef((props, ref) => /* @__PURE__ */ jsx15(
1311
1365
  }
1312
1366
  ));
1313
1367
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
1314
- var CommandGroup = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1368
+ var CommandGroup = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
1315
1369
  CommandPrimitive.Group,
1316
1370
  {
1317
1371
  ref,
@@ -1323,7 +1377,7 @@ var CommandGroup = React13.forwardRef(({ className, ...props }, ref) => /* @__PU
1323
1377
  }
1324
1378
  ));
1325
1379
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
1326
- var CommandSeparator = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1380
+ var CommandSeparator = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
1327
1381
  CommandPrimitive.Separator,
1328
1382
  {
1329
1383
  ref,
@@ -1332,7 +1386,7 @@ var CommandSeparator = React13.forwardRef(({ className, ...props }, ref) => /* @
1332
1386
  }
1333
1387
  ));
1334
1388
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
1335
- var CommandItem = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1389
+ var CommandItem = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
1336
1390
  CommandPrimitive.Item,
1337
1391
  {
1338
1392
  ref,
@@ -1348,7 +1402,7 @@ var CommandShortcut = ({
1348
1402
  className,
1349
1403
  ...props
1350
1404
  }) => {
1351
- return /* @__PURE__ */ jsx15(
1405
+ return /* @__PURE__ */ jsx16(
1352
1406
  "span",
1353
1407
  {
1354
1408
  className: cn(
@@ -1362,7 +1416,7 @@ var CommandShortcut = ({
1362
1416
  CommandShortcut.displayName = "CommandShortcut";
1363
1417
 
1364
1418
  // src/confirm-dialog.tsx
1365
- import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
1419
+ import { jsx as jsx17, jsxs as jsxs9 } from "react/jsx-runtime";
1366
1420
  function ConfirmDialog({
1367
1421
  open,
1368
1422
  onOpenChange,
@@ -1378,20 +1432,20 @@ function ConfirmDialog({
1378
1432
  portalContainer,
1379
1433
  onConfirm
1380
1434
  }) {
1381
- return /* @__PURE__ */ jsx16(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs7(
1435
+ return /* @__PURE__ */ jsx17(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs9(
1382
1436
  AlertDialogContent,
1383
1437
  {
1384
1438
  className: contentClassName,
1385
1439
  ...portalContainer === void 0 ? {} : { container: portalContainer },
1386
1440
  children: [
1387
- /* @__PURE__ */ jsxs7(AlertDialogHeader, { children: [
1388
- /* @__PURE__ */ jsx16(AlertDialogTitle, { children: title }),
1389
- description ? /* @__PURE__ */ jsx16(AlertDialogDescription, { asChild: true, children: /* @__PURE__ */ jsx16("div", { children: description }) }) : null
1441
+ /* @__PURE__ */ jsxs9(AlertDialogHeader, { children: [
1442
+ /* @__PURE__ */ jsx17(AlertDialogTitle, { children: title }),
1443
+ description ? /* @__PURE__ */ jsx17(AlertDialogDescription, { asChild: true, children: /* @__PURE__ */ jsx17("div", { children: description }) }) : null
1390
1444
  ] }),
1391
1445
  content ?? null,
1392
- /* @__PURE__ */ jsxs7(AlertDialogFooter, { children: [
1393
- cancelLabel === null ? null : /* @__PURE__ */ jsx16(AlertDialogCancel, { className: "max-lg:min-h-11", disabled: busy, children: cancelLabel }),
1394
- /* @__PURE__ */ jsxs7(
1446
+ /* @__PURE__ */ jsxs9(AlertDialogFooter, { children: [
1447
+ cancelLabel === null ? null : /* @__PURE__ */ jsx17(AlertDialogCancel, { className: "max-lg:min-h-11", disabled: busy, children: cancelLabel }),
1448
+ /* @__PURE__ */ jsxs9(
1395
1449
  AlertDialogAction,
1396
1450
  {
1397
1451
  disabled: busy || confirmDisabled,
@@ -1407,7 +1461,7 @@ function ConfirmDialog({
1407
1461
  variant === "destructive" && buttonVariants({ variant: "destructive" })
1408
1462
  ),
1409
1463
  children: [
1410
- busy ? /* @__PURE__ */ jsx16(Loader2Icon, { className: cn("mr-2 h-4 w-4", MOTION_SPIN) }) : null,
1464
+ busy ? /* @__PURE__ */ jsx17(Loader2Icon, { className: cn("mr-2 h-4 w-4", MOTION_SPIN) }) : null,
1411
1465
  confirmLabel
1412
1466
  ]
1413
1467
  }
@@ -1421,18 +1475,18 @@ function ConfirmDialog({
1421
1475
  // src/confirm-host.tsx
1422
1476
  import { confirmOpener } from "@ai-matrx/kit/confirm-opener";
1423
1477
  import { useOpenerHost } from "@ai-matrx/kit/opener-react";
1424
- import * as React14 from "react";
1425
- import { jsx as jsx17 } from "react/jsx-runtime";
1478
+ import * as React15 from "react";
1479
+ import { jsx as jsx18 } from "react/jsx-runtime";
1426
1480
  function ConfirmDialogHost() {
1427
1481
  const { request, open, settle } = useOpenerHost(confirmOpener);
1428
- const handleConfirm = React14.useCallback(() => settle(true), [settle]);
1429
- const handleOpenChange = React14.useCallback(
1482
+ const handleConfirm = React15.useCallback(() => settle(true), [settle]);
1483
+ const handleOpenChange = React15.useCallback(
1430
1484
  (next) => {
1431
1485
  if (!next) settle(false);
1432
1486
  },
1433
1487
  [settle]
1434
1488
  );
1435
- return /* @__PURE__ */ jsx17(
1489
+ return /* @__PURE__ */ jsx18(
1436
1490
  ConfirmDialog,
1437
1491
  {
1438
1492
  open,
@@ -1449,8 +1503,8 @@ function ConfirmDialogHost() {
1449
1503
 
1450
1504
  // src/context-menu.tsx
1451
1505
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
1452
- import * as React15 from "react";
1453
- import { jsx as jsx18, jsxs as jsxs8 } from "react/jsx-runtime";
1506
+ import * as React16 from "react";
1507
+ import { jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
1454
1508
  var ContextMenu = ContextMenuPrimitive.Root;
1455
1509
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
1456
1510
  var ContextMenuGroup = ContextMenuPrimitive.Group;
@@ -1460,7 +1514,7 @@ var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
1460
1514
  var SURFACE_CLASS = "z-50 min-w-[8rem] max-h-[var(--radix-context-menu-content-available-height)] overflow-y-auto overflow-x-hidden overscroll-contain rounded-md border bg-popover p-1 text-popover-foreground";
1461
1515
  var ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
1462
1516
  var INDICATOR_ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
1463
- var ContextMenuSubTrigger = React15.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs8(
1517
+ var ContextMenuSubTrigger = React16.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1464
1518
  ContextMenuPrimitive.SubTrigger,
1465
1519
  {
1466
1520
  ref,
@@ -1473,12 +1527,12 @@ var ContextMenuSubTrigger = React15.forwardRef(({ className, inset, children, ..
1473
1527
  ...props,
1474
1528
  children: [
1475
1529
  children,
1476
- /* @__PURE__ */ jsx18(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
1530
+ /* @__PURE__ */ jsx19(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
1477
1531
  ]
1478
1532
  }
1479
1533
  ));
1480
1534
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
1481
- var ContextMenuSubContent = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1535
+ var ContextMenuSubContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1482
1536
  ContextMenuPrimitive.SubContent,
1483
1537
  {
1484
1538
  ref,
@@ -1488,9 +1542,9 @@ var ContextMenuSubContent = React15.forwardRef(({ className, ...props }, ref) =>
1488
1542
  }
1489
1543
  ));
1490
1544
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
1491
- var ContextMenuContent = React15.forwardRef(({ className, container, ...props }, ref) => {
1545
+ var ContextMenuContent = React16.forwardRef(({ className, container, ...props }, ref) => {
1492
1546
  const portalContainer = usePortalContainer(container);
1493
- return /* @__PURE__ */ jsx18(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx18(
1547
+ return /* @__PURE__ */ jsx19(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx19(
1494
1548
  ContextMenuPrimitive.Content,
1495
1549
  {
1496
1550
  ref,
@@ -1501,7 +1555,7 @@ var ContextMenuContent = React15.forwardRef(({ className, container, ...props },
1501
1555
  ) });
1502
1556
  });
1503
1557
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
1504
- var ContextMenuItem = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx18(
1558
+ var ContextMenuItem = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx19(
1505
1559
  ContextMenuPrimitive.Item,
1506
1560
  {
1507
1561
  ref,
@@ -1516,7 +1570,7 @@ var ContextMenuItem = React15.forwardRef(({ className, inset, ...props }, ref) =
1516
1570
  }
1517
1571
  ));
1518
1572
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
1519
- var ContextMenuCheckboxItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs8(
1573
+ var ContextMenuCheckboxItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1520
1574
  ContextMenuPrimitive.CheckboxItem,
1521
1575
  {
1522
1576
  ref,
@@ -1524,13 +1578,13 @@ var ContextMenuCheckboxItem = React15.forwardRef(({ className, children, ...prop
1524
1578
  className: cn(INDICATOR_ITEM_CLASS, className),
1525
1579
  ...props,
1526
1580
  children: [
1527
- /* @__PURE__ */ jsx18("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx18(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx18(CheckIcon, { className: "h-4 w-4" }) }) }),
1581
+ /* @__PURE__ */ jsx19("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(CheckIcon, { className: "h-4 w-4" }) }) }),
1528
1582
  children
1529
1583
  ]
1530
1584
  }
1531
1585
  ));
1532
1586
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
1533
- var ContextMenuRadioItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs8(
1587
+ var ContextMenuRadioItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1534
1588
  ContextMenuPrimitive.RadioItem,
1535
1589
  {
1536
1590
  ref,
@@ -1538,13 +1592,13 @@ var ContextMenuRadioItem = React15.forwardRef(({ className, children, ...props }
1538
1592
  className: cn(INDICATOR_ITEM_CLASS, className),
1539
1593
  ...props,
1540
1594
  children: [
1541
- /* @__PURE__ */ jsx18("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx18(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx18(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
1595
+ /* @__PURE__ */ jsx19("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
1542
1596
  children
1543
1597
  ]
1544
1598
  }
1545
1599
  ));
1546
1600
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
1547
- var ContextMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx18(
1601
+ var ContextMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx19(
1548
1602
  ContextMenuPrimitive.Label,
1549
1603
  {
1550
1604
  ref,
@@ -1558,7 +1612,7 @@ var ContextMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref)
1558
1612
  }
1559
1613
  ));
1560
1614
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
1561
- var ContextMenuSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1615
+ var ContextMenuSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1562
1616
  ContextMenuPrimitive.Separator,
1563
1617
  {
1564
1618
  ref,
@@ -1571,7 +1625,7 @@ ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
1571
1625
  var ContextMenuShortcut = ({
1572
1626
  className,
1573
1627
  ...props
1574
- }) => /* @__PURE__ */ jsx18(
1628
+ }) => /* @__PURE__ */ jsx19(
1575
1629
  "span",
1576
1630
  {
1577
1631
  "data-slot": "context-menu-shortcut",
@@ -1589,12 +1643,12 @@ import {
1589
1643
 
1590
1644
  // src/popover.tsx
1591
1645
  import * as PopoverPrimitive from "@radix-ui/react-popover";
1592
- import * as React16 from "react";
1593
- import { jsx as jsx19 } from "react/jsx-runtime";
1646
+ import * as React17 from "react";
1647
+ import { jsx as jsx20 } from "react/jsx-runtime";
1594
1648
  var Popover = PopoverPrimitive.Root;
1595
1649
  var PopoverTrigger = PopoverPrimitive.Trigger;
1596
1650
  var PopoverAnchor = PopoverPrimitive.Anchor;
1597
- var PopoverContent = React16.forwardRef(
1651
+ var PopoverContent = React17.forwardRef(
1598
1652
  ({
1599
1653
  className,
1600
1654
  align = "center",
@@ -1605,7 +1659,7 @@ var PopoverContent = React16.forwardRef(
1605
1659
  ...props
1606
1660
  }, ref) => {
1607
1661
  const portalContainer = usePortalContainer(container);
1608
- return /* @__PURE__ */ jsx19(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx19(
1662
+ return /* @__PURE__ */ jsx20(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx20(
1609
1663
  PopoverPrimitive.Content,
1610
1664
  {
1611
1665
  ref,
@@ -1631,7 +1685,7 @@ var PopoverContent = React16.forwardRef(
1631
1685
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
1632
1686
 
1633
1687
  // src/creatable-picker.tsx
1634
- import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
1688
+ import { jsx as jsx21, jsxs as jsxs11 } from "react/jsx-runtime";
1635
1689
  function article(noun) {
1636
1690
  return /^[aeiou]/i.test(noun.trim()) ? `an ${noun}` : `a ${noun}`;
1637
1691
  }
@@ -1706,8 +1760,8 @@ function CreatablePicker({
1706
1760
  setBusy(false);
1707
1761
  }
1708
1762
  };
1709
- return /* @__PURE__ */ jsxs9(Popover, { open, onOpenChange: (next) => next ? setOpen(true) : close(), children: [
1710
- /* @__PURE__ */ jsx20(PopoverTrigger, { asChild: true, disabled, children: /* @__PURE__ */ jsxs9(
1763
+ return /* @__PURE__ */ jsxs11(Popover, { open, onOpenChange: (next) => next ? setOpen(true) : close(), children: [
1764
+ /* @__PURE__ */ jsx21(PopoverTrigger, { asChild: true, disabled, children: /* @__PURE__ */ jsxs11(
1711
1765
  "button",
1712
1766
  {
1713
1767
  type: "button",
@@ -1721,12 +1775,12 @@ function CreatablePicker({
1721
1775
  triggerClassName
1722
1776
  ),
1723
1777
  children: [
1724
- /* @__PURE__ */ jsx20("span", { className: "min-w-0 flex-1 truncate", children: selected ? renderSelected ?? selected.render ?? selected.label : /* @__PURE__ */ jsx20("span", { className: "text-muted-foreground", children: loading ? "Loading\u2026" : placeholder }) }),
1725
- /* @__PURE__ */ jsx20(ChevronsUpDownIcon, { className: "size-3.5 shrink-0 opacity-50" })
1778
+ /* @__PURE__ */ jsx21("span", { className: "min-w-0 flex-1 truncate", children: selected ? renderSelected ?? selected.render ?? selected.label : /* @__PURE__ */ jsx21("span", { className: "text-muted-foreground", children: loading ? "Loading\u2026" : placeholder }) }),
1779
+ /* @__PURE__ */ jsx21(ChevronsUpDownIcon, { className: "size-3.5 shrink-0 opacity-50" })
1726
1780
  ]
1727
1781
  }
1728
1782
  ) }),
1729
- /* @__PURE__ */ jsx20(PopoverContent, { sizing: "content", align: "start", className: "p-0", children: /* @__PURE__ */ jsxs9(
1783
+ /* @__PURE__ */ jsx21(PopoverContent, { sizing: "content", align: "start", className: "p-0", children: /* @__PURE__ */ jsxs11(
1730
1784
  Command,
1731
1785
  {
1732
1786
  filter: (itemValue, search, keywords) => {
@@ -1734,7 +1788,7 @@ function CreatablePicker({
1734
1788
  return haystack.includes(search.toLowerCase()) ? 1 : 0;
1735
1789
  },
1736
1790
  children: [
1737
- /* @__PURE__ */ jsx20(
1791
+ /* @__PURE__ */ jsx21(
1738
1792
  CommandInput,
1739
1793
  {
1740
1794
  ref: inputRef,
@@ -1746,13 +1800,13 @@ function CreatablePicker({
1746
1800
  placeholder: searchPlaceholder ?? `Search or add ${article(noun)}\u2026`
1747
1801
  }
1748
1802
  ),
1749
- /* @__PURE__ */ jsxs9(CommandList, { children: [
1750
- /* @__PURE__ */ jsx20(CommandEmpty, { children: emptyLabel }),
1751
- groups.map((group) => /* @__PURE__ */ jsx20(
1803
+ /* @__PURE__ */ jsxs11(CommandList, { children: [
1804
+ /* @__PURE__ */ jsx21(CommandEmpty, { children: emptyLabel }),
1805
+ groups.map((group) => /* @__PURE__ */ jsx21(
1752
1806
  CommandGroup,
1753
1807
  {
1754
1808
  ...group.heading === void 0 ? {} : { heading: group.heading },
1755
- children: group.options.map((option) => /* @__PURE__ */ jsxs9(
1809
+ children: group.options.map((option) => /* @__PURE__ */ jsxs11(
1756
1810
  CommandItem,
1757
1811
  {
1758
1812
  value: option.label,
@@ -1763,7 +1817,7 @@ function CreatablePicker({
1763
1817
  },
1764
1818
  className: "gap-2 text-xs",
1765
1819
  children: [
1766
- /* @__PURE__ */ jsx20(
1820
+ /* @__PURE__ */ jsx21(
1767
1821
  LucideCheckIcon,
1768
1822
  {
1769
1823
  className: cn(
@@ -1772,8 +1826,8 @@ function CreatablePicker({
1772
1826
  )
1773
1827
  }
1774
1828
  ),
1775
- /* @__PURE__ */ jsx20("span", { className: "min-w-0 flex-1 truncate", children: option.render ?? option.label }),
1776
- option.hint ? /* @__PURE__ */ jsx20("span", { className: "shrink-0 text-[10px] text-muted-foreground", children: option.hint }) : null
1829
+ /* @__PURE__ */ jsx21("span", { className: "min-w-0 flex-1 truncate", children: option.render ?? option.label }),
1830
+ option.hint ? /* @__PURE__ */ jsx21("span", { className: "shrink-0 text-[10px] text-muted-foreground", children: option.hint }) : null
1777
1831
  ]
1778
1832
  },
1779
1833
  option.value
@@ -1782,9 +1836,9 @@ function CreatablePicker({
1782
1836
  group.heading ?? "__ungrouped__"
1783
1837
  ))
1784
1838
  ] }),
1785
- canCreate ? /* @__PURE__ */ jsxs9("div", { className: "space-y-1 border-t border-border p-1", children: [
1786
- createExtra && typed && !exactMatch ? /* @__PURE__ */ jsx20("div", { className: "px-1 pt-0.5", children: typeof createExtra === "function" ? createExtra(typed) : createExtra }) : null,
1787
- /* @__PURE__ */ jsxs9(
1839
+ canCreate ? /* @__PURE__ */ jsxs11("div", { className: "space-y-1 border-t border-border p-1", children: [
1840
+ createExtra && typed && !exactMatch ? /* @__PURE__ */ jsx21("div", { className: "px-1 pt-0.5", children: typeof createExtra === "function" ? createExtra(typed) : createExtra }) : null,
1841
+ /* @__PURE__ */ jsxs11(
1788
1842
  "button",
1789
1843
  {
1790
1844
  type: "button",
@@ -1792,22 +1846,22 @@ function CreatablePicker({
1792
1846
  onClick: () => void create(typed),
1793
1847
  className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:opacity-50",
1794
1848
  children: [
1795
- busy ? /* @__PURE__ */ jsx20(Loader2Icon, { className: "size-3.5 shrink-0 matrx-spin" }) : /* @__PURE__ */ jsx20(PlusIcon, { className: "size-3.5 shrink-0" }),
1796
- /* @__PURE__ */ jsx20("span", { className: "min-w-0 truncate", children: typed && !exactMatch ? `Create \u201C${typed}\u201D` : `Add ${article(noun)}\u2026` })
1849
+ busy ? /* @__PURE__ */ jsx21(Loader2Icon, { className: "size-3.5 shrink-0 matrx-spin" }) : /* @__PURE__ */ jsx21(PlusIcon, { className: "size-3.5 shrink-0" }),
1850
+ /* @__PURE__ */ jsx21("span", { className: "min-w-0 truncate", children: typed && !exactMatch ? `Create \u201C${typed}\u201D` : `Add ${article(noun)}\u2026` })
1797
1851
  ]
1798
1852
  }
1799
1853
  ),
1800
- needsName ? /* @__PURE__ */ jsxs9("p", { className: "px-2 pb-0.5 text-[11px] leading-snug text-muted-foreground", children: [
1854
+ needsName ? /* @__PURE__ */ jsxs11("p", { className: "px-2 pb-0.5 text-[11px] leading-snug text-muted-foreground", children: [
1801
1855
  "Type the name of the ",
1802
1856
  noun,
1803
1857
  " you want to add \u2014 then this creates it."
1804
1858
  ] }) : null
1805
1859
  ] }) : null,
1806
- footerActions?.length || manageAction ? /* @__PURE__ */ jsxs9("div", { className: "space-y-0.5 border-t border-border p-1", children: [
1860
+ footerActions?.length || manageAction ? /* @__PURE__ */ jsxs11("div", { className: "space-y-0.5 border-t border-border p-1", children: [
1807
1861
  footerActions?.map((action) => {
1808
1862
  const Icon2 = action.icon;
1809
- return /* @__PURE__ */ jsxs9("div", { children: [
1810
- /* @__PURE__ */ jsxs9(
1863
+ return /* @__PURE__ */ jsxs11("div", { children: [
1864
+ /* @__PURE__ */ jsxs11(
1811
1865
  "button",
1812
1866
  {
1813
1867
  type: "button",
@@ -1817,15 +1871,15 @@ function CreatablePicker({
1817
1871
  },
1818
1872
  className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
1819
1873
  children: [
1820
- Icon2 ? /* @__PURE__ */ jsx20(Icon2, { className: "size-3.5 shrink-0" }) : null,
1821
- /* @__PURE__ */ jsx20("span", { className: "min-w-0 truncate", children: action.label })
1874
+ Icon2 ? /* @__PURE__ */ jsx21(Icon2, { className: "size-3.5 shrink-0" }) : null,
1875
+ /* @__PURE__ */ jsx21("span", { className: "min-w-0 truncate", children: action.label })
1822
1876
  ]
1823
1877
  }
1824
1878
  ),
1825
- action.note ? /* @__PURE__ */ jsx20("p", { className: "px-2 pb-1 text-[10px] leading-snug text-muted-foreground", children: action.note }) : null
1879
+ action.note ? /* @__PURE__ */ jsx21("p", { className: "px-2 pb-1 text-[10px] leading-snug text-muted-foreground", children: action.note }) : null
1826
1880
  ] }, action.label);
1827
1881
  }),
1828
- manageAction ? /* @__PURE__ */ jsxs9(
1882
+ manageAction ? /* @__PURE__ */ jsxs11(
1829
1883
  "a",
1830
1884
  {
1831
1885
  href: manageAction.href,
@@ -1834,18 +1888,18 @@ function CreatablePicker({
1834
1888
  onClick: close,
1835
1889
  className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
1836
1890
  children: [
1837
- /* @__PURE__ */ jsx20(ExternalLinkIcon, { className: "size-3.5 shrink-0" }),
1838
- /* @__PURE__ */ jsx20("span", { className: "min-w-0 truncate", children: manageAction.label })
1891
+ /* @__PURE__ */ jsx21(ExternalLinkIcon, { className: "size-3.5 shrink-0" }),
1892
+ /* @__PURE__ */ jsx21("span", { className: "min-w-0 truncate", children: manageAction.label })
1839
1893
  ]
1840
1894
  }
1841
1895
  ) : null
1842
1896
  ] }) : null,
1843
- lockedNote ? /* @__PURE__ */ jsxs9("div", { className: "space-y-1 border-t border-border p-2", children: [
1844
- /* @__PURE__ */ jsxs9("p", { className: "flex gap-1.5 text-[11px] leading-snug text-muted-foreground", children: [
1845
- /* @__PURE__ */ jsx20(LockIcon, { className: "mt-px size-3 shrink-0" }),
1846
- /* @__PURE__ */ jsx20("span", { children: lockedNote })
1897
+ lockedNote ? /* @__PURE__ */ jsxs11("div", { className: "space-y-1 border-t border-border p-2", children: [
1898
+ /* @__PURE__ */ jsxs11("p", { className: "flex gap-1.5 text-[11px] leading-snug text-muted-foreground", children: [
1899
+ /* @__PURE__ */ jsx21(LockIcon, { className: "mt-px size-3 shrink-0" }),
1900
+ /* @__PURE__ */ jsx21("span", { children: lockedNote })
1847
1901
  ] }),
1848
- lockedAction ? /* @__PURE__ */ jsxs9(
1902
+ lockedAction ? /* @__PURE__ */ jsxs11(
1849
1903
  "button",
1850
1904
  {
1851
1905
  type: "button",
@@ -1855,8 +1909,8 @@ function CreatablePicker({
1855
1909
  },
1856
1910
  className: "flex w-full items-center gap-2 rounded-sm px-1 py-1 text-left text-xs font-medium text-primary transition-colors hover:bg-accent",
1857
1911
  children: [
1858
- /* @__PURE__ */ jsx20(PlusIcon, { className: "size-3.5 shrink-0" }),
1859
- /* @__PURE__ */ jsx20("span", { className: "min-w-0 truncate", children: lockedAction.label })
1912
+ /* @__PURE__ */ jsx21(PlusIcon, { className: "size-3.5 shrink-0" }),
1913
+ /* @__PURE__ */ jsx21("span", { className: "min-w-0 truncate", children: lockedAction.label })
1860
1914
  ]
1861
1915
  }
1862
1916
  ) : null
@@ -1871,16 +1925,16 @@ function CreatablePicker({
1871
1925
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
1872
1926
  import * as VisuallyHidden2 from "@radix-ui/react-visually-hidden";
1873
1927
  import { treeContainsComponent as treeContainsComponent3 } from "@ai-matrx/kit/react-tree";
1874
- import * as React17 from "react";
1875
- import { jsx as jsx21, jsxs as jsxs10 } from "react/jsx-runtime";
1876
- var DialogWindowedByDefaultContext = React17.createContext(false);
1928
+ import * as React18 from "react";
1929
+ import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
1930
+ var DialogWindowedByDefaultContext = React18.createContext(false);
1877
1931
  var Dialog = ({
1878
1932
  children,
1879
1933
  ...props
1880
1934
  }) => {
1881
1935
  const isMobile = useIsMobile();
1882
1936
  const modal = props.modal ?? isMobile;
1883
- return /* @__PURE__ */ jsx21(DialogWindowedByDefaultContext.Provider, { value: props.modal === void 0, children: /* @__PURE__ */ jsx21(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx21(DialogPrimitive2.Root, { ...props, modal, children }) }) });
1937
+ return /* @__PURE__ */ jsx22(DialogWindowedByDefaultContext.Provider, { value: props.modal === void 0, children: /* @__PURE__ */ jsx22(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx22(DialogPrimitive2.Root, { ...props, modal, children }) }) });
1884
1938
  };
1885
1939
  Dialog.displayName = "Dialog";
1886
1940
  var DialogTrigger = DialogPrimitive2.Trigger;
@@ -1890,14 +1944,14 @@ var DialogPortal = ({
1890
1944
  ...props
1891
1945
  }) => {
1892
1946
  const resolved = usePortalContainer(container);
1893
- return /* @__PURE__ */ jsx21(DialogPrimitive2.Portal, { container: resolved ?? null, ...props });
1947
+ return /* @__PURE__ */ jsx22(DialogPrimitive2.Portal, { container: resolved ?? null, ...props });
1894
1948
  };
1895
1949
  DialogPortal.displayName = "DialogPortal";
1896
1950
  var CONTEXT_SLOT3 = /* @__PURE__ */ Symbol.for("ai-matrx.design-system.dialog-container-context");
1897
1951
  var contextRegistry3 = globalThis;
1898
- var DialogContainerContext = contextRegistry3[CONTEXT_SLOT3] ??= React17.createContext(null);
1899
- var useDialogContainer = () => React17.useContext(DialogContainerContext);
1900
- var DialogOverlay = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
1952
+ var DialogContainerContext = contextRegistry3[CONTEXT_SLOT3] ??= React18.createContext(null);
1953
+ var useDialogContainer = () => React18.useContext(DialogContainerContext);
1954
+ var DialogOverlay = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1901
1955
  DialogPrimitive2.Overlay,
1902
1956
  {
1903
1957
  ref,
@@ -1913,9 +1967,9 @@ var DialogOverlay = React17.forwardRef(({ className, ...props }, ref) => /* @__P
1913
1967
  }
1914
1968
  ));
1915
1969
  DialogOverlay.displayName = DialogPrimitive2.Overlay.displayName;
1916
- var DialogContentPrimitive = React17.forwardRef((props, ref) => {
1970
+ var DialogContentPrimitive = React18.forwardRef((props, ref) => {
1917
1971
  const isModal = useRadixDialogModal();
1918
- return /* @__PURE__ */ jsx21(
1972
+ return /* @__PURE__ */ jsx22(
1919
1973
  DialogPrimitive2.Content,
1920
1974
  {
1921
1975
  ...props,
@@ -1928,12 +1982,12 @@ DialogContentPrimitive.displayName = "DialogContentPrimitive";
1928
1982
  var DIALOG_DESKTOP_CLASSES2 = "matrx-dialog-card fixed inset-0 z-[10000] m-auto grid h-fit min-w-0 w-full max-w-lg gap-4 max-h-[85dvh] overflow-y-auto overscroll-contain [--dialog-pad:1.5rem] overflow-x-clip border bg-background p-6 shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full sm:rounded-lg";
1929
1983
  var DIALOG_MOBILE_SHEET_CLASSES2 = "matrx-mobile-sheet matrx-dialog-card fixed inset-x-0 bottom-0 left-0 right-0 top-auto z-[10000] flex min-w-0 flex-col w-full max-w-full max-h-[90dvh] gap-4 [--dialog-pad:1rem] overflow-x-clip border-t bg-background p-4 pb-safe shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full rounded-t-2xl rounded-b-none overflow-y-auto overscroll-contain";
1930
1984
  var DIALOG_MOBILE_SHEET_OVERRIDE2 = "inset-x-0 bottom-0 left-0 right-0 top-auto translate-none w-full max-w-full max-h-[90dvh] rounded-b-none rounded-t-2xl overflow-y-auto";
1931
- var DialogWindowHandleContext = React17.createContext(null);
1985
+ var DialogWindowHandleContext = React18.createContext(null);
1932
1986
  var WINDOW_KEEP_VISIBLE = 80;
1933
1987
  function isInteractiveTarget(target) {
1934
1988
  return target instanceof Element && Boolean(target.closest("button, a, input, textarea, select, [role='button'], [contenteditable='true']"));
1935
1989
  }
1936
- var DialogContent = React17.forwardRef(
1990
+ var DialogContent = React18.forwardRef(
1937
1991
  ({
1938
1992
  className,
1939
1993
  children,
@@ -1952,13 +2006,13 @@ var DialogContent = React17.forwardRef(
1952
2006
  const injectedContainer = usePortalContainer(container);
1953
2007
  const asSheet = mobileSheet && isMobile;
1954
2008
  const windowed = !isModal && !asSheet;
1955
- const windowedByDefault = React17.useContext(DialogWindowedByDefaultContext);
1956
- const [containerEl, setContainerEl] = React17.useState(
2009
+ const windowedByDefault = React18.useContext(DialogWindowedByDefaultContext);
2010
+ const [containerEl, setContainerEl] = React18.useState(
1957
2011
  null
1958
2012
  );
1959
- const [offset, setOffset] = React17.useState({ x: 0, y: 0 });
1960
- const dragRef = React17.useRef(null);
1961
- const handle = React17.useMemo(() => {
2013
+ const [offset, setOffset] = React18.useState({ x: 0, y: 0 });
2014
+ const dragRef = React18.useRef(null);
2015
+ const handle = React18.useMemo(() => {
1962
2016
  if (!windowed) return null;
1963
2017
  const clamp = (value, limit) => Math.max(-limit, Math.min(limit, value));
1964
2018
  return {
@@ -1986,7 +2040,7 @@ var DialogContent = React17.forwardRef(
1986
2040
  onDoubleClick: () => setOffset({ x: 0, y: 0 })
1987
2041
  };
1988
2042
  }, [windowed, offset.x, offset.y]);
1989
- const mergedRef = React17.useCallback(
2043
+ const mergedRef = React18.useCallback(
1990
2044
  (node) => {
1991
2045
  setContainerEl(node);
1992
2046
  if (typeof ref === "function") ref(node);
@@ -1997,9 +2051,9 @@ var DialogContent = React17.forwardRef(
1997
2051
  );
1998
2052
  const hasTitle = treeContainsComponent3(children, DialogTitle) || treeContainsComponent3(children, DialogPrimitive2.Title);
1999
2053
  const hasDescription = treeContainsComponent3(children, DialogDescription) || treeContainsComponent3(children, DialogPrimitive2.Description);
2000
- return /* @__PURE__ */ jsxs10(DialogPortal, { container, children: [
2001
- isModal ? /* @__PURE__ */ jsx21(DialogOverlay, {}) : null,
2002
- /* @__PURE__ */ jsxs10(
2054
+ return /* @__PURE__ */ jsxs12(DialogPortal, { container, children: [
2055
+ isModal ? /* @__PURE__ */ jsx22(DialogOverlay, {}) : null,
2056
+ /* @__PURE__ */ jsxs12(
2003
2057
  DialogContentPrimitive,
2004
2058
  {
2005
2059
  ref: mergedRef,
@@ -2032,23 +2086,23 @@ var DialogContent = React17.forwardRef(
2032
2086
  ...hasDescription ? {} : { "aria-describedby": void 0 },
2033
2087
  ...props,
2034
2088
  children: [
2035
- hasTitle ? null : /* @__PURE__ */ jsx21(VisuallyHidden2.Root, { children: /* @__PURE__ */ jsx21(DialogPrimitive2.Title, { children: "Dialog" }) }),
2036
- /* @__PURE__ */ jsx21(DialogContainerContext.Provider, { value: containerEl, children: /* @__PURE__ */ jsx21(DialogWindowHandleContext.Provider, { value: handle, children: /* @__PURE__ */ jsx21(
2089
+ hasTitle ? null : /* @__PURE__ */ jsx22(VisuallyHidden2.Root, { children: /* @__PURE__ */ jsx22(DialogPrimitive2.Title, { children: "Dialog" }) }),
2090
+ /* @__PURE__ */ jsx22(DialogContainerContext.Provider, { value: containerEl, children: /* @__PURE__ */ jsx22(DialogWindowHandleContext.Provider, { value: handle, children: /* @__PURE__ */ jsx22(
2037
2091
  PortalContainerProvider,
2038
2092
  {
2039
2093
  container: containerEl ?? injectedContainer ?? null,
2040
2094
  children
2041
2095
  }
2042
2096
  ) }) }),
2043
- showCloseButton ? /* @__PURE__ */ jsxs10(
2097
+ showCloseButton ? /* @__PURE__ */ jsxs12(
2044
2098
  DialogPrimitive2.Close,
2045
2099
  {
2046
2100
  "data-slot": "dialog-close",
2047
2101
  "aria-label": "Close",
2048
2102
  className: "absolute right-2 top-4 flex h-11 w-11 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground sm:right-4 lg:h-10 lg:w-10",
2049
2103
  children: [
2050
- /* @__PURE__ */ jsx21(XIcon, { className: "h-4 w-4" }),
2051
- /* @__PURE__ */ jsx21("span", { className: "sr-only", children: "Close" })
2104
+ /* @__PURE__ */ jsx22(XIcon, { className: "h-4 w-4" }),
2105
+ /* @__PURE__ */ jsx22("span", { className: "sr-only", children: "Close" })
2052
2106
  ]
2053
2107
  }
2054
2108
  ) : null
@@ -2063,8 +2117,8 @@ var DialogHeader = ({
2063
2117
  className,
2064
2118
  ...props
2065
2119
  }) => {
2066
- const handle = React17.useContext(DialogWindowHandleContext);
2067
- return /* @__PURE__ */ jsx21(
2120
+ const handle = React18.useContext(DialogWindowHandleContext);
2121
+ return /* @__PURE__ */ jsx22(
2068
2122
  "div",
2069
2123
  {
2070
2124
  "data-slot": "dialog-header",
@@ -2088,7 +2142,7 @@ DialogHeader.displayName = "DialogHeader";
2088
2142
  var DialogFooter = ({
2089
2143
  className,
2090
2144
  ...props
2091
- }) => /* @__PURE__ */ jsx21(
2145
+ }) => /* @__PURE__ */ jsx22(
2092
2146
  "div",
2093
2147
  {
2094
2148
  "data-slot": "dialog-footer",
@@ -2120,7 +2174,7 @@ var DialogFooter = ({
2120
2174
  }
2121
2175
  );
2122
2176
  DialogFooter.displayName = "DialogFooter";
2123
- var DialogTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
2177
+ var DialogTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
2124
2178
  DialogPrimitive2.Title,
2125
2179
  {
2126
2180
  ref,
@@ -2130,7 +2184,7 @@ var DialogTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PUR
2130
2184
  }
2131
2185
  ));
2132
2186
  DialogTitle.displayName = DialogPrimitive2.Title.displayName;
2133
- var DialogDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
2187
+ var DialogDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
2134
2188
  DialogPrimitive2.Description,
2135
2189
  {
2136
2190
  ref,
@@ -2143,8 +2197,8 @@ DialogDescription.displayName = DialogPrimitive2.Description.displayName;
2143
2197
 
2144
2198
  // src/dropdown-menu.tsx
2145
2199
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
2146
- import * as React18 from "react";
2147
- import { jsx as jsx22, jsxs as jsxs11 } from "react/jsx-runtime";
2200
+ import * as React19 from "react";
2201
+ import { jsx as jsx23, jsxs as jsxs13 } from "react/jsx-runtime";
2148
2202
  var DropdownMenu = DropdownMenuPrimitive.Root;
2149
2203
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
2150
2204
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
@@ -2154,7 +2208,7 @@ var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
2154
2208
  var MENU_SURFACE_CLASS = "z-[10001] min-w-[8rem] max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto overflow-x-hidden overscroll-contain rounded-md border bg-popover p-1 text-popover-foreground";
2155
2209
  var MENU_ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
2156
2210
  var MENU_INDICATOR_ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
2157
- var DropdownMenuSubTrigger = React18.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs11(
2211
+ var DropdownMenuSubTrigger = React19.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs13(
2158
2212
  DropdownMenuPrimitive.SubTrigger,
2159
2213
  {
2160
2214
  ref,
@@ -2167,12 +2221,12 @@ var DropdownMenuSubTrigger = React18.forwardRef(({ className, inset, children, .
2167
2221
  ...props,
2168
2222
  children: [
2169
2223
  children,
2170
- /* @__PURE__ */ jsx22(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
2224
+ /* @__PURE__ */ jsx23(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
2171
2225
  ]
2172
2226
  }
2173
2227
  ));
2174
2228
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
2175
- var DropdownMenuSubContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
2229
+ var DropdownMenuSubContent = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
2176
2230
  DropdownMenuPrimitive.SubContent,
2177
2231
  {
2178
2232
  ref,
@@ -2182,9 +2236,9 @@ var DropdownMenuSubContent = React18.forwardRef(({ className, ...props }, ref) =
2182
2236
  }
2183
2237
  ));
2184
2238
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
2185
- var DropdownMenuContent = React18.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
2239
+ var DropdownMenuContent = React19.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
2186
2240
  const portalContainer = usePortalContainer(container);
2187
- return /* @__PURE__ */ jsx22(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx22(
2241
+ return /* @__PURE__ */ jsx23(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx23(
2188
2242
  DropdownMenuPrimitive.Content,
2189
2243
  {
2190
2244
  ref,
@@ -2201,7 +2255,7 @@ var DropdownMenuContent = React18.forwardRef(({ className, sideOffset = 4, conta
2201
2255
  ) });
2202
2256
  });
2203
2257
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
2204
- var DropdownMenuItem = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx22(
2258
+ var DropdownMenuItem = React19.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx23(
2205
2259
  DropdownMenuPrimitive.Item,
2206
2260
  {
2207
2261
  ref,
@@ -2211,7 +2265,7 @@ var DropdownMenuItem = React18.forwardRef(({ className, inset, ...props }, ref)
2211
2265
  }
2212
2266
  ));
2213
2267
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
2214
- var DropdownMenuCheckboxItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs11(
2268
+ var DropdownMenuCheckboxItem = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs13(
2215
2269
  DropdownMenuPrimitive.CheckboxItem,
2216
2270
  {
2217
2271
  ref,
@@ -2219,13 +2273,13 @@ var DropdownMenuCheckboxItem = React18.forwardRef(({ className, children, ...pro
2219
2273
  className: cn(MENU_INDICATOR_ITEM_CLASS, className),
2220
2274
  ...props,
2221
2275
  children: [
2222
- /* @__PURE__ */ jsx22("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx22(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx22(CheckIcon, { className: "h-4 w-4" }) }) }),
2276
+ /* @__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(CheckIcon, { className: "h-4 w-4" }) }) }),
2223
2277
  children
2224
2278
  ]
2225
2279
  }
2226
2280
  ));
2227
2281
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
2228
- var DropdownMenuRadioItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs11(
2282
+ var DropdownMenuRadioItem = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs13(
2229
2283
  DropdownMenuPrimitive.RadioItem,
2230
2284
  {
2231
2285
  ref,
@@ -2233,13 +2287,13 @@ var DropdownMenuRadioItem = React18.forwardRef(({ className, children, ...props
2233
2287
  className: cn(MENU_INDICATOR_ITEM_CLASS, className),
2234
2288
  ...props,
2235
2289
  children: [
2236
- /* @__PURE__ */ jsx22("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx22(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx22(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
2290
+ /* @__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(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
2237
2291
  children
2238
2292
  ]
2239
2293
  }
2240
2294
  ));
2241
2295
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
2242
- var DropdownMenuLabel = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx22(
2296
+ var DropdownMenuLabel = React19.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx23(
2243
2297
  DropdownMenuPrimitive.Label,
2244
2298
  {
2245
2299
  ref,
@@ -2249,7 +2303,7 @@ var DropdownMenuLabel = React18.forwardRef(({ className, inset, ...props }, ref)
2249
2303
  }
2250
2304
  ));
2251
2305
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
2252
- var DropdownMenuSeparator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
2306
+ var DropdownMenuSeparator = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
2253
2307
  DropdownMenuPrimitive.Separator,
2254
2308
  {
2255
2309
  ref,
@@ -2262,7 +2316,7 @@ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
2262
2316
  var DropdownMenuShortcut = ({
2263
2317
  className,
2264
2318
  ...props
2265
- }) => /* @__PURE__ */ jsx22(
2319
+ }) => /* @__PURE__ */ jsx23(
2266
2320
  "span",
2267
2321
  {
2268
2322
  "data-slot": "dropdown-menu-shortcut",
@@ -2274,7 +2328,7 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
2274
2328
 
2275
2329
  // src/editable-label.tsx
2276
2330
  import { useCallback as useCallback3, useEffect as useEffect2, useRef as useRef3, useState as useState4 } from "react";
2277
- import { jsx as jsx23, jsxs as jsxs12 } from "react/jsx-runtime";
2331
+ import { jsx as jsx24, jsxs as jsxs14 } from "react/jsx-runtime";
2278
2332
  function EditableLabel({
2279
2333
  value,
2280
2334
  onCommit,
@@ -2381,8 +2435,8 @@ function EditableLabel({
2381
2435
  setEditing
2382
2436
  ]);
2383
2437
  if (editing) {
2384
- return /* @__PURE__ */ jsxs12("span", { className: cn("relative flex min-w-0 flex-1 items-center", className), children: [
2385
- /* @__PURE__ */ jsx23(
2438
+ return /* @__PURE__ */ jsxs14("span", { className: cn("relative flex min-w-0 flex-1 items-center", className), children: [
2439
+ /* @__PURE__ */ jsx24(
2386
2440
  "input",
2387
2441
  {
2388
2442
  ref: inputRef,
@@ -2422,12 +2476,12 @@ function EditableLabel({
2422
2476
  )
2423
2477
  }
2424
2478
  ),
2425
- busy && /* @__PURE__ */ jsx23(Loader2Icon, { className: "absolute right-1 h-3.5 w-3.5 matrx-spin text-muted-foreground" }),
2426
- error && /* @__PURE__ */ jsx23("span", { className: "absolute left-0 top-full mt-0.5 whitespace-nowrap text-xs text-destructive", children: error })
2479
+ busy && /* @__PURE__ */ jsx24(Loader2Icon, { className: "absolute right-1 h-3.5 w-3.5 matrx-spin text-muted-foreground" }),
2480
+ error && /* @__PURE__ */ jsx24("span", { className: "absolute left-0 top-full mt-0.5 whitespace-nowrap text-xs text-destructive", children: error })
2427
2481
  ] });
2428
2482
  }
2429
2483
  if (controlled) return null;
2430
- return /* @__PURE__ */ jsx23(
2484
+ return /* @__PURE__ */ jsx24(
2431
2485
  "button",
2432
2486
  {
2433
2487
  type: "button",
@@ -2461,8 +2515,8 @@ function EditableLabel({
2461
2515
  }
2462
2516
 
2463
2517
  // src/input.tsx
2464
- import * as React19 from "react";
2465
- import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
2518
+ import * as React20 from "react";
2519
+ import { jsx as jsx25, jsxs as jsxs15 } from "react/jsx-runtime";
2466
2520
  var getVariantStyles = (variant = "default") => {
2467
2521
  const baseStyles = `flex h-10 w-full border border-border bg-background text-foreground shadow-input rounded-md px-3 py-2 text-sm file:border-0 file:bg-transparent
2468
2522
  file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground
@@ -2490,9 +2544,9 @@ var getVariantStyles = (variant = "default") => {
2490
2544
  return baseStyles;
2491
2545
  }
2492
2546
  };
2493
- var Input = React19.forwardRef(
2547
+ var Input = React20.forwardRef(
2494
2548
  ({ className, type, variant = "default", ...props }, ref) => {
2495
- return /* @__PURE__ */ jsx24(
2549
+ return /* @__PURE__ */ jsx25(
2496
2550
  "input",
2497
2551
  {
2498
2552
  type,
@@ -2504,7 +2558,7 @@ var Input = React19.forwardRef(
2504
2558
  }
2505
2559
  );
2506
2560
  Input.displayName = "Input";
2507
- var EnterInput = React19.forwardRef(
2561
+ var EnterInput = React20.forwardRef(
2508
2562
  ({ onEnter, ...props }, ref) => {
2509
2563
  const handleKeyDown = (e) => {
2510
2564
  if (e.key === "Enter" && onEnter) {
@@ -2512,7 +2566,7 @@ var EnterInput = React19.forwardRef(
2512
2566
  onEnter();
2513
2567
  }
2514
2568
  };
2515
- return /* @__PURE__ */ jsx24(
2569
+ return /* @__PURE__ */ jsx25(
2516
2570
  Input,
2517
2571
  {
2518
2572
  ...props,
@@ -2528,11 +2582,11 @@ var EnterInput = React19.forwardRef(
2528
2582
  }
2529
2583
  );
2530
2584
  EnterInput.displayName = "EnterInput";
2531
- var BasicInput = React19.forwardRef(
2585
+ var BasicInput = React20.forwardRef(
2532
2586
  // `variant` is accepted (prop-compatible with Input) but intentionally
2533
2587
  // unused — and destructured so it never leaks onto the DOM element.
2534
2588
  ({ className, type, variant: _variant = "default", ...props }, ref) => {
2535
- return /* @__PURE__ */ jsx24(
2589
+ return /* @__PURE__ */ jsx25(
2536
2590
  "input",
2537
2591
  {
2538
2592
  type,
@@ -2547,10 +2601,10 @@ var BasicInput = React19.forwardRef(
2547
2601
  }
2548
2602
  );
2549
2603
  BasicInput.displayName = "BasicInput";
2550
- var InputWithPrefix = React19.forwardRef(({ prefix, className, wrapperClassName, ...props }, ref) => {
2551
- return /* @__PURE__ */ jsxs13("div", { className: cn("relative", wrapperClassName), children: [
2552
- prefix && /* @__PURE__ */ jsx24("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: prefix }),
2553
- /* @__PURE__ */ jsx24(
2604
+ var InputWithPrefix = React20.forwardRef(({ prefix, className, wrapperClassName, ...props }, ref) => {
2605
+ return /* @__PURE__ */ jsxs15("div", { className: cn("relative", wrapperClassName), children: [
2606
+ prefix && /* @__PURE__ */ jsx25("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: prefix }),
2607
+ /* @__PURE__ */ jsx25(
2554
2608
  Input,
2555
2609
  {
2556
2610
  ref,
@@ -2564,9 +2618,9 @@ InputWithPrefix.displayName = "InputWithPrefix";
2564
2618
 
2565
2619
  // src/label.tsx
2566
2620
  import * as LabelPrimitive from "@radix-ui/react-label";
2567
- import * as React20 from "react";
2568
- import { jsx as jsx25 } from "react/jsx-runtime";
2569
- var Label3 = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
2621
+ import * as React21 from "react";
2622
+ import { jsx as jsx26 } from "react/jsx-runtime";
2623
+ var Label3 = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
2570
2624
  LabelPrimitive.Root,
2571
2625
  {
2572
2626
  ref,
@@ -2581,7 +2635,7 @@ Label3.displayName = LabelPrimitive.Root.displayName;
2581
2635
 
2582
2636
  // src/overflow-toolbar.tsx
2583
2637
  import { useLayoutEffect, useMemo as useMemo2, useRef as useRef4, useState as useState5 } from "react";
2584
- import { Fragment, jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
2638
+ import { Fragment as Fragment2, jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
2585
2639
  var GAP_PX = 6;
2586
2640
  var TONE = {
2587
2641
  default: "border border-border bg-background hover:bg-accent text-foreground",
@@ -2603,16 +2657,16 @@ function ToolbarButton({
2603
2657
  action.hideLabel && !action.running ? "w-7 justify-center px-0" : "px-2",
2604
2658
  TONE[tone]
2605
2659
  );
2606
- const inner = /* @__PURE__ */ jsxs14(Fragment, { children: [
2607
- /* @__PURE__ */ jsx26(
2660
+ const inner = /* @__PURE__ */ jsxs16(Fragment2, { children: [
2661
+ /* @__PURE__ */ jsx27(
2608
2662
  Icon2,
2609
2663
  {
2610
2664
  className: cn("w-3.5 h-3.5 shrink-0", action.running && "matrx-spin")
2611
2665
  }
2612
2666
  ),
2613
- showLabel && /* @__PURE__ */ jsx26("span", { children: text })
2667
+ showLabel && /* @__PURE__ */ jsx27("span", { children: text })
2614
2668
  ] });
2615
- const control = action.href && !action.disabled ? /* @__PURE__ */ jsx26(
2669
+ const control = action.href && !action.disabled ? /* @__PURE__ */ jsx27(
2616
2670
  "a",
2617
2671
  {
2618
2672
  href: action.href,
@@ -2622,7 +2676,7 @@ function ToolbarButton({
2622
2676
  "aria-label": action.label,
2623
2677
  children: inner
2624
2678
  }
2625
- ) : /* @__PURE__ */ jsx26(
2679
+ ) : /* @__PURE__ */ jsx27(
2626
2680
  "button",
2627
2681
  {
2628
2682
  type: "button",
@@ -2634,12 +2688,12 @@ function ToolbarButton({
2634
2688
  }
2635
2689
  );
2636
2690
  if (enableTooltip && action.hideLabel && renderTooltip) {
2637
- return /* @__PURE__ */ jsx26(Fragment, { children: renderTooltip(control, action.label) });
2691
+ return /* @__PURE__ */ jsx27(Fragment2, { children: renderTooltip(control, action.label) });
2638
2692
  }
2639
2693
  return control;
2640
2694
  }
2641
2695
  function OverflowTrigger({ ariaLabel }) {
2642
- return /* @__PURE__ */ jsx26(
2696
+ return /* @__PURE__ */ jsx27(
2643
2697
  "button",
2644
2698
  {
2645
2699
  type: "button",
@@ -2650,7 +2704,7 @@ function OverflowTrigger({ ariaLabel }) {
2650
2704
  "inline-flex items-center justify-center h-7 w-7 rounded-md transition-colors",
2651
2705
  "border border-border bg-background hover:bg-accent text-foreground"
2652
2706
  ),
2653
- children: /* @__PURE__ */ jsx26(MoreHorizontalIcon, { className: "w-3.5 h-3.5" })
2707
+ children: /* @__PURE__ */ jsx27(MoreHorizontalIcon, { className: "w-3.5 h-3.5" })
2654
2708
  }
2655
2709
  );
2656
2710
  }
@@ -2710,22 +2764,22 @@ function OverflowToolbar({
2710
2764
  }, [signature, leading != null]);
2711
2765
  const shown = visibleActions.slice(0, visibleCount);
2712
2766
  const hidden = visibleActions.slice(visibleCount);
2713
- return /* @__PURE__ */ jsxs14("div", { ref: containerRef, className: cn("relative min-w-0", className), children: [
2714
- /* @__PURE__ */ jsxs14(
2767
+ return /* @__PURE__ */ jsxs16("div", { ref: containerRef, className: cn("relative min-w-0", className), children: [
2768
+ /* @__PURE__ */ jsxs16(
2715
2769
  "div",
2716
2770
  {
2717
2771
  ref: ghostRef,
2718
2772
  "aria-hidden": true,
2719
2773
  className: "pointer-events-none absolute left-0 top-0 flex items-center gap-1.5 opacity-0",
2720
2774
  children: [
2721
- visibleActions.map((a) => /* @__PURE__ */ jsx26(ToolbarButton, { action: a }, a.id)),
2722
- /* @__PURE__ */ jsx26(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2775
+ visibleActions.map((a) => /* @__PURE__ */ jsx27(ToolbarButton, { action: a }, a.id)),
2776
+ /* @__PURE__ */ jsx27(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2723
2777
  ]
2724
2778
  }
2725
2779
  ),
2726
- /* @__PURE__ */ jsxs14("div", { className: "flex items-center justify-end gap-1.5", children: [
2727
- leading != null && /* @__PURE__ */ jsx26("span", { ref: leadingRef, className: "shrink-0", children: leading }),
2728
- shown.map((a) => /* @__PURE__ */ jsx26(
2780
+ /* @__PURE__ */ jsxs16("div", { className: "flex items-center justify-end gap-1.5", children: [
2781
+ leading != null && /* @__PURE__ */ jsx27("span", { ref: leadingRef, className: "shrink-0", children: leading }),
2782
+ shown.map((a) => /* @__PURE__ */ jsx27(
2729
2783
  ToolbarButton,
2730
2784
  {
2731
2785
  action: a,
@@ -2736,7 +2790,7 @@ function OverflowToolbar({
2736
2790
  )),
2737
2791
  hidden.length > 0 && renderOverflowMenu({
2738
2792
  actions: hidden,
2739
- trigger: /* @__PURE__ */ jsx26(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2793
+ trigger: /* @__PURE__ */ jsx27(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2740
2794
  })
2741
2795
  ] })
2742
2796
  ] });
@@ -2744,20 +2798,20 @@ function OverflowToolbar({
2744
2798
 
2745
2799
  // src/progress.tsx
2746
2800
  import * as ProgressPrimitive from "@radix-ui/react-progress";
2747
- import * as React22 from "react";
2748
- import { jsx as jsx27 } from "react/jsx-runtime";
2801
+ import * as React23 from "react";
2802
+ import { jsx as jsx28 } from "react/jsx-runtime";
2749
2803
  var PROGRESS_TONES = {
2750
2804
  default: "bg-primary",
2751
2805
  success: "bg-success",
2752
2806
  warning: "bg-warning",
2753
2807
  destructive: "bg-destructive"
2754
2808
  };
2755
- var Progress = React22.forwardRef(({ className, tone = "default", indicatorClassName, ...props }, ref) => {
2809
+ var Progress = React23.forwardRef(({ className, tone = "default", indicatorClassName, ...props }, ref) => {
2756
2810
  const { value, max } = props;
2757
2811
  const ceiling = max ?? 100;
2758
2812
  const isIndeterminate = value === null || value === void 0;
2759
2813
  const pct = isIndeterminate ? 0 : Math.min(100, Math.max(0, value / ceiling * 100));
2760
- return /* @__PURE__ */ jsx27(
2814
+ return /* @__PURE__ */ jsx28(
2761
2815
  ProgressPrimitive.Root,
2762
2816
  {
2763
2817
  ref,
@@ -2767,7 +2821,7 @@ var Progress = React22.forwardRef(({ className, tone = "default", indicatorClass
2767
2821
  className
2768
2822
  ),
2769
2823
  ...props,
2770
- children: /* @__PURE__ */ jsx27(
2824
+ children: /* @__PURE__ */ jsx28(
2771
2825
  ProgressPrimitive.Indicator,
2772
2826
  {
2773
2827
  "data-slot": "progress-indicator",
@@ -2787,9 +2841,9 @@ Progress.displayName = ProgressPrimitive.Root.displayName;
2787
2841
 
2788
2842
  // src/scroll-area.tsx
2789
2843
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
2790
- import * as React23 from "react";
2791
- import { jsx as jsx28, jsxs as jsxs15 } from "react/jsx-runtime";
2792
- var ScrollArea = React23.forwardRef(
2844
+ import * as React24 from "react";
2845
+ import { jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
2846
+ var ScrollArea = React24.forwardRef(
2793
2847
  ({
2794
2848
  className,
2795
2849
  children,
@@ -2798,7 +2852,7 @@ var ScrollArea = React23.forwardRef(
2798
2852
  scrollBarClassName,
2799
2853
  orientation = "vertical",
2800
2854
  ...props
2801
- }, ref) => /* @__PURE__ */ jsxs15(
2855
+ }, ref) => /* @__PURE__ */ jsxs17(
2802
2856
  ScrollAreaPrimitive.Root,
2803
2857
  {
2804
2858
  ref,
@@ -2806,7 +2860,7 @@ var ScrollArea = React23.forwardRef(
2806
2860
  className: cn("relative overflow-hidden", className),
2807
2861
  ...props,
2808
2862
  children: [
2809
- /* @__PURE__ */ jsx28(
2863
+ /* @__PURE__ */ jsx29(
2810
2864
  ScrollAreaPrimitive.Viewport,
2811
2865
  {
2812
2866
  ref: viewportRef,
@@ -2815,14 +2869,14 @@ var ScrollArea = React23.forwardRef(
2815
2869
  children
2816
2870
  }
2817
2871
  ),
2818
- /* @__PURE__ */ jsx28(ScrollBar, { orientation, className: scrollBarClassName }),
2819
- /* @__PURE__ */ jsx28(ScrollAreaPrimitive.Corner, {})
2872
+ /* @__PURE__ */ jsx29(ScrollBar, { orientation, className: scrollBarClassName }),
2873
+ /* @__PURE__ */ jsx29(ScrollAreaPrimitive.Corner, {})
2820
2874
  ]
2821
2875
  }
2822
2876
  )
2823
2877
  );
2824
2878
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
2825
- var ScrollBar = React23.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx28(
2879
+ var ScrollBar = React24.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx29(
2826
2880
  ScrollAreaPrimitive.ScrollAreaScrollbar,
2827
2881
  {
2828
2882
  ref,
@@ -2835,7 +2889,7 @@ var ScrollBar = React23.forwardRef(({ className, orientation = "vertical", ...pr
2835
2889
  className
2836
2890
  ),
2837
2891
  ...props,
2838
- children: /* @__PURE__ */ jsx28(
2892
+ children: /* @__PURE__ */ jsx29(
2839
2893
  ScrollAreaPrimitive.ScrollAreaThumb,
2840
2894
  {
2841
2895
  "data-slot": "scroll-area-thumb",
@@ -2847,7 +2901,7 @@ var ScrollBar = React23.forwardRef(({ className, orientation = "vertical", ...pr
2847
2901
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
2848
2902
 
2849
2903
  // src/score-ring.tsx
2850
- import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
2904
+ import { jsx as jsx30, jsxs as jsxs18 } from "react/jsx-runtime";
2851
2905
  var DEFAULT_SCORE_THRESHOLDS = {
2852
2906
  good: 75,
2853
2907
  warning: 50
@@ -2878,7 +2932,7 @@ function ScoreRing({
2878
2932
  const circumference = 2 * Math.PI * radius;
2879
2933
  const boundedPct = pct === null ? 0 : Math.max(0, Math.min(100, pct));
2880
2934
  const dashOffset = circumference * (1 - boundedPct / 100);
2881
- return /* @__PURE__ */ jsxs16(
2935
+ return /* @__PURE__ */ jsxs18(
2882
2936
  "div",
2883
2937
  {
2884
2938
  className: cn(
@@ -2889,8 +2943,8 @@ function ScoreRing({
2889
2943
  role: "img",
2890
2944
  "aria-label": `${label ?? "Score"}: ${pct === null ? "not available" : `${pct} out of 100`}`,
2891
2945
  children: [
2892
- /* @__PURE__ */ jsxs16("svg", { viewBox: "0 0 100 100", className: "h-full w-full -rotate-90", children: [
2893
- /* @__PURE__ */ jsx29(
2946
+ /* @__PURE__ */ jsxs18("svg", { viewBox: "0 0 100 100", className: "h-full w-full -rotate-90", children: [
2947
+ /* @__PURE__ */ jsx30(
2894
2948
  "circle",
2895
2949
  {
2896
2950
  cx: "50",
@@ -2901,7 +2955,7 @@ function ScoreRing({
2901
2955
  fill: "none"
2902
2956
  }
2903
2957
  ),
2904
- pct !== null ? /* @__PURE__ */ jsx29(
2958
+ pct !== null ? /* @__PURE__ */ jsx30(
2905
2959
  "circle",
2906
2960
  {
2907
2961
  cx: "50",
@@ -2920,8 +2974,8 @@ function ScoreRing({
2920
2974
  }
2921
2975
  ) : null
2922
2976
  ] }),
2923
- /* @__PURE__ */ jsxs16("div", { className: "absolute flex flex-col items-center justify-center", children: [
2924
- /* @__PURE__ */ jsx29(
2977
+ /* @__PURE__ */ jsxs18("div", { className: "absolute flex flex-col items-center justify-center", children: [
2978
+ /* @__PURE__ */ jsx30(
2925
2979
  "span",
2926
2980
  {
2927
2981
  className: cn(
@@ -2931,7 +2985,7 @@ function ScoreRing({
2931
2985
  children: pct === null ? "\u2014" : `${pct}${suffix}`
2932
2986
  }
2933
2987
  ),
2934
- label ? /* @__PURE__ */ jsx29("span", { className: "max-w-[74px] truncate text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: label }) : null
2988
+ label ? /* @__PURE__ */ jsx30("span", { className: "max-w-[74px] truncate text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: label }) : null
2935
2989
  ] })
2936
2990
  ]
2937
2991
  }
@@ -2939,7 +2993,7 @@ function ScoreRing({
2939
2993
  }
2940
2994
 
2941
2995
  // src/segmented-control.tsx
2942
- import { jsx as jsx30 } from "react/jsx-runtime";
2996
+ import { jsx as jsx31 } from "react/jsx-runtime";
2943
2997
  function SegmentedControl({
2944
2998
  value,
2945
2999
  onValueChange,
@@ -2954,7 +3008,7 @@ function SegmentedControl({
2954
3008
  md: "h-9 text-sm",
2955
3009
  lg: "h-10 text-base"
2956
3010
  };
2957
- return /* @__PURE__ */ jsx30(
3011
+ return /* @__PURE__ */ jsx31(
2958
3012
  "div",
2959
3013
  {
2960
3014
  className: cn(
@@ -2965,7 +3019,7 @@ function SegmentedControl({
2965
3019
  role: "tablist",
2966
3020
  children: data.map((option) => {
2967
3021
  const isActive = value === option.value;
2968
- return /* @__PURE__ */ jsx30(
3022
+ return /* @__PURE__ */ jsx31(
2969
3023
  "button",
2970
3024
  {
2971
3025
  type: "button",
@@ -2991,8 +3045,8 @@ function SegmentedControl({
2991
3045
  }
2992
3046
 
2993
3047
  // src/archive-filter.tsx
2994
- import * as React24 from "react";
2995
- import { jsx as jsx31, jsxs as jsxs17 } from "react/jsx-runtime";
3048
+ import * as React25 from "react";
3049
+ import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
2996
3050
  var ARCHIVE_FILTER_VALUES = ["active", "archived", "all"];
2997
3051
  var DEFAULT_ARCHIVE_FILTER = "active";
2998
3052
  var ARCHIVE_LABEL = "Archived";
@@ -3017,7 +3071,7 @@ function ArchiveFilter({
3017
3071
  "aria-label": ariaLabel = "Archive filter",
3018
3072
  disabled = false
3019
3073
  }) {
3020
- const data = React24.useMemo(
3074
+ const data = React25.useMemo(
3021
3075
  () => ARCHIVE_FILTER_VALUES.map((state) => {
3022
3076
  const text = labels?.[state] ?? ARCHIVE_FILTER_LABELS[state];
3023
3077
  const count = counts?.[state];
@@ -3025,15 +3079,15 @@ function ArchiveFilter({
3025
3079
  value: state,
3026
3080
  disabled,
3027
3081
  ariaLabel: typeof count === "number" ? `${text} ${count}` : text,
3028
- label: typeof count === "number" ? /* @__PURE__ */ jsxs17("span", { className: "inline-flex items-center gap-1.5", children: [
3029
- /* @__PURE__ */ jsx31("span", { children: text }),
3030
- /* @__PURE__ */ jsx31("span", { className: "text-muted-foreground tabular-nums", children: count })
3082
+ label: typeof count === "number" ? /* @__PURE__ */ jsxs19("span", { className: "inline-flex items-center gap-1.5", children: [
3083
+ /* @__PURE__ */ jsx32("span", { children: text }),
3084
+ /* @__PURE__ */ jsx32("span", { className: "text-muted-foreground tabular-nums", children: count })
3031
3085
  ] }) : text
3032
3086
  };
3033
3087
  }),
3034
3088
  [counts, labels, disabled]
3035
3089
  );
3036
- return /* @__PURE__ */ jsx31("div", { role: "group", "aria-label": ariaLabel, className: cn("inline-flex", className), children: /* @__PURE__ */ jsx31(
3090
+ return /* @__PURE__ */ jsx32("div", { role: "group", "aria-label": ariaLabel, className: cn("inline-flex", className), children: /* @__PURE__ */ jsx32(
3037
3091
  SegmentedControl,
3038
3092
  {
3039
3093
  value,
@@ -3045,7 +3099,7 @@ function ArchiveFilter({
3045
3099
  }
3046
3100
 
3047
3101
  // src/archived-disclosure.tsx
3048
- import { jsx as jsx32, jsxs as jsxs18 } from "react/jsx-runtime";
3102
+ import { jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
3049
3103
  function ArchivedDisclosure({
3050
3104
  count,
3051
3105
  open,
@@ -3059,8 +3113,8 @@ function ArchivedDisclosure({
3059
3113
  }) {
3060
3114
  if (count <= 0 && !(open && keepWhileOpen)) return null;
3061
3115
  const parenthetical = countLabel === void 0 ? String(count) : countLabel;
3062
- return /* @__PURE__ */ jsxs18("div", { className: cn("min-w-0", className), children: [
3063
- /* @__PURE__ */ jsxs18(
3116
+ return /* @__PURE__ */ jsxs20("div", { className: cn("min-w-0", className), children: [
3117
+ /* @__PURE__ */ jsxs20(
3064
3118
  "button",
3065
3119
  {
3066
3120
  type: "button",
@@ -3068,21 +3122,21 @@ function ArchivedDisclosure({
3068
3122
  "aria-expanded": open,
3069
3123
  className: "flex w-full items-center gap-2 rounded-lg px-2 py-2 text-sm text-muted-foreground hover:bg-accent active:bg-accent",
3070
3124
  children: [
3071
- open ? /* @__PURE__ */ jsx32(ChevronDownIcon, { className: "h-4 w-4 shrink-0" }) : /* @__PURE__ */ jsx32(ChevronRightIcon, { className: "h-4 w-4 shrink-0" }),
3072
- /* @__PURE__ */ jsx32(ArchiveIcon, { className: "h-4 w-4 shrink-0" }),
3073
- /* @__PURE__ */ jsx32("span", { className: "truncate", children: parenthetical === null ? label : `${label} (${parenthetical})` })
3125
+ open ? /* @__PURE__ */ jsx33(ChevronDownIcon, { className: "h-4 w-4 shrink-0" }) : /* @__PURE__ */ jsx33(ChevronRightIcon, { className: "h-4 w-4 shrink-0" }),
3126
+ /* @__PURE__ */ jsx33(ArchiveIcon, { className: "h-4 w-4 shrink-0" }),
3127
+ /* @__PURE__ */ jsx33("span", { className: "truncate", children: parenthetical === null ? label : `${label} (${parenthetical})` })
3074
3128
  ]
3075
3129
  }
3076
3130
  ),
3077
- open && children ? /* @__PURE__ */ jsx32("div", { className: cn("mt-1", contentClassName), children }) : null
3131
+ open && children ? /* @__PURE__ */ jsx33("div", { className: cn("mt-1", contentClassName), children }) : null
3078
3132
  ] });
3079
3133
  }
3080
3134
 
3081
3135
  // src/select.tsx
3082
3136
  import * as SelectPrimitive from "@radix-ui/react-select";
3083
3137
  import { cva as cva4 } from "class-variance-authority";
3084
- import * as React25 from "react";
3085
- import { jsx as jsx33, jsxs as jsxs19 } from "react/jsx-runtime";
3138
+ import * as React26 from "react";
3139
+ import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
3086
3140
  var Select = SelectPrimitive.Root;
3087
3141
  var SelectGroup = SelectPrimitive.Group;
3088
3142
  var SelectValue = SelectPrimitive.Value;
@@ -3101,7 +3155,7 @@ var selectTriggerVariants = cva4(
3101
3155
  }
3102
3156
  }
3103
3157
  );
3104
- var SelectTrigger = React25.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ jsxs19(
3158
+ var SelectTrigger = React26.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ jsxs21(
3105
3159
  SelectPrimitive.Trigger,
3106
3160
  {
3107
3161
  ref,
@@ -3109,12 +3163,12 @@ var SelectTrigger = React25.forwardRef(({ className, children, hideArrow = false
3109
3163
  ...props,
3110
3164
  children: [
3111
3165
  children,
3112
- !hideArrow && /* @__PURE__ */ jsx33(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx33(RadixChevronDownIcon, { className: "h-4 w-4 shrink-0 opacity-50" }) })
3166
+ !hideArrow && /* @__PURE__ */ jsx34(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx34(RadixChevronDownIcon, { className: "h-4 w-4 shrink-0 opacity-50" }) })
3113
3167
  ]
3114
3168
  }
3115
3169
  ));
3116
3170
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
3117
- var SelectScrollUpButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3171
+ var SelectScrollUpButton = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3118
3172
  SelectPrimitive.ScrollUpButton,
3119
3173
  {
3120
3174
  ref,
@@ -3123,11 +3177,11 @@ var SelectScrollUpButton = React25.forwardRef(({ className, ...props }, ref) =>
3123
3177
  className
3124
3178
  ),
3125
3179
  ...props,
3126
- children: /* @__PURE__ */ jsx33(RadixChevronUpIcon, {})
3180
+ children: /* @__PURE__ */ jsx34(RadixChevronUpIcon, {})
3127
3181
  }
3128
3182
  ));
3129
3183
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
3130
- var SelectScrollDownButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3184
+ var SelectScrollDownButton = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3131
3185
  SelectPrimitive.ScrollDownButton,
3132
3186
  {
3133
3187
  ref,
@@ -3136,11 +3190,11 @@ var SelectScrollDownButton = React25.forwardRef(({ className, ...props }, ref) =
3136
3190
  className
3137
3191
  ),
3138
3192
  ...props,
3139
- children: /* @__PURE__ */ jsx33(RadixChevronDownIcon, {})
3193
+ children: /* @__PURE__ */ jsx34(RadixChevronDownIcon, {})
3140
3194
  }
3141
3195
  ));
3142
3196
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
3143
- var SelectContent = React25.forwardRef(
3197
+ var SelectContent = React26.forwardRef(
3144
3198
  ({
3145
3199
  className,
3146
3200
  children,
@@ -3150,7 +3204,7 @@ var SelectContent = React25.forwardRef(
3150
3204
  ...props
3151
3205
  }, ref) => {
3152
3206
  const portalContainer = usePortalContainer(container);
3153
- return /* @__PURE__ */ jsx33(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs19(
3207
+ return /* @__PURE__ */ jsx34(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs21(
3154
3208
  SelectPrimitive.Content,
3155
3209
  {
3156
3210
  ref,
@@ -3168,8 +3222,8 @@ var SelectContent = React25.forwardRef(
3168
3222
  position,
3169
3223
  ...props,
3170
3224
  children: [
3171
- /* @__PURE__ */ jsx33(SelectScrollUpButton, {}),
3172
- /* @__PURE__ */ jsx33(
3225
+ /* @__PURE__ */ jsx34(SelectScrollUpButton, {}),
3226
+ /* @__PURE__ */ jsx34(
3173
3227
  SelectPrimitive.Viewport,
3174
3228
  {
3175
3229
  className: cn(
@@ -3179,14 +3233,14 @@ var SelectContent = React25.forwardRef(
3179
3233
  children
3180
3234
  }
3181
3235
  ),
3182
- /* @__PURE__ */ jsx33(SelectScrollDownButton, {})
3236
+ /* @__PURE__ */ jsx34(SelectScrollDownButton, {})
3183
3237
  ]
3184
3238
  }
3185
3239
  ) });
3186
3240
  }
3187
3241
  );
3188
3242
  SelectContent.displayName = SelectPrimitive.Content.displayName;
3189
- var SelectLabel = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3243
+ var SelectLabel = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3190
3244
  SelectPrimitive.Label,
3191
3245
  {
3192
3246
  ref,
@@ -3195,7 +3249,7 @@ var SelectLabel = React25.forwardRef(({ className, ...props }, ref) => /* @__PUR
3195
3249
  }
3196
3250
  ));
3197
3251
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
3198
- var SelectItem = React25.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ jsxs19(
3252
+ var SelectItem = React26.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ jsxs21(
3199
3253
  SelectPrimitive.Item,
3200
3254
  {
3201
3255
  ref,
@@ -3206,14 +3260,14 @@ var SelectItem = React25.forwardRef(({ className, children, description, ...prop
3206
3260
  ),
3207
3261
  ...props,
3208
3262
  children: [
3209
- /* @__PURE__ */ jsx33("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx33(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx33(CheckIcon, { className: "h-4 w-4" }) }) }),
3210
- /* @__PURE__ */ jsx33("span", { className: "min-w-0 whitespace-normal break-words [overflow-wrap:anywhere]", children: /* @__PURE__ */ jsx33(SelectPrimitive.ItemText, { children }) }),
3211
- description ? /* @__PURE__ */ jsx33("span", { className: "block min-w-0 break-words text-xs leading-snug text-muted-foreground [overflow-wrap:anywhere]", children: description }) : null
3263
+ /* @__PURE__ */ jsx34("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx34(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx34(CheckIcon, { className: "h-4 w-4" }) }) }),
3264
+ /* @__PURE__ */ jsx34("span", { className: "min-w-0 whitespace-normal break-words [overflow-wrap:anywhere]", children: /* @__PURE__ */ jsx34(SelectPrimitive.ItemText, { children }) }),
3265
+ description ? /* @__PURE__ */ jsx34("span", { className: "block min-w-0 break-words text-xs leading-snug text-muted-foreground [overflow-wrap:anywhere]", children: description }) : null
3212
3266
  ]
3213
3267
  }
3214
3268
  ));
3215
3269
  SelectItem.displayName = SelectPrimitive.Item.displayName;
3216
- var SelectSeparator = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3270
+ var SelectSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3217
3271
  SelectPrimitive.Separator,
3218
3272
  {
3219
3273
  ref,
@@ -3225,9 +3279,9 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
3225
3279
 
3226
3280
  // src/separator.tsx
3227
3281
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
3228
- import * as React26 from "react";
3229
- import { jsx as jsx34 } from "react/jsx-runtime";
3230
- var Separator4 = React26.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx34(
3282
+ import * as React27 from "react";
3283
+ import { jsx as jsx35 } from "react/jsx-runtime";
3284
+ var Separator4 = React27.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx35(
3231
3285
  SeparatorPrimitive.Root,
3232
3286
  {
3233
3287
  ref,
@@ -3247,11 +3301,11 @@ Separator4.displayName = SeparatorPrimitive.Root.displayName;
3247
3301
  import * as SheetPrimitive from "@radix-ui/react-dialog";
3248
3302
  import { treeContainsComponent as treeContainsComponent4 } from "@ai-matrx/kit/react-tree";
3249
3303
  import { cva as cva5 } from "class-variance-authority";
3250
- import * as React27 from "react";
3251
- import { jsx as jsx35, jsxs as jsxs20 } from "react/jsx-runtime";
3252
- var SheetContentBase = React27.forwardRef(({ ...props }, ref) => {
3304
+ import * as React28 from "react";
3305
+ import { jsx as jsx36, jsxs as jsxs22 } from "react/jsx-runtime";
3306
+ var SheetContentBase = React28.forwardRef(({ ...props }, ref) => {
3253
3307
  const isModal = useRadixDialogModal();
3254
- return /* @__PURE__ */ jsx35(
3308
+ return /* @__PURE__ */ jsx36(
3255
3309
  SheetPrimitive.Content,
3256
3310
  {
3257
3311
  ...props,
@@ -3261,15 +3315,15 @@ var SheetContentBase = React27.forwardRef(({ ...props }, ref) => {
3261
3315
  );
3262
3316
  });
3263
3317
  SheetContentBase.displayName = "SheetContentBase";
3264
- var Sheet = React27.forwardRef(({ children, ...props }, _ref) => {
3318
+ var Sheet = React28.forwardRef(({ children, ...props }, _ref) => {
3265
3319
  const modal = props.modal ?? true;
3266
- return /* @__PURE__ */ jsx35(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx35(SheetPrimitive.Root, { ...props, modal, children }) });
3320
+ return /* @__PURE__ */ jsx36(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx36(SheetPrimitive.Root, { ...props, modal, children }) });
3267
3321
  });
3268
3322
  Sheet.displayName = "Sheet";
3269
3323
  var SheetTrigger = SheetPrimitive.Trigger;
3270
3324
  var SheetClose = SheetPrimitive.Close;
3271
3325
  var SheetPortal = SheetPrimitive.Portal;
3272
- var SheetOverlay = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3326
+ var SheetOverlay = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3273
3327
  SheetPrimitive.Overlay,
3274
3328
  {
3275
3329
  className: cn(
@@ -3306,7 +3360,7 @@ var sheetVariants = cva5(
3306
3360
  }
3307
3361
  }
3308
3362
  );
3309
- var SheetDescription = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3363
+ var SheetDescription = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3310
3364
  SheetPrimitive.Description,
3311
3365
  {
3312
3366
  ref,
@@ -3315,7 +3369,7 @@ var SheetDescription = React27.forwardRef(({ className, ...props }, ref) => /* @
3315
3369
  }
3316
3370
  ));
3317
3371
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
3318
- var SheetContent = React27.forwardRef(
3372
+ var SheetContent = React28.forwardRef(
3319
3373
  ({
3320
3374
  side = "right",
3321
3375
  className,
@@ -3327,9 +3381,9 @@ var SheetContent = React27.forwardRef(
3327
3381
  ...props
3328
3382
  }, ref) => {
3329
3383
  const hasDescription = treeContainsComponent4(children, SheetDescription) || treeContainsComponent4(children, SheetPrimitive.Description);
3330
- return /* @__PURE__ */ jsxs20(SheetPortal, { children: [
3331
- !hideOverlay && /* @__PURE__ */ jsx35(SheetOverlay, { className: overlayClassName }),
3332
- /* @__PURE__ */ jsxs20(
3384
+ return /* @__PURE__ */ jsxs22(SheetPortal, { children: [
3385
+ !hideOverlay && /* @__PURE__ */ jsx36(SheetOverlay, { className: overlayClassName }),
3386
+ /* @__PURE__ */ jsxs22(
3333
3387
  SheetContentBase,
3334
3388
  {
3335
3389
  ref,
@@ -3341,9 +3395,9 @@ var SheetContent = React27.forwardRef(
3341
3395
  ...hasDescription ? {} : { "aria-describedby": void 0 },
3342
3396
  ...props,
3343
3397
  children: [
3344
- !hideCloseButton && /* @__PURE__ */ jsxs20(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
3345
- /* @__PURE__ */ jsx35(Cross2Icon, { className: "h-4 w-4" }),
3346
- /* @__PURE__ */ jsx35("span", { className: "sr-only", children: "Close" })
3398
+ !hideCloseButton && /* @__PURE__ */ jsxs22(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
3399
+ /* @__PURE__ */ jsx36(Cross2Icon, { className: "h-4 w-4" }),
3400
+ /* @__PURE__ */ jsx36("span", { className: "sr-only", children: "Close" })
3347
3401
  ] }),
3348
3402
  children
3349
3403
  ]
@@ -3356,7 +3410,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
3356
3410
  var SheetHeader = ({
3357
3411
  className,
3358
3412
  ...props
3359
- }) => /* @__PURE__ */ jsx35(
3413
+ }) => /* @__PURE__ */ jsx36(
3360
3414
  "div",
3361
3415
  {
3362
3416
  className: cn(
@@ -3370,7 +3424,7 @@ SheetHeader.displayName = "SheetHeader";
3370
3424
  var SheetFooter = ({
3371
3425
  className,
3372
3426
  ...props
3373
- }) => /* @__PURE__ */ jsx35(
3427
+ }) => /* @__PURE__ */ jsx36(
3374
3428
  "div",
3375
3429
  {
3376
3430
  "data-slot": "sheet-footer",
@@ -3382,7 +3436,7 @@ var SheetFooter = ({
3382
3436
  }
3383
3437
  );
3384
3438
  SheetFooter.displayName = "SheetFooter";
3385
- var SheetTitle = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3439
+ var SheetTitle = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3386
3440
  SheetPrimitive.Title,
3387
3441
  {
3388
3442
  ref,
@@ -3393,12 +3447,12 @@ var SheetTitle = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE
3393
3447
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
3394
3448
 
3395
3449
  // src/organization-picker.tsx
3396
- import * as React29 from "react";
3450
+ import * as React30 from "react";
3397
3451
 
3398
3452
  // src/skeleton.tsx
3399
- import { jsx as jsx36 } from "react/jsx-runtime";
3453
+ import { jsx as jsx37 } from "react/jsx-runtime";
3400
3454
  function Skeleton({ className, animated = true, ...props }) {
3401
- return /* @__PURE__ */ jsx36(
3455
+ return /* @__PURE__ */ jsx37(
3402
3456
  "div",
3403
3457
  {
3404
3458
  "data-slot": "skeleton",
@@ -3414,8 +3468,8 @@ function Skeleton({ className, animated = true, ...props }) {
3414
3468
 
3415
3469
  // src/switch.tsx
3416
3470
  import * as SwitchPrimitives from "@radix-ui/react-switch";
3417
- import * as React28 from "react";
3418
- import { jsx as jsx37 } from "react/jsx-runtime";
3471
+ import * as React29 from "react";
3472
+ import { jsx as jsx38 } from "react/jsx-runtime";
3419
3473
  var SWITCH_SIZES = {
3420
3474
  sm: {
3421
3475
  root: "h-4 w-9 border-border data-[state=unchecked]:bg-input",
@@ -3426,7 +3480,7 @@ var SWITCH_SIZES = {
3426
3480
  thumb: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
3427
3481
  }
3428
3482
  };
3429
- var Switch = React28.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx37(
3483
+ var Switch = React29.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx38(
3430
3484
  SwitchPrimitives.Root,
3431
3485
  {
3432
3486
  ref,
@@ -3437,7 +3491,7 @@ var Switch = React28.forwardRef(({ className, size = "md", ...props }, ref) => /
3437
3491
  className
3438
3492
  ),
3439
3493
  ...props,
3440
- children: /* @__PURE__ */ jsx37(
3494
+ children: /* @__PURE__ */ jsx38(
3441
3495
  SwitchPrimitives.Thumb,
3442
3496
  {
3443
3497
  "data-slot": "switch-thumb",
@@ -3452,7 +3506,7 @@ var Switch = React28.forwardRef(({ className, size = "md", ...props }, ref) => /
3452
3506
  Switch.displayName = SwitchPrimitives.Root.displayName;
3453
3507
 
3454
3508
  // src/organization-picker.tsx
3455
- import { Fragment as Fragment2, jsx as jsx38, jsxs as jsxs21 } from "react/jsx-runtime";
3509
+ import { Fragment as Fragment3, jsx as jsx39, jsxs as jsxs23 } from "react/jsx-runtime";
3456
3510
  var SEARCH_APPEARS_ABOVE = 8;
3457
3511
  function matchesQuery(org, query) {
3458
3512
  const q = query.trim().toLowerCase();
@@ -3467,7 +3521,7 @@ function OrganizationAbbreviation({
3467
3521
  className
3468
3522
  }) {
3469
3523
  const mark = abbreviation && abbreviation.trim() || name.trim().slice(0, 1) || "?";
3470
- return /* @__PURE__ */ jsx38(
3524
+ return /* @__PURE__ */ jsx39(
3471
3525
  "span",
3472
3526
  {
3473
3527
  className: cn(
@@ -3492,8 +3546,8 @@ function OrganizationPicker({
3492
3546
  itemClassName,
3493
3547
  className
3494
3548
  }) {
3495
- const [query, setQuery] = React29.useState("");
3496
- const [showFixtures, setShowFixtures] = React29.useState(false);
3549
+ const [query, setQuery] = React30.useState("");
3550
+ const [showFixtures, setShowFixtures] = React30.useState(false);
3497
3551
  const active = organizations.find((o) => o.id === activeOrganizationId) ?? null;
3498
3552
  const isDefault = (id) => !!defaultOrganizationId && id === defaultOrganizationId;
3499
3553
  const rank = (org) => org.id === defaultOrganizationId ? 0 : org.isOwn ? 1 : 2;
@@ -3505,7 +3559,7 @@ function OrganizationPicker({
3505
3559
  const sharesItsName = (org) => organizations.filter((other) => other.name.trim() === org.name.trim()).length > 1;
3506
3560
  const renderRow = (org) => {
3507
3561
  const isActive = org.id === activeOrganizationId;
3508
- return /* @__PURE__ */ jsx38("li", { role: "none", children: /* @__PURE__ */ jsxs21(
3562
+ return /* @__PURE__ */ jsx39("li", { role: "none", children: /* @__PURE__ */ jsxs23(
3509
3563
  "button",
3510
3564
  {
3511
3565
  type: "button",
@@ -3522,7 +3576,7 @@ function OrganizationPicker({
3522
3576
  itemClassName
3523
3577
  ),
3524
3578
  children: [
3525
- /* @__PURE__ */ jsx38(
3579
+ /* @__PURE__ */ jsx39(
3526
3580
  OrganizationAbbreviation,
3527
3581
  {
3528
3582
  abbreviation: org.abbreviation,
@@ -3533,12 +3587,12 @@ function OrganizationPicker({
3533
3587
  )
3534
3588
  }
3535
3589
  ),
3536
- /* @__PURE__ */ jsxs21("span", { className: "flex min-w-0 flex-1 flex-col", children: [
3537
- /* @__PURE__ */ jsx38("span", { className: "truncate", children: org.name }),
3538
- sharesItsName(org) && org.distinguisher ? /* @__PURE__ */ jsx38("span", { className: "truncate text-[10px] font-normal text-muted-foreground", children: org.distinguisher }) : null
3590
+ /* @__PURE__ */ jsxs23("span", { className: "flex min-w-0 flex-1 flex-col", children: [
3591
+ /* @__PURE__ */ jsx39("span", { className: "truncate", children: org.name }),
3592
+ sharesItsName(org) && org.distinguisher ? /* @__PURE__ */ jsx39("span", { className: "truncate text-[10px] font-normal text-muted-foreground", children: org.distinguisher }) : null
3539
3593
  ] }),
3540
- org.isPersonal && /* @__PURE__ */ jsx38("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
3541
- isDefault(org.id) && /* @__PURE__ */ jsx38(
3594
+ org.isPersonal && /* @__PURE__ */ jsx39("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
3595
+ isDefault(org.id) && /* @__PURE__ */ jsx39(
3542
3596
  StarIcon,
3543
3597
  {
3544
3598
  className: "h-[13px] w-[13px] shrink-0 fill-warning text-warning",
@@ -3547,23 +3601,31 @@ function OrganizationPicker({
3547
3601
  role: "img"
3548
3602
  }
3549
3603
  ),
3550
- isActive && /* @__PURE__ */ jsx38(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
3604
+ isActive && /* @__PURE__ */ jsx39(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
3551
3605
  ]
3552
3606
  }
3553
3607
  ) }, org.id);
3554
3608
  };
3555
- return /* @__PURE__ */ jsxs21("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
3556
- !hideHeading && /* @__PURE__ */ jsx38("p", { className: "px-2 py-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Organization" }),
3557
- loading ? /* @__PURE__ */ jsxs21("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
3558
- /* @__PURE__ */ jsx38(Skeleton, { className: "h-7 rounded-md" }),
3559
- /* @__PURE__ */ jsx38(Skeleton, { className: "h-7 rounded-md" })
3560
- ] }) : loadFailed ? /* @__PURE__ */ jsx38("p", { className: "px-2 py-2 text-xs text-destructive", role: "alert", children: "Could not load organizations." }) : organizations.length === 0 ? /* @__PURE__ */ jsx38("p", { className: "px-2 py-2 text-xs text-muted-foreground", children: "Your account is not a member of any organization. Ask an administrator to add you to one." }) : /* @__PURE__ */ jsxs21(Fragment2, { children: [
3561
- active ? /* @__PURE__ */ jsxs21("p", { className: "px-2 pb-1 text-[11px] text-muted-foreground", "data-slot": "organization-picker-status", children: [
3609
+ return /* @__PURE__ */ jsxs23("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
3610
+ !hideHeading && /* @__PURE__ */ jsx39("p", { className: "px-2 py-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Organization" }),
3611
+ loading ? /* @__PURE__ */ jsxs23("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
3612
+ /* @__PURE__ */ jsx39(Skeleton, { className: "h-7 rounded-md" }),
3613
+ /* @__PURE__ */ jsx39(Skeleton, { className: "h-7 rounded-md" })
3614
+ ] }) : loadFailed ? /* @__PURE__ */ jsx39(
3615
+ ErrorBox,
3616
+ {
3617
+ className: "px-2 py-2 text-xs text-destructive",
3618
+ operation: "Load your organizations",
3619
+ origin: "design-system/OrganizationPicker",
3620
+ children: "Could not load organizations."
3621
+ }
3622
+ ) : organizations.length === 0 ? /* @__PURE__ */ jsx39("p", { className: "px-2 py-2 text-xs text-muted-foreground", children: "Your account is not a member of any organization. Ask an administrator to add you to one." }) : /* @__PURE__ */ jsxs23(Fragment3, { children: [
3623
+ active ? /* @__PURE__ */ jsxs23("p", { className: "px-2 pb-1 text-[11px] text-muted-foreground", "data-slot": "organization-picker-status", children: [
3562
3624
  "Working in",
3563
3625
  " ",
3564
- /* @__PURE__ */ jsx38("span", { className: "font-medium text-foreground", children: active.name })
3565
- ] }) : /* @__PURE__ */ jsx38("p", { className: "px-2 pb-1 text-[11px] text-destructive", "data-slot": "organization-picker-status", children: "No organization selected \u2014 pick one below." }),
3566
- searchable && /* @__PURE__ */ jsx38("div", { className: "px-2 pb-1.5", children: /* @__PURE__ */ jsx38(
3626
+ /* @__PURE__ */ jsx39("span", { className: "font-medium text-foreground", children: active.name })
3627
+ ] }) : /* @__PURE__ */ jsx39("p", { className: "px-2 pb-1 text-[11px] text-destructive", "data-slot": "organization-picker-status", children: "No organization selected \u2014 pick one below." }),
3628
+ searchable && /* @__PURE__ */ jsx39("div", { className: "px-2 pb-1.5", children: /* @__PURE__ */ jsx39(
3567
3629
  Input,
3568
3630
  {
3569
3631
  type: "search",
@@ -3577,7 +3639,7 @@ function OrganizationPicker({
3577
3639
  "data-slot": "organization-picker-search"
3578
3640
  }
3579
3641
  ) }),
3580
- listed.length === 0 && fixtures.length === 0 ? /* @__PURE__ */ jsxs21(
3642
+ listed.length === 0 && fixtures.length === 0 ? /* @__PURE__ */ jsxs23(
3581
3643
  "p",
3582
3644
  {
3583
3645
  className: "px-2 py-2 text-xs text-muted-foreground",
@@ -3599,16 +3661,16 @@ function OrganizationPicker({
3599
3661
  clicking. So: count the matches, say where they are, and carry
3600
3662
  the click that reveals them — the same shape as the honest
3601
3663
  empty-filter twin one line down. (TAILS-3) */
3602
- /* @__PURE__ */ jsx38(
3664
+ /* @__PURE__ */ jsx39(
3603
3665
  "p",
3604
3666
  {
3605
3667
  className: "px-2 py-2 text-xs text-muted-foreground",
3606
3668
  "data-slot": "organization-picker-only-fixtures",
3607
- children: query.trim() ? /* @__PURE__ */ jsxs21(Fragment2, { children: [
3669
+ children: query.trim() ? /* @__PURE__ */ jsxs23(Fragment3, { children: [
3608
3670
  fixtures.length === 1 ? `1 match for \u201C${query.trim()}\u201D is in your test organizations` : `All ${fixtures.length} matches for \u201C${query.trim()}\u201D are in your test organizations`,
3609
- showFixtures ? ", listed below." : /* @__PURE__ */ jsxs21(Fragment2, { children: [
3671
+ showFixtures ? ", listed below." : /* @__PURE__ */ jsxs23(Fragment3, { children: [
3610
3672
  " \u2014 ",
3611
- /* @__PURE__ */ jsx38(
3673
+ /* @__PURE__ */ jsx39(
3612
3674
  "button",
3613
3675
  {
3614
3676
  type: "button",
@@ -3626,8 +3688,8 @@ function OrganizationPicker({
3626
3688
  ] }) : `Every organization you belong to is a test organization \u2014 all ${fixtures.length} are below.`
3627
3689
  }
3628
3690
  )
3629
- ) : /* @__PURE__ */ jsx38("ul", { className: "max-h-72 overflow-y-auto", role: "listbox", "aria-label": "Organizations", children: listed.map(renderRow) }),
3630
- /* @__PURE__ */ jsx38(
3691
+ ) : /* @__PURE__ */ jsx39("ul", { className: "max-h-72 overflow-y-auto", role: "listbox", "aria-label": "Organizations", children: listed.map(renderRow) }),
3692
+ /* @__PURE__ */ jsx39(
3631
3693
  ArchivedDisclosure,
3632
3694
  {
3633
3695
  count: fixtures.length,
@@ -3635,7 +3697,7 @@ function OrganizationPicker({
3635
3697
  onOpenChange: setShowFixtures,
3636
3698
  label: "Test organizations",
3637
3699
  className: "mt-0.5",
3638
- children: /* @__PURE__ */ jsx38(
3700
+ children: /* @__PURE__ */ jsx39(
3639
3701
  "ul",
3640
3702
  {
3641
3703
  className: "max-h-72 overflow-y-auto",
@@ -3646,9 +3708,9 @@ function OrganizationPicker({
3646
3708
  )
3647
3709
  }
3648
3710
  ),
3649
- onSetDefault && /* @__PURE__ */ jsxs21(Fragment2, { children: [
3650
- /* @__PURE__ */ jsx38("div", { className: "my-1 border-t border-border" }),
3651
- /* @__PURE__ */ jsx38(
3711
+ onSetDefault && /* @__PURE__ */ jsxs23(Fragment3, { children: [
3712
+ /* @__PURE__ */ jsx39("div", { className: "my-1 border-t border-border" }),
3713
+ /* @__PURE__ */ jsx39(
3652
3714
  DefaultOrganizationSwitch,
3653
3715
  {
3654
3716
  active,
@@ -3666,17 +3728,17 @@ function DefaultOrganizationSwitch({
3666
3728
  onChange
3667
3729
  }) {
3668
3730
  const disabled = !active;
3669
- return /* @__PURE__ */ jsxs21(
3731
+ return /* @__PURE__ */ jsxs23(
3670
3732
  "div",
3671
3733
  {
3672
3734
  className: "flex items-center justify-between gap-3 rounded-md px-2 py-1.5",
3673
3735
  "data-slot": "organization-picker-default",
3674
3736
  children: [
3675
- /* @__PURE__ */ jsxs21("div", { className: "min-w-0", children: [
3676
- /* @__PURE__ */ jsx38("p", { className: "text-xs font-medium text-foreground", children: "Keep it at the top" }),
3677
- /* @__PURE__ */ jsx38("p", { className: "truncate text-[11px] text-muted-foreground", children: disabled ? "Select an organization first" : checked ? `${active.name} is first in this list on every device` : "Star it so it is first in this list on every device" })
3737
+ /* @__PURE__ */ jsxs23("div", { className: "min-w-0", children: [
3738
+ /* @__PURE__ */ jsx39("p", { className: "text-xs font-medium text-foreground", children: "Keep it at the top" }),
3739
+ /* @__PURE__ */ jsx39("p", { className: "truncate text-[11px] text-muted-foreground", children: disabled ? "Select an organization first" : checked ? `${active.name} is first in this list on every device` : "Star it so it is first in this list on every device" })
3678
3740
  ] }),
3679
- /* @__PURE__ */ jsx38(
3741
+ /* @__PURE__ */ jsx39(
3680
3742
  Switch,
3681
3743
  {
3682
3744
  checked,
@@ -3692,7 +3754,7 @@ function DefaultOrganizationSwitch({
3692
3754
 
3693
3755
  // src/tabbed-bottom-sheet.tsx
3694
3756
  import { useState as useState7 } from "react";
3695
- import { jsx as jsx39, jsxs as jsxs22 } from "react/jsx-runtime";
3757
+ import { jsx as jsx40, jsxs as jsxs24 } from "react/jsx-runtime";
3696
3758
  function TabbedBottomSheet({
3697
3759
  open,
3698
3760
  onOpenChange,
@@ -3707,15 +3769,15 @@ function TabbedBottomSheet({
3707
3769
  if (open) setSelectedTabId(initialTabId);
3708
3770
  }
3709
3771
  const selectedTab = selectedTabId ? tabs.find((tab) => tab.id === selectedTabId) : null;
3710
- return /* @__PURE__ */ jsx39(
3772
+ return /* @__PURE__ */ jsx40(
3711
3773
  BottomSheet,
3712
3774
  {
3713
3775
  open,
3714
3776
  onOpenChange,
3715
3777
  title,
3716
3778
  size: "full",
3717
- children: /* @__PURE__ */ jsxs22("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
3718
- /* @__PURE__ */ jsx39(
3779
+ children: /* @__PURE__ */ jsxs24("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
3780
+ /* @__PURE__ */ jsx40(
3719
3781
  BottomSheetHeader,
3720
3782
  {
3721
3783
  title: selectedTab ? selectedTab.label : title,
@@ -3723,19 +3785,19 @@ function TabbedBottomSheet({
3723
3785
  onBack: () => setSelectedTabId(null)
3724
3786
  }
3725
3787
  ),
3726
- selectedTab ? /* @__PURE__ */ jsx39("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ jsx39(BottomSheetBody, { children: /* @__PURE__ */ jsx39("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
3788
+ selectedTab ? /* @__PURE__ */ jsx40("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ jsx40(BottomSheetBody, { children: /* @__PURE__ */ jsx40("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
3727
3789
  const Icon2 = tab.icon;
3728
- return /* @__PURE__ */ jsx39("li", { children: /* @__PURE__ */ jsxs22(
3790
+ return /* @__PURE__ */ jsx40("li", { children: /* @__PURE__ */ jsxs24(
3729
3791
  "button",
3730
3792
  {
3731
3793
  type: "button",
3732
3794
  onClick: () => setSelectedTabId(tab.id),
3733
3795
  className: "flex w-full items-center gap-3 px-4 py-3.5 text-left transition-colors hover:bg-muted/60 active:bg-muted",
3734
3796
  children: [
3735
- Icon2 ? /* @__PURE__ */ jsx39(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
3736
- /* @__PURE__ */ jsx39("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
3797
+ Icon2 ? /* @__PURE__ */ jsx40(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
3798
+ /* @__PURE__ */ jsx40("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
3737
3799
  tab.trailing,
3738
- /* @__PURE__ */ jsx39(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
3800
+ /* @__PURE__ */ jsx40(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
3739
3801
  ]
3740
3802
  }
3741
3803
  ) }, tab.id);
@@ -3746,19 +3808,19 @@ function TabbedBottomSheet({
3746
3808
  }
3747
3809
 
3748
3810
  // src/table.tsx
3749
- import * as React30 from "react";
3750
- import { jsx as jsx40 } from "react/jsx-runtime";
3811
+ import * as React31 from "react";
3812
+ import { jsx as jsx41 } from "react/jsx-runtime";
3751
3813
  var TABLE_SIZES = {
3752
3814
  sm: { head: "px-2", cell: "p-2" },
3753
3815
  md: { head: "px-3", cell: "p-3" }
3754
3816
  };
3755
- var TableSizeContext = React30.createContext("md");
3817
+ var TableSizeContext = React31.createContext("md");
3756
3818
  function useTableSize() {
3757
- return React30.useContext(TableSizeContext);
3819
+ return React31.useContext(TableSizeContext);
3758
3820
  }
3759
- var Table = React30.forwardRef(
3821
+ var Table = React31.forwardRef(
3760
3822
  ({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
3761
- const table = /* @__PURE__ */ jsx40(
3823
+ const table = /* @__PURE__ */ jsx41(
3762
3824
  "table",
3763
3825
  {
3764
3826
  ref,
@@ -3768,7 +3830,7 @@ var Table = React30.forwardRef(
3768
3830
  ...props
3769
3831
  }
3770
3832
  );
3771
- return /* @__PURE__ */ jsx40(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ jsx40(
3833
+ return /* @__PURE__ */ jsx41(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ jsx41(
3772
3834
  "div",
3773
3835
  {
3774
3836
  "data-slot": "table-wrapper",
@@ -3779,7 +3841,7 @@ var Table = React30.forwardRef(
3779
3841
  }
3780
3842
  );
3781
3843
  Table.displayName = "Table";
3782
- var TableHeader = React30.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ jsx40(
3844
+ var TableHeader = React31.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ jsx41(
3783
3845
  "thead",
3784
3846
  {
3785
3847
  ref,
@@ -3793,7 +3855,7 @@ var TableHeader = React30.forwardRef(({ className, sticky = false, ...props }, r
3793
3855
  }
3794
3856
  ));
3795
3857
  TableHeader.displayName = "TableHeader";
3796
- var TableBody = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
3858
+ var TableBody = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
3797
3859
  "tbody",
3798
3860
  {
3799
3861
  ref,
@@ -3803,7 +3865,7 @@ var TableBody = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE_
3803
3865
  }
3804
3866
  ));
3805
3867
  TableBody.displayName = "TableBody";
3806
- var TableFooter = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
3868
+ var TableFooter = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
3807
3869
  "tfoot",
3808
3870
  {
3809
3871
  ref,
@@ -3816,7 +3878,7 @@ var TableFooter = React30.forwardRef(({ className, ...props }, ref) => /* @__PUR
3816
3878
  }
3817
3879
  ));
3818
3880
  TableFooter.displayName = "TableFooter";
3819
- var TableRow = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
3881
+ var TableRow = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
3820
3882
  "tr",
3821
3883
  {
3822
3884
  ref,
@@ -3829,9 +3891,9 @@ var TableRow = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3829
3891
  }
3830
3892
  ));
3831
3893
  TableRow.displayName = "TableRow";
3832
- var TableHead = React30.forwardRef(({ className, ...props }, ref) => {
3894
+ var TableHead = React31.forwardRef(({ className, ...props }, ref) => {
3833
3895
  const size = useTableSize();
3834
- return /* @__PURE__ */ jsx40(
3896
+ return /* @__PURE__ */ jsx41(
3835
3897
  "th",
3836
3898
  {
3837
3899
  ref,
@@ -3846,9 +3908,9 @@ var TableHead = React30.forwardRef(({ className, ...props }, ref) => {
3846
3908
  );
3847
3909
  });
3848
3910
  TableHead.displayName = "TableHead";
3849
- var TableCell = React30.forwardRef(({ className, ...props }, ref) => {
3911
+ var TableCell = React31.forwardRef(({ className, ...props }, ref) => {
3850
3912
  const size = useTableSize();
3851
- return /* @__PURE__ */ jsx40(
3913
+ return /* @__PURE__ */ jsx41(
3852
3914
  "td",
3853
3915
  {
3854
3916
  ref,
@@ -3863,7 +3925,7 @@ var TableCell = React30.forwardRef(({ className, ...props }, ref) => {
3863
3925
  );
3864
3926
  });
3865
3927
  TableCell.displayName = "TableCell";
3866
- var TableCaption = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
3928
+ var TableCaption = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
3867
3929
  "caption",
3868
3930
  {
3869
3931
  ref,
@@ -3876,11 +3938,11 @@ TableCaption.displayName = "TableCaption";
3876
3938
 
3877
3939
  // src/tabs.tsx
3878
3940
  import * as TabsPrimitive from "@radix-ui/react-tabs";
3879
- import * as React31 from "react";
3880
- import { jsx as jsx41 } from "react/jsx-runtime";
3941
+ import * as React32 from "react";
3942
+ import { jsx as jsx42 } from "react/jsx-runtime";
3881
3943
  var Tabs = TabsPrimitive.Root;
3882
3944
  var TABS_TRIGGER_BASE = "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm";
3883
- var TabsList = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
3945
+ var TabsList = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
3884
3946
  TabsPrimitive.List,
3885
3947
  {
3886
3948
  ref,
@@ -3893,7 +3955,7 @@ var TabsList = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3893
3955
  }
3894
3956
  ));
3895
3957
  TabsList.displayName = TabsPrimitive.List.displayName;
3896
- var TabsTrigger = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
3958
+ var TabsTrigger = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
3897
3959
  TabsPrimitive.Trigger,
3898
3960
  {
3899
3961
  ref,
@@ -3907,7 +3969,7 @@ var TabsTrigger = React31.forwardRef(({ className, ...props }, ref) => /* @__PUR
3907
3969
  }
3908
3970
  ));
3909
3971
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
3910
- var TabsTriggerCore = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
3972
+ var TabsTriggerCore = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
3911
3973
  TabsPrimitive.Trigger,
3912
3974
  {
3913
3975
  ref,
@@ -3917,7 +3979,7 @@ var TabsTriggerCore = React31.forwardRef(({ className, ...props }, ref) => /* @_
3917
3979
  }
3918
3980
  ));
3919
3981
  TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
3920
- var TabsContent = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
3982
+ var TabsContent = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
3921
3983
  TabsPrimitive.Content,
3922
3984
  {
3923
3985
  ref,
@@ -3933,8 +3995,8 @@ var TabsContent = React31.forwardRef(({ className, ...props }, ref) => /* @__PUR
3933
3995
  TabsContent.displayName = TabsPrimitive.Content.displayName;
3934
3996
 
3935
3997
  // src/textarea.tsx
3936
- import * as React32 from "react";
3937
- import { jsx as jsx42, jsxs as jsxs23 } from "react/jsx-runtime";
3998
+ import * as React33 from "react";
3999
+ import { jsx as jsx43, jsxs as jsxs25 } from "react/jsx-runtime";
3938
4000
  var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
3939
4001
  var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
3940
4002
  function getStretchClasses(className) {
@@ -3947,7 +4009,7 @@ function getStretchClasses(className) {
3947
4009
  var TEXTAREA_ELEVATED_CLASS = "flex h-auto w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground shadow-textarea transition duration-400 placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-[2px] focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
3948
4010
  var TEXTAREA_CONTROL_CLASS = "flex w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm text-foreground shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
3949
4011
  function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
3950
- React32.useEffect(() => {
4012
+ React33.useEffect(() => {
3951
4013
  if (!autoGrow || !ref.current) return;
3952
4014
  const textarea = ref.current;
3953
4015
  textarea.style.height = "auto";
@@ -3963,8 +4025,8 @@ function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
3963
4025
  }, [value, autoGrow, minHeight, maxHeight, ref]);
3964
4026
  }
3965
4027
  function useMergedTextareaRef(forwarded) {
3966
- const internal = React32.useRef(null);
3967
- const callback = React32.useCallback(
4028
+ const internal = React33.useRef(null);
4029
+ const callback = React33.useCallback(
3968
4030
  (node) => {
3969
4031
  internal.current = node;
3970
4032
  if (typeof forwarded === "function") forwarded(node);
@@ -3981,13 +4043,13 @@ function boxStyle(minHeight, maxHeight) {
3981
4043
  maxHeight: maxHeight ? `${maxHeight}px` : void 0
3982
4044
  };
3983
4045
  }
3984
- var Textarea = React32.forwardRef(
4046
+ var Textarea = React33.forwardRef(
3985
4047
  ({ className, autoGrow, minHeight, maxHeight, wrapperClassName, ...props }, forwarded) => {
3986
4048
  const { ref, callback } = useMergedTextareaRef(forwarded);
3987
4049
  const stretchClasses = getStretchClasses(className);
3988
4050
  const needsWrapper = Boolean(wrapperClassName || stretchClasses);
3989
4051
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
3990
- const textarea = /* @__PURE__ */ jsx42(
4052
+ const textarea = /* @__PURE__ */ jsx43(
3991
4053
  "textarea",
3992
4054
  {
3993
4055
  ref: callback,
@@ -4003,15 +4065,15 @@ var Textarea = React32.forwardRef(
4003
4065
  }
4004
4066
  );
4005
4067
  if (!needsWrapper) return textarea;
4006
- return /* @__PURE__ */ jsx42("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
4068
+ return /* @__PURE__ */ jsx43("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
4007
4069
  }
4008
4070
  );
4009
4071
  Textarea.displayName = "Textarea";
4010
- var BasicTextarea = React32.forwardRef(
4072
+ var BasicTextarea = React33.forwardRef(
4011
4073
  ({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
4012
4074
  const { ref, callback } = useMergedTextareaRef(forwarded);
4013
4075
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
4014
- return /* @__PURE__ */ jsx42(
4076
+ return /* @__PURE__ */ jsx43(
4015
4077
  "textarea",
4016
4078
  {
4017
4079
  ref: callback,
@@ -4029,7 +4091,7 @@ var BasicTextarea = React32.forwardRef(
4029
4091
  }
4030
4092
  );
4031
4093
  BasicTextarea.displayName = "BasicTextarea";
4032
- var TextareaWithPrefix = React32.forwardRef(
4094
+ var TextareaWithPrefix = React33.forwardRef(
4033
4095
  ({
4034
4096
  prefix,
4035
4097
  className,
@@ -4041,13 +4103,13 @@ var TextareaWithPrefix = React32.forwardRef(
4041
4103
  }, forwarded) => {
4042
4104
  const { ref, callback } = useMergedTextareaRef(forwarded);
4043
4105
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
4044
- return /* @__PURE__ */ jsxs23(
4106
+ return /* @__PURE__ */ jsxs25(
4045
4107
  "div",
4046
4108
  {
4047
4109
  className: cn("relative", getStretchClasses(className), wrapperClassName),
4048
4110
  children: [
4049
- prefix ? /* @__PURE__ */ jsx42("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
4050
- /* @__PURE__ */ jsx42(
4111
+ prefix ? /* @__PURE__ */ jsx43("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
4112
+ /* @__PURE__ */ jsx43(
4051
4113
  "textarea",
4052
4114
  {
4053
4115
  ref: callback,
@@ -4126,14 +4188,14 @@ function useScrollFade() {
4126
4188
 
4127
4189
  // src/hover-card.tsx
4128
4190
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
4129
- import * as React33 from "react";
4130
- import { jsx as jsx43 } from "react/jsx-runtime";
4191
+ import * as React34 from "react";
4192
+ import { jsx as jsx44 } from "react/jsx-runtime";
4131
4193
  var HoverCard = HoverCardPrimitive.Root;
4132
4194
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
4133
- var HoverCardContent = React33.forwardRef(
4195
+ var HoverCardContent = React34.forwardRef(
4134
4196
  ({ className, align = "center", sideOffset = 4, container, animated = true, ...props }, ref) => {
4135
4197
  const resolved = usePortalContainer(container);
4136
- return /* @__PURE__ */ jsx43(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx43(
4198
+ return /* @__PURE__ */ jsx44(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx44(
4137
4199
  HoverCardPrimitive.Content,
4138
4200
  {
4139
4201
  ref,
@@ -4154,9 +4216,9 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
4154
4216
 
4155
4217
  // src/radio-group.tsx
4156
4218
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
4157
- import * as React34 from "react";
4158
- import { jsx as jsx44 } from "react/jsx-runtime";
4159
- var RadioGroupSizeContext = React34.createContext("md");
4219
+ import * as React35 from "react";
4220
+ import { jsx as jsx45 } from "react/jsx-runtime";
4221
+ var RadioGroupSizeContext = React35.createContext("md");
4160
4222
  var CONTROL_CLASSES = {
4161
4223
  sm: "h-3.5 w-3.5",
4162
4224
  md: "h-4 w-4",
@@ -4167,7 +4229,7 @@ var DOT_CLASSES = {
4167
4229
  md: "h-1.5 w-1.5",
4168
4230
  lg: "h-2 w-2"
4169
4231
  };
4170
- var RadioGroup3 = React34.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx44(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx44(
4232
+ var RadioGroup3 = React35.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx45(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx45(
4171
4233
  RadioGroupPrimitive.Root,
4172
4234
  {
4173
4235
  ref,
@@ -4177,10 +4239,10 @@ var RadioGroup3 = React34.forwardRef(({ className, size = "md", ...props }, ref)
4177
4239
  }
4178
4240
  ) }));
4179
4241
  RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
4180
- var RadioGroupItem = React34.forwardRef(({ className, size, ...props }, ref) => {
4181
- const groupSize = React34.useContext(RadioGroupSizeContext);
4242
+ var RadioGroupItem = React35.forwardRef(({ className, size, ...props }, ref) => {
4243
+ const groupSize = React35.useContext(RadioGroupSizeContext);
4182
4244
  const resolved = size ?? groupSize;
4183
- return /* @__PURE__ */ jsx44(
4245
+ return /* @__PURE__ */ jsx45(
4184
4246
  RadioGroupPrimitive.Item,
4185
4247
  {
4186
4248
  ref,
@@ -4197,7 +4259,7 @@ var RadioGroupItem = React34.forwardRef(({ className, size, ...props }, ref) =>
4197
4259
  className
4198
4260
  ),
4199
4261
  ...props,
4200
- children: /* @__PURE__ */ jsx44(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx44(
4262
+ children: /* @__PURE__ */ jsx45(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx45(
4201
4263
  "div",
4202
4264
  {
4203
4265
  className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
@@ -4210,7 +4272,7 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
4210
4272
 
4211
4273
  // src/resizable.tsx
4212
4274
  import { Group as Group4, Panel, Separator as Separator5 } from "react-resizable-panels";
4213
- import { jsx as jsx45 } from "react/jsx-runtime";
4275
+ import { jsx as jsx46 } from "react/jsx-runtime";
4214
4276
  var HANDLE_SIZES = {
4215
4277
  xs: "w-0.5 [&[aria-orientation=horizontal]]:h-0.5 [&[aria-orientation=horizontal]]:w-full",
4216
4278
  sm: "w-1 [&[aria-orientation=horizontal]]:h-1 [&[aria-orientation=horizontal]]:w-full",
@@ -4224,7 +4286,7 @@ var HANDLE_SIZES = {
4224
4286
  var ResizablePanelGroup = ({
4225
4287
  className,
4226
4288
  ...props
4227
- }) => /* @__PURE__ */ jsx45(
4289
+ }) => /* @__PURE__ */ jsx46(
4228
4290
  Group4,
4229
4291
  {
4230
4292
  "data-slot": "resizable-group",
@@ -4239,7 +4301,7 @@ var ResizableHandle = ({
4239
4301
  size = "xs",
4240
4302
  className,
4241
4303
  ...props
4242
- }) => /* @__PURE__ */ jsx45(
4304
+ }) => /* @__PURE__ */ jsx46(
4243
4305
  Separator5,
4244
4306
  {
4245
4307
  "data-slot": "resizable-handle",
@@ -4259,15 +4321,15 @@ var ResizableHandle = ({
4259
4321
  className
4260
4322
  ),
4261
4323
  ...props,
4262
- children: withHandle ? /* @__PURE__ */ jsx45("div", { className: "z-10 flex h-8 w-4 items-center justify-center rounded-sm border bg-border group-aria-[orientation=horizontal]/handle:h-4 group-aria-[orientation=horizontal]/handle:w-8", children: /* @__PURE__ */ jsx45(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
4324
+ children: withHandle ? /* @__PURE__ */ jsx46("div", { className: "z-10 flex h-8 w-4 items-center justify-center rounded-sm border bg-border group-aria-[orientation=horizontal]/handle:h-4 group-aria-[orientation=horizontal]/handle:w-8", children: /* @__PURE__ */ jsx46(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
4263
4325
  }
4264
4326
  );
4265
4327
  ResizableHandle.displayName = "ResizableHandle";
4266
4328
 
4267
4329
  // src/slider.tsx
4268
4330
  import * as SliderPrimitive from "@radix-ui/react-slider";
4269
- import * as React35 from "react";
4270
- import { jsx as jsx46, jsxs as jsxs24 } from "react/jsx-runtime";
4331
+ import * as React36 from "react";
4332
+ import { jsx as jsx47, jsxs as jsxs26 } from "react/jsx-runtime";
4271
4333
  var TRACK_CLASSES = {
4272
4334
  sm: "h-1",
4273
4335
  md: "h-1.5",
@@ -4278,12 +4340,12 @@ var THUMB_CLASSES = {
4278
4340
  md: "h-4 w-4",
4279
4341
  lg: "h-5 w-5"
4280
4342
  };
4281
- var Slider = React35.forwardRef(({ className, size = "md", ...props }, ref) => {
4343
+ var Slider = React36.forwardRef(({ className, size = "md", ...props }, ref) => {
4282
4344
  const thumbCount = Math.max(
4283
4345
  1,
4284
4346
  (props.value ?? props.defaultValue ?? [0]).length
4285
4347
  );
4286
- return /* @__PURE__ */ jsxs24(
4348
+ return /* @__PURE__ */ jsxs26(
4287
4349
  SliderPrimitive.Root,
4288
4350
  {
4289
4351
  ref,
@@ -4295,7 +4357,7 @@ var Slider = React35.forwardRef(({ className, size = "md", ...props }, ref) => {
4295
4357
  ),
4296
4358
  ...props,
4297
4359
  children: [
4298
- /* @__PURE__ */ jsx46(
4360
+ /* @__PURE__ */ jsx47(
4299
4361
  SliderPrimitive.Track,
4300
4362
  {
4301
4363
  "data-slot": "slider-track",
@@ -4304,7 +4366,7 @@ var Slider = React35.forwardRef(({ className, size = "md", ...props }, ref) => {
4304
4366
  TRACK_CLASSES[size],
4305
4367
  "data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
4306
4368
  ),
4307
- children: /* @__PURE__ */ jsx46(
4369
+ children: /* @__PURE__ */ jsx47(
4308
4370
  SliderPrimitive.Range,
4309
4371
  {
4310
4372
  "data-slot": "slider-range",
@@ -4313,7 +4375,7 @@ var Slider = React35.forwardRef(({ className, size = "md", ...props }, ref) => {
4313
4375
  )
4314
4376
  }
4315
4377
  ),
4316
- Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ jsx46(
4378
+ Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ jsx47(
4317
4379
  SliderPrimitive.Thumb,
4318
4380
  {
4319
4381
  "data-slot": "slider-thumb",
@@ -4340,8 +4402,8 @@ Slider.displayName = SliderPrimitive.Root.displayName;
4340
4402
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
4341
4403
  import * as TogglePrimitive from "@radix-ui/react-toggle";
4342
4404
  import { cva as cva6 } from "class-variance-authority";
4343
- import * as React36 from "react";
4344
- import { jsx as jsx47 } from "react/jsx-runtime";
4405
+ import * as React37 from "react";
4406
+ import { jsx as jsx48 } from "react/jsx-runtime";
4345
4407
  var toggleVariants = cva6(
4346
4408
  "inline-flex cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
4347
4409
  {
@@ -4362,7 +4424,7 @@ var toggleVariants = cva6(
4362
4424
  }
4363
4425
  }
4364
4426
  );
4365
- var Toggle = React36.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx47(
4427
+ var Toggle = React37.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx48(
4366
4428
  TogglePrimitive.Root,
4367
4429
  {
4368
4430
  ref,
@@ -4372,21 +4434,21 @@ var Toggle = React36.forwardRef(({ className, variant, size, ...props }, ref) =>
4372
4434
  }
4373
4435
  ));
4374
4436
  Toggle.displayName = TogglePrimitive.Root.displayName;
4375
- var ToggleGroupContext = React36.createContext({ size: "default", variant: "default" });
4376
- var ToggleGroup = React36.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx47(
4437
+ var ToggleGroupContext = React37.createContext({ size: "default", variant: "default" });
4438
+ var ToggleGroup = React37.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx48(
4377
4439
  ToggleGroupPrimitive.Root,
4378
4440
  {
4379
4441
  ref,
4380
4442
  "data-slot": "toggle-group",
4381
4443
  className: cn("flex items-center justify-center gap-1", className),
4382
4444
  ...props,
4383
- children: /* @__PURE__ */ jsx47(ToggleGroupContext.Provider, { value: { variant, size }, children })
4445
+ children: /* @__PURE__ */ jsx48(ToggleGroupContext.Provider, { value: { variant, size }, children })
4384
4446
  }
4385
4447
  ));
4386
4448
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
4387
- var ToggleGroupItem = React36.forwardRef(({ className, children, variant, size, ...props }, ref) => {
4388
- const context = React36.useContext(ToggleGroupContext);
4389
- return /* @__PURE__ */ jsx47(
4449
+ var ToggleGroupItem = React37.forwardRef(({ className, children, variant, size, ...props }, ref) => {
4450
+ const context = React37.useContext(ToggleGroupContext);
4451
+ return /* @__PURE__ */ jsx48(
4390
4452
  ToggleGroupPrimitive.Item,
4391
4453
  {
4392
4454
  ref,
@@ -4407,14 +4469,14 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
4407
4469
 
4408
4470
  // src/tooltip.tsx
4409
4471
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
4410
- import * as React37 from "react";
4411
- import { jsx as jsx48 } from "react/jsx-runtime";
4472
+ import * as React38 from "react";
4473
+ import { jsx as jsx49 } from "react/jsx-runtime";
4412
4474
  var TooltipProvider = TooltipPrimitive.Provider;
4413
4475
  var Tooltip = TooltipPrimitive.Root;
4414
4476
  var TooltipTrigger = TooltipPrimitive.Trigger;
4415
- var TooltipContent = React37.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
4477
+ var TooltipContent = React38.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
4416
4478
  const resolved = usePortalContainer(container);
4417
- return /* @__PURE__ */ jsx48(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx48(
4479
+ return /* @__PURE__ */ jsx49(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx49(
4418
4480
  TooltipPrimitive.Content,
4419
4481
  {
4420
4482
  ref,
@@ -4434,7 +4496,7 @@ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
4434
4496
  // src/tap-target/tap-target-button.tsx
4435
4497
  import {
4436
4498
  cloneElement,
4437
- forwardRef as forwardRef31,
4499
+ forwardRef as forwardRef32,
4438
4500
  isValidElement
4439
4501
  } from "react";
4440
4502
 
@@ -4453,7 +4515,7 @@ function getTapTargetLinkComponent() {
4453
4515
  }
4454
4516
 
4455
4517
  // src/tap-target/tap-target-button.tsx
4456
- import { jsx as jsx49, jsxs as jsxs25 } from "react/jsx-runtime";
4518
+ import { jsx as jsx50, jsxs as jsxs27 } from "react/jsx-runtime";
4457
4519
  var EXTERNAL_RE = /^(https?:|mailto:|tel:)/i;
4458
4520
  var TAP_OUTER_CLASS = "matrx-tap-target group";
4459
4521
  var TAP_GROUP_OUTER_CLASS = "matrx-tap-target matrx-tap-target-sm group";
@@ -4469,9 +4531,9 @@ function IconContent({
4469
4531
  className: cn2(className, icon.props.className)
4470
4532
  });
4471
4533
  }
4472
- return /* @__PURE__ */ jsx49("span", { className, children: icon });
4534
+ return /* @__PURE__ */ jsx50("span", { className, children: icon });
4473
4535
  }
4474
- return /* @__PURE__ */ jsx49(
4536
+ return /* @__PURE__ */ jsx50(
4475
4537
  "svg",
4476
4538
  {
4477
4539
  className,
@@ -4508,7 +4570,7 @@ function buildTapInner({
4508
4570
  children,
4509
4571
  strokeWidth = 2
4510
4572
  }) {
4511
- const iconEl = /* @__PURE__ */ jsx49(
4573
+ const iconEl = /* @__PURE__ */ jsx50(
4512
4574
  IconContent,
4513
4575
  {
4514
4576
  icon,
@@ -4519,11 +4581,11 @@ function buildTapInner({
4519
4581
  );
4520
4582
  const pillClasses = label ? `${pillClassName} ${inlineModifier}`.trim() : pillClassName;
4521
4583
  if (!label) {
4522
- return /* @__PURE__ */ jsx49("div", { className: pillClasses, children: iconEl });
4584
+ return /* @__PURE__ */ jsx50("div", { className: pillClasses, children: iconEl });
4523
4585
  }
4524
- return /* @__PURE__ */ jsxs25("div", { className: pillClasses, children: [
4586
+ return /* @__PURE__ */ jsxs27("div", { className: pillClasses, children: [
4525
4587
  iconEl,
4526
- /* @__PURE__ */ jsx49("span", { className: labelClassName ?? "matrx-tap-label", children: label })
4588
+ /* @__PURE__ */ jsx50("span", { className: labelClassName ?? "matrx-tap-label", children: label })
4527
4589
  ] });
4528
4590
  }
4529
4591
  function renderTapTarget({
@@ -4611,7 +4673,7 @@ function renderTrigger({
4611
4673
  buttonRef
4612
4674
  }) {
4613
4675
  if (disabled && href) {
4614
- return /* @__PURE__ */ jsx49(
4676
+ return /* @__PURE__ */ jsx50(
4615
4677
  "span",
4616
4678
  {
4617
4679
  "aria-disabled": "true",
@@ -4624,7 +4686,7 @@ function renderTrigger({
4624
4686
  if (href) {
4625
4687
  const isExternal = EXTERNAL_RE.test(href);
4626
4688
  if (isExternal) {
4627
- return /* @__PURE__ */ jsx49(
4689
+ return /* @__PURE__ */ jsx50(
4628
4690
  "a",
4629
4691
  {
4630
4692
  href,
@@ -4638,7 +4700,7 @@ function renderTrigger({
4638
4700
  }
4639
4701
  const Link = linkComponent ?? getTapTargetLinkComponent();
4640
4702
  if (Link) {
4641
- return /* @__PURE__ */ jsx49(
4703
+ return /* @__PURE__ */ jsx50(
4642
4704
  Link,
4643
4705
  {
4644
4706
  href,
@@ -4651,7 +4713,7 @@ function renderTrigger({
4651
4713
  }
4652
4714
  );
4653
4715
  }
4654
- return /* @__PURE__ */ jsx49(
4716
+ return /* @__PURE__ */ jsx50(
4655
4717
  "a",
4656
4718
  {
4657
4719
  href,
@@ -4664,7 +4726,7 @@ function renderTrigger({
4664
4726
  );
4665
4727
  }
4666
4728
  if (as === "label") {
4667
- return /* @__PURE__ */ jsx49(
4729
+ return /* @__PURE__ */ jsx50(
4668
4730
  "label",
4669
4731
  {
4670
4732
  htmlFor,
@@ -4674,7 +4736,7 @@ function renderTrigger({
4674
4736
  }
4675
4737
  );
4676
4738
  }
4677
- return /* @__PURE__ */ jsx49(
4739
+ return /* @__PURE__ */ jsx50(
4678
4740
  "button",
4679
4741
  {
4680
4742
  ref: buttonRef,
@@ -4698,17 +4760,17 @@ function withTooltip(trigger, {
4698
4760
  if (tooltip === false) return trigger;
4699
4761
  const label = typeof tooltip === "string" && tooltip.length > 0 ? tooltip : ariaLabel;
4700
4762
  if (!label) return trigger;
4701
- return /* @__PURE__ */ jsxs25(Tooltip, { children: [
4702
- /* @__PURE__ */ jsx49(TooltipTrigger, { asChild: true, children: disabled ? (
4763
+ return /* @__PURE__ */ jsxs27(Tooltip, { children: [
4764
+ /* @__PURE__ */ jsx50(TooltipTrigger, { asChild: true, children: disabled ? (
4703
4765
  // Radix Tooltip triggers need a hoverable element; a disabled button
4704
4766
  // does not dispatch pointer events, so we wrap in a span for the
4705
4767
  // trigger target while keeping the disabled visual state.
4706
- /* @__PURE__ */ jsx49("span", { className: "inline-flex", children: trigger })
4768
+ /* @__PURE__ */ jsx50("span", { className: "inline-flex", children: trigger })
4707
4769
  ) : trigger }),
4708
- /* @__PURE__ */ jsx49(TooltipContent, { side: tooltipSide, align: tooltipAlign, children: label })
4770
+ /* @__PURE__ */ jsx50(TooltipContent, { side: tooltipSide, align: tooltipAlign, children: label })
4709
4771
  ] });
4710
4772
  }
4711
- var TapTargetButton = forwardRef31(function TapTargetButton2({
4773
+ var TapTargetButton = forwardRef32(function TapTargetButton2({
4712
4774
  icon,
4713
4775
  children,
4714
4776
  strokeWidth = 2,
@@ -4756,7 +4818,7 @@ var TapTargetButton = forwardRef31(function TapTargetButton2({
4756
4818
  buttonRef: ref
4757
4819
  });
4758
4820
  });
4759
- var TapTargetButtonTransparent = forwardRef31(function TapTargetButtonTransparent2({
4821
+ var TapTargetButtonTransparent = forwardRef32(function TapTargetButtonTransparent2({
4760
4822
  icon,
4761
4823
  children,
4762
4824
  strokeWidth = 2,
@@ -4804,7 +4866,7 @@ var TapTargetButtonTransparent = forwardRef31(function TapTargetButtonTransparen
4804
4866
  buttonRef: ref
4805
4867
  });
4806
4868
  });
4807
- var TapTargetButtonSolid = forwardRef31(function TapTargetButtonSolid2({
4869
+ var TapTargetButtonSolid = forwardRef32(function TapTargetButtonSolid2({
4808
4870
  icon,
4809
4871
  children,
4810
4872
  strokeWidth = 2,
@@ -4855,13 +4917,13 @@ var TapTargetButtonSolid = forwardRef31(function TapTargetButtonSolid2({
4855
4917
  buttonRef: ref
4856
4918
  });
4857
4919
  });
4858
- var TapTargetButtonDestructive = forwardRef31(function TapTargetButtonDestructive2({
4920
+ var TapTargetButtonDestructive = forwardRef32(function TapTargetButtonDestructive2({
4859
4921
  bgColor = "bg-destructive",
4860
4922
  iconColor = "text-destructive-foreground",
4861
4923
  hoverBgColor = "hover:bg-destructive/90",
4862
4924
  ...rest
4863
4925
  }, ref) {
4864
- return /* @__PURE__ */ jsx49(
4926
+ return /* @__PURE__ */ jsx50(
4865
4927
  TapTargetButtonSolid,
4866
4928
  {
4867
4929
  ref,
@@ -4872,7 +4934,7 @@ var TapTargetButtonDestructive = forwardRef31(function TapTargetButtonDestructiv
4872
4934
  }
4873
4935
  );
4874
4936
  });
4875
- var TapTargetButtonForGroup = forwardRef31(function TapTargetButtonForGroup2({
4937
+ var TapTargetButtonForGroup = forwardRef32(function TapTargetButtonForGroup2({
4876
4938
  icon,
4877
4939
  children,
4878
4940
  strokeWidth = 2,
@@ -4926,32 +4988,32 @@ function TapTargetButtonGroup({
4926
4988
  children,
4927
4989
  className
4928
4990
  }) {
4929
- return /* @__PURE__ */ jsxs25(
4991
+ return /* @__PURE__ */ jsxs27(
4930
4992
  "div",
4931
4993
  {
4932
4994
  className: className ? `relative inline-flex h-9 items-center ${className}` : "relative inline-flex h-9 items-center",
4933
4995
  children: [
4934
- /* @__PURE__ */ jsx49("div", { className: "pointer-events-none absolute inset-x-0 top-1/2 -translate-y-1/2 h-7 rounded-full matrx-glass-thin-border" }),
4935
- /* @__PURE__ */ jsx49("div", { className: "relative flex min-w-0 items-center", children })
4996
+ /* @__PURE__ */ jsx50("div", { className: "pointer-events-none absolute inset-x-0 top-1/2 -translate-y-1/2 h-7 rounded-full matrx-glass-thin-border" }),
4997
+ /* @__PURE__ */ jsx50("div", { className: "relative flex min-w-0 items-center", children })
4936
4998
  ]
4937
4999
  }
4938
5000
  );
4939
5001
  }
4940
5002
 
4941
5003
  // src/tap-target/tap-target-labeled.tsx
4942
- import { jsx as jsx50, jsxs as jsxs26 } from "react/jsx-runtime";
5004
+ import { jsx as jsx51, jsxs as jsxs28 } from "react/jsx-runtime";
4943
5005
  function TapTargetLabeled({
4944
5006
  label,
4945
5007
  children,
4946
5008
  hideLabel = false,
4947
5009
  toolTipSide = "bottom"
4948
5010
  }) {
4949
- return /* @__PURE__ */ jsx50(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ jsxs26(Tooltip, { children: [
4950
- /* @__PURE__ */ jsx50(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs26("div", { className: "flex flex-col items-center p-0 gap-0 space-y-0 space-x-0 shrink-0", children: [
5011
+ return /* @__PURE__ */ jsx51(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ jsxs28(Tooltip, { children: [
5012
+ /* @__PURE__ */ jsx51(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs28("div", { className: "flex flex-col items-center p-0 gap-0 space-y-0 space-x-0 shrink-0", children: [
4951
5013
  children,
4952
- !hideLabel && /* @__PURE__ */ jsx50("span", { className: "text-[10px] text-muted-foreground/70 leading-tight max-w-[52px] text-center truncate", children: label })
5014
+ !hideLabel && /* @__PURE__ */ jsx51("span", { className: "text-[10px] text-muted-foreground/70 leading-tight max-w-[52px] text-center truncate", children: label })
4953
5015
  ] }) }),
4954
- /* @__PURE__ */ jsx50(TooltipContent, { side: toolTipSide, children: /* @__PURE__ */ jsx50("span", { className: "font-mono text-xs max-w-[280px] break-all", children: label }) })
5016
+ /* @__PURE__ */ jsx51(TooltipContent, { side: toolTipSide, children: /* @__PURE__ */ jsx51("span", { className: "font-mono text-xs max-w-[280px] break-all", children: label }) })
4955
5017
  ] }) });
4956
5018
  }
4957
5019
  export {
@@ -5072,6 +5134,9 @@ export {
5072
5134
  DropdownMenuTrigger,
5073
5135
  EditableLabel,
5074
5136
  EnterInput,
5137
+ ErrorActions,
5138
+ ErrorActionsProvider,
5139
+ ErrorBox,
5075
5140
  FORBIDDEN_HOST_MOTION_UTILITIES,
5076
5141
  HoverCard,
5077
5142
  HoverCardContent,
@@ -5178,6 +5243,7 @@ export {
5178
5243
  useCardSize,
5179
5244
  useDialogContainer,
5180
5245
  useDrawerDirection,
5246
+ useErrorActions,
5181
5247
  useIsMobile,
5182
5248
  usePortalContainer,
5183
5249
  useRadixDialogModal,