@object-ui/plugin-aggrid 0.5.0 → 3.0.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/.turbo/turbo-build.log +90 -12
- package/CHANGELOG.md +38 -0
- package/QUICKSTART.md +1 -1
- package/dist/AddressField-CUHm7scl.js +95 -0
- package/dist/AgGridImpl-DVyHqLJi.js +229 -0
- package/dist/AutoNumberField-twP63aM8.js +8 -0
- package/dist/FileField-Cxql0zFQ.js +101 -0
- package/dist/FormulaField-CsRwvjVZ.js +9 -0
- package/dist/GeolocationField-DQ_J9TGl.js +141 -0
- package/dist/GridField-BrF4x9mD.js +29 -0
- package/dist/LocationField-C4zcjds3.js +33 -0
- package/dist/MasterDetailField-DybIeqDQ.js +117 -0
- package/dist/ObjectAgGridImpl-CotBxBL9.js +28727 -0
- package/dist/ObjectField-CVXoKqAF.js +51 -0
- package/dist/QRCodeField-lmARTFQy.js +96 -0
- package/dist/RichTextField-5ce8qKzb.js +37 -0
- package/dist/SignatureField-VES1Umvd.js +96 -0
- package/dist/SummaryField-CQsFucuH.js +9 -0
- package/dist/UserField-Dxq9ZQ9l.js +49 -0
- package/dist/VectorField-BJoHEqgv.js +25 -0
- package/dist/{index-CLKYMco3.js → index-DSI77JcG.js} +57 -33
- package/dist/index.js +1 -1
- package/dist/index.umd.cjs +225 -5
- package/dist/src/AgGridImpl.d.ts +5 -2
- package/dist/src/field-renderers.d.ts +67 -0
- package/dist/src/index.d.ts +5 -2
- package/dist/src/types.d.ts +48 -1
- package/package.json +13 -12
- package/src/AgGridImpl.tsx +95 -10
- package/src/ObjectAgGridImpl.tsx +67 -169
- package/src/field-renderers.test.tsx +383 -0
- package/src/field-renderers.tsx +224 -0
- package/src/index.tsx +30 -3
- package/src/types.ts +57 -1
- package/dist/AgGridImpl-BQ6tBvrq.js +0 -175
- package/dist/ObjectAgGridImpl-CGFeGvOH.js +0 -372
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { j as t } from "./index-DSI77JcG.js";
|
|
2
|
+
import { useState as m, useEffect as h } from "react";
|
|
3
|
+
import { cn as u, Textarea as y } from "@object-ui/components";
|
|
4
|
+
function p({ value: r, onChange: c, field: x, readonly: a, ...s }) {
|
|
5
|
+
const g = x || s.schema, N = () => r == null ? "" : JSON.stringify(r, null, 2), [e, n] = m(N), [i, d] = m(null);
|
|
6
|
+
if (h(() => {
|
|
7
|
+
try {
|
|
8
|
+
if (r == null) {
|
|
9
|
+
n("");
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const l = e ? JSON.parse(e) : null;
|
|
13
|
+
JSON.stringify(l) !== JSON.stringify(r) && n(JSON.stringify(r, null, 2));
|
|
14
|
+
} catch {
|
|
15
|
+
n(JSON.stringify(r, null, 2));
|
|
16
|
+
}
|
|
17
|
+
}, [r, e]), a)
|
|
18
|
+
return r ? /* @__PURE__ */ t.jsx("pre", { className: u("text-xs bg-gray-50 p-2 rounded border border-gray-200 overflow-auto max-h-40", s.className), children: JSON.stringify(r, null, 2) }) : /* @__PURE__ */ t.jsx("span", { className: "text-sm", children: "-" });
|
|
19
|
+
const S = (l) => {
|
|
20
|
+
const o = l.target.value;
|
|
21
|
+
if (n(o), d(null), !o.trim()) {
|
|
22
|
+
c(null);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
const f = JSON.parse(o);
|
|
27
|
+
c(f);
|
|
28
|
+
} catch {
|
|
29
|
+
d("Invalid JSON");
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
return /* @__PURE__ */ t.jsxs("div", { className: "space-y-1", children: [
|
|
33
|
+
/* @__PURE__ */ t.jsx(
|
|
34
|
+
y,
|
|
35
|
+
{
|
|
36
|
+
value: e,
|
|
37
|
+
onChange: S,
|
|
38
|
+
placeholder: g?.placeholder || `{
|
|
39
|
+
"key": "value"
|
|
40
|
+
}`,
|
|
41
|
+
disabled: a || s.disabled,
|
|
42
|
+
className: u("font-mono text-xs", i ? "border-red-500 focus-visible:ring-red-500" : "", s.className),
|
|
43
|
+
rows: 6
|
|
44
|
+
}
|
|
45
|
+
),
|
|
46
|
+
i && /* @__PURE__ */ t.jsx("p", { className: "text-xs text-red-500", children: i })
|
|
47
|
+
] });
|
|
48
|
+
}
|
|
49
|
+
export {
|
|
50
|
+
p as ObjectField
|
|
51
|
+
};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { j as e } from "./index-DSI77JcG.js";
|
|
2
|
+
import y from "react";
|
|
3
|
+
import { Button as a, Input as j } from "@object-ui/components";
|
|
4
|
+
import { c as d } from "./ObjectAgGridImpl-CotBxBL9.js";
|
|
5
|
+
const g = [
|
|
6
|
+
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
7
|
+
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
8
|
+
], k = d("copy", g);
|
|
9
|
+
const f = [
|
|
10
|
+
["rect", { width: "5", height: "5", x: "3", y: "3", rx: "1", key: "1tu5fj" }],
|
|
11
|
+
["rect", { width: "5", height: "5", x: "16", y: "3", rx: "1", key: "1v8r4q" }],
|
|
12
|
+
["rect", { width: "5", height: "5", x: "3", y: "16", rx: "1", key: "1x03jg" }],
|
|
13
|
+
["path", { d: "M21 16h-3a2 2 0 0 0-2 2v3", key: "177gqh" }],
|
|
14
|
+
["path", { d: "M21 21v.01", key: "ents32" }],
|
|
15
|
+
["path", { d: "M12 7v3a2 2 0 0 1-2 2H7", key: "8crl2c" }],
|
|
16
|
+
["path", { d: "M3 12h.01", key: "nlz23k" }],
|
|
17
|
+
["path", { d: "M12 3h.01", key: "n36tog" }],
|
|
18
|
+
["path", { d: "M12 16v.01", key: "133mhm" }],
|
|
19
|
+
["path", { d: "M16 12h1", key: "1slzba" }],
|
|
20
|
+
["path", { d: "M21 12v.01", key: "1lwtk9" }],
|
|
21
|
+
["path", { d: "M12 21v-1", key: "1880an" }]
|
|
22
|
+
], n = d("qr-code", f);
|
|
23
|
+
function R({ value: t, onChange: h, field: l, readonly: o, ...c }) {
|
|
24
|
+
const [s, i] = y.useState(!1), x = l || c.schema, m = (r) => `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(r)}`, p = () => {
|
|
25
|
+
t && navigator.clipboard.writeText(t);
|
|
26
|
+
};
|
|
27
|
+
return o ? /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
28
|
+
/* @__PURE__ */ e.jsx("span", { className: "text-sm flex-1 truncate", children: t || "-" }),
|
|
29
|
+
t && /* @__PURE__ */ e.jsxs(
|
|
30
|
+
a,
|
|
31
|
+
{
|
|
32
|
+
type: "button",
|
|
33
|
+
variant: "outline",
|
|
34
|
+
size: "sm",
|
|
35
|
+
onClick: () => i(!s),
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ e.jsx(n, { className: "w-4 h-4 mr-2" }),
|
|
38
|
+
s ? "Hide" : "Show",
|
|
39
|
+
" QR"
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
] }) : /* @__PURE__ */ e.jsxs("div", { className: "space-y-3", children: [
|
|
44
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
45
|
+
/* @__PURE__ */ e.jsx(
|
|
46
|
+
j,
|
|
47
|
+
{
|
|
48
|
+
type: "text",
|
|
49
|
+
value: t || "",
|
|
50
|
+
onChange: (r) => h(r.target.value),
|
|
51
|
+
placeholder: x?.placeholder || "Enter text for QR code",
|
|
52
|
+
disabled: o || c.disabled,
|
|
53
|
+
className: c.className
|
|
54
|
+
}
|
|
55
|
+
),
|
|
56
|
+
t && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
57
|
+
/* @__PURE__ */ e.jsx(
|
|
58
|
+
a,
|
|
59
|
+
{
|
|
60
|
+
type: "button",
|
|
61
|
+
variant: "outline",
|
|
62
|
+
size: "sm",
|
|
63
|
+
onClick: p,
|
|
64
|
+
children: /* @__PURE__ */ e.jsx(k, { className: "w-4 h-4" })
|
|
65
|
+
}
|
|
66
|
+
),
|
|
67
|
+
/* @__PURE__ */ e.jsx(
|
|
68
|
+
a,
|
|
69
|
+
{
|
|
70
|
+
type: "button",
|
|
71
|
+
variant: "outline",
|
|
72
|
+
size: "sm",
|
|
73
|
+
onClick: () => i(!s),
|
|
74
|
+
children: /* @__PURE__ */ e.jsx(n, { className: "w-4 h-4" })
|
|
75
|
+
}
|
|
76
|
+
)
|
|
77
|
+
] })
|
|
78
|
+
] }),
|
|
79
|
+
s && t && /* @__PURE__ */ e.jsx("div", { className: "border rounded p-4 bg-white flex justify-center", children: /* @__PURE__ */ e.jsx(
|
|
80
|
+
"img",
|
|
81
|
+
{
|
|
82
|
+
src: m(t),
|
|
83
|
+
alt: "QR Code",
|
|
84
|
+
className: "w-48 h-48"
|
|
85
|
+
}
|
|
86
|
+
) }),
|
|
87
|
+
t && /* @__PURE__ */ e.jsxs("p", { className: "text-xs text-muted-foreground", children: [
|
|
88
|
+
"QR code contains: ",
|
|
89
|
+
t.length,
|
|
90
|
+
" characters"
|
|
91
|
+
] })
|
|
92
|
+
] });
|
|
93
|
+
}
|
|
94
|
+
export {
|
|
95
|
+
R as QRCodeField
|
|
96
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { j as e } from "./index-DSI77JcG.js";
|
|
2
|
+
import { Textarea as x } from "@object-ui/components";
|
|
3
|
+
function f({ value: a, onChange: i, field: c, readonly: r, errorMessage: n, ...s }) {
|
|
4
|
+
if (r)
|
|
5
|
+
return /* @__PURE__ */ e.jsx(
|
|
6
|
+
"div",
|
|
7
|
+
{
|
|
8
|
+
className: "text-sm prose prose-sm max-w-none",
|
|
9
|
+
children: a || "-"
|
|
10
|
+
}
|
|
11
|
+
);
|
|
12
|
+
const t = c || s.schema, o = t?.rows || 8, l = t?.format || "markdown";
|
|
13
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "space-y-2", children: [
|
|
14
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center justify-between text-xs text-gray-500", children: [
|
|
15
|
+
/* @__PURE__ */ e.jsxs("span", { children: [
|
|
16
|
+
"Format: ",
|
|
17
|
+
l
|
|
18
|
+
] }),
|
|
19
|
+
/* @__PURE__ */ e.jsx("span", { className: "italic", children: "Rich text editor (basic)" })
|
|
20
|
+
] }),
|
|
21
|
+
/* @__PURE__ */ e.jsx(
|
|
22
|
+
x,
|
|
23
|
+
{
|
|
24
|
+
value: a || "",
|
|
25
|
+
onChange: (m) => i(m.target.value),
|
|
26
|
+
placeholder: t?.placeholder || "Enter text...",
|
|
27
|
+
disabled: r || s.disabled,
|
|
28
|
+
rows: o,
|
|
29
|
+
className: `font-mono text-sm ${s.className || ""}`,
|
|
30
|
+
"aria-invalid": !!n
|
|
31
|
+
}
|
|
32
|
+
)
|
|
33
|
+
] });
|
|
34
|
+
}
|
|
35
|
+
export {
|
|
36
|
+
f as RichTextField
|
|
37
|
+
};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { j as s } from "./index-DSI77JcG.js";
|
|
2
|
+
import w, { useRef as v, useEffect as N } from "react";
|
|
3
|
+
import { Button as b } from "@object-ui/components";
|
|
4
|
+
import { c as S } from "./ObjectAgGridImpl-CotBxBL9.js";
|
|
5
|
+
const C = [
|
|
6
|
+
[
|
|
7
|
+
"path",
|
|
8
|
+
{
|
|
9
|
+
d: "M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21",
|
|
10
|
+
key: "g5wo59"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
["path", { d: "m5.082 11.09 8.828 8.828", key: "1wx5vj" }]
|
|
14
|
+
], R = S("eraser", C);
|
|
15
|
+
function k({ value: o, onChange: f, readonly: i }) {
|
|
16
|
+
const r = v(null), [m, h] = w.useState(!1), [g, a] = w.useState(!o);
|
|
17
|
+
N(() => {
|
|
18
|
+
if (o && r.current) {
|
|
19
|
+
const e = r.current.getContext("2d");
|
|
20
|
+
if (e) {
|
|
21
|
+
const n = new Image();
|
|
22
|
+
n.onload = () => {
|
|
23
|
+
e.drawImage(n, 0, 0), a(!1);
|
|
24
|
+
}, n.src = o;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}, [o]);
|
|
28
|
+
const x = (t) => {
|
|
29
|
+
if (i) return;
|
|
30
|
+
h(!0), a(!1);
|
|
31
|
+
const e = r.current;
|
|
32
|
+
if (!e) return;
|
|
33
|
+
const n = e.getContext("2d");
|
|
34
|
+
if (!n) return;
|
|
35
|
+
const c = e.getBoundingClientRect(), l = "touches" in t ? t.touches[0].clientX - c.left : t.clientX - c.left, d = "touches" in t ? t.touches[0].clientY - c.top : t.clientY - c.top;
|
|
36
|
+
n.beginPath(), n.moveTo(l, d);
|
|
37
|
+
}, p = (t) => {
|
|
38
|
+
if (!m || i) return;
|
|
39
|
+
const e = r.current;
|
|
40
|
+
if (!e) return;
|
|
41
|
+
const n = e.getContext("2d");
|
|
42
|
+
if (!n) return;
|
|
43
|
+
const c = e.getBoundingClientRect(), l = "touches" in t ? t.touches[0].clientX - c.left : t.clientX - c.left, d = "touches" in t ? t.touches[0].clientY - c.top : t.clientY - c.top;
|
|
44
|
+
n.lineTo(l, d), n.strokeStyle = "#000", n.lineWidth = 2, n.lineCap = "round", n.lineJoin = "round", n.stroke();
|
|
45
|
+
}, u = () => {
|
|
46
|
+
if (!m) return;
|
|
47
|
+
h(!1);
|
|
48
|
+
const t = r.current;
|
|
49
|
+
if (!t) return;
|
|
50
|
+
const e = t.toDataURL("image/png");
|
|
51
|
+
f(e);
|
|
52
|
+
}, j = () => {
|
|
53
|
+
const t = r.current;
|
|
54
|
+
if (!t) return;
|
|
55
|
+
const e = t.getContext("2d");
|
|
56
|
+
e && (e.clearRect(0, 0, t.width, t.height), a(!0), f(""));
|
|
57
|
+
};
|
|
58
|
+
return i && o ? /* @__PURE__ */ s.jsx("div", { className: "border rounded p-2 bg-white", children: /* @__PURE__ */ s.jsx("img", { src: o, alt: "Signature", loading: "lazy", className: "max-w-full h-auto" }) }) : i && !o ? /* @__PURE__ */ s.jsx("span", { className: "text-sm text-muted-foreground", children: "No signature" }) : /* @__PURE__ */ s.jsxs("div", { className: "space-y-2", children: [
|
|
59
|
+
/* @__PURE__ */ s.jsx("div", { className: "border rounded bg-white", children: /* @__PURE__ */ s.jsx(
|
|
60
|
+
"canvas",
|
|
61
|
+
{
|
|
62
|
+
ref: r,
|
|
63
|
+
width: 400,
|
|
64
|
+
height: 200,
|
|
65
|
+
className: "w-full touch-none cursor-crosshair",
|
|
66
|
+
onMouseDown: x,
|
|
67
|
+
onMouseMove: p,
|
|
68
|
+
onMouseUp: u,
|
|
69
|
+
onMouseLeave: u,
|
|
70
|
+
onTouchStart: x,
|
|
71
|
+
onTouchMove: p,
|
|
72
|
+
onTouchEnd: u
|
|
73
|
+
}
|
|
74
|
+
) }),
|
|
75
|
+
/* @__PURE__ */ s.jsxs("div", { className: "flex justify-between items-center", children: [
|
|
76
|
+
/* @__PURE__ */ s.jsx("p", { className: "text-xs text-muted-foreground", children: g ? "Sign above" : "Signature captured" }),
|
|
77
|
+
/* @__PURE__ */ s.jsxs(
|
|
78
|
+
b,
|
|
79
|
+
{
|
|
80
|
+
type: "button",
|
|
81
|
+
variant: "outline",
|
|
82
|
+
size: "sm",
|
|
83
|
+
onClick: j,
|
|
84
|
+
disabled: i || g,
|
|
85
|
+
children: [
|
|
86
|
+
/* @__PURE__ */ s.jsx(R, { className: "w-4 h-4 mr-2" }),
|
|
87
|
+
"Clear"
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
)
|
|
91
|
+
] })
|
|
92
|
+
] });
|
|
93
|
+
}
|
|
94
|
+
export {
|
|
95
|
+
k as SignatureField
|
|
96
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { j as i } from "./index-DSI77JcG.js";
|
|
2
|
+
function u({ value: m, field: n, ...s }) {
|
|
3
|
+
const e = (n || s.schema)?.summary_type || "count";
|
|
4
|
+
let t = "-";
|
|
5
|
+
return m != null && (e === "count" ? t = String(m) : ["sum", "avg", "min", "max"].includes(e) ? t = typeof m == "number" ? m.toFixed(2) : String(m) : t = String(m)), /* @__PURE__ */ i.jsx("span", { className: `text-sm font-medium tabular-nums text-gray-700 ${s.className || ""}`, children: t });
|
|
6
|
+
}
|
|
7
|
+
export {
|
|
8
|
+
u as SummaryField
|
|
9
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { j as e } from "./index-DSI77JcG.js";
|
|
2
|
+
import { Avatar as c, AvatarFallback as m, Badge as g } from "@object-ui/components";
|
|
3
|
+
import { X as N } from "./ObjectAgGridImpl-CotBxBL9.js";
|
|
4
|
+
function U({ value: s, onChange: o, field: d, readonly: h, ...x }) {
|
|
5
|
+
const p = (d || x.schema)?.multiple || !1;
|
|
6
|
+
if (h) {
|
|
7
|
+
if (!s) return /* @__PURE__ */ e.jsx("span", { className: "text-sm", children: "-" });
|
|
8
|
+
const t = Array.isArray(s) ? s : [s];
|
|
9
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "flex -space-x-2", children: [
|
|
10
|
+
t.slice(0, 3).map((r, i) => {
|
|
11
|
+
const a = r.name || r.username || "User", n = a.split(" ").map((u) => u[0]).join("").toUpperCase().slice(0, 2);
|
|
12
|
+
return /* @__PURE__ */ e.jsx(c, { className: "size-8 border-2 border-white", title: a, children: /* @__PURE__ */ e.jsx(m, { className: "bg-blue-500 text-white text-xs", children: n }) }, i);
|
|
13
|
+
}),
|
|
14
|
+
t.length > 3 && /* @__PURE__ */ e.jsx(c, { className: "size-8 border-2 border-white", children: /* @__PURE__ */ e.jsxs(m, { className: "bg-gray-200 text-gray-600 text-xs", children: [
|
|
15
|
+
"+",
|
|
16
|
+
t.length - 3
|
|
17
|
+
] }) })
|
|
18
|
+
] });
|
|
19
|
+
}
|
|
20
|
+
const l = s ? Array.isArray(s) ? s : [s] : [], j = (t) => {
|
|
21
|
+
if (p) {
|
|
22
|
+
const r = l.filter((i, a) => a !== t);
|
|
23
|
+
o(r.length > 0 ? r : null);
|
|
24
|
+
} else
|
|
25
|
+
o(null);
|
|
26
|
+
};
|
|
27
|
+
return /* @__PURE__ */ e.jsxs("div", { className: x.className, children: [
|
|
28
|
+
l.length > 0 && /* @__PURE__ */ e.jsx("div", { className: "flex flex-wrap gap-2 mb-2", children: l.map((t, r) => {
|
|
29
|
+
const i = t.name || t.username || "User", a = i.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2);
|
|
30
|
+
return /* @__PURE__ */ e.jsxs(g, { variant: "outline", className: "gap-2 pr-1", children: [
|
|
31
|
+
/* @__PURE__ */ e.jsx(c, { className: "size-5", children: /* @__PURE__ */ e.jsx(m, { className: "bg-blue-500 text-white text-xs", children: a }) }),
|
|
32
|
+
/* @__PURE__ */ e.jsx("span", { className: "text-sm", children: i }),
|
|
33
|
+
/* @__PURE__ */ e.jsx(
|
|
34
|
+
"button",
|
|
35
|
+
{
|
|
36
|
+
type: "button",
|
|
37
|
+
onClick: () => j(r),
|
|
38
|
+
className: "ml-1 rounded-full hover:bg-gray-200 p-0.5",
|
|
39
|
+
children: /* @__PURE__ */ e.jsx(N, { className: "size-3" })
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
] }, r);
|
|
43
|
+
}) }),
|
|
44
|
+
/* @__PURE__ */ e.jsx("div", { className: "text-sm text-gray-500 italic", children: "User selection component requires integration with user management system" })
|
|
45
|
+
] });
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
U as UserField
|
|
49
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { j as e } from "./index-DSI77JcG.js";
|
|
2
|
+
function x({ value: s, field: n, ...r }) {
|
|
3
|
+
const i = (n || r.schema)?.dimensions || (Array.isArray(s) ? s.length : 0);
|
|
4
|
+
if (!s || !Array.isArray(s))
|
|
5
|
+
return /* @__PURE__ */ e.jsx("span", { className: "text-sm text-gray-500", children: "-" });
|
|
6
|
+
const a = s.slice(0, 3).map((c) => {
|
|
7
|
+
const t = Number(c);
|
|
8
|
+
return isNaN(t) ? "0" : t.toFixed(4);
|
|
9
|
+
}).join(", ");
|
|
10
|
+
return /* @__PURE__ */ e.jsxs("div", { className: `text-sm ${r.className || ""}`, children: [
|
|
11
|
+
/* @__PURE__ */ e.jsxs("span", { className: "font-mono text-gray-700", children: [
|
|
12
|
+
"[",
|
|
13
|
+
a,
|
|
14
|
+
"...]"
|
|
15
|
+
] }),
|
|
16
|
+
/* @__PURE__ */ e.jsxs("span", { className: "text-gray-500 ml-2", children: [
|
|
17
|
+
"(",
|
|
18
|
+
i,
|
|
19
|
+
"D)"
|
|
20
|
+
] })
|
|
21
|
+
] });
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
x as VectorField
|
|
25
|
+
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import w, { Suspense as M } from "react";
|
|
2
2
|
import { ComponentRegistry as Y } from "@object-ui/core";
|
|
3
|
-
import { Skeleton as
|
|
3
|
+
import { Skeleton as J } from "@object-ui/components";
|
|
4
4
|
var y = { exports: {} }, b = {};
|
|
5
|
-
var
|
|
5
|
+
var F;
|
|
6
6
|
function oe() {
|
|
7
|
-
if (
|
|
8
|
-
|
|
7
|
+
if (F) return b;
|
|
8
|
+
F = 1;
|
|
9
9
|
var a = /* @__PURE__ */ Symbol.for("react.transitional.element"), g = /* @__PURE__ */ Symbol.for("react.fragment");
|
|
10
10
|
function c(d, o, i) {
|
|
11
11
|
var f = null;
|
|
@@ -25,9 +25,9 @@ function oe() {
|
|
|
25
25
|
return b.Fragment = g, b.jsx = c, b.jsxs = c, b;
|
|
26
26
|
}
|
|
27
27
|
var m = {};
|
|
28
|
-
var
|
|
28
|
+
var G;
|
|
29
29
|
function ie() {
|
|
30
|
-
return
|
|
30
|
+
return G || (G = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
31
31
|
function a(e) {
|
|
32
32
|
if (e == null) return null;
|
|
33
33
|
if (typeof e == "function")
|
|
@@ -134,7 +134,7 @@ function ie() {
|
|
|
134
134
|
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
135
135
|
)), e = this.props.ref, e !== void 0 ? e : null;
|
|
136
136
|
}
|
|
137
|
-
function W(e, t, r, l, E,
|
|
137
|
+
function W(e, t, r, l, E, x) {
|
|
138
138
|
var n = r.ref;
|
|
139
139
|
return e = {
|
|
140
140
|
$$typeof: A,
|
|
@@ -164,28 +164,28 @@ function ie() {
|
|
|
164
164
|
configurable: !1,
|
|
165
165
|
enumerable: !1,
|
|
166
166
|
writable: !0,
|
|
167
|
-
value:
|
|
167
|
+
value: x
|
|
168
168
|
}), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
|
|
169
169
|
}
|
|
170
|
-
function
|
|
170
|
+
function N(e, t, r, l, E, x) {
|
|
171
171
|
var n = t.children;
|
|
172
172
|
if (n !== void 0)
|
|
173
173
|
if (l)
|
|
174
174
|
if (le(n)) {
|
|
175
175
|
for (l = 0; l < n.length; l++)
|
|
176
|
-
|
|
176
|
+
T(n[l]);
|
|
177
177
|
Object.freeze && Object.freeze(n);
|
|
178
178
|
} else
|
|
179
179
|
console.error(
|
|
180
180
|
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
181
181
|
);
|
|
182
|
-
else
|
|
182
|
+
else T(n);
|
|
183
183
|
if (j.call(t, "key")) {
|
|
184
184
|
n = a(e);
|
|
185
185
|
var u = Object.keys(t).filter(function(ne) {
|
|
186
186
|
return ne !== "key";
|
|
187
187
|
});
|
|
188
|
-
l = 0 < u.length ? "{key: someKey, " + u.join(": ..., ") + ": ...}" : "{key: someKey}",
|
|
188
|
+
l = 0 < u.length ? "{key: someKey, " + u.join(": ..., ") + ": ...}" : "{key: someKey}", V[n + l] || (u = 0 < u.length ? "{" + u.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
189
189
|
`A props object containing a "key" prop is being spread into JSX:
|
|
190
190
|
let props = %s;
|
|
191
191
|
<%s {...props} />
|
|
@@ -196,12 +196,12 @@ React keys must be passed directly to JSX without using spread:
|
|
|
196
196
|
n,
|
|
197
197
|
u,
|
|
198
198
|
n
|
|
199
|
-
),
|
|
199
|
+
), V[n + l] = !0);
|
|
200
200
|
}
|
|
201
201
|
if (n = null, r !== void 0 && (c(r), n = "" + r), f(t) && (c(t.key), n = "" + t.key), "key" in t) {
|
|
202
202
|
r = {};
|
|
203
|
-
for (var
|
|
204
|
-
|
|
203
|
+
for (var _ in t)
|
|
204
|
+
_ !== "key" && (r[_] = t[_]);
|
|
205
205
|
} else r = t;
|
|
206
206
|
return n && p(
|
|
207
207
|
r,
|
|
@@ -212,16 +212,16 @@ React keys must be passed directly to JSX without using spread:
|
|
|
212
212
|
r,
|
|
213
213
|
o(),
|
|
214
214
|
E,
|
|
215
|
-
|
|
215
|
+
x
|
|
216
216
|
);
|
|
217
217
|
}
|
|
218
|
-
function
|
|
218
|
+
function T(e) {
|
|
219
219
|
O(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === R && (e._payload.status === "fulfilled" ? O(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
|
|
220
220
|
}
|
|
221
221
|
function O(e) {
|
|
222
222
|
return typeof e == "object" && e !== null && e.$$typeof === A;
|
|
223
223
|
}
|
|
224
|
-
var v =
|
|
224
|
+
var v = w, A = /* @__PURE__ */ Symbol.for("react.transitional.element"), B = /* @__PURE__ */ Symbol.for("react.portal"), S = /* @__PURE__ */ Symbol.for("react.fragment"), U = /* @__PURE__ */ Symbol.for("react.strict_mode"), H = /* @__PURE__ */ Symbol.for("react.profiler"), X = /* @__PURE__ */ Symbol.for("react.consumer"), Q = /* @__PURE__ */ Symbol.for("react.context"), Z = /* @__PURE__ */ Symbol.for("react.forward_ref"), K = /* @__PURE__ */ Symbol.for("react.suspense"), ee = /* @__PURE__ */ Symbol.for("react.suspense_list"), ae = /* @__PURE__ */ Symbol.for("react.memo"), R = /* @__PURE__ */ Symbol.for("react.lazy"), te = /* @__PURE__ */ Symbol.for("react.activity"), re = /* @__PURE__ */ Symbol.for("react.client.reference"), k = v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, j = Object.prototype.hasOwnProperty, le = Array.isArray, C = console.createTask ? console.createTask : function() {
|
|
225
225
|
return null;
|
|
226
226
|
};
|
|
227
227
|
v = {
|
|
@@ -232,36 +232,36 @@ React keys must be passed directly to JSX without using spread:
|
|
|
232
232
|
var P, h = {}, z = v.react_stack_bottom_frame.bind(
|
|
233
233
|
v,
|
|
234
234
|
i
|
|
235
|
-
)(),
|
|
235
|
+
)(), D = C(d(i)), V = {};
|
|
236
236
|
m.Fragment = S, m.jsx = function(e, t, r) {
|
|
237
237
|
var l = 1e4 > k.recentlyCreatedOwnerStacks++;
|
|
238
|
-
return
|
|
238
|
+
return N(
|
|
239
239
|
e,
|
|
240
240
|
t,
|
|
241
241
|
r,
|
|
242
242
|
!1,
|
|
243
243
|
l ? Error("react-stack-top-frame") : z,
|
|
244
|
-
l ? C(d(e)) :
|
|
244
|
+
l ? C(d(e)) : D
|
|
245
245
|
);
|
|
246
246
|
}, m.jsxs = function(e, t, r) {
|
|
247
247
|
var l = 1e4 > k.recentlyCreatedOwnerStacks++;
|
|
248
|
-
return
|
|
248
|
+
return N(
|
|
249
249
|
e,
|
|
250
250
|
t,
|
|
251
251
|
r,
|
|
252
252
|
!0,
|
|
253
253
|
l ? Error("react-stack-top-frame") : z,
|
|
254
|
-
l ? C(d(e)) :
|
|
254
|
+
l ? C(d(e)) : D
|
|
255
255
|
);
|
|
256
256
|
};
|
|
257
257
|
})()), m;
|
|
258
258
|
}
|
|
259
|
-
var
|
|
259
|
+
var L;
|
|
260
260
|
function ue() {
|
|
261
|
-
return
|
|
261
|
+
return L || (L = 1, process.env.NODE_ENV === "production" ? y.exports = oe() : y.exports = ie()), y.exports;
|
|
262
262
|
}
|
|
263
263
|
var s = ue();
|
|
264
|
-
const se =
|
|
264
|
+
const se = w.lazy(() => import("./AgGridImpl-DVyHqLJi.js")), ce = w.lazy(() => import("./ObjectAgGridImpl-CotBxBL9.js").then((a) => a.O)), q = ({ schema: a }) => /* @__PURE__ */ s.jsx(M, { fallback: /* @__PURE__ */ s.jsx(J, { className: "w-full h-[500px]" }), children: /* @__PURE__ */ s.jsx(
|
|
265
265
|
se,
|
|
266
266
|
{
|
|
267
267
|
rowData: a.rowData,
|
|
@@ -285,12 +285,15 @@ const se = N.lazy(() => import("./AgGridImpl-BQ6tBvrq.js")), ce = N.lazy(() => i
|
|
|
285
285
|
columnConfig: a.columnConfig,
|
|
286
286
|
enableRangeSelection: a.enableRangeSelection,
|
|
287
287
|
enableCharts: a.enableCharts,
|
|
288
|
-
contextMenu: a.contextMenu
|
|
288
|
+
contextMenu: a.contextMenu,
|
|
289
|
+
treeData: a.treeData,
|
|
290
|
+
rowGrouping: a.rowGrouping,
|
|
291
|
+
excelExport: a.excelExport
|
|
289
292
|
}
|
|
290
293
|
) });
|
|
291
294
|
Y.register(
|
|
292
295
|
"aggrid",
|
|
293
|
-
|
|
296
|
+
q,
|
|
294
297
|
{
|
|
295
298
|
namespace: "plugin-aggrid",
|
|
296
299
|
label: "AG Grid",
|
|
@@ -440,6 +443,27 @@ Y.register(
|
|
|
440
443
|
description: 'Configure right-click menu: { enabled: true, items: ["copy", "export"] }',
|
|
441
444
|
advanced: !0
|
|
442
445
|
},
|
|
446
|
+
{
|
|
447
|
+
name: "treeData",
|
|
448
|
+
type: "code",
|
|
449
|
+
label: "Tree Data Config (JSON)",
|
|
450
|
+
description: 'Configure tree data: { enabled: true, pathField: "orgHierarchy" }',
|
|
451
|
+
advanced: !0
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
name: "rowGrouping",
|
|
455
|
+
type: "code",
|
|
456
|
+
label: "Row Grouping Config (JSON)",
|
|
457
|
+
description: 'Configure row grouping: { enabled: true, groupByFields: ["category"] }',
|
|
458
|
+
advanced: !0
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
name: "excelExport",
|
|
462
|
+
type: "code",
|
|
463
|
+
label: "Excel Export Config (JSON)",
|
|
464
|
+
description: 'Configure Excel export: { enabled: true, fileName: "data.xlsx" }',
|
|
465
|
+
advanced: !0
|
|
466
|
+
},
|
|
443
467
|
{
|
|
444
468
|
name: "gridOptions",
|
|
445
469
|
type: "code",
|
|
@@ -495,7 +519,7 @@ Y.register(
|
|
|
495
519
|
}
|
|
496
520
|
}
|
|
497
521
|
);
|
|
498
|
-
const $ = ({ schema: a }) => /* @__PURE__ */ s.jsx(
|
|
522
|
+
const $ = ({ schema: a }) => /* @__PURE__ */ s.jsx(M, { fallback: /* @__PURE__ */ s.jsx(J, { className: "w-full h-[500px]" }), children: /* @__PURE__ */ s.jsx(
|
|
499
523
|
ce,
|
|
500
524
|
{
|
|
501
525
|
objectName: a.objectName,
|
|
@@ -525,7 +549,7 @@ const $ = ({ schema: a }) => /* @__PURE__ */ s.jsx(G, { fallback: /* @__PURE__ *
|
|
|
525
549
|
contextMenu: a.contextMenu
|
|
526
550
|
}
|
|
527
551
|
) }), be = {
|
|
528
|
-
aggrid:
|
|
552
|
+
aggrid: q,
|
|
529
553
|
"object-aggrid": $
|
|
530
554
|
};
|
|
531
555
|
Y.register(
|
|
@@ -535,7 +559,7 @@ Y.register(
|
|
|
535
559
|
namespace: "plugin-aggrid",
|
|
536
560
|
label: "Object AG Grid",
|
|
537
561
|
icon: "Table",
|
|
538
|
-
category: "
|
|
562
|
+
category: "view",
|
|
539
563
|
inputs: [
|
|
540
564
|
{
|
|
541
565
|
name: "objectName",
|
|
@@ -631,7 +655,7 @@ Y.register(
|
|
|
631
655
|
}
|
|
632
656
|
);
|
|
633
657
|
export {
|
|
634
|
-
|
|
658
|
+
q as A,
|
|
635
659
|
$ as O,
|
|
636
660
|
be as a,
|
|
637
661
|
s as j
|
package/dist/index.js
CHANGED