@pactor-app/ui 1.17.1 → 1.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-IH67RZJ4.js → chunk-COMLXFWS.js} +1 -1
- package/dist/{chunk-LU36YCYA.js → chunk-IMRMBMHI.js} +2 -2
- package/dist/{chunk-GVBFVV7I.js → chunk-MHM7LTV2.js} +333 -166
- package/dist/{chunk-OGNXKVGQ.js → chunk-RB7RCKAX.js} +3 -1
- package/dist/{chunk-64JZPHD3.js → chunk-XA6OJ54X.js} +10 -4
- package/dist/components/index.cjs +446 -268
- package/dist/components/index.d.cts +42 -1
- package/dist/components/index.d.ts +42 -1
- package/dist/components/index.js +6 -4
- package/dist/index.cjs +597 -419
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +7 -5
- package/dist/layout/index.cjs +3 -1
- package/dist/layout/index.js +3 -3
- package/dist/ui/index.cjs +12 -4
- package/dist/ui/index.js +2 -2
- package/package.json +5 -5
- package/styles.css +40 -3
|
@@ -76,6 +76,7 @@ __export(components_exports, {
|
|
|
76
76
|
Menu: () => Menu2,
|
|
77
77
|
Menubar: () => Menubar2,
|
|
78
78
|
NavigationMenu: () => NavigationMenu2,
|
|
79
|
+
NumberInput: () => NumberInput,
|
|
79
80
|
Page: () => Page,
|
|
80
81
|
Pagination: () => Pagination2,
|
|
81
82
|
Popover: () => Popover2,
|
|
@@ -1883,7 +1884,7 @@ function ComboboxContent({
|
|
|
1883
1884
|
PopoverContent,
|
|
1884
1885
|
{
|
|
1885
1886
|
"data-slot": "combobox-content",
|
|
1886
|
-
className: cn("w-
|
|
1887
|
+
className: cn("w-(--anchor-width) p-0", className),
|
|
1887
1888
|
...props,
|
|
1888
1889
|
children
|
|
1889
1890
|
}
|
|
@@ -4910,7 +4911,9 @@ function SidebarInset({ className, ...props }) {
|
|
|
4910
4911
|
{
|
|
4911
4912
|
"data-slot": "sidebar-inset",
|
|
4912
4913
|
className: cn(
|
|
4913
|
-
|
|
4914
|
+
// min-w-0:作为横向 flex 项需允许收缩到内容 min-content 以下,
|
|
4915
|
+
// 否则宽表格等内容会撑破视口(内部 overflow-x-auto 永不生效)
|
|
4916
|
+
"relative flex w-full min-w-0 flex-1 flex-col bg-background",
|
|
4914
4917
|
"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
|
|
4915
4918
|
className
|
|
4916
4919
|
),
|
|
@@ -5770,23 +5773,210 @@ function NavigationMenu2({ items = [], className, style }) {
|
|
|
5770
5773
|
) }, `${item.label}-${index}`)) }) });
|
|
5771
5774
|
}
|
|
5772
5775
|
|
|
5773
|
-
// src/components/components/
|
|
5776
|
+
// src/components/components/NumberInput/index.tsx
|
|
5777
|
+
var import_runtime17 = require("@pactor-app/runtime");
|
|
5778
|
+
var import_lucide_react21 = require("lucide-react");
|
|
5779
|
+
var import_react21 = require("react");
|
|
5780
|
+
|
|
5781
|
+
// src/components/components/Form/form-item.tsx
|
|
5774
5782
|
var import_jsx_runtime89 = require("react/jsx-runtime");
|
|
5783
|
+
function FieldShell({
|
|
5784
|
+
layout,
|
|
5785
|
+
label,
|
|
5786
|
+
htmlFor,
|
|
5787
|
+
error,
|
|
5788
|
+
className,
|
|
5789
|
+
style,
|
|
5790
|
+
children
|
|
5791
|
+
}) {
|
|
5792
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
|
|
5793
|
+
"div",
|
|
5794
|
+
{
|
|
5795
|
+
"data-slot": "form-item",
|
|
5796
|
+
className: cn(formItemClass(layout), className),
|
|
5797
|
+
style,
|
|
5798
|
+
children: [
|
|
5799
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
5800
|
+
"label",
|
|
5801
|
+
{
|
|
5802
|
+
htmlFor,
|
|
5803
|
+
className: "shrink-0 text-sm leading-none font-medium whitespace-nowrap",
|
|
5804
|
+
children: label
|
|
5805
|
+
}
|
|
5806
|
+
) : null,
|
|
5807
|
+
children,
|
|
5808
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
5809
|
+
]
|
|
5810
|
+
}
|
|
5811
|
+
);
|
|
5812
|
+
}
|
|
5813
|
+
|
|
5814
|
+
// src/components/components/NumberInput/index.tsx
|
|
5815
|
+
var import_jsx_runtime90 = require("react/jsx-runtime");
|
|
5816
|
+
function clamp(value, min, max) {
|
|
5817
|
+
let next = value;
|
|
5818
|
+
if (typeof min === "number" && next < min) next = min;
|
|
5819
|
+
if (typeof max === "number" && next > max) next = max;
|
|
5820
|
+
return next;
|
|
5821
|
+
}
|
|
5822
|
+
function applyPrecision(value, precision) {
|
|
5823
|
+
if (typeof precision !== "number") return value;
|
|
5824
|
+
const factor = 10 ** precision;
|
|
5825
|
+
return Math.round(value * factor) / factor;
|
|
5826
|
+
}
|
|
5827
|
+
function toDisplayText(value) {
|
|
5828
|
+
return typeof value === "number" && Number.isFinite(value) ? String(value) : "";
|
|
5829
|
+
}
|
|
5830
|
+
function NumberInput({
|
|
5831
|
+
name,
|
|
5832
|
+
label,
|
|
5833
|
+
rules,
|
|
5834
|
+
value,
|
|
5835
|
+
min,
|
|
5836
|
+
max,
|
|
5837
|
+
step = 1,
|
|
5838
|
+
precision,
|
|
5839
|
+
placeholder,
|
|
5840
|
+
disabled,
|
|
5841
|
+
onChange,
|
|
5842
|
+
className,
|
|
5843
|
+
controlClassName,
|
|
5844
|
+
style
|
|
5845
|
+
}) {
|
|
5846
|
+
const form = useFormContext();
|
|
5847
|
+
const { t } = (0, import_runtime17.useI18n)();
|
|
5848
|
+
const controlId = (0, import_react21.useId)();
|
|
5849
|
+
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
5850
|
+
(0, import_react21.useEffect)(() => {
|
|
5851
|
+
if (inForm && form && name) {
|
|
5852
|
+
form.registerField(name, rules, value);
|
|
5853
|
+
return () => form.unregisterField(name);
|
|
5854
|
+
}
|
|
5855
|
+
return void 0;
|
|
5856
|
+
});
|
|
5857
|
+
const fieldValue = inForm && form && name ? form.values[name] : void 0;
|
|
5858
|
+
const externalValue = typeof fieldValue === "number" ? fieldValue : inForm ? void 0 : typeof value === "number" ? value : void 0;
|
|
5859
|
+
const [text, setText] = (0, import_react21.useState)(() => toDisplayText(externalValue));
|
|
5860
|
+
(0, import_react21.useEffect)(() => {
|
|
5861
|
+
setText((current) => {
|
|
5862
|
+
const parsed = current === "" ? void 0 : Number(current);
|
|
5863
|
+
const currentNumber = parsed !== void 0 && Number.isFinite(parsed) ? applyPrecision(clamp(parsed, min, max), precision) : void 0;
|
|
5864
|
+
return currentNumber === externalValue ? current : toDisplayText(externalValue);
|
|
5865
|
+
});
|
|
5866
|
+
}, [externalValue, min, max, precision]);
|
|
5867
|
+
const commit = (next) => {
|
|
5868
|
+
if (inForm && form && name) {
|
|
5869
|
+
form.setValue(name, next);
|
|
5870
|
+
}
|
|
5871
|
+
onChange?.(next);
|
|
5872
|
+
};
|
|
5873
|
+
const stepBy = (direction) => {
|
|
5874
|
+
const base = externalValue ?? 0;
|
|
5875
|
+
const next = applyPrecision(clamp(base + direction * step, min, max), precision);
|
|
5876
|
+
setText(toDisplayText(next));
|
|
5877
|
+
commit(next);
|
|
5878
|
+
};
|
|
5879
|
+
const atMax = typeof max === "number" && externalValue !== void 0 && externalValue >= max;
|
|
5880
|
+
const atMin = typeof min === "number" && externalValue !== void 0 && externalValue <= min;
|
|
5881
|
+
const stepperClass = "flex flex-1 cursor-pointer items-center justify-center text-muted-foreground transition-colors hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50";
|
|
5882
|
+
const control = /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
|
|
5883
|
+
"span",
|
|
5884
|
+
{
|
|
5885
|
+
"data-slot": "number-input",
|
|
5886
|
+
className: cn("relative block", !inForm && className),
|
|
5887
|
+
style: !inForm ? style : void 0,
|
|
5888
|
+
children: [
|
|
5889
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
5890
|
+
Input,
|
|
5891
|
+
{
|
|
5892
|
+
id: controlId,
|
|
5893
|
+
type: "number",
|
|
5894
|
+
value: text,
|
|
5895
|
+
min,
|
|
5896
|
+
max,
|
|
5897
|
+
step,
|
|
5898
|
+
placeholder,
|
|
5899
|
+
disabled,
|
|
5900
|
+
className: cn(
|
|
5901
|
+
"pr-7 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none",
|
|
5902
|
+
controlClassName
|
|
5903
|
+
),
|
|
5904
|
+
onChange: (event) => {
|
|
5905
|
+
const raw = event.target.value;
|
|
5906
|
+
setText(raw);
|
|
5907
|
+
if (raw === "") {
|
|
5908
|
+
commit(void 0);
|
|
5909
|
+
return;
|
|
5910
|
+
}
|
|
5911
|
+
const parsed = Number(raw);
|
|
5912
|
+
if (!Number.isFinite(parsed)) return;
|
|
5913
|
+
commit(applyPrecision(clamp(parsed, min, max), precision));
|
|
5914
|
+
}
|
|
5915
|
+
}
|
|
5916
|
+
),
|
|
5917
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("span", { className: "absolute inset-y-0 right-0 flex w-7 flex-col divide-y divide-input border-l border-input", children: [
|
|
5918
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
5919
|
+
"button",
|
|
5920
|
+
{
|
|
5921
|
+
type: "button",
|
|
5922
|
+
tabIndex: -1,
|
|
5923
|
+
"aria-label": t("pactor.numberInput.increase"),
|
|
5924
|
+
disabled: disabled === true || atMax,
|
|
5925
|
+
className: stepperClass,
|
|
5926
|
+
onClick: () => stepBy(1),
|
|
5927
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_lucide_react21.ChevronUpIcon, { className: "size-3" })
|
|
5928
|
+
}
|
|
5929
|
+
),
|
|
5930
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
5931
|
+
"button",
|
|
5932
|
+
{
|
|
5933
|
+
type: "button",
|
|
5934
|
+
tabIndex: -1,
|
|
5935
|
+
"aria-label": t("pactor.numberInput.decrease"),
|
|
5936
|
+
disabled: disabled === true || atMin,
|
|
5937
|
+
className: stepperClass,
|
|
5938
|
+
onClick: () => stepBy(-1),
|
|
5939
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_lucide_react21.ChevronDownIcon, { className: "size-3" })
|
|
5940
|
+
}
|
|
5941
|
+
)
|
|
5942
|
+
] })
|
|
5943
|
+
]
|
|
5944
|
+
}
|
|
5945
|
+
);
|
|
5946
|
+
if (inForm && form && name) {
|
|
5947
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
5948
|
+
FieldShell,
|
|
5949
|
+
{
|
|
5950
|
+
layout: form.layout,
|
|
5951
|
+
label,
|
|
5952
|
+
htmlFor: controlId,
|
|
5953
|
+
error: form.errors[name],
|
|
5954
|
+
className,
|
|
5955
|
+
style,
|
|
5956
|
+
children: control
|
|
5957
|
+
}
|
|
5958
|
+
);
|
|
5959
|
+
}
|
|
5960
|
+
return control;
|
|
5961
|
+
}
|
|
5962
|
+
|
|
5963
|
+
// src/components/components/Page/index.tsx
|
|
5964
|
+
var import_jsx_runtime91 = require("react/jsx-runtime");
|
|
5775
5965
|
function Page({ title, className, style, children }) {
|
|
5776
|
-
return /* @__PURE__ */ (0,
|
|
5777
|
-
title ? /* @__PURE__ */ (0,
|
|
5778
|
-
/* @__PURE__ */ (0,
|
|
5966
|
+
return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { "data-slot": "page", className: cn("p-6", className), style, children: [
|
|
5967
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("h2", { "data-slot": "page-title", className: "mb-5 text-xl font-semibold", children: title }) : null,
|
|
5968
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { "data-slot": "page-content", className: "space-y-5", children })
|
|
5779
5969
|
] });
|
|
5780
5970
|
}
|
|
5781
5971
|
|
|
5782
5972
|
// src/components/components/Pagination/index.tsx
|
|
5783
|
-
var
|
|
5973
|
+
var import_react22 = require("react");
|
|
5784
5974
|
|
|
5785
5975
|
// src/ui/pagination.tsx
|
|
5786
|
-
var
|
|
5787
|
-
var
|
|
5976
|
+
var import_lucide_react22 = require("lucide-react");
|
|
5977
|
+
var import_jsx_runtime92 = require("react/jsx-runtime");
|
|
5788
5978
|
function Pagination({ className, ...props }) {
|
|
5789
|
-
return /* @__PURE__ */ (0,
|
|
5979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
|
|
5790
5980
|
"nav",
|
|
5791
5981
|
{
|
|
5792
5982
|
role: "navigation",
|
|
@@ -5798,7 +5988,7 @@ function Pagination({ className, ...props }) {
|
|
|
5798
5988
|
);
|
|
5799
5989
|
}
|
|
5800
5990
|
function PaginationContent({ className, ...props }) {
|
|
5801
|
-
return /* @__PURE__ */ (0,
|
|
5991
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
|
|
5802
5992
|
"ul",
|
|
5803
5993
|
{
|
|
5804
5994
|
"data-slot": "pagination-content",
|
|
@@ -5808,7 +5998,7 @@ function PaginationContent({ className, ...props }) {
|
|
|
5808
5998
|
);
|
|
5809
5999
|
}
|
|
5810
6000
|
function PaginationItem({ ...props }) {
|
|
5811
|
-
return /* @__PURE__ */ (0,
|
|
6001
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("li", { "data-slot": "pagination-item", ...props });
|
|
5812
6002
|
}
|
|
5813
6003
|
function PaginationLink({
|
|
5814
6004
|
className,
|
|
@@ -5816,7 +6006,7 @@ function PaginationLink({
|
|
|
5816
6006
|
disabled,
|
|
5817
6007
|
...props
|
|
5818
6008
|
}) {
|
|
5819
|
-
return /* @__PURE__ */ (0,
|
|
6009
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
|
|
5820
6010
|
"a",
|
|
5821
6011
|
{
|
|
5822
6012
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -5840,15 +6030,15 @@ function PaginationPrevious({
|
|
|
5840
6030
|
className,
|
|
5841
6031
|
...props
|
|
5842
6032
|
}) {
|
|
5843
|
-
return /* @__PURE__ */ (0,
|
|
6033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
|
|
5844
6034
|
PaginationLink,
|
|
5845
6035
|
{
|
|
5846
6036
|
"aria-label": "Go to previous page",
|
|
5847
6037
|
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
5848
6038
|
...props,
|
|
5849
6039
|
children: [
|
|
5850
|
-
/* @__PURE__ */ (0,
|
|
5851
|
-
/* @__PURE__ */ (0,
|
|
6040
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_lucide_react22.ChevronLeftIcon, {}),
|
|
6041
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: "hidden sm:block", children: "Previous" })
|
|
5852
6042
|
]
|
|
5853
6043
|
}
|
|
5854
6044
|
);
|
|
@@ -5857,21 +6047,21 @@ function PaginationNext({
|
|
|
5857
6047
|
className,
|
|
5858
6048
|
...props
|
|
5859
6049
|
}) {
|
|
5860
|
-
return /* @__PURE__ */ (0,
|
|
6050
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
|
|
5861
6051
|
PaginationLink,
|
|
5862
6052
|
{
|
|
5863
6053
|
"aria-label": "Go to next page",
|
|
5864
6054
|
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
5865
6055
|
...props,
|
|
5866
6056
|
children: [
|
|
5867
|
-
/* @__PURE__ */ (0,
|
|
5868
|
-
/* @__PURE__ */ (0,
|
|
6057
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: "hidden sm:block", children: "Next" }),
|
|
6058
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_lucide_react22.ChevronRightIcon, {})
|
|
5869
6059
|
]
|
|
5870
6060
|
}
|
|
5871
6061
|
);
|
|
5872
6062
|
}
|
|
5873
6063
|
function PaginationEllipsis({ className, ...props }) {
|
|
5874
|
-
return /* @__PURE__ */ (0,
|
|
6064
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
|
|
5875
6065
|
"span",
|
|
5876
6066
|
{
|
|
5877
6067
|
"aria-hidden": true,
|
|
@@ -5879,15 +6069,15 @@ function PaginationEllipsis({ className, ...props }) {
|
|
|
5879
6069
|
className: cn("flex size-9 items-center justify-center", className),
|
|
5880
6070
|
...props,
|
|
5881
6071
|
children: [
|
|
5882
|
-
/* @__PURE__ */ (0,
|
|
5883
|
-
/* @__PURE__ */ (0,
|
|
6072
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_lucide_react22.MoreHorizontalIcon, { className: "size-4" }),
|
|
6073
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: "sr-only", children: "More pages" })
|
|
5884
6074
|
]
|
|
5885
6075
|
}
|
|
5886
6076
|
);
|
|
5887
6077
|
}
|
|
5888
6078
|
|
|
5889
6079
|
// src/components/components/Pagination/index.tsx
|
|
5890
|
-
var
|
|
6080
|
+
var import_jsx_runtime93 = require("react/jsx-runtime");
|
|
5891
6081
|
function pageItems(current, count) {
|
|
5892
6082
|
if (count <= 7) {
|
|
5893
6083
|
return Array.from({ length: count }, (_, i) => i + 1);
|
|
@@ -5908,7 +6098,7 @@ function Pagination2({
|
|
|
5908
6098
|
className,
|
|
5909
6099
|
style
|
|
5910
6100
|
}) {
|
|
5911
|
-
const [innerPage, setInnerPage] = (0,
|
|
6101
|
+
const [innerPage, setInnerPage] = (0, import_react22.useState)(1);
|
|
5912
6102
|
const pageCount = Math.max(1, Math.ceil(total / Math.max(1, pageSize)));
|
|
5913
6103
|
const current = Math.min(Math.max(1, page ?? innerPage), pageCount);
|
|
5914
6104
|
const goTo = (next) => {
|
|
@@ -5921,8 +6111,8 @@ function Pagination2({
|
|
|
5921
6111
|
}
|
|
5922
6112
|
onChange?.(target);
|
|
5923
6113
|
};
|
|
5924
|
-
return /* @__PURE__ */ (0,
|
|
5925
|
-
/* @__PURE__ */ (0,
|
|
6114
|
+
return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Pagination, { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(PaginationContent, { children: [
|
|
6115
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
5926
6116
|
PaginationPrevious,
|
|
5927
6117
|
{
|
|
5928
6118
|
href: "#",
|
|
@@ -5933,7 +6123,7 @@ function Pagination2({
|
|
|
5933
6123
|
}
|
|
5934
6124
|
}
|
|
5935
6125
|
) }),
|
|
5936
|
-
pageItems(current, pageCount).map((item, index) => /* @__PURE__ */ (0,
|
|
6126
|
+
pageItems(current, pageCount).map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(PaginationItem, { children: item === "ellipsis" ? /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(PaginationEllipsis, {}) : /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
5937
6127
|
PaginationLink,
|
|
5938
6128
|
{
|
|
5939
6129
|
href: "#",
|
|
@@ -5945,7 +6135,7 @@ function Pagination2({
|
|
|
5945
6135
|
children: item
|
|
5946
6136
|
}
|
|
5947
6137
|
) }, item === "ellipsis" ? `ellipsis-${index}` : item)),
|
|
5948
|
-
/* @__PURE__ */ (0,
|
|
6138
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
5949
6139
|
PaginationNext,
|
|
5950
6140
|
{
|
|
5951
6141
|
href: "#",
|
|
@@ -5960,15 +6150,15 @@ function Pagination2({
|
|
|
5960
6150
|
}
|
|
5961
6151
|
|
|
5962
6152
|
// src/components/components/Popover/index.tsx
|
|
5963
|
-
var
|
|
5964
|
-
var
|
|
6153
|
+
var import_runtime18 = require("@pactor-app/runtime");
|
|
6154
|
+
var import_jsx_runtime94 = require("react/jsx-runtime");
|
|
5965
6155
|
function isDslNode3(value) {
|
|
5966
6156
|
return typeof value === "object" && value !== null && typeof value.type === "string";
|
|
5967
6157
|
}
|
|
5968
6158
|
function Popover2({ content, children, className, style }) {
|
|
5969
|
-
const { renderChildren } = (0,
|
|
5970
|
-
return /* @__PURE__ */ (0,
|
|
5971
|
-
/* @__PURE__ */ (0,
|
|
6159
|
+
const { renderChildren } = (0, import_runtime18.useRenderer)();
|
|
6160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(Popover, { children: [
|
|
6161
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
5972
6162
|
PopoverTrigger,
|
|
5973
6163
|
{
|
|
5974
6164
|
nativeButton: false,
|
|
@@ -5976,15 +6166,15 @@ function Popover2({ content, children, className, style }) {
|
|
|
5976
6166
|
children
|
|
5977
6167
|
}
|
|
5978
6168
|
),
|
|
5979
|
-
/* @__PURE__ */ (0,
|
|
6169
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(PopoverContent, { className, style, children: isDslNode3(content) ? renderChildren([content]) : content })
|
|
5980
6170
|
] });
|
|
5981
6171
|
}
|
|
5982
6172
|
|
|
5983
6173
|
// src/ui/progress.tsx
|
|
5984
6174
|
var import_progress = require("@base-ui/react/progress");
|
|
5985
|
-
var
|
|
6175
|
+
var import_jsx_runtime95 = require("react/jsx-runtime");
|
|
5986
6176
|
function Progress({ className, ...props }) {
|
|
5987
|
-
return /* @__PURE__ */ (0,
|
|
6177
|
+
return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
5988
6178
|
import_progress.Progress.Root,
|
|
5989
6179
|
{
|
|
5990
6180
|
"data-slot": "progress",
|
|
@@ -5994,7 +6184,7 @@ function Progress({ className, ...props }) {
|
|
|
5994
6184
|
);
|
|
5995
6185
|
}
|
|
5996
6186
|
function ProgressTrack({ className, ...props }) {
|
|
5997
|
-
return /* @__PURE__ */ (0,
|
|
6187
|
+
return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
5998
6188
|
import_progress.Progress.Track,
|
|
5999
6189
|
{
|
|
6000
6190
|
"data-slot": "progress-track",
|
|
@@ -6007,7 +6197,7 @@ function ProgressIndicator({
|
|
|
6007
6197
|
className,
|
|
6008
6198
|
...props
|
|
6009
6199
|
}) {
|
|
6010
|
-
return /* @__PURE__ */ (0,
|
|
6200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
6011
6201
|
import_progress.Progress.Indicator,
|
|
6012
6202
|
{
|
|
6013
6203
|
"data-slot": "progress-indicator",
|
|
@@ -6021,21 +6211,21 @@ function ProgressIndicator({
|
|
|
6021
6211
|
}
|
|
6022
6212
|
|
|
6023
6213
|
// src/components/components/Progress/index.tsx
|
|
6024
|
-
var
|
|
6214
|
+
var import_jsx_runtime96 = require("react/jsx-runtime");
|
|
6025
6215
|
function Progress2({ value, className, style }) {
|
|
6026
6216
|
const resolved = typeof value === "number" && Number.isFinite(value) ? Math.min(100, Math.max(0, value)) : null;
|
|
6027
|
-
return /* @__PURE__ */ (0,
|
|
6217
|
+
return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Progress, { value: resolved, className, style, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(ProgressTrack, { children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(ProgressIndicator, {}) }) });
|
|
6028
6218
|
}
|
|
6029
6219
|
|
|
6030
6220
|
// src/components/components/RadioGroup/index.tsx
|
|
6031
|
-
var
|
|
6221
|
+
var import_react23 = require("react");
|
|
6032
6222
|
|
|
6033
6223
|
// src/ui/radio-group.tsx
|
|
6034
6224
|
var import_radio = require("@base-ui/react/radio");
|
|
6035
6225
|
var import_radio_group = require("@base-ui/react/radio-group");
|
|
6036
|
-
var
|
|
6226
|
+
var import_jsx_runtime97 = require("react/jsx-runtime");
|
|
6037
6227
|
function RadioGroup({ className, ...props }) {
|
|
6038
|
-
return /* @__PURE__ */ (0,
|
|
6228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
6039
6229
|
import_radio_group.RadioGroup,
|
|
6040
6230
|
{
|
|
6041
6231
|
"data-slot": "radio-group",
|
|
@@ -6045,7 +6235,7 @@ function RadioGroup({ className, ...props }) {
|
|
|
6045
6235
|
);
|
|
6046
6236
|
}
|
|
6047
6237
|
function RadioGroupItem({ className, ...props }) {
|
|
6048
|
-
return /* @__PURE__ */ (0,
|
|
6238
|
+
return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
6049
6239
|
import_radio.Radio.Root,
|
|
6050
6240
|
{
|
|
6051
6241
|
"data-slot": "radio-group-item",
|
|
@@ -6054,53 +6244,20 @@ function RadioGroupItem({ className, ...props }) {
|
|
|
6054
6244
|
className
|
|
6055
6245
|
),
|
|
6056
6246
|
...props,
|
|
6057
|
-
children: /* @__PURE__ */ (0,
|
|
6247
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
6058
6248
|
import_radio.Radio.Indicator,
|
|
6059
6249
|
{
|
|
6060
6250
|
"data-slot": "radio-group-indicator",
|
|
6061
6251
|
className: "flex items-center justify-center",
|
|
6062
|
-
children: /* @__PURE__ */ (0,
|
|
6252
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "size-2 rounded-full bg-(--radio-checked)" })
|
|
6063
6253
|
}
|
|
6064
6254
|
)
|
|
6065
6255
|
}
|
|
6066
6256
|
);
|
|
6067
6257
|
}
|
|
6068
6258
|
|
|
6069
|
-
// src/components/components/Form/form-item.tsx
|
|
6070
|
-
var import_jsx_runtime96 = require("react/jsx-runtime");
|
|
6071
|
-
function FieldShell({
|
|
6072
|
-
layout,
|
|
6073
|
-
label,
|
|
6074
|
-
htmlFor,
|
|
6075
|
-
error,
|
|
6076
|
-
className,
|
|
6077
|
-
style,
|
|
6078
|
-
children
|
|
6079
|
-
}) {
|
|
6080
|
-
return /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
|
|
6081
|
-
"div",
|
|
6082
|
-
{
|
|
6083
|
-
"data-slot": "form-item",
|
|
6084
|
-
className: cn(formItemClass(layout), className),
|
|
6085
|
-
style,
|
|
6086
|
-
children: [
|
|
6087
|
-
label ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
6088
|
-
"label",
|
|
6089
|
-
{
|
|
6090
|
-
htmlFor,
|
|
6091
|
-
className: "shrink-0 text-sm leading-none font-medium whitespace-nowrap",
|
|
6092
|
-
children: label
|
|
6093
|
-
}
|
|
6094
|
-
) : null,
|
|
6095
|
-
children,
|
|
6096
|
-
error ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
6097
|
-
]
|
|
6098
|
-
}
|
|
6099
|
-
);
|
|
6100
|
-
}
|
|
6101
|
-
|
|
6102
6259
|
// src/components/components/RadioGroup/index.tsx
|
|
6103
|
-
var
|
|
6260
|
+
var import_jsx_runtime98 = require("react/jsx-runtime");
|
|
6104
6261
|
function RadioGroup2({
|
|
6105
6262
|
name,
|
|
6106
6263
|
label,
|
|
@@ -6114,9 +6271,9 @@ function RadioGroup2({
|
|
|
6114
6271
|
style
|
|
6115
6272
|
}) {
|
|
6116
6273
|
const form = useFormContext();
|
|
6117
|
-
const controlId = (0,
|
|
6274
|
+
const controlId = (0, import_react23.useId)();
|
|
6118
6275
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
6119
|
-
(0,
|
|
6276
|
+
(0, import_react23.useEffect)(() => {
|
|
6120
6277
|
if (inForm && form && name) {
|
|
6121
6278
|
form.registerField(name, rules, value);
|
|
6122
6279
|
return () => form.unregisterField(name);
|
|
@@ -6131,7 +6288,7 @@ function RadioGroup2({
|
|
|
6131
6288
|
onChange?.(next);
|
|
6132
6289
|
};
|
|
6133
6290
|
const groupValue = current ?? "";
|
|
6134
|
-
const group = /* @__PURE__ */ (0,
|
|
6291
|
+
const group = /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
|
|
6135
6292
|
RadioGroup,
|
|
6136
6293
|
{
|
|
6137
6294
|
value: groupValue,
|
|
@@ -6146,8 +6303,8 @@ function RadioGroup2({
|
|
|
6146
6303
|
children: options.map((option, index) => {
|
|
6147
6304
|
const optionId = `${controlId}-${index}`;
|
|
6148
6305
|
const optionDisabled = disabled || option.disabled;
|
|
6149
|
-
return /* @__PURE__ */ (0,
|
|
6150
|
-
/* @__PURE__ */ (0,
|
|
6306
|
+
return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("span", { className: "inline-flex items-center gap-2", children: [
|
|
6307
|
+
/* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
|
|
6151
6308
|
RadioGroupItem,
|
|
6152
6309
|
{
|
|
6153
6310
|
id: optionId,
|
|
@@ -6155,7 +6312,7 @@ function RadioGroup2({
|
|
|
6155
6312
|
disabled: option.disabled
|
|
6156
6313
|
}
|
|
6157
6314
|
),
|
|
6158
|
-
/* @__PURE__ */ (0,
|
|
6315
|
+
/* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
|
|
6159
6316
|
"label",
|
|
6160
6317
|
{
|
|
6161
6318
|
htmlFor: optionId,
|
|
@@ -6171,7 +6328,7 @@ function RadioGroup2({
|
|
|
6171
6328
|
}
|
|
6172
6329
|
);
|
|
6173
6330
|
if (inForm && form && name) {
|
|
6174
|
-
return /* @__PURE__ */ (0,
|
|
6331
|
+
return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
|
|
6175
6332
|
FieldShell,
|
|
6176
6333
|
{
|
|
6177
6334
|
layout: form.layout,
|
|
@@ -6187,18 +6344,18 @@ function RadioGroup2({
|
|
|
6187
6344
|
}
|
|
6188
6345
|
|
|
6189
6346
|
// src/components/components/Resizable/index.tsx
|
|
6190
|
-
var
|
|
6191
|
-
var
|
|
6347
|
+
var import_runtime19 = require("@pactor-app/runtime");
|
|
6348
|
+
var import_react24 = require("react");
|
|
6192
6349
|
|
|
6193
6350
|
// src/ui/resizable.tsx
|
|
6194
|
-
var
|
|
6351
|
+
var import_lucide_react23 = require("lucide-react");
|
|
6195
6352
|
var import_react_resizable_panels = require("react-resizable-panels");
|
|
6196
|
-
var
|
|
6353
|
+
var import_jsx_runtime99 = require("react/jsx-runtime");
|
|
6197
6354
|
function PanelGroup({
|
|
6198
6355
|
className,
|
|
6199
6356
|
...props
|
|
6200
6357
|
}) {
|
|
6201
|
-
return /* @__PURE__ */ (0,
|
|
6358
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
6202
6359
|
import_react_resizable_panels.Group,
|
|
6203
6360
|
{
|
|
6204
6361
|
"data-slot": "resizable-panel-group",
|
|
@@ -6211,14 +6368,14 @@ function PanelGroup({
|
|
|
6211
6368
|
);
|
|
6212
6369
|
}
|
|
6213
6370
|
function Panel({ ...props }) {
|
|
6214
|
-
return /* @__PURE__ */ (0,
|
|
6371
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_resizable_panels.Panel, { "data-slot": "resizable-panel", ...props });
|
|
6215
6372
|
}
|
|
6216
6373
|
function ResizableHandle({
|
|
6217
6374
|
withHandle,
|
|
6218
6375
|
className,
|
|
6219
6376
|
...props
|
|
6220
6377
|
}) {
|
|
6221
|
-
return /* @__PURE__ */ (0,
|
|
6378
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
6222
6379
|
import_react_resizable_panels.Separator,
|
|
6223
6380
|
{
|
|
6224
6381
|
"data-slot": "resizable-handle",
|
|
@@ -6227,23 +6384,23 @@ function ResizableHandle({
|
|
|
6227
6384
|
className
|
|
6228
6385
|
),
|
|
6229
6386
|
...props,
|
|
6230
|
-
children: withHandle ? /* @__PURE__ */ (0,
|
|
6387
|
+
children: withHandle ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-xs border border-border bg-border", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react23.GripVerticalIcon, { className: "size-2.5" }) }) : null
|
|
6231
6388
|
}
|
|
6232
6389
|
);
|
|
6233
6390
|
}
|
|
6234
6391
|
|
|
6235
6392
|
// src/components/components/Resizable/index.tsx
|
|
6236
|
-
var
|
|
6393
|
+
var import_jsx_runtime100 = require("react/jsx-runtime");
|
|
6237
6394
|
function Resizable({
|
|
6238
6395
|
panels = [],
|
|
6239
6396
|
direction = "horizontal",
|
|
6240
6397
|
className,
|
|
6241
6398
|
style
|
|
6242
6399
|
}) {
|
|
6243
|
-
const { renderChildren } = (0,
|
|
6244
|
-
return /* @__PURE__ */ (0,
|
|
6245
|
-
index > 0 ? /* @__PURE__ */ (0,
|
|
6246
|
-
/* @__PURE__ */ (0,
|
|
6400
|
+
const { renderChildren } = (0, import_runtime19.useRenderer)();
|
|
6401
|
+
return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(PanelGroup, { orientation: direction, className, style, children: panels.map((panel, index) => /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_react24.Fragment, { children: [
|
|
6402
|
+
index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(ResizableHandle, { withHandle: true }) : null,
|
|
6403
|
+
/* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
|
|
6247
6404
|
Panel,
|
|
6248
6405
|
{
|
|
6249
6406
|
defaultSize: typeof panel.defaultSizePx === "number" ? `${panel.defaultSizePx}px` : typeof panel.defaultSize === "number" ? `${panel.defaultSize}%` : void 0,
|
|
@@ -6257,20 +6414,20 @@ function Resizable({
|
|
|
6257
6414
|
|
|
6258
6415
|
// src/ui/scroll-area.tsx
|
|
6259
6416
|
var import_scroll_area = require("@base-ui/react/scroll-area");
|
|
6260
|
-
var
|
|
6417
|
+
var import_jsx_runtime101 = require("react/jsx-runtime");
|
|
6261
6418
|
function ScrollArea({
|
|
6262
6419
|
className,
|
|
6263
6420
|
children,
|
|
6264
6421
|
...props
|
|
6265
6422
|
}) {
|
|
6266
|
-
return /* @__PURE__ */ (0,
|
|
6423
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
|
|
6267
6424
|
import_scroll_area.ScrollArea.Root,
|
|
6268
6425
|
{
|
|
6269
6426
|
"data-slot": "scroll-area",
|
|
6270
6427
|
className: cn("relative overflow-hidden", className),
|
|
6271
6428
|
...props,
|
|
6272
6429
|
children: [
|
|
6273
|
-
/* @__PURE__ */ (0,
|
|
6430
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
6274
6431
|
import_scroll_area.ScrollArea.Viewport,
|
|
6275
6432
|
{
|
|
6276
6433
|
"data-slot": "scroll-area-viewport",
|
|
@@ -6278,8 +6435,8 @@ function ScrollArea({
|
|
|
6278
6435
|
children
|
|
6279
6436
|
}
|
|
6280
6437
|
),
|
|
6281
|
-
/* @__PURE__ */ (0,
|
|
6282
|
-
/* @__PURE__ */ (0,
|
|
6438
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)(ScrollBar, {}),
|
|
6439
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_scroll_area.ScrollArea.Corner, {})
|
|
6283
6440
|
]
|
|
6284
6441
|
}
|
|
6285
6442
|
);
|
|
@@ -6289,7 +6446,7 @@ function ScrollBar({
|
|
|
6289
6446
|
orientation = "vertical",
|
|
6290
6447
|
...props
|
|
6291
6448
|
}) {
|
|
6292
|
-
return /* @__PURE__ */ (0,
|
|
6449
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
6293
6450
|
import_scroll_area.ScrollArea.Scrollbar,
|
|
6294
6451
|
{
|
|
6295
6452
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -6301,7 +6458,7 @@ function ScrollBar({
|
|
|
6301
6458
|
className
|
|
6302
6459
|
),
|
|
6303
6460
|
...props,
|
|
6304
|
-
children: /* @__PURE__ */ (0,
|
|
6461
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
6305
6462
|
import_scroll_area.ScrollArea.Thumb,
|
|
6306
6463
|
{
|
|
6307
6464
|
"data-slot": "scroll-area-thumb",
|
|
@@ -6313,7 +6470,7 @@ function ScrollBar({
|
|
|
6313
6470
|
}
|
|
6314
6471
|
|
|
6315
6472
|
// src/components/components/ScrollArea/index.tsx
|
|
6316
|
-
var
|
|
6473
|
+
var import_jsx_runtime102 = require("react/jsx-runtime");
|
|
6317
6474
|
function ScrollArea2({
|
|
6318
6475
|
maxHeight,
|
|
6319
6476
|
maxWidth,
|
|
@@ -6321,7 +6478,7 @@ function ScrollArea2({
|
|
|
6321
6478
|
style,
|
|
6322
6479
|
children
|
|
6323
6480
|
}) {
|
|
6324
|
-
return /* @__PURE__ */ (0,
|
|
6481
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
6325
6482
|
ScrollArea,
|
|
6326
6483
|
{
|
|
6327
6484
|
className,
|
|
@@ -6332,18 +6489,18 @@ function ScrollArea2({
|
|
|
6332
6489
|
}
|
|
6333
6490
|
|
|
6334
6491
|
// src/components/components/Select/index.tsx
|
|
6335
|
-
var
|
|
6336
|
-
var
|
|
6492
|
+
var import_runtime20 = require("@pactor-app/runtime");
|
|
6493
|
+
var import_react25 = require("react");
|
|
6337
6494
|
|
|
6338
6495
|
// src/ui/select.tsx
|
|
6339
6496
|
var import_select = require("@base-ui/react/select");
|
|
6340
|
-
var
|
|
6341
|
-
var
|
|
6497
|
+
var import_lucide_react24 = require("lucide-react");
|
|
6498
|
+
var import_jsx_runtime103 = require("react/jsx-runtime");
|
|
6342
6499
|
var Select = import_select.Select.Root;
|
|
6343
6500
|
function SelectValue({
|
|
6344
6501
|
...props
|
|
6345
6502
|
}) {
|
|
6346
|
-
return /* @__PURE__ */ (0,
|
|
6503
|
+
return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_select.Select.Value, { "data-slot": "select-value", ...props });
|
|
6347
6504
|
}
|
|
6348
6505
|
function SelectTrigger({
|
|
6349
6506
|
className,
|
|
@@ -6351,7 +6508,7 @@ function SelectTrigger({
|
|
|
6351
6508
|
children,
|
|
6352
6509
|
...props
|
|
6353
6510
|
}) {
|
|
6354
|
-
return /* @__PURE__ */ (0,
|
|
6511
|
+
return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
|
|
6355
6512
|
import_select.Select.Trigger,
|
|
6356
6513
|
{
|
|
6357
6514
|
"data-slot": "select-trigger",
|
|
@@ -6363,10 +6520,10 @@ function SelectTrigger({
|
|
|
6363
6520
|
...props,
|
|
6364
6521
|
children: [
|
|
6365
6522
|
children,
|
|
6366
|
-
/* @__PURE__ */ (0,
|
|
6523
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
6367
6524
|
import_select.Select.Icon,
|
|
6368
6525
|
{
|
|
6369
|
-
render: /* @__PURE__ */ (0,
|
|
6526
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react24.ChevronDownIcon, { className: "size-4 opacity-50" })
|
|
6370
6527
|
}
|
|
6371
6528
|
)
|
|
6372
6529
|
]
|
|
@@ -6378,11 +6535,13 @@ function SelectContent({
|
|
|
6378
6535
|
children,
|
|
6379
6536
|
side = "bottom",
|
|
6380
6537
|
sideOffset = 4,
|
|
6381
|
-
|
|
6538
|
+
// 弹层左边缘对齐触发器左边缘(shadcn 上游默认为 'center',居中会显得
|
|
6539
|
+
// 弹层"对着触发器中间",与主流控制台左对齐惯例不符,故改默认值)
|
|
6540
|
+
align = "start",
|
|
6382
6541
|
alignItemWithTrigger = false,
|
|
6383
6542
|
...props
|
|
6384
6543
|
}) {
|
|
6385
|
-
return /* @__PURE__ */ (0,
|
|
6544
|
+
return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
6386
6545
|
import_select.Select.Positioner,
|
|
6387
6546
|
{
|
|
6388
6547
|
side,
|
|
@@ -6390,19 +6549,23 @@ function SelectContent({
|
|
|
6390
6549
|
align,
|
|
6391
6550
|
alignItemWithTrigger,
|
|
6392
6551
|
className: "isolate z-50",
|
|
6393
|
-
children: /* @__PURE__ */ (0,
|
|
6552
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
|
|
6394
6553
|
import_select.Select.Popup,
|
|
6395
6554
|
{
|
|
6396
6555
|
"data-slot": "select-content",
|
|
6397
6556
|
className: cn(
|
|
6398
|
-
|
|
6557
|
+
// min-w 跟随触发器宽度(Base UI Positioner 在定位元素上暴露
|
|
6558
|
+
// --anchor-width,Popup 作为其子节点可经 var() 继承到),
|
|
6559
|
+
// 选项更长时弹层随内容继续撑宽;不再使用固定的 min-w-[8rem]
|
|
6560
|
+
//(触发器比 8rem 宽时弹层会显得比触发器窄)
|
|
6561
|
+
"relative z-50 max-h-96 min-w-(--anchor-width) overflow-x-hidden overflow-y-auto rounded-md border border-border bg-popover text-popover-foreground shadow-md shadow-(color:--shadow-color) duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fill-mode-forwards data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
6399
6562
|
className
|
|
6400
6563
|
),
|
|
6401
6564
|
...props,
|
|
6402
6565
|
children: [
|
|
6403
|
-
/* @__PURE__ */ (0,
|
|
6404
|
-
/* @__PURE__ */ (0,
|
|
6405
|
-
/* @__PURE__ */ (0,
|
|
6566
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectScrollUpButton, {}),
|
|
6567
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_select.Select.List, { className: "p-1", children }),
|
|
6568
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectScrollDownButton, {})
|
|
6406
6569
|
]
|
|
6407
6570
|
}
|
|
6408
6571
|
)
|
|
@@ -6414,7 +6577,7 @@ function SelectItem({
|
|
|
6414
6577
|
children,
|
|
6415
6578
|
...props
|
|
6416
6579
|
}) {
|
|
6417
|
-
return /* @__PURE__ */ (0,
|
|
6580
|
+
return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
|
|
6418
6581
|
import_select.Select.Item,
|
|
6419
6582
|
{
|
|
6420
6583
|
"data-slot": "select-item",
|
|
@@ -6424,8 +6587,8 @@ function SelectItem({
|
|
|
6424
6587
|
),
|
|
6425
6588
|
...props,
|
|
6426
6589
|
children: [
|
|
6427
|
-
/* @__PURE__ */ (0,
|
|
6428
|
-
/* @__PURE__ */ (0,
|
|
6590
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_select.Select.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react24.CheckIcon, { className: "size-4" }) }) }),
|
|
6591
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_select.Select.ItemText, { children })
|
|
6429
6592
|
]
|
|
6430
6593
|
}
|
|
6431
6594
|
);
|
|
@@ -6434,7 +6597,7 @@ function SelectScrollUpButton({
|
|
|
6434
6597
|
className,
|
|
6435
6598
|
...props
|
|
6436
6599
|
}) {
|
|
6437
|
-
return /* @__PURE__ */ (0,
|
|
6600
|
+
return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
6438
6601
|
import_select.Select.ScrollUpArrow,
|
|
6439
6602
|
{
|
|
6440
6603
|
"data-slot": "select-scroll-up-button",
|
|
@@ -6443,7 +6606,7 @@ function SelectScrollUpButton({
|
|
|
6443
6606
|
className
|
|
6444
6607
|
),
|
|
6445
6608
|
...props,
|
|
6446
|
-
children: /* @__PURE__ */ (0,
|
|
6609
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react24.ChevronUpIcon, { className: "size-4" })
|
|
6447
6610
|
}
|
|
6448
6611
|
);
|
|
6449
6612
|
}
|
|
@@ -6451,7 +6614,7 @@ function SelectScrollDownButton({
|
|
|
6451
6614
|
className,
|
|
6452
6615
|
...props
|
|
6453
6616
|
}) {
|
|
6454
|
-
return /* @__PURE__ */ (0,
|
|
6617
|
+
return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
6455
6618
|
import_select.Select.ScrollDownArrow,
|
|
6456
6619
|
{
|
|
6457
6620
|
"data-slot": "select-scroll-down-button",
|
|
@@ -6460,13 +6623,13 @@ function SelectScrollDownButton({
|
|
|
6460
6623
|
className
|
|
6461
6624
|
),
|
|
6462
6625
|
...props,
|
|
6463
|
-
children: /* @__PURE__ */ (0,
|
|
6626
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react24.ChevronDownIcon, { className: "size-4" })
|
|
6464
6627
|
}
|
|
6465
6628
|
);
|
|
6466
6629
|
}
|
|
6467
6630
|
|
|
6468
6631
|
// src/components/components/Select/index.tsx
|
|
6469
|
-
var
|
|
6632
|
+
var import_jsx_runtime104 = require("react/jsx-runtime");
|
|
6470
6633
|
function Select2({
|
|
6471
6634
|
name,
|
|
6472
6635
|
label,
|
|
@@ -6482,10 +6645,10 @@ function Select2({
|
|
|
6482
6645
|
style
|
|
6483
6646
|
}) {
|
|
6484
6647
|
const form = useFormContext();
|
|
6485
|
-
const { t } = (0,
|
|
6486
|
-
const controlId = (0,
|
|
6648
|
+
const { t } = (0, import_runtime20.useI18n)();
|
|
6649
|
+
const controlId = (0, import_react25.useId)();
|
|
6487
6650
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
6488
|
-
(0,
|
|
6651
|
+
(0, import_react25.useEffect)(() => {
|
|
6489
6652
|
if (inForm && form && name) {
|
|
6490
6653
|
form.registerField(name, rules, value);
|
|
6491
6654
|
return () => form.unregisterField(name);
|
|
@@ -6501,7 +6664,7 @@ function Select2({
|
|
|
6501
6664
|
onChange?.(next ?? void 0);
|
|
6502
6665
|
};
|
|
6503
6666
|
const inFormRoot = inForm === true;
|
|
6504
|
-
const select = /* @__PURE__ */ (0,
|
|
6667
|
+
const select = /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
|
|
6505
6668
|
"span",
|
|
6506
6669
|
{
|
|
6507
6670
|
className: cn(
|
|
@@ -6512,7 +6675,7 @@ function Select2({
|
|
|
6512
6675
|
),
|
|
6513
6676
|
style: inFormRoot ? void 0 : style,
|
|
6514
6677
|
children: [
|
|
6515
|
-
/* @__PURE__ */ (0,
|
|
6678
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
|
|
6516
6679
|
Select,
|
|
6517
6680
|
{
|
|
6518
6681
|
items: options,
|
|
@@ -6521,8 +6684,8 @@ function Select2({
|
|
|
6521
6684
|
disabled,
|
|
6522
6685
|
name: inForm ? name : void 0,
|
|
6523
6686
|
children: [
|
|
6524
|
-
/* @__PURE__ */ (0,
|
|
6525
|
-
/* @__PURE__ */ (0,
|
|
6687
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)(SelectTrigger, { id: controlId, className: inFormRoot ? "w-full" : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(SelectValue, { placeholder }) }),
|
|
6688
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)(SelectContent, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
|
|
6526
6689
|
SelectItem,
|
|
6527
6690
|
{
|
|
6528
6691
|
value: option.value,
|
|
@@ -6534,7 +6697,7 @@ function Select2({
|
|
|
6534
6697
|
]
|
|
6535
6698
|
}
|
|
6536
6699
|
),
|
|
6537
|
-
allowClear && selectedValue !== null && !disabled ? /* @__PURE__ */ (0,
|
|
6700
|
+
allowClear && selectedValue !== null && !disabled ? /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
|
|
6538
6701
|
"button",
|
|
6539
6702
|
{
|
|
6540
6703
|
type: "button",
|
|
@@ -6554,14 +6717,14 @@ function Select2({
|
|
|
6554
6717
|
);
|
|
6555
6718
|
if (inForm && form && name) {
|
|
6556
6719
|
const error = form.errors[name];
|
|
6557
|
-
return /* @__PURE__ */ (0,
|
|
6720
|
+
return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
|
|
6558
6721
|
"div",
|
|
6559
6722
|
{
|
|
6560
6723
|
"data-slot": "form-item",
|
|
6561
6724
|
className: cn(formItemClass(form.layout), className),
|
|
6562
6725
|
style,
|
|
6563
6726
|
children: [
|
|
6564
|
-
label ? /* @__PURE__ */ (0,
|
|
6727
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
|
|
6565
6728
|
"label",
|
|
6566
6729
|
{
|
|
6567
6730
|
htmlFor: controlId,
|
|
@@ -6570,7 +6733,7 @@ function Select2({
|
|
|
6570
6733
|
}
|
|
6571
6734
|
) : null,
|
|
6572
6735
|
select,
|
|
6573
|
-
error ? /* @__PURE__ */ (0,
|
|
6736
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
6574
6737
|
]
|
|
6575
6738
|
}
|
|
6576
6739
|
);
|
|
@@ -6579,13 +6742,13 @@ function Select2({
|
|
|
6579
6742
|
}
|
|
6580
6743
|
|
|
6581
6744
|
// src/components/components/Separator/index.tsx
|
|
6582
|
-
var
|
|
6745
|
+
var import_jsx_runtime105 = require("react/jsx-runtime");
|
|
6583
6746
|
function Separator2({ orientation = "horizontal", className, style }) {
|
|
6584
|
-
return /* @__PURE__ */ (0,
|
|
6747
|
+
return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(Separator, { orientation, className, style });
|
|
6585
6748
|
}
|
|
6586
6749
|
|
|
6587
6750
|
// src/components/components/Sheet/index.tsx
|
|
6588
|
-
var
|
|
6751
|
+
var import_jsx_runtime106 = require("react/jsx-runtime");
|
|
6589
6752
|
function Sheet2({
|
|
6590
6753
|
title,
|
|
6591
6754
|
open,
|
|
@@ -6595,7 +6758,7 @@ function Sheet2({
|
|
|
6595
6758
|
className,
|
|
6596
6759
|
style
|
|
6597
6760
|
}) {
|
|
6598
|
-
return /* @__PURE__ */ (0,
|
|
6761
|
+
return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
|
|
6599
6762
|
Sheet,
|
|
6600
6763
|
{
|
|
6601
6764
|
open: open ?? false,
|
|
@@ -6604,17 +6767,17 @@ function Sheet2({
|
|
|
6604
6767
|
onClose?.();
|
|
6605
6768
|
}
|
|
6606
6769
|
},
|
|
6607
|
-
children: /* @__PURE__ */ (0,
|
|
6608
|
-
title ? /* @__PURE__ */ (0,
|
|
6609
|
-
/* @__PURE__ */ (0,
|
|
6770
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(SheetContent, { side, className, style, children: [
|
|
6771
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(SheetHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(SheetTitle, { children: title }) }) : null,
|
|
6772
|
+
/* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "flex-1 overflow-auto px-4", children })
|
|
6610
6773
|
] })
|
|
6611
6774
|
}
|
|
6612
6775
|
);
|
|
6613
6776
|
}
|
|
6614
6777
|
|
|
6615
6778
|
// src/components/components/Sider/index.tsx
|
|
6616
|
-
var
|
|
6617
|
-
var
|
|
6779
|
+
var import_lucide_react25 = require("lucide-react");
|
|
6780
|
+
var import_jsx_runtime107 = require("react/jsx-runtime");
|
|
6618
6781
|
function Sider({
|
|
6619
6782
|
width = 200,
|
|
6620
6783
|
collapsible,
|
|
@@ -6626,7 +6789,7 @@ function Sider({
|
|
|
6626
6789
|
children
|
|
6627
6790
|
}) {
|
|
6628
6791
|
const current = collapsed ? collapsedWidth : width;
|
|
6629
|
-
return /* @__PURE__ */ (0,
|
|
6792
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
|
|
6630
6793
|
"aside",
|
|
6631
6794
|
{
|
|
6632
6795
|
"data-slot": "layout-sider",
|
|
@@ -6637,15 +6800,15 @@ function Sider({
|
|
|
6637
6800
|
),
|
|
6638
6801
|
style: { width: current, ...style },
|
|
6639
6802
|
children: [
|
|
6640
|
-
/* @__PURE__ */ (0,
|
|
6641
|
-
collapsible ? /* @__PURE__ */ (0,
|
|
6803
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "min-h-0 flex-1 overflow-auto", children }),
|
|
6804
|
+
collapsible ? /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
6642
6805
|
"button",
|
|
6643
6806
|
{
|
|
6644
6807
|
type: "button",
|
|
6645
6808
|
"aria-label": collapsed ? "expand sider" : "collapse sider",
|
|
6646
6809
|
className: "flex h-10 shrink-0 items-center justify-center border-t text-muted-foreground hover:text-foreground",
|
|
6647
6810
|
onClick: () => onCollapse?.(!collapsed),
|
|
6648
|
-
children: collapsed ? /* @__PURE__ */ (0,
|
|
6811
|
+
children: collapsed ? /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_lucide_react25.ChevronRight, { "aria-hidden": true, className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_lucide_react25.ChevronLeft, { "aria-hidden": true, className: "size-4" })
|
|
6649
6812
|
}
|
|
6650
6813
|
) : null
|
|
6651
6814
|
]
|
|
@@ -6654,7 +6817,7 @@ function Sider({
|
|
|
6654
6817
|
}
|
|
6655
6818
|
|
|
6656
6819
|
// src/components/components/Skeleton/index.tsx
|
|
6657
|
-
var
|
|
6820
|
+
var import_jsx_runtime108 = require("react/jsx-runtime");
|
|
6658
6821
|
var shapeDefaults = {
|
|
6659
6822
|
line: { className: "h-4 w-full", style: {} },
|
|
6660
6823
|
circle: { className: "rounded-full", style: { width: 40, height: 40 } },
|
|
@@ -6665,7 +6828,7 @@ function toSize(value) {
|
|
|
6665
6828
|
}
|
|
6666
6829
|
function Skeleton2({ shape = "line", width, height, className, style }) {
|
|
6667
6830
|
const defaults = shapeDefaults[shape];
|
|
6668
|
-
return /* @__PURE__ */ (0,
|
|
6831
|
+
return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
|
|
6669
6832
|
Skeleton,
|
|
6670
6833
|
{
|
|
6671
6834
|
className: cn(defaults.className, className),
|
|
@@ -6680,13 +6843,13 @@ function Skeleton2({ shape = "line", width, height, className, style }) {
|
|
|
6680
6843
|
}
|
|
6681
6844
|
|
|
6682
6845
|
// src/components/components/Slider/index.tsx
|
|
6683
|
-
var
|
|
6846
|
+
var import_react26 = require("react");
|
|
6684
6847
|
|
|
6685
6848
|
// src/ui/slider.tsx
|
|
6686
6849
|
var import_slider = require("@base-ui/react/slider");
|
|
6687
|
-
var
|
|
6850
|
+
var import_jsx_runtime109 = require("react/jsx-runtime");
|
|
6688
6851
|
function Slider({ className, ...props }) {
|
|
6689
|
-
return /* @__PURE__ */ (0,
|
|
6852
|
+
return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
6690
6853
|
import_slider.Slider.Root,
|
|
6691
6854
|
{
|
|
6692
6855
|
"data-slot": "slider",
|
|
@@ -6699,7 +6862,7 @@ function Slider({ className, ...props }) {
|
|
|
6699
6862
|
);
|
|
6700
6863
|
}
|
|
6701
6864
|
function SliderControl({ className, ...props }) {
|
|
6702
|
-
return /* @__PURE__ */ (0,
|
|
6865
|
+
return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
6703
6866
|
import_slider.Slider.Control,
|
|
6704
6867
|
{
|
|
6705
6868
|
"data-slot": "slider-control",
|
|
@@ -6709,7 +6872,7 @@ function SliderControl({ className, ...props }) {
|
|
|
6709
6872
|
);
|
|
6710
6873
|
}
|
|
6711
6874
|
function SliderTrack({ className, ...props }) {
|
|
6712
|
-
return /* @__PURE__ */ (0,
|
|
6875
|
+
return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
6713
6876
|
import_slider.Slider.Track,
|
|
6714
6877
|
{
|
|
6715
6878
|
"data-slot": "slider-track",
|
|
@@ -6722,7 +6885,7 @@ function SliderTrack({ className, ...props }) {
|
|
|
6722
6885
|
);
|
|
6723
6886
|
}
|
|
6724
6887
|
function SliderIndicator({ className, ...props }) {
|
|
6725
|
-
return /* @__PURE__ */ (0,
|
|
6888
|
+
return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
6726
6889
|
import_slider.Slider.Indicator,
|
|
6727
6890
|
{
|
|
6728
6891
|
"data-slot": "slider-indicator",
|
|
@@ -6732,7 +6895,7 @@ function SliderIndicator({ className, ...props }) {
|
|
|
6732
6895
|
);
|
|
6733
6896
|
}
|
|
6734
6897
|
function SliderThumb({ className, ...props }) {
|
|
6735
|
-
return /* @__PURE__ */ (0,
|
|
6898
|
+
return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
6736
6899
|
import_slider.Slider.Thumb,
|
|
6737
6900
|
{
|
|
6738
6901
|
"data-slot": "slider-thumb",
|
|
@@ -6746,7 +6909,7 @@ function SliderThumb({ className, ...props }) {
|
|
|
6746
6909
|
}
|
|
6747
6910
|
|
|
6748
6911
|
// src/components/components/Slider/index.tsx
|
|
6749
|
-
var
|
|
6912
|
+
var import_jsx_runtime110 = require("react/jsx-runtime");
|
|
6750
6913
|
function Slider2({
|
|
6751
6914
|
name,
|
|
6752
6915
|
label,
|
|
@@ -6762,7 +6925,7 @@ function Slider2({
|
|
|
6762
6925
|
}) {
|
|
6763
6926
|
const form = useFormContext();
|
|
6764
6927
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
6765
|
-
(0,
|
|
6928
|
+
(0, import_react26.useEffect)(() => {
|
|
6766
6929
|
if (inForm && form && name) {
|
|
6767
6930
|
form.registerField(name, rules, value);
|
|
6768
6931
|
return () => form.unregisterField(name);
|
|
@@ -6777,7 +6940,7 @@ function Slider2({
|
|
|
6777
6940
|
}
|
|
6778
6941
|
onChange?.(next);
|
|
6779
6942
|
};
|
|
6780
|
-
const slider = /* @__PURE__ */ (0,
|
|
6943
|
+
const slider = /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
|
|
6781
6944
|
Slider,
|
|
6782
6945
|
{
|
|
6783
6946
|
value: numberValue,
|
|
@@ -6789,14 +6952,14 @@ function Slider2({
|
|
|
6789
6952
|
onValueChange: handleChange,
|
|
6790
6953
|
className: inForm ? void 0 : className,
|
|
6791
6954
|
style: inForm ? void 0 : style,
|
|
6792
|
-
children: /* @__PURE__ */ (0,
|
|
6793
|
-
/* @__PURE__ */ (0,
|
|
6794
|
-
/* @__PURE__ */ (0,
|
|
6955
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(SliderControl, { children: [
|
|
6956
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SliderTrack, { children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SliderIndicator, {}) }),
|
|
6957
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)(SliderThumb, {})
|
|
6795
6958
|
] })
|
|
6796
6959
|
}
|
|
6797
6960
|
);
|
|
6798
6961
|
if (inForm && form && name) {
|
|
6799
|
-
return /* @__PURE__ */ (0,
|
|
6962
|
+
return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
|
|
6800
6963
|
FieldShell,
|
|
6801
6964
|
{
|
|
6802
6965
|
layout: form.layout,
|
|
@@ -6812,13 +6975,13 @@ function Slider2({
|
|
|
6812
6975
|
}
|
|
6813
6976
|
|
|
6814
6977
|
// src/components/components/Sonner/index.tsx
|
|
6815
|
-
var
|
|
6816
|
-
var
|
|
6978
|
+
var import_runtime21 = require("@pactor-app/runtime");
|
|
6979
|
+
var import_react27 = require("react");
|
|
6817
6980
|
|
|
6818
6981
|
// src/ui/toast.tsx
|
|
6819
6982
|
var import_toast = require("@base-ui/react/toast");
|
|
6820
|
-
var
|
|
6821
|
-
var
|
|
6983
|
+
var import_lucide_react26 = require("lucide-react");
|
|
6984
|
+
var import_jsx_runtime111 = require("react/jsx-runtime");
|
|
6822
6985
|
var toastManager = import_toast.Toast.createToastManager();
|
|
6823
6986
|
function toast(message, options = {}) {
|
|
6824
6987
|
return toastManager.add({
|
|
@@ -6834,7 +6997,7 @@ var toastVariantClass = {
|
|
|
6834
6997
|
};
|
|
6835
6998
|
function ToasterViewport({ className }) {
|
|
6836
6999
|
const { toasts } = import_toast.Toast.useToastManager();
|
|
6837
|
-
return /* @__PURE__ */ (0,
|
|
7000
|
+
return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_toast.Toast.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
|
|
6838
7001
|
import_toast.Toast.Viewport,
|
|
6839
7002
|
{
|
|
6840
7003
|
"data-slot": "toast-viewport",
|
|
@@ -6842,7 +7005,7 @@ function ToasterViewport({ className }) {
|
|
|
6842
7005
|
"fixed top-4 right-4 z-[100] flex w-80 flex-col gap-2 outline-none",
|
|
6843
7006
|
className
|
|
6844
7007
|
),
|
|
6845
|
-
children: toasts.map((item) => /* @__PURE__ */ (0,
|
|
7008
|
+
children: toasts.map((item) => /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
|
|
6846
7009
|
import_toast.Toast.Root,
|
|
6847
7010
|
{
|
|
6848
7011
|
toast: item,
|
|
@@ -6852,16 +7015,16 @@ function ToasterViewport({ className }) {
|
|
|
6852
7015
|
"rounded-md border border-border bg-popover px-4 py-3 text-sm text-popover-foreground shadow-md shadow-(color:--shadow-color) transition-[opacity,transform] duration-200 data-ending-style:animate-toast-out data-starting-style:animate-toast-in",
|
|
6853
7016
|
toastVariantClass[item.type ?? "info"] ?? toastVariantClass.info
|
|
6854
7017
|
),
|
|
6855
|
-
children: /* @__PURE__ */ (0,
|
|
6856
|
-
/* @__PURE__ */ (0,
|
|
6857
|
-
/* @__PURE__ */ (0,
|
|
7018
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(import_toast.Toast.Content, { className: "flex items-start justify-between gap-2", children: [
|
|
7019
|
+
/* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("div", { className: "grid gap-0.5", children: [
|
|
7020
|
+
/* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
|
|
6858
7021
|
import_toast.Toast.Title,
|
|
6859
7022
|
{
|
|
6860
7023
|
"data-slot": "toast-title",
|
|
6861
7024
|
className: "font-medium"
|
|
6862
7025
|
}
|
|
6863
7026
|
),
|
|
6864
|
-
/* @__PURE__ */ (0,
|
|
7027
|
+
/* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
|
|
6865
7028
|
import_toast.Toast.Description,
|
|
6866
7029
|
{
|
|
6867
7030
|
"data-slot": "toast-description",
|
|
@@ -6869,13 +7032,13 @@ function ToasterViewport({ className }) {
|
|
|
6869
7032
|
}
|
|
6870
7033
|
)
|
|
6871
7034
|
] }),
|
|
6872
|
-
/* @__PURE__ */ (0,
|
|
7035
|
+
/* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
|
|
6873
7036
|
import_toast.Toast.Close,
|
|
6874
7037
|
{
|
|
6875
7038
|
"data-slot": "toast-close",
|
|
6876
7039
|
"aria-label": "Close",
|
|
6877
7040
|
className: "cursor-pointer rounded-xs opacity-70 transition-opacity hover:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none [&_svg]:size-3.5",
|
|
6878
|
-
children: /* @__PURE__ */ (0,
|
|
7041
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react26.XIcon, {})
|
|
6879
7042
|
}
|
|
6880
7043
|
)
|
|
6881
7044
|
] })
|
|
@@ -6886,14 +7049,14 @@ function ToasterViewport({ className }) {
|
|
|
6886
7049
|
) });
|
|
6887
7050
|
}
|
|
6888
7051
|
function Toaster({ className }) {
|
|
6889
|
-
return /* @__PURE__ */ (0,
|
|
7052
|
+
return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_toast.Toast.Provider, { toastManager, children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(ToasterViewport, { className }) });
|
|
6890
7053
|
}
|
|
6891
7054
|
|
|
6892
7055
|
// src/components/components/Sonner/index.tsx
|
|
6893
|
-
var
|
|
7056
|
+
var import_jsx_runtime112 = require("react/jsx-runtime");
|
|
6894
7057
|
function Sonner({ className, style }) {
|
|
6895
|
-
const { context } = (0,
|
|
6896
|
-
(0,
|
|
7058
|
+
const { context } = (0, import_runtime21.useRenderer)();
|
|
7059
|
+
(0, import_react27.useEffect)(() => {
|
|
6897
7060
|
const { actions } = context;
|
|
6898
7061
|
if (actions.has("toast")) {
|
|
6899
7062
|
return;
|
|
@@ -6907,15 +7070,15 @@ function Sonner({ className, style }) {
|
|
|
6907
7070
|
return { ok: true };
|
|
6908
7071
|
});
|
|
6909
7072
|
}, [context]);
|
|
6910
|
-
return /* @__PURE__ */ (0,
|
|
7073
|
+
return /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("div", { "data-slot": "sonner", className, style, children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Toaster, {}) });
|
|
6911
7074
|
}
|
|
6912
7075
|
|
|
6913
7076
|
// src/ui/spinner.tsx
|
|
6914
|
-
var
|
|
6915
|
-
var
|
|
7077
|
+
var import_lucide_react27 = require("lucide-react");
|
|
7078
|
+
var import_jsx_runtime113 = require("react/jsx-runtime");
|
|
6916
7079
|
function Spinner({ className, ...props }) {
|
|
6917
|
-
return /* @__PURE__ */ (0,
|
|
6918
|
-
|
|
7080
|
+
return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
|
|
7081
|
+
import_lucide_react27.Loader2Icon,
|
|
6919
7082
|
{
|
|
6920
7083
|
role: "status",
|
|
6921
7084
|
"aria-label": "Loading",
|
|
@@ -6927,37 +7090,37 @@ function Spinner({ className, ...props }) {
|
|
|
6927
7090
|
}
|
|
6928
7091
|
|
|
6929
7092
|
// src/components/components/Spinner/index.tsx
|
|
6930
|
-
var
|
|
7093
|
+
var import_jsx_runtime114 = require("react/jsx-runtime");
|
|
6931
7094
|
var sizeClass = {
|
|
6932
7095
|
sm: "size-3",
|
|
6933
7096
|
default: "size-4",
|
|
6934
7097
|
lg: "size-6"
|
|
6935
7098
|
};
|
|
6936
7099
|
function Spinner2({ size = "default", className, style }) {
|
|
6937
|
-
return /* @__PURE__ */ (0,
|
|
7100
|
+
return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(Spinner, { className: cn(sizeClass[size], className), style });
|
|
6938
7101
|
}
|
|
6939
7102
|
|
|
6940
7103
|
// src/components/components/Statistic/index.tsx
|
|
6941
|
-
var
|
|
7104
|
+
var import_jsx_runtime115 = require("react/jsx-runtime");
|
|
6942
7105
|
function Statistic({ title, value, precision, suffix, className, style }) {
|
|
6943
7106
|
const display = typeof value === "number" && precision !== void 0 ? value.toFixed(precision) : value;
|
|
6944
|
-
return /* @__PURE__ */ (0,
|
|
6945
|
-
title ? /* @__PURE__ */ (0,
|
|
6946
|
-
/* @__PURE__ */ (0,
|
|
7107
|
+
return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { "data-slot": "statistic", className: cn(className), style, children: [
|
|
7108
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("div", { "data-slot": "statistic-title", className: "text-sm text-muted-foreground", children: title }) : null,
|
|
7109
|
+
/* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { "data-slot": "statistic-value", className: "text-2xl font-bold tabular-nums", children: [
|
|
6947
7110
|
display,
|
|
6948
|
-
suffix ? /* @__PURE__ */ (0,
|
|
7111
|
+
suffix ? /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("span", { className: "ml-1 text-sm font-normal text-muted-foreground", children: suffix }) : null
|
|
6949
7112
|
] })
|
|
6950
7113
|
] });
|
|
6951
7114
|
}
|
|
6952
7115
|
|
|
6953
7116
|
// src/components/components/Switch/index.tsx
|
|
6954
|
-
var
|
|
7117
|
+
var import_react28 = require("react");
|
|
6955
7118
|
|
|
6956
7119
|
// src/ui/switch.tsx
|
|
6957
7120
|
var import_switch = require("@base-ui/react/switch");
|
|
6958
|
-
var
|
|
7121
|
+
var import_jsx_runtime116 = require("react/jsx-runtime");
|
|
6959
7122
|
function Switch({ className, ...props }) {
|
|
6960
|
-
return /* @__PURE__ */ (0,
|
|
7123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
|
|
6961
7124
|
import_switch.Switch.Root,
|
|
6962
7125
|
{
|
|
6963
7126
|
"data-slot": "switch",
|
|
@@ -6966,7 +7129,7 @@ function Switch({ className, ...props }) {
|
|
|
6966
7129
|
className
|
|
6967
7130
|
),
|
|
6968
7131
|
...props,
|
|
6969
|
-
children: /* @__PURE__ */ (0,
|
|
7132
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
|
|
6970
7133
|
import_switch.Switch.Thumb,
|
|
6971
7134
|
{
|
|
6972
7135
|
"data-slot": "switch-thumb",
|
|
@@ -6978,7 +7141,7 @@ function Switch({ className, ...props }) {
|
|
|
6978
7141
|
}
|
|
6979
7142
|
|
|
6980
7143
|
// src/components/components/Switch/index.tsx
|
|
6981
|
-
var
|
|
7144
|
+
var import_jsx_runtime117 = require("react/jsx-runtime");
|
|
6982
7145
|
function Switch2({
|
|
6983
7146
|
name,
|
|
6984
7147
|
label,
|
|
@@ -6990,9 +7153,9 @@ function Switch2({
|
|
|
6990
7153
|
style
|
|
6991
7154
|
}) {
|
|
6992
7155
|
const form = useFormContext();
|
|
6993
|
-
const controlId = (0,
|
|
7156
|
+
const controlId = (0, import_react28.useId)();
|
|
6994
7157
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
6995
|
-
(0,
|
|
7158
|
+
(0, import_react28.useEffect)(() => {
|
|
6996
7159
|
if (inForm && form && name) {
|
|
6997
7160
|
form.registerField(name, rules, value);
|
|
6998
7161
|
return () => form.unregisterField(name);
|
|
@@ -7007,13 +7170,13 @@ function Switch2({
|
|
|
7007
7170
|
}
|
|
7008
7171
|
onChange?.(next);
|
|
7009
7172
|
};
|
|
7010
|
-
const control = /* @__PURE__ */ (0,
|
|
7173
|
+
const control = /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(
|
|
7011
7174
|
"span",
|
|
7012
7175
|
{
|
|
7013
7176
|
className: cn("inline-flex items-center gap-2", !inForm && className),
|
|
7014
7177
|
style: inForm ? void 0 : style,
|
|
7015
7178
|
children: [
|
|
7016
|
-
/* @__PURE__ */ (0,
|
|
7179
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
7017
7180
|
Switch,
|
|
7018
7181
|
{
|
|
7019
7182
|
id: controlId,
|
|
@@ -7023,12 +7186,12 @@ function Switch2({
|
|
|
7023
7186
|
onCheckedChange: handleChange
|
|
7024
7187
|
}
|
|
7025
7188
|
),
|
|
7026
|
-
label ? /* @__PURE__ */ (0,
|
|
7189
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("label", { htmlFor: controlId, className: "text-sm leading-none font-medium", children: label }) : null
|
|
7027
7190
|
]
|
|
7028
7191
|
}
|
|
7029
7192
|
);
|
|
7030
7193
|
if (inForm && form && name) {
|
|
7031
|
-
return /* @__PURE__ */ (0,
|
|
7194
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(
|
|
7032
7195
|
"div",
|
|
7033
7196
|
{
|
|
7034
7197
|
"data-slot": "form-item",
|
|
@@ -7036,7 +7199,7 @@ function Switch2({
|
|
|
7036
7199
|
style,
|
|
7037
7200
|
children: [
|
|
7038
7201
|
control,
|
|
7039
|
-
form.errors[name] ? /* @__PURE__ */ (0,
|
|
7202
|
+
form.errors[name] ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { "data-slot": "form-error", className: "mt-1.5 text-sm text-destructive", children: form.errors[name] }) : null
|
|
7040
7203
|
]
|
|
7041
7204
|
}
|
|
7042
7205
|
);
|
|
@@ -7045,9 +7208,9 @@ function Switch2({
|
|
|
7045
7208
|
}
|
|
7046
7209
|
|
|
7047
7210
|
// src/components/components/Table/index.tsx
|
|
7048
|
-
var
|
|
7049
|
-
var
|
|
7050
|
-
var
|
|
7211
|
+
var import_runtime22 = require("@pactor-app/runtime");
|
|
7212
|
+
var import_react29 = require("react");
|
|
7213
|
+
var import_jsx_runtime118 = require("react/jsx-runtime");
|
|
7051
7214
|
function renderCellValue2(value) {
|
|
7052
7215
|
if (value === void 0 || value === null) {
|
|
7053
7216
|
return "";
|
|
@@ -7057,6 +7220,11 @@ function renderCellValue2(value) {
|
|
|
7057
7220
|
}
|
|
7058
7221
|
return String(value);
|
|
7059
7222
|
}
|
|
7223
|
+
var columnAlignClass = {
|
|
7224
|
+
left: void 0,
|
|
7225
|
+
center: "text-center",
|
|
7226
|
+
right: "text-right"
|
|
7227
|
+
};
|
|
7060
7228
|
function Table3({
|
|
7061
7229
|
columns = [],
|
|
7062
7230
|
dataSource = [],
|
|
@@ -7067,9 +7235,9 @@ function Table3({
|
|
|
7067
7235
|
className,
|
|
7068
7236
|
style
|
|
7069
7237
|
}) {
|
|
7070
|
-
const { renderChildren } = (0,
|
|
7071
|
-
const { t } = (0,
|
|
7072
|
-
const [current, setCurrent] = (0,
|
|
7238
|
+
const { renderChildren } = (0, import_runtime22.useRenderer)();
|
|
7239
|
+
const { t } = (0, import_runtime22.useI18n)();
|
|
7240
|
+
const [current, setCurrent] = (0, import_react29.useState)(1);
|
|
7073
7241
|
const pageSize = pagination === false ? void 0 : pagination?.pageSize;
|
|
7074
7242
|
const total = dataSource.length;
|
|
7075
7243
|
const pageCount = pageSize !== void 0 && pageSize > 0 ? Math.max(1, Math.ceil(total / pageSize)) : 1;
|
|
@@ -7078,8 +7246,8 @@ function Table3({
|
|
|
7078
7246
|
setCurrent(page);
|
|
7079
7247
|
onChange?.({ current: page, pageSize, total });
|
|
7080
7248
|
};
|
|
7081
|
-
return /* @__PURE__ */ (0,
|
|
7082
|
-
loading ? /* @__PURE__ */ (0,
|
|
7249
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { "data-slot": "dsl-table", className: cn("relative", className), style, children: [
|
|
7250
|
+
loading ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
7083
7251
|
"div",
|
|
7084
7252
|
{
|
|
7085
7253
|
"data-slot": "table-loading",
|
|
@@ -7087,16 +7255,17 @@ function Table3({
|
|
|
7087
7255
|
children: t("pactor.table.loading")
|
|
7088
7256
|
}
|
|
7089
7257
|
) : null,
|
|
7090
|
-
/* @__PURE__ */ (0,
|
|
7091
|
-
/* @__PURE__ */ (0,
|
|
7258
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(Table2, { children: [
|
|
7259
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TableHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TableRow, { className: "hover:bg-transparent", children: columns.map((column, index) => /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
7092
7260
|
TableHead,
|
|
7093
7261
|
{
|
|
7262
|
+
className: column.align ? columnAlignClass[column.align] : void 0,
|
|
7094
7263
|
style: column.width !== void 0 ? { width: column.width } : void 0,
|
|
7095
7264
|
children: column.title
|
|
7096
7265
|
},
|
|
7097
7266
|
column.dataIndex ?? String(index)
|
|
7098
7267
|
)) }) }),
|
|
7099
|
-
/* @__PURE__ */ (0,
|
|
7268
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TableBody, { children: pageRows.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TableRow, { className: "hover:bg-transparent", children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TableCell, { colSpan: Math.max(1, columns.length), children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
7100
7269
|
"div",
|
|
7101
7270
|
{
|
|
7102
7271
|
"data-slot": "table-empty",
|
|
@@ -7105,19 +7274,26 @@ function Table3({
|
|
|
7105
7274
|
}
|
|
7106
7275
|
) }) }) : pageRows.map((row, rowIndex) => {
|
|
7107
7276
|
const key = row[rowKey];
|
|
7108
|
-
return /* @__PURE__ */ (0,
|
|
7277
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
7109
7278
|
TableRow,
|
|
7110
7279
|
{
|
|
7111
|
-
children: columns.map((column, columnIndex) => /* @__PURE__ */ (0,
|
|
7112
|
-
|
|
7113
|
-
|
|
7280
|
+
children: columns.map((column, columnIndex) => /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
7281
|
+
TableCell,
|
|
7282
|
+
{
|
|
7283
|
+
className: column.align ? columnAlignClass[column.align] : void 0,
|
|
7284
|
+
children: column.cell ? renderChildren([column.cell], { row, rowIndex }) : renderCellValue2(
|
|
7285
|
+
column.dataIndex === void 0 ? void 0 : row[column.dataIndex]
|
|
7286
|
+
)
|
|
7287
|
+
},
|
|
7288
|
+
column.dataIndex ?? String(columnIndex)
|
|
7289
|
+
))
|
|
7114
7290
|
},
|
|
7115
7291
|
key === void 0 || key === null ? rowIndex : String(key)
|
|
7116
7292
|
);
|
|
7117
7293
|
}) })
|
|
7118
7294
|
] }),
|
|
7119
|
-
pageSize !== void 0 && pageSize > 0 ? /* @__PURE__ */ (0,
|
|
7120
|
-
(page) => /* @__PURE__ */ (0,
|
|
7295
|
+
pageSize !== void 0 && pageSize > 0 ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { "data-slot": "table-pagination", className: "mt-3 flex justify-end gap-1", children: Array.from({ length: pageCount }, (_, index) => index + 1).map(
|
|
7296
|
+
(page) => /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
7121
7297
|
Button,
|
|
7122
7298
|
{
|
|
7123
7299
|
type: "button",
|
|
@@ -7134,17 +7310,17 @@ function Table3({
|
|
|
7134
7310
|
}
|
|
7135
7311
|
|
|
7136
7312
|
// src/components/components/Tabs/index.tsx
|
|
7137
|
-
var
|
|
7313
|
+
var import_runtime23 = require("@pactor-app/runtime");
|
|
7138
7314
|
|
|
7139
7315
|
// src/ui/tabs.tsx
|
|
7140
7316
|
var import_tabs = require("@base-ui/react/tabs");
|
|
7141
7317
|
var import_class_variance_authority7 = require("class-variance-authority");
|
|
7142
|
-
var
|
|
7318
|
+
var import_jsx_runtime119 = require("react/jsx-runtime");
|
|
7143
7319
|
function Tabs({
|
|
7144
7320
|
className,
|
|
7145
7321
|
...props
|
|
7146
7322
|
}) {
|
|
7147
|
-
return /* @__PURE__ */ (0,
|
|
7323
|
+
return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
|
|
7148
7324
|
import_tabs.Tabs.Root,
|
|
7149
7325
|
{
|
|
7150
7326
|
"data-slot": "tabs",
|
|
@@ -7173,7 +7349,7 @@ function TabsList({
|
|
|
7173
7349
|
variant,
|
|
7174
7350
|
...props
|
|
7175
7351
|
}) {
|
|
7176
|
-
return /* @__PURE__ */ (0,
|
|
7352
|
+
return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
|
|
7177
7353
|
import_tabs.Tabs.List,
|
|
7178
7354
|
{
|
|
7179
7355
|
"data-slot": "tabs-list",
|
|
@@ -7187,7 +7363,7 @@ function TabsTrigger({
|
|
|
7187
7363
|
className,
|
|
7188
7364
|
...props
|
|
7189
7365
|
}) {
|
|
7190
|
-
return /* @__PURE__ */ (0,
|
|
7366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
|
|
7191
7367
|
import_tabs.Tabs.Tab,
|
|
7192
7368
|
{
|
|
7193
7369
|
"data-slot": "tabs-trigger",
|
|
@@ -7209,7 +7385,7 @@ function TabsContent({
|
|
|
7209
7385
|
className,
|
|
7210
7386
|
...props
|
|
7211
7387
|
}) {
|
|
7212
|
-
return /* @__PURE__ */ (0,
|
|
7388
|
+
return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
|
|
7213
7389
|
import_tabs.Tabs.Panel,
|
|
7214
7390
|
{
|
|
7215
7391
|
"data-slot": "tabs-content",
|
|
@@ -7220,7 +7396,7 @@ function TabsContent({
|
|
|
7220
7396
|
}
|
|
7221
7397
|
|
|
7222
7398
|
// src/components/components/Tabs/index.tsx
|
|
7223
|
-
var
|
|
7399
|
+
var import_jsx_runtime120 = require("react/jsx-runtime");
|
|
7224
7400
|
function Tabs2({
|
|
7225
7401
|
items = [],
|
|
7226
7402
|
activeKey,
|
|
@@ -7231,8 +7407,8 @@ function Tabs2({
|
|
|
7231
7407
|
className,
|
|
7232
7408
|
style
|
|
7233
7409
|
}) {
|
|
7234
|
-
const { renderChildren } = (0,
|
|
7235
|
-
return /* @__PURE__ */ (0,
|
|
7410
|
+
const { renderChildren } = (0, import_runtime23.useRenderer)();
|
|
7411
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
|
|
7236
7412
|
Tabs,
|
|
7237
7413
|
{
|
|
7238
7414
|
value: activeKey,
|
|
@@ -7241,8 +7417,8 @@ function Tabs2({
|
|
|
7241
7417
|
className,
|
|
7242
7418
|
style,
|
|
7243
7419
|
children: [
|
|
7244
|
-
/* @__PURE__ */ (0,
|
|
7245
|
-
items.map((item) => /* @__PURE__ */ (0,
|
|
7420
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(TabsList, { variant, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(TabsTrigger, { value: item.key, children: item.label }, item.key)) }),
|
|
7421
|
+
items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
7246
7422
|
TabsContent,
|
|
7247
7423
|
{
|
|
7248
7424
|
value: item.key,
|
|
@@ -7258,7 +7434,7 @@ function Tabs2({
|
|
|
7258
7434
|
}
|
|
7259
7435
|
|
|
7260
7436
|
// src/components/components/Text/index.tsx
|
|
7261
|
-
var
|
|
7437
|
+
var import_jsx_runtime121 = require("react/jsx-runtime");
|
|
7262
7438
|
var typeClassMap = {
|
|
7263
7439
|
default: "",
|
|
7264
7440
|
secondary: "text-muted-foreground",
|
|
@@ -7283,7 +7459,7 @@ function Text({
|
|
|
7283
7459
|
style,
|
|
7284
7460
|
children
|
|
7285
7461
|
}) {
|
|
7286
|
-
return /* @__PURE__ */ (0,
|
|
7462
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
7287
7463
|
"span",
|
|
7288
7464
|
{
|
|
7289
7465
|
"data-slot": "text",
|
|
@@ -7304,8 +7480,8 @@ function Text({
|
|
|
7304
7480
|
}
|
|
7305
7481
|
|
|
7306
7482
|
// src/components/components/Textarea/index.tsx
|
|
7307
|
-
var
|
|
7308
|
-
var
|
|
7483
|
+
var import_react30 = require("react");
|
|
7484
|
+
var import_jsx_runtime122 = require("react/jsx-runtime");
|
|
7309
7485
|
function Textarea2({
|
|
7310
7486
|
name,
|
|
7311
7487
|
label,
|
|
@@ -7319,9 +7495,9 @@ function Textarea2({
|
|
|
7319
7495
|
style
|
|
7320
7496
|
}) {
|
|
7321
7497
|
const form = useFormContext();
|
|
7322
|
-
const controlId = (0,
|
|
7498
|
+
const controlId = (0, import_react30.useId)();
|
|
7323
7499
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
7324
|
-
(0,
|
|
7500
|
+
(0, import_react30.useEffect)(() => {
|
|
7325
7501
|
if (inForm && form && name) {
|
|
7326
7502
|
form.registerField(name, rules, value);
|
|
7327
7503
|
return () => form.unregisterField(name);
|
|
@@ -7330,7 +7506,7 @@ function Textarea2({
|
|
|
7330
7506
|
});
|
|
7331
7507
|
if (inForm && form && name) {
|
|
7332
7508
|
const fieldValue = form.values[name];
|
|
7333
|
-
return /* @__PURE__ */ (0,
|
|
7509
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
7334
7510
|
FieldShell,
|
|
7335
7511
|
{
|
|
7336
7512
|
layout: form.layout,
|
|
@@ -7339,7 +7515,7 @@ function Textarea2({
|
|
|
7339
7515
|
error: form.errors[name],
|
|
7340
7516
|
className,
|
|
7341
7517
|
style,
|
|
7342
|
-
children: /* @__PURE__ */ (0,
|
|
7518
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
7343
7519
|
Textarea,
|
|
7344
7520
|
{
|
|
7345
7521
|
id: controlId,
|
|
@@ -7356,7 +7532,7 @@ function Textarea2({
|
|
|
7356
7532
|
}
|
|
7357
7533
|
);
|
|
7358
7534
|
}
|
|
7359
|
-
return /* @__PURE__ */ (0,
|
|
7535
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
7360
7536
|
Textarea,
|
|
7361
7537
|
{
|
|
7362
7538
|
value: value ?? "",
|
|
@@ -7373,7 +7549,7 @@ function Textarea2({
|
|
|
7373
7549
|
// src/ui/toggle.tsx
|
|
7374
7550
|
var import_toggle = require("@base-ui/react/toggle");
|
|
7375
7551
|
var import_class_variance_authority8 = require("class-variance-authority");
|
|
7376
|
-
var
|
|
7552
|
+
var import_jsx_runtime123 = require("react/jsx-runtime");
|
|
7377
7553
|
var toggleVariants = (0, import_class_variance_authority8.cva)(
|
|
7378
7554
|
"inline-flex cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-colors outline-none hover:bg-muted hover:text-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-pressed:bg-accent data-pressed:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
7379
7555
|
{
|
|
@@ -7400,7 +7576,7 @@ function Toggle({
|
|
|
7400
7576
|
size,
|
|
7401
7577
|
...props
|
|
7402
7578
|
}) {
|
|
7403
|
-
return /* @__PURE__ */ (0,
|
|
7579
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
7404
7580
|
import_toggle.Toggle,
|
|
7405
7581
|
{
|
|
7406
7582
|
"data-slot": "toggle",
|
|
@@ -7411,7 +7587,7 @@ function Toggle({
|
|
|
7411
7587
|
}
|
|
7412
7588
|
|
|
7413
7589
|
// src/components/components/Toggle/index.tsx
|
|
7414
|
-
var
|
|
7590
|
+
var import_jsx_runtime124 = require("react/jsx-runtime");
|
|
7415
7591
|
function Toggle2({
|
|
7416
7592
|
text,
|
|
7417
7593
|
pressed,
|
|
@@ -7422,7 +7598,7 @@ function Toggle2({
|
|
|
7422
7598
|
className,
|
|
7423
7599
|
style
|
|
7424
7600
|
}) {
|
|
7425
|
-
return /* @__PURE__ */ (0,
|
|
7601
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
7426
7602
|
Toggle,
|
|
7427
7603
|
{
|
|
7428
7604
|
pressed,
|
|
@@ -7441,7 +7617,7 @@ function Toggle2({
|
|
|
7441
7617
|
var import_toggle3 = require("@base-ui/react/toggle");
|
|
7442
7618
|
var import_toggle_group = require("@base-ui/react/toggle-group");
|
|
7443
7619
|
var React6 = __toESM(require("react"), 1);
|
|
7444
|
-
var
|
|
7620
|
+
var import_jsx_runtime125 = require("react/jsx-runtime");
|
|
7445
7621
|
var ToggleGroupContext = React6.createContext({
|
|
7446
7622
|
size: "default",
|
|
7447
7623
|
variant: "default"
|
|
@@ -7453,7 +7629,7 @@ function ToggleGroup({
|
|
|
7453
7629
|
children,
|
|
7454
7630
|
...props
|
|
7455
7631
|
}) {
|
|
7456
|
-
return /* @__PURE__ */ (0,
|
|
7632
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7457
7633
|
import_toggle_group.ToggleGroup,
|
|
7458
7634
|
{
|
|
7459
7635
|
"data-slot": "toggle-group",
|
|
@@ -7464,7 +7640,7 @@ function ToggleGroup({
|
|
|
7464
7640
|
className
|
|
7465
7641
|
),
|
|
7466
7642
|
...props,
|
|
7467
|
-
children: /* @__PURE__ */ (0,
|
|
7643
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
7468
7644
|
}
|
|
7469
7645
|
);
|
|
7470
7646
|
}
|
|
@@ -7476,7 +7652,7 @@ function ToggleGroupItem({
|
|
|
7476
7652
|
...props
|
|
7477
7653
|
}) {
|
|
7478
7654
|
const context = React6.useContext(ToggleGroupContext);
|
|
7479
|
-
return /* @__PURE__ */ (0,
|
|
7655
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7480
7656
|
import_toggle3.Toggle,
|
|
7481
7657
|
{
|
|
7482
7658
|
"data-slot": "toggle-group-item",
|
|
@@ -7497,7 +7673,7 @@ function ToggleGroupItem({
|
|
|
7497
7673
|
}
|
|
7498
7674
|
|
|
7499
7675
|
// src/components/components/ToggleGroup/index.tsx
|
|
7500
|
-
var
|
|
7676
|
+
var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
7501
7677
|
function ToggleGroup2({
|
|
7502
7678
|
options = [],
|
|
7503
7679
|
value,
|
|
@@ -7517,7 +7693,7 @@ function ToggleGroup2({
|
|
|
7517
7693
|
onChange?.(added ?? void 0);
|
|
7518
7694
|
}
|
|
7519
7695
|
};
|
|
7520
|
-
return /* @__PURE__ */ (0,
|
|
7696
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7521
7697
|
ToggleGroup,
|
|
7522
7698
|
{
|
|
7523
7699
|
value: groupValue,
|
|
@@ -7526,7 +7702,7 @@ function ToggleGroup2({
|
|
|
7526
7702
|
onValueChange: (next) => handleChange(next),
|
|
7527
7703
|
className,
|
|
7528
7704
|
style,
|
|
7529
|
-
children: options.map((option) => /* @__PURE__ */ (0,
|
|
7705
|
+
children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7530
7706
|
ToggleGroupItem,
|
|
7531
7707
|
{
|
|
7532
7708
|
value: option.value,
|
|
@@ -7540,17 +7716,17 @@ function ToggleGroup2({
|
|
|
7540
7716
|
}
|
|
7541
7717
|
|
|
7542
7718
|
// src/components/components/Tooltip/index.tsx
|
|
7543
|
-
var
|
|
7719
|
+
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
7544
7720
|
function Tooltip3({ content, children, className, style }) {
|
|
7545
|
-
return /* @__PURE__ */ (0,
|
|
7546
|
-
/* @__PURE__ */ (0,
|
|
7547
|
-
/* @__PURE__ */ (0,
|
|
7721
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(Tooltip, { children: [
|
|
7722
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(TooltipTrigger, { render: triggerWrapper("tooltip-trigger-wrap"), children }),
|
|
7723
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(TooltipContent, { className, style, children: content })
|
|
7548
7724
|
] });
|
|
7549
7725
|
}
|
|
7550
7726
|
|
|
7551
7727
|
// src/ui/typography.tsx
|
|
7552
7728
|
var import_class_variance_authority9 = require("class-variance-authority");
|
|
7553
|
-
var
|
|
7729
|
+
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
7554
7730
|
var typographyVariants = (0, import_class_variance_authority9.cva)("", {
|
|
7555
7731
|
variants: {
|
|
7556
7732
|
variant: {
|
|
@@ -7586,7 +7762,7 @@ var variantTagMap = {
|
|
|
7586
7762
|
};
|
|
7587
7763
|
function Typography({ className, variant = "p", ...props }) {
|
|
7588
7764
|
const Tag2 = variantTagMap[variant ?? "p"];
|
|
7589
|
-
return /* @__PURE__ */ (0,
|
|
7765
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
7590
7766
|
Tag2,
|
|
7591
7767
|
{
|
|
7592
7768
|
"data-slot": "typography",
|
|
@@ -7598,14 +7774,14 @@ function Typography({ className, variant = "p", ...props }) {
|
|
|
7598
7774
|
}
|
|
7599
7775
|
|
|
7600
7776
|
// src/components/components/Typography/index.tsx
|
|
7601
|
-
var
|
|
7777
|
+
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
7602
7778
|
function Typography2({
|
|
7603
7779
|
variant = "p",
|
|
7604
7780
|
text,
|
|
7605
7781
|
className,
|
|
7606
7782
|
style
|
|
7607
7783
|
}) {
|
|
7608
|
-
return /* @__PURE__ */ (0,
|
|
7784
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Typography, { variant, className, style, children: text });
|
|
7609
7785
|
}
|
|
7610
7786
|
|
|
7611
7787
|
// src/components/register.ts
|
|
@@ -7621,6 +7797,7 @@ var builtinComponents = {
|
|
|
7621
7797
|
Table: Table3,
|
|
7622
7798
|
Form,
|
|
7623
7799
|
Input: Input2,
|
|
7800
|
+
NumberInput,
|
|
7624
7801
|
Select: Select2,
|
|
7625
7802
|
// Layout 需要原始 DSL 子树做方向推导(含 Sider 判定),以 withScope 注册
|
|
7626
7803
|
Layout: { component: Layout, withScope: true },
|
|
@@ -7748,6 +7925,7 @@ function createComponentRegistry() {
|
|
|
7748
7925
|
Menu,
|
|
7749
7926
|
Menubar,
|
|
7750
7927
|
NavigationMenu,
|
|
7928
|
+
NumberInput,
|
|
7751
7929
|
Page,
|
|
7752
7930
|
Pagination,
|
|
7753
7931
|
Popover,
|