@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/{chunk-PECP7DJB.js → chunk-2B5YV2HR.js} +1 -1
- package/dist/{chunk-M4PHRT2N.js → chunk-3KCE7ROX.js} +101 -38
- package/dist/{chunk-VM4FESQB.js → chunk-AUSWAD26.js} +79 -79
- package/dist/{chunk-TAJXMOEX.js → chunk-CWUY7LXF.js} +2 -2
- package/dist/{chunk-VT5XP4U4.js → chunk-XEK5NQJA.js} +35 -19
- package/dist/components/index.cjs +595 -516
- package/dist/components/index.d.cts +32 -11
- package/dist/components/index.d.ts +32 -11
- package/dist/components/index.js +4 -4
- package/dist/index.cjs +610 -531
- package/dist/index.js +5 -5
- package/dist/layout/index.js +3 -3
- package/dist/ui/index.cjs +49 -33
- package/dist/ui/index.d.cts +7 -1
- package/dist/ui/index.d.ts +7 -1
- package/dist/ui/index.js +2 -2
- package/package.json +5 -5
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({
|
|
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:
|
|
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)(
|
|
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
|
-
|
|
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,
|
|
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
|
|
1123
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1014
1124
|
function ButtonGroup({ className, ...props }) {
|
|
1015
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
1140
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1031
1141
|
function ButtonGroup2({ className, style, children }) {
|
|
1032
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
1371
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1262
1372
|
function Card2({ title, bordered = true, rounded, className, style, children }) {
|
|
1263
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
1271
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
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
|
|
1285
|
-
var
|
|
1286
|
-
var CarouselContext =
|
|
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 =
|
|
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] =
|
|
1308
|
-
const [canScrollNext, setCanScrollNext] =
|
|
1309
|
-
const onSelect =
|
|
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 =
|
|
1315
|
-
const scrollNext =
|
|
1316
|
-
const handleKeyDown =
|
|
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
|
-
|
|
1438
|
+
React3.useEffect(() => {
|
|
1329
1439
|
if (api && setApi) setApi(api);
|
|
1330
1440
|
}, [api, setApi]);
|
|
1331
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
1422
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
1450
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
1499
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
1621
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1512
1622
|
function Checkbox({ className, ...props }) {
|
|
1513
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
1717
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1608
1718
|
function Collapsible({
|
|
1609
1719
|
...props
|
|
1610
1720
|
}) {
|
|
1611
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
1675
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
1799
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1690
1800
|
function Popover({
|
|
1691
1801
|
...props
|
|
1692
1802
|
}) {
|
|
1693
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
1756
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
1808
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
1927
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
1939
|
-
searchable ? /* @__PURE__ */ (0,
|
|
1940
|
-
/* @__PURE__ */ (0,
|
|
1941
|
-
/* @__PURE__ */ (0,
|
|
1942
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
1985
|
-
var
|
|
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,
|
|
1995
|
-
return /* @__PURE__ */ (0,
|
|
1996
|
-
/* @__PURE__ */ (0,
|
|
1997
|
-
/* @__PURE__ */ (0,
|
|
1998
|
-
/* @__PURE__ */ (0,
|
|
1999
|
-
groups.map((group, index) => /* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
2072
|
-
/* @__PURE__ */ (0,
|
|
2073
|
-
/* @__PURE__ */ (0,
|
|
2074
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
2087
|
-
/* @__PURE__ */ (0,
|
|
2088
|
-
/* @__PURE__ */ (0,
|
|
2089
|
-
/* @__PURE__ */ (0,
|
|
2090
|
-
/* @__PURE__ */ (0,
|
|
2091
|
-
series.length > 1 ? /* @__PURE__ */ (0,
|
|
2092
|
-
series.map((key, index) => /* @__PURE__ */ (0,
|
|
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,
|
|
2104
|
-
/* @__PURE__ */ (0,
|
|
2105
|
-
/* @__PURE__ */ (0,
|
|
2106
|
-
/* @__PURE__ */ (0,
|
|
2107
|
-
/* @__PURE__ */ (0,
|
|
2108
|
-
series.length > 1 ? /* @__PURE__ */ (0,
|
|
2109
|
-
series.map((key, index) => /* @__PURE__ */ (0,
|
|
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,
|
|
2123
|
-
/* @__PURE__ */ (0,
|
|
2124
|
-
/* @__PURE__ */ (0,
|
|
2125
|
-
/* @__PURE__ */ (0,
|
|
2126
|
-
/* @__PURE__ */ (0,
|
|
2127
|
-
series.length > 1 ? /* @__PURE__ */ (0,
|
|
2128
|
-
series.map((key, index) => /* @__PURE__ */ (0,
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
2225
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
2351
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "flex-1" }),
|
|
2242
2352
|
toolbarEnd ? renderChildren([toolbarEnd]) : null,
|
|
2243
|
-
hideSend ? null : /* @__PURE__ */ (0,
|
|
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,
|
|
2362
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react11.ArrowUp, {})
|
|
2253
2363
|
}
|
|
2254
2364
|
)
|
|
2255
2365
|
] }) : null,
|
|
2256
|
-
footer ? /* @__PURE__ */ (0,
|
|
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
|
|
2373
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2264
2374
|
function Content({ className, style, children }) {
|
|
2265
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
2388
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2279
2389
|
function ContextMenu({
|
|
2280
2390
|
...props
|
|
2281
2391
|
}) {
|
|
2282
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
2334
|
-
/* @__PURE__ */ (0,
|
|
2335
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
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
|
|
2467
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2358
2468
|
function Input({ className, type, ...props }) {
|
|
2359
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
2484
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2375
2485
|
function Table2({ className, ...props }) {
|
|
2376
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
2481
|
-
const { t } = (0,
|
|
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,
|
|
2523
|
-
/* @__PURE__ */ (0,
|
|
2524
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
2527
|
-
column.sortable ? /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
2548
|
-
column.filterable ? /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
2583
|
-
(page) => /* @__PURE__ */ (0,
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
2778
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
2819
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
2834
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
2839
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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
|
|
3005
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2896
3006
|
function Dialog({
|
|
2897
3007
|
...props
|
|
2898
3008
|
}) {
|
|
2899
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
2939
|
-
/* @__PURE__ */ (0,
|
|
2940
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
2964
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
3061
|
-
title || description ? /* @__PURE__ */ (0,
|
|
3062
|
-
title ? /* @__PURE__ */ (0,
|
|
3063
|
-
description ? /* @__PURE__ */ (0,
|
|
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
|
|
3184
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
3075
3185
|
function Drawer({
|
|
3076
3186
|
...props
|
|
3077
3187
|
}) {
|
|
3078
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
3109
|
-
/* @__PURE__ */ (0,
|
|
3110
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
3177
|
-
title ? /* @__PURE__ */ (0,
|
|
3178
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
3297
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
3188
3298
|
function DropdownMenu({
|
|
3189
3299
|
...props
|
|
3190
3300
|
}) {
|
|
3191
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
3298
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
|
3433
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
3324
3434
|
function Empty({ className, ...props }) {
|
|
3325
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
3492
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
3383
3493
|
function Empty2({ title, description, children, className, style }) {
|
|
3384
|
-
return /* @__PURE__ */ (0,
|
|
3385
|
-
/* @__PURE__ */ (0,
|
|
3386
|
-
title ? /* @__PURE__ */ (0,
|
|
3387
|
-
description ? /* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
3505
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
3396
3506
|
function Field({ className, ...props }) {
|
|
3397
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
3439
|
-
function Field2({ label, description, error, children, className, style }) {
|
|
3440
|
-
return /* @__PURE__ */ (0,
|
|
3441
|
-
label ? /* @__PURE__ */ (0,
|
|
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,
|
|
3444
|
-
error ? /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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
|
|
3615
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3500
3616
|
function Footer({ className, style, children }) {
|
|
3501
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
3632
|
+
var import_runtime10 = require("@pactor-app/runtime");
|
|
3517
3633
|
var import_react13 = require("react");
|
|
3518
|
-
var
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
3749
|
+
var import_runtime11 = require("@pactor-app/runtime");
|
|
3634
3750
|
var import_lucide_react16 = require("lucide-react");
|
|
3635
|
-
var
|
|
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,
|
|
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,
|
|
3669
|
-
logo !== void 0 && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
3684
|
-
showLeft && /* @__PURE__ */ (0,
|
|
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,
|
|
3803
|
+
hasMenu && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderMenuArea, { items: menu, onSelect: onMenuSelect })
|
|
3688
3804
|
] }),
|
|
3689
|
-
/* @__PURE__ */ (0,
|
|
3690
|
-
showRight && /* @__PURE__ */ (0,
|
|
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,
|
|
3694
|
-
hasUser && /* @__PURE__ */ (0,
|
|
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,
|
|
3703
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
3733
|
-
(item) => item.children !== void 0 && item.children.length > 0 ? /* @__PURE__ */ (0,
|
|
3734
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
3857
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3742
3858
|
item.label,
|
|
3743
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
3748
|
-
] }, item.key) : /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
3771
|
-
/* @__PURE__ */ (0,
|
|
3772
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
3779
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
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,
|
|
3788
|
-
/* @__PURE__ */ (0,
|
|
3789
|
-
user.avatar !== void 0 && /* @__PURE__ */ (0,
|
|
3790
|
-
/* @__PURE__ */ (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,
|
|
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,
|
|
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,
|
|
3798
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
3807
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
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,
|
|
3932
|
+
const { locale } = (0, import_runtime11.useI18n)();
|
|
3817
3933
|
const current = locales.find((option) => option.value === locale);
|
|
3818
|
-
return /* @__PURE__ */ (0,
|
|
3819
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
|
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
|
|
3962
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
3847
3963
|
function HoverCard({
|
|
3848
3964
|
...props
|
|
3849
3965
|
}) {
|
|
3850
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
3893
|
-
return /* @__PURE__ */ (0,
|
|
3894
|
-
/* @__PURE__ */ (0,
|
|
3895
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
4016
|
+
var import_runtime13 = require("@pactor-app/runtime");
|
|
3901
4017
|
var import_react15 = require("react");
|
|
3902
|
-
var
|
|
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,
|
|
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,
|
|
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:
|
|
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,
|
|
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,
|
|
4085
|
+
const control = allowClear === true ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
|
|
3966
4086
|
"span",
|
|
3967
4087
|
{
|
|
3968
|
-
className: cn(
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
4127
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
4004
4128
|
function InputGroup({ className, ...props }) {
|
|
4005
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
4148
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
4025
4149
|
function InputGroup2({ className, style, children }) {
|
|
4026
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
4036
|
-
var
|
|
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,
|
|
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,
|
|
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 =
|
|
4194
|
+
const inputOTPContext = React4.useContext(import_input_otp.OTPInputContext);
|
|
4071
4195
|
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
4072
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
4283
|
+
var import_runtime14 = require("@pactor-app/runtime");
|
|
4160
4284
|
|
|
4161
4285
|
// src/ui/item.tsx
|
|
4162
|
-
var
|
|
4286
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
4163
4287
|
function Item({ className, ...props }) {
|
|
4164
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
4364
|
+
const { renderChildren } = (0, import_runtime14.useRenderer)();
|
|
4241
4365
|
const mediaNodes = media === void 0 ? [] : Array.isArray(media) ? media : [media];
|
|
4242
|
-
return /* @__PURE__ */ (0,
|
|
4243
|
-
mediaNodes.length > 0 ? /* @__PURE__ */ (0,
|
|
4244
|
-
/* @__PURE__ */ (0,
|
|
4245
|
-
title ? /* @__PURE__ */ (0,
|
|
4246
|
-
description ? /* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
4377
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
4254
4378
|
function Kbd({ className, ...props }) {
|
|
4255
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
4393
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
4270
4394
|
function Kbd2({ text, className, style }) {
|
|
4271
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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
|
|
4418
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
4295
4419
|
function Label2({ text, htmlFor, className, style }) {
|
|
4296
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
4302
|
-
var
|
|
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,
|
|
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,
|
|
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
|
|
4457
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
4334
4458
|
function Link2({ href, text, target, className, style, children }) {
|
|
4335
|
-
|
|
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)(
|
|
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
|
|
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
|
|
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 =
|
|
4687
|
+
var SidebarContext = React5.createContext(null);
|
|
4622
4688
|
function useSidebar() {
|
|
4623
|
-
const context =
|
|
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] =
|
|
4640
|
-
const [_open, _setOpen] =
|
|
4705
|
+
const [openMobile, setOpenMobile] = React5.useState(false);
|
|
4706
|
+
const [_open, _setOpen] = React5.useState(defaultOpen);
|
|
4641
4707
|
const open = openProp ?? _open;
|
|
4642
|
-
const setOpen =
|
|
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 =
|
|
4720
|
+
const toggleSidebar = React5.useCallback(() => {
|
|
4655
4721
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
4656
4722
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
4657
|
-
|
|
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 =
|
|
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 (!
|
|
4908
|
+
if (!React5.isValidElement(children)) {
|
|
4843
4909
|
return null;
|
|
4844
4910
|
}
|
|
4845
|
-
return
|
|
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)(
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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(
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
6949
|
-
const { t } = (0,
|
|
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
|
|
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,
|
|
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
|
|
7373
|
+
var React6 = __toESM(require("react"), 1);
|
|
7295
7374
|
var import_jsx_runtime124 = require("react/jsx-runtime");
|
|
7296
|
-
var ToggleGroupContext =
|
|
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 =
|
|
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)(
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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)(
|
|
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 = {
|