@pactor-app/ui 1.10.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -877,6 +877,7 @@ var import_react2 = require("react");
877
877
 
878
878
  // src/ui/breadcrumb.tsx
879
879
  var import_lucide_react3 = require("lucide-react");
880
+ var React2 = __toESM(require("react"), 1);
880
881
  var import_jsx_runtime16 = require("react/jsx-runtime");
881
882
  function Breadcrumb({ ...props }) {
882
883
  return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
@@ -904,12 +905,27 @@ function BreadcrumbItem({ className, ...props }) {
904
905
  }
905
906
  );
906
907
  }
907
- function BreadcrumbLink({ className, ...props }) {
908
+ function BreadcrumbLink({
909
+ className,
910
+ render,
911
+ ...props
912
+ }) {
913
+ const linkClassName = cn("transition-colors hover:text-foreground", className);
914
+ if (render) {
915
+ return React2.cloneElement(render, {
916
+ "data-slot": "breadcrumb-link",
917
+ ...props,
918
+ className: cn(
919
+ linkClassName,
920
+ render.props.className
921
+ )
922
+ });
923
+ }
908
924
  return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
909
925
  "a",
910
926
  {
911
927
  "data-slot": "breadcrumb-link",
912
- className: cn("transition-colors hover:text-foreground", className),
928
+ className: linkClassName,
913
929
  ...props
914
930
  }
915
931
  );
@@ -945,21 +961,106 @@ function BreadcrumbSeparator({
945
961
  );
946
962
  }
947
963
 
964
+ // src/components/spa-link.ts
965
+ var import_runtime3 = require("@pactor-app/runtime");
966
+ function shouldInterceptLinkClick(event, href, target) {
967
+ return typeof href === "string" && href.startsWith("/") && (target === void 0 || target === "_self") && event.button === 0 && !event.metaKey && !event.ctrlKey && !event.shiftKey && !event.altKey;
968
+ }
969
+ function useSpaLinkClick() {
970
+ const { context } = (0, import_runtime3.useRenderer)();
971
+ return (event, href, target) => {
972
+ if (shouldInterceptLinkClick(event, href, target)) {
973
+ event.preventDefault();
974
+ context.route.navigate(href);
975
+ }
976
+ };
977
+ }
978
+
948
979
  // src/components/components/Breadcrumb/index.tsx
949
980
  var import_jsx_runtime17 = require("react/jsx-runtime");
950
981
  function Breadcrumb2({ items = [], className, style }) {
982
+ const handleSpaClick = useSpaLinkClick();
951
983
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Breadcrumb, { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbList, { children: items.map((item, index) => {
952
984
  const isLast = index === items.length - 1;
953
985
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react2.Fragment, { children: [
954
986
  index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbSeparator, {}) : null,
955
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbItem, { children: isLast || !item.href ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbLink, { href: item.href, children: item.label }) })
987
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbItem, { children: isLast || !item.href ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
988
+ BreadcrumbLink,
989
+ {
990
+ href: item.href,
991
+ onClick: (event) => handleSpaClick(event, item.href),
992
+ children: item.label
993
+ }
994
+ ) })
956
995
  ] }, `${item.label}-${index}`);
957
996
  }) }) });
958
997
  }
959
998
 
960
999
  // src/components/components/Button/index.tsx
961
1000
  var import_lucide_react4 = require("lucide-react");
1001
+
1002
+ // src/ui/tooltip.tsx
1003
+ var import_tooltip = require("@base-ui/react/tooltip");
962
1004
  var import_jsx_runtime18 = require("react/jsx-runtime");
1005
+ function TooltipProvider({
1006
+ delay = 0,
1007
+ ...props
1008
+ }) {
1009
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1010
+ import_tooltip.Tooltip.Provider,
1011
+ {
1012
+ "data-slot": "tooltip-provider",
1013
+ delay,
1014
+ ...props
1015
+ }
1016
+ );
1017
+ }
1018
+ function Tooltip({
1019
+ ...props
1020
+ }) {
1021
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_tooltip.Tooltip.Root, { "data-slot": "tooltip", ...props }) });
1022
+ }
1023
+ function TooltipTrigger({
1024
+ ...props
1025
+ }) {
1026
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_tooltip.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
1027
+ }
1028
+ function TooltipContent({
1029
+ className,
1030
+ side = "top",
1031
+ sideOffset = 4,
1032
+ align = "center",
1033
+ children,
1034
+ ...props
1035
+ }) {
1036
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1037
+ import_tooltip.Tooltip.Positioner,
1038
+ {
1039
+ align,
1040
+ side,
1041
+ sideOffset,
1042
+ className: "isolate z-50",
1043
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1044
+ import_tooltip.Tooltip.Popup,
1045
+ {
1046
+ "data-slot": "tooltip-content",
1047
+ className: cn(
1048
+ "z-50 w-fit origin-(--transform-origin) rounded-md bg-primary px-3 py-1.5 text-xs text-balance text-primary-foreground duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
1049
+ className
1050
+ ),
1051
+ ...props,
1052
+ children: [
1053
+ children,
1054
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_tooltip.Tooltip.Arrow, { className: "z-50 size-2.5 rotate-45 rounded-[2px] bg-primary fill-primary data-[side=top]:-bottom-1 data-[side=bottom]:-top-1 data-[side=left]:-right-1 data-[side=right]:-left-1" })
1055
+ ]
1056
+ }
1057
+ )
1058
+ }
1059
+ ) });
1060
+ }
1061
+
1062
+ // src/components/components/Button/index.tsx
1063
+ var import_jsx_runtime19 = require("react/jsx-runtime");
963
1064
  var variantMap2 = {
964
1065
  default: "outline",
965
1066
  primary: "default",
@@ -974,6 +1075,8 @@ var sizeMap = {
974
1075
  };
975
1076
  function Button2({
976
1077
  text,
1078
+ icon,
1079
+ tooltip,
977
1080
  variant = "default",
978
1081
  danger,
979
1082
  size = "middle",
@@ -986,7 +1089,7 @@ function Button2({
986
1089
  children
987
1090
  }) {
988
1091
  const textual = variant === "link" || variant === "text";
989
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1092
+ const button = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
990
1093
  Button,
991
1094
  {
992
1095
  type: submit ? "submit" : "button",
@@ -1002,17 +1105,24 @@ function Button2({
1002
1105
  className
1003
1106
  ),
1004
1107
  children: [
1005
- loading ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react4.Loader2, { "aria-hidden": true, className: "animate-spin" }) : null,
1108
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react4.Loader2, { "aria-hidden": true, className: "animate-spin" }) : icon ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon, { name: icon, size: "sm" }) : null,
1006
1109
  text ?? children
1007
1110
  ]
1008
1111
  }
1009
1112
  );
1113
+ if (tooltip) {
1114
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Tooltip, { children: [
1115
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(TooltipTrigger, { render: button }),
1116
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(TooltipContent, { children: tooltip })
1117
+ ] });
1118
+ }
1119
+ return button;
1010
1120
  }
1011
1121
 
1012
1122
  // src/ui/button-group.tsx
1013
- var import_jsx_runtime19 = require("react/jsx-runtime");
1123
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1014
1124
  function ButtonGroup({ className, ...props }) {
1015
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1125
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1016
1126
  "div",
1017
1127
  {
1018
1128
  role: "group",
@@ -1027,9 +1137,9 @@ function ButtonGroup({ className, ...props }) {
1027
1137
  }
1028
1138
 
1029
1139
  // src/components/components/ButtonGroup/index.tsx
1030
- var import_jsx_runtime20 = require("react/jsx-runtime");
1140
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1031
1141
  function ButtonGroup2({ className, style, children }) {
1032
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ButtonGroup, { className, style, children });
1142
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ButtonGroup, { className, style, children });
1033
1143
  }
1034
1144
 
1035
1145
  // src/components/components/Calendar/index.tsx
@@ -1039,7 +1149,7 @@ var import_react4 = require("react");
1039
1149
  // src/ui/calendar.tsx
1040
1150
  var import_lucide_react5 = require("lucide-react");
1041
1151
  var import_react_day_picker = require("react-day-picker");
1042
- var import_jsx_runtime21 = require("react/jsx-runtime");
1152
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1043
1153
  function Calendar2({
1044
1154
  className,
1045
1155
  classNames,
@@ -1047,7 +1157,7 @@ function Calendar2({
1047
1157
  ...props
1048
1158
  }) {
1049
1159
  const defaultClassNames = (0, import_react_day_picker.getDefaultClassNames)();
1050
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1160
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1051
1161
  import_react_day_picker.DayPicker,
1052
1162
  {
1053
1163
  showOutsideDays,
@@ -1104,7 +1214,7 @@ function Calendar2({
1104
1214
  ...classNames
1105
1215
  },
1106
1216
  components: {
1107
- Chevron: ({ orientation }) => orientation === "left" ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react5.ChevronLeftIcon, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react5.ChevronRightIcon, { className: "size-4" })
1217
+ Chevron: ({ orientation }) => orientation === "left" ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react5.ChevronLeftIcon, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react5.ChevronRightIcon, { className: "size-4" })
1108
1218
  },
1109
1219
  ...props
1110
1220
  }
@@ -1130,7 +1240,7 @@ function formItemClass(layout) {
1130
1240
  }
1131
1241
 
1132
1242
  // src/components/components/Calendar/index.tsx
1133
- var import_jsx_runtime22 = require("react/jsx-runtime");
1243
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1134
1244
  function parseValue(value) {
1135
1245
  if (typeof value !== "string" || value === "") return void 0;
1136
1246
  const date = (0, import_date_fns.parseISO)(value);
@@ -1164,7 +1274,7 @@ function Calendar3({
1164
1274
  }
1165
1275
  onChange?.(next);
1166
1276
  };
1167
- const calendar = /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1277
+ const calendar = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1168
1278
  Calendar2,
1169
1279
  {
1170
1280
  mode,
@@ -1177,16 +1287,16 @@ function Calendar3({
1177
1287
  );
1178
1288
  if (inForm && form && name) {
1179
1289
  const error = form.errors[name];
1180
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1290
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1181
1291
  "div",
1182
1292
  {
1183
1293
  "data-slot": "form-item",
1184
1294
  className: cn(formItemClass(form.layout), className),
1185
1295
  style,
1186
1296
  children: [
1187
- label ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("label", { className: "shrink-0 text-sm leading-none font-medium whitespace-nowrap", children: label }) : null,
1297
+ label ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("label", { className: "shrink-0 text-sm leading-none font-medium whitespace-nowrap", children: label }) : null,
1188
1298
  calendar,
1189
- error ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
1299
+ error ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
1190
1300
  ]
1191
1301
  }
1192
1302
  );
@@ -1195,7 +1305,7 @@ function Calendar3({
1195
1305
  }
1196
1306
 
1197
1307
  // src/ui/card.tsx
1198
- var import_jsx_runtime23 = require("react/jsx-runtime");
1308
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1199
1309
  var cardRoundedClasses = {
1200
1310
  none: "rounded-none",
1201
1311
  sm: "rounded-sm",
@@ -1210,7 +1320,7 @@ function Card({
1210
1320
  rounded = "lg",
1211
1321
  ...props
1212
1322
  }) {
1213
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1323
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1214
1324
  "div",
1215
1325
  {
1216
1326
  "data-slot": "card",
@@ -1224,7 +1334,7 @@ function Card({
1224
1334
  );
1225
1335
  }
1226
1336
  function CardHeader({ className, ...props }) {
1227
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1337
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1228
1338
  "div",
1229
1339
  {
1230
1340
  "data-slot": "card-header",
@@ -1237,7 +1347,7 @@ function CardHeader({ className, ...props }) {
1237
1347
  );
1238
1348
  }
1239
1349
  function CardTitle({ className, ...props }) {
1240
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1350
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1241
1351
  "div",
1242
1352
  {
1243
1353
  "data-slot": "card-title",
@@ -1247,7 +1357,7 @@ function CardTitle({ className, ...props }) {
1247
1357
  );
1248
1358
  }
1249
1359
  function CardContent({ className, ...props }) {
1250
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1360
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1251
1361
  "div",
1252
1362
  {
1253
1363
  "data-slot": "card-content",
@@ -1258,34 +1368,34 @@ function CardContent({ className, ...props }) {
1258
1368
  }
1259
1369
 
1260
1370
  // src/components/components/Card/index.tsx
1261
- var import_jsx_runtime24 = require("react/jsx-runtime");
1371
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1262
1372
  function Card2({ title, bordered = true, rounded, className, style, children }) {
1263
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
1373
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1264
1374
  Card,
1265
1375
  {
1266
1376
  rounded,
1267
1377
  className: cn("gap-4 py-4", !bordered && "border-transparent shadow-none", className),
1268
1378
  style,
1269
1379
  children: [
1270
- title ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CardHeader, { className: "px-4", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CardTitle, { children: title }) }) : null,
1271
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CardContent, { className: "px-4", children })
1380
+ title ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CardHeader, { className: "px-4", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CardTitle, { children: title }) }) : null,
1381
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CardContent, { className: "px-4", children })
1272
1382
  ]
1273
1383
  }
1274
1384
  );
1275
1385
  }
1276
1386
 
1277
1387
  // src/components/components/Carousel/index.tsx
1278
- var import_runtime3 = require("@pactor-app/runtime");
1388
+ var import_runtime4 = require("@pactor-app/runtime");
1279
1389
  var import_react5 = require("react");
1280
1390
 
1281
1391
  // src/ui/carousel.tsx
1282
1392
  var import_embla_carousel_react = __toESM(require("embla-carousel-react"), 1);
1283
1393
  var import_lucide_react6 = require("lucide-react");
1284
- var React2 = __toESM(require("react"), 1);
1285
- var import_jsx_runtime25 = require("react/jsx-runtime");
1286
- var CarouselContext = React2.createContext(null);
1394
+ var React3 = __toESM(require("react"), 1);
1395
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1396
+ var CarouselContext = React3.createContext(null);
1287
1397
  function useCarousel() {
1288
- const context = React2.useContext(CarouselContext);
1398
+ const context = React3.useContext(CarouselContext);
1289
1399
  if (!context) {
1290
1400
  throw new Error("useCarousel must be used within a <Carousel />");
1291
1401
  }
@@ -1304,16 +1414,16 @@ function Carousel({
1304
1414
  { ...opts, axis: orientation === "horizontal" ? "x" : "y" },
1305
1415
  plugins
1306
1416
  );
1307
- const [canScrollPrev, setCanScrollPrev] = React2.useState(false);
1308
- const [canScrollNext, setCanScrollNext] = React2.useState(false);
1309
- const onSelect = React2.useCallback((carouselApi) => {
1417
+ const [canScrollPrev, setCanScrollPrev] = React3.useState(false);
1418
+ const [canScrollNext, setCanScrollNext] = React3.useState(false);
1419
+ const onSelect = React3.useCallback((carouselApi) => {
1310
1420
  if (!carouselApi) return;
1311
1421
  setCanScrollPrev(carouselApi.canScrollPrev());
1312
1422
  setCanScrollNext(carouselApi.canScrollNext());
1313
1423
  }, []);
1314
- const scrollPrev = React2.useCallback(() => api?.scrollPrev(), [api]);
1315
- const scrollNext = React2.useCallback(() => api?.scrollNext(), [api]);
1316
- const handleKeyDown = React2.useCallback(
1424
+ const scrollPrev = React3.useCallback(() => api?.scrollPrev(), [api]);
1425
+ const scrollNext = React3.useCallback(() => api?.scrollNext(), [api]);
1426
+ const handleKeyDown = React3.useCallback(
1317
1427
  (event) => {
1318
1428
  if (event.key === "ArrowLeft") {
1319
1429
  event.preventDefault();
@@ -1325,10 +1435,10 @@ function Carousel({
1325
1435
  },
1326
1436
  [scrollPrev, scrollNext]
1327
1437
  );
1328
- React2.useEffect(() => {
1438
+ React3.useEffect(() => {
1329
1439
  if (api && setApi) setApi(api);
1330
1440
  }, [api, setApi]);
1331
- React2.useEffect(() => {
1441
+ React3.useEffect(() => {
1332
1442
  if (!api) return;
1333
1443
  onSelect(api);
1334
1444
  api.on("reInit", onSelect);
@@ -1337,7 +1447,7 @@ function Carousel({
1337
1447
  api.off("select", onSelect);
1338
1448
  };
1339
1449
  }, [api, onSelect]);
1340
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1450
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1341
1451
  CarouselContext.Provider,
1342
1452
  {
1343
1453
  value: {
@@ -1350,7 +1460,7 @@ function Carousel({
1350
1460
  canScrollPrev,
1351
1461
  canScrollNext
1352
1462
  },
1353
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1463
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1354
1464
  "div",
1355
1465
  {
1356
1466
  onKeyDownCapture: handleKeyDown,
@@ -1367,7 +1477,7 @@ function Carousel({
1367
1477
  }
1368
1478
  function CarouselContent({ className, ...props }) {
1369
1479
  const { carouselRef, orientation } = useCarousel();
1370
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { ref: carouselRef, className: "overflow-hidden", "data-slot": "carousel-viewport", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1480
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { ref: carouselRef, className: "overflow-hidden", "data-slot": "carousel-viewport", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1371
1481
  "div",
1372
1482
  {
1373
1483
  className: cn(
@@ -1381,7 +1491,7 @@ function CarouselContent({ className, ...props }) {
1381
1491
  }
1382
1492
  function CarouselItem({ className, ...props }) {
1383
1493
  const { orientation } = useCarousel();
1384
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1494
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1385
1495
  "div",
1386
1496
  {
1387
1497
  role: "group",
@@ -1403,7 +1513,7 @@ function CarouselPrevious({
1403
1513
  ...props
1404
1514
  }) {
1405
1515
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
1406
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1516
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
1407
1517
  Button,
1408
1518
  {
1409
1519
  "data-slot": "carousel-previous",
@@ -1418,8 +1528,8 @@ function CarouselPrevious({
1418
1528
  onClick: scrollPrev,
1419
1529
  ...props,
1420
1530
  children: [
1421
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react6.ChevronLeftIcon, {}),
1422
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "sr-only", children: "Previous slide" })
1531
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react6.ChevronLeftIcon, {}),
1532
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "sr-only", children: "Previous slide" })
1423
1533
  ]
1424
1534
  }
1425
1535
  );
@@ -1431,7 +1541,7 @@ function CarouselNext({
1431
1541
  ...props
1432
1542
  }) {
1433
1543
  const { orientation, scrollNext, canScrollNext } = useCarousel();
1434
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1544
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
1435
1545
  Button,
1436
1546
  {
1437
1547
  "data-slot": "carousel-next",
@@ -1446,15 +1556,15 @@ function CarouselNext({
1446
1556
  onClick: scrollNext,
1447
1557
  ...props,
1448
1558
  children: [
1449
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react6.ChevronRightIcon, {}),
1450
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "sr-only", children: "Next slide" })
1559
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react6.ChevronRightIcon, {}),
1560
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "sr-only", children: "Next slide" })
1451
1561
  ]
1452
1562
  }
1453
1563
  );
1454
1564
  }
1455
1565
 
1456
1566
  // src/components/components/Carousel/index.tsx
1457
- var import_jsx_runtime26 = require("react/jsx-runtime");
1567
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1458
1568
  function isDslNode(item) {
1459
1569
  return typeof item.type === "string";
1460
1570
  }
@@ -1465,7 +1575,7 @@ function Carousel2({
1465
1575
  className,
1466
1576
  style
1467
1577
  }) {
1468
- const { renderChildren } = (0, import_runtime3.useRenderer)();
1578
+ const { renderChildren } = (0, import_runtime4.useRenderer)();
1469
1579
  const [api, setApi] = (0, import_react5.useState)();
1470
1580
  (0, import_react5.useEffect)(() => {
1471
1581
  if (!api || !autoplay) return;
@@ -1479,7 +1589,7 @@ function Carousel2({
1479
1589
  }, interval);
1480
1590
  return () => clearInterval(timer);
1481
1591
  }, [api, autoplay, loop]);
1482
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
1592
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
1483
1593
  Carousel,
1484
1594
  {
1485
1595
  opts: { loop: loop === true },
@@ -1487,7 +1597,7 @@ function Carousel2({
1487
1597
  className,
1488
1598
  style,
1489
1599
  children: [
1490
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CarouselContent, { children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CarouselItem, { children: isDslNode(item) ? renderChildren([item]) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1600
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CarouselContent, { children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CarouselItem, { children: isDslNode(item) ? renderChildren([item]) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1491
1601
  "img",
1492
1602
  {
1493
1603
  src: item.src,
@@ -1495,8 +1605,8 @@ function Carousel2({
1495
1605
  className: "w-full rounded-md object-cover"
1496
1606
  }
1497
1607
  ) }, index)) }),
1498
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CarouselPrevious, {}),
1499
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CarouselNext, {})
1608
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CarouselPrevious, {}),
1609
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CarouselNext, {})
1500
1610
  ]
1501
1611
  }
1502
1612
  );
@@ -1508,9 +1618,9 @@ var import_react6 = require("react");
1508
1618
  // src/ui/checkbox.tsx
1509
1619
  var import_checkbox = require("@base-ui/react/checkbox");
1510
1620
  var import_lucide_react7 = require("lucide-react");
1511
- var import_jsx_runtime27 = require("react/jsx-runtime");
1621
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1512
1622
  function Checkbox({ className, ...props }) {
1513
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1623
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1514
1624
  import_checkbox.Checkbox.Root,
1515
1625
  {
1516
1626
  "data-slot": "checkbox",
@@ -1519,12 +1629,12 @@ function Checkbox({ className, ...props }) {
1519
1629
  className
1520
1630
  ),
1521
1631
  ...props,
1522
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1632
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1523
1633
  import_checkbox.Checkbox.Indicator,
1524
1634
  {
1525
1635
  "data-slot": "checkbox-indicator",
1526
1636
  className: "flex items-center justify-center text-current",
1527
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react7.CheckIcon, { className: "size-3.5" })
1637
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react7.CheckIcon, { className: "size-3.5" })
1528
1638
  }
1529
1639
  )
1530
1640
  }
@@ -1532,7 +1642,7 @@ function Checkbox({ className, ...props }) {
1532
1642
  }
1533
1643
 
1534
1644
  // src/components/components/Checkbox/index.tsx
1535
- var import_jsx_runtime28 = require("react/jsx-runtime");
1645
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1536
1646
  function Checkbox2({
1537
1647
  name,
1538
1648
  label,
@@ -1561,13 +1671,13 @@ function Checkbox2({
1561
1671
  }
1562
1672
  onChange?.(next);
1563
1673
  };
1564
- const control = /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
1674
+ const control = /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
1565
1675
  "span",
1566
1676
  {
1567
1677
  className: cn("inline-flex items-center gap-2", !inForm && className),
1568
1678
  style: inForm ? void 0 : style,
1569
1679
  children: [
1570
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1680
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1571
1681
  Checkbox,
1572
1682
  {
1573
1683
  id: controlId,
@@ -1577,12 +1687,12 @@ function Checkbox2({
1577
1687
  onCheckedChange: handleChange
1578
1688
  }
1579
1689
  ),
1580
- label ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("label", { htmlFor: controlId, className: "text-sm leading-none font-medium", children: label }) : null
1690
+ label ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { htmlFor: controlId, className: "text-sm leading-none font-medium", children: label }) : null
1581
1691
  ]
1582
1692
  }
1583
1693
  );
1584
1694
  if (inForm && form && name) {
1585
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
1695
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
1586
1696
  "div",
1587
1697
  {
1588
1698
  "data-slot": "form-item",
@@ -1590,7 +1700,7 @@ function Checkbox2({
1590
1700
  style,
1591
1701
  children: [
1592
1702
  control,
1593
- form.errors[name] ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { "data-slot": "form-error", className: "mt-1.5 text-sm text-destructive", children: form.errors[name] }) : null
1703
+ form.errors[name] ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { "data-slot": "form-error", className: "mt-1.5 text-sm text-destructive", children: form.errors[name] }) : null
1594
1704
  ]
1595
1705
  }
1596
1706
  );
@@ -1604,18 +1714,18 @@ var import_react7 = require("react");
1604
1714
  // src/ui/collapsible.tsx
1605
1715
  var import_collapsible = require("@base-ui/react/collapsible");
1606
1716
  var import_lucide_react8 = require("lucide-react");
1607
- var import_jsx_runtime29 = require("react/jsx-runtime");
1717
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1608
1718
  function Collapsible({
1609
1719
  ...props
1610
1720
  }) {
1611
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_collapsible.Collapsible.Root, { "data-slot": "collapsible", ...props });
1721
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_collapsible.Collapsible.Root, { "data-slot": "collapsible", ...props });
1612
1722
  }
1613
1723
  function CollapsibleTrigger({
1614
1724
  className,
1615
1725
  children,
1616
1726
  ...props
1617
1727
  }) {
1618
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
1728
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
1619
1729
  import_collapsible.Collapsible.Trigger,
1620
1730
  {
1621
1731
  "data-slot": "collapsible-trigger",
@@ -1626,7 +1736,7 @@ function CollapsibleTrigger({
1626
1736
  ...props,
1627
1737
  children: [
1628
1738
  children,
1629
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react8.ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 text-muted-foreground transition-transform duration-200" })
1739
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react8.ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 text-muted-foreground transition-transform duration-200" })
1630
1740
  ]
1631
1741
  }
1632
1742
  );
@@ -1635,7 +1745,7 @@ function CollapsibleContent({
1635
1745
  className,
1636
1746
  ...props
1637
1747
  }) {
1638
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1748
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1639
1749
  import_collapsible.Collapsible.Panel,
1640
1750
  {
1641
1751
  "data-slot": "collapsible-content",
@@ -1649,7 +1759,7 @@ function CollapsibleContent({
1649
1759
  }
1650
1760
 
1651
1761
  // src/components/components/Collapsible/index.tsx
1652
- var import_jsx_runtime30 = require("react/jsx-runtime");
1762
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1653
1763
  function Collapsible2({
1654
1764
  title,
1655
1765
  open,
@@ -1659,7 +1769,7 @@ function Collapsible2({
1659
1769
  }) {
1660
1770
  const [innerOpen, setInnerOpen] = (0, import_react7.useState)(false);
1661
1771
  const controlled = open !== void 0;
1662
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
1772
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
1663
1773
  Collapsible,
1664
1774
  {
1665
1775
  open: controlled ? open : innerOpen,
@@ -1671,8 +1781,8 @@ function Collapsible2({
1671
1781
  className,
1672
1782
  style,
1673
1783
  children: [
1674
- title ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CollapsibleTrigger, { children: title }) : null,
1675
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CollapsibleContent, { children })
1784
+ title ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CollapsibleTrigger, { children: title }) : null,
1785
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CollapsibleContent, { children })
1676
1786
  ]
1677
1787
  }
1678
1788
  );
@@ -1686,16 +1796,16 @@ var import_lucide_react9 = require("lucide-react");
1686
1796
 
1687
1797
  // src/ui/popover.tsx
1688
1798
  var import_popover = require("@base-ui/react/popover");
1689
- var import_jsx_runtime31 = require("react/jsx-runtime");
1799
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1690
1800
  function Popover({
1691
1801
  ...props
1692
1802
  }) {
1693
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_popover.Popover.Root, { "data-slot": "popover", ...props });
1803
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_popover.Popover.Root, { "data-slot": "popover", ...props });
1694
1804
  }
1695
1805
  function PopoverTrigger({
1696
1806
  ...props
1697
1807
  }) {
1698
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_popover.Popover.Trigger, { "data-slot": "popover-trigger", ...props });
1808
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_popover.Popover.Trigger, { "data-slot": "popover-trigger", ...props });
1699
1809
  }
1700
1810
  function PopoverContent({
1701
1811
  className,
@@ -1705,7 +1815,7 @@ function PopoverContent({
1705
1815
  anchor,
1706
1816
  ...props
1707
1817
  }) {
1708
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_popover.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1818
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_popover.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1709
1819
  import_popover.Popover.Positioner,
1710
1820
  {
1711
1821
  align,
@@ -1713,7 +1823,7 @@ function PopoverContent({
1713
1823
  sideOffset,
1714
1824
  anchor,
1715
1825
  className: "isolate z-50",
1716
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1826
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1717
1827
  import_popover.Popover.Popup,
1718
1828
  {
1719
1829
  "data-slot": "popover-content",
@@ -1729,20 +1839,20 @@ function PopoverContent({
1729
1839
  }
1730
1840
 
1731
1841
  // src/ui/combobox.tsx
1732
- var import_jsx_runtime32 = require("react/jsx-runtime");
1842
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1733
1843
  function Combobox({
1734
1844
  open,
1735
1845
  onOpenChange,
1736
1846
  children
1737
1847
  }) {
1738
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Popover, { open, onOpenChange: (next) => onOpenChange?.(next), children });
1848
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Popover, { open, onOpenChange: (next) => onOpenChange?.(next), children });
1739
1849
  }
1740
1850
  function ComboboxTrigger({
1741
1851
  className,
1742
1852
  children,
1743
1853
  ...props
1744
1854
  }) {
1745
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
1855
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
1746
1856
  PopoverTrigger,
1747
1857
  {
1748
1858
  "data-slot": "combobox-trigger",
@@ -1752,8 +1862,8 @@ function ComboboxTrigger({
1752
1862
  ),
1753
1863
  ...props,
1754
1864
  children: [
1755
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children }),
1756
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react9.ChevronsUpDownIcon, { className: "size-4 shrink-0 opacity-50" })
1865
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children }),
1866
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react9.ChevronsUpDownIcon, { className: "size-4 shrink-0 opacity-50" })
1757
1867
  ]
1758
1868
  }
1759
1869
  );
@@ -1763,7 +1873,7 @@ function ComboboxContent({
1763
1873
  children,
1764
1874
  ...props
1765
1875
  }) {
1766
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1876
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1767
1877
  PopoverContent,
1768
1878
  {
1769
1879
  "data-slot": "combobox-content",
@@ -1777,12 +1887,12 @@ function ComboboxContent({
1777
1887
  // src/ui/command.tsx
1778
1888
  var import_cmdk = require("cmdk");
1779
1889
  var import_lucide_react10 = require("lucide-react");
1780
- var import_jsx_runtime33 = require("react/jsx-runtime");
1890
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1781
1891
  function Command({
1782
1892
  className,
1783
1893
  ...props
1784
1894
  }) {
1785
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1895
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1786
1896
  import_cmdk.Command,
1787
1897
  {
1788
1898
  "data-slot": "command",
@@ -1798,14 +1908,14 @@ function CommandInput({
1798
1908
  className,
1799
1909
  ...props
1800
1910
  }) {
1801
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
1911
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
1802
1912
  "div",
1803
1913
  {
1804
1914
  "data-slot": "command-input-wrapper",
1805
1915
  className: "flex items-center gap-2 border-b border-border px-3",
1806
1916
  children: [
1807
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react10.SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
1808
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1917
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react10.SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
1918
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1809
1919
  import_cmdk.Command.Input,
1810
1920
  {
1811
1921
  "data-slot": "command-input",
@@ -1824,7 +1934,7 @@ function CommandList({
1824
1934
  className,
1825
1935
  ...props
1826
1936
  }) {
1827
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1937
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1828
1938
  import_cmdk.Command.List,
1829
1939
  {
1830
1940
  "data-slot": "command-list",
@@ -1839,7 +1949,7 @@ function CommandList({
1839
1949
  function CommandEmpty({
1840
1950
  ...props
1841
1951
  }) {
1842
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1952
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1843
1953
  import_cmdk.Command.Empty,
1844
1954
  {
1845
1955
  "data-slot": "command-empty",
@@ -1852,7 +1962,7 @@ function CommandGroup({
1852
1962
  className,
1853
1963
  ...props
1854
1964
  }) {
1855
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1965
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1856
1966
  import_cmdk.Command.Group,
1857
1967
  {
1858
1968
  "data-slot": "command-group",
@@ -1868,7 +1978,7 @@ function CommandItem({
1868
1978
  className,
1869
1979
  ...props
1870
1980
  }) {
1871
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1981
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1872
1982
  import_cmdk.Command.Item,
1873
1983
  {
1874
1984
  "data-slot": "command-item",
@@ -1882,7 +1992,7 @@ function CommandItem({
1882
1992
  }
1883
1993
 
1884
1994
  // src/components/components/Combobox/index.tsx
1885
- var import_jsx_runtime34 = require("react/jsx-runtime");
1995
+ var import_jsx_runtime35 = require("react/jsx-runtime");
1886
1996
  function Combobox2({
1887
1997
  name,
1888
1998
  label,
@@ -1923,8 +2033,8 @@ function Combobox2({
1923
2033
  onChange?.(option.value);
1924
2034
  setOpen(false);
1925
2035
  };
1926
- const control = /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Combobox, { open, onOpenChange: setOpen, children: [
1927
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2036
+ const control = /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Combobox, { open, onOpenChange: setOpen, children: [
2037
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1928
2038
  ComboboxTrigger,
1929
2039
  {
1930
2040
  id: controlId,
@@ -1935,11 +2045,11 @@ function Combobox2({
1935
2045
  children: selected ? selected.label : placeholder ?? ""
1936
2046
  }
1937
2047
  ),
1938
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ComboboxContent, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Command, { children: [
1939
- searchable ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CommandInput, { placeholder }) : null,
1940
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(CommandList, { children: [
1941
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CommandEmpty, { children: "\u65E0\u5339\u914D\u7ED3\u679C" }),
1942
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CommandGroup, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2048
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ComboboxContent, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Command, { children: [
2049
+ searchable ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CommandInput, { placeholder }) : null,
2050
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(CommandList, { children: [
2051
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CommandEmpty, { children: "\u65E0\u5339\u914D\u7ED3\u679C" }),
2052
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CommandGroup, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1943
2053
  CommandItem,
1944
2054
  {
1945
2055
  value: String(option.value),
@@ -1956,14 +2066,14 @@ function Combobox2({
1956
2066
  ] });
1957
2067
  if (inForm && form && name) {
1958
2068
  const error = form.errors[name];
1959
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
2069
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
1960
2070
  "div",
1961
2071
  {
1962
2072
  "data-slot": "form-item",
1963
2073
  className: cn(formItemClass(form.layout), className),
1964
2074
  style,
1965
2075
  children: [
1966
- label ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2076
+ label ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1967
2077
  "label",
1968
2078
  {
1969
2079
  htmlFor: controlId,
@@ -1972,7 +2082,7 @@ function Combobox2({
1972
2082
  }
1973
2083
  ) : null,
1974
2084
  control,
1975
- error ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
2085
+ error ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
1976
2086
  ]
1977
2087
  }
1978
2088
  );
@@ -1981,8 +2091,8 @@ function Combobox2({
1981
2091
  }
1982
2092
 
1983
2093
  // src/components/components/Command/index.tsx
1984
- var import_runtime4 = require("@pactor-app/runtime");
1985
- var import_jsx_runtime35 = require("react/jsx-runtime");
2094
+ var import_runtime5 = require("@pactor-app/runtime");
2095
+ var import_jsx_runtime36 = require("react/jsx-runtime");
1986
2096
  function Command2({
1987
2097
  groups = [],
1988
2098
  placeholder,
@@ -1991,12 +2101,12 @@ function Command2({
1991
2101
  className,
1992
2102
  style
1993
2103
  }) {
1994
- const { t } = (0, import_runtime4.useI18n)();
1995
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Command, { className, style, children: [
1996
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CommandInput, { placeholder }),
1997
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(CommandList, { children: [
1998
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CommandEmpty, { children: emptyText ?? t("pactor.command.empty") }),
1999
- groups.map((group, index) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CommandGroup, { heading: group.heading, children: group.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
2104
+ const { t } = (0, import_runtime5.useI18n)();
2105
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Command, { className, style, children: [
2106
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CommandInput, { placeholder }),
2107
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(CommandList, { children: [
2108
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CommandEmpty, { children: emptyText ?? t("pactor.command.empty") }),
2109
+ groups.map((group, index) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CommandGroup, { heading: group.heading, children: group.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
2000
2110
  CommandItem,
2001
2111
  {
2002
2112
  value: item.value,
@@ -2004,7 +2114,7 @@ function Command2({
2004
2114
  disabled: item.disabled,
2005
2115
  onSelect: (value) => onSelect?.(value),
2006
2116
  children: [
2007
- item.icon ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
2117
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
2008
2118
  item.label
2009
2119
  ]
2010
2120
  },
@@ -2019,7 +2129,7 @@ var import_recharts2 = require("recharts");
2019
2129
 
2020
2130
  // src/ui/chart.tsx
2021
2131
  var import_recharts = require("recharts");
2022
- var import_jsx_runtime36 = require("react/jsx-runtime");
2132
+ var import_jsx_runtime37 = require("react/jsx-runtime");
2023
2133
  var CHART_TOKEN_COLORS = [
2024
2134
  "var(--chart-1)",
2025
2135
  "var(--chart-2)",
@@ -2038,19 +2148,19 @@ function ChartContainer({
2038
2148
  children,
2039
2149
  ...props
2040
2150
  }) {
2041
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2151
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2042
2152
  "div",
2043
2153
  {
2044
2154
  "data-slot": "chart-container",
2045
2155
  className: cn("h-64 w-full", className),
2046
2156
  ...props,
2047
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_recharts.ResponsiveContainer, { width: "100%", height: "100%", children })
2157
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts.ResponsiveContainer, { width: "100%", height: "100%", children })
2048
2158
  }
2049
2159
  );
2050
2160
  }
2051
2161
 
2052
2162
  // src/components/components/Chart/index.tsx
2053
- var import_jsx_runtime37 = require("react/jsx-runtime");
2163
+ var import_jsx_runtime38 = require("react/jsx-runtime");
2054
2164
  function Chart({
2055
2165
  chartType,
2056
2166
  data = [],
@@ -2061,17 +2171,17 @@ function Chart({
2061
2171
  style
2062
2172
  }) {
2063
2173
  const series = yKeys.length > 0 ? yKeys : ["value"];
2064
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2174
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2065
2175
  "div",
2066
2176
  {
2067
2177
  "data-slot": "chart",
2068
2178
  "data-chart-type": chartType,
2069
2179
  className: cn("w-full", className),
2070
2180
  style,
2071
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ChartContainer, { children: chartType === "pie" ? /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_recharts2.PieChart, { children: [
2072
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.Tooltip, {}),
2073
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.Legend, {}),
2074
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2181
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChartContainer, { children: chartType === "pie" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_recharts2.PieChart, { children: [
2182
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Tooltip, {}),
2183
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Legend, {}),
2184
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2075
2185
  import_recharts2.Pie,
2076
2186
  {
2077
2187
  data,
@@ -2080,16 +2190,16 @@ function Chart({
2080
2190
  innerRadius: 0,
2081
2191
  outerRadius: "80%",
2082
2192
  isAnimationActive: false,
2083
- children: data.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.Cell, { fill: chartColor(index, colors) }, index))
2193
+ children: data.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Cell, { fill: chartColor(index, colors) }, index))
2084
2194
  }
2085
2195
  )
2086
- ] }) : chartType === "line" ? /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_recharts2.LineChart, { data, children: [
2087
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.CartesianGrid, { strokeDasharray: "3 3", vertical: false }),
2088
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.XAxis, { dataKey: xKey }),
2089
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.YAxis, {}),
2090
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.Tooltip, {}),
2091
- series.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.Legend, {}) : null,
2092
- series.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2196
+ ] }) : chartType === "line" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_recharts2.LineChart, { data, children: [
2197
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.CartesianGrid, { strokeDasharray: "3 3", vertical: false }),
2198
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.XAxis, { dataKey: xKey }),
2199
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.YAxis, {}),
2200
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Tooltip, {}),
2201
+ series.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Legend, {}) : null,
2202
+ series.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2093
2203
  import_recharts2.Line,
2094
2204
  {
2095
2205
  type: "monotone",
@@ -2100,13 +2210,13 @@ function Chart({
2100
2210
  },
2101
2211
  key
2102
2212
  ))
2103
- ] }) : chartType === "area" ? /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_recharts2.AreaChart, { data, children: [
2104
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.CartesianGrid, { strokeDasharray: "3 3", vertical: false }),
2105
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.XAxis, { dataKey: xKey }),
2106
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.YAxis, {}),
2107
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.Tooltip, {}),
2108
- series.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.Legend, {}) : null,
2109
- series.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2213
+ ] }) : chartType === "area" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_recharts2.AreaChart, { data, children: [
2214
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.CartesianGrid, { strokeDasharray: "3 3", vertical: false }),
2215
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.XAxis, { dataKey: xKey }),
2216
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.YAxis, {}),
2217
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Tooltip, {}),
2218
+ series.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Legend, {}) : null,
2219
+ series.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2110
2220
  import_recharts2.Area,
2111
2221
  {
2112
2222
  type: "monotone",
@@ -2119,13 +2229,13 @@ function Chart({
2119
2229
  },
2120
2230
  key
2121
2231
  ))
2122
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_recharts2.BarChart, { data, children: [
2123
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.CartesianGrid, { strokeDasharray: "3 3", vertical: false }),
2124
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.XAxis, { dataKey: xKey }),
2125
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.YAxis, {}),
2126
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.Tooltip, {}),
2127
- series.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts2.Legend, {}) : null,
2128
- series.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2232
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_recharts2.BarChart, { data, children: [
2233
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.CartesianGrid, { strokeDasharray: "3 3", vertical: false }),
2234
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.XAxis, { dataKey: xKey }),
2235
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.YAxis, {}),
2236
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Tooltip, {}),
2237
+ series.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Legend, {}) : null,
2238
+ series.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2129
2239
  import_recharts2.Bar,
2130
2240
  {
2131
2241
  dataKey: key,
@@ -2141,17 +2251,17 @@ function Chart({
2141
2251
  }
2142
2252
 
2143
2253
  // src/components/components/ChatInput/index.tsx
2144
- var import_runtime5 = require("@pactor-app/runtime");
2254
+ var import_runtime6 = require("@pactor-app/runtime");
2145
2255
  var import_lucide_react11 = require("lucide-react");
2146
2256
  var import_react9 = require("react");
2147
2257
 
2148
2258
  // src/ui/textarea.tsx
2149
- var import_jsx_runtime38 = require("react/jsx-runtime");
2259
+ var import_jsx_runtime39 = require("react/jsx-runtime");
2150
2260
  function Textarea({
2151
2261
  className,
2152
2262
  ...props
2153
2263
  }) {
2154
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2264
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2155
2265
  "textarea",
2156
2266
  {
2157
2267
  "data-slot": "textarea",
@@ -2165,7 +2275,7 @@ function Textarea({
2165
2275
  }
2166
2276
 
2167
2277
  // src/components/components/ChatInput/index.tsx
2168
- var import_jsx_runtime39 = require("react/jsx-runtime");
2278
+ var import_jsx_runtime40 = require("react/jsx-runtime");
2169
2279
  function ChatInput({
2170
2280
  value,
2171
2281
  placeholder,
@@ -2181,7 +2291,7 @@ function ChatInput({
2181
2291
  className,
2182
2292
  style
2183
2293
  }) {
2184
- const { renderChildren } = (0, import_runtime5.useRenderer)();
2294
+ const { renderChildren } = (0, import_runtime6.useRenderer)();
2185
2295
  const controlled = value !== void 0;
2186
2296
  const [draft, setDraft] = (0, import_react9.useState)("");
2187
2297
  const text = controlled ? value : draft;
@@ -2211,7 +2321,7 @@ function ChatInput({
2211
2321
  const handleComposition = (event) => {
2212
2322
  composingRef.current = event.type === "compositionstart";
2213
2323
  };
2214
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2324
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
2215
2325
  "div",
2216
2326
  {
2217
2327
  "data-slot": "chat-input",
@@ -2221,8 +2331,8 @@ function ChatInput({
2221
2331
  ),
2222
2332
  style,
2223
2333
  children: [
2224
- header ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "px-3 pt-3", children: renderChildren([header]) }) : null,
2225
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2334
+ header ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "px-3 pt-3", children: renderChildren([header]) }) : null,
2335
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2226
2336
  Textarea,
2227
2337
  {
2228
2338
  value: text,
@@ -2236,11 +2346,11 @@ function ChatInput({
2236
2346
  className: "min-h-[60px] resize-none border-0 px-4 pt-3 pb-1 shadow-none focus-visible:border-transparent focus-visible:ring-0"
2237
2347
  }
2238
2348
  ),
2239
- toolbarStart || toolbarEnd || !hideSend ? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex items-center gap-1 px-2 pb-2", children: [
2349
+ toolbarStart || toolbarEnd || !hideSend ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex items-center gap-1 px-2 pb-2", children: [
2240
2350
  toolbarStart ? renderChildren([toolbarStart]) : null,
2241
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "flex-1" }),
2351
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "flex-1" }),
2242
2352
  toolbarEnd ? renderChildren([toolbarEnd]) : null,
2243
- hideSend ? null : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2353
+ hideSend ? null : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2244
2354
  Button,
2245
2355
  {
2246
2356
  type: "button",
@@ -2249,20 +2359,20 @@ function ChatInput({
2249
2359
  disabled: !canSubmit,
2250
2360
  onClick: submit,
2251
2361
  className: "size-8 rounded-full",
2252
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react11.ArrowUp, {})
2362
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react11.ArrowUp, {})
2253
2363
  }
2254
2364
  )
2255
2365
  ] }) : null,
2256
- footer ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "border-t border-border px-3 py-2", children: renderChildren([footer]) }) : null
2366
+ footer ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "border-t border-border px-3 py-2", children: renderChildren([footer]) }) : null
2257
2367
  ]
2258
2368
  }
2259
2369
  );
2260
2370
  }
2261
2371
 
2262
2372
  // src/components/components/Content/index.tsx
2263
- var import_jsx_runtime40 = require("react/jsx-runtime");
2373
+ var import_jsx_runtime41 = require("react/jsx-runtime");
2264
2374
  function Content({ className, style, children }) {
2265
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2375
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2266
2376
  "main",
2267
2377
  {
2268
2378
  "data-slot": "layout-content",
@@ -2275,22 +2385,22 @@ function Content({ className, style, children }) {
2275
2385
 
2276
2386
  // src/ui/context-menu.tsx
2277
2387
  var import_context_menu = require("@base-ui/react/context-menu");
2278
- var import_jsx_runtime41 = require("react/jsx-runtime");
2388
+ var import_jsx_runtime42 = require("react/jsx-runtime");
2279
2389
  function ContextMenu({
2280
2390
  ...props
2281
2391
  }) {
2282
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_context_menu.ContextMenu.Root, { "data-slot": "context-menu", ...props });
2392
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_context_menu.ContextMenu.Root, { "data-slot": "context-menu", ...props });
2283
2393
  }
2284
2394
  function ContextMenuTrigger({
2285
2395
  ...props
2286
2396
  }) {
2287
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_context_menu.ContextMenu.Trigger, { "data-slot": "context-menu-trigger", ...props });
2397
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_context_menu.ContextMenu.Trigger, { "data-slot": "context-menu-trigger", ...props });
2288
2398
  }
2289
2399
  function ContextMenuContent({
2290
2400
  className,
2291
2401
  ...props
2292
2402
  }) {
2293
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_context_menu.ContextMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_context_menu.ContextMenu.Positioner, { className: "isolate z-50", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2403
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_context_menu.ContextMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_context_menu.ContextMenu.Positioner, { className: "isolate z-50", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2294
2404
  import_context_menu.ContextMenu.Popup,
2295
2405
  {
2296
2406
  "data-slot": "context-menu-content",
@@ -2307,7 +2417,7 @@ function ContextMenuItem({
2307
2417
  variant = "default",
2308
2418
  ...props
2309
2419
  }) {
2310
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2420
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2311
2421
  import_context_menu.ContextMenu.Item,
2312
2422
  {
2313
2423
  "data-slot": "context-menu-item",
@@ -2322,7 +2432,7 @@ function ContextMenuItem({
2322
2432
  }
2323
2433
 
2324
2434
  // src/components/components/ContextMenu/index.tsx
2325
- var import_jsx_runtime42 = require("react/jsx-runtime");
2435
+ var import_jsx_runtime43 = require("react/jsx-runtime");
2326
2436
  function ContextMenu2({
2327
2437
  items = [],
2328
2438
  onSelect,
@@ -2330,16 +2440,16 @@ function ContextMenu2({
2330
2440
  className,
2331
2441
  style
2332
2442
  }) {
2333
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(ContextMenu, { children: [
2334
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ContextMenuTrigger, { children }),
2335
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ContextMenuContent, { className, style, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
2443
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(ContextMenu, { children: [
2444
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ContextMenuTrigger, { children }),
2445
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ContextMenuContent, { className, style, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
2336
2446
  ContextMenuItem,
2337
2447
  {
2338
2448
  variant: item.danger ? "destructive" : "default",
2339
2449
  disabled: item.disabled,
2340
2450
  onClick: () => onSelect?.(item.value),
2341
2451
  children: [
2342
- item.icon ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
2452
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
2343
2453
  item.label
2344
2454
  ]
2345
2455
  },
@@ -2349,14 +2459,14 @@ function ContextMenu2({
2349
2459
  }
2350
2460
 
2351
2461
  // src/components/components/DataTable/index.tsx
2352
- var import_runtime6 = require("@pactor-app/runtime");
2462
+ var import_runtime7 = require("@pactor-app/runtime");
2353
2463
  var import_lucide_react12 = require("lucide-react");
2354
2464
  var import_react10 = require("react");
2355
2465
 
2356
2466
  // src/ui/input.tsx
2357
- var import_jsx_runtime43 = require("react/jsx-runtime");
2467
+ var import_jsx_runtime44 = require("react/jsx-runtime");
2358
2468
  function Input({ className, type, ...props }) {
2359
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2469
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2360
2470
  "input",
2361
2471
  {
2362
2472
  type,
@@ -2371,14 +2481,14 @@ function Input({ className, type, ...props }) {
2371
2481
  }
2372
2482
 
2373
2483
  // src/ui/table.tsx
2374
- var import_jsx_runtime44 = require("react/jsx-runtime");
2484
+ var import_jsx_runtime45 = require("react/jsx-runtime");
2375
2485
  function Table2({ className, ...props }) {
2376
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2486
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2377
2487
  "div",
2378
2488
  {
2379
2489
  "data-slot": "table-container",
2380
2490
  className: "relative w-full overflow-x-auto",
2381
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2491
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2382
2492
  "table",
2383
2493
  {
2384
2494
  "data-slot": "table",
@@ -2390,7 +2500,7 @@ function Table2({ className, ...props }) {
2390
2500
  );
2391
2501
  }
2392
2502
  function TableHeader({ className, ...props }) {
2393
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2503
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2394
2504
  "thead",
2395
2505
  {
2396
2506
  "data-slot": "table-header",
@@ -2400,7 +2510,7 @@ function TableHeader({ className, ...props }) {
2400
2510
  );
2401
2511
  }
2402
2512
  function TableBody({ className, ...props }) {
2403
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2513
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2404
2514
  "tbody",
2405
2515
  {
2406
2516
  "data-slot": "table-body",
@@ -2410,7 +2520,7 @@ function TableBody({ className, ...props }) {
2410
2520
  );
2411
2521
  }
2412
2522
  function TableRow({ className, ...props }) {
2413
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2523
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2414
2524
  "tr",
2415
2525
  {
2416
2526
  "data-slot": "table-row",
@@ -2423,7 +2533,7 @@ function TableRow({ className, ...props }) {
2423
2533
  );
2424
2534
  }
2425
2535
  function TableHead({ className, ...props }) {
2426
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2536
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2427
2537
  "th",
2428
2538
  {
2429
2539
  "data-slot": "table-head",
@@ -2436,7 +2546,7 @@ function TableHead({ className, ...props }) {
2436
2546
  );
2437
2547
  }
2438
2548
  function TableCell({ className, ...props }) {
2439
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2549
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2440
2550
  "td",
2441
2551
  {
2442
2552
  "data-slot": "table-cell",
@@ -2450,7 +2560,7 @@ function TableCell({ className, ...props }) {
2450
2560
  }
2451
2561
 
2452
2562
  // src/components/components/DataTable/index.tsx
2453
- var import_jsx_runtime45 = require("react/jsx-runtime");
2563
+ var import_jsx_runtime46 = require("react/jsx-runtime");
2454
2564
  function renderCellValue(value) {
2455
2565
  if (value === void 0 || value === null) {
2456
2566
  return "";
@@ -2477,8 +2587,8 @@ function DataTable({
2477
2587
  className,
2478
2588
  style
2479
2589
  }) {
2480
- const { renderChildren } = (0, import_runtime6.useRenderer)();
2481
- const { t } = (0, import_runtime6.useI18n)();
2590
+ const { renderChildren } = (0, import_runtime7.useRenderer)();
2591
+ const { t } = (0, import_runtime7.useI18n)();
2482
2592
  const [sortState, setSortState] = (0, import_react10.useState)(sort);
2483
2593
  const [filters, setFilters] = (0, import_react10.useState)({});
2484
2594
  const [current, setCurrent] = (0, import_react10.useState)(1);
@@ -2519,12 +2629,12 @@ function DataTable({
2519
2629
  setCurrent(page);
2520
2630
  onPageChange?.(page);
2521
2631
  };
2522
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { "data-slot": "data-table", className: cn("relative", className), style, children: [
2523
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Table2, { children: [
2524
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TableHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TableRow, { className: "hover:bg-transparent", children: columns.map((column, index) => {
2632
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { "data-slot": "data-table", className: cn("relative", className), style, children: [
2633
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Table2, { children: [
2634
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TableHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TableRow, { className: "hover:bg-transparent", children: columns.map((column, index) => {
2525
2635
  const sorted = sortState?.key === column.key;
2526
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-col gap-1", children: [
2527
- column.sortable ? /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
2636
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex flex-col gap-1", children: [
2637
+ column.sortable ? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
2528
2638
  "button",
2529
2639
  {
2530
2640
  type: "button",
@@ -2535,7 +2645,7 @@ function DataTable({
2535
2645
  onClick: () => toggleSort(column),
2536
2646
  children: [
2537
2647
  column.title,
2538
- sorted ? sortState.order === "asc" ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react12.ArrowUp, { "aria-hidden": true, className: "size-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react12.ArrowDown, { "aria-hidden": true, className: "size-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2648
+ sorted ? sortState.order === "asc" ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react12.ArrowUp, { "aria-hidden": true, className: "size-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react12.ArrowDown, { "aria-hidden": true, className: "size-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2539
2649
  import_lucide_react12.ArrowUpDown,
2540
2650
  {
2541
2651
  "aria-hidden": true,
@@ -2544,8 +2654,8 @@ function DataTable({
2544
2654
  )
2545
2655
  ]
2546
2656
  }
2547
- ) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { children: column.title }),
2548
- column.filterable ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2657
+ ) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { children: column.title }),
2658
+ column.filterable ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2549
2659
  Input,
2550
2660
  {
2551
2661
  "data-slot": "data-table-filter",
@@ -2558,7 +2668,7 @@ function DataTable({
2558
2668
  ) : null
2559
2669
  ] }) }, column.key ?? String(index));
2560
2670
  }) }) }),
2561
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TableBody, { children: pageRows.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TableRow, { className: "hover:bg-transparent", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TableCell, { colSpan: Math.max(1, columns.length), children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2671
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TableBody, { children: pageRows.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TableRow, { className: "hover:bg-transparent", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TableCell, { colSpan: Math.max(1, columns.length), children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2562
2672
  "div",
2563
2673
  {
2564
2674
  "data-slot": "table-empty",
@@ -2567,20 +2677,20 @@ function DataTable({
2567
2677
  }
2568
2678
  ) }) }) : pageRows.map((row, rowIndex) => {
2569
2679
  const key = row[rowKey];
2570
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2680
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2571
2681
  TableRow,
2572
2682
  {
2573
2683
  children: columns.map((column, columnIndex) => {
2574
2684
  const template = column.children ?? column.renderChildren;
2575
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TableCell, { children: template ? renderChildren(template, { row, rowIndex }) : renderCellValue(row[column.key]) }, column.key ?? String(columnIndex));
2685
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TableCell, { children: template ? renderChildren(template, { row, rowIndex }) : renderCellValue(row[column.key]) }, column.key ?? String(columnIndex));
2576
2686
  })
2577
2687
  },
2578
2688
  key === void 0 || key === null ? rowIndex : String(key)
2579
2689
  );
2580
2690
  }) })
2581
2691
  ] }),
2582
- pageSize !== void 0 && pageSize > 0 ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { "data-slot": "table-pagination", className: "mt-3 flex justify-end gap-1", children: Array.from({ length: pageCount }, (_, index) => index + 1).map(
2583
- (page) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2692
+ pageSize !== void 0 && pageSize > 0 ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { "data-slot": "table-pagination", className: "mt-3 flex justify-end gap-1", children: Array.from({ length: pageCount }, (_, index) => index + 1).map(
2693
+ (page) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2584
2694
  Button,
2585
2695
  {
2586
2696
  type: "button",
@@ -2597,12 +2707,12 @@ function DataTable({
2597
2707
  }
2598
2708
 
2599
2709
  // src/components/components/DatePicker/index.tsx
2600
- var import_runtime7 = require("@pactor-app/runtime");
2710
+ var import_runtime8 = require("@pactor-app/runtime");
2601
2711
  var import_date_fns2 = require("date-fns");
2602
2712
  var import_locale = require("date-fns/locale");
2603
2713
  var import_lucide_react13 = require("lucide-react");
2604
2714
  var import_react11 = require("react");
2605
- var import_jsx_runtime46 = require("react/jsx-runtime");
2715
+ var import_jsx_runtime47 = require("react/jsx-runtime");
2606
2716
  function toDateFnsLocale(locale) {
2607
2717
  switch (locale) {
2608
2718
  case "zh-CN":
@@ -2643,7 +2753,7 @@ function DatePicker(props) {
2643
2753
  const value = props.value;
2644
2754
  const onChange = props.onChange;
2645
2755
  const form = useFormContext();
2646
- const { locale, t } = (0, import_runtime7.useI18n)();
2756
+ const { locale, t } = (0, import_runtime8.useI18n)();
2647
2757
  const dfLocale = toDateFnsLocale(locale);
2648
2758
  const controlId = (0, import_react11.useId)();
2649
2759
  const inForm = form?.inForm === true && typeof name === "string" && name !== "";
@@ -2774,13 +2884,13 @@ function DatePicker(props) {
2774
2884
  } : void 0;
2775
2885
  const displayText = isRange ? typeof current === "object" && current !== null ? `${current.start} ~ ${current.end}` : "" : typeof current === "string" ? current : "";
2776
2886
  const placeholderText = placeholder ?? t(isRange ? "pactor.datePicker.placeholderRange" : "pactor.datePicker.placeholder");
2777
- const calendar = isRange ? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex", children: [
2778
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2887
+ const calendar = isRange ? /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex", children: [
2888
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2779
2889
  "div",
2780
2890
  {
2781
2891
  "data-slot": "datepicker-start-panel",
2782
2892
  className: "border-r border-border",
2783
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2893
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2784
2894
  Calendar2,
2785
2895
  {
2786
2896
  mode: "single",
@@ -2794,7 +2904,7 @@ function DatePicker(props) {
2794
2904
  )
2795
2905
  }
2796
2906
  ),
2797
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { "data-slot": "datepicker-end-panel", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2907
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { "data-slot": "datepicker-end-panel", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2798
2908
  Calendar2,
2799
2909
  {
2800
2910
  mode: "single",
@@ -2806,7 +2916,7 @@ function DatePicker(props) {
2806
2916
  locale: dfLocale
2807
2917
  }
2808
2918
  ) })
2809
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2919
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2810
2920
  Calendar2,
2811
2921
  {
2812
2922
  mode: "single",
@@ -2815,8 +2925,8 @@ function DatePicker(props) {
2815
2925
  locale: dfLocale
2816
2926
  }
2817
2927
  );
2818
- const control = /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
2819
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
2928
+ const control = /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
2929
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
2820
2930
  PopoverTrigger,
2821
2931
  {
2822
2932
  id: controlId,
@@ -2830,20 +2940,20 @@ function DatePicker(props) {
2830
2940
  ),
2831
2941
  style: inForm ? void 0 : style,
2832
2942
  children: [
2833
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children: displayText === "" ? placeholderText : displayText }),
2834
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.Calendar, { className: "size-4 shrink-0 opacity-50" })
2943
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children: displayText === "" ? placeholderText : displayText }),
2944
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react13.Calendar, { className: "size-4 shrink-0 opacity-50" })
2835
2945
  ]
2836
2946
  }
2837
2947
  ),
2838
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(PopoverContent, { className: "w-auto p-0", children: presetList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex", children: [
2839
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2948
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PopoverContent, { className: "w-auto p-0", children: presetList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex", children: [
2949
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2840
2950
  "div",
2841
2951
  {
2842
2952
  "data-slot": "datepicker-presets",
2843
2953
  className: "flex flex-col gap-1 border-r border-border p-3",
2844
2954
  children: presetList.map((preset, index) => {
2845
2955
  const resolved = resolvePreset(preset);
2846
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2956
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2847
2957
  "button",
2848
2958
  {
2849
2959
  type: "button",
@@ -2861,14 +2971,14 @@ function DatePicker(props) {
2861
2971
  ] });
2862
2972
  if (inForm && form && name) {
2863
2973
  const error = form.errors[name];
2864
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
2974
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
2865
2975
  "div",
2866
2976
  {
2867
2977
  "data-slot": "form-item",
2868
2978
  className: cn(formItemClass(form.layout), className),
2869
2979
  style,
2870
2980
  children: [
2871
- label ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2981
+ label ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2872
2982
  "label",
2873
2983
  {
2874
2984
  htmlFor: controlId,
@@ -2877,7 +2987,7 @@ function DatePicker(props) {
2877
2987
  }
2878
2988
  ) : null,
2879
2989
  control,
2880
- error ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
2990
+ error ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
2881
2991
  ]
2882
2992
  }
2883
2993
  );
@@ -2886,38 +2996,38 @@ function DatePicker(props) {
2886
2996
  }
2887
2997
 
2888
2998
  // src/components/components/Dialog/index.tsx
2889
- var import_runtime8 = require("@pactor-app/runtime");
2999
+ var import_runtime9 = require("@pactor-app/runtime");
2890
3000
  var import_react12 = require("react");
2891
3001
 
2892
3002
  // src/ui/dialog.tsx
2893
3003
  var import_dialog = require("@base-ui/react/dialog");
2894
3004
  var import_lucide_react14 = require("lucide-react");
2895
- var import_jsx_runtime47 = require("react/jsx-runtime");
3005
+ var import_jsx_runtime48 = require("react/jsx-runtime");
2896
3006
  function Dialog({
2897
3007
  ...props
2898
3008
  }) {
2899
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dialog.Dialog.Root, { "data-slot": "dialog", ...props });
3009
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_dialog.Dialog.Root, { "data-slot": "dialog", ...props });
2900
3010
  }
2901
3011
  function DialogTrigger({
2902
3012
  ...props
2903
3013
  }) {
2904
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dialog.Dialog.Trigger, { "data-slot": "dialog-trigger", ...props });
3014
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_dialog.Dialog.Trigger, { "data-slot": "dialog-trigger", ...props });
2905
3015
  }
2906
3016
  function DialogPortal({
2907
3017
  ...props
2908
3018
  }) {
2909
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dialog.Dialog.Portal, { "data-slot": "dialog-portal", ...props });
3019
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_dialog.Dialog.Portal, { "data-slot": "dialog-portal", ...props });
2910
3020
  }
2911
3021
  function DialogClose({
2912
3022
  ...props
2913
3023
  }) {
2914
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dialog.Dialog.Close, { "data-slot": "dialog-close", ...props });
3024
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_dialog.Dialog.Close, { "data-slot": "dialog-close", ...props });
2915
3025
  }
2916
3026
  function DialogOverlay({
2917
3027
  className,
2918
3028
  ...props
2919
3029
  }) {
2920
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3030
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2921
3031
  import_dialog.Dialog.Backdrop,
2922
3032
  {
2923
3033
  "data-slot": "dialog-overlay",
@@ -2935,9 +3045,9 @@ function DialogContent({
2935
3045
  showCloseButton = true,
2936
3046
  ...props
2937
3047
  }) {
2938
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(DialogPortal, { "data-slot": "dialog-portal", children: [
2939
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(DialogOverlay, {}),
2940
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
3048
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(DialogPortal, { "data-slot": "dialog-portal", children: [
3049
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DialogOverlay, {}),
3050
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
2941
3051
  import_dialog.Dialog.Popup,
2942
3052
  {
2943
3053
  "data-slot": "dialog-content",
@@ -2948,11 +3058,11 @@ function DialogContent({
2948
3058
  ...props,
2949
3059
  children: [
2950
3060
  children,
2951
- showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
3061
+ showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
2952
3062
  import_dialog.Dialog.Close,
2953
3063
  {
2954
3064
  "data-slot": "dialog-close",
2955
- render: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3065
+ render: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2956
3066
  "button",
2957
3067
  {
2958
3068
  type: "button",
@@ -2960,8 +3070,8 @@ function DialogContent({
2960
3070
  }
2961
3071
  ),
2962
3072
  children: [
2963
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.XIcon, {}),
2964
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "sr-only", children: "Close" })
3073
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react14.XIcon, {}),
3074
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "sr-only", children: "Close" })
2965
3075
  ]
2966
3076
  }
2967
3077
  )
@@ -2971,7 +3081,7 @@ function DialogContent({
2971
3081
  ] });
2972
3082
  }
2973
3083
  function DialogHeader({ className, ...props }) {
2974
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3084
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2975
3085
  "div",
2976
3086
  {
2977
3087
  "data-slot": "dialog-header",
@@ -2981,7 +3091,7 @@ function DialogHeader({ className, ...props }) {
2981
3091
  );
2982
3092
  }
2983
3093
  function DialogFooter({ className, ...props }) {
2984
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3094
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2985
3095
  "div",
2986
3096
  {
2987
3097
  "data-slot": "dialog-footer",
@@ -2997,7 +3107,7 @@ function DialogTitle({
2997
3107
  className,
2998
3108
  ...props
2999
3109
  }) {
3000
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3110
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3001
3111
  import_dialog.Dialog.Title,
3002
3112
  {
3003
3113
  "data-slot": "dialog-title",
@@ -3010,7 +3120,7 @@ function DialogDescription({
3010
3120
  className,
3011
3121
  ...props
3012
3122
  }) {
3013
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3123
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3014
3124
  import_dialog.Dialog.Description,
3015
3125
  {
3016
3126
  "data-slot": "dialog-description",
@@ -3021,7 +3131,7 @@ function DialogDescription({
3021
3131
  }
3022
3132
 
3023
3133
  // src/components/components/Dialog/index.tsx
3024
- var import_jsx_runtime48 = require("react/jsx-runtime");
3134
+ var import_jsx_runtime49 = require("react/jsx-runtime");
3025
3135
  function Dialog2({
3026
3136
  title,
3027
3137
  description,
@@ -3032,11 +3142,11 @@ function Dialog2({
3032
3142
  className,
3033
3143
  style
3034
3144
  }) {
3035
- const { renderChildren } = (0, import_runtime8.useRenderer)();
3145
+ const { renderChildren } = (0, import_runtime9.useRenderer)();
3036
3146
  const [innerOpen, setInnerOpen] = (0, import_react12.useState)(false);
3037
3147
  const controlled = open !== void 0;
3038
3148
  const visible = controlled ? open : innerOpen;
3039
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
3149
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
3040
3150
  Dialog,
3041
3151
  {
3042
3152
  open: visible,
@@ -3049,7 +3159,7 @@ function Dialog2({
3049
3159
  }
3050
3160
  },
3051
3161
  children: [
3052
- trigger ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3162
+ trigger ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
3053
3163
  DialogTrigger,
3054
3164
  {
3055
3165
  nativeButton: false,
@@ -3057,10 +3167,10 @@ function Dialog2({
3057
3167
  children: renderChildren([trigger])
3058
3168
  }
3059
3169
  ) : null,
3060
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(DialogContent, { className, style, children: [
3061
- title || description ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(DialogHeader, { children: [
3062
- title ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DialogTitle, { children: title }) : null,
3063
- description ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DialogDescription, { children: description }) : null
3170
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DialogContent, { className, style, children: [
3171
+ title || description ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DialogHeader, { children: [
3172
+ title ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DialogTitle, { children: title }) : null,
3173
+ description ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DialogDescription, { children: description }) : null
3064
3174
  ] }) : null,
3065
3175
  children
3066
3176
  ] })
@@ -3071,27 +3181,27 @@ function Dialog2({
3071
3181
 
3072
3182
  // src/ui/drawer.tsx
3073
3183
  var import_vaul = require("vaul");
3074
- var import_jsx_runtime49 = require("react/jsx-runtime");
3184
+ var import_jsx_runtime50 = require("react/jsx-runtime");
3075
3185
  function Drawer({
3076
3186
  ...props
3077
3187
  }) {
3078
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_vaul.Drawer.Root, { "data-slot": "drawer", ...props });
3188
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_vaul.Drawer.Root, { "data-slot": "drawer", ...props });
3079
3189
  }
3080
3190
  function DrawerPortal({
3081
3191
  ...props
3082
3192
  }) {
3083
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_vaul.Drawer.Portal, { "data-slot": "drawer-portal", ...props });
3193
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_vaul.Drawer.Portal, { "data-slot": "drawer-portal", ...props });
3084
3194
  }
3085
3195
  function DrawerClose({
3086
3196
  ...props
3087
3197
  }) {
3088
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_vaul.Drawer.Close, { "data-slot": "drawer-close", ...props });
3198
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_vaul.Drawer.Close, { "data-slot": "drawer-close", ...props });
3089
3199
  }
3090
3200
  function DrawerOverlay({
3091
3201
  className,
3092
3202
  ...props
3093
3203
  }) {
3094
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
3204
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
3095
3205
  import_vaul.Drawer.Overlay,
3096
3206
  {
3097
3207
  "data-slot": "drawer-overlay",
@@ -3105,9 +3215,9 @@ function DrawerContent({
3105
3215
  children,
3106
3216
  ...props
3107
3217
  }) {
3108
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DrawerPortal, { "data-slot": "drawer-portal", children: [
3109
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DrawerOverlay, {}),
3110
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
3218
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(DrawerPortal, { "data-slot": "drawer-portal", children: [
3219
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DrawerOverlay, {}),
3220
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
3111
3221
  import_vaul.Drawer.Content,
3112
3222
  {
3113
3223
  "data-slot": "drawer-content",
@@ -3121,7 +3231,7 @@ function DrawerContent({
3121
3231
  ),
3122
3232
  ...props,
3123
3233
  children: [
3124
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
3234
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
3125
3235
  children
3126
3236
  ]
3127
3237
  }
@@ -3129,7 +3239,7 @@ function DrawerContent({
3129
3239
  ] });
3130
3240
  }
3131
3241
  function DrawerHeader({ className, ...props }) {
3132
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
3242
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
3133
3243
  "div",
3134
3244
  {
3135
3245
  "data-slot": "drawer-header",
@@ -3142,7 +3252,7 @@ function DrawerTitle({
3142
3252
  className,
3143
3253
  ...props
3144
3254
  }) {
3145
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
3255
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
3146
3256
  import_vaul.Drawer.Title,
3147
3257
  {
3148
3258
  "data-slot": "drawer-title",
@@ -3153,7 +3263,7 @@ function DrawerTitle({
3153
3263
  }
3154
3264
 
3155
3265
  // src/components/components/Drawer/index.tsx
3156
- var import_jsx_runtime50 = require("react/jsx-runtime");
3266
+ var import_jsx_runtime51 = require("react/jsx-runtime");
3157
3267
  function Drawer2({
3158
3268
  title,
3159
3269
  open,
@@ -3163,7 +3273,7 @@ function Drawer2({
3163
3273
  className,
3164
3274
  style
3165
3275
  }) {
3166
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
3276
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
3167
3277
  Drawer,
3168
3278
  {
3169
3279
  direction: placement,
@@ -3173,9 +3283,9 @@ function Drawer2({
3173
3283
  onClose?.();
3174
3284
  }
3175
3285
  },
3176
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(DrawerContent, { className, style, children: [
3177
- title ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DrawerHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DrawerTitle, { children: title }) }) : null,
3178
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex-1 overflow-auto p-4", children })
3286
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(DrawerContent, { className, style, children: [
3287
+ title ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(DrawerHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(DrawerTitle, { children: title }) }) : null,
3288
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex-1 overflow-auto p-4", children })
3179
3289
  ] })
3180
3290
  }
3181
3291
  );
@@ -3184,16 +3294,16 @@ function Drawer2({
3184
3294
  // src/ui/dropdown-menu.tsx
3185
3295
  var import_menu = require("@base-ui/react/menu");
3186
3296
  var import_lucide_react15 = require("lucide-react");
3187
- var import_jsx_runtime51 = require("react/jsx-runtime");
3297
+ var import_jsx_runtime52 = require("react/jsx-runtime");
3188
3298
  function DropdownMenu({
3189
3299
  ...props
3190
3300
  }) {
3191
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_menu.Menu.Root, { "data-slot": "dropdown-menu", ...props });
3301
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_menu.Menu.Root, { "data-slot": "dropdown-menu", ...props });
3192
3302
  }
3193
3303
  function DropdownMenuTrigger({
3194
3304
  ...props
3195
3305
  }) {
3196
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_menu.Menu.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
3306
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_menu.Menu.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
3197
3307
  }
3198
3308
  function DropdownMenuContent({
3199
3309
  className,
@@ -3202,14 +3312,14 @@ function DropdownMenuContent({
3202
3312
  sideOffset = 4,
3203
3313
  ...props
3204
3314
  }) {
3205
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
3315
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
3206
3316
  import_menu.Menu.Positioner,
3207
3317
  {
3208
3318
  align,
3209
3319
  side,
3210
3320
  sideOffset,
3211
3321
  className: "isolate z-50",
3212
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
3322
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
3213
3323
  import_menu.Menu.Popup,
3214
3324
  {
3215
3325
  "data-slot": "dropdown-menu-content",
@@ -3228,7 +3338,7 @@ function DropdownMenuItem({
3228
3338
  variant = "default",
3229
3339
  ...props
3230
3340
  }) {
3231
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
3341
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
3232
3342
  import_menu.Menu.Item,
3233
3343
  {
3234
3344
  "data-slot": "dropdown-menu-item",
@@ -3244,14 +3354,14 @@ function DropdownMenuItem({
3244
3354
  function DropdownMenuSub({
3245
3355
  ...props
3246
3356
  }) {
3247
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_menu.Menu.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
3357
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_menu.Menu.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
3248
3358
  }
3249
3359
  function DropdownMenuSubTrigger({
3250
3360
  className,
3251
3361
  children,
3252
3362
  ...props
3253
3363
  }) {
3254
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
3364
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
3255
3365
  import_menu.Menu.SubmenuTrigger,
3256
3366
  {
3257
3367
  "data-slot": "dropdown-menu-sub-trigger",
@@ -3262,7 +3372,7 @@ function DropdownMenuSubTrigger({
3262
3372
  ...props,
3263
3373
  children: [
3264
3374
  children,
3265
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react15.ChevronRightIcon, { className: "ml-auto" })
3375
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react15.ChevronRightIcon, { className: "ml-auto" })
3266
3376
  ]
3267
3377
  }
3268
3378
  );
@@ -3272,7 +3382,7 @@ function DropdownMenuSubContent({
3272
3382
  sideOffset = 2,
3273
3383
  ...props
3274
3384
  }) {
3275
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_menu.Menu.Positioner, { sideOffset, className: "isolate z-50", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
3385
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_menu.Menu.Positioner, { sideOffset, className: "isolate z-50", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
3276
3386
  import_menu.Menu.Popup,
3277
3387
  {
3278
3388
  "data-slot": "dropdown-menu-sub-content",
@@ -3286,7 +3396,7 @@ function DropdownMenuSubContent({
3286
3396
  }
3287
3397
 
3288
3398
  // src/components/components/DropdownMenu/index.tsx
3289
- var import_jsx_runtime52 = require("react/jsx-runtime");
3399
+ var import_jsx_runtime53 = require("react/jsx-runtime");
3290
3400
  function DropdownMenu2({
3291
3401
  items = [],
3292
3402
  onSelect,
@@ -3294,8 +3404,8 @@ function DropdownMenu2({
3294
3404
  className,
3295
3405
  style
3296
3406
  }) {
3297
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(DropdownMenu, { children: [
3298
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
3407
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(DropdownMenu, { children: [
3408
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3299
3409
  DropdownMenuTrigger,
3300
3410
  {
3301
3411
  nativeButton: false,
@@ -3303,14 +3413,14 @@ function DropdownMenu2({
3303
3413
  children
3304
3414
  }
3305
3415
  ),
3306
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(DropdownMenuContent, { className, style, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
3416
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DropdownMenuContent, { className, style, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
3307
3417
  DropdownMenuItem,
3308
3418
  {
3309
3419
  variant: item.danger ? "destructive" : "default",
3310
3420
  disabled: item.disabled,
3311
3421
  onClick: () => onSelect?.(item.value),
3312
3422
  children: [
3313
- item.icon ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3423
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3314
3424
  item.label
3315
3425
  ]
3316
3426
  },
@@ -3320,9 +3430,9 @@ function DropdownMenu2({
3320
3430
  }
3321
3431
 
3322
3432
  // src/ui/empty.tsx
3323
- var import_jsx_runtime53 = require("react/jsx-runtime");
3433
+ var import_jsx_runtime54 = require("react/jsx-runtime");
3324
3434
  function Empty({ className, ...props }) {
3325
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3435
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3326
3436
  "div",
3327
3437
  {
3328
3438
  "data-slot": "empty",
@@ -3335,7 +3445,7 @@ function Empty({ className, ...props }) {
3335
3445
  );
3336
3446
  }
3337
3447
  function EmptyHeader({ className, ...props }) {
3338
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3448
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3339
3449
  "div",
3340
3450
  {
3341
3451
  "data-slot": "empty-header",
@@ -3345,7 +3455,7 @@ function EmptyHeader({ className, ...props }) {
3345
3455
  );
3346
3456
  }
3347
3457
  function EmptyTitle({ className, ...props }) {
3348
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3458
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3349
3459
  "div",
3350
3460
  {
3351
3461
  "data-slot": "empty-title",
@@ -3355,7 +3465,7 @@ function EmptyTitle({ className, ...props }) {
3355
3465
  );
3356
3466
  }
3357
3467
  function EmptyDescription({ className, ...props }) {
3358
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3468
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3359
3469
  "p",
3360
3470
  {
3361
3471
  "data-slot": "empty-description",
@@ -3365,7 +3475,7 @@ function EmptyDescription({ className, ...props }) {
3365
3475
  );
3366
3476
  }
3367
3477
  function EmptyContent({ className, ...props }) {
3368
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3478
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3369
3479
  "div",
3370
3480
  {
3371
3481
  "data-slot": "empty-content",
@@ -3379,22 +3489,22 @@ function EmptyContent({ className, ...props }) {
3379
3489
  }
3380
3490
 
3381
3491
  // src/components/components/Empty/index.tsx
3382
- var import_jsx_runtime54 = require("react/jsx-runtime");
3492
+ var import_jsx_runtime55 = require("react/jsx-runtime");
3383
3493
  function Empty2({ title, description, children, className, style }) {
3384
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Empty, { className, style, children: [
3385
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(EmptyHeader, { children: [
3386
- title ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(EmptyTitle, { children: title }) : null,
3387
- description ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(EmptyDescription, { children: description }) : null
3494
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Empty, { className, style, children: [
3495
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(EmptyHeader, { children: [
3496
+ title ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(EmptyTitle, { children: title }) : null,
3497
+ description ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(EmptyDescription, { children: description }) : null
3388
3498
  ] }),
3389
- children ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(EmptyContent, { children }) : null
3499
+ children ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(EmptyContent, { children }) : null
3390
3500
  ] });
3391
3501
  }
3392
3502
 
3393
3503
  // src/ui/field.tsx
3394
3504
  var import_field = require("@base-ui/react/field");
3395
- var import_jsx_runtime55 = require("react/jsx-runtime");
3505
+ var import_jsx_runtime56 = require("react/jsx-runtime");
3396
3506
  function Field({ className, ...props }) {
3397
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3507
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3398
3508
  import_field.Field.Root,
3399
3509
  {
3400
3510
  "data-slot": "field",
@@ -3404,7 +3514,7 @@ function Field({ className, ...props }) {
3404
3514
  );
3405
3515
  }
3406
3516
  function FieldLabel({ className, ...props }) {
3407
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3517
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3408
3518
  import_field.Field.Label,
3409
3519
  {
3410
3520
  "data-slot": "field-label",
@@ -3414,7 +3524,7 @@ function FieldLabel({ className, ...props }) {
3414
3524
  );
3415
3525
  }
3416
3526
  function FieldDescription({ className, ...props }) {
3417
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3527
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3418
3528
  import_field.Field.Description,
3419
3529
  {
3420
3530
  "data-slot": "field-description",
@@ -3424,7 +3534,7 @@ function FieldDescription({ className, ...props }) {
3424
3534
  );
3425
3535
  }
3426
3536
  function FieldError({ className, ...props }) {
3427
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3537
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3428
3538
  import_field.Field.Error,
3429
3539
  {
3430
3540
  "data-slot": "field-error",
@@ -3435,18 +3545,24 @@ function FieldError({ className, ...props }) {
3435
3545
  }
3436
3546
 
3437
3547
  // src/components/components/Field/index.tsx
3438
- var import_jsx_runtime56 = require("react/jsx-runtime");
3439
- function Field2({ label, description, error, children, className, style }) {
3440
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Field, { className, style, children: [
3441
- label ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FieldLabel, { children: label }) : null,
3548
+ var import_jsx_runtime57 = require("react/jsx-runtime");
3549
+ function Field2({ label, required, description, error, children, className, style }) {
3550
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Field, { className, style, children: [
3551
+ label ? /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(FieldLabel, { children: [
3552
+ required ? /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("span", { "aria-hidden": true, className: "text-destructive", children: [
3553
+ "*",
3554
+ " "
3555
+ ] }) : null,
3556
+ label
3557
+ ] }) : null,
3442
3558
  children,
3443
- description ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FieldDescription, { children: description }) : null,
3444
- error ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FieldError, { match: true, children: error }) : null
3559
+ description ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(FieldDescription, { children: description }) : null,
3560
+ error ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(FieldError, { match: true, children: error }) : null
3445
3561
  ] });
3446
3562
  }
3447
3563
 
3448
3564
  // src/components/components/Flex/index.tsx
3449
- var import_jsx_runtime57 = require("react/jsx-runtime");
3565
+ var import_jsx_runtime58 = require("react/jsx-runtime");
3450
3566
  var gapClass = {
3451
3567
  small: "gap-(--flex-gap-sm)",
3452
3568
  middle: "gap-(--flex-gap-md)",
@@ -3476,7 +3592,7 @@ function Flex({
3476
3592
  style,
3477
3593
  children
3478
3594
  }) {
3479
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3595
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3480
3596
  "div",
3481
3597
  {
3482
3598
  "data-slot": "flex",
@@ -3496,9 +3612,9 @@ function Flex({
3496
3612
  }
3497
3613
 
3498
3614
  // src/components/components/Footer/index.tsx
3499
- var import_jsx_runtime58 = require("react/jsx-runtime");
3615
+ var import_jsx_runtime59 = require("react/jsx-runtime");
3500
3616
  function Footer({ className, style, children }) {
3501
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3617
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
3502
3618
  "footer",
3503
3619
  {
3504
3620
  "data-slot": "layout-footer",
@@ -3513,9 +3629,9 @@ function Footer({ className, style, children }) {
3513
3629
  }
3514
3630
 
3515
3631
  // src/components/components/Form/index.tsx
3516
- var import_runtime9 = require("@pactor-app/runtime");
3632
+ var import_runtime10 = require("@pactor-app/runtime");
3517
3633
  var import_react13 = require("react");
3518
- var import_jsx_runtime59 = require("react/jsx-runtime");
3634
+ var import_jsx_runtime60 = require("react/jsx-runtime");
3519
3635
  function isEmpty(value) {
3520
3636
  return value === void 0 || value === null || value === "";
3521
3637
  }
@@ -3529,7 +3645,7 @@ function Form({
3529
3645
  onSubmit,
3530
3646
  onValuesChange
3531
3647
  }) {
3532
- const { context } = (0, import_runtime9.useRenderer)();
3648
+ const { context } = (0, import_runtime10.useRenderer)();
3533
3649
  const [values, setValues] = (0, import_react13.useState)(() => ({
3534
3650
  ...initialValues
3535
3651
  }));
@@ -3596,7 +3712,7 @@ function Form({
3596
3712
  context.state.set("form", values);
3597
3713
  onSubmit?.(values);
3598
3714
  };
3599
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(FormContextProvider, { value: formContext, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
3715
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(FormContextProvider, { value: formContext, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3600
3716
  "form",
3601
3717
  {
3602
3718
  "data-slot": "form",
@@ -3610,10 +3726,10 @@ function Form({
3610
3726
 
3611
3727
  // src/components/components/Grid/index.tsx
3612
3728
  var import_react14 = require("react");
3613
- var import_jsx_runtime60 = require("react/jsx-runtime");
3729
+ var import_jsx_runtime61 = require("react/jsx-runtime");
3614
3730
  function Grid({ columns = 1, gap, className, style, children }) {
3615
3731
  const cols = Math.max(1, columns);
3616
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3732
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3617
3733
  "div",
3618
3734
  {
3619
3735
  "data-slot": "grid",
@@ -3624,15 +3740,15 @@ function Grid({ columns = 1, gap, className, style, children }) {
3624
3740
  ...gap !== void 0 ? { gap } : {},
3625
3741
  ...style
3626
3742
  },
3627
- children: import_react14.Children.map(children, (child, index) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { "data-slot": "grid-item", children: child }, index))
3743
+ children: import_react14.Children.map(children, (child, index) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { "data-slot": "grid-item", children: child }, index))
3628
3744
  }
3629
3745
  );
3630
3746
  }
3631
3747
 
3632
3748
  // src/components/components/Header/index.tsx
3633
- var import_runtime10 = require("@pactor-app/runtime");
3749
+ var import_runtime11 = require("@pactor-app/runtime");
3634
3750
  var import_lucide_react16 = require("lucide-react");
3635
- var import_jsx_runtime61 = require("react/jsx-runtime");
3751
+ var import_jsx_runtime62 = require("react/jsx-runtime");
3636
3752
  var menuItemClass = "flex items-center gap-1 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent/50 hover:text-foreground";
3637
3753
  function Header({
3638
3754
  logo,
@@ -3663,10 +3779,10 @@ function Header({
3663
3779
  className
3664
3780
  );
3665
3781
  if (!hasBrand && !dropdown && !hasMenu && !hasUser && !hasLocales) {
3666
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("header", { "data-slot": "layout-header", className: rootClass, style, children });
3782
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("header", { "data-slot": "layout-header", className: rootClass, style, children });
3667
3783
  }
3668
- const brandNode = hasBrand && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { "data-slot": "header-brand", className: "flex items-center gap-2", children: [
3669
- logo !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3784
+ const brandNode = hasBrand && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { "data-slot": "header-brand", className: "flex items-center gap-2", children: [
3785
+ logo !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3670
3786
  "img",
3671
3787
  {
3672
3788
  "data-slot": "header-brand-logo",
@@ -3675,23 +3791,23 @@ function Header({
3675
3791
  className: "h-8 w-8 shrink-0 object-contain"
3676
3792
  }
3677
3793
  ),
3678
- title !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { "data-slot": "header-brand-title", className: "text-base font-semibold", children: title })
3794
+ title !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { "data-slot": "header-brand-title", className: "text-base font-semibold", children: title })
3679
3795
  ] });
3680
- const dropdownNode = dropdown !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HeaderDropdownArea, { dropdown, onSelect: onDropdownSelect });
3796
+ const dropdownNode = dropdown !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderDropdownArea, { dropdown, onSelect: onDropdownSelect });
3681
3797
  const showLeft = brandLeft || dropdownLeft || hasMenu;
3682
3798
  const showRight = dropdownRight || brandRight || hasLocales || hasUser;
3683
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("header", { "data-slot": "layout-header", className: rootClass, style, children: [
3684
- showLeft && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { "data-slot": "header-left", className: "flex items-center gap-4", children: [
3799
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("header", { "data-slot": "layout-header", className: rootClass, style, children: [
3800
+ showLeft && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { "data-slot": "header-left", className: "flex items-center gap-4", children: [
3685
3801
  brandLeft && brandNode,
3686
3802
  dropdownLeft && dropdownNode,
3687
- hasMenu && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HeaderMenuArea, { items: menu, onSelect: onMenuSelect })
3803
+ hasMenu && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderMenuArea, { items: menu, onSelect: onMenuSelect })
3688
3804
  ] }),
3689
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { "data-slot": "header-center", className: "flex flex-1 items-center gap-4", children }),
3690
- showRight && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { "data-slot": "header-right", className: "flex items-center gap-4", children: [
3805
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { "data-slot": "header-center", className: "flex flex-1 items-center gap-4", children }),
3806
+ showRight && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { "data-slot": "header-right", className: "flex items-center gap-4", children: [
3691
3807
  dropdownRight && dropdownNode,
3692
3808
  brandRight && brandNode,
3693
- hasLocales && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HeaderLocalesArea, { locales, onSelect: onLocaleChange }),
3694
- hasUser && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HeaderUserArea, { user, onSelect: onUserSelect })
3809
+ hasLocales && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderLocalesArea, { locales, onSelect: onLocaleChange }),
3810
+ hasUser && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderUserArea, { user, onSelect: onUserSelect })
3695
3811
  ] })
3696
3812
  ] });
3697
3813
  }
@@ -3699,25 +3815,25 @@ function HeaderDropdownArea({
3699
3815
  dropdown,
3700
3816
  onSelect
3701
3817
  }) {
3702
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenu, { children: [
3703
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
3818
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenu, { children: [
3819
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
3704
3820
  DropdownMenuTrigger,
3705
3821
  {
3706
3822
  "data-slot": "header-dropdown",
3707
3823
  className: cn(menuItemClass, "outline-hidden cursor-pointer"),
3708
3824
  children: [
3709
3825
  dropdown.label,
3710
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react16.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
3826
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react16.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
3711
3827
  ]
3712
3828
  }
3713
3829
  ),
3714
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuContent, { children: dropdown.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
3830
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DropdownMenuContent, { children: dropdown.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
3715
3831
  DropdownMenuItem,
3716
3832
  {
3717
3833
  disabled: item.disabled,
3718
3834
  onClick: () => onSelect?.(item.value),
3719
3835
  children: [
3720
- item.icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3836
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3721
3837
  item.label
3722
3838
  ]
3723
3839
  },
@@ -3729,23 +3845,23 @@ function HeaderMenuArea({
3729
3845
  items,
3730
3846
  onSelect
3731
3847
  }) {
3732
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("nav", { "data-slot": "header-menu", className: "flex items-center gap-1", children: items.map(
3733
- (item) => item.children !== void 0 && item.children.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenu, { children: [
3734
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
3848
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("nav", { "data-slot": "header-menu", className: "flex items-center gap-1", children: items.map(
3849
+ (item) => item.children !== void 0 && item.children.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenu, { children: [
3850
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
3735
3851
  DropdownMenuTrigger,
3736
3852
  {
3737
3853
  "data-slot": "header-menu-item",
3738
3854
  "data-key": item.key,
3739
3855
  className: cn(menuItemClass, "outline-hidden cursor-pointer"),
3740
3856
  children: [
3741
- item.icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3857
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3742
3858
  item.label,
3743
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react16.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
3859
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react16.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
3744
3860
  ]
3745
3861
  }
3746
3862
  ),
3747
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuContent, { children: item.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HeaderMenuEntry, { item: child, onSelect }, child.key)) })
3748
- ] }, item.key) : /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
3863
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DropdownMenuContent, { children: item.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderMenuEntry, { item: child, onSelect }, child.key)) })
3864
+ ] }, item.key) : /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
3749
3865
  "button",
3750
3866
  {
3751
3867
  type: "button",
@@ -3754,7 +3870,7 @@ function HeaderMenuArea({
3754
3870
  className: menuItemClass,
3755
3871
  onClick: () => onSelect?.(item.key),
3756
3872
  children: [
3757
- item.icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3873
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3758
3874
  item.label
3759
3875
  ]
3760
3876
  },
@@ -3767,16 +3883,16 @@ function HeaderMenuEntry({
3767
3883
  onSelect
3768
3884
  }) {
3769
3885
  if (item.children !== void 0 && item.children.length > 0) {
3770
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenuSub, { children: [
3771
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenuSubTrigger, { "data-key": item.key, className: "cursor-pointer", children: [
3772
- item.icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3886
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenuSub, { children: [
3887
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenuSubTrigger, { "data-key": item.key, className: "cursor-pointer", children: [
3888
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3773
3889
  item.label
3774
3890
  ] }),
3775
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuSubContent, { children: item.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HeaderMenuEntry, { item: child, onSelect }, child.key)) })
3891
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DropdownMenuSubContent, { children: item.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderMenuEntry, { item: child, onSelect }, child.key)) })
3776
3892
  ] });
3777
3893
  }
3778
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenuItem, { "data-key": item.key, onClick: () => onSelect?.(item.key), children: [
3779
- item.icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3894
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenuItem, { "data-key": item.key, onClick: () => onSelect?.(item.key), children: [
3895
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3780
3896
  item.label
3781
3897
  ] });
3782
3898
  }
@@ -3784,18 +3900,18 @@ function HeaderUserArea({
3784
3900
  user,
3785
3901
  onSelect
3786
3902
  }) {
3787
- const identity = /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
3788
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Avatar, { className: "size-7", children: [
3789
- user.avatar !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(AvatarImage, { src: user.avatar, alt: user.name }),
3790
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(AvatarFallback, { children: user.name.charAt(0) })
3903
+ const identity = /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
3904
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(Avatar, { className: "size-7", children: [
3905
+ user.avatar !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AvatarImage, { src: user.avatar, alt: user.name }),
3906
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AvatarFallback, { children: user.name.charAt(0) })
3791
3907
  ] }),
3792
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-sm", children: user.name })
3908
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-sm", children: user.name })
3793
3909
  ] });
3794
3910
  if (user.items === void 0 || user.items.length === 0) {
3795
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { "data-slot": "header-user", className: "flex items-center gap-2", children: identity });
3911
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { "data-slot": "header-user", className: "flex items-center gap-2", children: identity });
3796
3912
  }
3797
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenu, { children: [
3798
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3913
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenu, { children: [
3914
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3799
3915
  DropdownMenuTrigger,
3800
3916
  {
3801
3917
  "data-slot": "header-user",
@@ -3803,8 +3919,8 @@ function HeaderUserArea({
3803
3919
  children: identity
3804
3920
  }
3805
3921
  ),
3806
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuContent, { align: "end", children: user.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenuItem, { onClick: () => onSelect?.(item.value), children: [
3807
- item.icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3922
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DropdownMenuContent, { align: "end", children: user.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenuItem, { onClick: () => onSelect?.(item.value), children: [
3923
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
3808
3924
  item.label
3809
3925
  ] }, item.value)) })
3810
3926
  ] });
@@ -3813,21 +3929,21 @@ function HeaderLocalesArea({
3813
3929
  locales,
3814
3930
  onSelect
3815
3931
  }) {
3816
- const { locale } = (0, import_runtime10.useI18n)();
3932
+ const { locale } = (0, import_runtime11.useI18n)();
3817
3933
  const current = locales.find((option) => option.value === locale);
3818
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenu, { children: [
3819
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
3934
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenu, { children: [
3935
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
3820
3936
  DropdownMenuTrigger,
3821
3937
  {
3822
3938
  "data-slot": "header-locales",
3823
3939
  className: cn(menuItemClass, "outline-hidden cursor-pointer"),
3824
3940
  children: [
3825
3941
  current?.label ?? locale,
3826
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react16.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
3942
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react16.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
3827
3943
  ]
3828
3944
  }
3829
3945
  ),
3830
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuContent, { align: "end", children: locales.map((option) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3946
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DropdownMenuContent, { align: "end", children: locales.map((option) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3831
3947
  DropdownMenuItem,
3832
3948
  {
3833
3949
  onClick: () => onSelect?.(option.value),
@@ -3839,20 +3955,20 @@ function HeaderLocalesArea({
3839
3955
  }
3840
3956
 
3841
3957
  // src/components/components/HoverCard/index.tsx
3842
- var import_runtime11 = require("@pactor-app/runtime");
3958
+ var import_runtime12 = require("@pactor-app/runtime");
3843
3959
 
3844
3960
  // src/ui/hover-card.tsx
3845
3961
  var import_preview_card = require("@base-ui/react/preview-card");
3846
- var import_jsx_runtime62 = require("react/jsx-runtime");
3962
+ var import_jsx_runtime63 = require("react/jsx-runtime");
3847
3963
  function HoverCard({
3848
3964
  ...props
3849
3965
  }) {
3850
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_preview_card.PreviewCard.Root, { "data-slot": "hover-card", ...props });
3966
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_preview_card.PreviewCard.Root, { "data-slot": "hover-card", ...props });
3851
3967
  }
3852
3968
  function HoverCardTrigger({
3853
3969
  ...props
3854
3970
  }) {
3855
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_preview_card.PreviewCard.Trigger, { "data-slot": "hover-card-trigger", ...props });
3971
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_preview_card.PreviewCard.Trigger, { "data-slot": "hover-card-trigger", ...props });
3856
3972
  }
3857
3973
  function HoverCardContent({
3858
3974
  className,
@@ -3861,14 +3977,14 @@ function HoverCardContent({
3861
3977
  sideOffset = 4,
3862
3978
  ...props
3863
3979
  }) {
3864
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_preview_card.PreviewCard.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3980
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_preview_card.PreviewCard.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
3865
3981
  import_preview_card.PreviewCard.Positioner,
3866
3982
  {
3867
3983
  align,
3868
3984
  side,
3869
3985
  sideOffset,
3870
3986
  className: "isolate z-50",
3871
- children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3987
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
3872
3988
  import_preview_card.PreviewCard.Popup,
3873
3989
  {
3874
3990
  "data-slot": "hover-card-content",
@@ -3884,22 +4000,22 @@ function HoverCardContent({
3884
4000
  }
3885
4001
 
3886
4002
  // src/components/components/HoverCard/index.tsx
3887
- var import_jsx_runtime63 = require("react/jsx-runtime");
4003
+ var import_jsx_runtime64 = require("react/jsx-runtime");
3888
4004
  function isDslNode2(value) {
3889
4005
  return typeof value === "object" && value !== null && typeof value.type === "string";
3890
4006
  }
3891
4007
  function HoverCard2({ content, children, className, style }) {
3892
- const { renderChildren } = (0, import_runtime11.useRenderer)();
3893
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(HoverCard, { children: [
3894
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(HoverCardTrigger, { render: triggerWrapper("hover-card-trigger-wrap"), children }),
3895
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(HoverCardContent, { className, style, children: isDslNode2(content) ? renderChildren([content]) : content })
4008
+ const { renderChildren } = (0, import_runtime12.useRenderer)();
4009
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(HoverCard, { children: [
4010
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(HoverCardTrigger, { render: triggerWrapper("hover-card-trigger-wrap"), children }),
4011
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(HoverCardContent, { className, style, children: isDslNode2(content) ? renderChildren([content]) : content })
3896
4012
  ] });
3897
4013
  }
3898
4014
 
3899
4015
  // src/components/components/Input/index.tsx
3900
- var import_runtime12 = require("@pactor-app/runtime");
4016
+ var import_runtime13 = require("@pactor-app/runtime");
3901
4017
  var import_react15 = require("react");
3902
- var import_jsx_runtime64 = require("react/jsx-runtime");
4018
+ var import_jsx_runtime65 = require("react/jsx-runtime");
3903
4019
  function Input2({
3904
4020
  name,
3905
4021
  label,
@@ -3911,10 +4027,11 @@ function Input2({
3911
4027
  allowClear,
3912
4028
  onChange,
3913
4029
  className,
4030
+ controlClassName,
3914
4031
  style
3915
4032
  }) {
3916
4033
  const form = useFormContext();
3917
- const { t } = (0, import_runtime12.useI18n)();
4034
+ const { t } = (0, import_runtime13.useI18n)();
3918
4035
  const controlId = (0, import_react15.useId)();
3919
4036
  const inForm = form?.inForm === true && typeof name === "string" && name !== "";
3920
4037
  (0, import_react15.useEffect)(() => {
@@ -3934,7 +4051,7 @@ function Input2({
3934
4051
  onChange?.("");
3935
4052
  };
3936
4053
  const inFormRoot = inForm === true;
3937
- const input = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4054
+ const input = /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3938
4055
  Input,
3939
4056
  {
3940
4057
  id: controlId,
@@ -3942,7 +4059,10 @@ function Input2({
3942
4059
  value: currentValue,
3943
4060
  placeholder,
3944
4061
  disabled,
3945
- className: !inFormRoot && allowClear !== true ? className : void 0,
4062
+ className: cn(
4063
+ !inFormRoot && allowClear !== true && className,
4064
+ allowClear !== true && controlClassName
4065
+ ),
3946
4066
  style: !inFormRoot && allowClear !== true ? style : void 0,
3947
4067
  onChange: (event) => {
3948
4068
  if (inForm && form && name) {
@@ -3952,7 +4072,7 @@ function Input2({
3952
4072
  }
3953
4073
  }
3954
4074
  );
3955
- const clearButton = showClear ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4075
+ const clearButton = showClear ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3956
4076
  "button",
3957
4077
  {
3958
4078
  type: "button",
@@ -3962,10 +4082,14 @@ function Input2({
3962
4082
  children: "\xD7"
3963
4083
  }
3964
4084
  ) : null;
3965
- const control = allowClear === true ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
4085
+ const control = allowClear === true ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3966
4086
  "span",
3967
4087
  {
3968
- className: cn("flex items-center gap-1", !inFormRoot && className),
4088
+ className: cn(
4089
+ "flex items-center gap-1",
4090
+ !inFormRoot && className,
4091
+ controlClassName
4092
+ ),
3969
4093
  style: inFormRoot ? void 0 : style,
3970
4094
  children: [
3971
4095
  input,
@@ -3975,14 +4099,14 @@ function Input2({
3975
4099
  ) : input;
3976
4100
  if (inForm && form && name) {
3977
4101
  const error = form.errors[name];
3978
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
4102
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3979
4103
  "div",
3980
4104
  {
3981
4105
  "data-slot": "form-item",
3982
4106
  className: cn(formItemClass(form.layout), className),
3983
4107
  style,
3984
4108
  children: [
3985
- label ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4109
+ label ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3986
4110
  "label",
3987
4111
  {
3988
4112
  htmlFor: controlId,
@@ -3991,7 +4115,7 @@ function Input2({
3991
4115
  }
3992
4116
  ) : null,
3993
4117
  control,
3994
- error ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
4118
+ error ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
3995
4119
  ]
3996
4120
  }
3997
4121
  );
@@ -4000,9 +4124,9 @@ function Input2({
4000
4124
  }
4001
4125
 
4002
4126
  // src/ui/input-group.tsx
4003
- var import_jsx_runtime65 = require("react/jsx-runtime");
4127
+ var import_jsx_runtime66 = require("react/jsx-runtime");
4004
4128
  function InputGroup({ className, ...props }) {
4005
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4129
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4006
4130
  "div",
4007
4131
  {
4008
4132
  "data-slot": "input-group",
@@ -4021,9 +4145,9 @@ function InputGroup({ className, ...props }) {
4021
4145
  }
4022
4146
 
4023
4147
  // src/components/components/InputGroup/index.tsx
4024
- var import_jsx_runtime66 = require("react/jsx-runtime");
4148
+ var import_jsx_runtime67 = require("react/jsx-runtime");
4025
4149
  function InputGroup2({ className, style, children }) {
4026
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(InputGroup, { className, style, children });
4150
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(InputGroup, { className, style, children });
4027
4151
  }
4028
4152
 
4029
4153
  // src/components/components/InputOTP/index.tsx
@@ -4032,14 +4156,14 @@ var import_react16 = require("react");
4032
4156
  // src/ui/input-otp.tsx
4033
4157
  var import_input_otp = require("input-otp");
4034
4158
  var import_lucide_react17 = require("lucide-react");
4035
- var React3 = __toESM(require("react"), 1);
4036
- var import_jsx_runtime67 = require("react/jsx-runtime");
4159
+ var React4 = __toESM(require("react"), 1);
4160
+ var import_jsx_runtime68 = require("react/jsx-runtime");
4037
4161
  function InputOTP({
4038
4162
  className,
4039
4163
  containerClassName,
4040
4164
  ...props
4041
4165
  }) {
4042
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4166
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4043
4167
  import_input_otp.OTPInput,
4044
4168
  {
4045
4169
  "data-slot": "input-otp",
@@ -4053,7 +4177,7 @@ function InputOTP({
4053
4177
  );
4054
4178
  }
4055
4179
  function InputOTPGroup({ className, ...props }) {
4056
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4180
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4057
4181
  "div",
4058
4182
  {
4059
4183
  "data-slot": "input-otp-group",
@@ -4067,9 +4191,9 @@ function InputOTPSlot({
4067
4191
  className,
4068
4192
  ...props
4069
4193
  }) {
4070
- const inputOTPContext = React3.useContext(import_input_otp.OTPInputContext);
4194
+ const inputOTPContext = React4.useContext(import_input_otp.OTPInputContext);
4071
4195
  const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
4072
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
4196
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
4073
4197
  "div",
4074
4198
  {
4075
4199
  "data-slot": "input-otp-slot",
@@ -4081,14 +4205,14 @@ function InputOTPSlot({
4081
4205
  ...props,
4082
4206
  children: [
4083
4207
  char,
4084
- hasFakeCaret ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) }) : null
4208
+ hasFakeCaret ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) }) : null
4085
4209
  ]
4086
4210
  }
4087
4211
  );
4088
4212
  }
4089
4213
 
4090
4214
  // src/components/components/InputOTP/index.tsx
4091
- var import_jsx_runtime68 = require("react/jsx-runtime");
4215
+ var import_jsx_runtime69 = require("react/jsx-runtime");
4092
4216
  function InputOTP2({
4093
4217
  name,
4094
4218
  label,
@@ -4126,42 +4250,42 @@ function InputOTP2({
4126
4250
  onComplete?.(next);
4127
4251
  }
4128
4252
  };
4129
- const control = /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4253
+ const control = /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4130
4254
  InputOTP,
4131
4255
  {
4132
4256
  maxLength: length,
4133
4257
  value: current,
4134
4258
  onChange: handleChange,
4135
4259
  disabled,
4136
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(InputOTPGroup, { children: Array.from({ length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(InputOTPSlot, { index }, index)) })
4260
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(InputOTPGroup, { children: Array.from({ length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(InputOTPSlot, { index }, index)) })
4137
4261
  }
4138
4262
  );
4139
4263
  if (inForm && form && name) {
4140
4264
  const error = form.errors[name];
4141
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
4265
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
4142
4266
  "div",
4143
4267
  {
4144
4268
  "data-slot": "form-item",
4145
4269
  className: cn(formItemClass(form.layout), className),
4146
4270
  style,
4147
4271
  children: [
4148
- label ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("label", { className: "shrink-0 text-sm leading-none font-medium whitespace-nowrap", children: label }) : null,
4272
+ label ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("label", { className: "shrink-0 text-sm leading-none font-medium whitespace-nowrap", children: label }) : null,
4149
4273
  control,
4150
- error ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
4274
+ error ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
4151
4275
  ]
4152
4276
  }
4153
4277
  );
4154
4278
  }
4155
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { "data-slot": "input-otp-field", className: cn("inline-block", className), style, children: control });
4279
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { "data-slot": "input-otp-field", className: cn("inline-block", className), style, children: control });
4156
4280
  }
4157
4281
 
4158
4282
  // src/components/components/Item/index.tsx
4159
- var import_runtime13 = require("@pactor-app/runtime");
4283
+ var import_runtime14 = require("@pactor-app/runtime");
4160
4284
 
4161
4285
  // src/ui/item.tsx
4162
- var import_jsx_runtime69 = require("react/jsx-runtime");
4286
+ var import_jsx_runtime70 = require("react/jsx-runtime");
4163
4287
  function Item({ className, ...props }) {
4164
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4288
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4165
4289
  "div",
4166
4290
  {
4167
4291
  "data-slot": "item",
@@ -4174,7 +4298,7 @@ function Item({ className, ...props }) {
4174
4298
  );
4175
4299
  }
4176
4300
  function ItemMedia({ className, ...props }) {
4177
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4301
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4178
4302
  "div",
4179
4303
  {
4180
4304
  "data-slot": "item-media",
@@ -4187,7 +4311,7 @@ function ItemMedia({ className, ...props }) {
4187
4311
  );
4188
4312
  }
4189
4313
  function ItemContent({ className, ...props }) {
4190
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4314
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4191
4315
  "div",
4192
4316
  {
4193
4317
  "data-slot": "item-content",
@@ -4197,7 +4321,7 @@ function ItemContent({ className, ...props }) {
4197
4321
  );
4198
4322
  }
4199
4323
  function ItemTitle({ className, ...props }) {
4200
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4324
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4201
4325
  "div",
4202
4326
  {
4203
4327
  "data-slot": "item-title",
@@ -4207,7 +4331,7 @@ function ItemTitle({ className, ...props }) {
4207
4331
  );
4208
4332
  }
4209
4333
  function ItemDescription({ className, ...props }) {
4210
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4334
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4211
4335
  "p",
4212
4336
  {
4213
4337
  "data-slot": "item-description",
@@ -4217,7 +4341,7 @@ function ItemDescription({ className, ...props }) {
4217
4341
  );
4218
4342
  }
4219
4343
  function ItemActions({ className, ...props }) {
4220
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4344
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4221
4345
  "div",
4222
4346
  {
4223
4347
  "data-slot": "item-actions",
@@ -4228,7 +4352,7 @@ function ItemActions({ className, ...props }) {
4228
4352
  }
4229
4353
 
4230
4354
  // src/components/components/Item/index.tsx
4231
- var import_jsx_runtime70 = require("react/jsx-runtime");
4355
+ var import_jsx_runtime71 = require("react/jsx-runtime");
4232
4356
  function Item2({
4233
4357
  title,
4234
4358
  description,
@@ -4237,22 +4361,22 @@ function Item2({
4237
4361
  className,
4238
4362
  style
4239
4363
  }) {
4240
- const { renderChildren } = (0, import_runtime13.useRenderer)();
4364
+ const { renderChildren } = (0, import_runtime14.useRenderer)();
4241
4365
  const mediaNodes = media === void 0 ? [] : Array.isArray(media) ? media : [media];
4242
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Item, { className, style, children: [
4243
- mediaNodes.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ItemMedia, { children: renderChildren(mediaNodes) }) : null,
4244
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(ItemContent, { children: [
4245
- title ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ItemTitle, { children: title }) : null,
4246
- description ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ItemDescription, { children: description }) : null
4366
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(Item, { className, style, children: [
4367
+ mediaNodes.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ItemMedia, { children: renderChildren(mediaNodes) }) : null,
4368
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(ItemContent, { children: [
4369
+ title ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ItemTitle, { children: title }) : null,
4370
+ description ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ItemDescription, { children: description }) : null
4247
4371
  ] }),
4248
- actions && actions.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ItemActions, { children: renderChildren(actions) }) : null
4372
+ actions && actions.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ItemActions, { children: renderChildren(actions) }) : null
4249
4373
  ] });
4250
4374
  }
4251
4375
 
4252
4376
  // src/ui/kbd.tsx
4253
- var import_jsx_runtime71 = require("react/jsx-runtime");
4377
+ var import_jsx_runtime72 = require("react/jsx-runtime");
4254
4378
  function Kbd({ className, ...props }) {
4255
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
4379
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
4256
4380
  "kbd",
4257
4381
  {
4258
4382
  "data-slot": "kbd",
@@ -4266,18 +4390,18 @@ function Kbd({ className, ...props }) {
4266
4390
  }
4267
4391
 
4268
4392
  // src/components/components/Kbd/index.tsx
4269
- var import_jsx_runtime72 = require("react/jsx-runtime");
4393
+ var import_jsx_runtime73 = require("react/jsx-runtime");
4270
4394
  function Kbd2({ text, className, style }) {
4271
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Kbd, { className, style, children: text });
4395
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Kbd, { className, style, children: text });
4272
4396
  }
4273
4397
 
4274
4398
  // src/ui/label.tsx
4275
- var import_jsx_runtime73 = require("react/jsx-runtime");
4399
+ var import_jsx_runtime74 = require("react/jsx-runtime");
4276
4400
  function Label({
4277
4401
  className,
4278
4402
  ...props
4279
4403
  }) {
4280
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
4404
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
4281
4405
  "label",
4282
4406
  {
4283
4407
  "data-slot": "label",
@@ -4291,22 +4415,22 @@ function Label({
4291
4415
  }
4292
4416
 
4293
4417
  // src/components/components/Label/index.tsx
4294
- var import_jsx_runtime74 = require("react/jsx-runtime");
4418
+ var import_jsx_runtime75 = require("react/jsx-runtime");
4295
4419
  function Label2({ text, htmlFor, className, style }) {
4296
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Label, { htmlFor, className, style, children: text });
4420
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Label, { htmlFor, className, style, children: text });
4297
4421
  }
4298
4422
 
4299
4423
  // src/components/components/Layout/index.tsx
4300
4424
  var import_core = require("@pactor-app/core");
4301
- var import_runtime14 = require("@pactor-app/runtime");
4302
- var import_jsx_runtime75 = require("react/jsx-runtime");
4425
+ var import_runtime15 = require("@pactor-app/runtime");
4426
+ var import_jsx_runtime76 = require("react/jsx-runtime");
4303
4427
  function Layout({ direction, className, style, dslChildren }) {
4304
- const { renderChildren, context } = (0, import_runtime14.useRenderer)();
4428
+ const { renderChildren, context } = (0, import_runtime15.useRenderer)();
4305
4429
  const hasSider = Array.isArray(dslChildren) ? dslChildren.some(
4306
4430
  (child) => !(0, import_core.isDslSourceRef)(child) && resolveRootType(child, context) === "Sider"
4307
4431
  ) : false;
4308
4432
  const dir = direction ?? (hasSider ? "horizontal" : "vertical");
4309
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
4433
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
4310
4434
  "div",
4311
4435
  {
4312
4436
  "data-slot": "layout",
@@ -4330,9 +4454,10 @@ function resolveRootType(node, context) {
4330
4454
  }
4331
4455
 
4332
4456
  // src/components/components/Link/index.tsx
4333
- var import_jsx_runtime76 = require("react/jsx-runtime");
4457
+ var import_jsx_runtime77 = require("react/jsx-runtime");
4334
4458
  function Link2({ href, text, target, className, style, children }) {
4335
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
4459
+ const handleSpaClick = useSpaLinkClick();
4460
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
4336
4461
  "a",
4337
4462
  {
4338
4463
  "data-slot": "link",
@@ -4341,6 +4466,7 @@ function Link2({ href, text, target, className, style, children }) {
4341
4466
  rel: target === "_blank" ? "noreferrer" : void 0,
4342
4467
  className: cn("text-primary underline-offset-4 hover:underline", className),
4343
4468
  style,
4469
+ onClick: (event) => handleSpaClick(event, href, target),
4344
4470
  children: text ?? children
4345
4471
  }
4346
4472
  );
@@ -4349,84 +4475,24 @@ function Link2({ href, text, target, className, style, children }) {
4349
4475
  // src/components/components/Menu/index.tsx
4350
4476
  var import_react19 = require("react");
4351
4477
 
4352
- // src/ui/tooltip.tsx
4353
- var import_tooltip = require("@base-ui/react/tooltip");
4354
- var import_jsx_runtime77 = require("react/jsx-runtime");
4355
- function TooltipProvider({
4356
- delay = 0,
4357
- ...props
4358
- }) {
4359
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
4360
- import_tooltip.Tooltip.Provider,
4361
- {
4362
- "data-slot": "tooltip-provider",
4363
- delay,
4364
- ...props
4365
- }
4366
- );
4367
- }
4368
- function Tooltip2({
4369
- ...props
4370
- }) {
4371
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_tooltip.Tooltip.Root, { "data-slot": "tooltip", ...props }) });
4372
- }
4373
- function TooltipTrigger({
4374
- ...props
4375
- }) {
4376
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_tooltip.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
4377
- }
4378
- function TooltipContent({
4379
- className,
4380
- side = "top",
4381
- sideOffset = 4,
4382
- align = "center",
4383
- children,
4384
- ...props
4385
- }) {
4386
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
4387
- import_tooltip.Tooltip.Positioner,
4388
- {
4389
- align,
4390
- side,
4391
- sideOffset,
4392
- className: "isolate z-50",
4393
- children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
4394
- import_tooltip.Tooltip.Popup,
4395
- {
4396
- "data-slot": "tooltip-content",
4397
- className: cn(
4398
- "z-50 w-fit origin-(--transform-origin) rounded-md bg-primary px-3 py-1.5 text-xs text-balance text-primary-foreground duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
4399
- className
4400
- ),
4401
- ...props,
4402
- children: [
4403
- children,
4404
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_tooltip.Tooltip.Arrow, { className: "z-50 size-2.5 rotate-45 rounded-[2px] bg-primary fill-primary data-[side=top]:-bottom-1 data-[side=bottom]:-top-1 data-[side=left]:-right-1 data-[side=right]:-left-1" })
4405
- ]
4406
- }
4407
- )
4408
- }
4409
- ) });
4410
- }
4411
-
4412
4478
  // src/components/components/Sidebar/rail-tooltip.tsx
4413
4479
  var import_jsx_runtime78 = require("react/jsx-runtime");
4414
4480
  function RailTooltip({
4415
4481
  label,
4416
4482
  children
4417
4483
  }) {
4418
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(Tooltip2, { children: [
4484
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(Tooltip, { children: [
4419
4485
  /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(TooltipTrigger, { render: children }),
4420
4486
  /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(TooltipContent, { side: "right", sideOffset: 8, children: label })
4421
4487
  ] });
4422
4488
  }
4423
4489
 
4424
4490
  // src/components/components/Sidebar/index.tsx
4425
- var import_runtime15 = require("@pactor-app/runtime");
4491
+ var import_runtime16 = require("@pactor-app/runtime");
4426
4492
  var import_react18 = require("react");
4427
4493
 
4428
4494
  // src/ui/sidebar.tsx
4429
- var React4 = __toESM(require("react"), 1);
4495
+ var React5 = __toESM(require("react"), 1);
4430
4496
  var import_class_variance_authority5 = require("class-variance-authority");
4431
4497
  var import_lucide_react19 = require("lucide-react");
4432
4498
 
@@ -4618,9 +4684,9 @@ var SIDEBAR_WIDTH = "16rem";
4618
4684
  var SIDEBAR_WIDTH_MOBILE = "18rem";
4619
4685
  var SIDEBAR_WIDTH_ICON = "3rem";
4620
4686
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
4621
- var SidebarContext = React4.createContext(null);
4687
+ var SidebarContext = React5.createContext(null);
4622
4688
  function useSidebar() {
4623
- const context = React4.useContext(SidebarContext);
4689
+ const context = React5.useContext(SidebarContext);
4624
4690
  if (!context) {
4625
4691
  throw new Error("useSidebar must be used within a SidebarProvider.");
4626
4692
  }
@@ -4636,10 +4702,10 @@ function SidebarProvider({
4636
4702
  ...props
4637
4703
  }) {
4638
4704
  const isMobile = useIsMobile();
4639
- const [openMobile, setOpenMobile] = React4.useState(false);
4640
- const [_open, _setOpen] = React4.useState(defaultOpen);
4705
+ const [openMobile, setOpenMobile] = React5.useState(false);
4706
+ const [_open, _setOpen] = React5.useState(defaultOpen);
4641
4707
  const open = openProp ?? _open;
4642
- const setOpen = React4.useCallback(
4708
+ const setOpen = React5.useCallback(
4643
4709
  (value) => {
4644
4710
  const openState = typeof value === "function" ? value(open) : value;
4645
4711
  if (setOpenProp) {
@@ -4651,10 +4717,10 @@ function SidebarProvider({
4651
4717
  },
4652
4718
  [setOpenProp, open]
4653
4719
  );
4654
- const toggleSidebar = React4.useCallback(() => {
4720
+ const toggleSidebar = React5.useCallback(() => {
4655
4721
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
4656
4722
  }, [isMobile, setOpen, setOpenMobile]);
4657
- React4.useEffect(() => {
4723
+ React5.useEffect(() => {
4658
4724
  const handleKeyDown = (event) => {
4659
4725
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
4660
4726
  event.preventDefault();
@@ -4665,7 +4731,7 @@ function SidebarProvider({
4665
4731
  return () => window.removeEventListener("keydown", handleKeyDown);
4666
4732
  }, [toggleSidebar]);
4667
4733
  const state = open ? "expanded" : "collapsed";
4668
- const contextValue = React4.useMemo(
4734
+ const contextValue = React5.useMemo(
4669
4735
  () => ({
4670
4736
  state,
4671
4737
  open,
@@ -4839,10 +4905,10 @@ function SidebarContent({ className, ...props }) {
4839
4905
  );
4840
4906
  }
4841
4907
  function renderAsChild(children, dataSlot, className, rest) {
4842
- if (!React4.isValidElement(children)) {
4908
+ if (!React5.isValidElement(children)) {
4843
4909
  return null;
4844
4910
  }
4845
- return React4.cloneElement(children, {
4911
+ return React5.cloneElement(children, {
4846
4912
  "data-slot": dataSlot,
4847
4913
  className: cn(
4848
4914
  className,
@@ -4930,7 +4996,7 @@ function SidebarMenuButton({
4930
4996
  children: tooltip
4931
4997
  };
4932
4998
  }
4933
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Tooltip2, { children: [
4999
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Tooltip, { children: [
4934
5000
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TooltipTrigger, { render: button }),
4935
5001
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
4936
5002
  TooltipContent,
@@ -4959,7 +5025,7 @@ function useSidebarDrawer() {
4959
5025
  }
4960
5026
  function useOptionalRenderer() {
4961
5027
  try {
4962
- return (0, import_runtime15.useRenderer)();
5028
+ return (0, import_runtime16.useRenderer)();
4963
5029
  } catch {
4964
5030
  return null;
4965
5031
  }
@@ -5066,7 +5132,7 @@ function SidebarInner({
5066
5132
  drawer = true,
5067
5133
  children
5068
5134
  }) {
5069
- const { t } = (0, import_runtime15.useI18n)();
5135
+ const { t } = (0, import_runtime16.useI18n)();
5070
5136
  const isMobile = useIsMobile();
5071
5137
  const { state, setOpenMobile, toggleSidebar } = useSidebar();
5072
5138
  const collapsed = state === "collapsed";
@@ -5844,13 +5910,13 @@ function Pagination2({
5844
5910
  }
5845
5911
 
5846
5912
  // src/components/components/Popover/index.tsx
5847
- var import_runtime16 = require("@pactor-app/runtime");
5913
+ var import_runtime17 = require("@pactor-app/runtime");
5848
5914
  var import_jsx_runtime92 = require("react/jsx-runtime");
5849
5915
  function isDslNode3(value) {
5850
5916
  return typeof value === "object" && value !== null && typeof value.type === "string";
5851
5917
  }
5852
5918
  function Popover2({ content, children, className, style }) {
5853
- const { renderChildren } = (0, import_runtime16.useRenderer)();
5919
+ const { renderChildren } = (0, import_runtime17.useRenderer)();
5854
5920
  return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(Popover, { children: [
5855
5921
  /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
5856
5922
  PopoverTrigger,
@@ -6071,7 +6137,7 @@ function RadioGroup2({
6071
6137
  }
6072
6138
 
6073
6139
  // src/components/components/Resizable/index.tsx
6074
- var import_runtime17 = require("@pactor-app/runtime");
6140
+ var import_runtime18 = require("@pactor-app/runtime");
6075
6141
  var import_react22 = require("react");
6076
6142
 
6077
6143
  // src/ui/resizable.tsx
@@ -6124,7 +6190,7 @@ function Resizable({
6124
6190
  className,
6125
6191
  style
6126
6192
  }) {
6127
- const { renderChildren } = (0, import_runtime17.useRenderer)();
6193
+ const { renderChildren } = (0, import_runtime18.useRenderer)();
6128
6194
  return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(PanelGroup, { orientation: direction, className, style, children: panels.map((panel, index) => /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_react22.Fragment, { children: [
6129
6195
  index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(ResizableHandle, { withHandle: true }) : null,
6130
6196
  /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
@@ -6216,7 +6282,7 @@ function ScrollArea2({
6216
6282
  }
6217
6283
 
6218
6284
  // src/components/components/Select/index.tsx
6219
- var import_runtime18 = require("@pactor-app/runtime");
6285
+ var import_runtime19 = require("@pactor-app/runtime");
6220
6286
  var import_react23 = require("react");
6221
6287
 
6222
6288
  // src/ui/select.tsx
@@ -6362,10 +6428,11 @@ function Select2({
6362
6428
  allowClear,
6363
6429
  onChange,
6364
6430
  className,
6431
+ controlClassName,
6365
6432
  style
6366
6433
  }) {
6367
6434
  const form = useFormContext();
6368
- const { t } = (0, import_runtime18.useI18n)();
6435
+ const { t } = (0, import_runtime19.useI18n)();
6369
6436
  const controlId = (0, import_react23.useId)();
6370
6437
  const inForm = form?.inForm === true && typeof name === "string" && name !== "";
6371
6438
  (0, import_react23.useEffect)(() => {
@@ -6387,7 +6454,12 @@ function Select2({
6387
6454
  const select = /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
6388
6455
  "span",
6389
6456
  {
6390
- className: cn("inline-flex items-center gap-1", !inFormRoot && className),
6457
+ className: cn(
6458
+ // Form / Field(Form 上下文)内控件占满整行宽度;独立渲染保持内容自然宽度
6459
+ inFormRoot ? "flex w-full items-center gap-1" : "inline-flex items-center gap-1",
6460
+ !inFormRoot && className,
6461
+ controlClassName
6462
+ ),
6391
6463
  style: inFormRoot ? void 0 : style,
6392
6464
  children: [
6393
6465
  /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
@@ -6399,7 +6471,7 @@ function Select2({
6399
6471
  disabled,
6400
6472
  name: inForm ? name : void 0,
6401
6473
  children: [
6402
- /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectTrigger, { id: controlId, children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectValue, { placeholder }) }),
6474
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectTrigger, { id: controlId, className: inFormRoot ? "w-full" : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectValue, { placeholder }) }),
6403
6475
  /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectContent, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
6404
6476
  SelectItem,
6405
6477
  {
@@ -6690,7 +6762,7 @@ function Slider2({
6690
6762
  }
6691
6763
 
6692
6764
  // src/components/components/Sonner/index.tsx
6693
- var import_runtime19 = require("@pactor-app/runtime");
6765
+ var import_runtime20 = require("@pactor-app/runtime");
6694
6766
  var import_react25 = require("react");
6695
6767
 
6696
6768
  // src/ui/toast.tsx
@@ -6770,7 +6842,7 @@ function Toaster({ className }) {
6770
6842
  // src/components/components/Sonner/index.tsx
6771
6843
  var import_jsx_runtime111 = require("react/jsx-runtime");
6772
6844
  function Sonner({ className, style }) {
6773
- const { context } = (0, import_runtime19.useRenderer)();
6845
+ const { context } = (0, import_runtime20.useRenderer)();
6774
6846
  (0, import_react25.useEffect)(() => {
6775
6847
  const { actions } = context;
6776
6848
  if (actions.has("toast")) {
@@ -6923,7 +6995,7 @@ function Switch2({
6923
6995
  }
6924
6996
 
6925
6997
  // src/components/components/Table/index.tsx
6926
- var import_runtime20 = require("@pactor-app/runtime");
6998
+ var import_runtime21 = require("@pactor-app/runtime");
6927
6999
  var import_react27 = require("react");
6928
7000
  var import_jsx_runtime117 = require("react/jsx-runtime");
6929
7001
  function renderCellValue2(value) {
@@ -6945,8 +7017,8 @@ function Table3({
6945
7017
  className,
6946
7018
  style
6947
7019
  }) {
6948
- const { renderChildren } = (0, import_runtime20.useRenderer)();
6949
- const { t } = (0, import_runtime20.useI18n)();
7020
+ const { renderChildren } = (0, import_runtime21.useRenderer)();
7021
+ const { t } = (0, import_runtime21.useI18n)();
6950
7022
  const [current, setCurrent] = (0, import_react27.useState)(1);
6951
7023
  const pageSize = pagination === false ? void 0 : pagination?.pageSize;
6952
7024
  const total = dataSource.length;
@@ -7012,7 +7084,7 @@ function Table3({
7012
7084
  }
7013
7085
 
7014
7086
  // src/components/components/Tabs/index.tsx
7015
- var import_runtime21 = require("@pactor-app/runtime");
7087
+ var import_runtime22 = require("@pactor-app/runtime");
7016
7088
 
7017
7089
  // src/ui/tabs.tsx
7018
7090
  var import_tabs = require("@base-ui/react/tabs");
@@ -7098,7 +7170,7 @@ function TabsContent({
7098
7170
  // src/components/components/Tabs/index.tsx
7099
7171
  var import_jsx_runtime119 = require("react/jsx-runtime");
7100
7172
  function Tabs2({ items = [], activeKey, variant, onChange, className, style }) {
7101
- const { renderChildren } = (0, import_runtime21.useRenderer)();
7173
+ const { renderChildren } = (0, import_runtime22.useRenderer)();
7102
7174
  return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
7103
7175
  Tabs,
7104
7176
  {
@@ -7124,9 +7196,15 @@ var typeClassMap = {
7124
7196
  warning: "text-warning",
7125
7197
  danger: "text-destructive"
7126
7198
  };
7199
+ var sizeClassMap = {
7200
+ small: "text-xs",
7201
+ middle: "",
7202
+ large: "text-lg"
7203
+ };
7127
7204
  function Text({
7128
7205
  text,
7129
7206
  type = "default",
7207
+ size = "middle",
7130
7208
  strong,
7131
7209
  delete: del,
7132
7210
  underline,
@@ -7142,6 +7220,7 @@ function Text({
7142
7220
  "data-type": type,
7143
7221
  className: cn(
7144
7222
  typeClassMap[type],
7223
+ sizeClassMap[size],
7145
7224
  strong && "font-semibold",
7146
7225
  del && "line-through",
7147
7226
  underline && "underline",
@@ -7291,9 +7370,9 @@ function Toggle2({
7291
7370
  // src/ui/toggle-group.tsx
7292
7371
  var import_toggle3 = require("@base-ui/react/toggle");
7293
7372
  var import_toggle_group = require("@base-ui/react/toggle-group");
7294
- var React5 = __toESM(require("react"), 1);
7373
+ var React6 = __toESM(require("react"), 1);
7295
7374
  var import_jsx_runtime124 = require("react/jsx-runtime");
7296
- var ToggleGroupContext = React5.createContext({
7375
+ var ToggleGroupContext = React6.createContext({
7297
7376
  size: "default",
7298
7377
  variant: "default"
7299
7378
  });
@@ -7326,7 +7405,7 @@ function ToggleGroupItem({
7326
7405
  size,
7327
7406
  ...props
7328
7407
  }) {
7329
- const context = React5.useContext(ToggleGroupContext);
7408
+ const context = React6.useContext(ToggleGroupContext);
7330
7409
  return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
7331
7410
  import_toggle3.Toggle,
7332
7411
  {
@@ -7393,7 +7472,7 @@ function ToggleGroup2({
7393
7472
  // src/components/components/Tooltip/index.tsx
7394
7473
  var import_jsx_runtime126 = require("react/jsx-runtime");
7395
7474
  function Tooltip3({ content, children, className, style }) {
7396
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(Tooltip2, { children: [
7475
+ return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(Tooltip, { children: [
7397
7476
  /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(TooltipTrigger, { render: triggerWrapper("tooltip-trigger-wrap"), children }),
7398
7477
  /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(TooltipContent, { className, style, children: content })
7399
7478
  ] });
@@ -7599,7 +7678,7 @@ function collectDefaultOpenKeys(registry, activeMenuId) {
7599
7678
  // src/layout/admin/AdminLayout.tsx
7600
7679
  var import_permission = require("@pactor-app/permission");
7601
7680
  var import_router = require("@pactor-app/router");
7602
- var import_runtime22 = require("@pactor-app/runtime");
7681
+ var import_runtime23 = require("@pactor-app/runtime");
7603
7682
  var import_react30 = require("react");
7604
7683
 
7605
7684
  // src/layout/admin/use-media-query.ts
@@ -7846,7 +7925,7 @@ function AdminLayout({
7846
7925
  headerExtra,
7847
7926
  children
7848
7927
  }) {
7849
- const { t } = (0, import_runtime22.useI18n)();
7928
+ const { t } = (0, import_runtime23.useI18n)();
7850
7929
  const mode = config.mode ?? "top-side";
7851
7930
  const showHeader = config.header ?? true;
7852
7931
  const showSidebar = (config.sidebar ?? true) && mode !== "top-bottom";
@@ -8489,7 +8568,7 @@ var OverlayManager = class {
8489
8568
  };
8490
8569
 
8491
8570
  // src/interaction/actions.ts
8492
- var import_runtime23 = require("@pactor-app/runtime");
8571
+ var import_runtime24 = require("@pactor-app/runtime");
8493
8572
  function createUiBridge() {
8494
8573
  return {};
8495
8574
  }
@@ -8505,7 +8584,7 @@ function registerInteractionActions(actions, manager, ui) {
8505
8584
  return failure("[pactor-interaction] overlay.open \u7F3A\u5C11 overlay \u914D\u7F6E\u53C2\u6570");
8506
8585
  }
8507
8586
  const { content, ...rest } = overlay;
8508
- const resolved = (0, import_runtime23.resolveDeep)(rest, ctx.scope);
8587
+ const resolved = (0, import_runtime24.resolveDeep)(rest, ctx.scope);
8509
8588
  const config = { ...resolved, content };
8510
8589
  const data = await manager.open(config, {
8511
8590
  parentScope: { ...ctx.scope }
@@ -8568,7 +8647,7 @@ function isRecord(value) {
8568
8647
  }
8569
8648
 
8570
8649
  // src/interaction/provider.tsx
8571
- var import_runtime24 = require("@pactor-app/runtime");
8650
+ var import_runtime25 = require("@pactor-app/runtime");
8572
8651
  var import_react32 = require("react");
8573
8652
  var import_react_dom = require("react-dom");
8574
8653
  var import_jsx_runtime134 = require("react/jsx-runtime");
@@ -8586,7 +8665,7 @@ function InteractionProvider({
8586
8665
  const [confirmState, setConfirmState] = (0, import_react32.useState)(null);
8587
8666
  const [confirmOpen, setConfirmOpen] = (0, import_react32.useState)(false);
8588
8667
  const [toasts, setToasts] = (0, import_react32.useState)([]);
8589
- const { t } = (0, import_runtime24.useI18n)();
8668
+ const { t } = (0, import_runtime25.useI18n)();
8590
8669
  const { modal, message } = (0, import_react32.useMemo)(() => {
8591
8670
  const pushToast = (type, content) => {
8592
8671
  const id = Date.now() + Math.random();
@@ -8691,7 +8770,7 @@ function InteractionProvider({
8691
8770
 
8692
8771
  // src/interaction/host.tsx
8693
8772
  var import_lucide_react27 = require("lucide-react");
8694
- var import_runtime25 = require("@pactor-app/runtime");
8773
+ var import_runtime26 = require("@pactor-app/runtime");
8695
8774
  var import_react33 = require("react");
8696
8775
  var import_jsx_runtime135 = require("react/jsx-runtime");
8697
8776
  function toCssWidth(width) {
@@ -8701,7 +8780,7 @@ function toCssWidth(width) {
8701
8780
  return typeof width === "number" ? `${width}px` : width;
8702
8781
  }
8703
8782
  function OverlayHost({ manager, resolvePage }) {
8704
- const renderer = (0, import_runtime25.useRenderer)();
8783
+ const renderer = (0, import_runtime26.useRenderer)();
8705
8784
  const stack = (0, import_react33.useSyncExternalStore)(
8706
8785
  (onChange) => manager.subscribe(onChange),
8707
8786
  () => manager.stack()
@@ -8734,7 +8813,7 @@ function OverlayEntryView({
8734
8813
  renderer,
8735
8814
  resolvePage
8736
8815
  }) {
8737
- const { t } = (0, import_runtime25.useI18n)();
8816
+ const { t } = (0, import_runtime26.useI18n)();
8738
8817
  const handleCancel = () => manager.close(entry.id);
8739
8818
  let body = null;
8740
8819
  if (entry.content) {
@@ -8802,7 +8881,7 @@ function ShadcnDrawerView({
8802
8881
  onCancel,
8803
8882
  children
8804
8883
  }) {
8805
- const { t } = (0, import_runtime25.useI18n)();
8884
+ const { t } = (0, import_runtime26.useI18n)();
8806
8885
  const panelStyle = entry.width === void 0 ? void 0 : { width: toCssWidth(entry.width) };
8807
8886
  return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
8808
8887
  Drawer,
@@ -8873,7 +8952,7 @@ function PageOverlayBody({
8873
8952
  return;
8874
8953
  }
8875
8954
  const host = renderer.context;
8876
- created = (0, import_runtime25.createPageRuntime)(pageDsl, {
8955
+ created = (0, import_runtime26.createPageRuntime)(pageDsl, {
8877
8956
  app: host.app,
8878
8957
  user: host.user,
8879
8958
  components: host.components,
@@ -8902,7 +8981,7 @@ function PageOverlayBody({
8902
8981
  if (!child) {
8903
8982
  return null;
8904
8983
  }
8905
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_runtime25.PageRuntimeView, { runtime: child });
8984
+ return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_runtime26.PageRuntimeView, { runtime: child });
8906
8985
  }
8907
8986
  // Annotate the CommonJS export names for ESM import in node:
8908
8987
  0 && (module.exports = {