@metaphor-cloud/ui 0.19.0 → 0.20.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/components/DataTable.d.ts +8 -1
- package/dist/components/DataTable.d.ts.map +1 -1
- package/dist/components/Table.d.ts +2 -1
- package/dist/components/Table.d.ts.map +1 -1
- package/dist/metaphor-ui.css +1 -1
- package/dist/metaphor-ui.js +120 -116
- package/dist/themes/adapter-all.css +1 -1
- package/dist/themes/metaphor-all.css +1 -1
- package/dist/themes/um-all.css +1 -1
- package/package.json +1 -1
package/dist/metaphor-ui.js
CHANGED
|
@@ -9002,14 +9002,14 @@ function ky({ className: e, ref: t, ...n }) {
|
|
|
9002
9002
|
}
|
|
9003
9003
|
//#endregion
|
|
9004
9004
|
//#region src/components/Table.tsx
|
|
9005
|
-
function Ay({ className: e,
|
|
9005
|
+
function Ay({ className: e, containerClassName: t, ref: n, tableLayout: r, ...i }) {
|
|
9006
9006
|
return /* @__PURE__ */ l("div", {
|
|
9007
|
-
className: "relative w-full overflow-auto",
|
|
9007
|
+
className: W("relative w-full overflow-auto", t),
|
|
9008
9008
|
children: /* @__PURE__ */ l("table", {
|
|
9009
|
-
ref:
|
|
9009
|
+
ref: n,
|
|
9010
9010
|
className: W("w-full caption-bottom text-sm", e),
|
|
9011
|
-
style:
|
|
9012
|
-
...
|
|
9011
|
+
style: r ? { tableLayout: r } : void 0,
|
|
9012
|
+
...i
|
|
9013
9013
|
})
|
|
9014
9014
|
});
|
|
9015
9015
|
}
|
|
@@ -10795,64 +10795,64 @@ function Qx({ children: e, className: t, ...n }) {
|
|
|
10795
10795
|
});
|
|
10796
10796
|
}
|
|
10797
10797
|
Qx.displayName = "DataTableEmpty";
|
|
10798
|
-
function $x({ columns: t, data: n, children: r, loading: i, totalRows: a, onStateChange: o, defaultSort: s, manualSorting: c = !1, globalFilter: d = !1, manualFiltering: f = !1, pageSize: p = 20, manualPagination: m = !1, onRowClick: h, renderRowLink: g, rowClassName: _, getRowId: v, selectable: y = !1, onSelectionChange: b, onColumnResize: x,
|
|
10799
|
-
let [
|
|
10800
|
-
|
|
10801
|
-
}, [
|
|
10802
|
-
columns:
|
|
10803
|
-
containerRef:
|
|
10798
|
+
function $x({ columns: t, data: n, children: r, loading: i, totalRows: a, onStateChange: o, defaultSort: s, manualSorting: c = !1, globalFilter: d = !1, manualFiltering: f = !1, pageSize: p = 20, manualPagination: m = !1, onRowClick: h, renderRowLink: g, rowClassName: _, getRowId: v, selectable: y = !1, onSelectionChange: b, onColumnResize: x, fullHeight: S = !1, className: C, ref: w }) {
|
|
10799
|
+
let [T, E] = e.useState(s ?? null), [D, O] = e.useState(""), [k, A] = e.useState({}), [j, M] = e.useState(1), [N, P] = e.useState(/* @__PURE__ */ new Set()), F = e.useMemo(() => t.filter((e) => !e.hidden), [t]), I = e.useRef(null), ee = e.useCallback((e) => {
|
|
10800
|
+
I.current = e, typeof w == "function" ? w(e) : w && typeof w == "object" && (w.current = e);
|
|
10801
|
+
}, [w]), { hiddenColumnIds: te } = qx({
|
|
10802
|
+
columns: F,
|
|
10803
|
+
containerRef: I,
|
|
10804
10804
|
hasSelectionColumn: y
|
|
10805
|
-
}),
|
|
10806
|
-
columns:
|
|
10805
|
+
}), ne = e.useMemo(() => te.size === 0 ? F : F.filter((e) => !te.has(e.id)), [F, te]), re = e.useRef(null), L = ne.some((e) => e.resizable), { columnWidths: R, resizingColumnId: ie, startResize: ae } = Ux({
|
|
10806
|
+
columns: ne,
|
|
10807
10807
|
hasSelectionColumn: y,
|
|
10808
10808
|
onColumnResize: x,
|
|
10809
|
-
tableRef:
|
|
10810
|
-
}),
|
|
10809
|
+
tableRef: re
|
|
10810
|
+
}), z = e.useRef(o);
|
|
10811
10811
|
e.useLayoutEffect(() => {
|
|
10812
|
-
|
|
10812
|
+
z.current = o;
|
|
10813
10813
|
});
|
|
10814
|
-
let
|
|
10814
|
+
let oe = e.useRef(!1);
|
|
10815
10815
|
e.useEffect(() => {
|
|
10816
|
-
if (!
|
|
10817
|
-
|
|
10816
|
+
if (!oe.current) {
|
|
10817
|
+
oe.current = !0;
|
|
10818
10818
|
return;
|
|
10819
10819
|
}
|
|
10820
|
-
|
|
10821
|
-
sort:
|
|
10822
|
-
globalFilter:
|
|
10823
|
-
columnFilters:
|
|
10824
|
-
page:
|
|
10820
|
+
z.current?.({
|
|
10821
|
+
sort: T,
|
|
10822
|
+
globalFilter: D,
|
|
10823
|
+
columnFilters: k,
|
|
10824
|
+
page: j,
|
|
10825
10825
|
pageSize: p
|
|
10826
10826
|
});
|
|
10827
10827
|
}, [
|
|
10828
|
-
|
|
10829
|
-
|
|
10830
|
-
|
|
10831
|
-
|
|
10828
|
+
T,
|
|
10829
|
+
D,
|
|
10830
|
+
k,
|
|
10831
|
+
j,
|
|
10832
10832
|
p
|
|
10833
10833
|
]);
|
|
10834
|
-
let
|
|
10835
|
-
|
|
10834
|
+
let B = e.useCallback((e) => {
|
|
10835
|
+
E((t) => !t || t.id !== e ? {
|
|
10836
10836
|
id: e,
|
|
10837
10837
|
desc: !1
|
|
10838
10838
|
} : {
|
|
10839
10839
|
id: e,
|
|
10840
10840
|
desc: !t.desc
|
|
10841
|
-
}),
|
|
10842
|
-
}, []),
|
|
10843
|
-
|
|
10844
|
-
}, []),
|
|
10845
|
-
|
|
10841
|
+
}), M(1);
|
|
10842
|
+
}, []), se = e.useCallback((e) => {
|
|
10843
|
+
O(e), M(1);
|
|
10844
|
+
}, []), ce = e.useCallback((e, t) => {
|
|
10845
|
+
A((n) => ({
|
|
10846
10846
|
...n,
|
|
10847
10847
|
[e]: t
|
|
10848
|
-
})),
|
|
10849
|
-
}, []),
|
|
10850
|
-
|
|
10848
|
+
})), M(1);
|
|
10849
|
+
}, []), le = e.useCallback((e) => {
|
|
10850
|
+
A((t) => {
|
|
10851
10851
|
let n = { ...t };
|
|
10852
10852
|
return delete n[e], n;
|
|
10853
|
-
}),
|
|
10854
|
-
}, []),
|
|
10855
|
-
|
|
10853
|
+
}), M(1);
|
|
10854
|
+
}, []), ue = e.useCallback((e, t) => {
|
|
10855
|
+
A((n) => {
|
|
10856
10856
|
let r = Array.isArray(n[e]) ? n[e] : [], i = r.includes(t) ? r.filter((e) => e !== t) : [...r, t];
|
|
10857
10857
|
if (i.length === 0) {
|
|
10858
10858
|
let { [e]: t, ...r } = n;
|
|
@@ -10862,11 +10862,11 @@ function $x({ columns: t, data: n, children: r, loading: i, totalRows: a, onStat
|
|
|
10862
10862
|
...n,
|
|
10863
10863
|
[e]: i
|
|
10864
10864
|
};
|
|
10865
|
-
}),
|
|
10866
|
-
}, []),
|
|
10865
|
+
}), M(1);
|
|
10866
|
+
}, []), de = e.useMemo(() => {
|
|
10867
10867
|
let e = [...n];
|
|
10868
|
-
if (!f &&
|
|
10869
|
-
let n =
|
|
10868
|
+
if (!f && D) {
|
|
10869
|
+
let n = D.toLowerCase();
|
|
10870
10870
|
e = e.filter((e) => t.some((t) => {
|
|
10871
10871
|
if (!t.accessorKey) return !1;
|
|
10872
10872
|
let r = e[t.accessorKey];
|
|
@@ -10874,7 +10874,7 @@ function $x({ columns: t, data: n, children: r, loading: i, totalRows: a, onStat
|
|
|
10874
10874
|
}));
|
|
10875
10875
|
}
|
|
10876
10876
|
if (!f) {
|
|
10877
|
-
let n = Object.entries(
|
|
10877
|
+
let n = Object.entries(k);
|
|
10878
10878
|
for (let [r, i] of n) {
|
|
10879
10879
|
let n = t.find((e) => e.id === r);
|
|
10880
10880
|
n && (e = e.filter((e) => {
|
|
@@ -10885,137 +10885,138 @@ function $x({ columns: t, data: n, children: r, loading: i, totalRows: a, onStat
|
|
|
10885
10885
|
}));
|
|
10886
10886
|
}
|
|
10887
10887
|
}
|
|
10888
|
-
if (!c &&
|
|
10889
|
-
let n = t.find((e) => e.id ===
|
|
10888
|
+
if (!c && T) {
|
|
10889
|
+
let n = t.find((e) => e.id === T.id);
|
|
10890
10890
|
n && e.sort((e, t) => {
|
|
10891
10891
|
let r;
|
|
10892
|
-
return r = n.sortFn ? n.sortFn(e, t) : n.accessorKey ? String(e[n.accessorKey] ?? "").localeCompare(String(t[n.accessorKey] ?? "")) : 0,
|
|
10892
|
+
return r = n.sortFn ? n.sortFn(e, t) : n.accessorKey ? String(e[n.accessorKey] ?? "").localeCompare(String(t[n.accessorKey] ?? "")) : 0, T.desc ? -r : r;
|
|
10893
10893
|
});
|
|
10894
10894
|
}
|
|
10895
10895
|
return e;
|
|
10896
10896
|
}, [
|
|
10897
10897
|
n,
|
|
10898
10898
|
t,
|
|
10899
|
-
|
|
10900
|
-
|
|
10901
|
-
|
|
10899
|
+
T,
|
|
10900
|
+
D,
|
|
10901
|
+
k,
|
|
10902
10902
|
c,
|
|
10903
10903
|
f
|
|
10904
|
-
]),
|
|
10905
|
-
if (p <= 0 || m) return
|
|
10906
|
-
let e = (
|
|
10907
|
-
return
|
|
10904
|
+
]), fe = m ? a ?? n.length : de.length, pe = p > 0 ? Math.max(1, Math.ceil(fe / p)) : 1, me = e.useMemo(() => {
|
|
10905
|
+
if (p <= 0 || m) return de;
|
|
10906
|
+
let e = (j - 1) * p;
|
|
10907
|
+
return de.slice(e, e + p);
|
|
10908
10908
|
}, [
|
|
10909
|
-
|
|
10910
|
-
|
|
10909
|
+
de,
|
|
10910
|
+
j,
|
|
10911
10911
|
p,
|
|
10912
10912
|
m
|
|
10913
|
-
]),
|
|
10914
|
-
|
|
10915
|
-
}, []),
|
|
10916
|
-
let t =
|
|
10917
|
-
|
|
10913
|
+
]), he = e.useCallback((e) => {
|
|
10914
|
+
M(e);
|
|
10915
|
+
}, []), V = e.useCallback((e) => v ? v(e) : String(e.id ?? ""), [v]), ge = e.useCallback((e) => {
|
|
10916
|
+
let t = V(e);
|
|
10917
|
+
P((e) => {
|
|
10918
10918
|
let r = new Set(e);
|
|
10919
10919
|
r.has(t) ? r.delete(t) : r.add(t);
|
|
10920
|
-
let i = n.filter((e) => r.has(
|
|
10920
|
+
let i = n.filter((e) => r.has(V(e)));
|
|
10921
10921
|
return b?.(i), r;
|
|
10922
10922
|
});
|
|
10923
10923
|
}, [
|
|
10924
10924
|
n,
|
|
10925
|
-
|
|
10925
|
+
V,
|
|
10926
10926
|
b
|
|
10927
|
-
]),
|
|
10928
|
-
|
|
10929
|
-
if (e.size ===
|
|
10930
|
-
let t = new Set(
|
|
10931
|
-
return b?.(
|
|
10927
|
+
]), _e = e.useCallback(() => {
|
|
10928
|
+
P((e) => {
|
|
10929
|
+
if (e.size === me.length) return b?.([]), /* @__PURE__ */ new Set();
|
|
10930
|
+
let t = new Set(me.map((e) => V(e)));
|
|
10931
|
+
return b?.(me), t;
|
|
10932
10932
|
});
|
|
10933
10933
|
}, [
|
|
10934
|
-
|
|
10935
|
-
|
|
10934
|
+
me,
|
|
10935
|
+
V,
|
|
10936
10936
|
b
|
|
10937
|
-
]),
|
|
10937
|
+
]), ve = e.useCallback((e) => N.has(V(e)), [N, V]), ye = null, be = null;
|
|
10938
10938
|
e.Children.forEach(r, (t) => {
|
|
10939
|
-
e.isValidElement(t) && (t.type?.displayName === "DataTableToolbar" ?
|
|
10939
|
+
e.isValidElement(t) && (t.type?.displayName === "DataTableToolbar" ? ye = t : t.type?.displayName === "DataTableEmpty" && (be = t));
|
|
10940
10940
|
});
|
|
10941
|
-
let
|
|
10941
|
+
let xe = (e) => !T || T.id !== e ? "↕" : T.desc ? "↓" : "↑", Se = me.length === 0 && !i;
|
|
10942
10942
|
return /* @__PURE__ */ u("div", {
|
|
10943
|
-
ref:
|
|
10944
|
-
className: W("space-y-4",
|
|
10943
|
+
ref: ee,
|
|
10944
|
+
className: W(S ? "flex h-full min-h-0 flex-col gap-4" : "space-y-4", C),
|
|
10945
10945
|
children: [
|
|
10946
|
-
(d ||
|
|
10947
|
-
className: "flex items-center gap-4",
|
|
10946
|
+
(d || ye) && /* @__PURE__ */ u("div", {
|
|
10947
|
+
className: "flex shrink-0 items-center gap-4",
|
|
10948
10948
|
children: [d && /* @__PURE__ */ l(Zt, {
|
|
10949
10949
|
placeholder: "Search...",
|
|
10950
|
-
value:
|
|
10951
|
-
onChange: (e) =>
|
|
10950
|
+
value: D,
|
|
10951
|
+
onChange: (e) => se(e.target.value),
|
|
10952
10952
|
className: "max-w-sm"
|
|
10953
10953
|
}), /* @__PURE__ */ l("div", {
|
|
10954
10954
|
className: "ml-auto flex items-center gap-2",
|
|
10955
|
-
children:
|
|
10955
|
+
children: ye
|
|
10956
10956
|
})]
|
|
10957
10957
|
}),
|
|
10958
10958
|
/* @__PURE__ */ u(Ay, {
|
|
10959
|
-
tableLayout:
|
|
10960
|
-
ref:
|
|
10959
|
+
tableLayout: L ? "fixed" : void 0,
|
|
10960
|
+
ref: re,
|
|
10961
|
+
containerClassName: S ? "flex-1 min-h-0 [&_thead]:sticky [&_thead]:top-0 [&_thead]:z-10 [&_thead_th]:bg-bg-card" : void 0,
|
|
10961
10962
|
children: [
|
|
10962
|
-
|
|
10963
|
-
let t =
|
|
10963
|
+
L && /* @__PURE__ */ u("colgroup", { children: [y && /* @__PURE__ */ l("col", { style: { width: 40 } }), ne.map((e) => {
|
|
10964
|
+
let t = R.get(e.id);
|
|
10964
10965
|
return /* @__PURE__ */ l("col", { style: t == null ? void 0 : { width: t } }, e.id);
|
|
10965
10966
|
})] }),
|
|
10966
10967
|
/* @__PURE__ */ l(jy, { children: /* @__PURE__ */ u(Py, { children: [y && /* @__PURE__ */ l(Fy, {
|
|
10967
10968
|
className: "w-10",
|
|
10968
10969
|
children: /* @__PURE__ */ l(Op, {
|
|
10969
|
-
checked:
|
|
10970
|
-
onCheckedChange:
|
|
10970
|
+
checked: me.length > 0 && N.size === me.length,
|
|
10971
|
+
onCheckedChange: _e,
|
|
10971
10972
|
"aria-label": "Select all"
|
|
10972
10973
|
})
|
|
10973
|
-
}),
|
|
10974
|
-
className: W(e.sortable && "cursor-pointer select-none",
|
|
10975
|
-
style: !
|
|
10976
|
-
onClick: e.sortable ? () =>
|
|
10974
|
+
}), ne.map((e) => /* @__PURE__ */ u(Fy, {
|
|
10975
|
+
className: W(e.sortable && "cursor-pointer select-none", L && "relative", e.className),
|
|
10976
|
+
style: !L && e.width ? { width: e.width } : void 0,
|
|
10977
|
+
onClick: e.sortable ? () => B(e.id) : void 0,
|
|
10977
10978
|
children: [/* @__PURE__ */ u("span", {
|
|
10978
10979
|
className: "inline-flex items-center",
|
|
10979
10980
|
children: [
|
|
10980
|
-
typeof e.header == "function" ? e.header(
|
|
10981
|
+
typeof e.header == "function" ? e.header(T?.id === e.id ? T : null) : /* @__PURE__ */ l("span", { children: e.header }),
|
|
10981
10982
|
e.sortable && typeof e.header != "function" && /* @__PURE__ */ l("span", {
|
|
10982
10983
|
"aria-hidden": !0,
|
|
10983
10984
|
className: "ml-1",
|
|
10984
|
-
children:
|
|
10985
|
+
children: xe(e.id)
|
|
10985
10986
|
}),
|
|
10986
10987
|
e.filterable && /* @__PURE__ */ l(Xx, {
|
|
10987
10988
|
column: e,
|
|
10988
10989
|
data: n,
|
|
10989
|
-
value:
|
|
10990
|
-
onChange:
|
|
10991
|
-
onClear:
|
|
10992
|
-
onToggle:
|
|
10990
|
+
value: k[e.id],
|
|
10991
|
+
onChange: ce,
|
|
10992
|
+
onClear: le,
|
|
10993
|
+
onToggle: ue
|
|
10993
10994
|
})
|
|
10994
10995
|
]
|
|
10995
10996
|
}), e.resizable && /* @__PURE__ */ l("div", {
|
|
10996
10997
|
role: "separator",
|
|
10997
10998
|
"aria-orientation": "vertical",
|
|
10998
10999
|
onMouseDown: (t) => {
|
|
10999
|
-
t.preventDefault(), t.stopPropagation(),
|
|
11000
|
+
t.preventDefault(), t.stopPropagation(), ae(e.id, t);
|
|
11000
11001
|
},
|
|
11001
|
-
className: W("absolute top-0 -right-px z-10 h-full w-2 cursor-col-resize", "after:absolute after:inset-y-0 after:left-1/2 after:-translate-x-1/2 after:w-0.5",
|
|
11002
|
+
className: W("absolute top-0 -right-px z-10 h-full w-2 cursor-col-resize", "after:absolute after:inset-y-0 after:left-1/2 after:-translate-x-1/2 after:w-0.5", ie === e.id ? "after:bg-accent" : "after:bg-transparent hover:after:bg-accent/20", "after:transition-colors")
|
|
11002
11003
|
})]
|
|
11003
11004
|
}, e.id))] }) }),
|
|
11004
|
-
/* @__PURE__ */ l(My, { children:
|
|
11005
|
-
colSpan:
|
|
11005
|
+
/* @__PURE__ */ l(My, { children: Se ? /* @__PURE__ */ l(Py, { children: /* @__PURE__ */ l(Iy, {
|
|
11006
|
+
colSpan: ne.length + +!!y,
|
|
11006
11007
|
className: "h-24",
|
|
11007
|
-
children:
|
|
11008
|
-
}) }) :
|
|
11009
|
-
let n = m ? t : (
|
|
11008
|
+
children: be ?? /* @__PURE__ */ l(Ax, { title: "No results" })
|
|
11009
|
+
}) }) : me.map((e, t) => {
|
|
11010
|
+
let n = m ? t : (j - 1) * p + t, r = g?.(e), i = y && /* @__PURE__ */ l(Iy, {
|
|
11010
11011
|
className: "w-10",
|
|
11011
11012
|
onClick: (e) => e.stopPropagation(),
|
|
11012
11013
|
children: /* @__PURE__ */ l(Op, {
|
|
11013
|
-
checked:
|
|
11014
|
-
onCheckedChange: () =>
|
|
11014
|
+
checked: ve(e),
|
|
11015
|
+
onCheckedChange: () => ge(e),
|
|
11015
11016
|
"aria-label": "Select row"
|
|
11016
11017
|
})
|
|
11017
|
-
}), a =
|
|
11018
|
-
className: W(t.className,
|
|
11018
|
+
}), a = ne.map((t) => /* @__PURE__ */ l(Iy, {
|
|
11019
|
+
className: W(t.className, L && "overflow-hidden text-ellipsis"),
|
|
11019
11020
|
children: r ? /* @__PURE__ */ l("a", {
|
|
11020
11021
|
href: r.href,
|
|
11021
11022
|
className: "contents",
|
|
@@ -11025,18 +11026,21 @@ function $x({ columns: t, data: n, children: r, loading: i, totalRows: a, onStat
|
|
|
11025
11026
|
return /* @__PURE__ */ u(Py, {
|
|
11026
11027
|
className: W((h || r) && "cursor-pointer", _?.(e, n)),
|
|
11027
11028
|
onClick: h ? () => h(e, n) : void 0,
|
|
11028
|
-
"data-state":
|
|
11029
|
+
"data-state": ve(e) ? "selected" : void 0,
|
|
11029
11030
|
children: [i, a]
|
|
11030
11031
|
}, v ? v(e) : t);
|
|
11031
11032
|
}) })
|
|
11032
11033
|
]
|
|
11033
11034
|
}),
|
|
11034
|
-
p > 0 &&
|
|
11035
|
-
|
|
11036
|
-
|
|
11037
|
-
|
|
11038
|
-
|
|
11039
|
-
|
|
11035
|
+
p > 0 && pe > 1 && /* @__PURE__ */ l("div", {
|
|
11036
|
+
className: S ? "shrink-0" : void 0,
|
|
11037
|
+
children: /* @__PURE__ */ l(jx, {
|
|
11038
|
+
page: j,
|
|
11039
|
+
pageSize: p,
|
|
11040
|
+
totalItems: fe,
|
|
11041
|
+
totalPages: pe,
|
|
11042
|
+
onPageChange: he
|
|
11043
|
+
})
|
|
11040
11044
|
})
|
|
11041
11045
|
]
|
|
11042
11046
|
});
|