@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
|
@@ -861,6 +861,7 @@ var import_react2 = require("react");
|
|
|
861
861
|
|
|
862
862
|
// src/ui/breadcrumb.tsx
|
|
863
863
|
var import_lucide_react3 = require("lucide-react");
|
|
864
|
+
var React2 = __toESM(require("react"), 1);
|
|
864
865
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
865
866
|
function Breadcrumb({ ...props }) {
|
|
866
867
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
|
|
@@ -888,12 +889,27 @@ function BreadcrumbItem({ className, ...props }) {
|
|
|
888
889
|
}
|
|
889
890
|
);
|
|
890
891
|
}
|
|
891
|
-
function BreadcrumbLink({
|
|
892
|
+
function BreadcrumbLink({
|
|
893
|
+
className,
|
|
894
|
+
render,
|
|
895
|
+
...props
|
|
896
|
+
}) {
|
|
897
|
+
const linkClassName = cn("transition-colors hover:text-foreground", className);
|
|
898
|
+
if (render) {
|
|
899
|
+
return React2.cloneElement(render, {
|
|
900
|
+
"data-slot": "breadcrumb-link",
|
|
901
|
+
...props,
|
|
902
|
+
className: cn(
|
|
903
|
+
linkClassName,
|
|
904
|
+
render.props.className
|
|
905
|
+
)
|
|
906
|
+
});
|
|
907
|
+
}
|
|
892
908
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
893
909
|
"a",
|
|
894
910
|
{
|
|
895
911
|
"data-slot": "breadcrumb-link",
|
|
896
|
-
className:
|
|
912
|
+
className: linkClassName,
|
|
897
913
|
...props
|
|
898
914
|
}
|
|
899
915
|
);
|
|
@@ -929,21 +945,106 @@ function BreadcrumbSeparator({
|
|
|
929
945
|
);
|
|
930
946
|
}
|
|
931
947
|
|
|
948
|
+
// src/components/spa-link.ts
|
|
949
|
+
var import_runtime3 = require("@pactor-app/runtime");
|
|
950
|
+
function shouldInterceptLinkClick(event, href, target) {
|
|
951
|
+
return typeof href === "string" && href.startsWith("/") && (target === void 0 || target === "_self") && event.button === 0 && !event.metaKey && !event.ctrlKey && !event.shiftKey && !event.altKey;
|
|
952
|
+
}
|
|
953
|
+
function useSpaLinkClick() {
|
|
954
|
+
const { context } = (0, import_runtime3.useRenderer)();
|
|
955
|
+
return (event, href, target) => {
|
|
956
|
+
if (shouldInterceptLinkClick(event, href, target)) {
|
|
957
|
+
event.preventDefault();
|
|
958
|
+
context.route.navigate(href);
|
|
959
|
+
}
|
|
960
|
+
};
|
|
961
|
+
}
|
|
962
|
+
|
|
932
963
|
// src/components/components/Breadcrumb/index.tsx
|
|
933
964
|
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
934
965
|
function Breadcrumb2({ items = [], className, style }) {
|
|
966
|
+
const handleSpaClick = useSpaLinkClick();
|
|
935
967
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Breadcrumb, { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbList, { children: items.map((item, index) => {
|
|
936
968
|
const isLast = index === items.length - 1;
|
|
937
969
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react2.Fragment, { children: [
|
|
938
970
|
index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbSeparator, {}) : null,
|
|
939
|
-
/* @__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)(
|
|
971
|
+
/* @__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)(
|
|
972
|
+
BreadcrumbLink,
|
|
973
|
+
{
|
|
974
|
+
href: item.href,
|
|
975
|
+
onClick: (event) => handleSpaClick(event, item.href),
|
|
976
|
+
children: item.label
|
|
977
|
+
}
|
|
978
|
+
) })
|
|
940
979
|
] }, `${item.label}-${index}`);
|
|
941
980
|
}) }) });
|
|
942
981
|
}
|
|
943
982
|
|
|
944
983
|
// src/components/components/Button/index.tsx
|
|
945
984
|
var import_lucide_react4 = require("lucide-react");
|
|
985
|
+
|
|
986
|
+
// src/ui/tooltip.tsx
|
|
987
|
+
var import_tooltip = require("@base-ui/react/tooltip");
|
|
946
988
|
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
989
|
+
function TooltipProvider({
|
|
990
|
+
delay = 0,
|
|
991
|
+
...props
|
|
992
|
+
}) {
|
|
993
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
994
|
+
import_tooltip.Tooltip.Provider,
|
|
995
|
+
{
|
|
996
|
+
"data-slot": "tooltip-provider",
|
|
997
|
+
delay,
|
|
998
|
+
...props
|
|
999
|
+
}
|
|
1000
|
+
);
|
|
1001
|
+
}
|
|
1002
|
+
function Tooltip({
|
|
1003
|
+
...props
|
|
1004
|
+
}) {
|
|
1005
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_tooltip.Tooltip.Root, { "data-slot": "tooltip", ...props }) });
|
|
1006
|
+
}
|
|
1007
|
+
function TooltipTrigger({
|
|
1008
|
+
...props
|
|
1009
|
+
}) {
|
|
1010
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_tooltip.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
1011
|
+
}
|
|
1012
|
+
function TooltipContent({
|
|
1013
|
+
className,
|
|
1014
|
+
side = "top",
|
|
1015
|
+
sideOffset = 4,
|
|
1016
|
+
align = "center",
|
|
1017
|
+
children,
|
|
1018
|
+
...props
|
|
1019
|
+
}) {
|
|
1020
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1021
|
+
import_tooltip.Tooltip.Positioner,
|
|
1022
|
+
{
|
|
1023
|
+
align,
|
|
1024
|
+
side,
|
|
1025
|
+
sideOffset,
|
|
1026
|
+
className: "isolate z-50",
|
|
1027
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
1028
|
+
import_tooltip.Tooltip.Popup,
|
|
1029
|
+
{
|
|
1030
|
+
"data-slot": "tooltip-content",
|
|
1031
|
+
className: cn(
|
|
1032
|
+
"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",
|
|
1033
|
+
className
|
|
1034
|
+
),
|
|
1035
|
+
...props,
|
|
1036
|
+
children: [
|
|
1037
|
+
children,
|
|
1038
|
+
/* @__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" })
|
|
1039
|
+
]
|
|
1040
|
+
}
|
|
1041
|
+
)
|
|
1042
|
+
}
|
|
1043
|
+
) });
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
// src/components/components/Button/index.tsx
|
|
1047
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
947
1048
|
var variantMap2 = {
|
|
948
1049
|
default: "outline",
|
|
949
1050
|
primary: "default",
|
|
@@ -958,6 +1059,8 @@ var sizeMap = {
|
|
|
958
1059
|
};
|
|
959
1060
|
function Button2({
|
|
960
1061
|
text,
|
|
1062
|
+
icon,
|
|
1063
|
+
tooltip,
|
|
961
1064
|
variant = "default",
|
|
962
1065
|
danger,
|
|
963
1066
|
size = "middle",
|
|
@@ -970,7 +1073,7 @@ function Button2({
|
|
|
970
1073
|
children
|
|
971
1074
|
}) {
|
|
972
1075
|
const textual = variant === "link" || variant === "text";
|
|
973
|
-
|
|
1076
|
+
const button = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
974
1077
|
Button,
|
|
975
1078
|
{
|
|
976
1079
|
type: submit ? "submit" : "button",
|
|
@@ -986,17 +1089,24 @@ function Button2({
|
|
|
986
1089
|
className
|
|
987
1090
|
),
|
|
988
1091
|
children: [
|
|
989
|
-
loading ? /* @__PURE__ */ (0,
|
|
1092
|
+
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,
|
|
990
1093
|
text ?? children
|
|
991
1094
|
]
|
|
992
1095
|
}
|
|
993
1096
|
);
|
|
1097
|
+
if (tooltip) {
|
|
1098
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Tooltip, { children: [
|
|
1099
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(TooltipTrigger, { render: button }),
|
|
1100
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(TooltipContent, { children: tooltip })
|
|
1101
|
+
] });
|
|
1102
|
+
}
|
|
1103
|
+
return button;
|
|
994
1104
|
}
|
|
995
1105
|
|
|
996
1106
|
// src/ui/button-group.tsx
|
|
997
|
-
var
|
|
1107
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
998
1108
|
function ButtonGroup({ className, ...props }) {
|
|
999
|
-
return /* @__PURE__ */ (0,
|
|
1109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1000
1110
|
"div",
|
|
1001
1111
|
{
|
|
1002
1112
|
role: "group",
|
|
@@ -1011,9 +1121,9 @@ function ButtonGroup({ className, ...props }) {
|
|
|
1011
1121
|
}
|
|
1012
1122
|
|
|
1013
1123
|
// src/components/components/ButtonGroup/index.tsx
|
|
1014
|
-
var
|
|
1124
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1015
1125
|
function ButtonGroup2({ className, style, children }) {
|
|
1016
|
-
return /* @__PURE__ */ (0,
|
|
1126
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ButtonGroup, { className, style, children });
|
|
1017
1127
|
}
|
|
1018
1128
|
|
|
1019
1129
|
// src/components/components/Calendar/index.tsx
|
|
@@ -1023,7 +1133,7 @@ var import_react4 = require("react");
|
|
|
1023
1133
|
// src/ui/calendar.tsx
|
|
1024
1134
|
var import_lucide_react5 = require("lucide-react");
|
|
1025
1135
|
var import_react_day_picker = require("react-day-picker");
|
|
1026
|
-
var
|
|
1136
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1027
1137
|
function Calendar2({
|
|
1028
1138
|
className,
|
|
1029
1139
|
classNames,
|
|
@@ -1031,7 +1141,7 @@ function Calendar2({
|
|
|
1031
1141
|
...props
|
|
1032
1142
|
}) {
|
|
1033
1143
|
const defaultClassNames = (0, import_react_day_picker.getDefaultClassNames)();
|
|
1034
|
-
return /* @__PURE__ */ (0,
|
|
1144
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1035
1145
|
import_react_day_picker.DayPicker,
|
|
1036
1146
|
{
|
|
1037
1147
|
showOutsideDays,
|
|
@@ -1088,7 +1198,7 @@ function Calendar2({
|
|
|
1088
1198
|
...classNames
|
|
1089
1199
|
},
|
|
1090
1200
|
components: {
|
|
1091
|
-
Chevron: ({ orientation }) => orientation === "left" ? /* @__PURE__ */ (0,
|
|
1201
|
+
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" })
|
|
1092
1202
|
},
|
|
1093
1203
|
...props
|
|
1094
1204
|
}
|
|
@@ -1114,7 +1224,7 @@ function formItemClass(layout) {
|
|
|
1114
1224
|
}
|
|
1115
1225
|
|
|
1116
1226
|
// src/components/components/Calendar/index.tsx
|
|
1117
|
-
var
|
|
1227
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1118
1228
|
function parseValue(value) {
|
|
1119
1229
|
if (typeof value !== "string" || value === "") return void 0;
|
|
1120
1230
|
const date = (0, import_date_fns.parseISO)(value);
|
|
@@ -1148,7 +1258,7 @@ function Calendar3({
|
|
|
1148
1258
|
}
|
|
1149
1259
|
onChange?.(next);
|
|
1150
1260
|
};
|
|
1151
|
-
const calendar = /* @__PURE__ */ (0,
|
|
1261
|
+
const calendar = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1152
1262
|
Calendar2,
|
|
1153
1263
|
{
|
|
1154
1264
|
mode,
|
|
@@ -1161,16 +1271,16 @@ function Calendar3({
|
|
|
1161
1271
|
);
|
|
1162
1272
|
if (inForm && form && name) {
|
|
1163
1273
|
const error = form.errors[name];
|
|
1164
|
-
return /* @__PURE__ */ (0,
|
|
1274
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
1165
1275
|
"div",
|
|
1166
1276
|
{
|
|
1167
1277
|
"data-slot": "form-item",
|
|
1168
1278
|
className: cn(formItemClass(form.layout), className),
|
|
1169
1279
|
style,
|
|
1170
1280
|
children: [
|
|
1171
|
-
label ? /* @__PURE__ */ (0,
|
|
1281
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("label", { className: "shrink-0 text-sm leading-none font-medium whitespace-nowrap", children: label }) : null,
|
|
1172
1282
|
calendar,
|
|
1173
|
-
error ? /* @__PURE__ */ (0,
|
|
1283
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
1174
1284
|
]
|
|
1175
1285
|
}
|
|
1176
1286
|
);
|
|
@@ -1179,7 +1289,7 @@ function Calendar3({
|
|
|
1179
1289
|
}
|
|
1180
1290
|
|
|
1181
1291
|
// src/ui/card.tsx
|
|
1182
|
-
var
|
|
1292
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1183
1293
|
var cardRoundedClasses = {
|
|
1184
1294
|
none: "rounded-none",
|
|
1185
1295
|
sm: "rounded-sm",
|
|
@@ -1194,7 +1304,7 @@ function Card({
|
|
|
1194
1304
|
rounded = "lg",
|
|
1195
1305
|
...props
|
|
1196
1306
|
}) {
|
|
1197
|
-
return /* @__PURE__ */ (0,
|
|
1307
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1198
1308
|
"div",
|
|
1199
1309
|
{
|
|
1200
1310
|
"data-slot": "card",
|
|
@@ -1208,7 +1318,7 @@ function Card({
|
|
|
1208
1318
|
);
|
|
1209
1319
|
}
|
|
1210
1320
|
function CardHeader({ className, ...props }) {
|
|
1211
|
-
return /* @__PURE__ */ (0,
|
|
1321
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1212
1322
|
"div",
|
|
1213
1323
|
{
|
|
1214
1324
|
"data-slot": "card-header",
|
|
@@ -1221,7 +1331,7 @@ function CardHeader({ className, ...props }) {
|
|
|
1221
1331
|
);
|
|
1222
1332
|
}
|
|
1223
1333
|
function CardTitle({ className, ...props }) {
|
|
1224
|
-
return /* @__PURE__ */ (0,
|
|
1334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1225
1335
|
"div",
|
|
1226
1336
|
{
|
|
1227
1337
|
"data-slot": "card-title",
|
|
@@ -1231,7 +1341,7 @@ function CardTitle({ className, ...props }) {
|
|
|
1231
1341
|
);
|
|
1232
1342
|
}
|
|
1233
1343
|
function CardContent({ className, ...props }) {
|
|
1234
|
-
return /* @__PURE__ */ (0,
|
|
1344
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1235
1345
|
"div",
|
|
1236
1346
|
{
|
|
1237
1347
|
"data-slot": "card-content",
|
|
@@ -1242,34 +1352,34 @@ function CardContent({ className, ...props }) {
|
|
|
1242
1352
|
}
|
|
1243
1353
|
|
|
1244
1354
|
// src/components/components/Card/index.tsx
|
|
1245
|
-
var
|
|
1355
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1246
1356
|
function Card2({ title, bordered = true, rounded, className, style, children }) {
|
|
1247
|
-
return /* @__PURE__ */ (0,
|
|
1357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
1248
1358
|
Card,
|
|
1249
1359
|
{
|
|
1250
1360
|
rounded,
|
|
1251
1361
|
className: cn("gap-4 py-4", !bordered && "border-transparent shadow-none", className),
|
|
1252
1362
|
style,
|
|
1253
1363
|
children: [
|
|
1254
|
-
title ? /* @__PURE__ */ (0,
|
|
1255
|
-
/* @__PURE__ */ (0,
|
|
1364
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CardHeader, { className: "px-4", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CardTitle, { children: title }) }) : null,
|
|
1365
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CardContent, { className: "px-4", children })
|
|
1256
1366
|
]
|
|
1257
1367
|
}
|
|
1258
1368
|
);
|
|
1259
1369
|
}
|
|
1260
1370
|
|
|
1261
1371
|
// src/components/components/Carousel/index.tsx
|
|
1262
|
-
var
|
|
1372
|
+
var import_runtime4 = require("@pactor-app/runtime");
|
|
1263
1373
|
var import_react5 = require("react");
|
|
1264
1374
|
|
|
1265
1375
|
// src/ui/carousel.tsx
|
|
1266
1376
|
var import_embla_carousel_react = __toESM(require("embla-carousel-react"), 1);
|
|
1267
1377
|
var import_lucide_react6 = require("lucide-react");
|
|
1268
|
-
var
|
|
1269
|
-
var
|
|
1270
|
-
var CarouselContext =
|
|
1378
|
+
var React3 = __toESM(require("react"), 1);
|
|
1379
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1380
|
+
var CarouselContext = React3.createContext(null);
|
|
1271
1381
|
function useCarousel() {
|
|
1272
|
-
const context =
|
|
1382
|
+
const context = React3.useContext(CarouselContext);
|
|
1273
1383
|
if (!context) {
|
|
1274
1384
|
throw new Error("useCarousel must be used within a <Carousel />");
|
|
1275
1385
|
}
|
|
@@ -1288,16 +1398,16 @@ function Carousel({
|
|
|
1288
1398
|
{ ...opts, axis: orientation === "horizontal" ? "x" : "y" },
|
|
1289
1399
|
plugins
|
|
1290
1400
|
);
|
|
1291
|
-
const [canScrollPrev, setCanScrollPrev] =
|
|
1292
|
-
const [canScrollNext, setCanScrollNext] =
|
|
1293
|
-
const onSelect =
|
|
1401
|
+
const [canScrollPrev, setCanScrollPrev] = React3.useState(false);
|
|
1402
|
+
const [canScrollNext, setCanScrollNext] = React3.useState(false);
|
|
1403
|
+
const onSelect = React3.useCallback((carouselApi) => {
|
|
1294
1404
|
if (!carouselApi) return;
|
|
1295
1405
|
setCanScrollPrev(carouselApi.canScrollPrev());
|
|
1296
1406
|
setCanScrollNext(carouselApi.canScrollNext());
|
|
1297
1407
|
}, []);
|
|
1298
|
-
const scrollPrev =
|
|
1299
|
-
const scrollNext =
|
|
1300
|
-
const handleKeyDown =
|
|
1408
|
+
const scrollPrev = React3.useCallback(() => api?.scrollPrev(), [api]);
|
|
1409
|
+
const scrollNext = React3.useCallback(() => api?.scrollNext(), [api]);
|
|
1410
|
+
const handleKeyDown = React3.useCallback(
|
|
1301
1411
|
(event) => {
|
|
1302
1412
|
if (event.key === "ArrowLeft") {
|
|
1303
1413
|
event.preventDefault();
|
|
@@ -1309,10 +1419,10 @@ function Carousel({
|
|
|
1309
1419
|
},
|
|
1310
1420
|
[scrollPrev, scrollNext]
|
|
1311
1421
|
);
|
|
1312
|
-
|
|
1422
|
+
React3.useEffect(() => {
|
|
1313
1423
|
if (api && setApi) setApi(api);
|
|
1314
1424
|
}, [api, setApi]);
|
|
1315
|
-
|
|
1425
|
+
React3.useEffect(() => {
|
|
1316
1426
|
if (!api) return;
|
|
1317
1427
|
onSelect(api);
|
|
1318
1428
|
api.on("reInit", onSelect);
|
|
@@ -1321,7 +1431,7 @@ function Carousel({
|
|
|
1321
1431
|
api.off("select", onSelect);
|
|
1322
1432
|
};
|
|
1323
1433
|
}, [api, onSelect]);
|
|
1324
|
-
return /* @__PURE__ */ (0,
|
|
1434
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1325
1435
|
CarouselContext.Provider,
|
|
1326
1436
|
{
|
|
1327
1437
|
value: {
|
|
@@ -1334,7 +1444,7 @@ function Carousel({
|
|
|
1334
1444
|
canScrollPrev,
|
|
1335
1445
|
canScrollNext
|
|
1336
1446
|
},
|
|
1337
|
-
children: /* @__PURE__ */ (0,
|
|
1447
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1338
1448
|
"div",
|
|
1339
1449
|
{
|
|
1340
1450
|
onKeyDownCapture: handleKeyDown,
|
|
@@ -1351,7 +1461,7 @@ function Carousel({
|
|
|
1351
1461
|
}
|
|
1352
1462
|
function CarouselContent({ className, ...props }) {
|
|
1353
1463
|
const { carouselRef, orientation } = useCarousel();
|
|
1354
|
-
return /* @__PURE__ */ (0,
|
|
1464
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { ref: carouselRef, className: "overflow-hidden", "data-slot": "carousel-viewport", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1355
1465
|
"div",
|
|
1356
1466
|
{
|
|
1357
1467
|
className: cn(
|
|
@@ -1365,7 +1475,7 @@ function CarouselContent({ className, ...props }) {
|
|
|
1365
1475
|
}
|
|
1366
1476
|
function CarouselItem({ className, ...props }) {
|
|
1367
1477
|
const { orientation } = useCarousel();
|
|
1368
|
-
return /* @__PURE__ */ (0,
|
|
1478
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1369
1479
|
"div",
|
|
1370
1480
|
{
|
|
1371
1481
|
role: "group",
|
|
@@ -1387,7 +1497,7 @@ function CarouselPrevious({
|
|
|
1387
1497
|
...props
|
|
1388
1498
|
}) {
|
|
1389
1499
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
1390
|
-
return /* @__PURE__ */ (0,
|
|
1500
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
1391
1501
|
Button,
|
|
1392
1502
|
{
|
|
1393
1503
|
"data-slot": "carousel-previous",
|
|
@@ -1402,8 +1512,8 @@ function CarouselPrevious({
|
|
|
1402
1512
|
onClick: scrollPrev,
|
|
1403
1513
|
...props,
|
|
1404
1514
|
children: [
|
|
1405
|
-
/* @__PURE__ */ (0,
|
|
1406
|
-
/* @__PURE__ */ (0,
|
|
1515
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react6.ChevronLeftIcon, {}),
|
|
1516
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "sr-only", children: "Previous slide" })
|
|
1407
1517
|
]
|
|
1408
1518
|
}
|
|
1409
1519
|
);
|
|
@@ -1415,7 +1525,7 @@ function CarouselNext({
|
|
|
1415
1525
|
...props
|
|
1416
1526
|
}) {
|
|
1417
1527
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
1418
|
-
return /* @__PURE__ */ (0,
|
|
1528
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
1419
1529
|
Button,
|
|
1420
1530
|
{
|
|
1421
1531
|
"data-slot": "carousel-next",
|
|
@@ -1430,15 +1540,15 @@ function CarouselNext({
|
|
|
1430
1540
|
onClick: scrollNext,
|
|
1431
1541
|
...props,
|
|
1432
1542
|
children: [
|
|
1433
|
-
/* @__PURE__ */ (0,
|
|
1434
|
-
/* @__PURE__ */ (0,
|
|
1543
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react6.ChevronRightIcon, {}),
|
|
1544
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "sr-only", children: "Next slide" })
|
|
1435
1545
|
]
|
|
1436
1546
|
}
|
|
1437
1547
|
);
|
|
1438
1548
|
}
|
|
1439
1549
|
|
|
1440
1550
|
// src/components/components/Carousel/index.tsx
|
|
1441
|
-
var
|
|
1551
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1442
1552
|
function isDslNode(item) {
|
|
1443
1553
|
return typeof item.type === "string";
|
|
1444
1554
|
}
|
|
@@ -1449,7 +1559,7 @@ function Carousel2({
|
|
|
1449
1559
|
className,
|
|
1450
1560
|
style
|
|
1451
1561
|
}) {
|
|
1452
|
-
const { renderChildren } = (0,
|
|
1562
|
+
const { renderChildren } = (0, import_runtime4.useRenderer)();
|
|
1453
1563
|
const [api, setApi] = (0, import_react5.useState)();
|
|
1454
1564
|
(0, import_react5.useEffect)(() => {
|
|
1455
1565
|
if (!api || !autoplay) return;
|
|
@@ -1463,7 +1573,7 @@ function Carousel2({
|
|
|
1463
1573
|
}, interval);
|
|
1464
1574
|
return () => clearInterval(timer);
|
|
1465
1575
|
}, [api, autoplay, loop]);
|
|
1466
|
-
return /* @__PURE__ */ (0,
|
|
1576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1467
1577
|
Carousel,
|
|
1468
1578
|
{
|
|
1469
1579
|
opts: { loop: loop === true },
|
|
@@ -1471,7 +1581,7 @@ function Carousel2({
|
|
|
1471
1581
|
className,
|
|
1472
1582
|
style,
|
|
1473
1583
|
children: [
|
|
1474
|
-
/* @__PURE__ */ (0,
|
|
1584
|
+
/* @__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)(
|
|
1475
1585
|
"img",
|
|
1476
1586
|
{
|
|
1477
1587
|
src: item.src,
|
|
@@ -1479,8 +1589,8 @@ function Carousel2({
|
|
|
1479
1589
|
className: "w-full rounded-md object-cover"
|
|
1480
1590
|
}
|
|
1481
1591
|
) }, index)) }),
|
|
1482
|
-
/* @__PURE__ */ (0,
|
|
1483
|
-
/* @__PURE__ */ (0,
|
|
1592
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CarouselPrevious, {}),
|
|
1593
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CarouselNext, {})
|
|
1484
1594
|
]
|
|
1485
1595
|
}
|
|
1486
1596
|
);
|
|
@@ -1492,9 +1602,9 @@ var import_react6 = require("react");
|
|
|
1492
1602
|
// src/ui/checkbox.tsx
|
|
1493
1603
|
var import_checkbox = require("@base-ui/react/checkbox");
|
|
1494
1604
|
var import_lucide_react7 = require("lucide-react");
|
|
1495
|
-
var
|
|
1605
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1496
1606
|
function Checkbox({ className, ...props }) {
|
|
1497
|
-
return /* @__PURE__ */ (0,
|
|
1607
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1498
1608
|
import_checkbox.Checkbox.Root,
|
|
1499
1609
|
{
|
|
1500
1610
|
"data-slot": "checkbox",
|
|
@@ -1503,12 +1613,12 @@ function Checkbox({ className, ...props }) {
|
|
|
1503
1613
|
className
|
|
1504
1614
|
),
|
|
1505
1615
|
...props,
|
|
1506
|
-
children: /* @__PURE__ */ (0,
|
|
1616
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1507
1617
|
import_checkbox.Checkbox.Indicator,
|
|
1508
1618
|
{
|
|
1509
1619
|
"data-slot": "checkbox-indicator",
|
|
1510
1620
|
className: "flex items-center justify-center text-current",
|
|
1511
|
-
children: /* @__PURE__ */ (0,
|
|
1621
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react7.CheckIcon, { className: "size-3.5" })
|
|
1512
1622
|
}
|
|
1513
1623
|
)
|
|
1514
1624
|
}
|
|
@@ -1516,7 +1626,7 @@ function Checkbox({ className, ...props }) {
|
|
|
1516
1626
|
}
|
|
1517
1627
|
|
|
1518
1628
|
// src/components/components/Checkbox/index.tsx
|
|
1519
|
-
var
|
|
1629
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1520
1630
|
function Checkbox2({
|
|
1521
1631
|
name,
|
|
1522
1632
|
label,
|
|
@@ -1545,13 +1655,13 @@ function Checkbox2({
|
|
|
1545
1655
|
}
|
|
1546
1656
|
onChange?.(next);
|
|
1547
1657
|
};
|
|
1548
|
-
const control = /* @__PURE__ */ (0,
|
|
1658
|
+
const control = /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
1549
1659
|
"span",
|
|
1550
1660
|
{
|
|
1551
1661
|
className: cn("inline-flex items-center gap-2", !inForm && className),
|
|
1552
1662
|
style: inForm ? void 0 : style,
|
|
1553
1663
|
children: [
|
|
1554
|
-
/* @__PURE__ */ (0,
|
|
1664
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1555
1665
|
Checkbox,
|
|
1556
1666
|
{
|
|
1557
1667
|
id: controlId,
|
|
@@ -1561,12 +1671,12 @@ function Checkbox2({
|
|
|
1561
1671
|
onCheckedChange: handleChange
|
|
1562
1672
|
}
|
|
1563
1673
|
),
|
|
1564
|
-
label ? /* @__PURE__ */ (0,
|
|
1674
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { htmlFor: controlId, className: "text-sm leading-none font-medium", children: label }) : null
|
|
1565
1675
|
]
|
|
1566
1676
|
}
|
|
1567
1677
|
);
|
|
1568
1678
|
if (inForm && form && name) {
|
|
1569
|
-
return /* @__PURE__ */ (0,
|
|
1679
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
1570
1680
|
"div",
|
|
1571
1681
|
{
|
|
1572
1682
|
"data-slot": "form-item",
|
|
@@ -1574,7 +1684,7 @@ function Checkbox2({
|
|
|
1574
1684
|
style,
|
|
1575
1685
|
children: [
|
|
1576
1686
|
control,
|
|
1577
|
-
form.errors[name] ? /* @__PURE__ */ (0,
|
|
1687
|
+
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
|
|
1578
1688
|
]
|
|
1579
1689
|
}
|
|
1580
1690
|
);
|
|
@@ -1588,18 +1698,18 @@ var import_react7 = require("react");
|
|
|
1588
1698
|
// src/ui/collapsible.tsx
|
|
1589
1699
|
var import_collapsible = require("@base-ui/react/collapsible");
|
|
1590
1700
|
var import_lucide_react8 = require("lucide-react");
|
|
1591
|
-
var
|
|
1701
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1592
1702
|
function Collapsible({
|
|
1593
1703
|
...props
|
|
1594
1704
|
}) {
|
|
1595
|
-
return /* @__PURE__ */ (0,
|
|
1705
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_collapsible.Collapsible.Root, { "data-slot": "collapsible", ...props });
|
|
1596
1706
|
}
|
|
1597
1707
|
function CollapsibleTrigger({
|
|
1598
1708
|
className,
|
|
1599
1709
|
children,
|
|
1600
1710
|
...props
|
|
1601
1711
|
}) {
|
|
1602
|
-
return /* @__PURE__ */ (0,
|
|
1712
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
1603
1713
|
import_collapsible.Collapsible.Trigger,
|
|
1604
1714
|
{
|
|
1605
1715
|
"data-slot": "collapsible-trigger",
|
|
@@ -1610,7 +1720,7 @@ function CollapsibleTrigger({
|
|
|
1610
1720
|
...props,
|
|
1611
1721
|
children: [
|
|
1612
1722
|
children,
|
|
1613
|
-
/* @__PURE__ */ (0,
|
|
1723
|
+
/* @__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" })
|
|
1614
1724
|
]
|
|
1615
1725
|
}
|
|
1616
1726
|
);
|
|
@@ -1619,7 +1729,7 @@ function CollapsibleContent({
|
|
|
1619
1729
|
className,
|
|
1620
1730
|
...props
|
|
1621
1731
|
}) {
|
|
1622
|
-
return /* @__PURE__ */ (0,
|
|
1732
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
1623
1733
|
import_collapsible.Collapsible.Panel,
|
|
1624
1734
|
{
|
|
1625
1735
|
"data-slot": "collapsible-content",
|
|
@@ -1633,7 +1743,7 @@ function CollapsibleContent({
|
|
|
1633
1743
|
}
|
|
1634
1744
|
|
|
1635
1745
|
// src/components/components/Collapsible/index.tsx
|
|
1636
|
-
var
|
|
1746
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1637
1747
|
function Collapsible2({
|
|
1638
1748
|
title,
|
|
1639
1749
|
open,
|
|
@@ -1643,7 +1753,7 @@ function Collapsible2({
|
|
|
1643
1753
|
}) {
|
|
1644
1754
|
const [innerOpen, setInnerOpen] = (0, import_react7.useState)(false);
|
|
1645
1755
|
const controlled = open !== void 0;
|
|
1646
|
-
return /* @__PURE__ */ (0,
|
|
1756
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
1647
1757
|
Collapsible,
|
|
1648
1758
|
{
|
|
1649
1759
|
open: controlled ? open : innerOpen,
|
|
@@ -1655,8 +1765,8 @@ function Collapsible2({
|
|
|
1655
1765
|
className,
|
|
1656
1766
|
style,
|
|
1657
1767
|
children: [
|
|
1658
|
-
title ? /* @__PURE__ */ (0,
|
|
1659
|
-
/* @__PURE__ */ (0,
|
|
1768
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CollapsibleTrigger, { children: title }) : null,
|
|
1769
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CollapsibleContent, { children })
|
|
1660
1770
|
]
|
|
1661
1771
|
}
|
|
1662
1772
|
);
|
|
@@ -1670,16 +1780,16 @@ var import_lucide_react9 = require("lucide-react");
|
|
|
1670
1780
|
|
|
1671
1781
|
// src/ui/popover.tsx
|
|
1672
1782
|
var import_popover = require("@base-ui/react/popover");
|
|
1673
|
-
var
|
|
1783
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1674
1784
|
function Popover({
|
|
1675
1785
|
...props
|
|
1676
1786
|
}) {
|
|
1677
|
-
return /* @__PURE__ */ (0,
|
|
1787
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_popover.Popover.Root, { "data-slot": "popover", ...props });
|
|
1678
1788
|
}
|
|
1679
1789
|
function PopoverTrigger({
|
|
1680
1790
|
...props
|
|
1681
1791
|
}) {
|
|
1682
|
-
return /* @__PURE__ */ (0,
|
|
1792
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_popover.Popover.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
1683
1793
|
}
|
|
1684
1794
|
function PopoverContent({
|
|
1685
1795
|
className,
|
|
@@ -1689,7 +1799,7 @@ function PopoverContent({
|
|
|
1689
1799
|
anchor,
|
|
1690
1800
|
...props
|
|
1691
1801
|
}) {
|
|
1692
|
-
return /* @__PURE__ */ (0,
|
|
1802
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_popover.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
1693
1803
|
import_popover.Popover.Positioner,
|
|
1694
1804
|
{
|
|
1695
1805
|
align,
|
|
@@ -1697,7 +1807,7 @@ function PopoverContent({
|
|
|
1697
1807
|
sideOffset,
|
|
1698
1808
|
anchor,
|
|
1699
1809
|
className: "isolate z-50",
|
|
1700
|
-
children: /* @__PURE__ */ (0,
|
|
1810
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
1701
1811
|
import_popover.Popover.Popup,
|
|
1702
1812
|
{
|
|
1703
1813
|
"data-slot": "popover-content",
|
|
@@ -1713,20 +1823,20 @@ function PopoverContent({
|
|
|
1713
1823
|
}
|
|
1714
1824
|
|
|
1715
1825
|
// src/ui/combobox.tsx
|
|
1716
|
-
var
|
|
1826
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1717
1827
|
function Combobox({
|
|
1718
1828
|
open,
|
|
1719
1829
|
onOpenChange,
|
|
1720
1830
|
children
|
|
1721
1831
|
}) {
|
|
1722
|
-
return /* @__PURE__ */ (0,
|
|
1832
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Popover, { open, onOpenChange: (next) => onOpenChange?.(next), children });
|
|
1723
1833
|
}
|
|
1724
1834
|
function ComboboxTrigger({
|
|
1725
1835
|
className,
|
|
1726
1836
|
children,
|
|
1727
1837
|
...props
|
|
1728
1838
|
}) {
|
|
1729
|
-
return /* @__PURE__ */ (0,
|
|
1839
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
1730
1840
|
PopoverTrigger,
|
|
1731
1841
|
{
|
|
1732
1842
|
"data-slot": "combobox-trigger",
|
|
@@ -1736,8 +1846,8 @@ function ComboboxTrigger({
|
|
|
1736
1846
|
),
|
|
1737
1847
|
...props,
|
|
1738
1848
|
children: [
|
|
1739
|
-
/* @__PURE__ */ (0,
|
|
1740
|
-
/* @__PURE__ */ (0,
|
|
1849
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children }),
|
|
1850
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react9.ChevronsUpDownIcon, { className: "size-4 shrink-0 opacity-50" })
|
|
1741
1851
|
]
|
|
1742
1852
|
}
|
|
1743
1853
|
);
|
|
@@ -1747,7 +1857,7 @@ function ComboboxContent({
|
|
|
1747
1857
|
children,
|
|
1748
1858
|
...props
|
|
1749
1859
|
}) {
|
|
1750
|
-
return /* @__PURE__ */ (0,
|
|
1860
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1751
1861
|
PopoverContent,
|
|
1752
1862
|
{
|
|
1753
1863
|
"data-slot": "combobox-content",
|
|
@@ -1761,12 +1871,12 @@ function ComboboxContent({
|
|
|
1761
1871
|
// src/ui/command.tsx
|
|
1762
1872
|
var import_cmdk = require("cmdk");
|
|
1763
1873
|
var import_lucide_react10 = require("lucide-react");
|
|
1764
|
-
var
|
|
1874
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1765
1875
|
function Command({
|
|
1766
1876
|
className,
|
|
1767
1877
|
...props
|
|
1768
1878
|
}) {
|
|
1769
|
-
return /* @__PURE__ */ (0,
|
|
1879
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1770
1880
|
import_cmdk.Command,
|
|
1771
1881
|
{
|
|
1772
1882
|
"data-slot": "command",
|
|
@@ -1782,14 +1892,14 @@ function CommandInput({
|
|
|
1782
1892
|
className,
|
|
1783
1893
|
...props
|
|
1784
1894
|
}) {
|
|
1785
|
-
return /* @__PURE__ */ (0,
|
|
1895
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
1786
1896
|
"div",
|
|
1787
1897
|
{
|
|
1788
1898
|
"data-slot": "command-input-wrapper",
|
|
1789
1899
|
className: "flex items-center gap-2 border-b border-border px-3",
|
|
1790
1900
|
children: [
|
|
1791
|
-
/* @__PURE__ */ (0,
|
|
1792
|
-
/* @__PURE__ */ (0,
|
|
1901
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react10.SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
|
|
1902
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1793
1903
|
import_cmdk.Command.Input,
|
|
1794
1904
|
{
|
|
1795
1905
|
"data-slot": "command-input",
|
|
@@ -1808,7 +1918,7 @@ function CommandList({
|
|
|
1808
1918
|
className,
|
|
1809
1919
|
...props
|
|
1810
1920
|
}) {
|
|
1811
|
-
return /* @__PURE__ */ (0,
|
|
1921
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1812
1922
|
import_cmdk.Command.List,
|
|
1813
1923
|
{
|
|
1814
1924
|
"data-slot": "command-list",
|
|
@@ -1823,7 +1933,7 @@ function CommandList({
|
|
|
1823
1933
|
function CommandEmpty({
|
|
1824
1934
|
...props
|
|
1825
1935
|
}) {
|
|
1826
|
-
return /* @__PURE__ */ (0,
|
|
1936
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1827
1937
|
import_cmdk.Command.Empty,
|
|
1828
1938
|
{
|
|
1829
1939
|
"data-slot": "command-empty",
|
|
@@ -1836,7 +1946,7 @@ function CommandGroup({
|
|
|
1836
1946
|
className,
|
|
1837
1947
|
...props
|
|
1838
1948
|
}) {
|
|
1839
|
-
return /* @__PURE__ */ (0,
|
|
1949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1840
1950
|
import_cmdk.Command.Group,
|
|
1841
1951
|
{
|
|
1842
1952
|
"data-slot": "command-group",
|
|
@@ -1852,7 +1962,7 @@ function CommandItem({
|
|
|
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.Item,
|
|
1857
1967
|
{
|
|
1858
1968
|
"data-slot": "command-item",
|
|
@@ -1866,7 +1976,7 @@ function CommandItem({
|
|
|
1866
1976
|
}
|
|
1867
1977
|
|
|
1868
1978
|
// src/components/components/Combobox/index.tsx
|
|
1869
|
-
var
|
|
1979
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
1870
1980
|
function Combobox2({
|
|
1871
1981
|
name,
|
|
1872
1982
|
label,
|
|
@@ -1907,8 +2017,8 @@ function Combobox2({
|
|
|
1907
2017
|
onChange?.(option.value);
|
|
1908
2018
|
setOpen(false);
|
|
1909
2019
|
};
|
|
1910
|
-
const control = /* @__PURE__ */ (0,
|
|
1911
|
-
/* @__PURE__ */ (0,
|
|
2020
|
+
const control = /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Combobox, { open, onOpenChange: setOpen, children: [
|
|
2021
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1912
2022
|
ComboboxTrigger,
|
|
1913
2023
|
{
|
|
1914
2024
|
id: controlId,
|
|
@@ -1919,11 +2029,11 @@ function Combobox2({
|
|
|
1919
2029
|
children: selected ? selected.label : placeholder ?? ""
|
|
1920
2030
|
}
|
|
1921
2031
|
),
|
|
1922
|
-
/* @__PURE__ */ (0,
|
|
1923
|
-
searchable ? /* @__PURE__ */ (0,
|
|
1924
|
-
/* @__PURE__ */ (0,
|
|
1925
|
-
/* @__PURE__ */ (0,
|
|
1926
|
-
/* @__PURE__ */ (0,
|
|
2032
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ComboboxContent, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Command, { children: [
|
|
2033
|
+
searchable ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CommandInput, { placeholder }) : null,
|
|
2034
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(CommandList, { children: [
|
|
2035
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CommandEmpty, { children: "\u65E0\u5339\u914D\u7ED3\u679C" }),
|
|
2036
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CommandGroup, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1927
2037
|
CommandItem,
|
|
1928
2038
|
{
|
|
1929
2039
|
value: String(option.value),
|
|
@@ -1940,14 +2050,14 @@ function Combobox2({
|
|
|
1940
2050
|
] });
|
|
1941
2051
|
if (inForm && form && name) {
|
|
1942
2052
|
const error = form.errors[name];
|
|
1943
|
-
return /* @__PURE__ */ (0,
|
|
2053
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
1944
2054
|
"div",
|
|
1945
2055
|
{
|
|
1946
2056
|
"data-slot": "form-item",
|
|
1947
2057
|
className: cn(formItemClass(form.layout), className),
|
|
1948
2058
|
style,
|
|
1949
2059
|
children: [
|
|
1950
|
-
label ? /* @__PURE__ */ (0,
|
|
2060
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1951
2061
|
"label",
|
|
1952
2062
|
{
|
|
1953
2063
|
htmlFor: controlId,
|
|
@@ -1956,7 +2066,7 @@ function Combobox2({
|
|
|
1956
2066
|
}
|
|
1957
2067
|
) : null,
|
|
1958
2068
|
control,
|
|
1959
|
-
error ? /* @__PURE__ */ (0,
|
|
2069
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
1960
2070
|
]
|
|
1961
2071
|
}
|
|
1962
2072
|
);
|
|
@@ -1965,8 +2075,8 @@ function Combobox2({
|
|
|
1965
2075
|
}
|
|
1966
2076
|
|
|
1967
2077
|
// src/components/components/Command/index.tsx
|
|
1968
|
-
var
|
|
1969
|
-
var
|
|
2078
|
+
var import_runtime5 = require("@pactor-app/runtime");
|
|
2079
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1970
2080
|
function Command2({
|
|
1971
2081
|
groups = [],
|
|
1972
2082
|
placeholder,
|
|
@@ -1975,12 +2085,12 @@ function Command2({
|
|
|
1975
2085
|
className,
|
|
1976
2086
|
style
|
|
1977
2087
|
}) {
|
|
1978
|
-
const { t } = (0,
|
|
1979
|
-
return /* @__PURE__ */ (0,
|
|
1980
|
-
/* @__PURE__ */ (0,
|
|
1981
|
-
/* @__PURE__ */ (0,
|
|
1982
|
-
/* @__PURE__ */ (0,
|
|
1983
|
-
groups.map((group, index) => /* @__PURE__ */ (0,
|
|
2088
|
+
const { t } = (0, import_runtime5.useI18n)();
|
|
2089
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Command, { className, style, children: [
|
|
2090
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CommandInput, { placeholder }),
|
|
2091
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(CommandList, { children: [
|
|
2092
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CommandEmpty, { children: emptyText ?? t("pactor.command.empty") }),
|
|
2093
|
+
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)(
|
|
1984
2094
|
CommandItem,
|
|
1985
2095
|
{
|
|
1986
2096
|
value: item.value,
|
|
@@ -1988,7 +2098,7 @@ function Command2({
|
|
|
1988
2098
|
disabled: item.disabled,
|
|
1989
2099
|
onSelect: (value) => onSelect?.(value),
|
|
1990
2100
|
children: [
|
|
1991
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
2101
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
1992
2102
|
item.label
|
|
1993
2103
|
]
|
|
1994
2104
|
},
|
|
@@ -2003,7 +2113,7 @@ var import_recharts2 = require("recharts");
|
|
|
2003
2113
|
|
|
2004
2114
|
// src/ui/chart.tsx
|
|
2005
2115
|
var import_recharts = require("recharts");
|
|
2006
|
-
var
|
|
2116
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2007
2117
|
var CHART_TOKEN_COLORS = [
|
|
2008
2118
|
"var(--chart-1)",
|
|
2009
2119
|
"var(--chart-2)",
|
|
@@ -2022,19 +2132,19 @@ function ChartContainer({
|
|
|
2022
2132
|
children,
|
|
2023
2133
|
...props
|
|
2024
2134
|
}) {
|
|
2025
|
-
return /* @__PURE__ */ (0,
|
|
2135
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2026
2136
|
"div",
|
|
2027
2137
|
{
|
|
2028
2138
|
"data-slot": "chart-container",
|
|
2029
2139
|
className: cn("h-64 w-full", className),
|
|
2030
2140
|
...props,
|
|
2031
|
-
children: /* @__PURE__ */ (0,
|
|
2141
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_recharts.ResponsiveContainer, { width: "100%", height: "100%", children })
|
|
2032
2142
|
}
|
|
2033
2143
|
);
|
|
2034
2144
|
}
|
|
2035
2145
|
|
|
2036
2146
|
// src/components/components/Chart/index.tsx
|
|
2037
|
-
var
|
|
2147
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2038
2148
|
function Chart({
|
|
2039
2149
|
chartType,
|
|
2040
2150
|
data = [],
|
|
@@ -2045,17 +2155,17 @@ function Chart({
|
|
|
2045
2155
|
style
|
|
2046
2156
|
}) {
|
|
2047
2157
|
const series = yKeys.length > 0 ? yKeys : ["value"];
|
|
2048
|
-
return /* @__PURE__ */ (0,
|
|
2158
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2049
2159
|
"div",
|
|
2050
2160
|
{
|
|
2051
2161
|
"data-slot": "chart",
|
|
2052
2162
|
"data-chart-type": chartType,
|
|
2053
2163
|
className: cn("w-full", className),
|
|
2054
2164
|
style,
|
|
2055
|
-
children: /* @__PURE__ */ (0,
|
|
2056
|
-
/* @__PURE__ */ (0,
|
|
2057
|
-
/* @__PURE__ */ (0,
|
|
2058
|
-
/* @__PURE__ */ (0,
|
|
2165
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChartContainer, { children: chartType === "pie" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_recharts2.PieChart, { children: [
|
|
2166
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Tooltip, {}),
|
|
2167
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Legend, {}),
|
|
2168
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2059
2169
|
import_recharts2.Pie,
|
|
2060
2170
|
{
|
|
2061
2171
|
data,
|
|
@@ -2064,16 +2174,16 @@ function Chart({
|
|
|
2064
2174
|
innerRadius: 0,
|
|
2065
2175
|
outerRadius: "80%",
|
|
2066
2176
|
isAnimationActive: false,
|
|
2067
|
-
children: data.map((_, index) => /* @__PURE__ */ (0,
|
|
2177
|
+
children: data.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Cell, { fill: chartColor(index, colors) }, index))
|
|
2068
2178
|
}
|
|
2069
2179
|
)
|
|
2070
|
-
] }) : chartType === "line" ? /* @__PURE__ */ (0,
|
|
2071
|
-
/* @__PURE__ */ (0,
|
|
2072
|
-
/* @__PURE__ */ (0,
|
|
2073
|
-
/* @__PURE__ */ (0,
|
|
2074
|
-
/* @__PURE__ */ (0,
|
|
2075
|
-
series.length > 1 ? /* @__PURE__ */ (0,
|
|
2076
|
-
series.map((key, index) => /* @__PURE__ */ (0,
|
|
2180
|
+
] }) : chartType === "line" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_recharts2.LineChart, { data, children: [
|
|
2181
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.CartesianGrid, { strokeDasharray: "3 3", vertical: false }),
|
|
2182
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.XAxis, { dataKey: xKey }),
|
|
2183
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.YAxis, {}),
|
|
2184
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Tooltip, {}),
|
|
2185
|
+
series.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Legend, {}) : null,
|
|
2186
|
+
series.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2077
2187
|
import_recharts2.Line,
|
|
2078
2188
|
{
|
|
2079
2189
|
type: "monotone",
|
|
@@ -2084,13 +2194,13 @@ function Chart({
|
|
|
2084
2194
|
},
|
|
2085
2195
|
key
|
|
2086
2196
|
))
|
|
2087
|
-
] }) : chartType === "area" ? /* @__PURE__ */ (0,
|
|
2088
|
-
/* @__PURE__ */ (0,
|
|
2089
|
-
/* @__PURE__ */ (0,
|
|
2090
|
-
/* @__PURE__ */ (0,
|
|
2091
|
-
/* @__PURE__ */ (0,
|
|
2092
|
-
series.length > 1 ? /* @__PURE__ */ (0,
|
|
2093
|
-
series.map((key, index) => /* @__PURE__ */ (0,
|
|
2197
|
+
] }) : chartType === "area" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_recharts2.AreaChart, { data, children: [
|
|
2198
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.CartesianGrid, { strokeDasharray: "3 3", vertical: false }),
|
|
2199
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.XAxis, { dataKey: xKey }),
|
|
2200
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.YAxis, {}),
|
|
2201
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Tooltip, {}),
|
|
2202
|
+
series.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Legend, {}) : null,
|
|
2203
|
+
series.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2094
2204
|
import_recharts2.Area,
|
|
2095
2205
|
{
|
|
2096
2206
|
type: "monotone",
|
|
@@ -2103,13 +2213,13 @@ function Chart({
|
|
|
2103
2213
|
},
|
|
2104
2214
|
key
|
|
2105
2215
|
))
|
|
2106
|
-
] }) : /* @__PURE__ */ (0,
|
|
2107
|
-
/* @__PURE__ */ (0,
|
|
2108
|
-
/* @__PURE__ */ (0,
|
|
2109
|
-
/* @__PURE__ */ (0,
|
|
2110
|
-
/* @__PURE__ */ (0,
|
|
2111
|
-
series.length > 1 ? /* @__PURE__ */ (0,
|
|
2112
|
-
series.map((key, index) => /* @__PURE__ */ (0,
|
|
2216
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_recharts2.BarChart, { data, children: [
|
|
2217
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.CartesianGrid, { strokeDasharray: "3 3", vertical: false }),
|
|
2218
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.XAxis, { dataKey: xKey }),
|
|
2219
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.YAxis, {}),
|
|
2220
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Tooltip, {}),
|
|
2221
|
+
series.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_recharts2.Legend, {}) : null,
|
|
2222
|
+
series.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2113
2223
|
import_recharts2.Bar,
|
|
2114
2224
|
{
|
|
2115
2225
|
dataKey: key,
|
|
@@ -2125,17 +2235,17 @@ function Chart({
|
|
|
2125
2235
|
}
|
|
2126
2236
|
|
|
2127
2237
|
// src/components/components/ChatInput/index.tsx
|
|
2128
|
-
var
|
|
2238
|
+
var import_runtime6 = require("@pactor-app/runtime");
|
|
2129
2239
|
var import_lucide_react11 = require("lucide-react");
|
|
2130
2240
|
var import_react9 = require("react");
|
|
2131
2241
|
|
|
2132
2242
|
// src/ui/textarea.tsx
|
|
2133
|
-
var
|
|
2243
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2134
2244
|
function Textarea({
|
|
2135
2245
|
className,
|
|
2136
2246
|
...props
|
|
2137
2247
|
}) {
|
|
2138
|
-
return /* @__PURE__ */ (0,
|
|
2248
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2139
2249
|
"textarea",
|
|
2140
2250
|
{
|
|
2141
2251
|
"data-slot": "textarea",
|
|
@@ -2149,7 +2259,7 @@ function Textarea({
|
|
|
2149
2259
|
}
|
|
2150
2260
|
|
|
2151
2261
|
// src/components/components/ChatInput/index.tsx
|
|
2152
|
-
var
|
|
2262
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2153
2263
|
function ChatInput({
|
|
2154
2264
|
value,
|
|
2155
2265
|
placeholder,
|
|
@@ -2165,7 +2275,7 @@ function ChatInput({
|
|
|
2165
2275
|
className,
|
|
2166
2276
|
style
|
|
2167
2277
|
}) {
|
|
2168
|
-
const { renderChildren } = (0,
|
|
2278
|
+
const { renderChildren } = (0, import_runtime6.useRenderer)();
|
|
2169
2279
|
const controlled = value !== void 0;
|
|
2170
2280
|
const [draft, setDraft] = (0, import_react9.useState)("");
|
|
2171
2281
|
const text = controlled ? value : draft;
|
|
@@ -2195,7 +2305,7 @@ function ChatInput({
|
|
|
2195
2305
|
const handleComposition = (event) => {
|
|
2196
2306
|
composingRef.current = event.type === "compositionstart";
|
|
2197
2307
|
};
|
|
2198
|
-
return /* @__PURE__ */ (0,
|
|
2308
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
2199
2309
|
"div",
|
|
2200
2310
|
{
|
|
2201
2311
|
"data-slot": "chat-input",
|
|
@@ -2205,8 +2315,8 @@ function ChatInput({
|
|
|
2205
2315
|
),
|
|
2206
2316
|
style,
|
|
2207
2317
|
children: [
|
|
2208
|
-
header ? /* @__PURE__ */ (0,
|
|
2209
|
-
/* @__PURE__ */ (0,
|
|
2318
|
+
header ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "px-3 pt-3", children: renderChildren([header]) }) : null,
|
|
2319
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2210
2320
|
Textarea,
|
|
2211
2321
|
{
|
|
2212
2322
|
value: text,
|
|
@@ -2220,11 +2330,11 @@ function ChatInput({
|
|
|
2220
2330
|
className: "min-h-[60px] resize-none border-0 px-4 pt-3 pb-1 shadow-none focus-visible:border-transparent focus-visible:ring-0"
|
|
2221
2331
|
}
|
|
2222
2332
|
),
|
|
2223
|
-
toolbarStart || toolbarEnd || !hideSend ? /* @__PURE__ */ (0,
|
|
2333
|
+
toolbarStart || toolbarEnd || !hideSend ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex items-center gap-1 px-2 pb-2", children: [
|
|
2224
2334
|
toolbarStart ? renderChildren([toolbarStart]) : null,
|
|
2225
|
-
/* @__PURE__ */ (0,
|
|
2335
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "flex-1" }),
|
|
2226
2336
|
toolbarEnd ? renderChildren([toolbarEnd]) : null,
|
|
2227
|
-
hideSend ? null : /* @__PURE__ */ (0,
|
|
2337
|
+
hideSend ? null : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2228
2338
|
Button,
|
|
2229
2339
|
{
|
|
2230
2340
|
type: "button",
|
|
@@ -2233,20 +2343,20 @@ function ChatInput({
|
|
|
2233
2343
|
disabled: !canSubmit,
|
|
2234
2344
|
onClick: submit,
|
|
2235
2345
|
className: "size-8 rounded-full",
|
|
2236
|
-
children: /* @__PURE__ */ (0,
|
|
2346
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react11.ArrowUp, {})
|
|
2237
2347
|
}
|
|
2238
2348
|
)
|
|
2239
2349
|
] }) : null,
|
|
2240
|
-
footer ? /* @__PURE__ */ (0,
|
|
2350
|
+
footer ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "border-t border-border px-3 py-2", children: renderChildren([footer]) }) : null
|
|
2241
2351
|
]
|
|
2242
2352
|
}
|
|
2243
2353
|
);
|
|
2244
2354
|
}
|
|
2245
2355
|
|
|
2246
2356
|
// src/components/components/Content/index.tsx
|
|
2247
|
-
var
|
|
2357
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2248
2358
|
function Content({ className, style, children }) {
|
|
2249
|
-
return /* @__PURE__ */ (0,
|
|
2359
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2250
2360
|
"main",
|
|
2251
2361
|
{
|
|
2252
2362
|
"data-slot": "layout-content",
|
|
@@ -2259,22 +2369,22 @@ function Content({ className, style, children }) {
|
|
|
2259
2369
|
|
|
2260
2370
|
// src/ui/context-menu.tsx
|
|
2261
2371
|
var import_context_menu = require("@base-ui/react/context-menu");
|
|
2262
|
-
var
|
|
2372
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2263
2373
|
function ContextMenu({
|
|
2264
2374
|
...props
|
|
2265
2375
|
}) {
|
|
2266
|
-
return /* @__PURE__ */ (0,
|
|
2376
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_context_menu.ContextMenu.Root, { "data-slot": "context-menu", ...props });
|
|
2267
2377
|
}
|
|
2268
2378
|
function ContextMenuTrigger({
|
|
2269
2379
|
...props
|
|
2270
2380
|
}) {
|
|
2271
|
-
return /* @__PURE__ */ (0,
|
|
2381
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_context_menu.ContextMenu.Trigger, { "data-slot": "context-menu-trigger", ...props });
|
|
2272
2382
|
}
|
|
2273
2383
|
function ContextMenuContent({
|
|
2274
2384
|
className,
|
|
2275
2385
|
...props
|
|
2276
2386
|
}) {
|
|
2277
|
-
return /* @__PURE__ */ (0,
|
|
2387
|
+
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)(
|
|
2278
2388
|
import_context_menu.ContextMenu.Popup,
|
|
2279
2389
|
{
|
|
2280
2390
|
"data-slot": "context-menu-content",
|
|
@@ -2291,7 +2401,7 @@ function ContextMenuItem({
|
|
|
2291
2401
|
variant = "default",
|
|
2292
2402
|
...props
|
|
2293
2403
|
}) {
|
|
2294
|
-
return /* @__PURE__ */ (0,
|
|
2404
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2295
2405
|
import_context_menu.ContextMenu.Item,
|
|
2296
2406
|
{
|
|
2297
2407
|
"data-slot": "context-menu-item",
|
|
@@ -2306,7 +2416,7 @@ function ContextMenuItem({
|
|
|
2306
2416
|
}
|
|
2307
2417
|
|
|
2308
2418
|
// src/components/components/ContextMenu/index.tsx
|
|
2309
|
-
var
|
|
2419
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2310
2420
|
function ContextMenu2({
|
|
2311
2421
|
items = [],
|
|
2312
2422
|
onSelect,
|
|
@@ -2314,16 +2424,16 @@ function ContextMenu2({
|
|
|
2314
2424
|
className,
|
|
2315
2425
|
style
|
|
2316
2426
|
}) {
|
|
2317
|
-
return /* @__PURE__ */ (0,
|
|
2318
|
-
/* @__PURE__ */ (0,
|
|
2319
|
-
/* @__PURE__ */ (0,
|
|
2427
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(ContextMenu, { children: [
|
|
2428
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ContextMenuTrigger, { children }),
|
|
2429
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ContextMenuContent, { className, style, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
2320
2430
|
ContextMenuItem,
|
|
2321
2431
|
{
|
|
2322
2432
|
variant: item.danger ? "destructive" : "default",
|
|
2323
2433
|
disabled: item.disabled,
|
|
2324
2434
|
onClick: () => onSelect?.(item.value),
|
|
2325
2435
|
children: [
|
|
2326
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
2436
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
2327
2437
|
item.label
|
|
2328
2438
|
]
|
|
2329
2439
|
},
|
|
@@ -2333,14 +2443,14 @@ function ContextMenu2({
|
|
|
2333
2443
|
}
|
|
2334
2444
|
|
|
2335
2445
|
// src/components/components/DataTable/index.tsx
|
|
2336
|
-
var
|
|
2446
|
+
var import_runtime7 = require("@pactor-app/runtime");
|
|
2337
2447
|
var import_lucide_react12 = require("lucide-react");
|
|
2338
2448
|
var import_react10 = require("react");
|
|
2339
2449
|
|
|
2340
2450
|
// src/ui/input.tsx
|
|
2341
|
-
var
|
|
2451
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2342
2452
|
function Input({ className, type, ...props }) {
|
|
2343
|
-
return /* @__PURE__ */ (0,
|
|
2453
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2344
2454
|
"input",
|
|
2345
2455
|
{
|
|
2346
2456
|
type,
|
|
@@ -2355,14 +2465,14 @@ function Input({ className, type, ...props }) {
|
|
|
2355
2465
|
}
|
|
2356
2466
|
|
|
2357
2467
|
// src/ui/table.tsx
|
|
2358
|
-
var
|
|
2468
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2359
2469
|
function Table2({ className, ...props }) {
|
|
2360
|
-
return /* @__PURE__ */ (0,
|
|
2470
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2361
2471
|
"div",
|
|
2362
2472
|
{
|
|
2363
2473
|
"data-slot": "table-container",
|
|
2364
2474
|
className: "relative w-full overflow-x-auto",
|
|
2365
|
-
children: /* @__PURE__ */ (0,
|
|
2475
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2366
2476
|
"table",
|
|
2367
2477
|
{
|
|
2368
2478
|
"data-slot": "table",
|
|
@@ -2374,7 +2484,7 @@ function Table2({ className, ...props }) {
|
|
|
2374
2484
|
);
|
|
2375
2485
|
}
|
|
2376
2486
|
function TableHeader({ className, ...props }) {
|
|
2377
|
-
return /* @__PURE__ */ (0,
|
|
2487
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2378
2488
|
"thead",
|
|
2379
2489
|
{
|
|
2380
2490
|
"data-slot": "table-header",
|
|
@@ -2384,7 +2494,7 @@ function TableHeader({ className, ...props }) {
|
|
|
2384
2494
|
);
|
|
2385
2495
|
}
|
|
2386
2496
|
function TableBody({ className, ...props }) {
|
|
2387
|
-
return /* @__PURE__ */ (0,
|
|
2497
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2388
2498
|
"tbody",
|
|
2389
2499
|
{
|
|
2390
2500
|
"data-slot": "table-body",
|
|
@@ -2394,7 +2504,7 @@ function TableBody({ className, ...props }) {
|
|
|
2394
2504
|
);
|
|
2395
2505
|
}
|
|
2396
2506
|
function TableRow({ className, ...props }) {
|
|
2397
|
-
return /* @__PURE__ */ (0,
|
|
2507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2398
2508
|
"tr",
|
|
2399
2509
|
{
|
|
2400
2510
|
"data-slot": "table-row",
|
|
@@ -2407,7 +2517,7 @@ function TableRow({ className, ...props }) {
|
|
|
2407
2517
|
);
|
|
2408
2518
|
}
|
|
2409
2519
|
function TableHead({ className, ...props }) {
|
|
2410
|
-
return /* @__PURE__ */ (0,
|
|
2520
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2411
2521
|
"th",
|
|
2412
2522
|
{
|
|
2413
2523
|
"data-slot": "table-head",
|
|
@@ -2420,7 +2530,7 @@ function TableHead({ className, ...props }) {
|
|
|
2420
2530
|
);
|
|
2421
2531
|
}
|
|
2422
2532
|
function TableCell({ className, ...props }) {
|
|
2423
|
-
return /* @__PURE__ */ (0,
|
|
2533
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2424
2534
|
"td",
|
|
2425
2535
|
{
|
|
2426
2536
|
"data-slot": "table-cell",
|
|
@@ -2434,7 +2544,7 @@ function TableCell({ className, ...props }) {
|
|
|
2434
2544
|
}
|
|
2435
2545
|
|
|
2436
2546
|
// src/components/components/DataTable/index.tsx
|
|
2437
|
-
var
|
|
2547
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2438
2548
|
function renderCellValue(value) {
|
|
2439
2549
|
if (value === void 0 || value === null) {
|
|
2440
2550
|
return "";
|
|
@@ -2461,8 +2571,8 @@ function DataTable({
|
|
|
2461
2571
|
className,
|
|
2462
2572
|
style
|
|
2463
2573
|
}) {
|
|
2464
|
-
const { renderChildren } = (0,
|
|
2465
|
-
const { t } = (0,
|
|
2574
|
+
const { renderChildren } = (0, import_runtime7.useRenderer)();
|
|
2575
|
+
const { t } = (0, import_runtime7.useI18n)();
|
|
2466
2576
|
const [sortState, setSortState] = (0, import_react10.useState)(sort);
|
|
2467
2577
|
const [filters, setFilters] = (0, import_react10.useState)({});
|
|
2468
2578
|
const [current, setCurrent] = (0, import_react10.useState)(1);
|
|
@@ -2503,12 +2613,12 @@ function DataTable({
|
|
|
2503
2613
|
setCurrent(page);
|
|
2504
2614
|
onPageChange?.(page);
|
|
2505
2615
|
};
|
|
2506
|
-
return /* @__PURE__ */ (0,
|
|
2507
|
-
/* @__PURE__ */ (0,
|
|
2508
|
-
/* @__PURE__ */ (0,
|
|
2616
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { "data-slot": "data-table", className: cn("relative", className), style, children: [
|
|
2617
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Table2, { children: [
|
|
2618
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TableHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TableRow, { className: "hover:bg-transparent", children: columns.map((column, index) => {
|
|
2509
2619
|
const sorted = sortState?.key === column.key;
|
|
2510
|
-
return /* @__PURE__ */ (0,
|
|
2511
|
-
column.sortable ? /* @__PURE__ */ (0,
|
|
2620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex flex-col gap-1", children: [
|
|
2621
|
+
column.sortable ? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
2512
2622
|
"button",
|
|
2513
2623
|
{
|
|
2514
2624
|
type: "button",
|
|
@@ -2519,7 +2629,7 @@ function DataTable({
|
|
|
2519
2629
|
onClick: () => toggleSort(column),
|
|
2520
2630
|
children: [
|
|
2521
2631
|
column.title,
|
|
2522
|
-
sorted ? sortState.order === "asc" ? /* @__PURE__ */ (0,
|
|
2632
|
+
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)(
|
|
2523
2633
|
import_lucide_react12.ArrowUpDown,
|
|
2524
2634
|
{
|
|
2525
2635
|
"aria-hidden": true,
|
|
@@ -2528,8 +2638,8 @@ function DataTable({
|
|
|
2528
2638
|
)
|
|
2529
2639
|
]
|
|
2530
2640
|
}
|
|
2531
|
-
) : /* @__PURE__ */ (0,
|
|
2532
|
-
column.filterable ? /* @__PURE__ */ (0,
|
|
2641
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { children: column.title }),
|
|
2642
|
+
column.filterable ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2533
2643
|
Input,
|
|
2534
2644
|
{
|
|
2535
2645
|
"data-slot": "data-table-filter",
|
|
@@ -2542,7 +2652,7 @@ function DataTable({
|
|
|
2542
2652
|
) : null
|
|
2543
2653
|
] }) }, column.key ?? String(index));
|
|
2544
2654
|
}) }) }),
|
|
2545
|
-
/* @__PURE__ */ (0,
|
|
2655
|
+
/* @__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)(
|
|
2546
2656
|
"div",
|
|
2547
2657
|
{
|
|
2548
2658
|
"data-slot": "table-empty",
|
|
@@ -2551,20 +2661,20 @@ function DataTable({
|
|
|
2551
2661
|
}
|
|
2552
2662
|
) }) }) : pageRows.map((row, rowIndex) => {
|
|
2553
2663
|
const key = row[rowKey];
|
|
2554
|
-
return /* @__PURE__ */ (0,
|
|
2664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2555
2665
|
TableRow,
|
|
2556
2666
|
{
|
|
2557
2667
|
children: columns.map((column, columnIndex) => {
|
|
2558
2668
|
const template = column.children ?? column.renderChildren;
|
|
2559
|
-
return /* @__PURE__ */ (0,
|
|
2669
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TableCell, { children: template ? renderChildren(template, { row, rowIndex }) : renderCellValue(row[column.key]) }, column.key ?? String(columnIndex));
|
|
2560
2670
|
})
|
|
2561
2671
|
},
|
|
2562
2672
|
key === void 0 || key === null ? rowIndex : String(key)
|
|
2563
2673
|
);
|
|
2564
2674
|
}) })
|
|
2565
2675
|
] }),
|
|
2566
|
-
pageSize !== void 0 && pageSize > 0 ? /* @__PURE__ */ (0,
|
|
2567
|
-
(page) => /* @__PURE__ */ (0,
|
|
2676
|
+
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(
|
|
2677
|
+
(page) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2568
2678
|
Button,
|
|
2569
2679
|
{
|
|
2570
2680
|
type: "button",
|
|
@@ -2581,12 +2691,12 @@ function DataTable({
|
|
|
2581
2691
|
}
|
|
2582
2692
|
|
|
2583
2693
|
// src/components/components/DatePicker/index.tsx
|
|
2584
|
-
var
|
|
2694
|
+
var import_runtime8 = require("@pactor-app/runtime");
|
|
2585
2695
|
var import_date_fns2 = require("date-fns");
|
|
2586
2696
|
var import_locale = require("date-fns/locale");
|
|
2587
2697
|
var import_lucide_react13 = require("lucide-react");
|
|
2588
2698
|
var import_react11 = require("react");
|
|
2589
|
-
var
|
|
2699
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2590
2700
|
function toDateFnsLocale(locale) {
|
|
2591
2701
|
switch (locale) {
|
|
2592
2702
|
case "zh-CN":
|
|
@@ -2627,7 +2737,7 @@ function DatePicker(props) {
|
|
|
2627
2737
|
const value = props.value;
|
|
2628
2738
|
const onChange = props.onChange;
|
|
2629
2739
|
const form = useFormContext();
|
|
2630
|
-
const { locale, t } = (0,
|
|
2740
|
+
const { locale, t } = (0, import_runtime8.useI18n)();
|
|
2631
2741
|
const dfLocale = toDateFnsLocale(locale);
|
|
2632
2742
|
const controlId = (0, import_react11.useId)();
|
|
2633
2743
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
@@ -2758,13 +2868,13 @@ function DatePicker(props) {
|
|
|
2758
2868
|
} : void 0;
|
|
2759
2869
|
const displayText = isRange ? typeof current === "object" && current !== null ? `${current.start} ~ ${current.end}` : "" : typeof current === "string" ? current : "";
|
|
2760
2870
|
const placeholderText = placeholder ?? t(isRange ? "pactor.datePicker.placeholderRange" : "pactor.datePicker.placeholder");
|
|
2761
|
-
const calendar = isRange ? /* @__PURE__ */ (0,
|
|
2762
|
-
/* @__PURE__ */ (0,
|
|
2871
|
+
const calendar = isRange ? /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex", children: [
|
|
2872
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2763
2873
|
"div",
|
|
2764
2874
|
{
|
|
2765
2875
|
"data-slot": "datepicker-start-panel",
|
|
2766
2876
|
className: "border-r border-border",
|
|
2767
|
-
children: /* @__PURE__ */ (0,
|
|
2877
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2768
2878
|
Calendar2,
|
|
2769
2879
|
{
|
|
2770
2880
|
mode: "single",
|
|
@@ -2778,7 +2888,7 @@ function DatePicker(props) {
|
|
|
2778
2888
|
)
|
|
2779
2889
|
}
|
|
2780
2890
|
),
|
|
2781
|
-
/* @__PURE__ */ (0,
|
|
2891
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { "data-slot": "datepicker-end-panel", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2782
2892
|
Calendar2,
|
|
2783
2893
|
{
|
|
2784
2894
|
mode: "single",
|
|
@@ -2790,7 +2900,7 @@ function DatePicker(props) {
|
|
|
2790
2900
|
locale: dfLocale
|
|
2791
2901
|
}
|
|
2792
2902
|
) })
|
|
2793
|
-
] }) : /* @__PURE__ */ (0,
|
|
2903
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2794
2904
|
Calendar2,
|
|
2795
2905
|
{
|
|
2796
2906
|
mode: "single",
|
|
@@ -2799,8 +2909,8 @@ function DatePicker(props) {
|
|
|
2799
2909
|
locale: dfLocale
|
|
2800
2910
|
}
|
|
2801
2911
|
);
|
|
2802
|
-
const control = /* @__PURE__ */ (0,
|
|
2803
|
-
/* @__PURE__ */ (0,
|
|
2912
|
+
const control = /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
|
|
2913
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
2804
2914
|
PopoverTrigger,
|
|
2805
2915
|
{
|
|
2806
2916
|
id: controlId,
|
|
@@ -2814,20 +2924,20 @@ function DatePicker(props) {
|
|
|
2814
2924
|
),
|
|
2815
2925
|
style: inForm ? void 0 : style,
|
|
2816
2926
|
children: [
|
|
2817
|
-
/* @__PURE__ */ (0,
|
|
2818
|
-
/* @__PURE__ */ (0,
|
|
2927
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children: displayText === "" ? placeholderText : displayText }),
|
|
2928
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react13.Calendar, { className: "size-4 shrink-0 opacity-50" })
|
|
2819
2929
|
]
|
|
2820
2930
|
}
|
|
2821
2931
|
),
|
|
2822
|
-
/* @__PURE__ */ (0,
|
|
2823
|
-
/* @__PURE__ */ (0,
|
|
2932
|
+
/* @__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: [
|
|
2933
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2824
2934
|
"div",
|
|
2825
2935
|
{
|
|
2826
2936
|
"data-slot": "datepicker-presets",
|
|
2827
2937
|
className: "flex flex-col gap-1 border-r border-border p-3",
|
|
2828
2938
|
children: presetList.map((preset, index) => {
|
|
2829
2939
|
const resolved = resolvePreset(preset);
|
|
2830
|
-
return /* @__PURE__ */ (0,
|
|
2940
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2831
2941
|
"button",
|
|
2832
2942
|
{
|
|
2833
2943
|
type: "button",
|
|
@@ -2845,14 +2955,14 @@ function DatePicker(props) {
|
|
|
2845
2955
|
] });
|
|
2846
2956
|
if (inForm && form && name) {
|
|
2847
2957
|
const error = form.errors[name];
|
|
2848
|
-
return /* @__PURE__ */ (0,
|
|
2958
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
2849
2959
|
"div",
|
|
2850
2960
|
{
|
|
2851
2961
|
"data-slot": "form-item",
|
|
2852
2962
|
className: cn(formItemClass(form.layout), className),
|
|
2853
2963
|
style,
|
|
2854
2964
|
children: [
|
|
2855
|
-
label ? /* @__PURE__ */ (0,
|
|
2965
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2856
2966
|
"label",
|
|
2857
2967
|
{
|
|
2858
2968
|
htmlFor: controlId,
|
|
@@ -2861,7 +2971,7 @@ function DatePicker(props) {
|
|
|
2861
2971
|
}
|
|
2862
2972
|
) : null,
|
|
2863
2973
|
control,
|
|
2864
|
-
error ? /* @__PURE__ */ (0,
|
|
2974
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
2865
2975
|
]
|
|
2866
2976
|
}
|
|
2867
2977
|
);
|
|
@@ -2870,33 +2980,33 @@ function DatePicker(props) {
|
|
|
2870
2980
|
}
|
|
2871
2981
|
|
|
2872
2982
|
// src/components/components/Dialog/index.tsx
|
|
2873
|
-
var
|
|
2983
|
+
var import_runtime9 = require("@pactor-app/runtime");
|
|
2874
2984
|
var import_react12 = require("react");
|
|
2875
2985
|
|
|
2876
2986
|
// src/ui/dialog.tsx
|
|
2877
2987
|
var import_dialog = require("@base-ui/react/dialog");
|
|
2878
2988
|
var import_lucide_react14 = require("lucide-react");
|
|
2879
|
-
var
|
|
2989
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2880
2990
|
function Dialog({
|
|
2881
2991
|
...props
|
|
2882
2992
|
}) {
|
|
2883
|
-
return /* @__PURE__ */ (0,
|
|
2993
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_dialog.Dialog.Root, { "data-slot": "dialog", ...props });
|
|
2884
2994
|
}
|
|
2885
2995
|
function DialogTrigger({
|
|
2886
2996
|
...props
|
|
2887
2997
|
}) {
|
|
2888
|
-
return /* @__PURE__ */ (0,
|
|
2998
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_dialog.Dialog.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
2889
2999
|
}
|
|
2890
3000
|
function DialogPortal({
|
|
2891
3001
|
...props
|
|
2892
3002
|
}) {
|
|
2893
|
-
return /* @__PURE__ */ (0,
|
|
3003
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_dialog.Dialog.Portal, { "data-slot": "dialog-portal", ...props });
|
|
2894
3004
|
}
|
|
2895
3005
|
function DialogOverlay({
|
|
2896
3006
|
className,
|
|
2897
3007
|
...props
|
|
2898
3008
|
}) {
|
|
2899
|
-
return /* @__PURE__ */ (0,
|
|
3009
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2900
3010
|
import_dialog.Dialog.Backdrop,
|
|
2901
3011
|
{
|
|
2902
3012
|
"data-slot": "dialog-overlay",
|
|
@@ -2914,9 +3024,9 @@ function DialogContent({
|
|
|
2914
3024
|
showCloseButton = true,
|
|
2915
3025
|
...props
|
|
2916
3026
|
}) {
|
|
2917
|
-
return /* @__PURE__ */ (0,
|
|
2918
|
-
/* @__PURE__ */ (0,
|
|
2919
|
-
/* @__PURE__ */ (0,
|
|
3027
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
3028
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DialogOverlay, {}),
|
|
3029
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
2920
3030
|
import_dialog.Dialog.Popup,
|
|
2921
3031
|
{
|
|
2922
3032
|
"data-slot": "dialog-content",
|
|
@@ -2927,11 +3037,11 @@ function DialogContent({
|
|
|
2927
3037
|
...props,
|
|
2928
3038
|
children: [
|
|
2929
3039
|
children,
|
|
2930
|
-
showCloseButton && /* @__PURE__ */ (0,
|
|
3040
|
+
showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
2931
3041
|
import_dialog.Dialog.Close,
|
|
2932
3042
|
{
|
|
2933
3043
|
"data-slot": "dialog-close",
|
|
2934
|
-
render: /* @__PURE__ */ (0,
|
|
3044
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2935
3045
|
"button",
|
|
2936
3046
|
{
|
|
2937
3047
|
type: "button",
|
|
@@ -2939,8 +3049,8 @@ function DialogContent({
|
|
|
2939
3049
|
}
|
|
2940
3050
|
),
|
|
2941
3051
|
children: [
|
|
2942
|
-
/* @__PURE__ */ (0,
|
|
2943
|
-
/* @__PURE__ */ (0,
|
|
3052
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react14.XIcon, {}),
|
|
3053
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "sr-only", children: "Close" })
|
|
2944
3054
|
]
|
|
2945
3055
|
}
|
|
2946
3056
|
)
|
|
@@ -2950,7 +3060,7 @@ function DialogContent({
|
|
|
2950
3060
|
] });
|
|
2951
3061
|
}
|
|
2952
3062
|
function DialogHeader({ className, ...props }) {
|
|
2953
|
-
return /* @__PURE__ */ (0,
|
|
3063
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2954
3064
|
"div",
|
|
2955
3065
|
{
|
|
2956
3066
|
"data-slot": "dialog-header",
|
|
@@ -2963,7 +3073,7 @@ function DialogTitle({
|
|
|
2963
3073
|
className,
|
|
2964
3074
|
...props
|
|
2965
3075
|
}) {
|
|
2966
|
-
return /* @__PURE__ */ (0,
|
|
3076
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2967
3077
|
import_dialog.Dialog.Title,
|
|
2968
3078
|
{
|
|
2969
3079
|
"data-slot": "dialog-title",
|
|
@@ -2976,7 +3086,7 @@ function DialogDescription({
|
|
|
2976
3086
|
className,
|
|
2977
3087
|
...props
|
|
2978
3088
|
}) {
|
|
2979
|
-
return /* @__PURE__ */ (0,
|
|
3089
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2980
3090
|
import_dialog.Dialog.Description,
|
|
2981
3091
|
{
|
|
2982
3092
|
"data-slot": "dialog-description",
|
|
@@ -2987,7 +3097,7 @@ function DialogDescription({
|
|
|
2987
3097
|
}
|
|
2988
3098
|
|
|
2989
3099
|
// src/components/components/Dialog/index.tsx
|
|
2990
|
-
var
|
|
3100
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2991
3101
|
function Dialog2({
|
|
2992
3102
|
title,
|
|
2993
3103
|
description,
|
|
@@ -2998,11 +3108,11 @@ function Dialog2({
|
|
|
2998
3108
|
className,
|
|
2999
3109
|
style
|
|
3000
3110
|
}) {
|
|
3001
|
-
const { renderChildren } = (0,
|
|
3111
|
+
const { renderChildren } = (0, import_runtime9.useRenderer)();
|
|
3002
3112
|
const [innerOpen, setInnerOpen] = (0, import_react12.useState)(false);
|
|
3003
3113
|
const controlled = open !== void 0;
|
|
3004
3114
|
const visible = controlled ? open : innerOpen;
|
|
3005
|
-
return /* @__PURE__ */ (0,
|
|
3115
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
3006
3116
|
Dialog,
|
|
3007
3117
|
{
|
|
3008
3118
|
open: visible,
|
|
@@ -3015,7 +3125,7 @@ function Dialog2({
|
|
|
3015
3125
|
}
|
|
3016
3126
|
},
|
|
3017
3127
|
children: [
|
|
3018
|
-
trigger ? /* @__PURE__ */ (0,
|
|
3128
|
+
trigger ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3019
3129
|
DialogTrigger,
|
|
3020
3130
|
{
|
|
3021
3131
|
nativeButton: false,
|
|
@@ -3023,10 +3133,10 @@ function Dialog2({
|
|
|
3023
3133
|
children: renderChildren([trigger])
|
|
3024
3134
|
}
|
|
3025
3135
|
) : null,
|
|
3026
|
-
/* @__PURE__ */ (0,
|
|
3027
|
-
title || description ? /* @__PURE__ */ (0,
|
|
3028
|
-
title ? /* @__PURE__ */ (0,
|
|
3029
|
-
description ? /* @__PURE__ */ (0,
|
|
3136
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DialogContent, { className, style, children: [
|
|
3137
|
+
title || description ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DialogHeader, { children: [
|
|
3138
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DialogTitle, { children: title }) : null,
|
|
3139
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DialogDescription, { children: description }) : null
|
|
3030
3140
|
] }) : null,
|
|
3031
3141
|
children
|
|
3032
3142
|
] })
|
|
@@ -3037,22 +3147,22 @@ function Dialog2({
|
|
|
3037
3147
|
|
|
3038
3148
|
// src/ui/drawer.tsx
|
|
3039
3149
|
var import_vaul = require("vaul");
|
|
3040
|
-
var
|
|
3150
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
3041
3151
|
function Drawer({
|
|
3042
3152
|
...props
|
|
3043
3153
|
}) {
|
|
3044
|
-
return /* @__PURE__ */ (0,
|
|
3154
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_vaul.Drawer.Root, { "data-slot": "drawer", ...props });
|
|
3045
3155
|
}
|
|
3046
3156
|
function DrawerPortal({
|
|
3047
3157
|
...props
|
|
3048
3158
|
}) {
|
|
3049
|
-
return /* @__PURE__ */ (0,
|
|
3159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_vaul.Drawer.Portal, { "data-slot": "drawer-portal", ...props });
|
|
3050
3160
|
}
|
|
3051
3161
|
function DrawerOverlay({
|
|
3052
3162
|
className,
|
|
3053
3163
|
...props
|
|
3054
3164
|
}) {
|
|
3055
|
-
return /* @__PURE__ */ (0,
|
|
3165
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
3056
3166
|
import_vaul.Drawer.Overlay,
|
|
3057
3167
|
{
|
|
3058
3168
|
"data-slot": "drawer-overlay",
|
|
@@ -3066,9 +3176,9 @@ function DrawerContent({
|
|
|
3066
3176
|
children,
|
|
3067
3177
|
...props
|
|
3068
3178
|
}) {
|
|
3069
|
-
return /* @__PURE__ */ (0,
|
|
3070
|
-
/* @__PURE__ */ (0,
|
|
3071
|
-
/* @__PURE__ */ (0,
|
|
3179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
3180
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DrawerOverlay, {}),
|
|
3181
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
3072
3182
|
import_vaul.Drawer.Content,
|
|
3073
3183
|
{
|
|
3074
3184
|
"data-slot": "drawer-content",
|
|
@@ -3082,7 +3192,7 @@ function DrawerContent({
|
|
|
3082
3192
|
),
|
|
3083
3193
|
...props,
|
|
3084
3194
|
children: [
|
|
3085
|
-
/* @__PURE__ */ (0,
|
|
3195
|
+
/* @__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" }),
|
|
3086
3196
|
children
|
|
3087
3197
|
]
|
|
3088
3198
|
}
|
|
@@ -3090,7 +3200,7 @@ function DrawerContent({
|
|
|
3090
3200
|
] });
|
|
3091
3201
|
}
|
|
3092
3202
|
function DrawerHeader({ className, ...props }) {
|
|
3093
|
-
return /* @__PURE__ */ (0,
|
|
3203
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
3094
3204
|
"div",
|
|
3095
3205
|
{
|
|
3096
3206
|
"data-slot": "drawer-header",
|
|
@@ -3103,7 +3213,7 @@ function DrawerTitle({
|
|
|
3103
3213
|
className,
|
|
3104
3214
|
...props
|
|
3105
3215
|
}) {
|
|
3106
|
-
return /* @__PURE__ */ (0,
|
|
3216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
3107
3217
|
import_vaul.Drawer.Title,
|
|
3108
3218
|
{
|
|
3109
3219
|
"data-slot": "drawer-title",
|
|
@@ -3114,7 +3224,7 @@ function DrawerTitle({
|
|
|
3114
3224
|
}
|
|
3115
3225
|
|
|
3116
3226
|
// src/components/components/Drawer/index.tsx
|
|
3117
|
-
var
|
|
3227
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
3118
3228
|
function Drawer2({
|
|
3119
3229
|
title,
|
|
3120
3230
|
open,
|
|
@@ -3124,7 +3234,7 @@ function Drawer2({
|
|
|
3124
3234
|
className,
|
|
3125
3235
|
style
|
|
3126
3236
|
}) {
|
|
3127
|
-
return /* @__PURE__ */ (0,
|
|
3237
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
3128
3238
|
Drawer,
|
|
3129
3239
|
{
|
|
3130
3240
|
direction: placement,
|
|
@@ -3134,9 +3244,9 @@ function Drawer2({
|
|
|
3134
3244
|
onClose?.();
|
|
3135
3245
|
}
|
|
3136
3246
|
},
|
|
3137
|
-
children: /* @__PURE__ */ (0,
|
|
3138
|
-
title ? /* @__PURE__ */ (0,
|
|
3139
|
-
/* @__PURE__ */ (0,
|
|
3247
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(DrawerContent, { className, style, children: [
|
|
3248
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(DrawerHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(DrawerTitle, { children: title }) }) : null,
|
|
3249
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex-1 overflow-auto p-4", children })
|
|
3140
3250
|
] })
|
|
3141
3251
|
}
|
|
3142
3252
|
);
|
|
@@ -3145,16 +3255,16 @@ function Drawer2({
|
|
|
3145
3255
|
// src/ui/dropdown-menu.tsx
|
|
3146
3256
|
var import_menu = require("@base-ui/react/menu");
|
|
3147
3257
|
var import_lucide_react15 = require("lucide-react");
|
|
3148
|
-
var
|
|
3258
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
3149
3259
|
function DropdownMenu({
|
|
3150
3260
|
...props
|
|
3151
3261
|
}) {
|
|
3152
|
-
return /* @__PURE__ */ (0,
|
|
3262
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_menu.Menu.Root, { "data-slot": "dropdown-menu", ...props });
|
|
3153
3263
|
}
|
|
3154
3264
|
function DropdownMenuTrigger({
|
|
3155
3265
|
...props
|
|
3156
3266
|
}) {
|
|
3157
|
-
return /* @__PURE__ */ (0,
|
|
3267
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_menu.Menu.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
|
|
3158
3268
|
}
|
|
3159
3269
|
function DropdownMenuContent({
|
|
3160
3270
|
className,
|
|
@@ -3163,14 +3273,14 @@ function DropdownMenuContent({
|
|
|
3163
3273
|
sideOffset = 4,
|
|
3164
3274
|
...props
|
|
3165
3275
|
}) {
|
|
3166
|
-
return /* @__PURE__ */ (0,
|
|
3276
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
3167
3277
|
import_menu.Menu.Positioner,
|
|
3168
3278
|
{
|
|
3169
3279
|
align,
|
|
3170
3280
|
side,
|
|
3171
3281
|
sideOffset,
|
|
3172
3282
|
className: "isolate z-50",
|
|
3173
|
-
children: /* @__PURE__ */ (0,
|
|
3283
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
3174
3284
|
import_menu.Menu.Popup,
|
|
3175
3285
|
{
|
|
3176
3286
|
"data-slot": "dropdown-menu-content",
|
|
@@ -3189,7 +3299,7 @@ function DropdownMenuItem({
|
|
|
3189
3299
|
variant = "default",
|
|
3190
3300
|
...props
|
|
3191
3301
|
}) {
|
|
3192
|
-
return /* @__PURE__ */ (0,
|
|
3302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
3193
3303
|
import_menu.Menu.Item,
|
|
3194
3304
|
{
|
|
3195
3305
|
"data-slot": "dropdown-menu-item",
|
|
@@ -3205,14 +3315,14 @@ function DropdownMenuItem({
|
|
|
3205
3315
|
function DropdownMenuSub({
|
|
3206
3316
|
...props
|
|
3207
3317
|
}) {
|
|
3208
|
-
return /* @__PURE__ */ (0,
|
|
3318
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_menu.Menu.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
|
|
3209
3319
|
}
|
|
3210
3320
|
function DropdownMenuSubTrigger({
|
|
3211
3321
|
className,
|
|
3212
3322
|
children,
|
|
3213
3323
|
...props
|
|
3214
3324
|
}) {
|
|
3215
|
-
return /* @__PURE__ */ (0,
|
|
3325
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
|
|
3216
3326
|
import_menu.Menu.SubmenuTrigger,
|
|
3217
3327
|
{
|
|
3218
3328
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
@@ -3223,7 +3333,7 @@ function DropdownMenuSubTrigger({
|
|
|
3223
3333
|
...props,
|
|
3224
3334
|
children: [
|
|
3225
3335
|
children,
|
|
3226
|
-
/* @__PURE__ */ (0,
|
|
3336
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react15.ChevronRightIcon, { className: "ml-auto" })
|
|
3227
3337
|
]
|
|
3228
3338
|
}
|
|
3229
3339
|
);
|
|
@@ -3233,7 +3343,7 @@ function DropdownMenuSubContent({
|
|
|
3233
3343
|
sideOffset = 2,
|
|
3234
3344
|
...props
|
|
3235
3345
|
}) {
|
|
3236
|
-
return /* @__PURE__ */ (0,
|
|
3346
|
+
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)(
|
|
3237
3347
|
import_menu.Menu.Popup,
|
|
3238
3348
|
{
|
|
3239
3349
|
"data-slot": "dropdown-menu-sub-content",
|
|
@@ -3247,7 +3357,7 @@ function DropdownMenuSubContent({
|
|
|
3247
3357
|
}
|
|
3248
3358
|
|
|
3249
3359
|
// src/components/components/DropdownMenu/index.tsx
|
|
3250
|
-
var
|
|
3360
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
3251
3361
|
function DropdownMenu2({
|
|
3252
3362
|
items = [],
|
|
3253
3363
|
onSelect,
|
|
@@ -3255,8 +3365,8 @@ function DropdownMenu2({
|
|
|
3255
3365
|
className,
|
|
3256
3366
|
style
|
|
3257
3367
|
}) {
|
|
3258
|
-
return /* @__PURE__ */ (0,
|
|
3259
|
-
/* @__PURE__ */ (0,
|
|
3368
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(DropdownMenu, { children: [
|
|
3369
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
3260
3370
|
DropdownMenuTrigger,
|
|
3261
3371
|
{
|
|
3262
3372
|
nativeButton: false,
|
|
@@ -3264,14 +3374,14 @@ function DropdownMenu2({
|
|
|
3264
3374
|
children
|
|
3265
3375
|
}
|
|
3266
3376
|
),
|
|
3267
|
-
/* @__PURE__ */ (0,
|
|
3377
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DropdownMenuContent, { className, style, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
3268
3378
|
DropdownMenuItem,
|
|
3269
3379
|
{
|
|
3270
3380
|
variant: item.danger ? "destructive" : "default",
|
|
3271
3381
|
disabled: item.disabled,
|
|
3272
3382
|
onClick: () => onSelect?.(item.value),
|
|
3273
3383
|
children: [
|
|
3274
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3384
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3275
3385
|
item.label
|
|
3276
3386
|
]
|
|
3277
3387
|
},
|
|
@@ -3281,9 +3391,9 @@ function DropdownMenu2({
|
|
|
3281
3391
|
}
|
|
3282
3392
|
|
|
3283
3393
|
// src/ui/empty.tsx
|
|
3284
|
-
var
|
|
3394
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
3285
3395
|
function Empty({ className, ...props }) {
|
|
3286
|
-
return /* @__PURE__ */ (0,
|
|
3396
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3287
3397
|
"div",
|
|
3288
3398
|
{
|
|
3289
3399
|
"data-slot": "empty",
|
|
@@ -3296,7 +3406,7 @@ function Empty({ className, ...props }) {
|
|
|
3296
3406
|
);
|
|
3297
3407
|
}
|
|
3298
3408
|
function EmptyHeader({ className, ...props }) {
|
|
3299
|
-
return /* @__PURE__ */ (0,
|
|
3409
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3300
3410
|
"div",
|
|
3301
3411
|
{
|
|
3302
3412
|
"data-slot": "empty-header",
|
|
@@ -3306,7 +3416,7 @@ function EmptyHeader({ className, ...props }) {
|
|
|
3306
3416
|
);
|
|
3307
3417
|
}
|
|
3308
3418
|
function EmptyTitle({ className, ...props }) {
|
|
3309
|
-
return /* @__PURE__ */ (0,
|
|
3419
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3310
3420
|
"div",
|
|
3311
3421
|
{
|
|
3312
3422
|
"data-slot": "empty-title",
|
|
@@ -3316,7 +3426,7 @@ function EmptyTitle({ className, ...props }) {
|
|
|
3316
3426
|
);
|
|
3317
3427
|
}
|
|
3318
3428
|
function EmptyDescription({ className, ...props }) {
|
|
3319
|
-
return /* @__PURE__ */ (0,
|
|
3429
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3320
3430
|
"p",
|
|
3321
3431
|
{
|
|
3322
3432
|
"data-slot": "empty-description",
|
|
@@ -3326,7 +3436,7 @@ function EmptyDescription({ className, ...props }) {
|
|
|
3326
3436
|
);
|
|
3327
3437
|
}
|
|
3328
3438
|
function EmptyContent({ className, ...props }) {
|
|
3329
|
-
return /* @__PURE__ */ (0,
|
|
3439
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3330
3440
|
"div",
|
|
3331
3441
|
{
|
|
3332
3442
|
"data-slot": "empty-content",
|
|
@@ -3340,22 +3450,22 @@ function EmptyContent({ className, ...props }) {
|
|
|
3340
3450
|
}
|
|
3341
3451
|
|
|
3342
3452
|
// src/components/components/Empty/index.tsx
|
|
3343
|
-
var
|
|
3453
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
3344
3454
|
function Empty2({ title, description, children, className, style }) {
|
|
3345
|
-
return /* @__PURE__ */ (0,
|
|
3346
|
-
/* @__PURE__ */ (0,
|
|
3347
|
-
title ? /* @__PURE__ */ (0,
|
|
3348
|
-
description ? /* @__PURE__ */ (0,
|
|
3455
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Empty, { className, style, children: [
|
|
3456
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(EmptyHeader, { children: [
|
|
3457
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(EmptyTitle, { children: title }) : null,
|
|
3458
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(EmptyDescription, { children: description }) : null
|
|
3349
3459
|
] }),
|
|
3350
|
-
children ? /* @__PURE__ */ (0,
|
|
3460
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(EmptyContent, { children }) : null
|
|
3351
3461
|
] });
|
|
3352
3462
|
}
|
|
3353
3463
|
|
|
3354
3464
|
// src/ui/field.tsx
|
|
3355
3465
|
var import_field = require("@base-ui/react/field");
|
|
3356
|
-
var
|
|
3466
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
3357
3467
|
function Field({ className, ...props }) {
|
|
3358
|
-
return /* @__PURE__ */ (0,
|
|
3468
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
3359
3469
|
import_field.Field.Root,
|
|
3360
3470
|
{
|
|
3361
3471
|
"data-slot": "field",
|
|
@@ -3365,7 +3475,7 @@ function Field({ className, ...props }) {
|
|
|
3365
3475
|
);
|
|
3366
3476
|
}
|
|
3367
3477
|
function FieldLabel({ className, ...props }) {
|
|
3368
|
-
return /* @__PURE__ */ (0,
|
|
3478
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
3369
3479
|
import_field.Field.Label,
|
|
3370
3480
|
{
|
|
3371
3481
|
"data-slot": "field-label",
|
|
@@ -3375,7 +3485,7 @@ function FieldLabel({ className, ...props }) {
|
|
|
3375
3485
|
);
|
|
3376
3486
|
}
|
|
3377
3487
|
function FieldDescription({ className, ...props }) {
|
|
3378
|
-
return /* @__PURE__ */ (0,
|
|
3488
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
3379
3489
|
import_field.Field.Description,
|
|
3380
3490
|
{
|
|
3381
3491
|
"data-slot": "field-description",
|
|
@@ -3385,7 +3495,7 @@ function FieldDescription({ className, ...props }) {
|
|
|
3385
3495
|
);
|
|
3386
3496
|
}
|
|
3387
3497
|
function FieldError({ className, ...props }) {
|
|
3388
|
-
return /* @__PURE__ */ (0,
|
|
3498
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
3389
3499
|
import_field.Field.Error,
|
|
3390
3500
|
{
|
|
3391
3501
|
"data-slot": "field-error",
|
|
@@ -3396,18 +3506,24 @@ function FieldError({ className, ...props }) {
|
|
|
3396
3506
|
}
|
|
3397
3507
|
|
|
3398
3508
|
// src/components/components/Field/index.tsx
|
|
3399
|
-
var
|
|
3400
|
-
function Field2({ label, description, error, children, className, style }) {
|
|
3401
|
-
return /* @__PURE__ */ (0,
|
|
3402
|
-
label ? /* @__PURE__ */ (0,
|
|
3509
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
3510
|
+
function Field2({ label, required, description, error, children, className, style }) {
|
|
3511
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Field, { className, style, children: [
|
|
3512
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(FieldLabel, { children: [
|
|
3513
|
+
required ? /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("span", { "aria-hidden": true, className: "text-destructive", children: [
|
|
3514
|
+
"*",
|
|
3515
|
+
" "
|
|
3516
|
+
] }) : null,
|
|
3517
|
+
label
|
|
3518
|
+
] }) : null,
|
|
3403
3519
|
children,
|
|
3404
|
-
description ? /* @__PURE__ */ (0,
|
|
3405
|
-
error ? /* @__PURE__ */ (0,
|
|
3520
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(FieldDescription, { children: description }) : null,
|
|
3521
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(FieldError, { match: true, children: error }) : null
|
|
3406
3522
|
] });
|
|
3407
3523
|
}
|
|
3408
3524
|
|
|
3409
3525
|
// src/components/components/Flex/index.tsx
|
|
3410
|
-
var
|
|
3526
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
3411
3527
|
var gapClass = {
|
|
3412
3528
|
small: "gap-(--flex-gap-sm)",
|
|
3413
3529
|
middle: "gap-(--flex-gap-md)",
|
|
@@ -3437,7 +3553,7 @@ function Flex({
|
|
|
3437
3553
|
style,
|
|
3438
3554
|
children
|
|
3439
3555
|
}) {
|
|
3440
|
-
return /* @__PURE__ */ (0,
|
|
3556
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
3441
3557
|
"div",
|
|
3442
3558
|
{
|
|
3443
3559
|
"data-slot": "flex",
|
|
@@ -3457,9 +3573,9 @@ function Flex({
|
|
|
3457
3573
|
}
|
|
3458
3574
|
|
|
3459
3575
|
// src/components/components/Footer/index.tsx
|
|
3460
|
-
var
|
|
3576
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3461
3577
|
function Footer({ className, style, children }) {
|
|
3462
|
-
return /* @__PURE__ */ (0,
|
|
3578
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
3463
3579
|
"footer",
|
|
3464
3580
|
{
|
|
3465
3581
|
"data-slot": "layout-footer",
|
|
@@ -3474,9 +3590,9 @@ function Footer({ className, style, children }) {
|
|
|
3474
3590
|
}
|
|
3475
3591
|
|
|
3476
3592
|
// src/components/components/Form/index.tsx
|
|
3477
|
-
var
|
|
3593
|
+
var import_runtime10 = require("@pactor-app/runtime");
|
|
3478
3594
|
var import_react13 = require("react");
|
|
3479
|
-
var
|
|
3595
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
3480
3596
|
function isEmpty(value) {
|
|
3481
3597
|
return value === void 0 || value === null || value === "";
|
|
3482
3598
|
}
|
|
@@ -3490,7 +3606,7 @@ function Form({
|
|
|
3490
3606
|
onSubmit,
|
|
3491
3607
|
onValuesChange
|
|
3492
3608
|
}) {
|
|
3493
|
-
const { context } = (0,
|
|
3609
|
+
const { context } = (0, import_runtime10.useRenderer)();
|
|
3494
3610
|
const [values, setValues] = (0, import_react13.useState)(() => ({
|
|
3495
3611
|
...initialValues
|
|
3496
3612
|
}));
|
|
@@ -3557,7 +3673,7 @@ function Form({
|
|
|
3557
3673
|
context.state.set("form", values);
|
|
3558
3674
|
onSubmit?.(values);
|
|
3559
3675
|
};
|
|
3560
|
-
return /* @__PURE__ */ (0,
|
|
3676
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(FormContextProvider, { value: formContext, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
3561
3677
|
"form",
|
|
3562
3678
|
{
|
|
3563
3679
|
"data-slot": "form",
|
|
@@ -3571,10 +3687,10 @@ function Form({
|
|
|
3571
3687
|
|
|
3572
3688
|
// src/components/components/Grid/index.tsx
|
|
3573
3689
|
var import_react14 = require("react");
|
|
3574
|
-
var
|
|
3690
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
3575
3691
|
function Grid({ columns = 1, gap, className, style, children }) {
|
|
3576
3692
|
const cols = Math.max(1, columns);
|
|
3577
|
-
return /* @__PURE__ */ (0,
|
|
3693
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
3578
3694
|
"div",
|
|
3579
3695
|
{
|
|
3580
3696
|
"data-slot": "grid",
|
|
@@ -3585,15 +3701,15 @@ function Grid({ columns = 1, gap, className, style, children }) {
|
|
|
3585
3701
|
...gap !== void 0 ? { gap } : {},
|
|
3586
3702
|
...style
|
|
3587
3703
|
},
|
|
3588
|
-
children: import_react14.Children.map(children, (child, index) => /* @__PURE__ */ (0,
|
|
3704
|
+
children: import_react14.Children.map(children, (child, index) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { "data-slot": "grid-item", children: child }, index))
|
|
3589
3705
|
}
|
|
3590
3706
|
);
|
|
3591
3707
|
}
|
|
3592
3708
|
|
|
3593
3709
|
// src/components/components/Header/index.tsx
|
|
3594
|
-
var
|
|
3710
|
+
var import_runtime11 = require("@pactor-app/runtime");
|
|
3595
3711
|
var import_lucide_react16 = require("lucide-react");
|
|
3596
|
-
var
|
|
3712
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
3597
3713
|
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";
|
|
3598
3714
|
function Header({
|
|
3599
3715
|
logo,
|
|
@@ -3624,10 +3740,10 @@ function Header({
|
|
|
3624
3740
|
className
|
|
3625
3741
|
);
|
|
3626
3742
|
if (!hasBrand && !dropdown && !hasMenu && !hasUser && !hasLocales) {
|
|
3627
|
-
return /* @__PURE__ */ (0,
|
|
3743
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("header", { "data-slot": "layout-header", className: rootClass, style, children });
|
|
3628
3744
|
}
|
|
3629
|
-
const brandNode = hasBrand && /* @__PURE__ */ (0,
|
|
3630
|
-
logo !== void 0 && /* @__PURE__ */ (0,
|
|
3745
|
+
const brandNode = hasBrand && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { "data-slot": "header-brand", className: "flex items-center gap-2", children: [
|
|
3746
|
+
logo !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
3631
3747
|
"img",
|
|
3632
3748
|
{
|
|
3633
3749
|
"data-slot": "header-brand-logo",
|
|
@@ -3636,23 +3752,23 @@ function Header({
|
|
|
3636
3752
|
className: "h-8 w-8 shrink-0 object-contain"
|
|
3637
3753
|
}
|
|
3638
3754
|
),
|
|
3639
|
-
title !== void 0 && /* @__PURE__ */ (0,
|
|
3755
|
+
title !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { "data-slot": "header-brand-title", className: "text-base font-semibold", children: title })
|
|
3640
3756
|
] });
|
|
3641
|
-
const dropdownNode = dropdown !== void 0 && /* @__PURE__ */ (0,
|
|
3757
|
+
const dropdownNode = dropdown !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderDropdownArea, { dropdown, onSelect: onDropdownSelect });
|
|
3642
3758
|
const showLeft = brandLeft || dropdownLeft || hasMenu;
|
|
3643
3759
|
const showRight = dropdownRight || brandRight || hasLocales || hasUser;
|
|
3644
|
-
return /* @__PURE__ */ (0,
|
|
3645
|
-
showLeft && /* @__PURE__ */ (0,
|
|
3760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("header", { "data-slot": "layout-header", className: rootClass, style, children: [
|
|
3761
|
+
showLeft && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { "data-slot": "header-left", className: "flex items-center gap-4", children: [
|
|
3646
3762
|
brandLeft && brandNode,
|
|
3647
3763
|
dropdownLeft && dropdownNode,
|
|
3648
|
-
hasMenu && /* @__PURE__ */ (0,
|
|
3764
|
+
hasMenu && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderMenuArea, { items: menu, onSelect: onMenuSelect })
|
|
3649
3765
|
] }),
|
|
3650
|
-
/* @__PURE__ */ (0,
|
|
3651
|
-
showRight && /* @__PURE__ */ (0,
|
|
3766
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { "data-slot": "header-center", className: "flex flex-1 items-center gap-4", children }),
|
|
3767
|
+
showRight && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { "data-slot": "header-right", className: "flex items-center gap-4", children: [
|
|
3652
3768
|
dropdownRight && dropdownNode,
|
|
3653
3769
|
brandRight && brandNode,
|
|
3654
|
-
hasLocales && /* @__PURE__ */ (0,
|
|
3655
|
-
hasUser && /* @__PURE__ */ (0,
|
|
3770
|
+
hasLocales && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderLocalesArea, { locales, onSelect: onLocaleChange }),
|
|
3771
|
+
hasUser && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderUserArea, { user, onSelect: onUserSelect })
|
|
3656
3772
|
] })
|
|
3657
3773
|
] });
|
|
3658
3774
|
}
|
|
@@ -3660,25 +3776,25 @@ function HeaderDropdownArea({
|
|
|
3660
3776
|
dropdown,
|
|
3661
3777
|
onSelect
|
|
3662
3778
|
}) {
|
|
3663
|
-
return /* @__PURE__ */ (0,
|
|
3664
|
-
/* @__PURE__ */ (0,
|
|
3779
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenu, { children: [
|
|
3780
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
3665
3781
|
DropdownMenuTrigger,
|
|
3666
3782
|
{
|
|
3667
3783
|
"data-slot": "header-dropdown",
|
|
3668
3784
|
className: cn(menuItemClass, "outline-hidden cursor-pointer"),
|
|
3669
3785
|
children: [
|
|
3670
3786
|
dropdown.label,
|
|
3671
|
-
/* @__PURE__ */ (0,
|
|
3787
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react16.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
|
|
3672
3788
|
]
|
|
3673
3789
|
}
|
|
3674
3790
|
),
|
|
3675
|
-
/* @__PURE__ */ (0,
|
|
3791
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DropdownMenuContent, { children: dropdown.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
3676
3792
|
DropdownMenuItem,
|
|
3677
3793
|
{
|
|
3678
3794
|
disabled: item.disabled,
|
|
3679
3795
|
onClick: () => onSelect?.(item.value),
|
|
3680
3796
|
children: [
|
|
3681
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3797
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3682
3798
|
item.label
|
|
3683
3799
|
]
|
|
3684
3800
|
},
|
|
@@ -3690,23 +3806,23 @@ function HeaderMenuArea({
|
|
|
3690
3806
|
items,
|
|
3691
3807
|
onSelect
|
|
3692
3808
|
}) {
|
|
3693
|
-
return /* @__PURE__ */ (0,
|
|
3694
|
-
(item) => item.children !== void 0 && item.children.length > 0 ? /* @__PURE__ */ (0,
|
|
3695
|
-
/* @__PURE__ */ (0,
|
|
3809
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("nav", { "data-slot": "header-menu", className: "flex items-center gap-1", children: items.map(
|
|
3810
|
+
(item) => item.children !== void 0 && item.children.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenu, { children: [
|
|
3811
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
3696
3812
|
DropdownMenuTrigger,
|
|
3697
3813
|
{
|
|
3698
3814
|
"data-slot": "header-menu-item",
|
|
3699
3815
|
"data-key": item.key,
|
|
3700
3816
|
className: cn(menuItemClass, "outline-hidden cursor-pointer"),
|
|
3701
3817
|
children: [
|
|
3702
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3818
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3703
3819
|
item.label,
|
|
3704
|
-
/* @__PURE__ */ (0,
|
|
3820
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react16.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
|
|
3705
3821
|
]
|
|
3706
3822
|
}
|
|
3707
3823
|
),
|
|
3708
|
-
/* @__PURE__ */ (0,
|
|
3709
|
-
] }, item.key) : /* @__PURE__ */ (0,
|
|
3824
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DropdownMenuContent, { children: item.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderMenuEntry, { item: child, onSelect }, child.key)) })
|
|
3825
|
+
] }, item.key) : /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
3710
3826
|
"button",
|
|
3711
3827
|
{
|
|
3712
3828
|
type: "button",
|
|
@@ -3715,7 +3831,7 @@ function HeaderMenuArea({
|
|
|
3715
3831
|
className: menuItemClass,
|
|
3716
3832
|
onClick: () => onSelect?.(item.key),
|
|
3717
3833
|
children: [
|
|
3718
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3834
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3719
3835
|
item.label
|
|
3720
3836
|
]
|
|
3721
3837
|
},
|
|
@@ -3728,16 +3844,16 @@ function HeaderMenuEntry({
|
|
|
3728
3844
|
onSelect
|
|
3729
3845
|
}) {
|
|
3730
3846
|
if (item.children !== void 0 && item.children.length > 0) {
|
|
3731
|
-
return /* @__PURE__ */ (0,
|
|
3732
|
-
/* @__PURE__ */ (0,
|
|
3733
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3847
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenuSub, { children: [
|
|
3848
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenuSubTrigger, { "data-key": item.key, className: "cursor-pointer", children: [
|
|
3849
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3734
3850
|
item.label
|
|
3735
3851
|
] }),
|
|
3736
|
-
/* @__PURE__ */ (0,
|
|
3852
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DropdownMenuSubContent, { children: item.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(HeaderMenuEntry, { item: child, onSelect }, child.key)) })
|
|
3737
3853
|
] });
|
|
3738
3854
|
}
|
|
3739
|
-
return /* @__PURE__ */ (0,
|
|
3740
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3855
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenuItem, { "data-key": item.key, onClick: () => onSelect?.(item.key), children: [
|
|
3856
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3741
3857
|
item.label
|
|
3742
3858
|
] });
|
|
3743
3859
|
}
|
|
@@ -3745,18 +3861,18 @@ function HeaderUserArea({
|
|
|
3745
3861
|
user,
|
|
3746
3862
|
onSelect
|
|
3747
3863
|
}) {
|
|
3748
|
-
const identity = /* @__PURE__ */ (0,
|
|
3749
|
-
/* @__PURE__ */ (0,
|
|
3750
|
-
user.avatar !== void 0 && /* @__PURE__ */ (0,
|
|
3751
|
-
/* @__PURE__ */ (0,
|
|
3864
|
+
const identity = /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
|
|
3865
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(Avatar, { className: "size-7", children: [
|
|
3866
|
+
user.avatar !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AvatarImage, { src: user.avatar, alt: user.name }),
|
|
3867
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(AvatarFallback, { children: user.name.charAt(0) })
|
|
3752
3868
|
] }),
|
|
3753
|
-
/* @__PURE__ */ (0,
|
|
3869
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-sm", children: user.name })
|
|
3754
3870
|
] });
|
|
3755
3871
|
if (user.items === void 0 || user.items.length === 0) {
|
|
3756
|
-
return /* @__PURE__ */ (0,
|
|
3872
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { "data-slot": "header-user", className: "flex items-center gap-2", children: identity });
|
|
3757
3873
|
}
|
|
3758
|
-
return /* @__PURE__ */ (0,
|
|
3759
|
-
/* @__PURE__ */ (0,
|
|
3874
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenu, { children: [
|
|
3875
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
3760
3876
|
DropdownMenuTrigger,
|
|
3761
3877
|
{
|
|
3762
3878
|
"data-slot": "header-user",
|
|
@@ -3764,8 +3880,8 @@ function HeaderUserArea({
|
|
|
3764
3880
|
children: identity
|
|
3765
3881
|
}
|
|
3766
3882
|
),
|
|
3767
|
-
/* @__PURE__ */ (0,
|
|
3768
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3883
|
+
/* @__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: [
|
|
3884
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3769
3885
|
item.label
|
|
3770
3886
|
] }, item.value)) })
|
|
3771
3887
|
] });
|
|
@@ -3774,21 +3890,21 @@ function HeaderLocalesArea({
|
|
|
3774
3890
|
locales,
|
|
3775
3891
|
onSelect
|
|
3776
3892
|
}) {
|
|
3777
|
-
const { locale } = (0,
|
|
3893
|
+
const { locale } = (0, import_runtime11.useI18n)();
|
|
3778
3894
|
const current = locales.find((option) => option.value === locale);
|
|
3779
|
-
return /* @__PURE__ */ (0,
|
|
3780
|
-
/* @__PURE__ */ (0,
|
|
3895
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenu, { children: [
|
|
3896
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
3781
3897
|
DropdownMenuTrigger,
|
|
3782
3898
|
{
|
|
3783
3899
|
"data-slot": "header-locales",
|
|
3784
3900
|
className: cn(menuItemClass, "outline-hidden cursor-pointer"),
|
|
3785
3901
|
children: [
|
|
3786
3902
|
current?.label ?? locale,
|
|
3787
|
-
/* @__PURE__ */ (0,
|
|
3903
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react16.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
|
|
3788
3904
|
]
|
|
3789
3905
|
}
|
|
3790
3906
|
),
|
|
3791
|
-
/* @__PURE__ */ (0,
|
|
3907
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DropdownMenuContent, { align: "end", children: locales.map((option) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
3792
3908
|
DropdownMenuItem,
|
|
3793
3909
|
{
|
|
3794
3910
|
onClick: () => onSelect?.(option.value),
|
|
@@ -3800,20 +3916,20 @@ function HeaderLocalesArea({
|
|
|
3800
3916
|
}
|
|
3801
3917
|
|
|
3802
3918
|
// src/components/components/HoverCard/index.tsx
|
|
3803
|
-
var
|
|
3919
|
+
var import_runtime12 = require("@pactor-app/runtime");
|
|
3804
3920
|
|
|
3805
3921
|
// src/ui/hover-card.tsx
|
|
3806
3922
|
var import_preview_card = require("@base-ui/react/preview-card");
|
|
3807
|
-
var
|
|
3923
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
3808
3924
|
function HoverCard({
|
|
3809
3925
|
...props
|
|
3810
3926
|
}) {
|
|
3811
|
-
return /* @__PURE__ */ (0,
|
|
3927
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_preview_card.PreviewCard.Root, { "data-slot": "hover-card", ...props });
|
|
3812
3928
|
}
|
|
3813
3929
|
function HoverCardTrigger({
|
|
3814
3930
|
...props
|
|
3815
3931
|
}) {
|
|
3816
|
-
return /* @__PURE__ */ (0,
|
|
3932
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_preview_card.PreviewCard.Trigger, { "data-slot": "hover-card-trigger", ...props });
|
|
3817
3933
|
}
|
|
3818
3934
|
function HoverCardContent({
|
|
3819
3935
|
className,
|
|
@@ -3822,14 +3938,14 @@ function HoverCardContent({
|
|
|
3822
3938
|
sideOffset = 4,
|
|
3823
3939
|
...props
|
|
3824
3940
|
}) {
|
|
3825
|
-
return /* @__PURE__ */ (0,
|
|
3941
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_preview_card.PreviewCard.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
3826
3942
|
import_preview_card.PreviewCard.Positioner,
|
|
3827
3943
|
{
|
|
3828
3944
|
align,
|
|
3829
3945
|
side,
|
|
3830
3946
|
sideOffset,
|
|
3831
3947
|
className: "isolate z-50",
|
|
3832
|
-
children: /* @__PURE__ */ (0,
|
|
3948
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
3833
3949
|
import_preview_card.PreviewCard.Popup,
|
|
3834
3950
|
{
|
|
3835
3951
|
"data-slot": "hover-card-content",
|
|
@@ -3845,22 +3961,22 @@ function HoverCardContent({
|
|
|
3845
3961
|
}
|
|
3846
3962
|
|
|
3847
3963
|
// src/components/components/HoverCard/index.tsx
|
|
3848
|
-
var
|
|
3964
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
3849
3965
|
function isDslNode2(value) {
|
|
3850
3966
|
return typeof value === "object" && value !== null && typeof value.type === "string";
|
|
3851
3967
|
}
|
|
3852
3968
|
function HoverCard2({ content, children, className, style }) {
|
|
3853
|
-
const { renderChildren } = (0,
|
|
3854
|
-
return /* @__PURE__ */ (0,
|
|
3855
|
-
/* @__PURE__ */ (0,
|
|
3856
|
-
/* @__PURE__ */ (0,
|
|
3969
|
+
const { renderChildren } = (0, import_runtime12.useRenderer)();
|
|
3970
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(HoverCard, { children: [
|
|
3971
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(HoverCardTrigger, { render: triggerWrapper("hover-card-trigger-wrap"), children }),
|
|
3972
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(HoverCardContent, { className, style, children: isDslNode2(content) ? renderChildren([content]) : content })
|
|
3857
3973
|
] });
|
|
3858
3974
|
}
|
|
3859
3975
|
|
|
3860
3976
|
// src/components/components/Input/index.tsx
|
|
3861
|
-
var
|
|
3977
|
+
var import_runtime13 = require("@pactor-app/runtime");
|
|
3862
3978
|
var import_react15 = require("react");
|
|
3863
|
-
var
|
|
3979
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
3864
3980
|
function Input2({
|
|
3865
3981
|
name,
|
|
3866
3982
|
label,
|
|
@@ -3872,10 +3988,11 @@ function Input2({
|
|
|
3872
3988
|
allowClear,
|
|
3873
3989
|
onChange,
|
|
3874
3990
|
className,
|
|
3991
|
+
controlClassName,
|
|
3875
3992
|
style
|
|
3876
3993
|
}) {
|
|
3877
3994
|
const form = useFormContext();
|
|
3878
|
-
const { t } = (0,
|
|
3995
|
+
const { t } = (0, import_runtime13.useI18n)();
|
|
3879
3996
|
const controlId = (0, import_react15.useId)();
|
|
3880
3997
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
3881
3998
|
(0, import_react15.useEffect)(() => {
|
|
@@ -3895,7 +4012,7 @@ function Input2({
|
|
|
3895
4012
|
onChange?.("");
|
|
3896
4013
|
};
|
|
3897
4014
|
const inFormRoot = inForm === true;
|
|
3898
|
-
const input = /* @__PURE__ */ (0,
|
|
4015
|
+
const input = /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
3899
4016
|
Input,
|
|
3900
4017
|
{
|
|
3901
4018
|
id: controlId,
|
|
@@ -3903,7 +4020,10 @@ function Input2({
|
|
|
3903
4020
|
value: currentValue,
|
|
3904
4021
|
placeholder,
|
|
3905
4022
|
disabled,
|
|
3906
|
-
className:
|
|
4023
|
+
className: cn(
|
|
4024
|
+
!inFormRoot && allowClear !== true && className,
|
|
4025
|
+
allowClear !== true && controlClassName
|
|
4026
|
+
),
|
|
3907
4027
|
style: !inFormRoot && allowClear !== true ? style : void 0,
|
|
3908
4028
|
onChange: (event) => {
|
|
3909
4029
|
if (inForm && form && name) {
|
|
@@ -3913,7 +4033,7 @@ function Input2({
|
|
|
3913
4033
|
}
|
|
3914
4034
|
}
|
|
3915
4035
|
);
|
|
3916
|
-
const clearButton = showClear ? /* @__PURE__ */ (0,
|
|
4036
|
+
const clearButton = showClear ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
3917
4037
|
"button",
|
|
3918
4038
|
{
|
|
3919
4039
|
type: "button",
|
|
@@ -3923,10 +4043,14 @@ function Input2({
|
|
|
3923
4043
|
children: "\xD7"
|
|
3924
4044
|
}
|
|
3925
4045
|
) : null;
|
|
3926
|
-
const control = allowClear === true ? /* @__PURE__ */ (0,
|
|
4046
|
+
const control = allowClear === true ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
|
|
3927
4047
|
"span",
|
|
3928
4048
|
{
|
|
3929
|
-
className: cn(
|
|
4049
|
+
className: cn(
|
|
4050
|
+
"flex items-center gap-1",
|
|
4051
|
+
!inFormRoot && className,
|
|
4052
|
+
controlClassName
|
|
4053
|
+
),
|
|
3930
4054
|
style: inFormRoot ? void 0 : style,
|
|
3931
4055
|
children: [
|
|
3932
4056
|
input,
|
|
@@ -3936,14 +4060,14 @@ function Input2({
|
|
|
3936
4060
|
) : input;
|
|
3937
4061
|
if (inForm && form && name) {
|
|
3938
4062
|
const error = form.errors[name];
|
|
3939
|
-
return /* @__PURE__ */ (0,
|
|
4063
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
|
|
3940
4064
|
"div",
|
|
3941
4065
|
{
|
|
3942
4066
|
"data-slot": "form-item",
|
|
3943
4067
|
className: cn(formItemClass(form.layout), className),
|
|
3944
4068
|
style,
|
|
3945
4069
|
children: [
|
|
3946
|
-
label ? /* @__PURE__ */ (0,
|
|
4070
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
3947
4071
|
"label",
|
|
3948
4072
|
{
|
|
3949
4073
|
htmlFor: controlId,
|
|
@@ -3952,7 +4076,7 @@ function Input2({
|
|
|
3952
4076
|
}
|
|
3953
4077
|
) : null,
|
|
3954
4078
|
control,
|
|
3955
|
-
error ? /* @__PURE__ */ (0,
|
|
4079
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
3956
4080
|
]
|
|
3957
4081
|
}
|
|
3958
4082
|
);
|
|
@@ -3961,9 +4085,9 @@ function Input2({
|
|
|
3961
4085
|
}
|
|
3962
4086
|
|
|
3963
4087
|
// src/ui/input-group.tsx
|
|
3964
|
-
var
|
|
4088
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
3965
4089
|
function InputGroup({ className, ...props }) {
|
|
3966
|
-
return /* @__PURE__ */ (0,
|
|
4090
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3967
4091
|
"div",
|
|
3968
4092
|
{
|
|
3969
4093
|
"data-slot": "input-group",
|
|
@@ -3982,9 +4106,9 @@ function InputGroup({ className, ...props }) {
|
|
|
3982
4106
|
}
|
|
3983
4107
|
|
|
3984
4108
|
// src/components/components/InputGroup/index.tsx
|
|
3985
|
-
var
|
|
4109
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
3986
4110
|
function InputGroup2({ className, style, children }) {
|
|
3987
|
-
return /* @__PURE__ */ (0,
|
|
4111
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(InputGroup, { className, style, children });
|
|
3988
4112
|
}
|
|
3989
4113
|
|
|
3990
4114
|
// src/components/components/InputOTP/index.tsx
|
|
@@ -3993,14 +4117,14 @@ var import_react16 = require("react");
|
|
|
3993
4117
|
// src/ui/input-otp.tsx
|
|
3994
4118
|
var import_input_otp = require("input-otp");
|
|
3995
4119
|
var import_lucide_react17 = require("lucide-react");
|
|
3996
|
-
var
|
|
3997
|
-
var
|
|
4120
|
+
var React4 = __toESM(require("react"), 1);
|
|
4121
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
3998
4122
|
function InputOTP({
|
|
3999
4123
|
className,
|
|
4000
4124
|
containerClassName,
|
|
4001
4125
|
...props
|
|
4002
4126
|
}) {
|
|
4003
|
-
return /* @__PURE__ */ (0,
|
|
4127
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
4004
4128
|
import_input_otp.OTPInput,
|
|
4005
4129
|
{
|
|
4006
4130
|
"data-slot": "input-otp",
|
|
@@ -4014,7 +4138,7 @@ function InputOTP({
|
|
|
4014
4138
|
);
|
|
4015
4139
|
}
|
|
4016
4140
|
function InputOTPGroup({ className, ...props }) {
|
|
4017
|
-
return /* @__PURE__ */ (0,
|
|
4141
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
4018
4142
|
"div",
|
|
4019
4143
|
{
|
|
4020
4144
|
"data-slot": "input-otp-group",
|
|
@@ -4028,9 +4152,9 @@ function InputOTPSlot({
|
|
|
4028
4152
|
className,
|
|
4029
4153
|
...props
|
|
4030
4154
|
}) {
|
|
4031
|
-
const inputOTPContext =
|
|
4155
|
+
const inputOTPContext = React4.useContext(import_input_otp.OTPInputContext);
|
|
4032
4156
|
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
4033
|
-
return /* @__PURE__ */ (0,
|
|
4157
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
|
|
4034
4158
|
"div",
|
|
4035
4159
|
{
|
|
4036
4160
|
"data-slot": "input-otp-slot",
|
|
@@ -4042,14 +4166,14 @@ function InputOTPSlot({
|
|
|
4042
4166
|
...props,
|
|
4043
4167
|
children: [
|
|
4044
4168
|
char,
|
|
4045
|
-
hasFakeCaret ? /* @__PURE__ */ (0,
|
|
4169
|
+
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
|
|
4046
4170
|
]
|
|
4047
4171
|
}
|
|
4048
4172
|
);
|
|
4049
4173
|
}
|
|
4050
4174
|
|
|
4051
4175
|
// src/components/components/InputOTP/index.tsx
|
|
4052
|
-
var
|
|
4176
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
4053
4177
|
function InputOTP2({
|
|
4054
4178
|
name,
|
|
4055
4179
|
label,
|
|
@@ -4087,42 +4211,42 @@ function InputOTP2({
|
|
|
4087
4211
|
onComplete?.(next);
|
|
4088
4212
|
}
|
|
4089
4213
|
};
|
|
4090
|
-
const control = /* @__PURE__ */ (0,
|
|
4214
|
+
const control = /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
4091
4215
|
InputOTP,
|
|
4092
4216
|
{
|
|
4093
4217
|
maxLength: length,
|
|
4094
4218
|
value: current,
|
|
4095
4219
|
onChange: handleChange,
|
|
4096
4220
|
disabled,
|
|
4097
|
-
children: /* @__PURE__ */ (0,
|
|
4221
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(InputOTPGroup, { children: Array.from({ length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(InputOTPSlot, { index }, index)) })
|
|
4098
4222
|
}
|
|
4099
4223
|
);
|
|
4100
4224
|
if (inForm && form && name) {
|
|
4101
4225
|
const error = form.errors[name];
|
|
4102
|
-
return /* @__PURE__ */ (0,
|
|
4226
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
4103
4227
|
"div",
|
|
4104
4228
|
{
|
|
4105
4229
|
"data-slot": "form-item",
|
|
4106
4230
|
className: cn(formItemClass(form.layout), className),
|
|
4107
4231
|
style,
|
|
4108
4232
|
children: [
|
|
4109
|
-
label ? /* @__PURE__ */ (0,
|
|
4233
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("label", { className: "shrink-0 text-sm leading-none font-medium whitespace-nowrap", children: label }) : null,
|
|
4110
4234
|
control,
|
|
4111
|
-
error ? /* @__PURE__ */ (0,
|
|
4235
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
4112
4236
|
]
|
|
4113
4237
|
}
|
|
4114
4238
|
);
|
|
4115
4239
|
}
|
|
4116
|
-
return /* @__PURE__ */ (0,
|
|
4240
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { "data-slot": "input-otp-field", className: cn("inline-block", className), style, children: control });
|
|
4117
4241
|
}
|
|
4118
4242
|
|
|
4119
4243
|
// src/components/components/Item/index.tsx
|
|
4120
|
-
var
|
|
4244
|
+
var import_runtime14 = require("@pactor-app/runtime");
|
|
4121
4245
|
|
|
4122
4246
|
// src/ui/item.tsx
|
|
4123
|
-
var
|
|
4247
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
4124
4248
|
function Item({ className, ...props }) {
|
|
4125
|
-
return /* @__PURE__ */ (0,
|
|
4249
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
4126
4250
|
"div",
|
|
4127
4251
|
{
|
|
4128
4252
|
"data-slot": "item",
|
|
@@ -4135,7 +4259,7 @@ function Item({ className, ...props }) {
|
|
|
4135
4259
|
);
|
|
4136
4260
|
}
|
|
4137
4261
|
function ItemMedia({ className, ...props }) {
|
|
4138
|
-
return /* @__PURE__ */ (0,
|
|
4262
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
4139
4263
|
"div",
|
|
4140
4264
|
{
|
|
4141
4265
|
"data-slot": "item-media",
|
|
@@ -4148,7 +4272,7 @@ function ItemMedia({ className, ...props }) {
|
|
|
4148
4272
|
);
|
|
4149
4273
|
}
|
|
4150
4274
|
function ItemContent({ className, ...props }) {
|
|
4151
|
-
return /* @__PURE__ */ (0,
|
|
4275
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
4152
4276
|
"div",
|
|
4153
4277
|
{
|
|
4154
4278
|
"data-slot": "item-content",
|
|
@@ -4158,7 +4282,7 @@ function ItemContent({ className, ...props }) {
|
|
|
4158
4282
|
);
|
|
4159
4283
|
}
|
|
4160
4284
|
function ItemTitle({ className, ...props }) {
|
|
4161
|
-
return /* @__PURE__ */ (0,
|
|
4285
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
4162
4286
|
"div",
|
|
4163
4287
|
{
|
|
4164
4288
|
"data-slot": "item-title",
|
|
@@ -4168,7 +4292,7 @@ function ItemTitle({ className, ...props }) {
|
|
|
4168
4292
|
);
|
|
4169
4293
|
}
|
|
4170
4294
|
function ItemDescription({ className, ...props }) {
|
|
4171
|
-
return /* @__PURE__ */ (0,
|
|
4295
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
4172
4296
|
"p",
|
|
4173
4297
|
{
|
|
4174
4298
|
"data-slot": "item-description",
|
|
@@ -4178,7 +4302,7 @@ function ItemDescription({ className, ...props }) {
|
|
|
4178
4302
|
);
|
|
4179
4303
|
}
|
|
4180
4304
|
function ItemActions({ className, ...props }) {
|
|
4181
|
-
return /* @__PURE__ */ (0,
|
|
4305
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
4182
4306
|
"div",
|
|
4183
4307
|
{
|
|
4184
4308
|
"data-slot": "item-actions",
|
|
@@ -4189,7 +4313,7 @@ function ItemActions({ className, ...props }) {
|
|
|
4189
4313
|
}
|
|
4190
4314
|
|
|
4191
4315
|
// src/components/components/Item/index.tsx
|
|
4192
|
-
var
|
|
4316
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
4193
4317
|
function Item2({
|
|
4194
4318
|
title,
|
|
4195
4319
|
description,
|
|
@@ -4198,22 +4322,22 @@ function Item2({
|
|
|
4198
4322
|
className,
|
|
4199
4323
|
style
|
|
4200
4324
|
}) {
|
|
4201
|
-
const { renderChildren } = (0,
|
|
4325
|
+
const { renderChildren } = (0, import_runtime14.useRenderer)();
|
|
4202
4326
|
const mediaNodes = media === void 0 ? [] : Array.isArray(media) ? media : [media];
|
|
4203
|
-
return /* @__PURE__ */ (0,
|
|
4204
|
-
mediaNodes.length > 0 ? /* @__PURE__ */ (0,
|
|
4205
|
-
/* @__PURE__ */ (0,
|
|
4206
|
-
title ? /* @__PURE__ */ (0,
|
|
4207
|
-
description ? /* @__PURE__ */ (0,
|
|
4327
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(Item, { className, style, children: [
|
|
4328
|
+
mediaNodes.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ItemMedia, { children: renderChildren(mediaNodes) }) : null,
|
|
4329
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(ItemContent, { children: [
|
|
4330
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ItemTitle, { children: title }) : null,
|
|
4331
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ItemDescription, { children: description }) : null
|
|
4208
4332
|
] }),
|
|
4209
|
-
actions && actions.length > 0 ? /* @__PURE__ */ (0,
|
|
4333
|
+
actions && actions.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ItemActions, { children: renderChildren(actions) }) : null
|
|
4210
4334
|
] });
|
|
4211
4335
|
}
|
|
4212
4336
|
|
|
4213
4337
|
// src/ui/kbd.tsx
|
|
4214
|
-
var
|
|
4338
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
4215
4339
|
function Kbd({ className, ...props }) {
|
|
4216
|
-
return /* @__PURE__ */ (0,
|
|
4340
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
4217
4341
|
"kbd",
|
|
4218
4342
|
{
|
|
4219
4343
|
"data-slot": "kbd",
|
|
@@ -4227,18 +4351,18 @@ function Kbd({ className, ...props }) {
|
|
|
4227
4351
|
}
|
|
4228
4352
|
|
|
4229
4353
|
// src/components/components/Kbd/index.tsx
|
|
4230
|
-
var
|
|
4354
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
4231
4355
|
function Kbd2({ text, className, style }) {
|
|
4232
|
-
return /* @__PURE__ */ (0,
|
|
4356
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Kbd, { className, style, children: text });
|
|
4233
4357
|
}
|
|
4234
4358
|
|
|
4235
4359
|
// src/ui/label.tsx
|
|
4236
|
-
var
|
|
4360
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
4237
4361
|
function Label({
|
|
4238
4362
|
className,
|
|
4239
4363
|
...props
|
|
4240
4364
|
}) {
|
|
4241
|
-
return /* @__PURE__ */ (0,
|
|
4365
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
4242
4366
|
"label",
|
|
4243
4367
|
{
|
|
4244
4368
|
"data-slot": "label",
|
|
@@ -4252,22 +4376,22 @@ function Label({
|
|
|
4252
4376
|
}
|
|
4253
4377
|
|
|
4254
4378
|
// src/components/components/Label/index.tsx
|
|
4255
|
-
var
|
|
4379
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
4256
4380
|
function Label2({ text, htmlFor, className, style }) {
|
|
4257
|
-
return /* @__PURE__ */ (0,
|
|
4381
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Label, { htmlFor, className, style, children: text });
|
|
4258
4382
|
}
|
|
4259
4383
|
|
|
4260
4384
|
// src/components/components/Layout/index.tsx
|
|
4261
4385
|
var import_core = require("@pactor-app/core");
|
|
4262
|
-
var
|
|
4263
|
-
var
|
|
4386
|
+
var import_runtime15 = require("@pactor-app/runtime");
|
|
4387
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
4264
4388
|
function Layout({ direction, className, style, dslChildren }) {
|
|
4265
|
-
const { renderChildren, context } = (0,
|
|
4389
|
+
const { renderChildren, context } = (0, import_runtime15.useRenderer)();
|
|
4266
4390
|
const hasSider = Array.isArray(dslChildren) ? dslChildren.some(
|
|
4267
4391
|
(child) => !(0, import_core.isDslSourceRef)(child) && resolveRootType(child, context) === "Sider"
|
|
4268
4392
|
) : false;
|
|
4269
4393
|
const dir = direction ?? (hasSider ? "horizontal" : "vertical");
|
|
4270
|
-
return /* @__PURE__ */ (0,
|
|
4394
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
4271
4395
|
"div",
|
|
4272
4396
|
{
|
|
4273
4397
|
"data-slot": "layout",
|
|
@@ -4291,9 +4415,10 @@ function resolveRootType(node, context) {
|
|
|
4291
4415
|
}
|
|
4292
4416
|
|
|
4293
4417
|
// src/components/components/Link/index.tsx
|
|
4294
|
-
var
|
|
4418
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
4295
4419
|
function Link2({ href, text, target, className, style, children }) {
|
|
4296
|
-
|
|
4420
|
+
const handleSpaClick = useSpaLinkClick();
|
|
4421
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
4297
4422
|
"a",
|
|
4298
4423
|
{
|
|
4299
4424
|
"data-slot": "link",
|
|
@@ -4302,6 +4427,7 @@ function Link2({ href, text, target, className, style, children }) {
|
|
|
4302
4427
|
rel: target === "_blank" ? "noreferrer" : void 0,
|
|
4303
4428
|
className: cn("text-primary underline-offset-4 hover:underline", className),
|
|
4304
4429
|
style,
|
|
4430
|
+
onClick: (event) => handleSpaClick(event, href, target),
|
|
4305
4431
|
children: text ?? children
|
|
4306
4432
|
}
|
|
4307
4433
|
);
|
|
@@ -4310,84 +4436,24 @@ function Link2({ href, text, target, className, style, children }) {
|
|
|
4310
4436
|
// src/components/components/Menu/index.tsx
|
|
4311
4437
|
var import_react19 = require("react");
|
|
4312
4438
|
|
|
4313
|
-
// src/ui/tooltip.tsx
|
|
4314
|
-
var import_tooltip = require("@base-ui/react/tooltip");
|
|
4315
|
-
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
4316
|
-
function TooltipProvider({
|
|
4317
|
-
delay = 0,
|
|
4318
|
-
...props
|
|
4319
|
-
}) {
|
|
4320
|
-
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
4321
|
-
import_tooltip.Tooltip.Provider,
|
|
4322
|
-
{
|
|
4323
|
-
"data-slot": "tooltip-provider",
|
|
4324
|
-
delay,
|
|
4325
|
-
...props
|
|
4326
|
-
}
|
|
4327
|
-
);
|
|
4328
|
-
}
|
|
4329
|
-
function Tooltip2({
|
|
4330
|
-
...props
|
|
4331
|
-
}) {
|
|
4332
|
-
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_tooltip.Tooltip.Root, { "data-slot": "tooltip", ...props }) });
|
|
4333
|
-
}
|
|
4334
|
-
function TooltipTrigger({
|
|
4335
|
-
...props
|
|
4336
|
-
}) {
|
|
4337
|
-
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_tooltip.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
4338
|
-
}
|
|
4339
|
-
function TooltipContent({
|
|
4340
|
-
className,
|
|
4341
|
-
side = "top",
|
|
4342
|
-
sideOffset = 4,
|
|
4343
|
-
align = "center",
|
|
4344
|
-
children,
|
|
4345
|
-
...props
|
|
4346
|
-
}) {
|
|
4347
|
-
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
4348
|
-
import_tooltip.Tooltip.Positioner,
|
|
4349
|
-
{
|
|
4350
|
-
align,
|
|
4351
|
-
side,
|
|
4352
|
-
sideOffset,
|
|
4353
|
-
className: "isolate z-50",
|
|
4354
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
|
|
4355
|
-
import_tooltip.Tooltip.Popup,
|
|
4356
|
-
{
|
|
4357
|
-
"data-slot": "tooltip-content",
|
|
4358
|
-
className: cn(
|
|
4359
|
-
"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",
|
|
4360
|
-
className
|
|
4361
|
-
),
|
|
4362
|
-
...props,
|
|
4363
|
-
children: [
|
|
4364
|
-
children,
|
|
4365
|
-
/* @__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" })
|
|
4366
|
-
]
|
|
4367
|
-
}
|
|
4368
|
-
)
|
|
4369
|
-
}
|
|
4370
|
-
) });
|
|
4371
|
-
}
|
|
4372
|
-
|
|
4373
4439
|
// src/components/components/Sidebar/rail-tooltip.tsx
|
|
4374
4440
|
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
4375
4441
|
function RailTooltip({
|
|
4376
4442
|
label,
|
|
4377
4443
|
children
|
|
4378
4444
|
}) {
|
|
4379
|
-
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
4445
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(Tooltip, { children: [
|
|
4380
4446
|
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(TooltipTrigger, { render: children }),
|
|
4381
4447
|
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(TooltipContent, { side: "right", sideOffset: 8, children: label })
|
|
4382
4448
|
] });
|
|
4383
4449
|
}
|
|
4384
4450
|
|
|
4385
4451
|
// src/components/components/Sidebar/index.tsx
|
|
4386
|
-
var
|
|
4452
|
+
var import_runtime16 = require("@pactor-app/runtime");
|
|
4387
4453
|
var import_react18 = require("react");
|
|
4388
4454
|
|
|
4389
4455
|
// src/ui/sidebar.tsx
|
|
4390
|
-
var
|
|
4456
|
+
var React5 = __toESM(require("react"), 1);
|
|
4391
4457
|
var import_class_variance_authority5 = require("class-variance-authority");
|
|
4392
4458
|
var import_lucide_react19 = require("lucide-react");
|
|
4393
4459
|
|
|
@@ -4579,9 +4645,9 @@ var SIDEBAR_WIDTH = "16rem";
|
|
|
4579
4645
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
4580
4646
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
4581
4647
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
4582
|
-
var SidebarContext =
|
|
4648
|
+
var SidebarContext = React5.createContext(null);
|
|
4583
4649
|
function useSidebar() {
|
|
4584
|
-
const context =
|
|
4650
|
+
const context = React5.useContext(SidebarContext);
|
|
4585
4651
|
if (!context) {
|
|
4586
4652
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
4587
4653
|
}
|
|
@@ -4597,10 +4663,10 @@ function SidebarProvider({
|
|
|
4597
4663
|
...props
|
|
4598
4664
|
}) {
|
|
4599
4665
|
const isMobile = useIsMobile();
|
|
4600
|
-
const [openMobile, setOpenMobile] =
|
|
4601
|
-
const [_open, _setOpen] =
|
|
4666
|
+
const [openMobile, setOpenMobile] = React5.useState(false);
|
|
4667
|
+
const [_open, _setOpen] = React5.useState(defaultOpen);
|
|
4602
4668
|
const open = openProp ?? _open;
|
|
4603
|
-
const setOpen =
|
|
4669
|
+
const setOpen = React5.useCallback(
|
|
4604
4670
|
(value) => {
|
|
4605
4671
|
const openState = typeof value === "function" ? value(open) : value;
|
|
4606
4672
|
if (setOpenProp) {
|
|
@@ -4612,10 +4678,10 @@ function SidebarProvider({
|
|
|
4612
4678
|
},
|
|
4613
4679
|
[setOpenProp, open]
|
|
4614
4680
|
);
|
|
4615
|
-
const toggleSidebar =
|
|
4681
|
+
const toggleSidebar = React5.useCallback(() => {
|
|
4616
4682
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
4617
4683
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
4618
|
-
|
|
4684
|
+
React5.useEffect(() => {
|
|
4619
4685
|
const handleKeyDown = (event) => {
|
|
4620
4686
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
4621
4687
|
event.preventDefault();
|
|
@@ -4626,7 +4692,7 @@ function SidebarProvider({
|
|
|
4626
4692
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
4627
4693
|
}, [toggleSidebar]);
|
|
4628
4694
|
const state = open ? "expanded" : "collapsed";
|
|
4629
|
-
const contextValue =
|
|
4695
|
+
const contextValue = React5.useMemo(
|
|
4630
4696
|
() => ({
|
|
4631
4697
|
state,
|
|
4632
4698
|
open,
|
|
@@ -4800,10 +4866,10 @@ function SidebarContent({ className, ...props }) {
|
|
|
4800
4866
|
);
|
|
4801
4867
|
}
|
|
4802
4868
|
function renderAsChild(children, dataSlot, className, rest) {
|
|
4803
|
-
if (!
|
|
4869
|
+
if (!React5.isValidElement(children)) {
|
|
4804
4870
|
return null;
|
|
4805
4871
|
}
|
|
4806
|
-
return
|
|
4872
|
+
return React5.cloneElement(children, {
|
|
4807
4873
|
"data-slot": dataSlot,
|
|
4808
4874
|
className: cn(
|
|
4809
4875
|
className,
|
|
@@ -4891,7 +4957,7 @@ function SidebarMenuButton({
|
|
|
4891
4957
|
children: tooltip
|
|
4892
4958
|
};
|
|
4893
4959
|
}
|
|
4894
|
-
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
4960
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Tooltip, { children: [
|
|
4895
4961
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TooltipTrigger, { render: button }),
|
|
4896
4962
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4897
4963
|
TooltipContent,
|
|
@@ -4920,7 +4986,7 @@ function useSidebarDrawer() {
|
|
|
4920
4986
|
}
|
|
4921
4987
|
function useOptionalRenderer() {
|
|
4922
4988
|
try {
|
|
4923
|
-
return (0,
|
|
4989
|
+
return (0, import_runtime16.useRenderer)();
|
|
4924
4990
|
} catch {
|
|
4925
4991
|
return null;
|
|
4926
4992
|
}
|
|
@@ -5027,7 +5093,7 @@ function SidebarInner({
|
|
|
5027
5093
|
drawer = true,
|
|
5028
5094
|
children
|
|
5029
5095
|
}) {
|
|
5030
|
-
const { t } = (0,
|
|
5096
|
+
const { t } = (0, import_runtime16.useI18n)();
|
|
5031
5097
|
const isMobile = useIsMobile();
|
|
5032
5098
|
const { state, setOpenMobile, toggleSidebar } = useSidebar();
|
|
5033
5099
|
const collapsed = state === "collapsed";
|
|
@@ -5805,13 +5871,13 @@ function Pagination2({
|
|
|
5805
5871
|
}
|
|
5806
5872
|
|
|
5807
5873
|
// src/components/components/Popover/index.tsx
|
|
5808
|
-
var
|
|
5874
|
+
var import_runtime17 = require("@pactor-app/runtime");
|
|
5809
5875
|
var import_jsx_runtime92 = require("react/jsx-runtime");
|
|
5810
5876
|
function isDslNode3(value) {
|
|
5811
5877
|
return typeof value === "object" && value !== null && typeof value.type === "string";
|
|
5812
5878
|
}
|
|
5813
5879
|
function Popover2({ content, children, className, style }) {
|
|
5814
|
-
const { renderChildren } = (0,
|
|
5880
|
+
const { renderChildren } = (0, import_runtime17.useRenderer)();
|
|
5815
5881
|
return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(Popover, { children: [
|
|
5816
5882
|
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
|
|
5817
5883
|
PopoverTrigger,
|
|
@@ -6032,7 +6098,7 @@ function RadioGroup2({
|
|
|
6032
6098
|
}
|
|
6033
6099
|
|
|
6034
6100
|
// src/components/components/Resizable/index.tsx
|
|
6035
|
-
var
|
|
6101
|
+
var import_runtime18 = require("@pactor-app/runtime");
|
|
6036
6102
|
var import_react22 = require("react");
|
|
6037
6103
|
|
|
6038
6104
|
// src/ui/resizable.tsx
|
|
@@ -6085,7 +6151,7 @@ function Resizable({
|
|
|
6085
6151
|
className,
|
|
6086
6152
|
style
|
|
6087
6153
|
}) {
|
|
6088
|
-
const { renderChildren } = (0,
|
|
6154
|
+
const { renderChildren } = (0, import_runtime18.useRenderer)();
|
|
6089
6155
|
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: [
|
|
6090
6156
|
index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(ResizableHandle, { withHandle: true }) : null,
|
|
6091
6157
|
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
@@ -6177,7 +6243,7 @@ function ScrollArea2({
|
|
|
6177
6243
|
}
|
|
6178
6244
|
|
|
6179
6245
|
// src/components/components/Select/index.tsx
|
|
6180
|
-
var
|
|
6246
|
+
var import_runtime19 = require("@pactor-app/runtime");
|
|
6181
6247
|
var import_react23 = require("react");
|
|
6182
6248
|
|
|
6183
6249
|
// src/ui/select.tsx
|
|
@@ -6323,10 +6389,11 @@ function Select2({
|
|
|
6323
6389
|
allowClear,
|
|
6324
6390
|
onChange,
|
|
6325
6391
|
className,
|
|
6392
|
+
controlClassName,
|
|
6326
6393
|
style
|
|
6327
6394
|
}) {
|
|
6328
6395
|
const form = useFormContext();
|
|
6329
|
-
const { t } = (0,
|
|
6396
|
+
const { t } = (0, import_runtime19.useI18n)();
|
|
6330
6397
|
const controlId = (0, import_react23.useId)();
|
|
6331
6398
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
6332
6399
|
(0, import_react23.useEffect)(() => {
|
|
@@ -6348,7 +6415,12 @@ function Select2({
|
|
|
6348
6415
|
const select = /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
|
|
6349
6416
|
"span",
|
|
6350
6417
|
{
|
|
6351
|
-
className: cn(
|
|
6418
|
+
className: cn(
|
|
6419
|
+
// Form / Field(Form 上下文)内控件占满整行宽度;独立渲染保持内容自然宽度
|
|
6420
|
+
inFormRoot ? "flex w-full items-center gap-1" : "inline-flex items-center gap-1",
|
|
6421
|
+
!inFormRoot && className,
|
|
6422
|
+
controlClassName
|
|
6423
|
+
),
|
|
6352
6424
|
style: inFormRoot ? void 0 : style,
|
|
6353
6425
|
children: [
|
|
6354
6426
|
/* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
|
|
@@ -6360,7 +6432,7 @@ function Select2({
|
|
|
6360
6432
|
disabled,
|
|
6361
6433
|
name: inForm ? name : void 0,
|
|
6362
6434
|
children: [
|
|
6363
|
-
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectTrigger, { id: controlId, children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectValue, { placeholder }) }),
|
|
6435
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectTrigger, { id: controlId, className: inFormRoot ? "w-full" : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectValue, { placeholder }) }),
|
|
6364
6436
|
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectContent, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
6365
6437
|
SelectItem,
|
|
6366
6438
|
{
|
|
@@ -6651,7 +6723,7 @@ function Slider2({
|
|
|
6651
6723
|
}
|
|
6652
6724
|
|
|
6653
6725
|
// src/components/components/Sonner/index.tsx
|
|
6654
|
-
var
|
|
6726
|
+
var import_runtime20 = require("@pactor-app/runtime");
|
|
6655
6727
|
var import_react25 = require("react");
|
|
6656
6728
|
|
|
6657
6729
|
// src/ui/toast.tsx
|
|
@@ -6731,7 +6803,7 @@ function Toaster({ className }) {
|
|
|
6731
6803
|
// src/components/components/Sonner/index.tsx
|
|
6732
6804
|
var import_jsx_runtime111 = require("react/jsx-runtime");
|
|
6733
6805
|
function Sonner({ className, style }) {
|
|
6734
|
-
const { context } = (0,
|
|
6806
|
+
const { context } = (0, import_runtime20.useRenderer)();
|
|
6735
6807
|
(0, import_react25.useEffect)(() => {
|
|
6736
6808
|
const { actions } = context;
|
|
6737
6809
|
if (actions.has("toast")) {
|
|
@@ -6884,7 +6956,7 @@ function Switch2({
|
|
|
6884
6956
|
}
|
|
6885
6957
|
|
|
6886
6958
|
// src/components/components/Table/index.tsx
|
|
6887
|
-
var
|
|
6959
|
+
var import_runtime21 = require("@pactor-app/runtime");
|
|
6888
6960
|
var import_react27 = require("react");
|
|
6889
6961
|
var import_jsx_runtime117 = require("react/jsx-runtime");
|
|
6890
6962
|
function renderCellValue2(value) {
|
|
@@ -6906,8 +6978,8 @@ function Table3({
|
|
|
6906
6978
|
className,
|
|
6907
6979
|
style
|
|
6908
6980
|
}) {
|
|
6909
|
-
const { renderChildren } = (0,
|
|
6910
|
-
const { t } = (0,
|
|
6981
|
+
const { renderChildren } = (0, import_runtime21.useRenderer)();
|
|
6982
|
+
const { t } = (0, import_runtime21.useI18n)();
|
|
6911
6983
|
const [current, setCurrent] = (0, import_react27.useState)(1);
|
|
6912
6984
|
const pageSize = pagination === false ? void 0 : pagination?.pageSize;
|
|
6913
6985
|
const total = dataSource.length;
|
|
@@ -6973,7 +7045,7 @@ function Table3({
|
|
|
6973
7045
|
}
|
|
6974
7046
|
|
|
6975
7047
|
// src/components/components/Tabs/index.tsx
|
|
6976
|
-
var
|
|
7048
|
+
var import_runtime22 = require("@pactor-app/runtime");
|
|
6977
7049
|
|
|
6978
7050
|
// src/ui/tabs.tsx
|
|
6979
7051
|
var import_tabs = require("@base-ui/react/tabs");
|
|
@@ -7059,7 +7131,7 @@ function TabsContent({
|
|
|
7059
7131
|
// src/components/components/Tabs/index.tsx
|
|
7060
7132
|
var import_jsx_runtime119 = require("react/jsx-runtime");
|
|
7061
7133
|
function Tabs2({ items = [], activeKey, variant, onChange, className, style }) {
|
|
7062
|
-
const { renderChildren } = (0,
|
|
7134
|
+
const { renderChildren } = (0, import_runtime22.useRenderer)();
|
|
7063
7135
|
return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
|
|
7064
7136
|
Tabs,
|
|
7065
7137
|
{
|
|
@@ -7085,9 +7157,15 @@ var typeClassMap = {
|
|
|
7085
7157
|
warning: "text-warning",
|
|
7086
7158
|
danger: "text-destructive"
|
|
7087
7159
|
};
|
|
7160
|
+
var sizeClassMap = {
|
|
7161
|
+
small: "text-xs",
|
|
7162
|
+
middle: "",
|
|
7163
|
+
large: "text-lg"
|
|
7164
|
+
};
|
|
7088
7165
|
function Text({
|
|
7089
7166
|
text,
|
|
7090
7167
|
type = "default",
|
|
7168
|
+
size = "middle",
|
|
7091
7169
|
strong,
|
|
7092
7170
|
delete: del,
|
|
7093
7171
|
underline,
|
|
@@ -7103,6 +7181,7 @@ function Text({
|
|
|
7103
7181
|
"data-type": type,
|
|
7104
7182
|
className: cn(
|
|
7105
7183
|
typeClassMap[type],
|
|
7184
|
+
sizeClassMap[size],
|
|
7106
7185
|
strong && "font-semibold",
|
|
7107
7186
|
del && "line-through",
|
|
7108
7187
|
underline && "underline",
|
|
@@ -7252,9 +7331,9 @@ function Toggle2({
|
|
|
7252
7331
|
// src/ui/toggle-group.tsx
|
|
7253
7332
|
var import_toggle3 = require("@base-ui/react/toggle");
|
|
7254
7333
|
var import_toggle_group = require("@base-ui/react/toggle-group");
|
|
7255
|
-
var
|
|
7334
|
+
var React6 = __toESM(require("react"), 1);
|
|
7256
7335
|
var import_jsx_runtime124 = require("react/jsx-runtime");
|
|
7257
|
-
var ToggleGroupContext =
|
|
7336
|
+
var ToggleGroupContext = React6.createContext({
|
|
7258
7337
|
size: "default",
|
|
7259
7338
|
variant: "default"
|
|
7260
7339
|
});
|
|
@@ -7287,7 +7366,7 @@ function ToggleGroupItem({
|
|
|
7287
7366
|
size,
|
|
7288
7367
|
...props
|
|
7289
7368
|
}) {
|
|
7290
|
-
const context =
|
|
7369
|
+
const context = React6.useContext(ToggleGroupContext);
|
|
7291
7370
|
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
7292
7371
|
import_toggle3.Toggle,
|
|
7293
7372
|
{
|
|
@@ -7354,7 +7433,7 @@ function ToggleGroup2({
|
|
|
7354
7433
|
// src/components/components/Tooltip/index.tsx
|
|
7355
7434
|
var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
7356
7435
|
function Tooltip3({ content, children, className, style }) {
|
|
7357
|
-
return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
|
|
7436
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(Tooltip, { children: [
|
|
7358
7437
|
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(TooltipTrigger, { render: triggerWrapper("tooltip-trigger-wrap"), children }),
|
|
7359
7438
|
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(TooltipContent, { className, style, children: content })
|
|
7360
7439
|
] });
|