@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.
Files changed (36) hide show
  1. package/.turbo/turbo-build.log +90 -12
  2. package/CHANGELOG.md +38 -0
  3. package/QUICKSTART.md +1 -1
  4. package/dist/AddressField-CUHm7scl.js +95 -0
  5. package/dist/AgGridImpl-DVyHqLJi.js +229 -0
  6. package/dist/AutoNumberField-twP63aM8.js +8 -0
  7. package/dist/FileField-Cxql0zFQ.js +101 -0
  8. package/dist/FormulaField-CsRwvjVZ.js +9 -0
  9. package/dist/GeolocationField-DQ_J9TGl.js +141 -0
  10. package/dist/GridField-BrF4x9mD.js +29 -0
  11. package/dist/LocationField-C4zcjds3.js +33 -0
  12. package/dist/MasterDetailField-DybIeqDQ.js +117 -0
  13. package/dist/ObjectAgGridImpl-CotBxBL9.js +28727 -0
  14. package/dist/ObjectField-CVXoKqAF.js +51 -0
  15. package/dist/QRCodeField-lmARTFQy.js +96 -0
  16. package/dist/RichTextField-5ce8qKzb.js +37 -0
  17. package/dist/SignatureField-VES1Umvd.js +96 -0
  18. package/dist/SummaryField-CQsFucuH.js +9 -0
  19. package/dist/UserField-Dxq9ZQ9l.js +49 -0
  20. package/dist/VectorField-BJoHEqgv.js +25 -0
  21. package/dist/{index-CLKYMco3.js → index-DSI77JcG.js} +57 -33
  22. package/dist/index.js +1 -1
  23. package/dist/index.umd.cjs +225 -5
  24. package/dist/src/AgGridImpl.d.ts +5 -2
  25. package/dist/src/field-renderers.d.ts +67 -0
  26. package/dist/src/index.d.ts +5 -2
  27. package/dist/src/types.d.ts +48 -1
  28. package/package.json +13 -12
  29. package/src/AgGridImpl.tsx +95 -10
  30. package/src/ObjectAgGridImpl.tsx +67 -169
  31. package/src/field-renderers.test.tsx +383 -0
  32. package/src/field-renderers.tsx +224 -0
  33. package/src/index.tsx +30 -3
  34. package/src/types.ts +57 -1
  35. package/dist/AgGridImpl-BQ6tBvrq.js +0 -175
  36. 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 N, { Suspense as G } from "react";
1
+ import w, { Suspense as M } from "react";
2
2
  import { ComponentRegistry as Y } from "@object-ui/core";
3
- import { Skeleton as q } from "@object-ui/components";
3
+ import { Skeleton as J } from "@object-ui/components";
4
4
  var y = { exports: {} }, b = {};
5
- var M;
5
+ var F;
6
6
  function oe() {
7
- if (M) return b;
8
- M = 1;
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 D;
28
+ var G;
29
29
  function ie() {
30
- return D || (D = 1, process.env.NODE_ENV !== "production" && (function() {
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 w(e, t, r, l, E, _) {
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
- x(n[l]);
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 x(n);
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}", L[n + l] || (u = 0 < u.length ? "{" + u.join(": ..., ") + ": ...}" : "{}", console.error(
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
- ), L[n + l] = !0);
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 T in t)
204
- T !== "key" && (r[T] = t[T]);
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 x(e) {
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 = N, 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() {
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
- )(), V = C(d(i)), L = {};
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 w(
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)) : V
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 w(
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)) : V
254
+ l ? C(d(e)) : D
255
255
  );
256
256
  };
257
257
  })()), m;
258
258
  }
259
- var F;
259
+ var L;
260
260
  function ue() {
261
- return F || (F = 1, process.env.NODE_ENV === "production" ? y.exports = oe() : y.exports = ie()), y.exports;
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 = N.lazy(() => import("./AgGridImpl-BQ6tBvrq.js")), ce = N.lazy(() => import("./ObjectAgGridImpl-CGFeGvOH.js")), J = ({ schema: a }) => /* @__PURE__ */ s.jsx(G, { fallback: /* @__PURE__ */ s.jsx(q, { className: "w-full h-[500px]" }), children: /* @__PURE__ */ s.jsx(
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
- J,
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(G, { fallback: /* @__PURE__ */ s.jsx(q, { className: "w-full h-[500px]" }), children: /* @__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: J,
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: "plugin",
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
- J as A,
658
+ q as A,
635
659
  $ as O,
636
660
  be as a,
637
661
  s as j
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as a, O as d, a as m } from "./index-CLKYMco3.js";
1
+ import { A as a, O as d, a as m } from "./index-DSI77JcG.js";
2
2
  import "react";
3
3
  import "@object-ui/core";
4
4
  import "@object-ui/components";