@ai-matrx/design-system 0.42.0 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/data-table/copy-helpers.d.cts +1 -1
  3. package/dist/data-table/copy-helpers.d.ts +1 -1
  4. package/dist/data-table/filter-engine.d.cts +1 -1
  5. package/dist/data-table/filter-engine.d.ts +1 -1
  6. package/dist/data-table/host.d.cts +1 -1
  7. package/dist/data-table/host.d.ts +1 -1
  8. package/dist/data-table/index.cjs +1453 -1330
  9. package/dist/data-table/index.cjs.map +1 -1
  10. package/dist/data-table/index.d.cts +2 -2
  11. package/dist/data-table/index.d.ts +2 -2
  12. package/dist/data-table/index.js +1468 -1345
  13. package/dist/data-table/index.js.map +1 -1
  14. package/dist/data-table/infer-filter.d.cts +1 -1
  15. package/dist/data-table/infer-filter.d.ts +1 -1
  16. package/dist/data-table/layered-filters.d.cts +1 -1
  17. package/dist/data-table/layered-filters.d.ts +1 -1
  18. package/dist/data-table/query-control.d.cts +1 -1
  19. package/dist/data-table/query-control.d.ts +1 -1
  20. package/dist/data-table/spreadsheet.cjs +68 -1
  21. package/dist/data-table/spreadsheet.cjs.map +1 -1
  22. package/dist/data-table/spreadsheet.d.cts +55 -1
  23. package/dist/data-table/spreadsheet.d.ts +55 -1
  24. package/dist/data-table/spreadsheet.js +68 -1
  25. package/dist/data-table/spreadsheet.js.map +1 -1
  26. package/dist/data-table/types.cjs.map +1 -1
  27. package/dist/data-table/types.d.cts +1 -1
  28. package/dist/data-table/types.d.ts +1 -1
  29. package/dist/data-table/url-state.d.cts +1 -1
  30. package/dist/data-table/url-state.d.ts +1 -1
  31. package/dist/data-table/xlsx.d.cts +1 -1
  32. package/dist/data-table/xlsx.d.ts +1 -1
  33. package/dist/index.cjs +534 -468
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.cts +67 -1
  36. package/dist/index.d.ts +67 -1
  37. package/dist/index.js +541 -475
  38. package/dist/index.js.map +1 -1
  39. package/dist/{types-afUz93xo.d.ts → types-CUR8Hbt5.d.ts} +12 -0
  40. package/dist/{types-q5ficDSo.d.cts → types-CqU57qk8.d.cts} +12 -0
  41. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -148,6 +148,9 @@ __export(src_exports, {
148
148
  DropdownMenuTrigger: () => DropdownMenuTrigger,
149
149
  EditableLabel: () => EditableLabel,
150
150
  EnterInput: () => EnterInput,
151
+ ErrorActions: () => ErrorActions,
152
+ ErrorActionsProvider: () => ErrorActionsProvider,
153
+ ErrorBox: () => ErrorBox,
151
154
  FORBIDDEN_HOST_MOTION_UTILITIES: () => FORBIDDEN_HOST_MOTION_UTILITIES,
152
155
  HoverCard: () => HoverCard,
153
156
  HoverCardContent: () => HoverCardContent,
@@ -254,6 +257,7 @@ __export(src_exports, {
254
257
  useCardSize: () => useCardSize,
255
258
  useDialogContainer: () => useDialogContainer,
256
259
  useDrawerDirection: () => useDrawerDirection,
260
+ useErrorActions: () => useErrorActions,
257
261
  useIsMobile: () => useIsMobile,
258
262
  usePortalContainer: () => usePortalContainer,
259
263
  useRadixDialogModal: () => useRadixDialogModal,
@@ -864,8 +868,58 @@ function BottomSheetFooter({
864
868
 
865
869
  // src/alert.tsx
866
870
  var import_class_variance_authority2 = require("class-variance-authority");
871
+ var React5 = __toESM(require("react"), 1);
872
+
873
+ // src/error-box.tsx
867
874
  var React4 = __toESM(require("react"), 1);
868
875
  var import_jsx_runtime7 = require("react/jsx-runtime");
876
+ var CONTEXT_KEY = /* @__PURE__ */ Symbol.for("@ai-matrx/design-system/error-actions");
877
+ var registry = globalThis;
878
+ var ErrorActionsContext = registry[CONTEXT_KEY] ?? (registry[CONTEXT_KEY] = React4.createContext(null));
879
+ function ErrorActionsProvider({
880
+ render,
881
+ children
882
+ }) {
883
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ErrorActionsContext.Provider, { value: render, children });
884
+ }
885
+ function useErrorActions() {
886
+ return React4.useContext(ErrorActionsContext);
887
+ }
888
+ function ErrorActions(props) {
889
+ const render = useErrorActions();
890
+ if (!render) return null;
891
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children: render(props) });
892
+ }
893
+ var ErrorBox = React4.forwardRef(function ErrorBox2({
894
+ as = "p",
895
+ message,
896
+ title,
897
+ error,
898
+ operation,
899
+ records,
900
+ unsavedInput,
901
+ origin,
902
+ children,
903
+ ...rest
904
+ }, ref) {
905
+ const Tag = as;
906
+ const facts = {
907
+ ...message !== void 0 ? { message } : {},
908
+ ...title !== void 0 ? { title } : {},
909
+ ...error !== void 0 ? { error } : {},
910
+ ...operation !== void 0 ? { operation } : {},
911
+ ...records !== void 0 ? { records } : {},
912
+ ...unsavedInput !== void 0 ? { unsavedInput } : {},
913
+ ...origin !== void 0 ? { origin } : {}
914
+ };
915
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Tag, { ref, role: "alert", "data-error-box": "", ...rest, children: [
916
+ children ?? message,
917
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ErrorActions, { ...facts })
918
+ ] });
919
+ });
920
+
921
+ // src/alert.tsx
922
+ var import_jsx_runtime8 = require("react/jsx-runtime");
869
923
  var alertVariants = (0, import_class_variance_authority2.cva)(
870
924
  "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",
871
925
  {
@@ -883,8 +937,8 @@ var alertVariants = (0, import_class_variance_authority2.cva)(
883
937
  }
884
938
  }
885
939
  );
886
- var Alert = React4.forwardRef(
887
- ({ className, variant, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
940
+ var Alert = React5.forwardRef(
941
+ ({ className, variant, children, errorFacts, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
888
942
  "div",
889
943
  {
890
944
  ref,
@@ -892,12 +946,16 @@ var Alert = React4.forwardRef(
892
946
  "data-slot": "alert",
893
947
  "data-variant": variant ?? "default",
894
948
  className: cn(alertVariants({ variant }), className),
895
- ...props
949
+ ...props,
950
+ children: [
951
+ children,
952
+ variant === "destructive" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ErrorActions, { origin: "design-system/Alert", ...errorFacts }) : null
953
+ ]
896
954
  }
897
955
  )
898
956
  );
899
957
  Alert.displayName = "Alert";
900
- var AlertTitle = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
958
+ var AlertTitle = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
901
959
  "h5",
902
960
  {
903
961
  ref,
@@ -907,7 +965,7 @@ var AlertTitle = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE_
907
965
  }
908
966
  ));
909
967
  AlertTitle.displayName = "AlertTitle";
910
- var AlertDescription = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
968
+ var AlertDescription = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
911
969
  "div",
912
970
  {
913
971
  ref,
@@ -921,13 +979,13 @@ AlertDescription.displayName = "AlertDescription";
921
979
  // src/alert-dialog.tsx
922
980
  var AlertDialogPrimitive = __toESM(require("@radix-ui/react-alert-dialog"), 1);
923
981
  var import_react_tree2 = require("@ai-matrx/kit/react-tree");
924
- var React7 = __toESM(require("react"), 1);
982
+ var React8 = __toESM(require("react"), 1);
925
983
 
926
984
  // src/button.tsx
927
985
  var import_react_slot = require("@radix-ui/react-slot");
928
986
  var import_class_variance_authority3 = require("class-variance-authority");
929
- var React5 = __toESM(require("react"), 1);
930
- var import_jsx_runtime8 = require("react/jsx-runtime");
987
+ var React6 = __toESM(require("react"), 1);
988
+ var import_jsx_runtime9 = require("react/jsx-runtime");
931
989
  var buttonVariants = (0, import_class_variance_authority3.cva)(
932
990
  "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",
933
991
  {
@@ -990,11 +1048,11 @@ var TOUCH_FLOOR_SIZES = /* @__PURE__ */ new Set([
990
1048
  "roundIcon"
991
1049
  ]);
992
1050
  var SQUARE_SIZES = /* @__PURE__ */ new Set(["icon", "icon-sm", "roundIcon"]);
993
- var Button = React5.forwardRef(
1051
+ var Button = React6.forwardRef(
994
1052
  ({ className, variant, size, asChild = false, ...props }, ref) => {
995
1053
  const Component = asChild ? import_react_slot.Slot : "button";
996
1054
  const resolvedSize = size ?? "default";
997
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1055
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
998
1056
  Component,
999
1057
  {
1000
1058
  className: cn(buttonVariants({ variant, size, className })),
@@ -1051,19 +1109,19 @@ var FORBIDDEN_HOST_MOTION_UTILITIES = [
1051
1109
  ];
1052
1110
 
1053
1111
  // src/portal-container.tsx
1054
- var React6 = __toESM(require("react"), 1);
1055
- var import_jsx_runtime9 = require("react/jsx-runtime");
1112
+ var React7 = __toESM(require("react"), 1);
1113
+ var import_jsx_runtime10 = require("react/jsx-runtime");
1056
1114
  var CONTEXT_SLOT2 = /* @__PURE__ */ Symbol.for("ai-matrx.design-system.portal-container-context");
1057
1115
  var contextRegistry2 = globalThis;
1058
- var PortalContainerContext = contextRegistry2[CONTEXT_SLOT2] ??= React6.createContext(void 0);
1116
+ var PortalContainerContext = contextRegistry2[CONTEXT_SLOT2] ??= React7.createContext(void 0);
1059
1117
  function PortalContainerProvider({
1060
1118
  container,
1061
1119
  children
1062
1120
  }) {
1063
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(PortalContainerContext.Provider, { value: container ?? void 0, children });
1121
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(PortalContainerContext.Provider, { value: container ?? void 0, children });
1064
1122
  }
1065
1123
  function usePortalContainer(explicit) {
1066
- const injected = React6.useContext(PortalContainerContext);
1124
+ const injected = React7.useContext(PortalContainerContext);
1067
1125
  if (explicit !== void 0) {
1068
1126
  return explicit ?? void 0;
1069
1127
  }
@@ -1071,7 +1129,7 @@ function usePortalContainer(explicit) {
1071
1129
  }
1072
1130
 
1073
1131
  // src/alert-dialog.tsx
1074
- var import_jsx_runtime10 = require("react/jsx-runtime");
1132
+ var import_jsx_runtime11 = require("react/jsx-runtime");
1075
1133
  var AlertDialog = AlertDialogPrimitive.Root;
1076
1134
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
1077
1135
  var AlertDialogPortal = ({
@@ -1079,10 +1137,10 @@ var AlertDialogPortal = ({
1079
1137
  ...props
1080
1138
  }) => {
1081
1139
  const resolved = usePortalContainer(container);
1082
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(AlertDialogPrimitive.Portal, { container: resolved ?? null, ...props });
1140
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AlertDialogPrimitive.Portal, { container: resolved ?? null, ...props });
1083
1141
  };
1084
1142
  AlertDialogPortal.displayName = "AlertDialogPortal";
1085
- var AlertDialogOverlay = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1143
+ var AlertDialogOverlay = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1086
1144
  AlertDialogPrimitive.Overlay,
1087
1145
  {
1088
1146
  ref,
@@ -1096,9 +1154,9 @@ var AlertDialogOverlay = React7.forwardRef(({ className, ...props }, ref) => /*
1096
1154
  }
1097
1155
  ));
1098
1156
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
1099
- var AlertDialogContentPrimitive = React7.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(AlertDialogPrimitive.Content, { ...props, ref, "aria-modal": "true" }));
1157
+ var AlertDialogContentPrimitive = React8.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AlertDialogPrimitive.Content, { ...props, ref, "aria-modal": "true" }));
1100
1158
  AlertDialogContentPrimitive.displayName = "AlertDialogContentPrimitive";
1101
- var AlertDialogDescription = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1159
+ var AlertDialogDescription = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1102
1160
  AlertDialogPrimitive.Description,
1103
1161
  {
1104
1162
  ref,
@@ -1108,11 +1166,11 @@ var AlertDialogDescription = React7.forwardRef(({ className, ...props }, ref) =>
1108
1166
  }
1109
1167
  ));
1110
1168
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
1111
- var AlertDialogContent = React7.forwardRef(({ className, children, container, animated = true, ...props }, ref) => {
1169
+ var AlertDialogContent = React8.forwardRef(({ className, children, container, animated = true, ...props }, ref) => {
1112
1170
  const hasDescription = (0, import_react_tree2.treeContainsComponent)(children, AlertDialogDescription) || (0, import_react_tree2.treeContainsComponent)(children, AlertDialogPrimitive.Description);
1113
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(AlertDialogPortal, { container, children: [
1114
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(AlertDialogOverlay, {}),
1115
- /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
1171
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(AlertDialogPortal, { container, children: [
1172
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AlertDialogOverlay, {}),
1173
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1116
1174
  AlertDialogContentPrimitive,
1117
1175
  {
1118
1176
  ref,
@@ -1132,7 +1190,7 @@ var AlertDialogContent = React7.forwardRef(({ className, children, container, an
1132
1190
  ),
1133
1191
  ...props,
1134
1192
  children: [
1135
- hasDescription ? null : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(AlertDialogPrimitive.Description, { className: "sr-only", children: "Please confirm the action described in this dialog." }),
1193
+ hasDescription ? null : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AlertDialogPrimitive.Description, { className: "sr-only", children: "Please confirm the action described in this dialog." }),
1136
1194
  children
1137
1195
  ]
1138
1196
  }
@@ -1143,7 +1201,7 @@ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
1143
1201
  var AlertDialogHeader = ({
1144
1202
  className,
1145
1203
  ...props
1146
- }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1204
+ }) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1147
1205
  "div",
1148
1206
  {
1149
1207
  "data-slot": "alert-dialog-header",
@@ -1155,7 +1213,7 @@ AlertDialogHeader.displayName = "AlertDialogHeader";
1155
1213
  var AlertDialogFooter = ({
1156
1214
  className,
1157
1215
  ...props
1158
- }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1216
+ }) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1159
1217
  "div",
1160
1218
  {
1161
1219
  "data-slot": "alert-dialog-footer",
@@ -1187,7 +1245,7 @@ var AlertDialogFooter = ({
1187
1245
  }
1188
1246
  );
1189
1247
  AlertDialogFooter.displayName = "AlertDialogFooter";
1190
- var AlertDialogTitle = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1248
+ var AlertDialogTitle = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1191
1249
  AlertDialogPrimitive.Title,
1192
1250
  {
1193
1251
  ref,
@@ -1197,7 +1255,7 @@ var AlertDialogTitle = React7.forwardRef(({ className, ...props }, ref) => /* @_
1197
1255
  }
1198
1256
  ));
1199
1257
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
1200
- var AlertDialogAction = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1258
+ var AlertDialogAction = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1201
1259
  AlertDialogPrimitive.Action,
1202
1260
  {
1203
1261
  ref,
@@ -1207,7 +1265,7 @@ var AlertDialogAction = React7.forwardRef(({ className, ...props }, ref) => /* @
1207
1265
  }
1208
1266
  ));
1209
1267
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
1210
- var AlertDialogCancel = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1268
+ var AlertDialogCancel = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1211
1269
  AlertDialogPrimitive.Cancel,
1212
1270
  {
1213
1271
  ref,
@@ -1224,14 +1282,14 @@ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
1224
1282
 
1225
1283
  // src/avatar.tsx
1226
1284
  var AvatarPrimitive = __toESM(require("@radix-ui/react-avatar"), 1);
1227
- var React8 = __toESM(require("react"), 1);
1228
- var import_jsx_runtime11 = require("react/jsx-runtime");
1285
+ var React9 = __toESM(require("react"), 1);
1286
+ var import_jsx_runtime12 = require("react/jsx-runtime");
1229
1287
  var AVATAR_SIZES = {
1230
1288
  sm: "h-8 w-8 text-[11px]",
1231
1289
  md: "h-9 w-9 text-xs",
1232
1290
  lg: "h-10 w-10 text-sm"
1233
1291
  };
1234
- var Avatar = React8.forwardRef(({ className, size = "lg", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1292
+ var Avatar = React9.forwardRef(({ className, size = "lg", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1235
1293
  AvatarPrimitive.Root,
1236
1294
  {
1237
1295
  ref,
@@ -1245,7 +1303,7 @@ var Avatar = React8.forwardRef(({ className, size = "lg", ...props }, ref) => /*
1245
1303
  }
1246
1304
  ));
1247
1305
  Avatar.displayName = AvatarPrimitive.Root.displayName;
1248
- var AvatarImage = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1306
+ var AvatarImage = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1249
1307
  AvatarPrimitive.Image,
1250
1308
  {
1251
1309
  ref,
@@ -1255,7 +1313,7 @@ var AvatarImage = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE
1255
1313
  }
1256
1314
  ));
1257
1315
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
1258
- var AvatarFallback = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1316
+ var AvatarFallback = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1259
1317
  AvatarPrimitive.Fallback,
1260
1318
  {
1261
1319
  ref,
@@ -1270,8 +1328,8 @@ var AvatarFallback = React8.forwardRef(({ className, ...props }, ref) => /* @__P
1270
1328
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
1271
1329
 
1272
1330
  // src/card.tsx
1273
- var React9 = __toESM(require("react"), 1);
1274
- var import_jsx_runtime12 = require("react/jsx-runtime");
1331
+ var React10 = __toESM(require("react"), 1);
1332
+ var import_jsx_runtime13 = require("react/jsx-runtime");
1275
1333
  var CARD_SIZES = {
1276
1334
  sm: {
1277
1335
  root: "rounded-xl border bg-card text-card-foreground shadow",
@@ -1289,12 +1347,12 @@ var CARD_SIZES = {
1289
1347
  padTopless: "p-6 pt-0"
1290
1348
  }
1291
1349
  };
1292
- var CardSizeContext = React9.createContext("md");
1350
+ var CardSizeContext = React10.createContext("md");
1293
1351
  function useCardSize() {
1294
- return React9.useContext(CardSizeContext);
1352
+ return React10.useContext(CardSizeContext);
1295
1353
  }
1296
- var Card = React9.forwardRef(
1297
- ({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CardSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1354
+ var Card = React10.forwardRef(
1355
+ ({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(CardSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1298
1356
  "div",
1299
1357
  {
1300
1358
  ref,
@@ -1306,9 +1364,9 @@ var Card = React9.forwardRef(
1306
1364
  ) })
1307
1365
  );
1308
1366
  Card.displayName = "Card";
1309
- var CardHeader = React9.forwardRef(({ className, ...props }, ref) => {
1367
+ var CardHeader = React10.forwardRef(({ className, ...props }, ref) => {
1310
1368
  const size = useCardSize();
1311
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1369
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1312
1370
  "div",
1313
1371
  {
1314
1372
  ref,
@@ -1323,7 +1381,7 @@ var CardHeader = React9.forwardRef(({ className, ...props }, ref) => {
1323
1381
  );
1324
1382
  });
1325
1383
  CardHeader.displayName = "CardHeader";
1326
- var CardTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1384
+ var CardTitle = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1327
1385
  "h3",
1328
1386
  {
1329
1387
  ref,
@@ -1333,7 +1391,7 @@ var CardTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1333
1391
  }
1334
1392
  ));
1335
1393
  CardTitle.displayName = "CardTitle";
1336
- var CardDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1394
+ var CardDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1337
1395
  "p",
1338
1396
  {
1339
1397
  ref,
@@ -1343,7 +1401,7 @@ var CardDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__
1343
1401
  }
1344
1402
  ));
1345
1403
  CardDescription.displayName = "CardDescription";
1346
- var CardAction = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1404
+ var CardAction = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1347
1405
  "div",
1348
1406
  {
1349
1407
  ref,
@@ -1353,9 +1411,9 @@ var CardAction = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1353
1411
  }
1354
1412
  ));
1355
1413
  CardAction.displayName = "CardAction";
1356
- var CardContent = React9.forwardRef(({ className, ...props }, ref) => {
1414
+ var CardContent = React10.forwardRef(({ className, ...props }, ref) => {
1357
1415
  const size = useCardSize();
1358
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1416
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1359
1417
  "div",
1360
1418
  {
1361
1419
  ref,
@@ -1366,9 +1424,9 @@ var CardContent = React9.forwardRef(({ className, ...props }, ref) => {
1366
1424
  );
1367
1425
  });
1368
1426
  CardContent.displayName = "CardContent";
1369
- var CardFooter = React9.forwardRef(({ className, ...props }, ref) => {
1427
+ var CardFooter = React10.forwardRef(({ className, ...props }, ref) => {
1370
1428
  const size = useCardSize();
1371
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1429
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1372
1430
  "div",
1373
1431
  {
1374
1432
  ref,
@@ -1386,13 +1444,13 @@ CardFooter.displayName = "CardFooter";
1386
1444
 
1387
1445
  // src/checkbox.tsx
1388
1446
  var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
1389
- var React10 = __toESM(require("react"), 1);
1390
- var import_jsx_runtime13 = require("react/jsx-runtime");
1447
+ var React11 = __toESM(require("react"), 1);
1448
+ var import_jsx_runtime14 = require("react/jsx-runtime");
1391
1449
  var CHECKBOX_SIZES = {
1392
1450
  sm: { root: "h-3.5 w-3.5 rounded-xs", glyph: "h-3 w-3" },
1393
1451
  md: { root: "h-4 w-4 rounded-sm", glyph: "h-3.5 w-3.5" }
1394
1452
  };
1395
- var Checkbox = React10.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1453
+ var Checkbox = React11.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1396
1454
  CheckboxPrimitive.Root,
1397
1455
  {
1398
1456
  ref,
@@ -1403,12 +1461,12 @@ var Checkbox = React10.forwardRef(({ className, size = "md", ...props }, ref) =>
1403
1461
  className
1404
1462
  ),
1405
1463
  ...props,
1406
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1464
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1407
1465
  CheckboxPrimitive.Indicator,
1408
1466
  {
1409
1467
  "data-slot": "checkbox-indicator",
1410
1468
  className: "flex items-center justify-center text-current",
1411
- children: props.checked === "indeterminate" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DividerHorizontalIcon, { className: CHECKBOX_SIZES[size].glyph }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(CheckIcon, { className: CHECKBOX_SIZES[size].glyph })
1469
+ children: props.checked === "indeterminate" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DividerHorizontalIcon, { className: CHECKBOX_SIZES[size].glyph }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(CheckIcon, { className: CHECKBOX_SIZES[size].glyph })
1412
1470
  }
1413
1471
  )
1414
1472
  }
@@ -1417,11 +1475,11 @@ Checkbox.displayName = CheckboxPrimitive.Root.displayName;
1417
1475
 
1418
1476
  // src/collapsible.tsx
1419
1477
  var CollapsiblePrimitive = __toESM(require("@radix-ui/react-collapsible"), 1);
1420
- var React11 = __toESM(require("react"), 1);
1421
- var import_jsx_runtime14 = require("react/jsx-runtime");
1478
+ var React12 = __toESM(require("react"), 1);
1479
+ var import_jsx_runtime15 = require("react/jsx-runtime");
1422
1480
  var Collapsible = CollapsiblePrimitive.Root;
1423
1481
  var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
1424
- var CollapsibleContent2 = React11.forwardRef(({ className, animated = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1482
+ var CollapsibleContent2 = React12.forwardRef(({ className, animated = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1425
1483
  CollapsiblePrimitive.CollapsibleContent,
1426
1484
  {
1427
1485
  ref,
@@ -1438,15 +1496,15 @@ CollapsibleContent2.displayName = "CollapsibleContent";
1438
1496
  // src/command.tsx
1439
1497
  var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
1440
1498
  var import_cmdk = require("cmdk");
1441
- var React13 = __toESM(require("react"), 1);
1499
+ var React14 = __toESM(require("react"), 1);
1442
1500
 
1443
1501
  // src/use-is-mobile.ts
1444
- var React12 = __toESM(require("react"), 1);
1502
+ var React13 = __toESM(require("react"), 1);
1445
1503
  var MOBILE_BREAKPOINT = 768;
1446
1504
  function useIsMobile() {
1447
- const [isMobile, setIsMobile] = React12.useState(false);
1448
- const [hasMounted, setHasMounted] = React12.useState(false);
1449
- React12.useEffect(() => {
1505
+ const [isMobile, setIsMobile] = React13.useState(false);
1506
+ const [hasMounted, setHasMounted] = React13.useState(false);
1507
+ React13.useEffect(() => {
1450
1508
  setHasMounted(true);
1451
1509
  const onChange = () => {
1452
1510
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -1466,8 +1524,8 @@ function useIsMobile() {
1466
1524
  }
1467
1525
 
1468
1526
  // src/command.tsx
1469
- var import_jsx_runtime15 = require("react/jsx-runtime");
1470
- var Command = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1527
+ var import_jsx_runtime16 = require("react/jsx-runtime");
1528
+ var Command = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1471
1529
  import_cmdk.Command,
1472
1530
  {
1473
1531
  ref,
@@ -1482,12 +1540,12 @@ Command.displayName = import_cmdk.Command.displayName;
1482
1540
  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`;
1483
1541
  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";
1484
1542
  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";
1485
- var CommandDialogContent = React13.forwardRef(({ className, children, container, ...props }, ref) => {
1543
+ var CommandDialogContent = React14.forwardRef(({ className, children, container, ...props }, ref) => {
1486
1544
  const isMobile = useIsMobile();
1487
1545
  const isModal = useRadixDialogModal();
1488
1546
  const portalContainer = usePortalContainer(container);
1489
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(DialogPrimitive.Portal, { container: portalContainer, children: [
1490
- isModal ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1547
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(DialogPrimitive.Portal, { container: portalContainer, children: [
1548
+ isModal ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1491
1549
  DialogPrimitive.Overlay,
1492
1550
  {
1493
1551
  className: cn(
@@ -1496,7 +1554,7 @@ var CommandDialogContent = React13.forwardRef(({ className, children, container,
1496
1554
  )
1497
1555
  }
1498
1556
  ) : null,
1499
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1557
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
1500
1558
  DialogPrimitive.Content,
1501
1559
  {
1502
1560
  ref,
@@ -1512,9 +1570,9 @@ var CommandDialogContent = React13.forwardRef(({ className, children, container,
1512
1570
  ...props,
1513
1571
  children: [
1514
1572
  children,
1515
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(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: [
1516
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(XIcon, { className: "h-4 w-4" }),
1517
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "sr-only", children: "Close" })
1573
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(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: [
1574
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(XIcon, { className: "h-4 w-4" }),
1575
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "sr-only", children: "Close" })
1518
1576
  ] })
1519
1577
  ]
1520
1578
  }
@@ -1528,21 +1586,21 @@ var CommandDialog = ({
1528
1586
  ...props
1529
1587
  }) => {
1530
1588
  const modal = props.modal ?? true;
1531
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DialogPrimitive.Root, { ...props, modal, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1589
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DialogPrimitive.Root, { ...props, modal, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
1532
1590
  CommandDialogContent,
1533
1591
  {
1534
1592
  className: "overflow-hidden p-0",
1535
1593
  ...container !== void 0 ? { container } : {},
1536
1594
  children: [
1537
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DialogPrimitive.Title, { className: "sr-only" }),
1538
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(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 })
1595
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DialogPrimitive.Title, { className: "sr-only" }),
1596
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(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 })
1539
1597
  ]
1540
1598
  }
1541
1599
  ) }) });
1542
1600
  };
1543
- var CommandInput = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
1544
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
1545
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1601
+ var CommandInput = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
1602
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
1603
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1546
1604
  import_cmdk.Command.Input,
1547
1605
  {
1548
1606
  ref,
@@ -1555,7 +1613,7 @@ var CommandInput = React13.forwardRef(({ className, ...props }, ref) => /* @__PU
1555
1613
  )
1556
1614
  ] }));
1557
1615
  CommandInput.displayName = import_cmdk.Command.Input.displayName;
1558
- var CommandList = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1616
+ var CommandList = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1559
1617
  import_cmdk.Command.List,
1560
1618
  {
1561
1619
  ref,
@@ -1564,7 +1622,7 @@ var CommandList = React13.forwardRef(({ className, ...props }, ref) => /* @__PUR
1564
1622
  }
1565
1623
  ));
1566
1624
  CommandList.displayName = import_cmdk.Command.List.displayName;
1567
- var CommandEmpty = React13.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1625
+ var CommandEmpty = React14.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1568
1626
  import_cmdk.Command.Empty,
1569
1627
  {
1570
1628
  ref,
@@ -1573,7 +1631,7 @@ var CommandEmpty = React13.forwardRef((props, ref) => /* @__PURE__ */ (0, import
1573
1631
  }
1574
1632
  ));
1575
1633
  CommandEmpty.displayName = import_cmdk.Command.Empty.displayName;
1576
- var CommandGroup = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1634
+ var CommandGroup = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1577
1635
  import_cmdk.Command.Group,
1578
1636
  {
1579
1637
  ref,
@@ -1585,7 +1643,7 @@ var CommandGroup = React13.forwardRef(({ className, ...props }, ref) => /* @__PU
1585
1643
  }
1586
1644
  ));
1587
1645
  CommandGroup.displayName = import_cmdk.Command.Group.displayName;
1588
- var CommandSeparator = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1646
+ var CommandSeparator = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1589
1647
  import_cmdk.Command.Separator,
1590
1648
  {
1591
1649
  ref,
@@ -1594,7 +1652,7 @@ var CommandSeparator = React13.forwardRef(({ className, ...props }, ref) => /* @
1594
1652
  }
1595
1653
  ));
1596
1654
  CommandSeparator.displayName = import_cmdk.Command.Separator.displayName;
1597
- var CommandItem = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1655
+ var CommandItem = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1598
1656
  import_cmdk.Command.Item,
1599
1657
  {
1600
1658
  ref,
@@ -1610,7 +1668,7 @@ var CommandShortcut = ({
1610
1668
  className,
1611
1669
  ...props
1612
1670
  }) => {
1613
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1671
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1614
1672
  "span",
1615
1673
  {
1616
1674
  className: cn(
@@ -1624,7 +1682,7 @@ var CommandShortcut = ({
1624
1682
  CommandShortcut.displayName = "CommandShortcut";
1625
1683
 
1626
1684
  // src/confirm-dialog.tsx
1627
- var import_jsx_runtime16 = require("react/jsx-runtime");
1685
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1628
1686
  function ConfirmDialog({
1629
1687
  open,
1630
1688
  onOpenChange,
@@ -1640,20 +1698,20 @@ function ConfirmDialog({
1640
1698
  portalContainer,
1641
1699
  onConfirm
1642
1700
  }) {
1643
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
1701
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1644
1702
  AlertDialogContent,
1645
1703
  {
1646
1704
  className: contentClassName,
1647
1705
  ...portalContainer === void 0 ? {} : { container: portalContainer },
1648
1706
  children: [
1649
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(AlertDialogHeader, { children: [
1650
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialogTitle, { children: title }),
1651
- description ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialogDescription, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { children: description }) }) : null
1707
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(AlertDialogHeader, { children: [
1708
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(AlertDialogTitle, { children: title }),
1709
+ description ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(AlertDialogDescription, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { children: description }) }) : null
1652
1710
  ] }),
1653
1711
  content ?? null,
1654
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(AlertDialogFooter, { children: [
1655
- cancelLabel === null ? null : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialogCancel, { className: "max-lg:min-h-11", disabled: busy, children: cancelLabel }),
1656
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
1712
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(AlertDialogFooter, { children: [
1713
+ cancelLabel === null ? null : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(AlertDialogCancel, { className: "max-lg:min-h-11", disabled: busy, children: cancelLabel }),
1714
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1657
1715
  AlertDialogAction,
1658
1716
  {
1659
1717
  disabled: busy || confirmDisabled,
@@ -1669,7 +1727,7 @@ function ConfirmDialog({
1669
1727
  variant === "destructive" && buttonVariants({ variant: "destructive" })
1670
1728
  ),
1671
1729
  children: [
1672
- busy ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Loader2Icon, { className: cn("mr-2 h-4 w-4", MOTION_SPIN) }) : null,
1730
+ busy ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Loader2Icon, { className: cn("mr-2 h-4 w-4", MOTION_SPIN) }) : null,
1673
1731
  confirmLabel
1674
1732
  ]
1675
1733
  }
@@ -1683,18 +1741,18 @@ function ConfirmDialog({
1683
1741
  // src/confirm-host.tsx
1684
1742
  var import_confirm_opener = require("@ai-matrx/kit/confirm-opener");
1685
1743
  var import_opener_react = require("@ai-matrx/kit/opener-react");
1686
- var React14 = __toESM(require("react"), 1);
1687
- var import_jsx_runtime17 = require("react/jsx-runtime");
1744
+ var React15 = __toESM(require("react"), 1);
1745
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1688
1746
  function ConfirmDialogHost() {
1689
1747
  const { request, open, settle } = (0, import_opener_react.useOpenerHost)(import_confirm_opener.confirmOpener);
1690
- const handleConfirm = React14.useCallback(() => settle(true), [settle]);
1691
- const handleOpenChange = React14.useCallback(
1748
+ const handleConfirm = React15.useCallback(() => settle(true), [settle]);
1749
+ const handleOpenChange = React15.useCallback(
1692
1750
  (next) => {
1693
1751
  if (!next) settle(false);
1694
1752
  },
1695
1753
  [settle]
1696
1754
  );
1697
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1755
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1698
1756
  ConfirmDialog,
1699
1757
  {
1700
1758
  open,
@@ -1711,8 +1769,8 @@ function ConfirmDialogHost() {
1711
1769
 
1712
1770
  // src/context-menu.tsx
1713
1771
  var ContextMenuPrimitive = __toESM(require("@radix-ui/react-context-menu"), 1);
1714
- var React15 = __toESM(require("react"), 1);
1715
- var import_jsx_runtime18 = require("react/jsx-runtime");
1772
+ var React16 = __toESM(require("react"), 1);
1773
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1716
1774
  var ContextMenu = ContextMenuPrimitive.Root;
1717
1775
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
1718
1776
  var ContextMenuGroup = ContextMenuPrimitive.Group;
@@ -1722,7 +1780,7 @@ var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
1722
1780
  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";
1723
1781
  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";
1724
1782
  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";
1725
- var ContextMenuSubTrigger = React15.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1783
+ var ContextMenuSubTrigger = React16.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
1726
1784
  ContextMenuPrimitive.SubTrigger,
1727
1785
  {
1728
1786
  ref,
@@ -1735,12 +1793,12 @@ var ContextMenuSubTrigger = React15.forwardRef(({ className, inset, children, ..
1735
1793
  ...props,
1736
1794
  children: [
1737
1795
  children,
1738
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
1796
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
1739
1797
  ]
1740
1798
  }
1741
1799
  ));
1742
1800
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
1743
- var ContextMenuSubContent = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1801
+ var ContextMenuSubContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1744
1802
  ContextMenuPrimitive.SubContent,
1745
1803
  {
1746
1804
  ref,
@@ -1750,9 +1808,9 @@ var ContextMenuSubContent = React15.forwardRef(({ className, ...props }, ref) =>
1750
1808
  }
1751
1809
  ));
1752
1810
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
1753
- var ContextMenuContent = React15.forwardRef(({ className, container, ...props }, ref) => {
1811
+ var ContextMenuContent = React16.forwardRef(({ className, container, ...props }, ref) => {
1754
1812
  const portalContainer = usePortalContainer(container);
1755
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1813
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1756
1814
  ContextMenuPrimitive.Content,
1757
1815
  {
1758
1816
  ref,
@@ -1763,7 +1821,7 @@ var ContextMenuContent = React15.forwardRef(({ className, container, ...props },
1763
1821
  ) });
1764
1822
  });
1765
1823
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
1766
- var ContextMenuItem = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1824
+ var ContextMenuItem = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1767
1825
  ContextMenuPrimitive.Item,
1768
1826
  {
1769
1827
  ref,
@@ -1778,7 +1836,7 @@ var ContextMenuItem = React15.forwardRef(({ className, inset, ...props }, ref) =
1778
1836
  }
1779
1837
  ));
1780
1838
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
1781
- var ContextMenuCheckboxItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1839
+ var ContextMenuCheckboxItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
1782
1840
  ContextMenuPrimitive.CheckboxItem,
1783
1841
  {
1784
1842
  ref,
@@ -1786,13 +1844,13 @@ var ContextMenuCheckboxItem = React15.forwardRef(({ className, children, ...prop
1786
1844
  className: cn(INDICATOR_ITEM_CLASS, className),
1787
1845
  ...props,
1788
1846
  children: [
1789
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
1847
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
1790
1848
  children
1791
1849
  ]
1792
1850
  }
1793
1851
  ));
1794
1852
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
1795
- var ContextMenuRadioItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1853
+ var ContextMenuRadioItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
1796
1854
  ContextMenuPrimitive.RadioItem,
1797
1855
  {
1798
1856
  ref,
@@ -1800,13 +1858,13 @@ var ContextMenuRadioItem = React15.forwardRef(({ className, children, ...props }
1800
1858
  className: cn(INDICATOR_ITEM_CLASS, className),
1801
1859
  ...props,
1802
1860
  children: [
1803
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
1861
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
1804
1862
  children
1805
1863
  ]
1806
1864
  }
1807
1865
  ));
1808
1866
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
1809
- var ContextMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1867
+ var ContextMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1810
1868
  ContextMenuPrimitive.Label,
1811
1869
  {
1812
1870
  ref,
@@ -1820,7 +1878,7 @@ var ContextMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref)
1820
1878
  }
1821
1879
  ));
1822
1880
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
1823
- var ContextMenuSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1881
+ var ContextMenuSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1824
1882
  ContextMenuPrimitive.Separator,
1825
1883
  {
1826
1884
  ref,
@@ -1833,7 +1891,7 @@ ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
1833
1891
  var ContextMenuShortcut = ({
1834
1892
  className,
1835
1893
  ...props
1836
- }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1894
+ }) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1837
1895
  "span",
1838
1896
  {
1839
1897
  "data-slot": "context-menu-shortcut",
@@ -1848,12 +1906,12 @@ var import_react = require("react");
1848
1906
 
1849
1907
  // src/popover.tsx
1850
1908
  var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"), 1);
1851
- var React16 = __toESM(require("react"), 1);
1852
- var import_jsx_runtime19 = require("react/jsx-runtime");
1909
+ var React17 = __toESM(require("react"), 1);
1910
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1853
1911
  var Popover = PopoverPrimitive.Root;
1854
1912
  var PopoverTrigger = PopoverPrimitive.Trigger;
1855
1913
  var PopoverAnchor = PopoverPrimitive.Anchor;
1856
- var PopoverContent = React16.forwardRef(
1914
+ var PopoverContent = React17.forwardRef(
1857
1915
  ({
1858
1916
  className,
1859
1917
  align = "center",
@@ -1864,7 +1922,7 @@ var PopoverContent = React16.forwardRef(
1864
1922
  ...props
1865
1923
  }, ref) => {
1866
1924
  const portalContainer = usePortalContainer(container);
1867
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1925
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1868
1926
  PopoverPrimitive.Content,
1869
1927
  {
1870
1928
  ref,
@@ -1890,7 +1948,7 @@ var PopoverContent = React16.forwardRef(
1890
1948
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
1891
1949
 
1892
1950
  // src/creatable-picker.tsx
1893
- var import_jsx_runtime20 = require("react/jsx-runtime");
1951
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1894
1952
  function article(noun) {
1895
1953
  return /^[aeiou]/i.test(noun.trim()) ? `an ${noun}` : `a ${noun}`;
1896
1954
  }
@@ -1965,8 +2023,8 @@ function CreatablePicker({
1965
2023
  setBusy(false);
1966
2024
  }
1967
2025
  };
1968
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Popover, { open, onOpenChange: (next) => next ? setOpen(true) : close(), children: [
1969
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PopoverTrigger, { asChild: true, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
2026
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Popover, { open, onOpenChange: (next) => next ? setOpen(true) : close(), children: [
2027
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(PopoverTrigger, { asChild: true, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1970
2028
  "button",
1971
2029
  {
1972
2030
  type: "button",
@@ -1980,12 +2038,12 @@ function CreatablePicker({
1980
2038
  triggerClassName
1981
2039
  ),
1982
2040
  children: [
1983
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 flex-1 truncate", children: selected ? renderSelected ?? selected.render ?? selected.label : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-muted-foreground", children: loading ? "Loading\u2026" : placeholder }) }),
1984
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ChevronsUpDownIcon, { className: "size-3.5 shrink-0 opacity-50" })
2041
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "min-w-0 flex-1 truncate", children: selected ? renderSelected ?? selected.render ?? selected.label : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-muted-foreground", children: loading ? "Loading\u2026" : placeholder }) }),
2042
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ChevronsUpDownIcon, { className: "size-3.5 shrink-0 opacity-50" })
1985
2043
  ]
1986
2044
  }
1987
2045
  ) }),
1988
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PopoverContent, { sizing: "content", align: "start", className: "p-0", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
2046
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(PopoverContent, { sizing: "content", align: "start", className: "p-0", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1989
2047
  Command,
1990
2048
  {
1991
2049
  filter: (itemValue, search, keywords) => {
@@ -1993,7 +2051,7 @@ function CreatablePicker({
1993
2051
  return haystack.includes(search.toLowerCase()) ? 1 : 0;
1994
2052
  },
1995
2053
  children: [
1996
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2054
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1997
2055
  CommandInput,
1998
2056
  {
1999
2057
  ref: inputRef,
@@ -2005,13 +2063,13 @@ function CreatablePicker({
2005
2063
  placeholder: searchPlaceholder ?? `Search or add ${article(noun)}\u2026`
2006
2064
  }
2007
2065
  ),
2008
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(CommandList, { children: [
2009
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CommandEmpty, { children: emptyLabel }),
2010
- groups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2066
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(CommandList, { children: [
2067
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(CommandEmpty, { children: emptyLabel }),
2068
+ groups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2011
2069
  CommandGroup,
2012
2070
  {
2013
2071
  ...group.heading === void 0 ? {} : { heading: group.heading },
2014
- children: group.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
2072
+ children: group.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
2015
2073
  CommandItem,
2016
2074
  {
2017
2075
  value: option.label,
@@ -2022,7 +2080,7 @@ function CreatablePicker({
2022
2080
  },
2023
2081
  className: "gap-2 text-xs",
2024
2082
  children: [
2025
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2083
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2026
2084
  LucideCheckIcon,
2027
2085
  {
2028
2086
  className: cn(
@@ -2031,8 +2089,8 @@ function CreatablePicker({
2031
2089
  )
2032
2090
  }
2033
2091
  ),
2034
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 flex-1 truncate", children: option.render ?? option.label }),
2035
- option.hint ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "shrink-0 text-[10px] text-muted-foreground", children: option.hint }) : null
2092
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "min-w-0 flex-1 truncate", children: option.render ?? option.label }),
2093
+ option.hint ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "shrink-0 text-[10px] text-muted-foreground", children: option.hint }) : null
2036
2094
  ]
2037
2095
  },
2038
2096
  option.value
@@ -2041,9 +2099,9 @@ function CreatablePicker({
2041
2099
  group.heading ?? "__ungrouped__"
2042
2100
  ))
2043
2101
  ] }),
2044
- canCreate ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-1 border-t border-border p-1", children: [
2045
- createExtra && typed && !exactMatch ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "px-1 pt-0.5", children: typeof createExtra === "function" ? createExtra(typed) : createExtra }) : null,
2046
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
2102
+ canCreate ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-1 border-t border-border p-1", children: [
2103
+ createExtra && typed && !exactMatch ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "px-1 pt-0.5", children: typeof createExtra === "function" ? createExtra(typed) : createExtra }) : null,
2104
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
2047
2105
  "button",
2048
2106
  {
2049
2107
  type: "button",
@@ -2051,22 +2109,22 @@ function CreatablePicker({
2051
2109
  onClick: () => void create(typed),
2052
2110
  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",
2053
2111
  children: [
2054
- busy ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Loader2Icon, { className: "size-3.5 shrink-0 matrx-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PlusIcon, { className: "size-3.5 shrink-0" }),
2055
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 truncate", children: typed && !exactMatch ? `Create \u201C${typed}\u201D` : `Add ${article(noun)}\u2026` })
2112
+ busy ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Loader2Icon, { className: "size-3.5 shrink-0 matrx-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(PlusIcon, { className: "size-3.5 shrink-0" }),
2113
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "min-w-0 truncate", children: typed && !exactMatch ? `Create \u201C${typed}\u201D` : `Add ${article(noun)}\u2026` })
2056
2114
  ]
2057
2115
  }
2058
2116
  ),
2059
- needsName ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: "px-2 pb-0.5 text-[11px] leading-snug text-muted-foreground", children: [
2117
+ needsName ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("p", { className: "px-2 pb-0.5 text-[11px] leading-snug text-muted-foreground", children: [
2060
2118
  "Type the name of the ",
2061
2119
  noun,
2062
2120
  " you want to add \u2014 then this creates it."
2063
2121
  ] }) : null
2064
2122
  ] }) : null,
2065
- footerActions?.length || manageAction ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-0.5 border-t border-border p-1", children: [
2123
+ footerActions?.length || manageAction ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-0.5 border-t border-border p-1", children: [
2066
2124
  footerActions?.map((action) => {
2067
2125
  const Icon2 = action.icon;
2068
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { children: [
2069
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
2126
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
2127
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
2070
2128
  "button",
2071
2129
  {
2072
2130
  type: "button",
@@ -2076,15 +2134,15 @@ function CreatablePicker({
2076
2134
  },
2077
2135
  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",
2078
2136
  children: [
2079
- Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Icon2, { className: "size-3.5 shrink-0" }) : null,
2080
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 truncate", children: action.label })
2137
+ Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon2, { className: "size-3.5 shrink-0" }) : null,
2138
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "min-w-0 truncate", children: action.label })
2081
2139
  ]
2082
2140
  }
2083
2141
  ),
2084
- action.note ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "px-2 pb-1 text-[10px] leading-snug text-muted-foreground", children: action.note }) : null
2142
+ action.note ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "px-2 pb-1 text-[10px] leading-snug text-muted-foreground", children: action.note }) : null
2085
2143
  ] }, action.label);
2086
2144
  }),
2087
- manageAction ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
2145
+ manageAction ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
2088
2146
  "a",
2089
2147
  {
2090
2148
  href: manageAction.href,
@@ -2093,18 +2151,18 @@ function CreatablePicker({
2093
2151
  onClick: close,
2094
2152
  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",
2095
2153
  children: [
2096
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ExternalLinkIcon, { className: "size-3.5 shrink-0" }),
2097
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 truncate", children: manageAction.label })
2154
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ExternalLinkIcon, { className: "size-3.5 shrink-0" }),
2155
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "min-w-0 truncate", children: manageAction.label })
2098
2156
  ]
2099
2157
  }
2100
2158
  ) : null
2101
2159
  ] }) : null,
2102
- lockedNote ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-1 border-t border-border p-2", children: [
2103
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: "flex gap-1.5 text-[11px] leading-snug text-muted-foreground", children: [
2104
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(LockIcon, { className: "mt-px size-3 shrink-0" }),
2105
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { children: lockedNote })
2160
+ lockedNote ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-1 border-t border-border p-2", children: [
2161
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("p", { className: "flex gap-1.5 text-[11px] leading-snug text-muted-foreground", children: [
2162
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(LockIcon, { className: "mt-px size-3 shrink-0" }),
2163
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children: lockedNote })
2106
2164
  ] }),
2107
- lockedAction ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
2165
+ lockedAction ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
2108
2166
  "button",
2109
2167
  {
2110
2168
  type: "button",
@@ -2114,8 +2172,8 @@ function CreatablePicker({
2114
2172
  },
2115
2173
  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",
2116
2174
  children: [
2117
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PlusIcon, { className: "size-3.5 shrink-0" }),
2118
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 truncate", children: lockedAction.label })
2175
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(PlusIcon, { className: "size-3.5 shrink-0" }),
2176
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "min-w-0 truncate", children: lockedAction.label })
2119
2177
  ]
2120
2178
  }
2121
2179
  ) : null
@@ -2130,16 +2188,16 @@ function CreatablePicker({
2130
2188
  var DialogPrimitive2 = __toESM(require("@radix-ui/react-dialog"), 1);
2131
2189
  var VisuallyHidden2 = __toESM(require("@radix-ui/react-visually-hidden"), 1);
2132
2190
  var import_react_tree3 = require("@ai-matrx/kit/react-tree");
2133
- var React17 = __toESM(require("react"), 1);
2134
- var import_jsx_runtime21 = require("react/jsx-runtime");
2135
- var DialogWindowedByDefaultContext = React17.createContext(false);
2191
+ var React18 = __toESM(require("react"), 1);
2192
+ var import_jsx_runtime22 = require("react/jsx-runtime");
2193
+ var DialogWindowedByDefaultContext = React18.createContext(false);
2136
2194
  var Dialog = ({
2137
2195
  children,
2138
2196
  ...props
2139
2197
  }) => {
2140
2198
  const isMobile = useIsMobile();
2141
2199
  const modal = props.modal ?? isMobile;
2142
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogWindowedByDefaultContext.Provider, { value: props.modal === void 0, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive2.Root, { ...props, modal, children }) }) });
2200
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogWindowedByDefaultContext.Provider, { value: props.modal === void 0, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogPrimitive2.Root, { ...props, modal, children }) }) });
2143
2201
  };
2144
2202
  Dialog.displayName = "Dialog";
2145
2203
  var DialogTrigger = DialogPrimitive2.Trigger;
@@ -2149,14 +2207,14 @@ var DialogPortal = ({
2149
2207
  ...props
2150
2208
  }) => {
2151
2209
  const resolved = usePortalContainer(container);
2152
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive2.Portal, { container: resolved ?? null, ...props });
2210
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogPrimitive2.Portal, { container: resolved ?? null, ...props });
2153
2211
  };
2154
2212
  DialogPortal.displayName = "DialogPortal";
2155
2213
  var CONTEXT_SLOT3 = /* @__PURE__ */ Symbol.for("ai-matrx.design-system.dialog-container-context");
2156
2214
  var contextRegistry3 = globalThis;
2157
- var DialogContainerContext = contextRegistry3[CONTEXT_SLOT3] ??= React17.createContext(null);
2158
- var useDialogContainer = () => React17.useContext(DialogContainerContext);
2159
- var DialogOverlay = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2215
+ var DialogContainerContext = contextRegistry3[CONTEXT_SLOT3] ??= React18.createContext(null);
2216
+ var useDialogContainer = () => React18.useContext(DialogContainerContext);
2217
+ var DialogOverlay = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2160
2218
  DialogPrimitive2.Overlay,
2161
2219
  {
2162
2220
  ref,
@@ -2172,9 +2230,9 @@ var DialogOverlay = React17.forwardRef(({ className, ...props }, ref) => /* @__P
2172
2230
  }
2173
2231
  ));
2174
2232
  DialogOverlay.displayName = DialogPrimitive2.Overlay.displayName;
2175
- var DialogContentPrimitive = React17.forwardRef((props, ref) => {
2233
+ var DialogContentPrimitive = React18.forwardRef((props, ref) => {
2176
2234
  const isModal = useRadixDialogModal();
2177
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2235
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2178
2236
  DialogPrimitive2.Content,
2179
2237
  {
2180
2238
  ...props,
@@ -2187,12 +2245,12 @@ DialogContentPrimitive.displayName = "DialogContentPrimitive";
2187
2245
  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";
2188
2246
  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";
2189
2247
  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";
2190
- var DialogWindowHandleContext = React17.createContext(null);
2248
+ var DialogWindowHandleContext = React18.createContext(null);
2191
2249
  var WINDOW_KEEP_VISIBLE = 80;
2192
2250
  function isInteractiveTarget(target) {
2193
2251
  return target instanceof Element && Boolean(target.closest("button, a, input, textarea, select, [role='button'], [contenteditable='true']"));
2194
2252
  }
2195
- var DialogContent = React17.forwardRef(
2253
+ var DialogContent = React18.forwardRef(
2196
2254
  ({
2197
2255
  className,
2198
2256
  children,
@@ -2211,13 +2269,13 @@ var DialogContent = React17.forwardRef(
2211
2269
  const injectedContainer = usePortalContainer(container);
2212
2270
  const asSheet = mobileSheet && isMobile;
2213
2271
  const windowed = !isModal && !asSheet;
2214
- const windowedByDefault = React17.useContext(DialogWindowedByDefaultContext);
2215
- const [containerEl, setContainerEl] = React17.useState(
2272
+ const windowedByDefault = React18.useContext(DialogWindowedByDefaultContext);
2273
+ const [containerEl, setContainerEl] = React18.useState(
2216
2274
  null
2217
2275
  );
2218
- const [offset, setOffset] = React17.useState({ x: 0, y: 0 });
2219
- const dragRef = React17.useRef(null);
2220
- const handle = React17.useMemo(() => {
2276
+ const [offset, setOffset] = React18.useState({ x: 0, y: 0 });
2277
+ const dragRef = React18.useRef(null);
2278
+ const handle = React18.useMemo(() => {
2221
2279
  if (!windowed) return null;
2222
2280
  const clamp = (value, limit) => Math.max(-limit, Math.min(limit, value));
2223
2281
  return {
@@ -2245,7 +2303,7 @@ var DialogContent = React17.forwardRef(
2245
2303
  onDoubleClick: () => setOffset({ x: 0, y: 0 })
2246
2304
  };
2247
2305
  }, [windowed, offset.x, offset.y]);
2248
- const mergedRef = React17.useCallback(
2306
+ const mergedRef = React18.useCallback(
2249
2307
  (node) => {
2250
2308
  setContainerEl(node);
2251
2309
  if (typeof ref === "function") ref(node);
@@ -2256,9 +2314,9 @@ var DialogContent = React17.forwardRef(
2256
2314
  );
2257
2315
  const hasTitle = (0, import_react_tree3.treeContainsComponent)(children, DialogTitle) || (0, import_react_tree3.treeContainsComponent)(children, DialogPrimitive2.Title);
2258
2316
  const hasDescription = (0, import_react_tree3.treeContainsComponent)(children, DialogDescription) || (0, import_react_tree3.treeContainsComponent)(children, DialogPrimitive2.Description);
2259
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogPortal, { container, children: [
2260
- isModal ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogOverlay, {}) : null,
2261
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
2317
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DialogPortal, { container, children: [
2318
+ isModal ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogOverlay, {}) : null,
2319
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
2262
2320
  DialogContentPrimitive,
2263
2321
  {
2264
2322
  ref: mergedRef,
@@ -2291,23 +2349,23 @@ var DialogContent = React17.forwardRef(
2291
2349
  ...hasDescription ? {} : { "aria-describedby": void 0 },
2292
2350
  ...props,
2293
2351
  children: [
2294
- hasTitle ? null : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(VisuallyHidden2.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive2.Title, { children: "Dialog" }) }),
2295
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogContainerContext.Provider, { value: containerEl, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogWindowHandleContext.Provider, { value: handle, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2352
+ hasTitle ? null : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(VisuallyHidden2.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogPrimitive2.Title, { children: "Dialog" }) }),
2353
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogContainerContext.Provider, { value: containerEl, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogWindowHandleContext.Provider, { value: handle, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2296
2354
  PortalContainerProvider,
2297
2355
  {
2298
2356
  container: containerEl ?? injectedContainer ?? null,
2299
2357
  children
2300
2358
  }
2301
2359
  ) }) }),
2302
- showCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
2360
+ showCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
2303
2361
  DialogPrimitive2.Close,
2304
2362
  {
2305
2363
  "data-slot": "dialog-close",
2306
2364
  "aria-label": "Close",
2307
2365
  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",
2308
2366
  children: [
2309
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(XIcon, { className: "h-4 w-4" }),
2310
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "sr-only", children: "Close" })
2367
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(XIcon, { className: "h-4 w-4" }),
2368
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "sr-only", children: "Close" })
2311
2369
  ]
2312
2370
  }
2313
2371
  ) : null
@@ -2322,8 +2380,8 @@ var DialogHeader = ({
2322
2380
  className,
2323
2381
  ...props
2324
2382
  }) => {
2325
- const handle = React17.useContext(DialogWindowHandleContext);
2326
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2383
+ const handle = React18.useContext(DialogWindowHandleContext);
2384
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2327
2385
  "div",
2328
2386
  {
2329
2387
  "data-slot": "dialog-header",
@@ -2347,7 +2405,7 @@ DialogHeader.displayName = "DialogHeader";
2347
2405
  var DialogFooter = ({
2348
2406
  className,
2349
2407
  ...props
2350
- }) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2408
+ }) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2351
2409
  "div",
2352
2410
  {
2353
2411
  "data-slot": "dialog-footer",
@@ -2379,7 +2437,7 @@ var DialogFooter = ({
2379
2437
  }
2380
2438
  );
2381
2439
  DialogFooter.displayName = "DialogFooter";
2382
- var DialogTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2440
+ var DialogTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2383
2441
  DialogPrimitive2.Title,
2384
2442
  {
2385
2443
  ref,
@@ -2389,7 +2447,7 @@ var DialogTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PUR
2389
2447
  }
2390
2448
  ));
2391
2449
  DialogTitle.displayName = DialogPrimitive2.Title.displayName;
2392
- var DialogDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2450
+ var DialogDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2393
2451
  DialogPrimitive2.Description,
2394
2452
  {
2395
2453
  ref,
@@ -2402,8 +2460,8 @@ DialogDescription.displayName = DialogPrimitive2.Description.displayName;
2402
2460
 
2403
2461
  // src/dropdown-menu.tsx
2404
2462
  var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
2405
- var React18 = __toESM(require("react"), 1);
2406
- var import_jsx_runtime22 = require("react/jsx-runtime");
2463
+ var React19 = __toESM(require("react"), 1);
2464
+ var import_jsx_runtime23 = require("react/jsx-runtime");
2407
2465
  var DropdownMenu = DropdownMenuPrimitive.Root;
2408
2466
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
2409
2467
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
@@ -2413,7 +2471,7 @@ var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
2413
2471
  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";
2414
2472
  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";
2415
2473
  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";
2416
- var DropdownMenuSubTrigger = React18.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
2474
+ var DropdownMenuSubTrigger = React19.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
2417
2475
  DropdownMenuPrimitive.SubTrigger,
2418
2476
  {
2419
2477
  ref,
@@ -2426,12 +2484,12 @@ var DropdownMenuSubTrigger = React18.forwardRef(({ className, inset, children, .
2426
2484
  ...props,
2427
2485
  children: [
2428
2486
  children,
2429
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
2487
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
2430
2488
  ]
2431
2489
  }
2432
2490
  ));
2433
2491
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
2434
- var DropdownMenuSubContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2492
+ var DropdownMenuSubContent = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2435
2493
  DropdownMenuPrimitive.SubContent,
2436
2494
  {
2437
2495
  ref,
@@ -2441,9 +2499,9 @@ var DropdownMenuSubContent = React18.forwardRef(({ className, ...props }, ref) =
2441
2499
  }
2442
2500
  ));
2443
2501
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
2444
- var DropdownMenuContent = React18.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
2502
+ var DropdownMenuContent = React19.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
2445
2503
  const portalContainer = usePortalContainer(container);
2446
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2504
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2447
2505
  DropdownMenuPrimitive.Content,
2448
2506
  {
2449
2507
  ref,
@@ -2460,7 +2518,7 @@ var DropdownMenuContent = React18.forwardRef(({ className, sideOffset = 4, conta
2460
2518
  ) });
2461
2519
  });
2462
2520
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
2463
- var DropdownMenuItem = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2521
+ var DropdownMenuItem = React19.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2464
2522
  DropdownMenuPrimitive.Item,
2465
2523
  {
2466
2524
  ref,
@@ -2470,7 +2528,7 @@ var DropdownMenuItem = React18.forwardRef(({ className, inset, ...props }, ref)
2470
2528
  }
2471
2529
  ));
2472
2530
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
2473
- var DropdownMenuCheckboxItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
2531
+ var DropdownMenuCheckboxItem = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
2474
2532
  DropdownMenuPrimitive.CheckboxItem,
2475
2533
  {
2476
2534
  ref,
@@ -2478,13 +2536,13 @@ var DropdownMenuCheckboxItem = React18.forwardRef(({ className, children, ...pro
2478
2536
  className: cn(MENU_INDICATOR_ITEM_CLASS, className),
2479
2537
  ...props,
2480
2538
  children: [
2481
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
2539
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
2482
2540
  children
2483
2541
  ]
2484
2542
  }
2485
2543
  ));
2486
2544
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
2487
- var DropdownMenuRadioItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
2545
+ var DropdownMenuRadioItem = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
2488
2546
  DropdownMenuPrimitive.RadioItem,
2489
2547
  {
2490
2548
  ref,
@@ -2492,13 +2550,13 @@ var DropdownMenuRadioItem = React18.forwardRef(({ className, children, ...props
2492
2550
  className: cn(MENU_INDICATOR_ITEM_CLASS, className),
2493
2551
  ...props,
2494
2552
  children: [
2495
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
2553
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
2496
2554
  children
2497
2555
  ]
2498
2556
  }
2499
2557
  ));
2500
2558
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
2501
- var DropdownMenuLabel = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2559
+ var DropdownMenuLabel = React19.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2502
2560
  DropdownMenuPrimitive.Label,
2503
2561
  {
2504
2562
  ref,
@@ -2508,7 +2566,7 @@ var DropdownMenuLabel = React18.forwardRef(({ className, inset, ...props }, ref)
2508
2566
  }
2509
2567
  ));
2510
2568
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
2511
- var DropdownMenuSeparator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2569
+ var DropdownMenuSeparator = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2512
2570
  DropdownMenuPrimitive.Separator,
2513
2571
  {
2514
2572
  ref,
@@ -2521,7 +2579,7 @@ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
2521
2579
  var DropdownMenuShortcut = ({
2522
2580
  className,
2523
2581
  ...props
2524
- }) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2582
+ }) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2525
2583
  "span",
2526
2584
  {
2527
2585
  "data-slot": "dropdown-menu-shortcut",
@@ -2533,7 +2591,7 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
2533
2591
 
2534
2592
  // src/editable-label.tsx
2535
2593
  var import_react2 = require("react");
2536
- var import_jsx_runtime23 = require("react/jsx-runtime");
2594
+ var import_jsx_runtime24 = require("react/jsx-runtime");
2537
2595
  function EditableLabel({
2538
2596
  value,
2539
2597
  onCommit,
@@ -2640,8 +2698,8 @@ function EditableLabel({
2640
2698
  setEditing
2641
2699
  ]);
2642
2700
  if (editing) {
2643
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: cn("relative flex min-w-0 flex-1 items-center", className), children: [
2644
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2701
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: cn("relative flex min-w-0 flex-1 items-center", className), children: [
2702
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2645
2703
  "input",
2646
2704
  {
2647
2705
  ref: inputRef,
@@ -2681,12 +2739,12 @@ function EditableLabel({
2681
2739
  )
2682
2740
  }
2683
2741
  ),
2684
- busy && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Loader2Icon, { className: "absolute right-1 h-3.5 w-3.5 matrx-spin text-muted-foreground" }),
2685
- error && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "absolute left-0 top-full mt-0.5 whitespace-nowrap text-xs text-destructive", children: error })
2742
+ busy && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Loader2Icon, { className: "absolute right-1 h-3.5 w-3.5 matrx-spin text-muted-foreground" }),
2743
+ error && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "absolute left-0 top-full mt-0.5 whitespace-nowrap text-xs text-destructive", children: error })
2686
2744
  ] });
2687
2745
  }
2688
2746
  if (controlled) return null;
2689
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2747
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2690
2748
  "button",
2691
2749
  {
2692
2750
  type: "button",
@@ -2720,8 +2778,8 @@ function EditableLabel({
2720
2778
  }
2721
2779
 
2722
2780
  // src/input.tsx
2723
- var React19 = __toESM(require("react"), 1);
2724
- var import_jsx_runtime24 = require("react/jsx-runtime");
2781
+ var React20 = __toESM(require("react"), 1);
2782
+ var import_jsx_runtime25 = require("react/jsx-runtime");
2725
2783
  var getVariantStyles = (variant = "default") => {
2726
2784
  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
2727
2785
  file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground
@@ -2749,9 +2807,9 @@ var getVariantStyles = (variant = "default") => {
2749
2807
  return baseStyles;
2750
2808
  }
2751
2809
  };
2752
- var Input = React19.forwardRef(
2810
+ var Input = React20.forwardRef(
2753
2811
  ({ className, type, variant = "default", ...props }, ref) => {
2754
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2812
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2755
2813
  "input",
2756
2814
  {
2757
2815
  type,
@@ -2763,7 +2821,7 @@ var Input = React19.forwardRef(
2763
2821
  }
2764
2822
  );
2765
2823
  Input.displayName = "Input";
2766
- var EnterInput = React19.forwardRef(
2824
+ var EnterInput = React20.forwardRef(
2767
2825
  ({ onEnter, ...props }, ref) => {
2768
2826
  const handleKeyDown = (e) => {
2769
2827
  if (e.key === "Enter" && onEnter) {
@@ -2771,7 +2829,7 @@ var EnterInput = React19.forwardRef(
2771
2829
  onEnter();
2772
2830
  }
2773
2831
  };
2774
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2832
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2775
2833
  Input,
2776
2834
  {
2777
2835
  ...props,
@@ -2787,11 +2845,11 @@ var EnterInput = React19.forwardRef(
2787
2845
  }
2788
2846
  );
2789
2847
  EnterInput.displayName = "EnterInput";
2790
- var BasicInput = React19.forwardRef(
2848
+ var BasicInput = React20.forwardRef(
2791
2849
  // `variant` is accepted (prop-compatible with Input) but intentionally
2792
2850
  // unused — and destructured so it never leaks onto the DOM element.
2793
2851
  ({ className, type, variant: _variant = "default", ...props }, ref) => {
2794
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2852
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2795
2853
  "input",
2796
2854
  {
2797
2855
  type,
@@ -2806,10 +2864,10 @@ var BasicInput = React19.forwardRef(
2806
2864
  }
2807
2865
  );
2808
2866
  BasicInput.displayName = "BasicInput";
2809
- var InputWithPrefix = React19.forwardRef(({ prefix, className, wrapperClassName, ...props }, ref) => {
2810
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: cn("relative", wrapperClassName), children: [
2811
- prefix && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: prefix }),
2812
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2867
+ var InputWithPrefix = React20.forwardRef(({ prefix, className, wrapperClassName, ...props }, ref) => {
2868
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: cn("relative", wrapperClassName), children: [
2869
+ prefix && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: prefix }),
2870
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2813
2871
  Input,
2814
2872
  {
2815
2873
  ref,
@@ -2823,9 +2881,9 @@ InputWithPrefix.displayName = "InputWithPrefix";
2823
2881
 
2824
2882
  // src/label.tsx
2825
2883
  var LabelPrimitive = __toESM(require("@radix-ui/react-label"), 1);
2826
- var React20 = __toESM(require("react"), 1);
2827
- var import_jsx_runtime25 = require("react/jsx-runtime");
2828
- var Label3 = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2884
+ var React21 = __toESM(require("react"), 1);
2885
+ var import_jsx_runtime26 = require("react/jsx-runtime");
2886
+ var Label3 = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2829
2887
  LabelPrimitive.Root,
2830
2888
  {
2831
2889
  ref,
@@ -2840,7 +2898,7 @@ Label3.displayName = LabelPrimitive.Root.displayName;
2840
2898
 
2841
2899
  // src/overflow-toolbar.tsx
2842
2900
  var import_react3 = require("react");
2843
- var import_jsx_runtime26 = require("react/jsx-runtime");
2901
+ var import_jsx_runtime27 = require("react/jsx-runtime");
2844
2902
  var GAP_PX = 6;
2845
2903
  var TONE = {
2846
2904
  default: "border border-border bg-background hover:bg-accent text-foreground",
@@ -2862,16 +2920,16 @@ function ToolbarButton({
2862
2920
  action.hideLabel && !action.running ? "w-7 justify-center px-0" : "px-2",
2863
2921
  TONE[tone]
2864
2922
  );
2865
- const inner = /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
2866
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2923
+ const inner = /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
2924
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2867
2925
  Icon2,
2868
2926
  {
2869
2927
  className: cn("w-3.5 h-3.5 shrink-0", action.running && "matrx-spin")
2870
2928
  }
2871
2929
  ),
2872
- showLabel && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { children: text })
2930
+ showLabel && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: text })
2873
2931
  ] });
2874
- const control = action.href && !action.disabled ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2932
+ const control = action.href && !action.disabled ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2875
2933
  "a",
2876
2934
  {
2877
2935
  href: action.href,
@@ -2881,7 +2939,7 @@ function ToolbarButton({
2881
2939
  "aria-label": action.label,
2882
2940
  children: inner
2883
2941
  }
2884
- ) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2942
+ ) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2885
2943
  "button",
2886
2944
  {
2887
2945
  type: "button",
@@ -2893,12 +2951,12 @@ function ToolbarButton({
2893
2951
  }
2894
2952
  );
2895
2953
  if (enableTooltip && action.hideLabel && renderTooltip) {
2896
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children: renderTooltip(control, action.label) });
2954
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children: renderTooltip(control, action.label) });
2897
2955
  }
2898
2956
  return control;
2899
2957
  }
2900
2958
  function OverflowTrigger({ ariaLabel }) {
2901
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2959
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2902
2960
  "button",
2903
2961
  {
2904
2962
  type: "button",
@@ -2909,7 +2967,7 @@ function OverflowTrigger({ ariaLabel }) {
2909
2967
  "inline-flex items-center justify-center h-7 w-7 rounded-md transition-colors",
2910
2968
  "border border-border bg-background hover:bg-accent text-foreground"
2911
2969
  ),
2912
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(MoreHorizontalIcon, { className: "w-3.5 h-3.5" })
2970
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(MoreHorizontalIcon, { className: "w-3.5 h-3.5" })
2913
2971
  }
2914
2972
  );
2915
2973
  }
@@ -2969,22 +3027,22 @@ function OverflowToolbar({
2969
3027
  }, [signature, leading != null]);
2970
3028
  const shown = visibleActions.slice(0, visibleCount);
2971
3029
  const hidden = visibleActions.slice(visibleCount);
2972
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { ref: containerRef, className: cn("relative min-w-0", className), children: [
2973
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
3030
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { ref: containerRef, className: cn("relative min-w-0", className), children: [
3031
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
2974
3032
  "div",
2975
3033
  {
2976
3034
  ref: ghostRef,
2977
3035
  "aria-hidden": true,
2978
3036
  className: "pointer-events-none absolute left-0 top-0 flex items-center gap-1.5 opacity-0",
2979
3037
  children: [
2980
- visibleActions.map((a) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ToolbarButton, { action: a }, a.id)),
2981
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(OverflowTrigger, { ariaLabel: overflowAriaLabel })
3038
+ visibleActions.map((a) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ToolbarButton, { action: a }, a.id)),
3039
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2982
3040
  ]
2983
3041
  }
2984
3042
  ),
2985
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex items-center justify-end gap-1.5", children: [
2986
- leading != null && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { ref: leadingRef, className: "shrink-0", children: leading }),
2987
- shown.map((a) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3043
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex items-center justify-end gap-1.5", children: [
3044
+ leading != null && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { ref: leadingRef, className: "shrink-0", children: leading }),
3045
+ shown.map((a) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2988
3046
  ToolbarButton,
2989
3047
  {
2990
3048
  action: a,
@@ -2995,7 +3053,7 @@ function OverflowToolbar({
2995
3053
  )),
2996
3054
  hidden.length > 0 && renderOverflowMenu({
2997
3055
  actions: hidden,
2998
- trigger: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(OverflowTrigger, { ariaLabel: overflowAriaLabel })
3056
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2999
3057
  })
3000
3058
  ] })
3001
3059
  ] });
@@ -3003,20 +3061,20 @@ function OverflowToolbar({
3003
3061
 
3004
3062
  // src/progress.tsx
3005
3063
  var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"), 1);
3006
- var React22 = __toESM(require("react"), 1);
3007
- var import_jsx_runtime27 = require("react/jsx-runtime");
3064
+ var React23 = __toESM(require("react"), 1);
3065
+ var import_jsx_runtime28 = require("react/jsx-runtime");
3008
3066
  var PROGRESS_TONES = {
3009
3067
  default: "bg-primary",
3010
3068
  success: "bg-success",
3011
3069
  warning: "bg-warning",
3012
3070
  destructive: "bg-destructive"
3013
3071
  };
3014
- var Progress = React22.forwardRef(({ className, tone = "default", indicatorClassName, ...props }, ref) => {
3072
+ var Progress = React23.forwardRef(({ className, tone = "default", indicatorClassName, ...props }, ref) => {
3015
3073
  const { value, max } = props;
3016
3074
  const ceiling = max ?? 100;
3017
3075
  const isIndeterminate = value === null || value === void 0;
3018
3076
  const pct = isIndeterminate ? 0 : Math.min(100, Math.max(0, value / ceiling * 100));
3019
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3077
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3020
3078
  ProgressPrimitive.Root,
3021
3079
  {
3022
3080
  ref,
@@ -3026,7 +3084,7 @@ var Progress = React22.forwardRef(({ className, tone = "default", indicatorClass
3026
3084
  className
3027
3085
  ),
3028
3086
  ...props,
3029
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3087
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3030
3088
  ProgressPrimitive.Indicator,
3031
3089
  {
3032
3090
  "data-slot": "progress-indicator",
@@ -3046,9 +3104,9 @@ Progress.displayName = ProgressPrimitive.Root.displayName;
3046
3104
 
3047
3105
  // src/scroll-area.tsx
3048
3106
  var ScrollAreaPrimitive = __toESM(require("@radix-ui/react-scroll-area"), 1);
3049
- var React23 = __toESM(require("react"), 1);
3050
- var import_jsx_runtime28 = require("react/jsx-runtime");
3051
- var ScrollArea = React23.forwardRef(
3107
+ var React24 = __toESM(require("react"), 1);
3108
+ var import_jsx_runtime29 = require("react/jsx-runtime");
3109
+ var ScrollArea = React24.forwardRef(
3052
3110
  ({
3053
3111
  className,
3054
3112
  children,
@@ -3057,7 +3115,7 @@ var ScrollArea = React23.forwardRef(
3057
3115
  scrollBarClassName,
3058
3116
  orientation = "vertical",
3059
3117
  ...props
3060
- }, ref) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
3118
+ }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
3061
3119
  ScrollAreaPrimitive.Root,
3062
3120
  {
3063
3121
  ref,
@@ -3065,7 +3123,7 @@ var ScrollArea = React23.forwardRef(
3065
3123
  className: cn("relative overflow-hidden", className),
3066
3124
  ...props,
3067
3125
  children: [
3068
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3126
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3069
3127
  ScrollAreaPrimitive.Viewport,
3070
3128
  {
3071
3129
  ref: viewportRef,
@@ -3074,14 +3132,14 @@ var ScrollArea = React23.forwardRef(
3074
3132
  children
3075
3133
  }
3076
3134
  ),
3077
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ScrollBar, { orientation, className: scrollBarClassName }),
3078
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ScrollAreaPrimitive.Corner, {})
3135
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollBar, { orientation, className: scrollBarClassName }),
3136
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaPrimitive.Corner, {})
3079
3137
  ]
3080
3138
  }
3081
3139
  )
3082
3140
  );
3083
3141
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
3084
- var ScrollBar = React23.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3142
+ var ScrollBar = React24.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3085
3143
  ScrollAreaPrimitive.ScrollAreaScrollbar,
3086
3144
  {
3087
3145
  ref,
@@ -3094,7 +3152,7 @@ var ScrollBar = React23.forwardRef(({ className, orientation = "vertical", ...pr
3094
3152
  className
3095
3153
  ),
3096
3154
  ...props,
3097
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3155
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3098
3156
  ScrollAreaPrimitive.ScrollAreaThumb,
3099
3157
  {
3100
3158
  "data-slot": "scroll-area-thumb",
@@ -3106,7 +3164,7 @@ var ScrollBar = React23.forwardRef(({ className, orientation = "vertical", ...pr
3106
3164
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
3107
3165
 
3108
3166
  // src/score-ring.tsx
3109
- var import_jsx_runtime29 = require("react/jsx-runtime");
3167
+ var import_jsx_runtime30 = require("react/jsx-runtime");
3110
3168
  var DEFAULT_SCORE_THRESHOLDS = {
3111
3169
  good: 75,
3112
3170
  warning: 50
@@ -3137,7 +3195,7 @@ function ScoreRing({
3137
3195
  const circumference = 2 * Math.PI * radius;
3138
3196
  const boundedPct = pct === null ? 0 : Math.max(0, Math.min(100, pct));
3139
3197
  const dashOffset = circumference * (1 - boundedPct / 100);
3140
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
3198
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
3141
3199
  "div",
3142
3200
  {
3143
3201
  className: cn(
@@ -3148,8 +3206,8 @@ function ScoreRing({
3148
3206
  role: "img",
3149
3207
  "aria-label": `${label ?? "Score"}: ${pct === null ? "not available" : `${pct} out of 100`}`,
3150
3208
  children: [
3151
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("svg", { viewBox: "0 0 100 100", className: "h-full w-full -rotate-90", children: [
3152
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3209
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("svg", { viewBox: "0 0 100 100", className: "h-full w-full -rotate-90", children: [
3210
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3153
3211
  "circle",
3154
3212
  {
3155
3213
  cx: "50",
@@ -3160,7 +3218,7 @@ function ScoreRing({
3160
3218
  fill: "none"
3161
3219
  }
3162
3220
  ),
3163
- pct !== null ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3221
+ pct !== null ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3164
3222
  "circle",
3165
3223
  {
3166
3224
  cx: "50",
@@ -3179,8 +3237,8 @@ function ScoreRing({
3179
3237
  }
3180
3238
  ) : null
3181
3239
  ] }),
3182
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "absolute flex flex-col items-center justify-center", children: [
3183
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3240
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "absolute flex flex-col items-center justify-center", children: [
3241
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3184
3242
  "span",
3185
3243
  {
3186
3244
  className: cn(
@@ -3190,7 +3248,7 @@ function ScoreRing({
3190
3248
  children: pct === null ? "\u2014" : `${pct}${suffix}`
3191
3249
  }
3192
3250
  ),
3193
- label ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "max-w-[74px] truncate text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: label }) : null
3251
+ label ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "max-w-[74px] truncate text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: label }) : null
3194
3252
  ] })
3195
3253
  ]
3196
3254
  }
@@ -3198,7 +3256,7 @@ function ScoreRing({
3198
3256
  }
3199
3257
 
3200
3258
  // src/segmented-control.tsx
3201
- var import_jsx_runtime30 = require("react/jsx-runtime");
3259
+ var import_jsx_runtime31 = require("react/jsx-runtime");
3202
3260
  function SegmentedControl({
3203
3261
  value,
3204
3262
  onValueChange,
@@ -3213,7 +3271,7 @@ function SegmentedControl({
3213
3271
  md: "h-9 text-sm",
3214
3272
  lg: "h-10 text-base"
3215
3273
  };
3216
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3274
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3217
3275
  "div",
3218
3276
  {
3219
3277
  className: cn(
@@ -3224,7 +3282,7 @@ function SegmentedControl({
3224
3282
  role: "tablist",
3225
3283
  children: data.map((option) => {
3226
3284
  const isActive = value === option.value;
3227
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3285
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3228
3286
  "button",
3229
3287
  {
3230
3288
  type: "button",
@@ -3250,8 +3308,8 @@ function SegmentedControl({
3250
3308
  }
3251
3309
 
3252
3310
  // src/archive-filter.tsx
3253
- var React24 = __toESM(require("react"), 1);
3254
- var import_jsx_runtime31 = require("react/jsx-runtime");
3311
+ var React25 = __toESM(require("react"), 1);
3312
+ var import_jsx_runtime32 = require("react/jsx-runtime");
3255
3313
  var ARCHIVE_FILTER_VALUES = ["active", "archived", "all"];
3256
3314
  var DEFAULT_ARCHIVE_FILTER = "active";
3257
3315
  var ARCHIVE_LABEL = "Archived";
@@ -3276,7 +3334,7 @@ function ArchiveFilter({
3276
3334
  "aria-label": ariaLabel = "Archive filter",
3277
3335
  disabled = false
3278
3336
  }) {
3279
- const data = React24.useMemo(
3337
+ const data = React25.useMemo(
3280
3338
  () => ARCHIVE_FILTER_VALUES.map((state) => {
3281
3339
  const text = labels?.[state] ?? ARCHIVE_FILTER_LABELS[state];
3282
3340
  const count = counts?.[state];
@@ -3284,15 +3342,15 @@ function ArchiveFilter({
3284
3342
  value: state,
3285
3343
  disabled,
3286
3344
  ariaLabel: typeof count === "number" ? `${text} ${count}` : text,
3287
- label: typeof count === "number" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "inline-flex items-center gap-1.5", children: [
3288
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: text }),
3289
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-muted-foreground tabular-nums", children: count })
3345
+ label: typeof count === "number" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("span", { className: "inline-flex items-center gap-1.5", children: [
3346
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { children: text }),
3347
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-muted-foreground tabular-nums", children: count })
3290
3348
  ] }) : text
3291
3349
  };
3292
3350
  }),
3293
3351
  [counts, labels, disabled]
3294
3352
  );
3295
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { role: "group", "aria-label": ariaLabel, className: cn("inline-flex", className), children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3353
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { role: "group", "aria-label": ariaLabel, className: cn("inline-flex", className), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3296
3354
  SegmentedControl,
3297
3355
  {
3298
3356
  value,
@@ -3304,7 +3362,7 @@ function ArchiveFilter({
3304
3362
  }
3305
3363
 
3306
3364
  // src/archived-disclosure.tsx
3307
- var import_jsx_runtime32 = require("react/jsx-runtime");
3365
+ var import_jsx_runtime33 = require("react/jsx-runtime");
3308
3366
  function ArchivedDisclosure({
3309
3367
  count,
3310
3368
  open,
@@ -3318,8 +3376,8 @@ function ArchivedDisclosure({
3318
3376
  }) {
3319
3377
  if (count <= 0 && !(open && keepWhileOpen)) return null;
3320
3378
  const parenthetical = countLabel === void 0 ? String(count) : countLabel;
3321
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: cn("min-w-0", className), children: [
3322
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
3379
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: cn("min-w-0", className), children: [
3380
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3323
3381
  "button",
3324
3382
  {
3325
3383
  type: "button",
@@ -3327,21 +3385,21 @@ function ArchivedDisclosure({
3327
3385
  "aria-expanded": open,
3328
3386
  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",
3329
3387
  children: [
3330
- open ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ChevronDownIcon, { className: "h-4 w-4 shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ChevronRightIcon, { className: "h-4 w-4 shrink-0" }),
3331
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ArchiveIcon, { className: "h-4 w-4 shrink-0" }),
3332
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "truncate", children: parenthetical === null ? label : `${label} (${parenthetical})` })
3388
+ open ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ChevronDownIcon, { className: "h-4 w-4 shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ChevronRightIcon, { className: "h-4 w-4 shrink-0" }),
3389
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ArchiveIcon, { className: "h-4 w-4 shrink-0" }),
3390
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "truncate", children: parenthetical === null ? label : `${label} (${parenthetical})` })
3333
3391
  ]
3334
3392
  }
3335
3393
  ),
3336
- open && children ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: cn("mt-1", contentClassName), children }) : null
3394
+ open && children ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: cn("mt-1", contentClassName), children }) : null
3337
3395
  ] });
3338
3396
  }
3339
3397
 
3340
3398
  // src/select.tsx
3341
3399
  var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
3342
3400
  var import_class_variance_authority4 = require("class-variance-authority");
3343
- var React25 = __toESM(require("react"), 1);
3344
- var import_jsx_runtime33 = require("react/jsx-runtime");
3401
+ var React26 = __toESM(require("react"), 1);
3402
+ var import_jsx_runtime34 = require("react/jsx-runtime");
3345
3403
  var Select = SelectPrimitive.Root;
3346
3404
  var SelectGroup = SelectPrimitive.Group;
3347
3405
  var SelectValue = SelectPrimitive.Value;
@@ -3360,7 +3418,7 @@ var selectTriggerVariants = (0, import_class_variance_authority4.cva)(
3360
3418
  }
3361
3419
  }
3362
3420
  );
3363
- var SelectTrigger = React25.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3421
+ var SelectTrigger = React26.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
3364
3422
  SelectPrimitive.Trigger,
3365
3423
  {
3366
3424
  ref,
@@ -3368,12 +3426,12 @@ var SelectTrigger = React25.forwardRef(({ className, children, hideArrow = false
3368
3426
  ...props,
3369
3427
  children: [
3370
3428
  children,
3371
- !hideArrow && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixChevronDownIcon, { className: "h-4 w-4 shrink-0 opacity-50" }) })
3429
+ !hideArrow && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadixChevronDownIcon, { className: "h-4 w-4 shrink-0 opacity-50" }) })
3372
3430
  ]
3373
3431
  }
3374
3432
  ));
3375
3433
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
3376
- var SelectScrollUpButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3434
+ var SelectScrollUpButton = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3377
3435
  SelectPrimitive.ScrollUpButton,
3378
3436
  {
3379
3437
  ref,
@@ -3382,11 +3440,11 @@ var SelectScrollUpButton = React25.forwardRef(({ className, ...props }, ref) =>
3382
3440
  className
3383
3441
  ),
3384
3442
  ...props,
3385
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixChevronUpIcon, {})
3443
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadixChevronUpIcon, {})
3386
3444
  }
3387
3445
  ));
3388
3446
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
3389
- var SelectScrollDownButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3447
+ var SelectScrollDownButton = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3390
3448
  SelectPrimitive.ScrollDownButton,
3391
3449
  {
3392
3450
  ref,
@@ -3395,11 +3453,11 @@ var SelectScrollDownButton = React25.forwardRef(({ className, ...props }, ref) =
3395
3453
  className
3396
3454
  ),
3397
3455
  ...props,
3398
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixChevronDownIcon, {})
3456
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadixChevronDownIcon, {})
3399
3457
  }
3400
3458
  ));
3401
3459
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
3402
- var SelectContent = React25.forwardRef(
3460
+ var SelectContent = React26.forwardRef(
3403
3461
  ({
3404
3462
  className,
3405
3463
  children,
@@ -3409,7 +3467,7 @@ var SelectContent = React25.forwardRef(
3409
3467
  ...props
3410
3468
  }, ref) => {
3411
3469
  const portalContainer = usePortalContainer(container);
3412
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3470
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
3413
3471
  SelectPrimitive.Content,
3414
3472
  {
3415
3473
  ref,
@@ -3427,8 +3485,8 @@ var SelectContent = React25.forwardRef(
3427
3485
  position,
3428
3486
  ...props,
3429
3487
  children: [
3430
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SelectScrollUpButton, {}),
3431
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3488
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SelectScrollUpButton, {}),
3489
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3432
3490
  SelectPrimitive.Viewport,
3433
3491
  {
3434
3492
  className: cn(
@@ -3438,14 +3496,14 @@ var SelectContent = React25.forwardRef(
3438
3496
  children
3439
3497
  }
3440
3498
  ),
3441
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SelectScrollDownButton, {})
3499
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SelectScrollDownButton, {})
3442
3500
  ]
3443
3501
  }
3444
3502
  ) });
3445
3503
  }
3446
3504
  );
3447
3505
  SelectContent.displayName = SelectPrimitive.Content.displayName;
3448
- var SelectLabel = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3506
+ var SelectLabel = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3449
3507
  SelectPrimitive.Label,
3450
3508
  {
3451
3509
  ref,
@@ -3454,7 +3512,7 @@ var SelectLabel = React25.forwardRef(({ className, ...props }, ref) => /* @__PUR
3454
3512
  }
3455
3513
  ));
3456
3514
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
3457
- var SelectItem = React25.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3515
+ var SelectItem = React26.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
3458
3516
  SelectPrimitive.Item,
3459
3517
  {
3460
3518
  ref,
@@ -3465,14 +3523,14 @@ var SelectItem = React25.forwardRef(({ className, children, description, ...prop
3465
3523
  ),
3466
3524
  ...props,
3467
3525
  children: [
3468
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
3469
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "min-w-0 whitespace-normal break-words [overflow-wrap:anywhere]", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SelectPrimitive.ItemText, { children }) }),
3470
- description ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "block min-w-0 break-words text-xs leading-snug text-muted-foreground [overflow-wrap:anywhere]", children: description }) : null
3526
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
3527
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "min-w-0 whitespace-normal break-words [overflow-wrap:anywhere]", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SelectPrimitive.ItemText, { children }) }),
3528
+ description ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "block min-w-0 break-words text-xs leading-snug text-muted-foreground [overflow-wrap:anywhere]", children: description }) : null
3471
3529
  ]
3472
3530
  }
3473
3531
  ));
3474
3532
  SelectItem.displayName = SelectPrimitive.Item.displayName;
3475
- var SelectSeparator = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3533
+ var SelectSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3476
3534
  SelectPrimitive.Separator,
3477
3535
  {
3478
3536
  ref,
@@ -3484,9 +3542,9 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
3484
3542
 
3485
3543
  // src/separator.tsx
3486
3544
  var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
3487
- var React26 = __toESM(require("react"), 1);
3488
- var import_jsx_runtime34 = require("react/jsx-runtime");
3489
- var Separator4 = React26.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3545
+ var React27 = __toESM(require("react"), 1);
3546
+ var import_jsx_runtime35 = require("react/jsx-runtime");
3547
+ var Separator4 = React27.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3490
3548
  SeparatorPrimitive.Root,
3491
3549
  {
3492
3550
  ref,
@@ -3506,11 +3564,11 @@ Separator4.displayName = SeparatorPrimitive.Root.displayName;
3506
3564
  var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
3507
3565
  var import_react_tree4 = require("@ai-matrx/kit/react-tree");
3508
3566
  var import_class_variance_authority5 = require("class-variance-authority");
3509
- var React27 = __toESM(require("react"), 1);
3510
- var import_jsx_runtime35 = require("react/jsx-runtime");
3511
- var SheetContentBase = React27.forwardRef(({ ...props }, ref) => {
3567
+ var React28 = __toESM(require("react"), 1);
3568
+ var import_jsx_runtime36 = require("react/jsx-runtime");
3569
+ var SheetContentBase = React28.forwardRef(({ ...props }, ref) => {
3512
3570
  const isModal = useRadixDialogModal();
3513
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3571
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3514
3572
  SheetPrimitive.Content,
3515
3573
  {
3516
3574
  ...props,
@@ -3520,15 +3578,15 @@ var SheetContentBase = React27.forwardRef(({ ...props }, ref) => {
3520
3578
  );
3521
3579
  });
3522
3580
  SheetContentBase.displayName = "SheetContentBase";
3523
- var Sheet = React27.forwardRef(({ children, ...props }, _ref) => {
3581
+ var Sheet = React28.forwardRef(({ children, ...props }, _ref) => {
3524
3582
  const modal = props.modal ?? true;
3525
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SheetPrimitive.Root, { ...props, modal, children }) });
3583
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SheetPrimitive.Root, { ...props, modal, children }) });
3526
3584
  });
3527
3585
  Sheet.displayName = "Sheet";
3528
3586
  var SheetTrigger = SheetPrimitive.Trigger;
3529
3587
  var SheetClose = SheetPrimitive.Close;
3530
3588
  var SheetPortal = SheetPrimitive.Portal;
3531
- var SheetOverlay = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3589
+ var SheetOverlay = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3532
3590
  SheetPrimitive.Overlay,
3533
3591
  {
3534
3592
  className: cn(
@@ -3565,7 +3623,7 @@ var sheetVariants = (0, import_class_variance_authority5.cva)(
3565
3623
  }
3566
3624
  }
3567
3625
  );
3568
- var SheetDescription = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3626
+ var SheetDescription = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3569
3627
  SheetPrimitive.Description,
3570
3628
  {
3571
3629
  ref,
@@ -3574,7 +3632,7 @@ var SheetDescription = React27.forwardRef(({ className, ...props }, ref) => /* @
3574
3632
  }
3575
3633
  ));
3576
3634
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
3577
- var SheetContent = React27.forwardRef(
3635
+ var SheetContent = React28.forwardRef(
3578
3636
  ({
3579
3637
  side = "right",
3580
3638
  className,
@@ -3586,9 +3644,9 @@ var SheetContent = React27.forwardRef(
3586
3644
  ...props
3587
3645
  }, ref) => {
3588
3646
  const hasDescription = (0, import_react_tree4.treeContainsComponent)(children, SheetDescription) || (0, import_react_tree4.treeContainsComponent)(children, SheetPrimitive.Description);
3589
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(SheetPortal, { children: [
3590
- !hideOverlay && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SheetOverlay, { className: overlayClassName }),
3591
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
3647
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(SheetPortal, { children: [
3648
+ !hideOverlay && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SheetOverlay, { className: overlayClassName }),
3649
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
3592
3650
  SheetContentBase,
3593
3651
  {
3594
3652
  ref,
@@ -3600,9 +3658,9 @@ var SheetContent = React27.forwardRef(
3600
3658
  ...hasDescription ? {} : { "aria-describedby": void 0 },
3601
3659
  ...props,
3602
3660
  children: [
3603
- !hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(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: [
3604
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Cross2Icon, { className: "h-4 w-4" }),
3605
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "sr-only", children: "Close" })
3661
+ !hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(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: [
3662
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Cross2Icon, { className: "h-4 w-4" }),
3663
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "sr-only", children: "Close" })
3606
3664
  ] }),
3607
3665
  children
3608
3666
  ]
@@ -3615,7 +3673,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
3615
3673
  var SheetHeader = ({
3616
3674
  className,
3617
3675
  ...props
3618
- }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3676
+ }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3619
3677
  "div",
3620
3678
  {
3621
3679
  className: cn(
@@ -3629,7 +3687,7 @@ SheetHeader.displayName = "SheetHeader";
3629
3687
  var SheetFooter = ({
3630
3688
  className,
3631
3689
  ...props
3632
- }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3690
+ }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3633
3691
  "div",
3634
3692
  {
3635
3693
  "data-slot": "sheet-footer",
@@ -3641,7 +3699,7 @@ var SheetFooter = ({
3641
3699
  }
3642
3700
  );
3643
3701
  SheetFooter.displayName = "SheetFooter";
3644
- var SheetTitle = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3702
+ var SheetTitle = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3645
3703
  SheetPrimitive.Title,
3646
3704
  {
3647
3705
  ref,
@@ -3652,12 +3710,12 @@ var SheetTitle = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE
3652
3710
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
3653
3711
 
3654
3712
  // src/organization-picker.tsx
3655
- var React29 = __toESM(require("react"), 1);
3713
+ var React30 = __toESM(require("react"), 1);
3656
3714
 
3657
3715
  // src/skeleton.tsx
3658
- var import_jsx_runtime36 = require("react/jsx-runtime");
3716
+ var import_jsx_runtime37 = require("react/jsx-runtime");
3659
3717
  function Skeleton({ className, animated = true, ...props }) {
3660
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3718
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3661
3719
  "div",
3662
3720
  {
3663
3721
  "data-slot": "skeleton",
@@ -3673,8 +3731,8 @@ function Skeleton({ className, animated = true, ...props }) {
3673
3731
 
3674
3732
  // src/switch.tsx
3675
3733
  var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
3676
- var React28 = __toESM(require("react"), 1);
3677
- var import_jsx_runtime37 = require("react/jsx-runtime");
3734
+ var React29 = __toESM(require("react"), 1);
3735
+ var import_jsx_runtime38 = require("react/jsx-runtime");
3678
3736
  var SWITCH_SIZES = {
3679
3737
  sm: {
3680
3738
  root: "h-4 w-9 border-border data-[state=unchecked]:bg-input",
@@ -3685,7 +3743,7 @@ var SWITCH_SIZES = {
3685
3743
  thumb: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
3686
3744
  }
3687
3745
  };
3688
- var Switch = React28.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3746
+ var Switch = React29.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3689
3747
  SwitchPrimitives.Root,
3690
3748
  {
3691
3749
  ref,
@@ -3696,7 +3754,7 @@ var Switch = React28.forwardRef(({ className, size = "md", ...props }, ref) => /
3696
3754
  className
3697
3755
  ),
3698
3756
  ...props,
3699
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3757
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3700
3758
  SwitchPrimitives.Thumb,
3701
3759
  {
3702
3760
  "data-slot": "switch-thumb",
@@ -3711,7 +3769,7 @@ var Switch = React28.forwardRef(({ className, size = "md", ...props }, ref) => /
3711
3769
  Switch.displayName = SwitchPrimitives.Root.displayName;
3712
3770
 
3713
3771
  // src/organization-picker.tsx
3714
- var import_jsx_runtime38 = require("react/jsx-runtime");
3772
+ var import_jsx_runtime39 = require("react/jsx-runtime");
3715
3773
  var SEARCH_APPEARS_ABOVE = 8;
3716
3774
  function matchesQuery(org, query) {
3717
3775
  const q = query.trim().toLowerCase();
@@ -3726,7 +3784,7 @@ function OrganizationAbbreviation({
3726
3784
  className
3727
3785
  }) {
3728
3786
  const mark = abbreviation && abbreviation.trim() || name.trim().slice(0, 1) || "?";
3729
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3787
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3730
3788
  "span",
3731
3789
  {
3732
3790
  className: cn(
@@ -3751,8 +3809,8 @@ function OrganizationPicker({
3751
3809
  itemClassName,
3752
3810
  className
3753
3811
  }) {
3754
- const [query, setQuery] = React29.useState("");
3755
- const [showFixtures, setShowFixtures] = React29.useState(false);
3812
+ const [query, setQuery] = React30.useState("");
3813
+ const [showFixtures, setShowFixtures] = React30.useState(false);
3756
3814
  const active = organizations.find((o) => o.id === activeOrganizationId) ?? null;
3757
3815
  const isDefault = (id) => !!defaultOrganizationId && id === defaultOrganizationId;
3758
3816
  const rank = (org) => org.id === defaultOrganizationId ? 0 : org.isOwn ? 1 : 2;
@@ -3764,7 +3822,7 @@ function OrganizationPicker({
3764
3822
  const sharesItsName = (org) => organizations.filter((other) => other.name.trim() === org.name.trim()).length > 1;
3765
3823
  const renderRow = (org) => {
3766
3824
  const isActive = org.id === activeOrganizationId;
3767
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("li", { role: "none", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
3825
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("li", { role: "none", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
3768
3826
  "button",
3769
3827
  {
3770
3828
  type: "button",
@@ -3781,7 +3839,7 @@ function OrganizationPicker({
3781
3839
  itemClassName
3782
3840
  ),
3783
3841
  children: [
3784
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3842
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3785
3843
  OrganizationAbbreviation,
3786
3844
  {
3787
3845
  abbreviation: org.abbreviation,
@@ -3792,12 +3850,12 @@ function OrganizationPicker({
3792
3850
  )
3793
3851
  }
3794
3852
  ),
3795
- /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "flex min-w-0 flex-1 flex-col", children: [
3796
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "truncate", children: org.name }),
3797
- sharesItsName(org) && org.distinguisher ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "truncate text-[10px] font-normal text-muted-foreground", children: org.distinguisher }) : null
3853
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("span", { className: "flex min-w-0 flex-1 flex-col", children: [
3854
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "truncate", children: org.name }),
3855
+ sharesItsName(org) && org.distinguisher ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "truncate text-[10px] font-normal text-muted-foreground", children: org.distinguisher }) : null
3798
3856
  ] }),
3799
- org.isPersonal && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
3800
- isDefault(org.id) && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3857
+ org.isPersonal && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
3858
+ isDefault(org.id) && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3801
3859
  StarIcon,
3802
3860
  {
3803
3861
  className: "h-[13px] w-[13px] shrink-0 fill-warning text-warning",
@@ -3806,23 +3864,31 @@ function OrganizationPicker({
3806
3864
  role: "img"
3807
3865
  }
3808
3866
  ),
3809
- isActive && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
3867
+ isActive && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
3810
3868
  ]
3811
3869
  }
3812
3870
  ) }, org.id);
3813
3871
  };
3814
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
3815
- !hideHeading && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "px-2 py-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Organization" }),
3816
- loading ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
3817
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Skeleton, { className: "h-7 rounded-md" }),
3818
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Skeleton, { className: "h-7 rounded-md" })
3819
- ] }) : loadFailed ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "px-2 py-2 text-xs text-destructive", role: "alert", children: "Could not load organizations." }) : organizations.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("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__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
3820
- active ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("p", { className: "px-2 pb-1 text-[11px] text-muted-foreground", "data-slot": "organization-picker-status", children: [
3872
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
3873
+ !hideHeading && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "px-2 py-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Organization" }),
3874
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
3875
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Skeleton, { className: "h-7 rounded-md" }),
3876
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Skeleton, { className: "h-7 rounded-md" })
3877
+ ] }) : loadFailed ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3878
+ ErrorBox,
3879
+ {
3880
+ className: "px-2 py-2 text-xs text-destructive",
3881
+ operation: "Load your organizations",
3882
+ origin: "design-system/OrganizationPicker",
3883
+ children: "Could not load organizations."
3884
+ }
3885
+ ) : organizations.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("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__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
3886
+ active ? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("p", { className: "px-2 pb-1 text-[11px] text-muted-foreground", "data-slot": "organization-picker-status", children: [
3821
3887
  "Working in",
3822
3888
  " ",
3823
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "font-medium text-foreground", children: active.name })
3824
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "px-2 pb-1 text-[11px] text-destructive", "data-slot": "organization-picker-status", children: "No organization selected \u2014 pick one below." }),
3825
- searchable && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "px-2 pb-1.5", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3889
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "font-medium text-foreground", children: active.name })
3890
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "px-2 pb-1 text-[11px] text-destructive", "data-slot": "organization-picker-status", children: "No organization selected \u2014 pick one below." }),
3891
+ searchable && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "px-2 pb-1.5", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3826
3892
  Input,
3827
3893
  {
3828
3894
  type: "search",
@@ -3836,7 +3902,7 @@ function OrganizationPicker({
3836
3902
  "data-slot": "organization-picker-search"
3837
3903
  }
3838
3904
  ) }),
3839
- listed.length === 0 && fixtures.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
3905
+ listed.length === 0 && fixtures.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
3840
3906
  "p",
3841
3907
  {
3842
3908
  className: "px-2 py-2 text-xs text-muted-foreground",
@@ -3858,16 +3924,16 @@ function OrganizationPicker({
3858
3924
  clicking. So: count the matches, say where they are, and carry
3859
3925
  the click that reveals them — the same shape as the honest
3860
3926
  empty-filter twin one line down. (TAILS-3) */
3861
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3927
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3862
3928
  "p",
3863
3929
  {
3864
3930
  className: "px-2 py-2 text-xs text-muted-foreground",
3865
3931
  "data-slot": "organization-picker-only-fixtures",
3866
- children: query.trim() ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
3932
+ children: query.trim() ? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
3867
3933
  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`,
3868
- showFixtures ? ", listed below." : /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
3934
+ showFixtures ? ", listed below." : /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
3869
3935
  " \u2014 ",
3870
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3936
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3871
3937
  "button",
3872
3938
  {
3873
3939
  type: "button",
@@ -3885,8 +3951,8 @@ function OrganizationPicker({
3885
3951
  ] }) : `Every organization you belong to is a test organization \u2014 all ${fixtures.length} are below.`
3886
3952
  }
3887
3953
  )
3888
- ) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("ul", { className: "max-h-72 overflow-y-auto", role: "listbox", "aria-label": "Organizations", children: listed.map(renderRow) }),
3889
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3954
+ ) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("ul", { className: "max-h-72 overflow-y-auto", role: "listbox", "aria-label": "Organizations", children: listed.map(renderRow) }),
3955
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3890
3956
  ArchivedDisclosure,
3891
3957
  {
3892
3958
  count: fixtures.length,
@@ -3894,7 +3960,7 @@ function OrganizationPicker({
3894
3960
  onOpenChange: setShowFixtures,
3895
3961
  label: "Test organizations",
3896
3962
  className: "mt-0.5",
3897
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3963
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3898
3964
  "ul",
3899
3965
  {
3900
3966
  className: "max-h-72 overflow-y-auto",
@@ -3905,9 +3971,9 @@ function OrganizationPicker({
3905
3971
  )
3906
3972
  }
3907
3973
  ),
3908
- onSetDefault && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
3909
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "my-1 border-t border-border" }),
3910
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3974
+ onSetDefault && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
3975
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "my-1 border-t border-border" }),
3976
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3911
3977
  DefaultOrganizationSwitch,
3912
3978
  {
3913
3979
  active,
@@ -3925,17 +3991,17 @@ function DefaultOrganizationSwitch({
3925
3991
  onChange
3926
3992
  }) {
3927
3993
  const disabled = !active;
3928
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
3994
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
3929
3995
  "div",
3930
3996
  {
3931
3997
  className: "flex items-center justify-between gap-3 rounded-md px-2 py-1.5",
3932
3998
  "data-slot": "organization-picker-default",
3933
3999
  children: [
3934
- /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "min-w-0", children: [
3935
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "text-xs font-medium text-foreground", children: "Keep it at the top" }),
3936
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("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" })
4000
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "min-w-0", children: [
4001
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "text-xs font-medium text-foreground", children: "Keep it at the top" }),
4002
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("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" })
3937
4003
  ] }),
3938
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4004
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3939
4005
  Switch,
3940
4006
  {
3941
4007
  checked,
@@ -3951,7 +4017,7 @@ function DefaultOrganizationSwitch({
3951
4017
 
3952
4018
  // src/tabbed-bottom-sheet.tsx
3953
4019
  var import_react4 = require("react");
3954
- var import_jsx_runtime39 = require("react/jsx-runtime");
4020
+ var import_jsx_runtime40 = require("react/jsx-runtime");
3955
4021
  function TabbedBottomSheet({
3956
4022
  open,
3957
4023
  onOpenChange,
@@ -3966,15 +4032,15 @@ function TabbedBottomSheet({
3966
4032
  if (open) setSelectedTabId(initialTabId);
3967
4033
  }
3968
4034
  const selectedTab = selectedTabId ? tabs.find((tab) => tab.id === selectedTabId) : null;
3969
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4035
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3970
4036
  BottomSheet,
3971
4037
  {
3972
4038
  open,
3973
4039
  onOpenChange,
3974
4040
  title,
3975
4041
  size: "full",
3976
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
3977
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4042
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
4043
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3978
4044
  BottomSheetHeader,
3979
4045
  {
3980
4046
  title: selectedTab ? selectedTab.label : title,
@@ -3982,19 +4048,19 @@ function TabbedBottomSheet({
3982
4048
  onBack: () => setSelectedTabId(null)
3983
4049
  }
3984
4050
  ),
3985
- selectedTab ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(BottomSheetBody, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
4051
+ selectedTab ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(BottomSheetBody, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
3986
4052
  const Icon2 = tab.icon;
3987
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
4053
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
3988
4054
  "button",
3989
4055
  {
3990
4056
  type: "button",
3991
4057
  onClick: () => setSelectedTabId(tab.id),
3992
4058
  className: "flex w-full items-center gap-3 px-4 py-3.5 text-left transition-colors hover:bg-muted/60 active:bg-muted",
3993
4059
  children: [
3994
- Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
3995
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
4060
+ Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
4061
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
3996
4062
  tab.trailing,
3997
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
4063
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
3998
4064
  ]
3999
4065
  }
4000
4066
  ) }, tab.id);
@@ -4005,19 +4071,19 @@ function TabbedBottomSheet({
4005
4071
  }
4006
4072
 
4007
4073
  // src/table.tsx
4008
- var React30 = __toESM(require("react"), 1);
4009
- var import_jsx_runtime40 = require("react/jsx-runtime");
4074
+ var React31 = __toESM(require("react"), 1);
4075
+ var import_jsx_runtime41 = require("react/jsx-runtime");
4010
4076
  var TABLE_SIZES = {
4011
4077
  sm: { head: "px-2", cell: "p-2" },
4012
4078
  md: { head: "px-3", cell: "p-3" }
4013
4079
  };
4014
- var TableSizeContext = React30.createContext("md");
4080
+ var TableSizeContext = React31.createContext("md");
4015
4081
  function useTableSize() {
4016
- return React30.useContext(TableSizeContext);
4082
+ return React31.useContext(TableSizeContext);
4017
4083
  }
4018
- var Table = React30.forwardRef(
4084
+ var Table = React31.forwardRef(
4019
4085
  ({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
4020
- const table = /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4086
+ const table = /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4021
4087
  "table",
4022
4088
  {
4023
4089
  ref,
@@ -4027,7 +4093,7 @@ var Table = React30.forwardRef(
4027
4093
  ...props
4028
4094
  }
4029
4095
  );
4030
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4096
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4031
4097
  "div",
4032
4098
  {
4033
4099
  "data-slot": "table-wrapper",
@@ -4038,7 +4104,7 @@ var Table = React30.forwardRef(
4038
4104
  }
4039
4105
  );
4040
4106
  Table.displayName = "Table";
4041
- var TableHeader = React30.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4107
+ var TableHeader = React31.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4042
4108
  "thead",
4043
4109
  {
4044
4110
  ref,
@@ -4052,7 +4118,7 @@ var TableHeader = React30.forwardRef(({ className, sticky = false, ...props }, r
4052
4118
  }
4053
4119
  ));
4054
4120
  TableHeader.displayName = "TableHeader";
4055
- var TableBody = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4121
+ var TableBody = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4056
4122
  "tbody",
4057
4123
  {
4058
4124
  ref,
@@ -4062,7 +4128,7 @@ var TableBody = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE_
4062
4128
  }
4063
4129
  ));
4064
4130
  TableBody.displayName = "TableBody";
4065
- var TableFooter = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4131
+ var TableFooter = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4066
4132
  "tfoot",
4067
4133
  {
4068
4134
  ref,
@@ -4075,7 +4141,7 @@ var TableFooter = React30.forwardRef(({ className, ...props }, ref) => /* @__PUR
4075
4141
  }
4076
4142
  ));
4077
4143
  TableFooter.displayName = "TableFooter";
4078
- var TableRow = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4144
+ var TableRow = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4079
4145
  "tr",
4080
4146
  {
4081
4147
  ref,
@@ -4088,9 +4154,9 @@ var TableRow = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__
4088
4154
  }
4089
4155
  ));
4090
4156
  TableRow.displayName = "TableRow";
4091
- var TableHead = React30.forwardRef(({ className, ...props }, ref) => {
4157
+ var TableHead = React31.forwardRef(({ className, ...props }, ref) => {
4092
4158
  const size = useTableSize();
4093
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4159
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4094
4160
  "th",
4095
4161
  {
4096
4162
  ref,
@@ -4105,9 +4171,9 @@ var TableHead = React30.forwardRef(({ className, ...props }, ref) => {
4105
4171
  );
4106
4172
  });
4107
4173
  TableHead.displayName = "TableHead";
4108
- var TableCell = React30.forwardRef(({ className, ...props }, ref) => {
4174
+ var TableCell = React31.forwardRef(({ className, ...props }, ref) => {
4109
4175
  const size = useTableSize();
4110
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4176
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4111
4177
  "td",
4112
4178
  {
4113
4179
  ref,
@@ -4122,7 +4188,7 @@ var TableCell = React30.forwardRef(({ className, ...props }, ref) => {
4122
4188
  );
4123
4189
  });
4124
4190
  TableCell.displayName = "TableCell";
4125
- var TableCaption = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4191
+ var TableCaption = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4126
4192
  "caption",
4127
4193
  {
4128
4194
  ref,
@@ -4135,11 +4201,11 @@ TableCaption.displayName = "TableCaption";
4135
4201
 
4136
4202
  // src/tabs.tsx
4137
4203
  var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
4138
- var React31 = __toESM(require("react"), 1);
4139
- var import_jsx_runtime41 = require("react/jsx-runtime");
4204
+ var React32 = __toESM(require("react"), 1);
4205
+ var import_jsx_runtime42 = require("react/jsx-runtime");
4140
4206
  var Tabs = TabsPrimitive.Root;
4141
4207
  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";
4142
- var TabsList = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4208
+ var TabsList = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4143
4209
  TabsPrimitive.List,
4144
4210
  {
4145
4211
  ref,
@@ -4152,7 +4218,7 @@ var TabsList = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__
4152
4218
  }
4153
4219
  ));
4154
4220
  TabsList.displayName = TabsPrimitive.List.displayName;
4155
- var TabsTrigger = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4221
+ var TabsTrigger = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4156
4222
  TabsPrimitive.Trigger,
4157
4223
  {
4158
4224
  ref,
@@ -4166,7 +4232,7 @@ var TabsTrigger = React31.forwardRef(({ className, ...props }, ref) => /* @__PUR
4166
4232
  }
4167
4233
  ));
4168
4234
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
4169
- var TabsTriggerCore = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4235
+ var TabsTriggerCore = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4170
4236
  TabsPrimitive.Trigger,
4171
4237
  {
4172
4238
  ref,
@@ -4176,7 +4242,7 @@ var TabsTriggerCore = React31.forwardRef(({ className, ...props }, ref) => /* @_
4176
4242
  }
4177
4243
  ));
4178
4244
  TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
4179
- var TabsContent = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4245
+ var TabsContent = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4180
4246
  TabsPrimitive.Content,
4181
4247
  {
4182
4248
  ref,
@@ -4192,8 +4258,8 @@ var TabsContent = React31.forwardRef(({ className, ...props }, ref) => /* @__PUR
4192
4258
  TabsContent.displayName = TabsPrimitive.Content.displayName;
4193
4259
 
4194
4260
  // src/textarea.tsx
4195
- var React32 = __toESM(require("react"), 1);
4196
- var import_jsx_runtime42 = require("react/jsx-runtime");
4261
+ var React33 = __toESM(require("react"), 1);
4262
+ var import_jsx_runtime43 = require("react/jsx-runtime");
4197
4263
  var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
4198
4264
  var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
4199
4265
  function getStretchClasses(className) {
@@ -4206,7 +4272,7 @@ function getStretchClasses(className) {
4206
4272
  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";
4207
4273
  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";
4208
4274
  function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
4209
- React32.useEffect(() => {
4275
+ React33.useEffect(() => {
4210
4276
  if (!autoGrow || !ref.current) return;
4211
4277
  const textarea = ref.current;
4212
4278
  textarea.style.height = "auto";
@@ -4222,8 +4288,8 @@ function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
4222
4288
  }, [value, autoGrow, minHeight, maxHeight, ref]);
4223
4289
  }
4224
4290
  function useMergedTextareaRef(forwarded) {
4225
- const internal = React32.useRef(null);
4226
- const callback = React32.useCallback(
4291
+ const internal = React33.useRef(null);
4292
+ const callback = React33.useCallback(
4227
4293
  (node) => {
4228
4294
  internal.current = node;
4229
4295
  if (typeof forwarded === "function") forwarded(node);
@@ -4240,13 +4306,13 @@ function boxStyle(minHeight, maxHeight) {
4240
4306
  maxHeight: maxHeight ? `${maxHeight}px` : void 0
4241
4307
  };
4242
4308
  }
4243
- var Textarea = React32.forwardRef(
4309
+ var Textarea = React33.forwardRef(
4244
4310
  ({ className, autoGrow, minHeight, maxHeight, wrapperClassName, ...props }, forwarded) => {
4245
4311
  const { ref, callback } = useMergedTextareaRef(forwarded);
4246
4312
  const stretchClasses = getStretchClasses(className);
4247
4313
  const needsWrapper = Boolean(wrapperClassName || stretchClasses);
4248
4314
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
4249
- const textarea = /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4315
+ const textarea = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4250
4316
  "textarea",
4251
4317
  {
4252
4318
  ref: callback,
@@ -4262,15 +4328,15 @@ var Textarea = React32.forwardRef(
4262
4328
  }
4263
4329
  );
4264
4330
  if (!needsWrapper) return textarea;
4265
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
4331
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
4266
4332
  }
4267
4333
  );
4268
4334
  Textarea.displayName = "Textarea";
4269
- var BasicTextarea = React32.forwardRef(
4335
+ var BasicTextarea = React33.forwardRef(
4270
4336
  ({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
4271
4337
  const { ref, callback } = useMergedTextareaRef(forwarded);
4272
4338
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
4273
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4339
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4274
4340
  "textarea",
4275
4341
  {
4276
4342
  ref: callback,
@@ -4288,7 +4354,7 @@ var BasicTextarea = React32.forwardRef(
4288
4354
  }
4289
4355
  );
4290
4356
  BasicTextarea.displayName = "BasicTextarea";
4291
- var TextareaWithPrefix = React32.forwardRef(
4357
+ var TextareaWithPrefix = React33.forwardRef(
4292
4358
  ({
4293
4359
  prefix,
4294
4360
  className,
@@ -4300,13 +4366,13 @@ var TextareaWithPrefix = React32.forwardRef(
4300
4366
  }, forwarded) => {
4301
4367
  const { ref, callback } = useMergedTextareaRef(forwarded);
4302
4368
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
4303
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4369
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4304
4370
  "div",
4305
4371
  {
4306
4372
  className: cn("relative", getStretchClasses(className), wrapperClassName),
4307
4373
  children: [
4308
- prefix ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
4309
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4374
+ prefix ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
4375
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4310
4376
  "textarea",
4311
4377
  {
4312
4378
  ref: callback,
@@ -4385,14 +4451,14 @@ function useScrollFade() {
4385
4451
 
4386
4452
  // src/hover-card.tsx
4387
4453
  var HoverCardPrimitive = __toESM(require("@radix-ui/react-hover-card"), 1);
4388
- var React33 = __toESM(require("react"), 1);
4389
- var import_jsx_runtime43 = require("react/jsx-runtime");
4454
+ var React34 = __toESM(require("react"), 1);
4455
+ var import_jsx_runtime44 = require("react/jsx-runtime");
4390
4456
  var HoverCard = HoverCardPrimitive.Root;
4391
4457
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
4392
- var HoverCardContent = React33.forwardRef(
4458
+ var HoverCardContent = React34.forwardRef(
4393
4459
  ({ className, align = "center", sideOffset = 4, container, animated = true, ...props }, ref) => {
4394
4460
  const resolved = usePortalContainer(container);
4395
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4461
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4396
4462
  HoverCardPrimitive.Content,
4397
4463
  {
4398
4464
  ref,
@@ -4413,9 +4479,9 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
4413
4479
 
4414
4480
  // src/radio-group.tsx
4415
4481
  var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
4416
- var React34 = __toESM(require("react"), 1);
4417
- var import_jsx_runtime44 = require("react/jsx-runtime");
4418
- var RadioGroupSizeContext = React34.createContext("md");
4482
+ var React35 = __toESM(require("react"), 1);
4483
+ var import_jsx_runtime45 = require("react/jsx-runtime");
4484
+ var RadioGroupSizeContext = React35.createContext("md");
4419
4485
  var CONTROL_CLASSES = {
4420
4486
  sm: "h-3.5 w-3.5",
4421
4487
  md: "h-4 w-4",
@@ -4426,7 +4492,7 @@ var DOT_CLASSES = {
4426
4492
  md: "h-1.5 w-1.5",
4427
4493
  lg: "h-2 w-2"
4428
4494
  };
4429
- var RadioGroup3 = React34.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4495
+ var RadioGroup3 = React35.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4430
4496
  RadioGroupPrimitive.Root,
4431
4497
  {
4432
4498
  ref,
@@ -4436,10 +4502,10 @@ var RadioGroup3 = React34.forwardRef(({ className, size = "md", ...props }, ref)
4436
4502
  }
4437
4503
  ) }));
4438
4504
  RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
4439
- var RadioGroupItem = React34.forwardRef(({ className, size, ...props }, ref) => {
4440
- const groupSize = React34.useContext(RadioGroupSizeContext);
4505
+ var RadioGroupItem = React35.forwardRef(({ className, size, ...props }, ref) => {
4506
+ const groupSize = React35.useContext(RadioGroupSizeContext);
4441
4507
  const resolved = size ?? groupSize;
4442
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4508
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4443
4509
  RadioGroupPrimitive.Item,
4444
4510
  {
4445
4511
  ref,
@@ -4456,7 +4522,7 @@ var RadioGroupItem = React34.forwardRef(({ className, size, ...props }, ref) =>
4456
4522
  className
4457
4523
  ),
4458
4524
  ...props,
4459
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4525
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4460
4526
  "div",
4461
4527
  {
4462
4528
  className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
@@ -4469,7 +4535,7 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
4469
4535
 
4470
4536
  // src/resizable.tsx
4471
4537
  var import_react_resizable_panels = require("react-resizable-panels");
4472
- var import_jsx_runtime45 = require("react/jsx-runtime");
4538
+ var import_jsx_runtime46 = require("react/jsx-runtime");
4473
4539
  var HANDLE_SIZES = {
4474
4540
  xs: "w-0.5 [&[aria-orientation=horizontal]]:h-0.5 [&[aria-orientation=horizontal]]:w-full",
4475
4541
  sm: "w-1 [&[aria-orientation=horizontal]]:h-1 [&[aria-orientation=horizontal]]:w-full",
@@ -4483,7 +4549,7 @@ var HANDLE_SIZES = {
4483
4549
  var ResizablePanelGroup = ({
4484
4550
  className,
4485
4551
  ...props
4486
- }) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4552
+ }) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4487
4553
  import_react_resizable_panels.Group,
4488
4554
  {
4489
4555
  "data-slot": "resizable-group",
@@ -4498,7 +4564,7 @@ var ResizableHandle = ({
4498
4564
  size = "xs",
4499
4565
  className,
4500
4566
  ...props
4501
- }) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4567
+ }) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4502
4568
  import_react_resizable_panels.Separator,
4503
4569
  {
4504
4570
  "data-slot": "resizable-handle",
@@ -4518,15 +4584,15 @@ var ResizableHandle = ({
4518
4584
  className
4519
4585
  ),
4520
4586
  ...props,
4521
- children: withHandle ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("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__ */ (0, import_jsx_runtime45.jsx)(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
4587
+ children: withHandle ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("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__ */ (0, import_jsx_runtime46.jsx)(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
4522
4588
  }
4523
4589
  );
4524
4590
  ResizableHandle.displayName = "ResizableHandle";
4525
4591
 
4526
4592
  // src/slider.tsx
4527
4593
  var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
4528
- var React35 = __toESM(require("react"), 1);
4529
- var import_jsx_runtime46 = require("react/jsx-runtime");
4594
+ var React36 = __toESM(require("react"), 1);
4595
+ var import_jsx_runtime47 = require("react/jsx-runtime");
4530
4596
  var TRACK_CLASSES = {
4531
4597
  sm: "h-1",
4532
4598
  md: "h-1.5",
@@ -4537,12 +4603,12 @@ var THUMB_CLASSES = {
4537
4603
  md: "h-4 w-4",
4538
4604
  lg: "h-5 w-5"
4539
4605
  };
4540
- var Slider = React35.forwardRef(({ className, size = "md", ...props }, ref) => {
4606
+ var Slider = React36.forwardRef(({ className, size = "md", ...props }, ref) => {
4541
4607
  const thumbCount = Math.max(
4542
4608
  1,
4543
4609
  (props.value ?? props.defaultValue ?? [0]).length
4544
4610
  );
4545
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
4611
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
4546
4612
  SliderPrimitive.Root,
4547
4613
  {
4548
4614
  ref,
@@ -4554,7 +4620,7 @@ var Slider = React35.forwardRef(({ className, size = "md", ...props }, ref) => {
4554
4620
  ),
4555
4621
  ...props,
4556
4622
  children: [
4557
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4623
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4558
4624
  SliderPrimitive.Track,
4559
4625
  {
4560
4626
  "data-slot": "slider-track",
@@ -4563,7 +4629,7 @@ var Slider = React35.forwardRef(({ className, size = "md", ...props }, ref) => {
4563
4629
  TRACK_CLASSES[size],
4564
4630
  "data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
4565
4631
  ),
4566
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4632
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4567
4633
  SliderPrimitive.Range,
4568
4634
  {
4569
4635
  "data-slot": "slider-range",
@@ -4572,7 +4638,7 @@ var Slider = React35.forwardRef(({ className, size = "md", ...props }, ref) => {
4572
4638
  )
4573
4639
  }
4574
4640
  ),
4575
- Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4641
+ Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4576
4642
  SliderPrimitive.Thumb,
4577
4643
  {
4578
4644
  "data-slot": "slider-thumb",
@@ -4599,8 +4665,8 @@ Slider.displayName = SliderPrimitive.Root.displayName;
4599
4665
  var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
4600
4666
  var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
4601
4667
  var import_class_variance_authority6 = require("class-variance-authority");
4602
- var React36 = __toESM(require("react"), 1);
4603
- var import_jsx_runtime47 = require("react/jsx-runtime");
4668
+ var React37 = __toESM(require("react"), 1);
4669
+ var import_jsx_runtime48 = require("react/jsx-runtime");
4604
4670
  var toggleVariants = (0, import_class_variance_authority6.cva)(
4605
4671
  "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",
4606
4672
  {
@@ -4621,7 +4687,7 @@ var toggleVariants = (0, import_class_variance_authority6.cva)(
4621
4687
  }
4622
4688
  }
4623
4689
  );
4624
- var Toggle = React36.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4690
+ var Toggle = React37.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4625
4691
  TogglePrimitive.Root,
4626
4692
  {
4627
4693
  ref,
@@ -4631,21 +4697,21 @@ var Toggle = React36.forwardRef(({ className, variant, size, ...props }, ref) =>
4631
4697
  }
4632
4698
  ));
4633
4699
  Toggle.displayName = TogglePrimitive.Root.displayName;
4634
- var ToggleGroupContext = React36.createContext({ size: "default", variant: "default" });
4635
- var ToggleGroup = React36.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4700
+ var ToggleGroupContext = React37.createContext({ size: "default", variant: "default" });
4701
+ var ToggleGroup = React37.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4636
4702
  ToggleGroupPrimitive.Root,
4637
4703
  {
4638
4704
  ref,
4639
4705
  "data-slot": "toggle-group",
4640
4706
  className: cn("flex items-center justify-center gap-1", className),
4641
4707
  ...props,
4642
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
4708
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
4643
4709
  }
4644
4710
  ));
4645
4711
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
4646
- var ToggleGroupItem = React36.forwardRef(({ className, children, variant, size, ...props }, ref) => {
4647
- const context = React36.useContext(ToggleGroupContext);
4648
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4712
+ var ToggleGroupItem = React37.forwardRef(({ className, children, variant, size, ...props }, ref) => {
4713
+ const context = React37.useContext(ToggleGroupContext);
4714
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4649
4715
  ToggleGroupPrimitive.Item,
4650
4716
  {
4651
4717
  ref,
@@ -4666,14 +4732,14 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
4666
4732
 
4667
4733
  // src/tooltip.tsx
4668
4734
  var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
4669
- var React37 = __toESM(require("react"), 1);
4670
- var import_jsx_runtime48 = require("react/jsx-runtime");
4735
+ var React38 = __toESM(require("react"), 1);
4736
+ var import_jsx_runtime49 = require("react/jsx-runtime");
4671
4737
  var TooltipProvider = TooltipPrimitive.Provider;
4672
4738
  var Tooltip = TooltipPrimitive.Root;
4673
4739
  var TooltipTrigger = TooltipPrimitive.Trigger;
4674
- var TooltipContent = React37.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
4740
+ var TooltipContent = React38.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
4675
4741
  const resolved = usePortalContainer(container);
4676
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4742
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4677
4743
  TooltipPrimitive.Content,
4678
4744
  {
4679
4745
  ref,
@@ -4708,7 +4774,7 @@ function getTapTargetLinkComponent() {
4708
4774
  }
4709
4775
 
4710
4776
  // src/tap-target/tap-target-button.tsx
4711
- var import_jsx_runtime49 = require("react/jsx-runtime");
4777
+ var import_jsx_runtime50 = require("react/jsx-runtime");
4712
4778
  var EXTERNAL_RE = /^(https?:|mailto:|tel:)/i;
4713
4779
  var TAP_OUTER_CLASS = "matrx-tap-target group";
4714
4780
  var TAP_GROUP_OUTER_CLASS = "matrx-tap-target matrx-tap-target-sm group";
@@ -4724,9 +4790,9 @@ function IconContent({
4724
4790
  className: cn2(className, icon.props.className)
4725
4791
  });
4726
4792
  }
4727
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className, children: icon });
4793
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className, children: icon });
4728
4794
  }
4729
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4795
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4730
4796
  "svg",
4731
4797
  {
4732
4798
  className,
@@ -4763,7 +4829,7 @@ function buildTapInner({
4763
4829
  children,
4764
4830
  strokeWidth = 2
4765
4831
  }) {
4766
- const iconEl = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4832
+ const iconEl = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4767
4833
  IconContent,
4768
4834
  {
4769
4835
  icon,
@@ -4774,11 +4840,11 @@ function buildTapInner({
4774
4840
  );
4775
4841
  const pillClasses = label ? `${pillClassName} ${inlineModifier}`.trim() : pillClassName;
4776
4842
  if (!label) {
4777
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: pillClasses, children: iconEl });
4843
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: pillClasses, children: iconEl });
4778
4844
  }
4779
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: pillClasses, children: [
4845
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: pillClasses, children: [
4780
4846
  iconEl,
4781
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: labelClassName ?? "matrx-tap-label", children: label })
4847
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: labelClassName ?? "matrx-tap-label", children: label })
4782
4848
  ] });
4783
4849
  }
4784
4850
  function renderTapTarget({
@@ -4866,7 +4932,7 @@ function renderTrigger({
4866
4932
  buttonRef
4867
4933
  }) {
4868
4934
  if (disabled && href) {
4869
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4935
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4870
4936
  "span",
4871
4937
  {
4872
4938
  "aria-disabled": "true",
@@ -4879,7 +4945,7 @@ function renderTrigger({
4879
4945
  if (href) {
4880
4946
  const isExternal = EXTERNAL_RE.test(href);
4881
4947
  if (isExternal) {
4882
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4948
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4883
4949
  "a",
4884
4950
  {
4885
4951
  href,
@@ -4893,7 +4959,7 @@ function renderTrigger({
4893
4959
  }
4894
4960
  const Link = linkComponent ?? getTapTargetLinkComponent();
4895
4961
  if (Link) {
4896
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4962
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4897
4963
  Link,
4898
4964
  {
4899
4965
  href,
@@ -4906,7 +4972,7 @@ function renderTrigger({
4906
4972
  }
4907
4973
  );
4908
4974
  }
4909
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4975
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4910
4976
  "a",
4911
4977
  {
4912
4978
  href,
@@ -4919,7 +4985,7 @@ function renderTrigger({
4919
4985
  );
4920
4986
  }
4921
4987
  if (as === "label") {
4922
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4988
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4923
4989
  "label",
4924
4990
  {
4925
4991
  htmlFor,
@@ -4929,7 +4995,7 @@ function renderTrigger({
4929
4995
  }
4930
4996
  );
4931
4997
  }
4932
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4998
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4933
4999
  "button",
4934
5000
  {
4935
5001
  ref: buttonRef,
@@ -4953,14 +5019,14 @@ function withTooltip(trigger, {
4953
5019
  if (tooltip === false) return trigger;
4954
5020
  const label = typeof tooltip === "string" && tooltip.length > 0 ? tooltip : ariaLabel;
4955
5021
  if (!label) return trigger;
4956
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Tooltip, { children: [
4957
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TooltipTrigger, { asChild: true, children: disabled ? (
5022
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Tooltip, { children: [
5023
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TooltipTrigger, { asChild: true, children: disabled ? (
4958
5024
  // Radix Tooltip triggers need a hoverable element; a disabled button
4959
5025
  // does not dispatch pointer events, so we wrap in a span for the
4960
5026
  // trigger target while keeping the disabled visual state.
4961
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "inline-flex", children: trigger })
5027
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "inline-flex", children: trigger })
4962
5028
  ) : trigger }),
4963
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TooltipContent, { side: tooltipSide, align: tooltipAlign, children: label })
5029
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TooltipContent, { side: tooltipSide, align: tooltipAlign, children: label })
4964
5030
  ] });
4965
5031
  }
4966
5032
  var TapTargetButton = (0, import_react6.forwardRef)(function TapTargetButton2({
@@ -5116,7 +5182,7 @@ var TapTargetButtonDestructive = (0, import_react6.forwardRef)(function TapTarge
5116
5182
  hoverBgColor = "hover:bg-destructive/90",
5117
5183
  ...rest
5118
5184
  }, ref) {
5119
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5185
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5120
5186
  TapTargetButtonSolid,
5121
5187
  {
5122
5188
  ref,
@@ -5181,32 +5247,32 @@ function TapTargetButtonGroup({
5181
5247
  children,
5182
5248
  className
5183
5249
  }) {
5184
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
5250
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
5185
5251
  "div",
5186
5252
  {
5187
5253
  className: className ? `relative inline-flex h-9 items-center ${className}` : "relative inline-flex h-9 items-center",
5188
5254
  children: [
5189
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "pointer-events-none absolute inset-x-0 top-1/2 -translate-y-1/2 h-7 rounded-full matrx-glass-thin-border" }),
5190
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "relative flex min-w-0 items-center", children })
5255
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "pointer-events-none absolute inset-x-0 top-1/2 -translate-y-1/2 h-7 rounded-full matrx-glass-thin-border" }),
5256
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "relative flex min-w-0 items-center", children })
5191
5257
  ]
5192
5258
  }
5193
5259
  );
5194
5260
  }
5195
5261
 
5196
5262
  // src/tap-target/tap-target-labeled.tsx
5197
- var import_jsx_runtime50 = require("react/jsx-runtime");
5263
+ var import_jsx_runtime51 = require("react/jsx-runtime");
5198
5264
  function TapTargetLabeled({
5199
5265
  label,
5200
5266
  children,
5201
5267
  hideLabel = false,
5202
5268
  toolTipSide = "bottom"
5203
5269
  }) {
5204
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Tooltip, { children: [
5205
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex flex-col items-center p-0 gap-0 space-y-0 space-x-0 shrink-0", children: [
5270
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Tooltip, { children: [
5271
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-col items-center p-0 gap-0 space-y-0 space-x-0 shrink-0", children: [
5206
5272
  children,
5207
- !hideLabel && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "text-[10px] text-muted-foreground/70 leading-tight max-w-[52px] text-center truncate", children: label })
5273
+ !hideLabel && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-[10px] text-muted-foreground/70 leading-tight max-w-[52px] text-center truncate", children: label })
5208
5274
  ] }) }),
5209
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TooltipContent, { side: toolTipSide, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "font-mono text-xs max-w-[280px] break-all", children: label }) })
5275
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TooltipContent, { side: toolTipSide, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "font-mono text-xs max-w-[280px] break-all", children: label }) })
5210
5276
  ] }) });
5211
5277
  }
5212
5278
  //# sourceMappingURL=index.cjs.map